From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1RQJi4-0002T8-HV for garchives@archives.gentoo.org; Tue, 15 Nov 2011 14:12:44 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2148DE04CB; Tue, 15 Nov 2011 14:09:23 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id ED949E04CB for ; Tue, 15 Nov 2011 14:09:17 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 4D63C1B4039 for ; Tue, 15 Nov 2011 14:08:42 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 630C980037 for ; Tue, 15 Nov 2011 14:08:41 +0000 (UTC) From: "Anthony G. Basile" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Anthony G. Basile" Message-ID: <81b2a72d9c2180e38041dd206464a46fce0c46f4.blueness@gentoo> Subject: [gentoo-commits] proj/hardened-patchset:master commit in: 2.6.32/, 2.6.32-new/, 3.0.8/ X-VCS-Repository: proj/hardened-patchset X-VCS-Files: 2.6.32-new/0000_README 2.6.32-new/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch 2.6.32-new/4421_grsec-remove-localversion-grsec.patch 2.6.32-new/4422_grsec-mute-warnings.patch 2.6.32-new/4423_grsec-remove-protected-paths.patch 2.6.32-new/4425_grsec-pax-without-grsec.patch 2.6.32-new/4430_grsec-kconfig-default-gids.patch 2.6.32-new/4435_grsec-kconfig-gentoo.patch 2.6.32-new/4437-grsec-kconfig-proc-user.patch 2.6.32-new/4440_selinux-avc_audit-log-curr_ip.patch 2.6.32-new/4445_disable-compat_vdso.patch 2.6.32-new/4450_check_ssp_fix.patch 2.6.32/0000_README 2.6.32/4420_grsecurity-2.2.2-2.6.32.46-201111010529.patch 2.6.32/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch 3.0.8/0000_README 3.0.8/1007_linux-3.0.8.patch 3.0.8/4420_grsecurity-2.2.2-3.0.8-201111010529.patch 3.0.8/4421_grsec-remove-localversion-grsec.patch 3.0.8/4422_grsec-mute-warnings.patch 3.0.8/4423_grsec-remove-protected-paths.patch 3.0.8/4425_grsec-pax-without-grsec.patch 3.0.8/4430_grsec-kconfi g-default-gids.patch 3.0.8/4435_grsec-kconfig-gentoo.patch 3.0.8/4437-grsec-kconfig-proc-user.patch 3.0.8/4440_selinux-avc_audit-log-curr_ip.patch 3.0.8/4445_disable-compat_vdso.patch X-VCS-Directories: 2.6.32/ 2.6.32-new/ 3.0.8/ X-VCS-Committer: blueness X-VCS-Committer-Name: Anthony G. Basile X-VCS-Revision: 81b2a72d9c2180e38041dd206464a46fce0c46f4 Date: Tue, 15 Nov 2011 14:08:41 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: ede9ba47-de0c-464b-b083-0e835c2f9390 X-Archives-Hash: 78bb74e0aeee867ba8656fb22aaf518c commit: 81b2a72d9c2180e38041dd206464a46fce0c46f4 Author: Anthony G. Basile gentoo org> AuthorDate: Tue Nov 15 14:07:04 2011 +0000 Commit: Anthony G. Basile gentoo org> CommitDate: Tue Nov 15 14:08:11 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/hardened-patc= hset.git;a=3Dcommit;h=3D81b2a72d Readd 3.0.8|2.2.2-2.6.32.46-201111010529 + 2.2.2-3.0.8-201111010529 --- {2.6.32 =3D> 2.6.32-new}/0000_README | 0 ...0_grsecurity-2.2.2-2.6.32.48-201111121310.patch | 0 .../4421_grsec-remove-localversion-grsec.patch | 9 + 2.6.32-new/4422_grsec-mute-warnings.patch | 42 + 2.6.32-new/4423_grsec-remove-protected-paths.patch | 19 + 2.6.32-new/4425_grsec-pax-without-grsec.patch | 88 + 2.6.32-new/4430_grsec-kconfig-default-gids.patch | 77 + 2.6.32-new/4435_grsec-kconfig-gentoo.patch | 314 + 2.6.32-new/4437-grsec-kconfig-proc-user.patch | 26 + .../4440_selinux-avc_audit-log-curr_ip.patch | 73 + 2.6.32-new/4445_disable-compat_vdso.patch | 47 + 2.6.32-new/4450_check_ssp_fix.patch | 17 + 2.6.32/0000_README | 2 +- ..._grsecurity-2.2.2-2.6.32.46-201111010529.patch} |10283 +++--- {2.6.32 =3D> 3.0.8}/0000_README | 14 +- 3.0.8/1007_linux-3.0.8.patch | 1472 + .../4420_grsecurity-2.2.2-3.0.8-201111010529.patch |46281 +++++++++-----= ------ 3.0.8/4421_grsec-remove-localversion-grsec.patch | 9 + 3.0.8/4422_grsec-mute-warnings.patch | 42 + 3.0.8/4423_grsec-remove-protected-paths.patch | 19 + 3.0.8/4425_grsec-pax-without-grsec.patch | 88 + 3.0.8/4430_grsec-kconfig-default-gids.patch | 77 + 3.0.8/4435_grsec-kconfig-gentoo.patch | 315 + 3.0.8/4437-grsec-kconfig-proc-user.patch | 26 + 3.0.8/4440_selinux-avc_audit-log-curr_ip.patch | 73 + 3.0.8/4445_disable-compat_vdso.patch | 46 + 26 files changed, 29395 insertions(+), 30064 deletions(-) diff --git a/2.6.32/0000_README b/2.6.32-new/0000_README similarity index 100% copy from 2.6.32/0000_README copy to 2.6.32-new/0000_README diff --git a/2.6.32/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch b/= 2.6.32-new/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch similarity index 100% copy from 2.6.32/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch copy to 2.6.32-new/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch diff --git a/2.6.32-new/4421_grsec-remove-localversion-grsec.patch b/2.6.= 32-new/4421_grsec-remove-localversion-grsec.patch new file mode 100644 index 0000000..31cf878 --- /dev/null +++ b/2.6.32-new/4421_grsec-remove-localversion-grsec.patch @@ -0,0 +1,9 @@ +From: Kerin Millar + +Remove grsecurity's localversion-grsec file as it is inconsistent with +Gentoo's kernel practices and naming scheme. + +--- a/localversion-grsec 2008-02-24 14:26:59.000000000 +0000 ++++ b/localversion-grsec 1970-01-01 01:00:00.000000000 +0100 +@@ -1 +0,0 @@ +--grsec diff --git a/2.6.32-new/4422_grsec-mute-warnings.patch b/2.6.32-new/4422_= grsec-mute-warnings.patch new file mode 100644 index 0000000..0c9c69a --- /dev/null +++ b/2.6.32-new/4422_grsec-mute-warnings.patch @@ -0,0 +1,42 @@ +From: Anthony G. Basile +Updated patch for 2.6.32.39. + +The credits/description from the original version of this patch remain a= ccurate +and are included below. + +--- +From: Jory A. Pratt +Updated patch for kernel 2.6.32 + +The credits/description from the original version of this patch remain a= ccurate +and are included below. + +--- +From: Gordon Malm + +Updated patch for kernel series 2.6.24. + +The credits/description from the original version of this patch remain a= ccurate +and are included below. + +--- +From: Alexander Gabert + +This patch removes the warnings introduced by grsec patch 2.1.9 and late= r. +It removes the -W options added by the patch and restores the original +warning flags of vanilla kernel versions. + +Acked-by: Christian Heim +--- + +--- a/Makefile 2011-06-05 20:27:54.000000000 -0400 ++++ b/Makefile 2011-06-05 20:28:46.000000000 -0400 +@@ -221,7 +221,7 @@ +=20 + HOSTCC =3D gcc + HOSTCXX =3D g++ +-HOSTCFLAGS =3D -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wno= -unused-parameter -Wno-missing-field-initializers -O2 -fomit-frame-pointe= r -fno-delete-null-pointer-checks ++HOSTCFLAGS =3D -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-em= pty-body -Wno-unused-parameter -Wno-missing-field-initializers -O2 -fomit= -frame-pointer -fno-delete-null-pointer-checks + HOSTCFLAGS +=3D $(call cc-option, -Wno-empty-body) + HOSTCXXFLAGS =3D -O2 -fno-delete-null-pointer-checks +=20 diff --git a/2.6.32-new/4423_grsec-remove-protected-paths.patch b/2.6.32-= new/4423_grsec-remove-protected-paths.patch new file mode 100644 index 0000000..5cec66c --- /dev/null +++ b/2.6.32-new/4423_grsec-remove-protected-paths.patch @@ -0,0 +1,19 @@ +From: Anthony G. Basile + +We don't want GRSEC's Makefile to change permissions on paths in +the filesystem. + +diff -Naur a/grsecurity/Makefile b/grsecurity/Makefile +--- a/grsecurity/Makefile 2011-10-19 19:48:21.000000000 -0400 ++++ b/grsecurity/Makefile 2011-10-19 19:50:44.000000000 -0400 +@@ -27,10 +27,4 @@ + ifdef CONFIG_GRKERNSEC_HIDESYM + extra-y :=3D grsec_hidesym.o + $(obj)/grsec_hidesym.o: +- @-chmod -f 500 /boot +- @-chmod -f 500 /lib/modules +- @-chmod -f 500 /lib64/modules +- @-chmod -f 500 /lib32/modules +- @-chmod -f 700 . +- @echo ' grsec: protected kernel image paths' + endif diff --git a/2.6.32-new/4425_grsec-pax-without-grsec.patch b/2.6.32-new/4= 425_grsec-pax-without-grsec.patch new file mode 100644 index 0000000..96b85a3 --- /dev/null +++ b/2.6.32-new/4425_grsec-pax-without-grsec.patch @@ -0,0 +1,88 @@ +From: Anthony G. Basile + +With grsecurity-2.2.2-2.6.32.38-201104171745, the functions pax_report_l= eak_to_user and +pax_report_overflow_from_user in fs/exec.c were consolidated into pax_re= port_usercopy. +This patch has been updated to reflect that change. +-- +From: Jory Pratt +Updated patch for kernel 2.6.32 + +The credits/description from the original version of this patch remain a= ccurate +and are included below. +-- +From: Gordon Malm + +Allow PaX options to be selected without first selecting CONFIG_GRKERNSE= C. + +This patch has been updated to keep current with newer kernel versions. +The original version of this patch contained no credits/description. + +diff -Naur linux-2.6.32-hardened-r44.orig/arch/x86/mm/fault.c linux-2.6.= 32-hardened-r44/arch/x86/mm/fault.c +--- linux-2.6.32-hardened-r44.orig/arch/x86/mm/fault.c 2011-04-17 18:15:= 54.000000000 -0400 ++++ linux-2.6.32-hardened-r44/arch/x86/mm/fault.c 2011-04-17 18:28:11.00= 0000000 -0400 +@@ -658,10 +658,12 @@ +=20 + #ifdef CONFIG_PAX_KERNEXEC + if (init_mm.start_code <=3D address && address < init_mm.end_code) { ++#ifdef CONFIG_GRKERNSEC + if (current->signal->curr_ip) + printk(KERN_ERR "PAX: From %pI4: %s:%d, uid/euid: %u/%u, attempted t= o modify kernel code\n", + ¤t->signal->curr_ip, current->comm, task_pid_nr(current), c= urrent_uid(), current_euid()); + else ++#endif + printk(KERN_ERR "PAX: %s:%d, uid/euid: %u/%u, attempted to modify ke= rnel code\n", + current->comm, task_pid_nr(current), current_uid(), current_euid(= )); + } +diff -Naur linux-2.6.32-hardened-r44.orig/fs/exec.c linux-2.6.32-hardene= d-r44/fs/exec.c +--- linux-2.6.32-hardened-r44.orig/fs/exec.c 2011-04-17 18:15:55.0000000= 00 -0400 ++++ linux-2.6.32-hardened-r44/fs/exec.c 2011-04-17 18:29:40.000000000 -0= 400 +@@ -1803,9 +1803,11 @@ + } + up_read(&mm->mmap_sem); + } ++#ifdef CONFIG_GRKERNSEC + if (tsk->signal->curr_ip) + printk(KERN_ERR "PAX: From %pI4: execution attempt in: %s, %08lx-%08l= x %08lx\n", &tsk->signal->curr_ip, path_fault, start, end, offset); + else ++#endif + printk(KERN_ERR "PAX: execution attempt in: %s, %08lx-%08lx %08lx\n",= path_fault, start, end, offset); + printk(KERN_ERR "PAX: terminating task: %s(%s):%d, uid/euid: %u/%u, " + "PC: %p, SP: %p\n", path_exec, tsk->comm, task_pid_nr(tsk), +@@ -1820,10 +1822,12 @@ + #ifdef CONFIG_PAX_REFCOUNT + void pax_report_refcount_overflow(struct pt_regs *regs) + { ++#ifdef CONFIG_GRKERNSEC + if (current->signal->curr_ip) + printk(KERN_ERR "PAX: From %pI4: refcount overflow detected in: %s:%d= , uid/euid: %u/%u\n", + ¤t->signal->curr_ip, current->comm, task_pid_nr(current), cu= rrent_uid(), current_euid()); + else ++#endif + printk(KERN_ERR "PAX: refcount overflow detected in: %s:%d, uid/euid:= %u/%u\n", + current->comm, task_pid_nr(current), current_uid(), current_euid()= ); + print_symbol(KERN_ERR "PAX: refcount overflow occured at: %s\n", instr= uction_pointer(regs)); +@@ -1883,10 +1887,12 @@ +=20 + NORET_TYPE void pax_report_usercopy(const void *ptr, unsigned long len,= bool to, const char *type) + { ++#ifdef CONFIG_GRKERNSEC + if (current->signal->curr_ip) + printk(KERN_ERR "PAX: From %pI4: kernel memory %s attempt detected %s= %p (%s) (%lu bytes)\n", + ¤t->signal->curr_ip, to ? "leak" : "overwrite", to ? "from" : = "to", ptr, type ? : "unknown", len); + else ++#endif + printk(KERN_ERR "PAX: kernel memory %s attempt detected %s %p (%s) (%= lu bytes)\n", + to ? "leak" : "overwrite", to ? "from" : "to", ptr, type ? : "unknow= n", len); +=20 +diff -Naur linux-2.6.32-hardened-r44.orig/security/Kconfig linux-2.6.32-= hardened-r44/security/Kconfig +--- linux-2.6.32-hardened-r44.orig/security/Kconfig 2011-04-17 18:15:55.= 000000000 -0400 ++++ linux-2.6.32-hardened-r44/security/Kconfig 2011-04-17 18:28:11.00000= 0000 -0400 +@@ -29,7 +29,7 @@ + =09 + config PAX + bool "Enable various PaX features" +- depends on GRKERNSEC && (ALPHA || ARM || AVR32 || IA64 || MIPS || PARI= SC || PPC || SPARC || X86) ++ depends on (ALPHA || ARM || AVR32 || IA64 || MIPS || PARISC || PPC || = SPARC || X86) + help + This allows you to enable various PaX features. PaX adds + intrusion prevention mechanisms to the kernel that reduce diff --git a/2.6.32-new/4430_grsec-kconfig-default-gids.patch b/2.6.32-ne= w/4430_grsec-kconfig-default-gids.patch new file mode 100644 index 0000000..b173bab --- /dev/null +++ b/2.6.32-new/4430_grsec-kconfig-default-gids.patch @@ -0,0 +1,77 @@ +From: Kerin Millar + +grsecurity contains a number of options which allow certain protections +to be applied to or exempted from members of a given group. However, the +default GIDs specified in the upstream patch are entirely arbitrary and +there is no telling which (if any) groups the GIDs will correlate with +on an end-user's system. Because some users don't pay a great deal of +attention to the finer points of kernel configuration, it is probably +wise to specify some reasonable defaults so as to stop careless users +from shooting themselves in the foot. + +diff -Naur linux-2.6.32-hardened-r44.orig/grsecurity/Kconfig linux-2.6.3= 2-hardened-r44/grsecurity/Kconfig +--- linux-2.6.32-hardened-r44.orig/grsecurity/Kconfig 2011-04-17 18:15:5= 5.000000000 -0400 ++++ linux-2.6.32-hardened-r44/grsecurity/Kconfig 2011-04-17 18:37:33.000= 000000 -0400 +@@ -432,7 +432,7 @@ + config GRKERNSEC_PROC_GID + int "GID for special group" + depends on GRKERNSEC_PROC_USERGROUP +- default 1001 ++ default 10 +=20 + config GRKERNSEC_PROC_ADD + bool "Additional restrictions" +@@ -656,7 +656,7 @@ + config GRKERNSEC_AUDIT_GID + int "GID for auditing" + depends on GRKERNSEC_AUDIT_GROUP +- default 1007 ++ default 100 +=20 + config GRKERNSEC_EXECLOG + bool "Exec logging" +@@ -834,7 +834,7 @@ + config GRKERNSEC_TPE_GID + int "GID for untrusted users" + depends on GRKERNSEC_TPE && !GRKERNSEC_TPE_INVERT +- default 1005 ++ default 100 + help + Setting this GID determines what group TPE restrictions will be + *enabled* for. If the sysctl option is enabled, a sysctl option +@@ -843,7 +843,7 @@ + config GRKERNSEC_TPE_GID + int "GID for trusted users" + depends on GRKERNSEC_TPE && GRKERNSEC_TPE_INVERT +- default 1005 ++ default 10 + help + Setting this GID determines what group TPE restrictions will be + *disabled* for. If the sysctl option is enabled, a sysctl option +@@ -916,7 +916,7 @@ + config GRKERNSEC_SOCKET_ALL_GID + int "GID to deny all sockets for" + depends on GRKERNSEC_SOCKET_ALL +- default 1004 ++ default 65534 + help + Here you can choose the GID to disable socket access for. Remember t= o + add the users you want socket access disabled for to the GID +@@ -937,7 +937,7 @@ + config GRKERNSEC_SOCKET_CLIENT_GID + int "GID to deny client sockets for" + depends on GRKERNSEC_SOCKET_CLIENT +- default 1003 ++ default 65534 + help + Here you can choose the GID to disable client socket access for. + Remember to add the users you want client socket access disabled for= to +@@ -955,7 +955,7 @@ + config GRKERNSEC_SOCKET_SERVER_GID + int "GID to deny server sockets for" + depends on GRKERNSEC_SOCKET_SERVER +- default 1002 ++ default 65534 + help + Here you can choose the GID to disable server socket access for. + Remember to add the users you want server socket access disabled for= to diff --git a/2.6.32-new/4435_grsec-kconfig-gentoo.patch b/2.6.32-new/4435= _grsec-kconfig-gentoo.patch new file mode 100644 index 0000000..0bb8941 --- /dev/null +++ b/2.6.32-new/4435_grsec-kconfig-gentoo.patch @@ -0,0 +1,314 @@ +From: Anthony G. Basile +From: Gordon Malm +From: Jory A. Pratt +From: Kerin Millar + +Add Hardened Gentoo [server/workstation] predefined grsecurity +levels. They're designed to provide a comparitively high level of +security while remaining generally suitable for as great a majority +of the userbase as possible (particularly new users). + +Make Hardened Gentoo [workstation] predefined grsecurity level the +default. The Hardened Gentoo [server] level is more restrictive +and conflicts with some software and thus would be less suitable. + +The original version of this patch was conceived and created by: +Ned Ludd + +diff -Naur a/grsecurity/Kconfig b/grsecurity/Kconfig +--- a/grsecurity/Kconfig 2011-04-17 18:41:22.000000000 -0400 ++++ b/grsecurity/Kconfig 2011-04-17 18:42:14.000000000 -0400 +@@ -18,7 +18,7 @@ + choice + prompt "Security Level" + depends on GRKERNSEC +- default GRKERNSEC_CUSTOM ++ default GRKERNSEC_HARDENED_WORKSTATION +=20 + config GRKERNSEC_LOW + bool "Low" +@@ -191,6 +191,258 @@ + - Restricted sysfs/debugfs + - Active kernel exploit response +=20 ++config GRKERNSEC_HARDENED_SERVER ++ bool "Hardened Gentoo [server]" ++ select GRKERNSEC_LINK ++ select GRKERNSEC_FIFO ++ select GRKERNSEC_DMESG ++ select GRKERNSEC_FORKFAIL ++ select GRKERNSEC_TIME ++ select GRKERNSEC_SIGNAL ++ select GRKERNSEC_CHROOT ++ select GRKERNSEC_CHROOT_SHMAT ++ select GRKERNSEC_CHROOT_UNIX ++ select GRKERNSEC_CHROOT_MOUNT ++ select GRKERNSEC_CHROOT_FCHDIR ++ select GRKERNSEC_CHROOT_PIVOT ++ select GRKERNSEC_CHROOT_DOUBLE ++ select GRKERNSEC_CHROOT_CHDIR ++ select GRKERNSEC_CHROOT_MKNOD ++ select GRKERNSEC_CHROOT_CAPS ++ select GRKERNSEC_CHROOT_SYSCTL ++ select GRKERNSEC_CHROOT_FINDTASK ++ select GRKERNSEC_PROC ++ select GRKERNSEC_PROC_MEMMAP if (PAX_NOEXEC || PAX_ASLR) ++ select GRKERNSEC_HIDESYM ++ select GRKERNSEC_BRUTE ++ select GRKERNSEC_PROC_USERGROUP ++ select GRKERNSEC_KMEM ++ select GRKERNSEC_RESLOG ++ select GRKERNSEC_RANDNET ++ select GRKERNSEC_PROC_ADD ++ select GRKERNSEC_CHROOT_CHMOD ++ select GRKERNSEC_CHROOT_NICE ++ select GRKERNSEC_AUDIT_MOUNT ++ select GRKERNSEC_MODHARDEN if (MODULES) ++ select GRKERNSEC_HARDEN_PTRACE ++ select GRKERNSEC_VM86 if (X86_32) ++ select GRKERNSEC_IO if (X86) ++ select GRKERNSEC_PROC_IPADDR ++ select GRKERNSEC_RWXMAP_LOG ++ select GRKERNSEC_SYSCTL ++ select GRKERNSEC_SYSCTL_ON ++ select PAX ++ select PAX_RANDUSTACK ++ select PAX_ASLR ++ select PAX_RANDMMAP ++ select PAX_NOEXEC ++ select PAX_MPROTECT ++ select PAX_EI_PAX ++ select PAX_PT_PAX_FLAGS ++ select PAX_HAVE_ACL_FLAGS ++ select PAX_KERNEXEC if ((PPC || X86) && (!X86_32 || X86_WP_WORKS_OK) &= & !XEN) ++ select PAX_MEMORY_UDEREF if (X86 && !XEN) ++ select PAX_RANDKSTACK if (X86_TSC && !X86_64) ++ select PAX_SEGMEXEC if (X86_32) ++ select PAX_PAGEEXEC ++ select PAX_EMUPLT if (ALPHA || PARISC || SPARC32 || SPARC64) ++ select PAX_EMUTRAMP if (PARISC) ++ select PAX_EMUSIGRT if (PARISC) ++ select PAX_ETEXECRELOCS if (ALPHA || IA64 || PARISC) ++ select PAX_REFCOUNT if (X86 || SPARC64) ++ select PAX_USERCOPY if ((X86 || PPC || SPARC32 || SPARC64) && (SLAB ||= SLUB || SLOB)) ++ select PAX_MEMORY_SANITIZE ++ help ++ If you say Y here, a configuration for grsecurity/PaX features ++ will be used that is endorsed by the Hardened Gentoo project. ++ These pre-defined security levels are designed to provide a high ++ level of security while minimizing incompatibilities with a majority ++ of Gentoo's available software. ++ ++ This "Hardened Gentoo [server]" level is identical to the ++ "Hardened Gentoo [workstation]" level, but with GRKERNSEC_IO, ++ and GRKERNSEC_PROC_ADD enabled. Accordingly, this is the preferred ++ security level if the system will not be utilizing software incompat= ible ++ with these features. ++ ++ When this level is selected, some security features will be forced o= n, ++ while others will default to their suggested values of off or on. T= he ++ later can be tweaked at the user's discretion, but may cause problem= s ++ in some situations. You can fully customize all grsecurity/PaX feat= ures ++ by choosing "Custom" in the Security Level menu. It may be helpful = to ++ inherit the options selected by this security level as a starting po= int. ++ To accomplish this, select this security level, then exit the menuco= nfig ++ interface, saving changes when prompted. Run make menuconfig again = and ++ select the "Custom" level. ++ ++config GRKERNSEC_HARDENED_WORKSTATION ++ bool "Hardened Gentoo [workstation]" ++ select GRKERNSEC_LINK ++ select GRKERNSEC_FIFO ++ select GRKERNSEC_DMESG ++ select GRKERNSEC_FORKFAIL ++ select GRKERNSEC_TIME ++ select GRKERNSEC_SIGNAL ++ select GRKERNSEC_CHROOT ++ select GRKERNSEC_CHROOT_SHMAT ++ select GRKERNSEC_CHROOT_UNIX ++ select GRKERNSEC_CHROOT_MOUNT ++ select GRKERNSEC_CHROOT_FCHDIR ++ select GRKERNSEC_CHROOT_PIVOT ++ select GRKERNSEC_CHROOT_DOUBLE ++ select GRKERNSEC_CHROOT_CHDIR ++ select GRKERNSEC_CHROOT_MKNOD ++ select GRKERNSEC_CHROOT_CAPS ++ select GRKERNSEC_CHROOT_SYSCTL ++ select GRKERNSEC_CHROOT_FINDTASK ++ select GRKERNSEC_PROC ++ select GRKERNSEC_PROC_MEMMAP if (PAX_NOEXEC || PAX_ASLR) ++ select GRKERNSEC_HIDESYM ++ select GRKERNSEC_BRUTE ++ select GRKERNSEC_PROC_USERGROUP ++ select GRKERNSEC_KMEM ++ select GRKERNSEC_RESLOG ++ select GRKERNSEC_RANDNET ++ # select GRKERNSEC_PROC_ADD ++ select GRKERNSEC_CHROOT_CHMOD ++ select GRKERNSEC_CHROOT_NICE ++ select GRKERNSEC_AUDIT_MOUNT ++ select GRKERNSEC_MODHARDEN if (MODULES) ++ select GRKERNSEC_HARDEN_PTRACE ++ select GRKERNSEC_VM86 if (X86_32) ++ # select GRKERNSEC_IO if (X86) ++ select GRKERNSEC_PROC_IPADDR ++ select GRKERNSEC_RWXMAP_LOG ++ select GRKERNSEC_SYSCTL ++ select GRKERNSEC_SYSCTL_ON ++ select PAX ++ select PAX_RANDUSTACK ++ select PAX_ASLR ++ select PAX_RANDMMAP ++ select PAX_NOEXEC ++ select PAX_MPROTECT ++ select PAX_EI_PAX ++ select PAX_PT_PAX_FLAGS ++ select PAX_HAVE_ACL_FLAGS ++ # select PAX_KERNEXEC if ((PPC || X86) && (!X86_32 || X86_WP_WORKS_OK)= && !XEN) ++ # select PAX_MEMORY_UDEREF if (X86 && !XEN) ++ select PAX_RANDKSTACK if (X86_TSC && !X86_64) ++ select PAX_SEGMEXEC if (X86_32) ++ select PAX_PAGEEXEC ++ select PAX_EMUPLT if (ALPHA || PARISC || SPARC32 || SPARC64) ++ select PAX_EMUTRAMP if (PARISC) ++ select PAX_EMUSIGRT if (PARISC) ++ select PAX_ETEXECRELOCS if (ALPHA || IA64 || PARISC) ++ select PAX_REFCOUNT if (X86 || SPARC64) ++ select PAX_USERCOPY if ((X86 || PPC || SPARC32 || SPARC64) && (SLAB ||= SLUB || SLOB)) ++ select PAX_MEMORY_SANITIZE ++ help ++ If you say Y here, a configuration for grsecurity/PaX features ++ will be used that is endorsed by the Hardened Gentoo project. ++ These pre-defined security levels are designed to provide a high ++ level of security while minimizing incompatibilities with a majority ++ of Gentoo's available software. ++ ++ This "Hardened Gentoo [workstation]" level is identical to the ++ "Hardened Gentoo [server]" level, but with GRKERNSEC_IO and ++ GRKERNSEC_PROC_ADD disabled. Accordingly, this is the preferred ++ security level if the system will be utilizing software incompatible ++ with these features. ++ ++ When this level is selected, some security features will be forced o= n, ++ while others will default to their suggested values of off or on. T= he ++ later can be tweaked at the user's discretion, but may cause problem= s ++ in some situations. You can fully customize all grsecurity/PaX feat= ures ++ by choosing "Custom" in the Security Level menu. It may be helpful = to ++ inherit the options selected by this security level as a starting po= int. ++ To accomplish this, select this security level, then exit the menuco= nfig ++ interface, saving changes when prompted. Run make menuconfig again = and ++ select the "Custom" level. ++ ++config GRKERNSEC_HARDENED_VIRTUALIZATION ++ bool "Hardened Gentoo [virtualization]" ++ select GRKERNSEC_LINK ++ select GRKERNSEC_FIFO ++ select GRKERNSEC_DMESG ++ select GRKERNSEC_FORKFAIL ++ select GRKERNSEC_TIME ++ select GRKERNSEC_SIGNAL ++ select GRKERNSEC_CHROOT ++ select GRKERNSEC_CHROOT_SHMAT ++ select GRKERNSEC_CHROOT_UNIX ++ select GRKERNSEC_CHROOT_MOUNT ++ select GRKERNSEC_CHROOT_FCHDIR ++ select GRKERNSEC_CHROOT_PIVOT ++ select GRKERNSEC_CHROOT_DOUBLE ++ select GRKERNSEC_CHROOT_CHDIR ++ select GRKERNSEC_CHROOT_MKNOD ++ select GRKERNSEC_CHROOT_CAPS ++ select GRKERNSEC_CHROOT_SYSCTL ++ select GRKERNSEC_CHROOT_FINDTASK ++ select GRKERNSEC_PROC ++ select GRKERNSEC_PROC_MEMMAP if (PAX_NOEXEC || PAX_ASLR) ++ select GRKERNSEC_HIDESYM ++ select GRKERNSEC_BRUTE ++ select GRKERNSEC_PROC_USERGROUP ++ select GRKERNSEC_KMEM ++ select GRKERNSEC_RESLOG ++ select GRKERNSEC_RANDNET ++ # select GRKERNSEC_PROC_ADD ++ select GRKERNSEC_CHROOT_CHMOD ++ select GRKERNSEC_CHROOT_NICE ++ select GRKERNSEC_AUDIT_MOUNT ++ select GRKERNSEC_MODHARDEN if (MODULES) ++ select GRKERNSEC_HARDEN_PTRACE ++ select GRKERNSEC_VM86 if (X86_32) ++ # select GRKERNSEC_IO if (X86) ++ select GRKERNSEC_PROC_IPADDR ++ select GRKERNSEC_RWXMAP_LOG ++ select GRKERNSEC_SYSCTL ++ select GRKERNSEC_SYSCTL_ON ++ select PAX ++ select PAX_RANDUSTACK ++ select PAX_ASLR ++ select PAX_RANDMMAP ++ select PAX_NOEXEC ++ select PAX_MPROTECT ++ select PAX_EI_PAX ++ select PAX_PT_PAX_FLAGS ++ select PAX_HAVE_ACL_FLAGS ++ # select PAX_KERNEXEC if ((PPC || X86) && (!X86_32 || X86_WP_WORKS_OK)= && !XEN) ++ # select PAX_MEMORY_UDEREF if (X86 && !XEN) ++ select PAX_RANDKSTACK if (X86_TSC && !X86_64) ++ select PAX_SEGMEXEC if (X86_32) ++ select PAX_PAGEEXEC ++ select PAX_EMUPLT if (ALPHA || PARISC || SPARC32 || SPARC64) ++ select PAX_EMUTRAMP if (PARISC) ++ select PAX_EMUSIGRT if (PARISC) ++ select PAX_ETEXECRELOCS if (ALPHA || IA64 || PARISC) ++ select PAX_REFCOUNT if (X86 || SPARC64) ++ select PAX_USERCOPY if ((X86 || PPC || SPARC32 || SPARC64) && (SLAB ||= SLUB || SLOB)) ++ select PAX_MEMORY_SANITIZE ++ help ++ If you say Y here, a configuration for grsecurity/PaX features ++ will be used that is endorsed by the Hardened Gentoo project. ++ These pre-defined security levels are designed to provide a high ++ level of security while minimizing incompatibilities with a majority ++ of Gentoo's available software. ++ ++ This "Hardened Gentoo [virtualization]" level is identical to the ++ "Hardened Gentoo [workstation]" level, but with the PAX_KERNEXEC and ++ PAX_MEMORY_UDEREF defaulting to off. Accordingly, this is the prefe= rred ++ security level if the system will be utilizing virtualization softwa= re ++ incompatible with these features, like VirtualBox or kvm. ++ ++ When this level is selected, some security features will be forced o= n, ++ while others will default to their suggested values of off or on. T= he ++ later can be tweaked at the user's discretion, but may cause problem= s ++ in some situations. You can fully customize all grsecurity/PaX feat= ures ++ by choosing "Custom" in the Security Level menu. It may be helpful = to ++ inherit the options selected by this security level as a starting po= int. ++ To accomplish this, select this security level, then exit the menuco= nfig ++ interface, saving changes when prompted. Run make menuconfig again = and ++ select the "Custom" level. ++ + config GRKERNSEC_CUSTOM + bool "Custom" + help +diff -Naur a/security/Kconfig b/security/Kconfig +--- a/security/Kconfig 2011-04-17 18:36:55.000000000 -0400 ++++ b/security/Kconfig 2011-04-17 18:42:14.000000000 -0400 +@@ -322,9 +322,10 @@ +=20 + config PAX_KERNEXEC + bool "Enforce non-executable kernel pages" +- depends on (PPC || X86) && (!X86_32 || X86_WP_WORKS_OK) && !XEN ++ depends on (PPC || X86) && (!X86_32 || X86_WP_WORKS_OK) && !XEN && !GR= KERNSEC_HARDENED_VIRTUALIZATION + select PAX_PER_CPU_PGD if X86_64 || (X86_32 && X86_PAE) + select PAX_KERNEXEC_PLUGIN if X86_64 ++ default y if GRKERNSEC_HARDENED_WORKSTATION + help + This is the kernel land equivalent of PAGEEXEC and MPROTECT, + that is, enabling this option will make it harder to inject +@@ -487,8 +488,9 @@ +=20 + config PAX_MEMORY_UDEREF + bool "Prevent invalid userland pointer dereference" +- depends on X86 && !UML_X86 && !XEN ++ depends on X86 && !UML_X86 && !XEN && !GRKERNSEC_HARDENED_VIRTUALIZATI= ON + select PAX_PER_CPU_PGD if X86_64 ++ default y if GRKERNSEC_HARDENED_WORKSTATION + help + By saying Y here the kernel will be prevented from dereferencing + userland pointers in contexts where the kernel expects only kernel diff --git a/2.6.32-new/4437-grsec-kconfig-proc-user.patch b/2.6.32-new/4= 437-grsec-kconfig-proc-user.patch new file mode 100644 index 0000000..368d10c --- /dev/null +++ b/2.6.32-new/4437-grsec-kconfig-proc-user.patch @@ -0,0 +1,26 @@ +From: Anthony G. Basile + +Address the mutually exclusive options GRKERNSEC_PROC_USER and GRKERNSEC= _PROC_USERGROUP +in a different way to avoid bug #366019. This patch should eventually g= o upstream. + +diff -Naur linux-2.6.32-hardened-r54.orig//grsecurity/Kconfig linux-2.6.= 32-hardened-r54/grsecurity/Kconfig +--- a/grsecurity/Kconfig 2011-06-29 07:46:02.000000000 -0400 ++++ b/grsecurity/Kconfig 2011-06-29 07:47:20.000000000 -0400 +@@ -665,7 +665,7 @@ +=20 + config GRKERNSEC_PROC_USER + bool "Restrict /proc to user only" +- depends on GRKERNSEC_PROC ++ depends on GRKERNSEC_PROC && !GRKERNSEC_PROC_USERGROUP + help + If you say Y here, non-root users will only be able to view their ow= n + processes, and restricts them from viewing network-related informati= on, +@@ -673,7 +673,7 @@ +=20 + config GRKERNSEC_PROC_USERGROUP + bool "Allow special group" +- depends on GRKERNSEC_PROC && !GRKERNSEC_PROC_USER ++ depends on GRKERNSEC_PROC + help + If you say Y here, you will be able to select a group that will be + able to view all processes and network-related information. If you'= ve diff --git a/2.6.32-new/4440_selinux-avc_audit-log-curr_ip.patch b/2.6.32= -new/4440_selinux-avc_audit-log-curr_ip.patch new file mode 100644 index 0000000..003d903 --- /dev/null +++ b/2.6.32-new/4440_selinux-avc_audit-log-curr_ip.patch @@ -0,0 +1,73 @@ +From: Anthony G. Basile + +Removed deprecated NIPQUAD macro in favor of %pI4. +See bug #346333. + +--- +From: Gordon Malm + +This is a reworked version of the original +*_selinux-avc_audit-log-curr_ip.patch carried in earlier releases of +hardened-sources. + +Dropping the patch, or simply fixing the #ifdef of the original patch +could break automated logging setups so this route was necessary. + +Suggestions for improving the help text are welcome. + +The original patch's description is still accurate and included below. + +--- +Provides support for a new field ipaddr within the SELinux +AVC audit log, relying in task_struct->curr_ip (ipv4 only) +provided by grSecurity patch to be applied before. + +Signed-off-by: Lorenzo Hernandez Garcia-Hierro +--- + +diff -Naur linux-2.6.32-hardened-r44.orig/grsecurity/Kconfig linux-2.6.3= 2-hardened-r44/grsecurity/Kconfig +--- linux-2.6.32-hardened-r44.orig/grsecurity/Kconfig 2011-04-17 18:47:0= 2.000000000 -0400 ++++ linux-2.6.32-hardened-r44/grsecurity/Kconfig 2011-04-17 18:51:15.000= 000000 -0400 +@@ -1264,6 +1264,27 @@ + menu "Logging Options" + depends on GRKERNSEC +=20 ++config GRKERNSEC_SELINUX_AVC_LOG_IPADDR ++ def_bool n ++ prompt "Add source IP address to SELinux AVC log messages" ++ depends on GRKERNSEC && SECURITY_SELINUX ++ help ++ If you say Y here, a new field "ipaddr=3D" will be added to many SEL= inux ++ AVC log messages. The value of this field in any given message ++ represents the source IP address of the remote machine/user that cre= ated ++ the offending process. ++ ++ This information is sourced from task_struct->curr_ip provided by ++ grsecurity's GRKERNSEC top-level configuration option. One limitati= on ++ is that only IPv4 is supported. ++ ++ In many instances SELinux AVC log messages already log a superior le= vel ++ of information that also includes source port and destination ip/por= t. ++ Additionally, SELinux's AVC log code supports IPv6. ++ ++ However, grsecurity's task_struct->curr_ip will sometimes (often?)=20 ++ provide the offender's IP address where stock SELinux logging fails = to. ++ + config GRKERNSEC_FLOODTIME + int "Seconds in between log messages (minimum)" + default 10 +diff -Naur linux-2.6.32-hardened-r44.orig/security/selinux/avc.c linux-2= .6.32-hardened-r44/security/selinux/avc.c +--- linux-2.6.32-hardened-r44.orig/security/selinux/avc.c 2009-12-02 22:= 51:21.000000000 -0500 ++++ linux-2.6.32-hardened-r44/security/selinux/avc.c 2011-04-17 18:51:15= .000000000 -0400 +@@ -203,6 +203,11 @@ + char *scontext; + u32 scontext_len; +=20 ++#ifdef CONFIG_GRKERNSEC_SELINUX_AVC_LOG_IPADDR ++ if (current->signal->curr_ip) ++ audit_log_format(ab, "ipaddr=3D%pI4 ", ¤t->signal->curr_ip); ++#endif ++ + rc =3D security_sid_to_context(ssid, &scontext, &scontext_len); + if (rc) + audit_log_format(ab, "ssid=3D%d", ssid); diff --git a/2.6.32-new/4445_disable-compat_vdso.patch b/2.6.32-new/4445_= disable-compat_vdso.patch new file mode 100644 index 0000000..c8e1aeb --- /dev/null +++ b/2.6.32-new/4445_disable-compat_vdso.patch @@ -0,0 +1,47 @@ +From: Jory A. Pratt + +No need to wrap vdso calls as gentoo does not use any version of=20 +glibc <=3D2.3.3 +--- +From: Gordon Malm +From: Kerin Millar + +COMPAT_VDSO is inappropriate for any modern Hardened Gentoo system. It +conflicts with various parts of PaX, crashing the system if enabled +while PaX's NOEXEC or UDEREF features are active. Moreover, it prevents +a number of important PaX options from appearing in the configuration +menu, including all PaX NOEXEC implementations. Unfortunately, the +reason for the disappearance of these PaX configuration options is +often far from obvious to inexperienced users. + +Therefore, we disable the COMPAT_VDSO menu entry entirely. However, +COMPAT_VDSO operation can still be enabled via bootparam and sysctl +interfaces. Consequently, we must also disable the ability to select +COMPAT_VDSO operation at boot or runtime. Here we patch the kernel so +that selecting COMPAT_VDSO operation at boot/runtime has no effect if +conflicting PaX options are enabled, leaving VDSO_ENABLED operation +intact. + +Closes bug: http://bugs.gentoo.org/show_bug.cgi?id=3D210138 + +diff -urp a/arch/x86/Kconfig b/arch/x86/Kconfig +--- a/arch/x86/Kconfig 2009-07-31 01:36:57.323857684 +0100 ++++ b/arch/x86/Kconfig 2009-07-31 01:51:39.395749681 +0100 +@@ -1616,17 +1616,8 @@ +=20 + config COMPAT_VDSO + def_bool n +- prompt "Compat VDSO support" + depends on X86_32 || IA32_EMULATION + depends on !PAX_NOEXEC && !PAX_MEMORY_UDEREF +- ---help--- +- Map the 32-bit VDSO to the predictable old-style address too. +- ---help--- +- Say N here if you are running a sufficiently recent glibc +- version (2.3.3 or later), to remove the high-mapped +- VDSO mapping and to exclusively use the randomized VDSO. +- +- If unsure, say Y. +=20 + config CMDLINE_BOOL + bool "Built-in kernel command line" diff --git a/2.6.32-new/4450_check_ssp_fix.patch b/2.6.32-new/4450_check_= ssp_fix.patch new file mode 100644 index 0000000..40e0467 --- /dev/null +++ b/2.6.32-new/4450_check_ssp_fix.patch @@ -0,0 +1,17 @@ +2010-03-31 Magnus Granberg + + #312335 + arch/x86/Makefile: Add KBUILD_CPPFLAGS to the SSP test + commandline for else it build that file with -fPIE + +--- a/arch/x86/Makefile 2010-03-31 16:39:32.000000000 +0200 ++++ b/arch/x86/Makefile 2010-03-31 16:36:53.000000000 +0200 +@@ -75,7 +75,7 @@ +=20 + ifdef CONFIG_CC_STACKPROTECTOR + cc_has_sp :=3D $(srctree)/scripts/gcc-x86_$(BITS)-has-stack-protector.= sh +- ifeq ($(shell $(CONFIG_SHELL) $(cc_has_sp) $(CC) $(biarch)),y) ++ ifeq ($(shell $(CONFIG_SHELL) $(cc_has_sp) $(CC) $(KBUILD_CPPFL= AGS) $(biarch)),y) + stackp-y :=3D -fstack-protector + KBUILD_CFLAGS +=3D $(stackp-y) + else diff --git a/2.6.32/0000_README b/2.6.32/0000_README index 5e969f0..a4675c0 100644 --- a/2.6.32/0000_README +++ b/2.6.32/0000_README @@ -3,7 +3,7 @@ README =20 Individual Patch Descriptions: ------------------------------------------------------------------------= ----- -Patch: 4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch +Patch: 4420_grsecurity-2.2.2-2.6.32.46-201111010529.patch From: http://www.grsecurity.net Desc: hardened-sources base patch from upstream grsecurity =20 diff --git a/2.6.32/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch b/= 2.6.32/4420_grsecurity-2.2.2-2.6.32.46-201111010529.patch similarity index 85% copy from 2.6.32/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch copy to 2.6.32/4420_grsecurity-2.2.2-2.6.32.46-201111010529.patch index fa7931f..82fee55 100644 --- a/2.6.32/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch +++ b/2.6.32/4420_grsecurity-2.2.2-2.6.32.46-201111010529.patch @@ -1,6 +1,6 @@ -diff -urNp linux-2.6.32.48/arch/alpha/include/asm/elf.h linux-2.6.32.48/= arch/alpha/include/asm/elf.h ---- linux-2.6.32.48/arch/alpha/include/asm/elf.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/alpha/include/asm/elf.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/alpha/include/asm/elf.h linux-2.6.32.46/= arch/alpha/include/asm/elf.h +--- linux-2.6.32.46/arch/alpha/include/asm/elf.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/alpha/include/asm/elf.h 2011-04-17 15:56:45.000= 000000 -0400 @@ -91,6 +91,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N =20 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x1000000) @@ -15,9 +15,9 @@ diff -urNp linux-2.6.32.48/arch/alpha/include/asm/elf.h= linux-2.6.32.48/arch/alp /* $0 is set by ld.so to a pointer to a function which might be=20 registered using atexit. This provides a mean for the dynamic linker to call DT_FINI functions for shared libraries that have -diff -urNp linux-2.6.32.48/arch/alpha/include/asm/pgtable.h linux-2.6.32= .48/arch/alpha/include/asm/pgtable.h ---- linux-2.6.32.48/arch/alpha/include/asm/pgtable.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/alpha/include/asm/pgtable.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/alpha/include/asm/pgtable.h linux-2.6.32= .46/arch/alpha/include/asm/pgtable.h +--- linux-2.6.32.46/arch/alpha/include/asm/pgtable.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/alpha/include/asm/pgtable.h 2011-04-17 15:56:45= .000000000 -0400 @@ -101,6 +101,17 @@ struct vm_area_struct; #define PAGE_SHARED __pgprot(_PAGE_VALID | __ACCESS_BITS) #define PAGE_COPY __pgprot(_PAGE_VALID | __ACCESS_BITS | _PAGE_FOW) @@ -36,9 +36,9 @@ diff -urNp linux-2.6.32.48/arch/alpha/include/asm/pgtab= le.h linux-2.6.32.48/arch #define PAGE_KERNEL __pgprot(_PAGE_VALID | _PAGE_ASM | _PAGE_KRE | _PAG= E_KWE) =20 #define _PAGE_NORMAL(x) __pgprot(_PAGE_VALID | __ACCESS_BITS | (x)) -diff -urNp linux-2.6.32.48/arch/alpha/kernel/module.c linux-2.6.32.48/ar= ch/alpha/kernel/module.c ---- linux-2.6.32.48/arch/alpha/kernel/module.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/alpha/kernel/module.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/alpha/kernel/module.c linux-2.6.32.46/ar= ch/alpha/kernel/module.c +--- linux-2.6.32.46/arch/alpha/kernel/module.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/alpha/kernel/module.c 2011-04-17 15:56:45.00000= 0000 -0400 @@ -182,7 +182,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs,=20 =20 /* The small sections were sorted to the end of the segment. @@ -48,9 +48,9 @@ diff -urNp linux-2.6.32.48/arch/alpha/kernel/module.c l= inux-2.6.32.48/arch/alpha got =3D sechdrs[me->arch.gotsecindex].sh_addr; =20 for (i =3D 0; i < n; i++) { -diff -urNp linux-2.6.32.48/arch/alpha/kernel/osf_sys.c linux-2.6.32.48/a= rch/alpha/kernel/osf_sys.c ---- linux-2.6.32.48/arch/alpha/kernel/osf_sys.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/alpha/kernel/osf_sys.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/alpha/kernel/osf_sys.c linux-2.6.32.46/a= rch/alpha/kernel/osf_sys.c +--- linux-2.6.32.46/arch/alpha/kernel/osf_sys.c 2011-08-09 18:35:28.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/alpha/kernel/osf_sys.c 2011-06-13 17:19:47.0000= 00000 -0400 @@ -1172,7 +1172,7 @@ arch_get_unmapped_area_1(unsigned long a /* At this point: (!vma || addr < vma->vm_end). */ if (limit - len < addr) @@ -82,9 +82,9 @@ diff -urNp linux-2.6.32.48/arch/alpha/kernel/osf_sys.c = linux-2.6.32.48/arch/alph if (addr !=3D (unsigned long) -ENOMEM) return addr; =20 -diff -urNp linux-2.6.32.48/arch/alpha/mm/fault.c linux-2.6.32.48/arch/al= pha/mm/fault.c ---- linux-2.6.32.48/arch/alpha/mm/fault.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/alpha/mm/fault.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/alpha/mm/fault.c linux-2.6.32.46/arch/al= pha/mm/fault.c +--- linux-2.6.32.46/arch/alpha/mm/fault.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/alpha/mm/fault.c 2011-04-17 15:56:45.000000000 = -0400 @@ -54,6 +54,124 @@ __load_new_mm_context(struct mm_struct * __reload_thread(pcb); } @@ -241,9 +241,9 @@ diff -urNp linux-2.6.32.48/arch/alpha/mm/fault.c linu= x-2.6.32.48/arch/alpha/mm/f } else if (!cause) { /* Allow reads even for write-only mappings */ if (!(vma->vm_flags & (VM_READ | VM_WRITE))) -diff -urNp linux-2.6.32.48/arch/arm/include/asm/elf.h linux-2.6.32.48/ar= ch/arm/include/asm/elf.h ---- linux-2.6.32.48/arch/arm/include/asm/elf.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/arm/include/asm/elf.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/include/asm/elf.h linux-2.6.32.46/ar= ch/arm/include/asm/elf.h +--- linux-2.6.32.46/arch/arm/include/asm/elf.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/arm/include/asm/elf.h 2011-04-17 15:56:45.00000= 0000 -0400 @@ -109,7 +109,14 @@ int dump_task_regs(struct task_struct *t the loader. We need to make sure that it is out of the way of the p= rogram that it will "exec", and that there is sufficient room for the brk. = */ @@ -260,9 +260,9 @@ diff -urNp linux-2.6.32.48/arch/arm/include/asm/elf.h= linux-2.6.32.48/arch/arm/i =20 /* When the program starts, a1 contains a pointer to a function to be=20 registered with atexit, as per the SVR4 ABI. A value of 0 means we=20 -diff -urNp linux-2.6.32.48/arch/arm/include/asm/kmap_types.h linux-2.6.3= 2.48/arch/arm/include/asm/kmap_types.h ---- linux-2.6.32.48/arch/arm/include/asm/kmap_types.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/arm/include/asm/kmap_types.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/include/asm/kmap_types.h linux-2.6.3= 2.46/arch/arm/include/asm/kmap_types.h +--- linux-2.6.32.46/arch/arm/include/asm/kmap_types.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/arm/include/asm/kmap_types.h 2011-04-17 15:56:4= 5.000000000 -0400 @@ -19,6 +19,7 @@ enum km_type { KM_SOFTIRQ0, KM_SOFTIRQ1, @@ -271,9 +271,9 @@ diff -urNp linux-2.6.32.48/arch/arm/include/asm/kmap_= types.h linux-2.6.32.48/arc KM_TYPE_NR }; =20 -diff -urNp linux-2.6.32.48/arch/arm/include/asm/uaccess.h linux-2.6.32.4= 8/arch/arm/include/asm/uaccess.h ---- linux-2.6.32.48/arch/arm/include/asm/uaccess.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/arm/include/asm/uaccess.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/include/asm/uaccess.h linux-2.6.32.4= 6/arch/arm/include/asm/uaccess.h +--- linux-2.6.32.46/arch/arm/include/asm/uaccess.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/arm/include/asm/uaccess.h 2011-06-29 21:02:24.0= 00000000 -0400 @@ -22,6 +22,8 @@ #define VERIFY_READ 0 #define VERIFY_WRITE 1 @@ -329,9 +329,9 @@ diff -urNp linux-2.6.32.48/arch/arm/include/asm/uacce= ss.h linux-2.6.32.48/arch/a if (access_ok(VERIFY_WRITE, to, n)) n =3D __copy_to_user(to, from, n); return n; -diff -urNp linux-2.6.32.48/arch/arm/kernel/armksyms.c linux-2.6.32.48/ar= ch/arm/kernel/armksyms.c ---- linux-2.6.32.48/arch/arm/kernel/armksyms.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/arm/kernel/armksyms.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/kernel/armksyms.c linux-2.6.32.46/ar= ch/arm/kernel/armksyms.c +--- linux-2.6.32.46/arch/arm/kernel/armksyms.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/arm/kernel/armksyms.c 2011-07-06 19:51:50.00000= 0000 -0400 @@ -118,8 +118,8 @@ EXPORT_SYMBOL(__strncpy_from_user); #ifdef CONFIG_MMU EXPORT_SYMBOL(copy_page); @@ -343,9 +343,9 @@ diff -urNp linux-2.6.32.48/arch/arm/kernel/armksyms.c= linux-2.6.32.48/arch/arm/k EXPORT_SYMBOL(__clear_user); =20 EXPORT_SYMBOL(__get_user_1); -diff -urNp linux-2.6.32.48/arch/arm/kernel/kgdb.c linux-2.6.32.48/arch/a= rm/kernel/kgdb.c ---- linux-2.6.32.48/arch/arm/kernel/kgdb.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/arm/kernel/kgdb.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/arm/kernel/kgdb.c linux-2.6.32.46/arch/a= rm/kernel/kgdb.c +--- linux-2.6.32.46/arch/arm/kernel/kgdb.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/arm/kernel/kgdb.c 2011-04-17 15:56:45.000000000= -0400 @@ -190,7 +190,7 @@ void kgdb_arch_exit(void) * and we handle the normal undef case within the do_undefinstr * handler. @@ -355,9 +355,9 @@ diff -urNp linux-2.6.32.48/arch/arm/kernel/kgdb.c lin= ux-2.6.32.48/arch/arm/kerne #ifndef __ARMEB__ .gdb_bpt_instr =3D {0xfe, 0xde, 0xff, 0xe7} #else /* ! __ARMEB__ */ -diff -urNp linux-2.6.32.48/arch/arm/kernel/traps.c linux-2.6.32.48/arch/= arm/kernel/traps.c ---- linux-2.6.32.48/arch/arm/kernel/traps.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/arm/kernel/traps.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/arm/kernel/traps.c linux-2.6.32.46/arch/= arm/kernel/traps.c +--- linux-2.6.32.46/arch/arm/kernel/traps.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/arm/kernel/traps.c 2011-06-13 21:31:18.00000000= 0 -0400 @@ -247,6 +247,8 @@ static void __die(const char *str, int e =20 DEFINE_SPINLOCK(die_lock); @@ -376,9 +376,9 @@ diff -urNp linux-2.6.32.48/arch/arm/kernel/traps.c li= nux-2.6.32.48/arch/arm/kern do_exit(SIGSEGV); } =20 -diff -urNp linux-2.6.32.48/arch/arm/lib/copy_from_user.S linux-2.6.32.48= /arch/arm/lib/copy_from_user.S ---- linux-2.6.32.48/arch/arm/lib/copy_from_user.S 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/arm/lib/copy_from_user.S 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/lib/copy_from_user.S linux-2.6.32.46= /arch/arm/lib/copy_from_user.S +--- linux-2.6.32.46/arch/arm/lib/copy_from_user.S 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/arm/lib/copy_from_user.S 2011-06-29 20:48:38.00= 0000000 -0400 @@ -16,7 +16,7 @@ /* * Prototype: @@ -402,9 +402,9 @@ diff -urNp linux-2.6.32.48/arch/arm/lib/copy_from_use= r.S linux-2.6.32.48/arch/ar =20 .section .fixup,"ax" .align 0 -diff -urNp linux-2.6.32.48/arch/arm/lib/copy_to_user.S linux-2.6.32.48/a= rch/arm/lib/copy_to_user.S ---- linux-2.6.32.48/arch/arm/lib/copy_to_user.S 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/arm/lib/copy_to_user.S 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/lib/copy_to_user.S linux-2.6.32.46/a= rch/arm/lib/copy_to_user.S +--- linux-2.6.32.46/arch/arm/lib/copy_to_user.S 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/arm/lib/copy_to_user.S 2011-06-29 20:46:49.0000= 00000 -0400 @@ -16,7 +16,7 @@ /* * Prototype: @@ -428,9 +428,9 @@ diff -urNp linux-2.6.32.48/arch/arm/lib/copy_to_user.= S linux-2.6.32.48/arch/arm/ =20 .section .fixup,"ax" .align 0 -diff -urNp linux-2.6.32.48/arch/arm/lib/uaccess.S linux-2.6.32.48/arch/a= rm/lib/uaccess.S ---- linux-2.6.32.48/arch/arm/lib/uaccess.S 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/arm/lib/uaccess.S 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/arm/lib/uaccess.S linux-2.6.32.46/arch/a= rm/lib/uaccess.S +--- linux-2.6.32.46/arch/arm/lib/uaccess.S 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/arm/lib/uaccess.S 2011-06-29 20:48:53.000000000= -0400 @@ -19,7 +19,7 @@ =20 #define PAGE_SHIFT 12 @@ -484,9 +484,9 @@ diff -urNp linux-2.6.32.48/arch/arm/lib/uaccess.S lin= ux-2.6.32.48/arch/arm/lib/u =20 .section .fixup,"ax" .align 0 -diff -urNp linux-2.6.32.48/arch/arm/lib/uaccess_with_memcpy.c linux-2.6.= 32.48/arch/arm/lib/uaccess_with_memcpy.c ---- linux-2.6.32.48/arch/arm/lib/uaccess_with_memcpy.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/arm/lib/uaccess_with_memcpy.c 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/lib/uaccess_with_memcpy.c linux-2.6.= 32.46/arch/arm/lib/uaccess_with_memcpy.c +--- linux-2.6.32.46/arch/arm/lib/uaccess_with_memcpy.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/arm/lib/uaccess_with_memcpy.c 2011-06-29 20:44:= 35.000000000 -0400 @@ -97,7 +97,7 @@ out: } =20 @@ -496,9 +496,9 @@ diff -urNp linux-2.6.32.48/arch/arm/lib/uaccess_with_= memcpy.c linux-2.6.32.48/ar { /* * This test is stubbed out of the main function above to keep -diff -urNp linux-2.6.32.48/arch/arm/mach-at91/pm.c linux-2.6.32.48/arch/= arm/mach-at91/pm.c ---- linux-2.6.32.48/arch/arm/mach-at91/pm.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/arm/mach-at91/pm.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/arm/mach-at91/pm.c linux-2.6.32.46/arch/= arm/mach-at91/pm.c +--- linux-2.6.32.46/arch/arm/mach-at91/pm.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/arm/mach-at91/pm.c 2011-04-17 15:56:45.00000000= 0 -0400 @@ -348,7 +348,7 @@ static void at91_pm_end(void) } =20 @@ -508,9 +508,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mach-at91/pm.c li= nux-2.6.32.48/arch/arm/mach .valid =3D at91_pm_valid_state, .begin =3D at91_pm_begin, .enter =3D at91_pm_enter, -diff -urNp linux-2.6.32.48/arch/arm/mach-omap1/pm.c linux-2.6.32.48/arch= /arm/mach-omap1/pm.c ---- linux-2.6.32.48/arch/arm/mach-omap1/pm.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/arm/mach-omap1/pm.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/arm/mach-omap1/pm.c linux-2.6.32.46/arch= /arm/mach-omap1/pm.c +--- linux-2.6.32.46/arch/arm/mach-omap1/pm.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/arm/mach-omap1/pm.c 2011-04-17 15:56:45.0000000= 00 -0400 @@ -647,7 +647,7 @@ static struct irqaction omap_wakeup_irq=20 =20 =20 @@ -520,9 +520,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mach-omap1/pm.c l= inux-2.6.32.48/arch/arm/mac .prepare =3D omap_pm_prepare, .enter =3D omap_pm_enter, .finish =3D omap_pm_finish, -diff -urNp linux-2.6.32.48/arch/arm/mach-omap2/pm24xx.c linux-2.6.32.48/= arch/arm/mach-omap2/pm24xx.c ---- linux-2.6.32.48/arch/arm/mach-omap2/pm24xx.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/arm/mach-omap2/pm24xx.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/mach-omap2/pm24xx.c linux-2.6.32.46/= arch/arm/mach-omap2/pm24xx.c +--- linux-2.6.32.46/arch/arm/mach-omap2/pm24xx.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/arm/mach-omap2/pm24xx.c 2011-04-17 15:56:45.000= 000000 -0400 @@ -326,7 +326,7 @@ static void omap2_pm_finish(void) enable_hlt(); } @@ -532,9 +532,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mach-omap2/pm24xx= .c linux-2.6.32.48/arch/arm .prepare =3D omap2_pm_prepare, .enter =3D omap2_pm_enter, .finish =3D omap2_pm_finish, -diff -urNp linux-2.6.32.48/arch/arm/mach-omap2/pm34xx.c linux-2.6.32.48/= arch/arm/mach-omap2/pm34xx.c ---- linux-2.6.32.48/arch/arm/mach-omap2/pm34xx.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/arm/mach-omap2/pm34xx.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/mach-omap2/pm34xx.c linux-2.6.32.46/= arch/arm/mach-omap2/pm34xx.c +--- linux-2.6.32.46/arch/arm/mach-omap2/pm34xx.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/arm/mach-omap2/pm34xx.c 2011-04-17 15:56:45.000= 000000 -0400 @@ -401,7 +401,7 @@ static void omap3_pm_end(void) return; } @@ -544,9 +544,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mach-omap2/pm34xx= .c linux-2.6.32.48/arch/arm .begin =3D omap3_pm_begin, .end =3D omap3_pm_end, .prepare =3D omap3_pm_prepare, -diff -urNp linux-2.6.32.48/arch/arm/mach-pnx4008/pm.c linux-2.6.32.48/ar= ch/arm/mach-pnx4008/pm.c ---- linux-2.6.32.48/arch/arm/mach-pnx4008/pm.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/arm/mach-pnx4008/pm.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/mach-pnx4008/pm.c linux-2.6.32.46/ar= ch/arm/mach-pnx4008/pm.c +--- linux-2.6.32.46/arch/arm/mach-pnx4008/pm.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/arm/mach-pnx4008/pm.c 2011-04-17 15:56:45.00000= 0000 -0400 @@ -116,7 +116,7 @@ static int pnx4008_pm_valid(suspend_stat (state =3D=3D PM_SUSPEND_MEM); } @@ -556,9 +556,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mach-pnx4008/pm.c= linux-2.6.32.48/arch/arm/m .enter =3D pnx4008_pm_enter, .valid =3D pnx4008_pm_valid, }; -diff -urNp linux-2.6.32.48/arch/arm/mach-pxa/pm.c linux-2.6.32.48/arch/a= rm/mach-pxa/pm.c ---- linux-2.6.32.48/arch/arm/mach-pxa/pm.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/arm/mach-pxa/pm.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/arm/mach-pxa/pm.c linux-2.6.32.46/arch/a= rm/mach-pxa/pm.c +--- linux-2.6.32.46/arch/arm/mach-pxa/pm.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/arm/mach-pxa/pm.c 2011-04-17 15:56:45.000000000= -0400 @@ -95,7 +95,7 @@ void pxa_pm_finish(void) pxa_cpu_pm_fns->finish(); } @@ -568,9 +568,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mach-pxa/pm.c lin= ux-2.6.32.48/arch/arm/mach- .valid =3D pxa_pm_valid, .enter =3D pxa_pm_enter, .prepare =3D pxa_pm_prepare, -diff -urNp linux-2.6.32.48/arch/arm/mach-pxa/sharpsl_pm.c linux-2.6.32.4= 8/arch/arm/mach-pxa/sharpsl_pm.c ---- linux-2.6.32.48/arch/arm/mach-pxa/sharpsl_pm.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/arm/mach-pxa/sharpsl_pm.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/mach-pxa/sharpsl_pm.c linux-2.6.32.4= 6/arch/arm/mach-pxa/sharpsl_pm.c +--- linux-2.6.32.46/arch/arm/mach-pxa/sharpsl_pm.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/arm/mach-pxa/sharpsl_pm.c 2011-04-17 15:56:45.0= 00000000 -0400 @@ -891,7 +891,7 @@ static void sharpsl_apm_get_power_status } =20 @@ -580,9 +580,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mach-pxa/sharpsl_= pm.c linux-2.6.32.48/arch/a .prepare =3D pxa_pm_prepare, .finish =3D pxa_pm_finish, .enter =3D corgi_pxa_pm_enter, -diff -urNp linux-2.6.32.48/arch/arm/mach-sa1100/pm.c linux-2.6.32.48/arc= h/arm/mach-sa1100/pm.c ---- linux-2.6.32.48/arch/arm/mach-sa1100/pm.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/arm/mach-sa1100/pm.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/arm/mach-sa1100/pm.c linux-2.6.32.46/arc= h/arm/mach-sa1100/pm.c +--- linux-2.6.32.46/arch/arm/mach-sa1100/pm.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/arm/mach-sa1100/pm.c 2011-04-17 15:56:45.000000= 000 -0400 @@ -120,7 +120,7 @@ unsigned long sleep_phys_sp(void *sp) return virt_to_phys(sp); } @@ -592,9 +592,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mach-sa1100/pm.c = linux-2.6.32.48/arch/arm/ma .enter =3D sa11x0_pm_enter, .valid =3D suspend_valid_only_mem, }; -diff -urNp linux-2.6.32.48/arch/arm/mm/fault.c linux-2.6.32.48/arch/arm/= mm/fault.c ---- linux-2.6.32.48/arch/arm/mm/fault.c 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/arch/arm/mm/fault.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/arch/arm/mm/fault.c linux-2.6.32.46/arch/arm/= mm/fault.c +--- linux-2.6.32.46/arch/arm/mm/fault.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/arch/arm/mm/fault.c 2011-04-17 15:56:45.000000000 -0= 400 @@ -166,6 +166,13 @@ __do_user_fault(struct task_struct *tsk, } #endif @@ -643,9 +643,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mm/fault.c linux-= 2.6.32.48/arch/arm/mm/fault /* * First Level Translation Fault Handler * -diff -urNp linux-2.6.32.48/arch/arm/mm/mmap.c linux-2.6.32.48/arch/arm/m= m/mmap.c ---- linux-2.6.32.48/arch/arm/mm/mmap.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/arm/mm/mmap.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/arch/arm/mm/mmap.c linux-2.6.32.46/arch/arm/m= m/mmap.c +--- linux-2.6.32.46/arch/arm/mm/mmap.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/arch/arm/mm/mmap.c 2011-04-17 15:56:45.000000000 -04= 00 @@ -63,6 +63,10 @@ arch_get_unmapped_area(struct file *filp if (len > TASK_SIZE) return -ENOMEM; @@ -695,9 +695,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mm/mmap.c linux-2= .6.32.48/arch/arm/mm/mmap.c /* * Remember the place where we stopped the search: */ -diff -urNp linux-2.6.32.48/arch/arm/plat-s3c/pm.c linux-2.6.32.48/arch/a= rm/plat-s3c/pm.c ---- linux-2.6.32.48/arch/arm/plat-s3c/pm.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/arm/plat-s3c/pm.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/arm/plat-s3c/pm.c linux-2.6.32.46/arch/a= rm/plat-s3c/pm.c +--- linux-2.6.32.46/arch/arm/plat-s3c/pm.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/arm/plat-s3c/pm.c 2011-04-17 15:56:45.000000000= -0400 @@ -355,7 +355,7 @@ static void s3c_pm_finish(void) s3c_pm_check_cleanup(); } @@ -707,9 +707,9 @@ diff -urNp linux-2.6.32.48/arch/arm/plat-s3c/pm.c lin= ux-2.6.32.48/arch/arm/plat- .enter =3D s3c_pm_enter, .prepare =3D s3c_pm_prepare, .finish =3D s3c_pm_finish, -diff -urNp linux-2.6.32.48/arch/avr32/include/asm/elf.h linux-2.6.32.48/= arch/avr32/include/asm/elf.h ---- linux-2.6.32.48/arch/avr32/include/asm/elf.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/avr32/include/asm/elf.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/avr32/include/asm/elf.h linux-2.6.32.46/= arch/avr32/include/asm/elf.h +--- linux-2.6.32.46/arch/avr32/include/asm/elf.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/avr32/include/asm/elf.h 2011-04-17 15:56:45.000= 000000 -0400 @@ -85,8 +85,14 @@ typedef struct user_fpu_struct elf_fpreg the loader. We need to make sure that it is out of the way of the p= rogram that it will "exec", and that there is sufficient room for the brk. = */ @@ -726,9 +726,9 @@ diff -urNp linux-2.6.32.48/arch/avr32/include/asm/elf= .h linux-2.6.32.48/arch/avr =20 /* This yields a mask that user programs can use to figure out what instruction set this CPU supports. This could be done in user space= , -diff -urNp linux-2.6.32.48/arch/avr32/include/asm/kmap_types.h linux-2.6= .32.48/arch/avr32/include/asm/kmap_types.h ---- linux-2.6.32.48/arch/avr32/include/asm/kmap_types.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/avr32/include/asm/kmap_types.h 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/avr32/include/asm/kmap_types.h linux-2.6= .32.46/arch/avr32/include/asm/kmap_types.h +--- linux-2.6.32.46/arch/avr32/include/asm/kmap_types.h 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/arch/avr32/include/asm/kmap_types.h 2011-04-17 15:56= :45.000000000 -0400 @@ -22,7 +22,8 @@ D(10) KM_IRQ0, D(11) KM_IRQ1, D(12) KM_SOFTIRQ0, @@ -739,9 +739,9 @@ diff -urNp linux-2.6.32.48/arch/avr32/include/asm/kma= p_types.h linux-2.6.32.48/a }; =20 #undef D -diff -urNp linux-2.6.32.48/arch/avr32/mach-at32ap/pm.c linux-2.6.32.48/a= rch/avr32/mach-at32ap/pm.c ---- linux-2.6.32.48/arch/avr32/mach-at32ap/pm.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/avr32/mach-at32ap/pm.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/avr32/mach-at32ap/pm.c linux-2.6.32.46/a= rch/avr32/mach-at32ap/pm.c +--- linux-2.6.32.46/arch/avr32/mach-at32ap/pm.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/avr32/mach-at32ap/pm.c 2011-04-17 15:56:45.0000= 00000 -0400 @@ -176,7 +176,7 @@ out: return 0; } @@ -751,9 +751,9 @@ diff -urNp linux-2.6.32.48/arch/avr32/mach-at32ap/pm.= c linux-2.6.32.48/arch/avr3 .valid =3D avr32_pm_valid_state, .enter =3D avr32_pm_enter, }; -diff -urNp linux-2.6.32.48/arch/avr32/mm/fault.c linux-2.6.32.48/arch/av= r32/mm/fault.c ---- linux-2.6.32.48/arch/avr32/mm/fault.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/avr32/mm/fault.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/avr32/mm/fault.c linux-2.6.32.46/arch/av= r32/mm/fault.c +--- linux-2.6.32.46/arch/avr32/mm/fault.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/avr32/mm/fault.c 2011-04-17 15:56:45.000000000 = -0400 @@ -41,6 +41,23 @@ static inline int notify_page_fault(stru =20 int exception_trace =3D 1; @@ -795,9 +795,9 @@ diff -urNp linux-2.6.32.48/arch/avr32/mm/fault.c linu= x-2.6.32.48/arch/avr32/mm/f if (exception_trace && printk_ratelimit()) printk("%s%s[%d]: segfault at %08lx pc %08lx " "sp %08lx ecr %lu\n", -diff -urNp linux-2.6.32.48/arch/blackfin/kernel/kgdb.c linux-2.6.32.48/a= rch/blackfin/kernel/kgdb.c ---- linux-2.6.32.48/arch/blackfin/kernel/kgdb.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/blackfin/kernel/kgdb.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/blackfin/kernel/kgdb.c linux-2.6.32.46/a= rch/blackfin/kernel/kgdb.c +--- linux-2.6.32.46/arch/blackfin/kernel/kgdb.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/blackfin/kernel/kgdb.c 2011-04-17 15:56:45.0000= 00000 -0400 @@ -428,7 +428,7 @@ int kgdb_arch_handle_exception(int vecto return -1; /* this means that we do not want to exit from the handler= */ } @@ -807,9 +807,9 @@ diff -urNp linux-2.6.32.48/arch/blackfin/kernel/kgdb.= c linux-2.6.32.48/arch/blac .gdb_bpt_instr =3D {0xa1}, #ifdef CONFIG_SMP .flags =3D KGDB_HW_BREAKPOINT|KGDB_THR_PROC_SWAP, -diff -urNp linux-2.6.32.48/arch/blackfin/mach-common/pm.c linux-2.6.32.4= 8/arch/blackfin/mach-common/pm.c ---- linux-2.6.32.48/arch/blackfin/mach-common/pm.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/blackfin/mach-common/pm.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/blackfin/mach-common/pm.c linux-2.6.32.4= 6/arch/blackfin/mach-common/pm.c +--- linux-2.6.32.46/arch/blackfin/mach-common/pm.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/blackfin/mach-common/pm.c 2011-04-17 15:56:45.0= 00000000 -0400 @@ -255,7 +255,7 @@ static int bfin_pm_enter(suspend_state_t return 0; } @@ -819,9 +819,9 @@ diff -urNp linux-2.6.32.48/arch/blackfin/mach-common/= pm.c linux-2.6.32.48/arch/b .enter =3D bfin_pm_enter, .valid =3D bfin_pm_valid, }; -diff -urNp linux-2.6.32.48/arch/frv/include/asm/kmap_types.h linux-2.6.3= 2.48/arch/frv/include/asm/kmap_types.h ---- linux-2.6.32.48/arch/frv/include/asm/kmap_types.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/frv/include/asm/kmap_types.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/frv/include/asm/kmap_types.h linux-2.6.3= 2.46/arch/frv/include/asm/kmap_types.h +--- linux-2.6.32.46/arch/frv/include/asm/kmap_types.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/frv/include/asm/kmap_types.h 2011-04-17 15:56:4= 5.000000000 -0400 @@ -23,6 +23,7 @@ enum km_type { KM_IRQ1, KM_SOFTIRQ0, @@ -830,9 +830,9 @@ diff -urNp linux-2.6.32.48/arch/frv/include/asm/kmap_= types.h linux-2.6.32.48/arc KM_TYPE_NR }; =20 -diff -urNp linux-2.6.32.48/arch/frv/mm/elf-fdpic.c linux-2.6.32.48/arch/= frv/mm/elf-fdpic.c ---- linux-2.6.32.48/arch/frv/mm/elf-fdpic.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/frv/mm/elf-fdpic.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/frv/mm/elf-fdpic.c linux-2.6.32.46/arch/= frv/mm/elf-fdpic.c +--- linux-2.6.32.46/arch/frv/mm/elf-fdpic.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/frv/mm/elf-fdpic.c 2011-04-17 15:56:45.00000000= 0 -0400 @@ -73,8 +73,7 @@ unsigned long arch_get_unmapped_area(str if (addr) { addr =3D PAGE_ALIGN(addr); @@ -861,9 +861,9 @@ diff -urNp linux-2.6.32.48/arch/frv/mm/elf-fdpic.c li= nux-2.6.32.48/arch/frv/mm/e goto success; addr =3D vma->vm_end; } -diff -urNp linux-2.6.32.48/arch/ia64/hp/common/hwsw_iommu.c linux-2.6.32= .48/arch/ia64/hp/common/hwsw_iommu.c ---- linux-2.6.32.48/arch/ia64/hp/common/hwsw_iommu.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/hp/common/hwsw_iommu.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/hp/common/hwsw_iommu.c linux-2.6.32= .46/arch/ia64/hp/common/hwsw_iommu.c +--- linux-2.6.32.46/arch/ia64/hp/common/hwsw_iommu.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/ia64/hp/common/hwsw_iommu.c 2011-04-17 15:56:45= .000000000 -0400 @@ -17,7 +17,7 @@ #include #include @@ -882,9 +882,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/hp/common/hwsw_i= ommu.c linux-2.6.32.48/arch { if (use_swiotlb(dev)) return &swiotlb_dma_ops; -diff -urNp linux-2.6.32.48/arch/ia64/hp/common/sba_iommu.c linux-2.6.32.= 48/arch/ia64/hp/common/sba_iommu.c ---- linux-2.6.32.48/arch/ia64/hp/common/sba_iommu.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/hp/common/sba_iommu.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/hp/common/sba_iommu.c linux-2.6.32.= 46/arch/ia64/hp/common/sba_iommu.c +--- linux-2.6.32.46/arch/ia64/hp/common/sba_iommu.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/ia64/hp/common/sba_iommu.c 2011-04-17 15:56:45.= 000000000 -0400 @@ -2097,7 +2097,7 @@ static struct acpi_driver acpi_sba_ioc_d }, }; @@ -903,9 +903,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/hp/common/sba_io= mmu.c linux-2.6.32.48/arch/ .alloc_coherent =3D sba_alloc_coherent, .free_coherent =3D sba_free_coherent, .map_page =3D sba_map_page, -diff -urNp linux-2.6.32.48/arch/ia64/ia32/binfmt_elf32.c linux-2.6.32.48= /arch/ia64/ia32/binfmt_elf32.c ---- linux-2.6.32.48/arch/ia64/ia32/binfmt_elf32.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/ia64/ia32/binfmt_elf32.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/ia32/binfmt_elf32.c linux-2.6.32.46= /arch/ia64/ia32/binfmt_elf32.c +--- linux-2.6.32.46/arch/ia64/ia32/binfmt_elf32.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/ia64/ia32/binfmt_elf32.c 2011-04-17 15:56:45.00= 0000000 -0400 @@ -45,6 +45,13 @@ randomize_stack_top(unsigned long stack_ =20 #define elf_read_implies_exec(ex, have_pt_gnu_stack) (!(have_pt_gnu_sta= ck)) @@ -920,9 +920,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/ia32/binfmt_elf3= 2.c linux-2.6.32.48/arch/ia /* Ugly but avoids duplication */ #include "../../../fs/binfmt_elf.c" =20 -diff -urNp linux-2.6.32.48/arch/ia64/ia32/ia32priv.h linux-2.6.32.48/arc= h/ia64/ia32/ia32priv.h ---- linux-2.6.32.48/arch/ia64/ia32/ia32priv.h 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/ia64/ia32/ia32priv.h 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/ia32/ia32priv.h linux-2.6.32.46/arc= h/ia64/ia32/ia32priv.h +--- linux-2.6.32.46/arch/ia64/ia32/ia32priv.h 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/ia64/ia32/ia32priv.h 2011-04-17 15:56:45.000000= 000 -0400 @@ -296,7 +296,14 @@ typedef struct compat_siginfo { #define ELF_DATA ELFDATA2LSB #define ELF_ARCH EM_386 @@ -939,9 +939,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/ia32/ia32priv.h = linux-2.6.32.48/arch/ia64/i #define IA32_GATE_OFFSET IA32_PAGE_OFFSET #define IA32_GATE_END IA32_PAGE_OFFSET + PAGE_SIZE =20 -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/dma-mapping.h linux-2.6= .32.48/arch/ia64/include/asm/dma-mapping.h ---- linux-2.6.32.48/arch/ia64/include/asm/dma-mapping.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/dma-mapping.h 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/include/asm/dma-mapping.h linux-2.6= .32.46/arch/ia64/include/asm/dma-mapping.h +--- linux-2.6.32.46/arch/ia64/include/asm/dma-mapping.h 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/arch/ia64/include/asm/dma-mapping.h 2011-04-17 15:56= :45.000000000 -0400 @@ -12,7 +12,7 @@ =20 #define ARCH_HAS_DMA_GET_REQUIRED_MASK @@ -985,9 +985,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/include/asm/dma-= mapping.h linux-2.6.32.48/a return ops->dma_supported(dev, mask); } =20 -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/elf.h linux-2.6.32.48/a= rch/ia64/include/asm/elf.h ---- linux-2.6.32.48/arch/ia64/include/asm/elf.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/elf.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/include/asm/elf.h linux-2.6.32.46/a= rch/ia64/include/asm/elf.h +--- linux-2.6.32.46/arch/ia64/include/asm/elf.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/ia64/include/asm/elf.h 2011-04-17 15:56:45.0000= 00000 -0400 @@ -43,6 +43,13 @@ */ #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x800000000UL) @@ -1002,9 +1002,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/include/asm/el= f.h linux-2.6.32.48/arch/ia64 #define PT_IA_64_UNWIND 0x70000001 =20 /* IA-64 relocations: */ -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/machvec.h linux-2.6.32.= 48/arch/ia64/include/asm/machvec.h ---- linux-2.6.32.48/arch/ia64/include/asm/machvec.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/machvec.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/include/asm/machvec.h linux-2.6.32.= 46/arch/ia64/include/asm/machvec.h +--- linux-2.6.32.46/arch/ia64/include/asm/machvec.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/ia64/include/asm/machvec.h 2011-04-17 15:56:45.= 000000000 -0400 @@ -45,7 +45,7 @@ typedef void ia64_mv_kernel_launch_event /* DMA-mapping interface: */ typedef void ia64_mv_dma_init (void); @@ -1023,9 +1023,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/include/asm/ma= chvec.h linux-2.6.32.48/arch/ =20 /* * Define default versions so we can extend machvec for new platforms w= ithout having -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/pgtable.h linux-2.6.32.= 48/arch/ia64/include/asm/pgtable.h ---- linux-2.6.32.48/arch/ia64/include/asm/pgtable.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/pgtable.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/include/asm/pgtable.h linux-2.6.32.= 46/arch/ia64/include/asm/pgtable.h +--- linux-2.6.32.46/arch/ia64/include/asm/pgtable.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/ia64/include/asm/pgtable.h 2011-04-17 15:56:45.= 000000000 -0400 @@ -12,7 +12,7 @@ * David Mosberger-Tang */ @@ -1053,9 +1053,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/include/asm/pg= table.h linux-2.6.32.48/arch/ #define PAGE_GATE __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_X_RX) #define PAGE_KERNEL __pgprot(__DIRTY_BITS | _PAGE_PL_0 | _PAGE_AR_RWX) #define PAGE_KERNELRX __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_RX= ) -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/spinlock.h linux-2.6.32= .48/arch/ia64/include/asm/spinlock.h ---- linux-2.6.32.48/arch/ia64/include/asm/spinlock.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/spinlock.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/include/asm/spinlock.h linux-2.6.32= .46/arch/ia64/include/asm/spinlock.h +--- linux-2.6.32.46/arch/ia64/include/asm/spinlock.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/ia64/include/asm/spinlock.h 2011-04-17 15:56:45= .000000000 -0400 @@ -72,7 +72,7 @@ static __always_inline void __ticket_spi unsigned short *p =3D (unsigned short *)&lock->lock + 1, tmp; =20 @@ -1065,9 +1065,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/include/asm/sp= inlock.h linux-2.6.32.48/arch } =20 static __always_inline void __ticket_spin_unlock_wait(raw_spinlock_t *l= ock) -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/uaccess.h linux-2.6.32.= 48/arch/ia64/include/asm/uaccess.h ---- linux-2.6.32.48/arch/ia64/include/asm/uaccess.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/uaccess.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/include/asm/uaccess.h linux-2.6.32.= 46/arch/ia64/include/asm/uaccess.h +--- linux-2.6.32.46/arch/ia64/include/asm/uaccess.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/ia64/include/asm/uaccess.h 2011-04-17 15:56:45.= 000000000 -0400 @@ -257,7 +257,7 @@ __copy_from_user (void *to, const void _ const void *__cu_from =3D (from); \ long __cu_len =3D (n); \ @@ -1086,9 +1086,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/include/asm/ua= ccess.h linux-2.6.32.48/arch/ __cu_len =3D __copy_user((__force void __user *) __cu_to, __cu_from, = __cu_len); \ __cu_len; \ }) -diff -urNp linux-2.6.32.48/arch/ia64/kernel/dma-mapping.c linux-2.6.32.4= 8/arch/ia64/kernel/dma-mapping.c ---- linux-2.6.32.48/arch/ia64/kernel/dma-mapping.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/dma-mapping.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/kernel/dma-mapping.c linux-2.6.32.4= 6/arch/ia64/kernel/dma-mapping.c +--- linux-2.6.32.46/arch/ia64/kernel/dma-mapping.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/ia64/kernel/dma-mapping.c 2011-04-17 15:56:45.0= 00000000 -0400 @@ -3,7 +3,7 @@ /* Set this to 1 if there is a HW IOMMU in the system */ int iommu_detected __read_mostly; @@ -1107,9 +1107,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/kernel/dma-map= ping.c linux-2.6.32.48/arch/i { return dma_ops; } -diff -urNp linux-2.6.32.48/arch/ia64/kernel/module.c linux-2.6.32.48/arc= h/ia64/kernel/module.c ---- linux-2.6.32.48/arch/ia64/kernel/module.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/module.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/kernel/module.c linux-2.6.32.46/arc= h/ia64/kernel/module.c +--- linux-2.6.32.46/arch/ia64/kernel/module.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/ia64/kernel/module.c 2011-04-17 15:56:45.000000= 000 -0400 @@ -315,8 +315,7 @@ module_alloc (unsigned long size) void module_free (struct module *mod, void *module_region) @@ -1198,9 +1198,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/kernel/module.= c linux-2.6.32.48/arch/ia64/k mod->arch.gp =3D gp; DEBUGP("%s: placing gp at 0x%lx\n", __func__, gp); } -diff -urNp linux-2.6.32.48/arch/ia64/kernel/pci-dma.c linux-2.6.32.48/ar= ch/ia64/kernel/pci-dma.c ---- linux-2.6.32.48/arch/ia64/kernel/pci-dma.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/pci-dma.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/kernel/pci-dma.c linux-2.6.32.46/ar= ch/ia64/kernel/pci-dma.c +--- linux-2.6.32.46/arch/ia64/kernel/pci-dma.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/ia64/kernel/pci-dma.c 2011-04-17 15:56:45.00000= 0000 -0400 @@ -43,7 +43,7 @@ struct device fallback_dev =3D { .dma_mask =3D &fallback_dev.coherent_dma_mask, }; @@ -1252,9 +1252,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/kernel/pci-dma= .c linux-2.6.32.48/arch/ia64/ =20 /* * The order of these functions is important for -diff -urNp linux-2.6.32.48/arch/ia64/kernel/pci-swiotlb.c linux-2.6.32.4= 8/arch/ia64/kernel/pci-swiotlb.c ---- linux-2.6.32.48/arch/ia64/kernel/pci-swiotlb.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/pci-swiotlb.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/kernel/pci-swiotlb.c linux-2.6.32.4= 6/arch/ia64/kernel/pci-swiotlb.c +--- linux-2.6.32.46/arch/ia64/kernel/pci-swiotlb.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/ia64/kernel/pci-swiotlb.c 2011-04-17 15:56:45.0= 00000000 -0400 @@ -21,7 +21,7 @@ static void *ia64_swiotlb_alloc_coherent return swiotlb_alloc_coherent(dev, size, dma_handle, gfp); } @@ -1264,9 +1264,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/kernel/pci-swi= otlb.c linux-2.6.32.48/arch/i .alloc_coherent =3D ia64_swiotlb_alloc_coherent, .free_coherent =3D swiotlb_free_coherent, .map_page =3D swiotlb_map_page, -diff -urNp linux-2.6.32.48/arch/ia64/kernel/sys_ia64.c linux-2.6.32.48/a= rch/ia64/kernel/sys_ia64.c ---- linux-2.6.32.48/arch/ia64/kernel/sys_ia64.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/sys_ia64.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/kernel/sys_ia64.c linux-2.6.32.46/a= rch/ia64/kernel/sys_ia64.c +--- linux-2.6.32.46/arch/ia64/kernel/sys_ia64.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/ia64/kernel/sys_ia64.c 2011-04-17 15:56:45.0000= 00000 -0400 @@ -43,6 +43,13 @@ arch_get_unmapped_area (struct file *fil if (REGION_NUMBER(addr) =3D=3D RGN_HPAGE) addr =3D 0; @@ -1299,9 +1299,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/kernel/sys_ia6= 4.c linux-2.6.32.48/arch/ia64 /* Remember the address where we stopped this search: */ mm->free_area_cache =3D addr + len; return addr; -diff -urNp linux-2.6.32.48/arch/ia64/kernel/topology.c linux-2.6.32.48/a= rch/ia64/kernel/topology.c ---- linux-2.6.32.48/arch/ia64/kernel/topology.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/topology.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/kernel/topology.c linux-2.6.32.46/a= rch/ia64/kernel/topology.c +--- linux-2.6.32.46/arch/ia64/kernel/topology.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/ia64/kernel/topology.c 2011-04-17 15:56:45.0000= 00000 -0400 @@ -282,7 +282,7 @@ static ssize_t cache_show(struct kobject return ret; } @@ -1311,9 +1311,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/kernel/topolog= y.c linux-2.6.32.48/arch/ia64 .show =3D cache_show }; =20 -diff -urNp linux-2.6.32.48/arch/ia64/kernel/vmlinux.lds.S linux-2.6.32.4= 8/arch/ia64/kernel/vmlinux.lds.S ---- linux-2.6.32.48/arch/ia64/kernel/vmlinux.lds.S 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/vmlinux.lds.S 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/kernel/vmlinux.lds.S linux-2.6.32.4= 6/arch/ia64/kernel/vmlinux.lds.S +--- linux-2.6.32.46/arch/ia64/kernel/vmlinux.lds.S 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/ia64/kernel/vmlinux.lds.S 2011-04-17 15:56:45.0= 00000000 -0400 @@ -190,7 +190,7 @@ SECTIONS /* Per-cpu data: */ . =3D ALIGN(PERCPU_PAGE_SIZE); @@ -1323,9 +1323,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/kernel/vmlinux= .lds.S linux-2.6.32.48/arch/i . =3D __phys_per_cpu_start + PERCPU_PAGE_SIZE; /* ensure percpu data = fits * into percpu page size */ -diff -urNp linux-2.6.32.48/arch/ia64/mm/fault.c linux-2.6.32.48/arch/ia6= 4/mm/fault.c ---- linux-2.6.32.48/arch/ia64/mm/fault.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/arch/ia64/mm/fault.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/arch/ia64/mm/fault.c linux-2.6.32.46/arch/ia6= 4/mm/fault.c +--- linux-2.6.32.46/arch/ia64/mm/fault.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/arch/ia64/mm/fault.c 2011-04-17 15:56:45.000000000 -= 0400 @@ -72,6 +72,23 @@ mapped_kernel_page_is_present (unsigned=20 return pte_present(pte); } @@ -1375,9 +1375,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/mm/fault.c lin= ux-2.6.32.48/arch/ia64/mm/fau survive: /* * If for any reason at all we couldn't handle the fault, make -diff -urNp linux-2.6.32.48/arch/ia64/mm/hugetlbpage.c linux-2.6.32.48/ar= ch/ia64/mm/hugetlbpage.c ---- linux-2.6.32.48/arch/ia64/mm/hugetlbpage.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/ia64/mm/hugetlbpage.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/mm/hugetlbpage.c linux-2.6.32.46/ar= ch/ia64/mm/hugetlbpage.c +--- linux-2.6.32.46/arch/ia64/mm/hugetlbpage.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/ia64/mm/hugetlbpage.c 2011-04-17 15:56:45.00000= 0000 -0400 @@ -172,7 +172,7 @@ unsigned long hugetlb_get_unmapped_area( /* At this point: (!vmm || addr < vmm->vm_end). */ if (REGION_OFFSET(addr) + len > RGN_MAP_LIMIT) @@ -1387,9 +1387,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/mm/hugetlbpage= .c linux-2.6.32.48/arch/ia64/ return addr; addr =3D ALIGN(vmm->vm_end, HPAGE_SIZE); } -diff -urNp linux-2.6.32.48/arch/ia64/mm/init.c linux-2.6.32.48/arch/ia64= /mm/init.c ---- linux-2.6.32.48/arch/ia64/mm/init.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/arch/ia64/mm/init.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/arch/ia64/mm/init.c linux-2.6.32.46/arch/ia64= /mm/init.c +--- linux-2.6.32.46/arch/ia64/mm/init.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/arch/ia64/mm/init.c 2011-04-17 15:56:45.000000000 -0= 400 @@ -122,6 +122,19 @@ ia64_init_addr_space (void) vma->vm_start =3D current->thread.rbs_bot & PAGE_MASK; vma->vm_end =3D vma->vm_start + PAGE_SIZE; @@ -1410,9 +1410,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/mm/init.c linu= x-2.6.32.48/arch/ia64/mm/init vma->vm_page_prot =3D vm_get_page_prot(vma->vm_flags); down_write(¤t->mm->mmap_sem); if (insert_vm_struct(current->mm, vma)) { -diff -urNp linux-2.6.32.48/arch/ia64/sn/pci/pci_dma.c linux-2.6.32.48/ar= ch/ia64/sn/pci/pci_dma.c ---- linux-2.6.32.48/arch/ia64/sn/pci/pci_dma.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/ia64/sn/pci/pci_dma.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/ia64/sn/pci/pci_dma.c linux-2.6.32.46/ar= ch/ia64/sn/pci/pci_dma.c +--- linux-2.6.32.46/arch/ia64/sn/pci/pci_dma.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/ia64/sn/pci/pci_dma.c 2011-04-17 15:56:45.00000= 0000 -0400 @@ -464,7 +464,7 @@ int sn_pci_legacy_write(struct pci_bus * return ret; } @@ -1422,9 +1422,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/sn/pci/pci_dma= .c linux-2.6.32.48/arch/ia64/ .alloc_coherent =3D sn_dma_alloc_coherent, .free_coherent =3D sn_dma_free_coherent, .map_page =3D sn_dma_map_page, -diff -urNp linux-2.6.32.48/arch/m32r/lib/usercopy.c linux-2.6.32.48/arch= /m32r/lib/usercopy.c ---- linux-2.6.32.48/arch/m32r/lib/usercopy.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/m32r/lib/usercopy.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/m32r/lib/usercopy.c linux-2.6.32.46/arch= /m32r/lib/usercopy.c +--- linux-2.6.32.46/arch/m32r/lib/usercopy.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/m32r/lib/usercopy.c 2011-04-17 15:56:45.0000000= 00 -0400 @@ -14,6 +14,9 @@ unsigned long __generic_copy_to_user(void __user *to, const void *from, unsigned long= n) @@ -1445,9 +1445,9 @@ diff -urNp linux-2.6.32.48/arch/m32r/lib/usercopy.c= linux-2.6.32.48/arch/m32r/li prefetchw(to); if (access_ok(VERIFY_READ, from, n)) __copy_user_zeroing(to,from,n); -diff -urNp linux-2.6.32.48/arch/mips/alchemy/devboards/pm.c linux-2.6.32= .48/arch/mips/alchemy/devboards/pm.c ---- linux-2.6.32.48/arch/mips/alchemy/devboards/pm.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/mips/alchemy/devboards/pm.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/mips/alchemy/devboards/pm.c linux-2.6.32= .46/arch/mips/alchemy/devboards/pm.c +--- linux-2.6.32.46/arch/mips/alchemy/devboards/pm.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/mips/alchemy/devboards/pm.c 2011-04-17 15:56:45= .000000000 -0400 @@ -78,7 +78,7 @@ static void db1x_pm_end(void) =20 } @@ -1457,9 +1457,9 @@ diff -urNp linux-2.6.32.48/arch/mips/alchemy/devboa= rds/pm.c linux-2.6.32.48/arch .valid =3D suspend_valid_only_mem, .begin =3D db1x_pm_begin, .enter =3D db1x_pm_enter, -diff -urNp linux-2.6.32.48/arch/mips/include/asm/elf.h linux-2.6.32.48/a= rch/mips/include/asm/elf.h ---- linux-2.6.32.48/arch/mips/include/asm/elf.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/mips/include/asm/elf.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/mips/include/asm/elf.h linux-2.6.32.46/a= rch/mips/include/asm/elf.h +--- linux-2.6.32.46/arch/mips/include/asm/elf.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/mips/include/asm/elf.h 2011-04-17 15:56:45.0000= 00000 -0400 @@ -368,4 +368,11 @@ extern int dump_task_fpu(struct task_str #define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2) #endif @@ -1472,9 +1472,9 @@ diff -urNp linux-2.6.32.48/arch/mips/include/asm/el= f.h linux-2.6.32.48/arch/mips +#endif + #endif /* _ASM_ELF_H */ -diff -urNp linux-2.6.32.48/arch/mips/include/asm/page.h linux-2.6.32.48/= arch/mips/include/asm/page.h ---- linux-2.6.32.48/arch/mips/include/asm/page.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/mips/include/asm/page.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/mips/include/asm/page.h linux-2.6.32.46/= arch/mips/include/asm/page.h +--- linux-2.6.32.46/arch/mips/include/asm/page.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/mips/include/asm/page.h 2011-04-17 15:56:45.000= 000000 -0400 @@ -93,7 +93,7 @@ extern void copy_user_highpage(struct pa #ifdef CONFIG_CPU_MIPS32 typedef struct { unsigned long pte_low, pte_high; } pte_t; @@ -1484,9 +1484,9 @@ diff -urNp linux-2.6.32.48/arch/mips/include/asm/pa= ge.h linux-2.6.32.48/arch/mip #else typedef struct { unsigned long long pte; } pte_t; #define pte_val(x) ((x).pte) -diff -urNp linux-2.6.32.48/arch/mips/include/asm/reboot.h linux-2.6.32.4= 8/arch/mips/include/asm/reboot.h ---- linux-2.6.32.48/arch/mips/include/asm/reboot.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/mips/include/asm/reboot.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/mips/include/asm/reboot.h linux-2.6.32.4= 6/arch/mips/include/asm/reboot.h +--- linux-2.6.32.46/arch/mips/include/asm/reboot.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/mips/include/asm/reboot.h 2011-08-21 17:35:02.0= 00000000 -0400 @@ -9,7 +9,7 @@ #ifndef _ASM_REBOOT_H #define _ASM_REBOOT_H @@ -1497,9 +1497,9 @@ diff -urNp linux-2.6.32.48/arch/mips/include/asm/re= boot.h linux-2.6.32.48/arch/m +extern void (*__noreturn _machine_halt)(void); =20 #endif /* _ASM_REBOOT_H */ -diff -urNp linux-2.6.32.48/arch/mips/include/asm/system.h linux-2.6.32.4= 8/arch/mips/include/asm/system.h ---- linux-2.6.32.48/arch/mips/include/asm/system.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/mips/include/asm/system.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/mips/include/asm/system.h linux-2.6.32.4= 6/arch/mips/include/asm/system.h +--- linux-2.6.32.46/arch/mips/include/asm/system.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/mips/include/asm/system.h 2011-04-17 15:56:45.0= 00000000 -0400 @@ -230,6 +230,6 @@ extern void per_cpu_trap_init(void); */ #define __ARCH_WANT_UNLOCKED_CTXSW @@ -1508,9 +1508,9 @@ diff -urNp linux-2.6.32.48/arch/mips/include/asm/sy= stem.h linux-2.6.32.48/arch/m +#define arch_align_stack(x) ((x) & ~0xfUL) =20 #endif /* _ASM_SYSTEM_H */ -diff -urNp linux-2.6.32.48/arch/mips/kernel/binfmt_elfn32.c linux-2.6.32= .48/arch/mips/kernel/binfmt_elfn32.c ---- linux-2.6.32.48/arch/mips/kernel/binfmt_elfn32.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/binfmt_elfn32.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/mips/kernel/binfmt_elfn32.c linux-2.6.32= .46/arch/mips/kernel/binfmt_elfn32.c +--- linux-2.6.32.46/arch/mips/kernel/binfmt_elfn32.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/mips/kernel/binfmt_elfn32.c 2011-04-17 15:56:45= .000000000 -0400 @@ -50,6 +50,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N #undef ELF_ET_DYN_BASE #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) @@ -1525,9 +1525,9 @@ diff -urNp linux-2.6.32.48/arch/mips/kernel/binfmt_= elfn32.c linux-2.6.32.48/arch #include #include #include -diff -urNp linux-2.6.32.48/arch/mips/kernel/binfmt_elfo32.c linux-2.6.32= .48/arch/mips/kernel/binfmt_elfo32.c ---- linux-2.6.32.48/arch/mips/kernel/binfmt_elfo32.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/binfmt_elfo32.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/mips/kernel/binfmt_elfo32.c linux-2.6.32= .46/arch/mips/kernel/binfmt_elfo32.c +--- linux-2.6.32.46/arch/mips/kernel/binfmt_elfo32.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/mips/kernel/binfmt_elfo32.c 2011-04-17 15:56:45= .000000000 -0400 @@ -52,6 +52,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N #undef ELF_ET_DYN_BASE #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) @@ -1542,9 +1542,9 @@ diff -urNp linux-2.6.32.48/arch/mips/kernel/binfmt_= elfo32.c linux-2.6.32.48/arch #include =20 /* -diff -urNp linux-2.6.32.48/arch/mips/kernel/kgdb.c linux-2.6.32.48/arch/= mips/kernel/kgdb.c ---- linux-2.6.32.48/arch/mips/kernel/kgdb.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/kgdb.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/mips/kernel/kgdb.c linux-2.6.32.46/arch/= mips/kernel/kgdb.c +--- linux-2.6.32.46/arch/mips/kernel/kgdb.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/mips/kernel/kgdb.c 2011-04-17 15:56:45.00000000= 0 -0400 @@ -245,6 +245,7 @@ int kgdb_arch_handle_exception(int vecto return -1; } @@ -1553,9 +1553,9 @@ diff -urNp linux-2.6.32.48/arch/mips/kernel/kgdb.c = linux-2.6.32.48/arch/mips/ker struct kgdb_arch arch_kgdb_ops; =20 /* -diff -urNp linux-2.6.32.48/arch/mips/kernel/process.c linux-2.6.32.48/ar= ch/mips/kernel/process.c ---- linux-2.6.32.48/arch/mips/kernel/process.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/process.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/mips/kernel/process.c linux-2.6.32.46/ar= ch/mips/kernel/process.c +--- linux-2.6.32.46/arch/mips/kernel/process.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/mips/kernel/process.c 2011-04-17 15:56:45.00000= 0000 -0400 @@ -470,15 +470,3 @@ unsigned long get_wchan(struct task_stru out: return pc; @@ -1572,9 +1572,9 @@ diff -urNp linux-2.6.32.48/arch/mips/kernel/process= .c linux-2.6.32.48/arch/mips/ - - return sp & ALMASK; -} -diff -urNp linux-2.6.32.48/arch/mips/kernel/reset.c linux-2.6.32.48/arch= /mips/kernel/reset.c ---- linux-2.6.32.48/arch/mips/kernel/reset.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/reset.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/mips/kernel/reset.c linux-2.6.32.46/arch= /mips/kernel/reset.c +--- linux-2.6.32.46/arch/mips/kernel/reset.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/mips/kernel/reset.c 2011-08-21 17:35:26.0000000= 00 -0400 @@ -19,8 +19,8 @@ * So handle all using function pointers to machine specific * functions. @@ -1606,9 +1606,9 @@ diff -urNp linux-2.6.32.48/arch/mips/kernel/reset.c= linux-2.6.32.48/arch/mips/ke pm_power_off(); + BUG(); } -diff -urNp linux-2.6.32.48/arch/mips/kernel/syscall.c linux-2.6.32.48/ar= ch/mips/kernel/syscall.c ---- linux-2.6.32.48/arch/mips/kernel/syscall.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/syscall.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/mips/kernel/syscall.c linux-2.6.32.46/ar= ch/mips/kernel/syscall.c +--- linux-2.6.32.46/arch/mips/kernel/syscall.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/mips/kernel/syscall.c 2011-04-17 15:56:45.00000= 0000 -0400 @@ -102,17 +102,21 @@ unsigned long arch_get_unmapped_area(str do_color_align =3D 0; if (filp || (flags & MAP_SHARED)) @@ -1643,9 +1643,9 @@ diff -urNp linux-2.6.32.48/arch/mips/kernel/syscall= .c linux-2.6.32.48/arch/mips/ return addr; addr =3D vmm->vm_end; if (do_color_align) -diff -urNp linux-2.6.32.48/arch/mips/Makefile linux-2.6.32.48/arch/mips/= Makefile ---- linux-2.6.32.48/arch/mips/Makefile 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/arch/mips/Makefile 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/arch/mips/Makefile linux-2.6.32.46/arch/mips/= Makefile +--- linux-2.6.32.46/arch/mips/Makefile 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/arch/mips/Makefile 2011-08-21 19:26:52.000000000 -04= 00 @@ -51,6 +51,8 @@ endif cflags-y :=3D -ffunction-sections cflags-y +=3D $(call cc-option, -mno-check-zero-division) @@ -1655,9 +1655,9 @@ diff -urNp linux-2.6.32.48/arch/mips/Makefile linux= -2.6.32.48/arch/mips/Makefile ifdef CONFIG_32BIT ld-emul =3D $(32bit-emul) vmlinux-32 =3D vmlinux -diff -urNp linux-2.6.32.48/arch/mips/mm/fault.c linux-2.6.32.48/arch/mip= s/mm/fault.c ---- linux-2.6.32.48/arch/mips/mm/fault.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/arch/mips/mm/fault.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/arch/mips/mm/fault.c linux-2.6.32.46/arch/mip= s/mm/fault.c +--- linux-2.6.32.46/arch/mips/mm/fault.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/arch/mips/mm/fault.c 2011-04-17 15:56:45.000000000 -= 0400 @@ -26,6 +26,23 @@ #include #include /* For VMALLOC_END */ @@ -1682,9 +1682,9 @@ diff -urNp linux-2.6.32.48/arch/mips/mm/fault.c lin= ux-2.6.32.48/arch/mips/mm/fau /* * This routine handles page faults. It determines the address, * and the problem, and then passes it off to one of the appropriate -diff -urNp linux-2.6.32.48/arch/parisc/include/asm/elf.h linux-2.6.32.48= /arch/parisc/include/asm/elf.h ---- linux-2.6.32.48/arch/parisc/include/asm/elf.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/parisc/include/asm/elf.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/parisc/include/asm/elf.h linux-2.6.32.46= /arch/parisc/include/asm/elf.h +--- linux-2.6.32.46/arch/parisc/include/asm/elf.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/parisc/include/asm/elf.h 2011-04-17 15:56:45.00= 0000000 -0400 @@ -343,6 +343,13 @@ struct pt_regs; /* forward declaration.. =20 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x01000000) @@ -1699,9 +1699,9 @@ diff -urNp linux-2.6.32.48/arch/parisc/include/asm/= elf.h linux-2.6.32.48/arch/pa /* This yields a mask that user programs can use to figure out what instruction set this CPU supports. This could be done in user space= , but it's not easy, and we've already done it here. */ -diff -urNp linux-2.6.32.48/arch/parisc/include/asm/pgtable.h linux-2.6.3= 2.48/arch/parisc/include/asm/pgtable.h ---- linux-2.6.32.48/arch/parisc/include/asm/pgtable.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/parisc/include/asm/pgtable.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/parisc/include/asm/pgtable.h linux-2.6.3= 2.46/arch/parisc/include/asm/pgtable.h +--- linux-2.6.32.46/arch/parisc/include/asm/pgtable.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/parisc/include/asm/pgtable.h 2011-04-17 15:56:4= 5.000000000 -0400 @@ -207,6 +207,17 @@ #define PAGE_EXECREAD __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_REA= D | _PAGE_EXEC |_PAGE_ACCESSED) #define PAGE_COPY PAGE_EXECREAD @@ -1720,9 +1720,9 @@ diff -urNp linux-2.6.32.48/arch/parisc/include/asm/= pgtable.h linux-2.6.32.48/arc #define PAGE_KERNEL __pgprot(_PAGE_KERNEL) #define PAGE_KERNEL_RO __pgprot(_PAGE_KERNEL & ~_PAGE_WRITE) #define PAGE_KERNEL_UNC __pgprot(_PAGE_KERNEL | _PAGE_NO_CACHE) -diff -urNp linux-2.6.32.48/arch/parisc/kernel/module.c linux-2.6.32.48/a= rch/parisc/kernel/module.c ---- linux-2.6.32.48/arch/parisc/kernel/module.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/parisc/kernel/module.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/parisc/kernel/module.c linux-2.6.32.46/a= rch/parisc/kernel/module.c +--- linux-2.6.32.46/arch/parisc/kernel/module.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/parisc/kernel/module.c 2011-04-17 15:56:45.0000= 00000 -0400 @@ -95,16 +95,38 @@ =20 /* three functions to determine where in the module core @@ -1823,9 +1823,9 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/modul= e.c linux-2.6.32.48/arch/pari =20 DEBUGP("register_unwind_table(), sect =3D %d at 0x%p - 0x%p (gp=3D0x%l= x)\n", me->arch.unwind_section, table, end, gp); -diff -urNp linux-2.6.32.48/arch/parisc/kernel/sys_parisc.c linux-2.6.32.= 48/arch/parisc/kernel/sys_parisc.c ---- linux-2.6.32.48/arch/parisc/kernel/sys_parisc.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/parisc/kernel/sys_parisc.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/parisc/kernel/sys_parisc.c linux-2.6.32.= 46/arch/parisc/kernel/sys_parisc.c +--- linux-2.6.32.46/arch/parisc/kernel/sys_parisc.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/parisc/kernel/sys_parisc.c 2011-04-17 15:56:45.= 000000000 -0400 @@ -43,7 +43,7 @@ static unsigned long get_unshared_area(u /* At this point: (!vma || addr < vma->vm_end). */ if (TASK_SIZE - len < addr) @@ -1853,9 +1853,9 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/sys_p= arisc.c linux-2.6.32.48/arch/ =20 if (filp) { addr =3D get_shared_area(filp->f_mapping, addr, len, pgoff); -diff -urNp linux-2.6.32.48/arch/parisc/kernel/traps.c linux-2.6.32.48/ar= ch/parisc/kernel/traps.c ---- linux-2.6.32.48/arch/parisc/kernel/traps.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/parisc/kernel/traps.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/parisc/kernel/traps.c linux-2.6.32.46/ar= ch/parisc/kernel/traps.c +--- linux-2.6.32.46/arch/parisc/kernel/traps.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/parisc/kernel/traps.c 2011-04-17 15:56:45.00000= 0000 -0400 @@ -733,9 +733,7 @@ void notrace handle_interruption(int cod =20 down_read(¤t->mm->mmap_sem); @@ -1867,9 +1867,9 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/traps= .c linux-2.6.32.48/arch/paris fault_address =3D regs->iaoq[0]; fault_space =3D regs->iasq[0]; =20 -diff -urNp linux-2.6.32.48/arch/parisc/mm/fault.c linux-2.6.32.48/arch/p= arisc/mm/fault.c ---- linux-2.6.32.48/arch/parisc/mm/fault.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/parisc/mm/fault.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/parisc/mm/fault.c linux-2.6.32.46/arch/p= arisc/mm/fault.c +--- linux-2.6.32.46/arch/parisc/mm/fault.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/parisc/mm/fault.c 2011-04-17 15:56:45.000000000= -0400 @@ -15,6 +15,7 @@ #include #include @@ -2039,9 +2039,9 @@ diff -urNp linux-2.6.32.48/arch/parisc/mm/fault.c l= inux-2.6.32.48/arch/parisc/mm =20 /* * If for any reason at all we couldn't handle the fault, make -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/device.h linux-2.6.3= 2.48/arch/powerpc/include/asm/device.h ---- linux-2.6.32.48/arch/powerpc/include/asm/device.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/device.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/device.h linux-2.6.3= 2.46/arch/powerpc/include/asm/device.h +--- linux-2.6.32.46/arch/powerpc/include/asm/device.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/device.h 2011-04-17 15:56:4= 5.000000000 -0400 @@ -14,7 +14,7 @@ struct dev_archdata { struct device_node *of_node; =20 @@ -2051,9 +2051,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /device.h linux-2.6.32.48/arc =20 /* * When an iommu is in use, dma_data is used as a ptr to the base of t= he -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/dma-mapping.h linux-= 2.6.32.48/arch/powerpc/include/asm/dma-mapping.h ---- linux-2.6.32.48/arch/powerpc/include/asm/dma-mapping.h 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/dma-mapping.h 2011-11-12 12= :46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/dma-mapping.h linux-= 2.6.32.46/arch/powerpc/include/asm/dma-mapping.h +--- linux-2.6.32.46/arch/powerpc/include/asm/dma-mapping.h 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/dma-mapping.h 2011-04-17 15= :56:45.000000000 -0400 @@ -69,9 +69,9 @@ static inline unsigned long device_to_ma #ifdef CONFIG_PPC64 extern struct dma_map_ops dma_iommu_ops; @@ -2120,9 +2120,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /dma-mapping.h linux-2.6.32.4 =20 if (dma_ops->mapping_error) return dma_ops->mapping_error(dev, dma_addr); -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/elf.h linux-2.6.32.4= 8/arch/powerpc/include/asm/elf.h ---- linux-2.6.32.48/arch/powerpc/include/asm/elf.h 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/elf.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/elf.h linux-2.6.32.4= 6/arch/powerpc/include/asm/elf.h +--- linux-2.6.32.46/arch/powerpc/include/asm/elf.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/elf.h 2011-04-17 15:56:45.0= 00000000 -0400 @@ -179,8 +179,19 @@ typedef elf_fpreg_t elf_vsrreghalf_t32[E the loader. We need to make sure that it is out of the way of the p= rogram that it will "exec", and that there is sufficient room for the brk. = */ @@ -2155,9 +2155,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /elf.h linux-2.6.32.48/arch/p #endif /* __KERNEL__ */ =20 /* -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/iommu.h linux-2.6.32= .48/arch/powerpc/include/asm/iommu.h ---- linux-2.6.32.48/arch/powerpc/include/asm/iommu.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/iommu.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/iommu.h linux-2.6.32= .46/arch/powerpc/include/asm/iommu.h +--- linux-2.6.32.46/arch/powerpc/include/asm/iommu.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/iommu.h 2011-04-17 15:56:45= .000000000 -0400 @@ -116,6 +116,9 @@ extern void iommu_init_early_iSeries(voi extern void iommu_init_early_dart(void); extern void iommu_init_early_pasemi(void); @@ -2168,9 +2168,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /iommu.h linux-2.6.32.48/arch #ifdef CONFIG_PCI extern void pci_iommu_init(void); extern void pci_direct_iommu_init(void); -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/kmap_types.h linux-2= .6.32.48/arch/powerpc/include/asm/kmap_types.h ---- linux-2.6.32.48/arch/powerpc/include/asm/kmap_types.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/kmap_types.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/kmap_types.h linux-2= .6.32.46/arch/powerpc/include/asm/kmap_types.h +--- linux-2.6.32.46/arch/powerpc/include/asm/kmap_types.h 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/kmap_types.h 2011-04-17 15:= 56:45.000000000 -0400 @@ -26,6 +26,7 @@ enum km_type { KM_SOFTIRQ1, KM_PPC_SYNC_PAGE, @@ -2179,9 +2179,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /kmap_types.h linux-2.6.32.48 KM_TYPE_NR }; =20 -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/page_64.h linux-2.6.= 32.48/arch/powerpc/include/asm/page_64.h ---- linux-2.6.32.48/arch/powerpc/include/asm/page_64.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/page_64.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/page_64.h linux-2.6.= 32.46/arch/powerpc/include/asm/page_64.h +--- linux-2.6.32.46/arch/powerpc/include/asm/page_64.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/page_64.h 2011-04-17 15:56:= 45.000000000 -0400 @@ -180,15 +180,18 @@ do { \ * stack by default, so in the absense of a PT_GNU_STACK program header * we turn execute permission off. @@ -2203,9 +2203,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /page_64.h linux-2.6.32.48/ar =20 #include =20 -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/page.h linux-2.6.32.= 48/arch/powerpc/include/asm/page.h ---- linux-2.6.32.48/arch/powerpc/include/asm/page.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/page.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/page.h linux-2.6.32.= 46/arch/powerpc/include/asm/page.h +--- linux-2.6.32.46/arch/powerpc/include/asm/page.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/page.h 2011-08-21 16:07:39.= 000000000 -0400 @@ -116,8 +116,9 @@ extern phys_addr_t kernstart_addr; * and needs to be executable. This means the whole heap ends * up being executable. @@ -2228,9 +2228,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /page.h linux-2.6.32.48/arch/ #ifndef __ASSEMBLY__ =20 #undef STRICT_MM_TYPECHECKS -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/pci.h linux-2.6.32.4= 8/arch/powerpc/include/asm/pci.h ---- linux-2.6.32.48/arch/powerpc/include/asm/pci.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/pci.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/pci.h linux-2.6.32.4= 6/arch/powerpc/include/asm/pci.h +--- linux-2.6.32.46/arch/powerpc/include/asm/pci.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/pci.h 2011-04-17 15:56:45.0= 00000000 -0400 @@ -65,8 +65,8 @@ static inline int pci_get_legacy_ide_irq } =20 @@ -2242,9 +2242,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /pci.h linux-2.6.32.48/arch/p #else /* CONFIG_PCI */ #define set_pci_dma_ops(d) #define get_pci_dma_ops() NULL -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/pgtable.h linux-2.6.= 32.48/arch/powerpc/include/asm/pgtable.h ---- linux-2.6.32.48/arch/powerpc/include/asm/pgtable.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/pgtable.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/pgtable.h linux-2.6.= 32.46/arch/powerpc/include/asm/pgtable.h +--- linux-2.6.32.46/arch/powerpc/include/asm/pgtable.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/pgtable.h 2011-04-17 15:56:= 45.000000000 -0400 @@ -2,6 +2,7 @@ #define _ASM_POWERPC_PGTABLE_H #ifdef __KERNEL__ @@ -2253,9 +2253,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /pgtable.h linux-2.6.32.48/ar #ifndef __ASSEMBLY__ #include /* For TASK_SIZE */ #include -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/pte-hash32.h linux-2= .6.32.48/arch/powerpc/include/asm/pte-hash32.h ---- linux-2.6.32.48/arch/powerpc/include/asm/pte-hash32.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/pte-hash32.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/pte-hash32.h linux-2= .6.32.46/arch/powerpc/include/asm/pte-hash32.h +--- linux-2.6.32.46/arch/powerpc/include/asm/pte-hash32.h 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/pte-hash32.h 2011-04-17 15:= 56:45.000000000 -0400 @@ -21,6 +21,7 @@ #define _PAGE_FILE 0x004 /* when !present: nonlinear file mapping */ #define _PAGE_USER 0x004 /* usermode access allowed */ @@ -2264,9 +2264,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /pte-hash32.h linux-2.6.32.48 #define _PAGE_COHERENT 0x010 /* M: enforce memory coherence (SMP system= s) */ #define _PAGE_NO_CACHE 0x020 /* I: cache inhibit */ #define _PAGE_WRITETHRU 0x040 /* W: cache write-through */ -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/ptrace.h linux-2.6.3= 2.48/arch/powerpc/include/asm/ptrace.h ---- linux-2.6.32.48/arch/powerpc/include/asm/ptrace.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/ptrace.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/ptrace.h linux-2.6.3= 2.46/arch/powerpc/include/asm/ptrace.h +--- linux-2.6.32.46/arch/powerpc/include/asm/ptrace.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/ptrace.h 2011-08-21 15:53:5= 8.000000000 -0400 @@ -103,7 +103,7 @@ extern unsigned long profile_pc(struct p } while(0) =20 @@ -2276,9 +2276,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /ptrace.h linux-2.6.32.48/arc extern int ptrace_put_reg(struct task_struct *task, int regno, unsigned long data); =20 -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/reg.h linux-2.6.32.4= 8/arch/powerpc/include/asm/reg.h ---- linux-2.6.32.48/arch/powerpc/include/asm/reg.h 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/reg.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/reg.h linux-2.6.32.4= 6/arch/powerpc/include/asm/reg.h +--- linux-2.6.32.46/arch/powerpc/include/asm/reg.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/reg.h 2011-04-17 15:56:45.0= 00000000 -0400 @@ -191,6 +191,7 @@ #define SPRN_DBCR 0x136 /* e300 Data Breakpoint Control Reg */ #define SPRN_DSISR 0x012 /* Data Storage Interrupt Status Register */ @@ -2287,9 +2287,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /reg.h linux-2.6.32.48/arch/p #define DSISR_PROTFAULT 0x08000000 /* protection fault */ #define DSISR_ISSTORE 0x02000000 /* access was a store */ #define DSISR_DABRMATCH 0x00400000 /* hit data breakpoint */ -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/swiotlb.h linux-2.6.= 32.48/arch/powerpc/include/asm/swiotlb.h ---- linux-2.6.32.48/arch/powerpc/include/asm/swiotlb.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/swiotlb.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/swiotlb.h linux-2.6.= 32.46/arch/powerpc/include/asm/swiotlb.h +--- linux-2.6.32.46/arch/powerpc/include/asm/swiotlb.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/swiotlb.h 2011-04-17 15:56:= 45.000000000 -0400 @@ -13,7 +13,7 @@ =20 #include @@ -2299,9 +2299,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /swiotlb.h linux-2.6.32.48/ar =20 static inline void dma_mark_clean(void *addr, size_t size) {} =20 -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/system.h linux-2.6.3= 2.48/arch/powerpc/include/asm/system.h ---- linux-2.6.32.48/arch/powerpc/include/asm/system.h 2011-11-12 12:44:2= 8.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/system.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/system.h linux-2.6.3= 2.46/arch/powerpc/include/asm/system.h +--- linux-2.6.32.46/arch/powerpc/include/asm/system.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/system.h 2011-04-17 15:56:4= 5.000000000 -0400 @@ -531,7 +531,7 @@ __cmpxchg_local(volatile void *ptr, unsi #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o)= , (n)) #endif @@ -2311,9 +2311,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /system.h linux-2.6.32.48/arc =20 /* Used in very early kernel initialization. */ extern unsigned long reloc_offset(void); -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/uaccess.h linux-2.6.= 32.48/arch/powerpc/include/asm/uaccess.h ---- linux-2.6.32.48/arch/powerpc/include/asm/uaccess.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/uaccess.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/include/asm/uaccess.h linux-2.6.= 32.46/arch/powerpc/include/asm/uaccess.h +--- linux-2.6.32.46/arch/powerpc/include/asm/uaccess.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/include/asm/uaccess.h 2011-04-17 15:56:= 45.000000000 -0400 @@ -13,6 +13,8 @@ #define VERIFY_READ 0 #define VERIFY_WRITE 1 @@ -2491,9 +2491,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /uaccess.h linux-2.6.32.48/ar extern unsigned long __clear_user(void __user *addr, unsigned long size= ); =20 static inline unsigned long clear_user(void __user *addr, unsigned long= size) -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/cacheinfo.c linux-2.6.32.= 48/arch/powerpc/kernel/cacheinfo.c ---- linux-2.6.32.48/arch/powerpc/kernel/cacheinfo.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/cacheinfo.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/cacheinfo.c linux-2.6.32.= 46/arch/powerpc/kernel/cacheinfo.c +--- linux-2.6.32.46/arch/powerpc/kernel/cacheinfo.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/cacheinfo.c 2011-04-17 15:56:45.= 000000000 -0400 @@ -642,7 +642,7 @@ static struct kobj_attribute *cache_inde &cache_assoc_attr, }; @@ -2503,9 +2503,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/cach= einfo.c linux-2.6.32.48/arch/ .show =3D cache_index_show, }; =20 -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/dma.c linux-2.6.32.48/arc= h/powerpc/kernel/dma.c ---- linux-2.6.32.48/arch/powerpc/kernel/dma.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/dma.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/dma.c linux-2.6.32.46/arc= h/powerpc/kernel/dma.c +--- linux-2.6.32.46/arch/powerpc/kernel/dma.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/dma.c 2011-04-17 15:56:45.000000= 000 -0400 @@ -134,7 +134,7 @@ static inline void dma_direct_sync_singl } #endif @@ -2515,9 +2515,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/dma.= c linux-2.6.32.48/arch/powerp .alloc_coherent =3D dma_direct_alloc_coherent, .free_coherent =3D dma_direct_free_coherent, .map_sg =3D dma_direct_map_sg, -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/dma-iommu.c linux-2.6.32.= 48/arch/powerpc/kernel/dma-iommu.c ---- linux-2.6.32.48/arch/powerpc/kernel/dma-iommu.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/dma-iommu.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/dma-iommu.c linux-2.6.32.= 46/arch/powerpc/kernel/dma-iommu.c +--- linux-2.6.32.46/arch/powerpc/kernel/dma-iommu.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/dma-iommu.c 2011-04-17 15:56:45.= 000000000 -0400 @@ -70,7 +70,7 @@ static void dma_iommu_unmap_sg(struct de } =20 @@ -2527,9 +2527,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/dma-= iommu.c linux-2.6.32.48/arch/ { struct iommu_table *tbl =3D get_iommu_table_base(dev); =20 -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/dma-swiotlb.c linux-2.6.3= 2.48/arch/powerpc/kernel/dma-swiotlb.c ---- linux-2.6.32.48/arch/powerpc/kernel/dma-swiotlb.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/dma-swiotlb.c 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/dma-swiotlb.c linux-2.6.3= 2.46/arch/powerpc/kernel/dma-swiotlb.c +--- linux-2.6.32.46/arch/powerpc/kernel/dma-swiotlb.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/dma-swiotlb.c 2011-04-17 15:56:4= 5.000000000 -0400 @@ -31,7 +31,7 @@ unsigned int ppc_swiotlb_enable; * map_page, and unmap_page on highmem, use normal dma_ops * for everything else. @@ -2539,9 +2539,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/dma-= swiotlb.c linux-2.6.32.48/arc .alloc_coherent =3D dma_direct_alloc_coherent, .free_coherent =3D dma_direct_free_coherent, .map_sg =3D swiotlb_map_sg_attrs, -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/exceptions-64e.S linux-2.= 6.32.48/arch/powerpc/kernel/exceptions-64e.S ---- linux-2.6.32.48/arch/powerpc/kernel/exceptions-64e.S 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/exceptions-64e.S 2011-11-12 12:4= 6:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/exceptions-64e.S linux-2.= 6.32.46/arch/powerpc/kernel/exceptions-64e.S +--- linux-2.6.32.46/arch/powerpc/kernel/exceptions-64e.S 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/exceptions-64e.S 2011-04-17 15:5= 6:45.000000000 -0400 @@ -455,6 +455,7 @@ storage_fault_common: std r14,_DAR(r1) std r15,_DSISR(r1) @@ -2560,9 +2560,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/exce= ptions-64e.S linux-2.6.32.48/ addi r3,r1,STACK_FRAME_OVERHEAD ld r4,_DAR(r1) bl .bad_page_fault -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/exceptions-64s.S linux-2.= 6.32.48/arch/powerpc/kernel/exceptions-64s.S ---- linux-2.6.32.48/arch/powerpc/kernel/exceptions-64s.S 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/exceptions-64s.S 2011-11-12 12:4= 6:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/exceptions-64s.S linux-2.= 6.32.46/arch/powerpc/kernel/exceptions-64s.S +--- linux-2.6.32.46/arch/powerpc/kernel/exceptions-64s.S 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/exceptions-64s.S 2011-04-17 15:5= 6:45.000000000 -0400 @@ -818,10 +818,10 @@ handle_page_fault: 11: ld r4,_DAR(r1) ld r5,_DSISR(r1) @@ -2575,9 +2575,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/exce= ptions-64s.S linux-2.6.32.48/ mr r5,r3 addi r3,r1,STACK_FRAME_OVERHEAD lwz r4,_DAR(r1) -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/ibmebus.c linux-2.6.32.48= /arch/powerpc/kernel/ibmebus.c ---- linux-2.6.32.48/arch/powerpc/kernel/ibmebus.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/ibmebus.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/ibmebus.c linux-2.6.32.46= /arch/powerpc/kernel/ibmebus.c +--- linux-2.6.32.46/arch/powerpc/kernel/ibmebus.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/ibmebus.c 2011-04-17 15:56:45.00= 0000000 -0400 @@ -127,7 +127,7 @@ static int ibmebus_dma_supported(struct=20 return 1; } @@ -2587,9 +2587,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/ibme= bus.c linux-2.6.32.48/arch/po .alloc_coherent =3D ibmebus_alloc_coherent, .free_coherent =3D ibmebus_free_coherent, .map_sg =3D ibmebus_map_sg, -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/kgdb.c linux-2.6.32.48/ar= ch/powerpc/kernel/kgdb.c ---- linux-2.6.32.48/arch/powerpc/kernel/kgdb.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/kgdb.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/kgdb.c linux-2.6.32.46/ar= ch/powerpc/kernel/kgdb.c +--- linux-2.6.32.46/arch/powerpc/kernel/kgdb.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/kgdb.c 2011-04-17 15:56:45.00000= 0000 -0400 @@ -126,7 +126,7 @@ static int kgdb_handle_breakpoint(struct if (kgdb_handle_exception(0, SIGTRAP, 0, regs) !=3D 0) return 0; @@ -2608,9 +2608,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/kgdb= .c linux-2.6.32.48/arch/power .gdb_bpt_instr =3D {0x7d, 0x82, 0x10, 0x08}, }; =20 -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/module_32.c linux-2.6.32.= 48/arch/powerpc/kernel/module_32.c ---- linux-2.6.32.48/arch/powerpc/kernel/module_32.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/module_32.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/module_32.c linux-2.6.32.= 46/arch/powerpc/kernel/module_32.c +--- linux-2.6.32.46/arch/powerpc/kernel/module_32.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/module_32.c 2011-04-17 15:56:45.= 000000000 -0400 @@ -162,7 +162,7 @@ int module_frob_arch_sections(Elf32_Ehdr me->arch.core_plt_section =3D i; } @@ -2640,9 +2640,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/modu= le_32.c linux-2.6.32.48/arch/ =20 /* Find this entry, or if that fails, the next avail. entry */ while (entry->jump[0]) { -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/module.c linux-2.6.32.48/= arch/powerpc/kernel/module.c ---- linux-2.6.32.48/arch/powerpc/kernel/module.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/module.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/module.c linux-2.6.32.46/= arch/powerpc/kernel/module.c +--- linux-2.6.32.46/arch/powerpc/kernel/module.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/module.c 2011-04-17 15:56:45.000= 000000 -0400 @@ -31,11 +31,24 @@ =20 LIST_HEAD(module_bug_list); @@ -2682,9 +2682,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/modu= le.c linux-2.6.32.48/arch/pow static const Elf_Shdr *find_section(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, const char *name) -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/pci-common.c linux-2.6.32= .48/arch/powerpc/kernel/pci-common.c ---- linux-2.6.32.48/arch/powerpc/kernel/pci-common.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/pci-common.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/pci-common.c linux-2.6.32= .46/arch/powerpc/kernel/pci-common.c +--- linux-2.6.32.46/arch/powerpc/kernel/pci-common.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/pci-common.c 2011-04-17 15:56:45= .000000000 -0400 @@ -50,14 +50,14 @@ resource_size_t isa_mem_base; unsigned int ppc_pci_flags =3D 0; =20 @@ -2703,9 +2703,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/pci-= common.c linux-2.6.32.48/arch { return pci_dma_ops; } -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/process.c linux-2.6.32.48= /arch/powerpc/kernel/process.c ---- linux-2.6.32.48/arch/powerpc/kernel/process.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/process.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/process.c linux-2.6.32.46= /arch/powerpc/kernel/process.c +--- linux-2.6.32.46/arch/powerpc/kernel/process.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/process.c 2011-04-17 15:56:45.00= 0000000 -0400 @@ -539,8 +539,8 @@ void show_regs(struct pt_regs * regs) * Lookup NIP late so we have the best change of getting the * above info out without failing @@ -2798,9 +2798,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/proc= ess.c linux-2.6.32.48/arch/po - - return ret; -} -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/ptrace.c linux-2.6.32.48/= arch/powerpc/kernel/ptrace.c ---- linux-2.6.32.48/arch/powerpc/kernel/ptrace.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/ptrace.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/ptrace.c linux-2.6.32.46/= arch/powerpc/kernel/ptrace.c +--- linux-2.6.32.46/arch/powerpc/kernel/ptrace.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/ptrace.c 2011-08-21 15:53:39.000= 000000 -0400 @@ -86,7 +86,7 @@ static int set_user_trap(struct task_str /* * Get contents of register REGNO in task TASK. @@ -2819,9 +2819,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/ptra= ce.c linux-2.6.32.48/arch/pow } else { flush_fp_to_thread(child); tmp =3D ((unsigned long *)child->thread.fpr) -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/signal_32.c linux-2.6.32.= 48/arch/powerpc/kernel/signal_32.c ---- linux-2.6.32.48/arch/powerpc/kernel/signal_32.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/signal_32.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/signal_32.c linux-2.6.32.= 46/arch/powerpc/kernel/signal_32.c +--- linux-2.6.32.46/arch/powerpc/kernel/signal_32.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/signal_32.c 2011-04-17 15:56:45.= 000000000 -0400 @@ -857,7 +857,7 @@ int handle_rt_signal32(unsigned long sig /* Save user registers on the stack */ frame =3D &rt_sf->uc.uc_mcontext; @@ -2831,9 +2831,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/sign= al_32.c linux-2.6.32.48/arch/ if (save_user_regs(regs, frame, 0, 1)) goto badframe; regs->link =3D current->mm->context.vdso_base + vdso32_rt_sigtramp; -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/signal_64.c linux-2.6.32.= 48/arch/powerpc/kernel/signal_64.c ---- linux-2.6.32.48/arch/powerpc/kernel/signal_64.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/signal_64.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/signal_64.c linux-2.6.32.= 46/arch/powerpc/kernel/signal_64.c +--- linux-2.6.32.46/arch/powerpc/kernel/signal_64.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/signal_64.c 2011-04-17 15:56:45.= 000000000 -0400 @@ -429,7 +429,7 @@ int handle_rt_signal64(int signr, struct current->thread.fpscr.val =3D 0; =20 @@ -2843,9 +2843,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/sign= al_64.c linux-2.6.32.48/arch/ regs->link =3D current->mm->context.vdso_base + vdso64_rt_sigtramp; } else { err |=3D setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]); -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/sys_ppc32.c linux-2.6.32.= 48/arch/powerpc/kernel/sys_ppc32.c ---- linux-2.6.32.48/arch/powerpc/kernel/sys_ppc32.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/sys_ppc32.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/sys_ppc32.c linux-2.6.32.= 46/arch/powerpc/kernel/sys_ppc32.c +--- linux-2.6.32.46/arch/powerpc/kernel/sys_ppc32.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/sys_ppc32.c 2011-04-17 15:56:45.= 000000000 -0400 @@ -563,10 +563,10 @@ asmlinkage long compat_sys_sysctl(struct if (oldlenp) { if (!error) { @@ -2859,9 +2859,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/sys_= ppc32.c linux-2.6.32.48/arch/ } return error; } -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/traps.c linux-2.6.32.48/a= rch/powerpc/kernel/traps.c ---- linux-2.6.32.48/arch/powerpc/kernel/traps.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/traps.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/traps.c linux-2.6.32.46/a= rch/powerpc/kernel/traps.c +--- linux-2.6.32.46/arch/powerpc/kernel/traps.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/traps.c 2011-06-13 21:33:37.0000= 00000 -0400 @@ -99,6 +99,8 @@ static void pmac_backlight_unblank(void) static inline void pmac_backlight_unblank(void) { } #endif @@ -2880,9 +2880,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/trap= s.c linux-2.6.32.48/arch/powe oops_exit(); do_exit(err); =20 -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/vdso.c linux-2.6.32.48/ar= ch/powerpc/kernel/vdso.c ---- linux-2.6.32.48/arch/powerpc/kernel/vdso.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/vdso.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/vdso.c linux-2.6.32.46/ar= ch/powerpc/kernel/vdso.c +--- linux-2.6.32.46/arch/powerpc/kernel/vdso.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/vdso.c 2011-04-17 15:56:45.00000= 0000 -0400 @@ -36,6 +36,7 @@ #include #include @@ -2909,9 +2909,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/vdso= .c linux-2.6.32.48/arch/power if (IS_ERR_VALUE(vdso_base)) { rc =3D vdso_base; goto fail_mmapsem; -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/vio.c linux-2.6.32.48/arc= h/powerpc/kernel/vio.c ---- linux-2.6.32.48/arch/powerpc/kernel/vio.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/vio.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/kernel/vio.c linux-2.6.32.46/arc= h/powerpc/kernel/vio.c +--- linux-2.6.32.46/arch/powerpc/kernel/vio.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/powerpc/kernel/vio.c 2011-04-17 15:56:45.000000= 000 -0400 @@ -601,11 +601,12 @@ static void vio_dma_iommu_unmap_sg(struc vio_cmo_dealloc(viodev, alloc_size); } @@ -2934,9 +2934,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/vio.= c linux-2.6.32.48/arch/powerp viodev->dev.archdata.dma_ops =3D &vio_dma_mapping_ops; } =20 -diff -urNp linux-2.6.32.48/arch/powerpc/lib/usercopy_64.c linux-2.6.32.4= 8/arch/powerpc/lib/usercopy_64.c ---- linux-2.6.32.48/arch/powerpc/lib/usercopy_64.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/lib/usercopy_64.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/lib/usercopy_64.c linux-2.6.32.4= 6/arch/powerpc/lib/usercopy_64.c +--- linux-2.6.32.46/arch/powerpc/lib/usercopy_64.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/lib/usercopy_64.c 2011-04-17 15:56:45.0= 00000000 -0400 @@ -9,22 +9,6 @@ #include #include @@ -2968,9 +2968,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/lib/usercop= y_64.c linux-2.6.32.48/arch/p -EXPORT_SYMBOL(copy_to_user); EXPORT_SYMBOL(copy_in_user); =20 -diff -urNp linux-2.6.32.48/arch/powerpc/Makefile linux-2.6.32.48/arch/po= werpc/Makefile ---- linux-2.6.32.48/arch/powerpc/Makefile 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/arch/powerpc/Makefile 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/Makefile linux-2.6.32.46/arch/po= werpc/Makefile +--- linux-2.6.32.46/arch/powerpc/Makefile 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/powerpc/Makefile 2011-08-21 19:27:08.000000000 = -0400 @@ -74,6 +74,8 @@ KBUILD_AFLAGS +=3D -Iarch/$(ARCH) KBUILD_CFLAGS +=3D -msoft-float -pipe -Iarch/$(ARCH) $(CFLAGS-y) CPP =3D $(CC) -E $(KBUILD_CFLAGS) @@ -2980,9 +2980,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/Makefile li= nux-2.6.32.48/arch/powerpc/Ma CHECKFLAGS +=3D -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG= _WORD_SIZE)__ =20 ifeq ($(CONFIG_PPC64),y) -diff -urNp linux-2.6.32.48/arch/powerpc/mm/fault.c linux-2.6.32.48/arch/= powerpc/mm/fault.c ---- linux-2.6.32.48/arch/powerpc/mm/fault.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/powerpc/mm/fault.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/mm/fault.c linux-2.6.32.46/arch/= powerpc/mm/fault.c +--- linux-2.6.32.46/arch/powerpc/mm/fault.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/powerpc/mm/fault.c 2011-04-17 15:56:45.00000000= 0 -0400 @@ -30,6 +30,10 @@ #include #include @@ -3087,9 +3087,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/fault.c = linux-2.6.32.48/arch/powerpc/ _exception(SIGSEGV, regs, code, address); return 0; } -diff -urNp linux-2.6.32.48/arch/powerpc/mm/mem.c linux-2.6.32.48/arch/po= werpc/mm/mem.c ---- linux-2.6.32.48/arch/powerpc/mm/mem.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/powerpc/mm/mem.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/mm/mem.c linux-2.6.32.46/arch/po= werpc/mm/mem.c +--- linux-2.6.32.46/arch/powerpc/mm/mem.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/powerpc/mm/mem.c 2011-08-21 15:50:39.000000000 = -0400 @@ -250,7 +250,7 @@ static int __init mark_nonram_nosave(voi { unsigned long lmb_next_region_start_pfn, @@ -3099,9 +3099,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/mem.c li= nux-2.6.32.48/arch/powerpc/mm =20 for (i =3D 0; i < lmb.memory.cnt - 1; i++) { lmb_region_max_pfn =3D -diff -urNp linux-2.6.32.48/arch/powerpc/mm/mmap_64.c linux-2.6.32.48/arc= h/powerpc/mm/mmap_64.c ---- linux-2.6.32.48/arch/powerpc/mm/mmap_64.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/powerpc/mm/mmap_64.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/mm/mmap_64.c linux-2.6.32.46/arc= h/powerpc/mm/mmap_64.c +--- linux-2.6.32.46/arch/powerpc/mm/mmap_64.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/powerpc/mm/mmap_64.c 2011-04-17 15:56:45.000000= 000 -0400 @@ -99,10 +99,22 @@ void arch_pick_mmap_layout(struct mm_str */ if (mmap_is_legacy()) { @@ -3125,9 +3125,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/mmap_64.= c linux-2.6.32.48/arch/powerp mm->get_unmapped_area =3D arch_get_unmapped_area_topdown; mm->unmap_area =3D arch_unmap_area_topdown; } -diff -urNp linux-2.6.32.48/arch/powerpc/mm/slice.c linux-2.6.32.48/arch/= powerpc/mm/slice.c ---- linux-2.6.32.48/arch/powerpc/mm/slice.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/powerpc/mm/slice.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/mm/slice.c linux-2.6.32.46/arch/= powerpc/mm/slice.c +--- linux-2.6.32.46/arch/powerpc/mm/slice.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/powerpc/mm/slice.c 2011-04-17 15:56:45.00000000= 0 -0400 @@ -98,7 +98,7 @@ static int slice_area_is_free(struct mm_ if ((mm->task_size - len) < addr) return 0; @@ -3194,9 +3194,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/slice.c = linux-2.6.32.48/arch/powerpc/ /* If hint, make sure it matches our alignment restrictions */ if (!fixed && addr) { addr =3D _ALIGN_UP(addr, 1ul << pshift); -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/52xx/lite5200_pm.c lin= ux-2.6.32.48/arch/powerpc/platforms/52xx/lite5200_pm.c ---- linux-2.6.32.48/arch/powerpc/platforms/52xx/lite5200_pm.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/52xx/lite5200_pm.c 2011-11-12= 12:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/platforms/52xx/lite5200_pm.c lin= ux-2.6.32.46/arch/powerpc/platforms/52xx/lite5200_pm.c +--- linux-2.6.32.46/arch/powerpc/platforms/52xx/lite5200_pm.c 2011-03-27= 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/platforms/52xx/lite5200_pm.c 2011-04-17= 15:56:45.000000000 -0400 @@ -235,7 +235,7 @@ static void lite5200_pm_end(void) lite5200_pm_target_state =3D PM_SUSPEND_ON; } @@ -3206,9 +3206,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/platforms/5= 2xx/lite5200_pm.c linux-2.6.3 .valid =3D lite5200_pm_valid, .begin =3D lite5200_pm_begin, .prepare =3D lite5200_pm_prepare, -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/52xx/mpc52xx_pm.c linu= x-2.6.32.48/arch/powerpc/platforms/52xx/mpc52xx_pm.c ---- linux-2.6.32.48/arch/powerpc/platforms/52xx/mpc52xx_pm.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/52xx/mpc52xx_pm.c 2011-11-12 = 12:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/platforms/52xx/mpc52xx_pm.c linu= x-2.6.32.46/arch/powerpc/platforms/52xx/mpc52xx_pm.c +--- linux-2.6.32.46/arch/powerpc/platforms/52xx/mpc52xx_pm.c 2011-03-27 = 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/platforms/52xx/mpc52xx_pm.c 2011-04-17 = 15:56:45.000000000 -0400 @@ -180,7 +180,7 @@ void mpc52xx_pm_finish(void) iounmap(mbar); } @@ -3218,9 +3218,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/platforms/5= 2xx/mpc52xx_pm.c linux-2.6.32 .valid =3D mpc52xx_pm_valid, .prepare =3D mpc52xx_pm_prepare, .enter =3D mpc52xx_pm_enter, -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/83xx/suspend.c linux-2= .6.32.48/arch/powerpc/platforms/83xx/suspend.c ---- linux-2.6.32.48/arch/powerpc/platforms/83xx/suspend.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/83xx/suspend.c 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/platforms/83xx/suspend.c linux-2= .6.32.46/arch/powerpc/platforms/83xx/suspend.c +--- linux-2.6.32.46/arch/powerpc/platforms/83xx/suspend.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/platforms/83xx/suspend.c 2011-04-17 15:= 56:45.000000000 -0400 @@ -273,7 +273,7 @@ static int mpc83xx_is_pci_agent(void) return ret; } @@ -3230,9 +3230,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/platforms/8= 3xx/suspend.c linux-2.6.32.48 .valid =3D mpc83xx_suspend_valid, .begin =3D mpc83xx_suspend_begin, .enter =3D mpc83xx_suspend_enter, -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/cell/iommu.c linux-2.6= .32.48/arch/powerpc/platforms/cell/iommu.c ---- linux-2.6.32.48/arch/powerpc/platforms/cell/iommu.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/cell/iommu.c 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/platforms/cell/iommu.c linux-2.6= .32.46/arch/powerpc/platforms/cell/iommu.c +--- linux-2.6.32.46/arch/powerpc/platforms/cell/iommu.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/platforms/cell/iommu.c 2011-04-17 15:56= :45.000000000 -0400 @@ -642,7 +642,7 @@ static int dma_fixed_dma_supported(struc =20 static int dma_set_mask_and_switch(struct device *dev, u64 dma_mask); @@ -3242,9 +3242,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/platforms/c= ell/iommu.c linux-2.6.32.48/a .alloc_coherent =3D dma_fixed_alloc_coherent, .free_coherent =3D dma_fixed_free_coherent, .map_sg =3D dma_fixed_map_sg, -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/ps3/system-bus.c linux= -2.6.32.48/arch/powerpc/platforms/ps3/system-bus.c ---- linux-2.6.32.48/arch/powerpc/platforms/ps3/system-bus.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/ps3/system-bus.c 2011-11-12 1= 2:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/platforms/ps3/system-bus.c linux= -2.6.32.46/arch/powerpc/platforms/ps3/system-bus.c +--- linux-2.6.32.46/arch/powerpc/platforms/ps3/system-bus.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/platforms/ps3/system-bus.c 2011-04-17 1= 5:56:45.000000000 -0400 @@ -694,7 +694,7 @@ static int ps3_dma_supported(struct devi return mask >=3D DMA_BIT_MASK(32); } @@ -3263,9 +3263,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/platforms/p= s3/system-bus.c linux-2.6.32. .alloc_coherent =3D ps3_alloc_coherent, .free_coherent =3D ps3_free_coherent, .map_sg =3D ps3_ioc0_map_sg, -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/pseries/Kconfig linux-= 2.6.32.48/arch/powerpc/platforms/pseries/Kconfig ---- linux-2.6.32.48/arch/powerpc/platforms/pseries/Kconfig 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/pseries/Kconfig 2011-11-12 12= :46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/powerpc/platforms/pseries/Kconfig linux-= 2.6.32.46/arch/powerpc/platforms/pseries/Kconfig +--- linux-2.6.32.46/arch/powerpc/platforms/pseries/Kconfig 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/powerpc/platforms/pseries/Kconfig 2011-04-17 15= :56:45.000000000 -0400 @@ -2,6 +2,8 @@ config PPC_PSERIES depends on PPC64 && PPC_BOOK3S bool "IBM pSeries & new (POWER5-based) iSeries" @@ -3275,9 +3275,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/platforms/p= series/Kconfig linux-2.6.32.4 select PPC_I8259 select PPC_RTAS select RTAS_ERROR_LOGGING -diff -urNp linux-2.6.32.48/arch/s390/include/asm/elf.h linux-2.6.32.48/a= rch/s390/include/asm/elf.h ---- linux-2.6.32.48/arch/s390/include/asm/elf.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/s390/include/asm/elf.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/s390/include/asm/elf.h linux-2.6.32.46/a= rch/s390/include/asm/elf.h +--- linux-2.6.32.46/arch/s390/include/asm/elf.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/s390/include/asm/elf.h 2011-04-17 15:56:45.0000= 00000 -0400 @@ -164,6 +164,13 @@ extern unsigned int vdso_enabled; that it will "exec", and that there is sufficient room for the brk. = */ #define ELF_ET_DYN_BASE (STACK_TOP / 3 * 2) @@ -3292,9 +3292,9 @@ diff -urNp linux-2.6.32.48/arch/s390/include/asm/el= f.h linux-2.6.32.48/arch/s390 /* This yields a mask that user programs can use to figure out what instruction set this CPU supports. */ =20 -diff -urNp linux-2.6.32.48/arch/s390/include/asm/setup.h linux-2.6.32.48= /arch/s390/include/asm/setup.h ---- linux-2.6.32.48/arch/s390/include/asm/setup.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/s390/include/asm/setup.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/s390/include/asm/setup.h linux-2.6.32.46= /arch/s390/include/asm/setup.h +--- linux-2.6.32.46/arch/s390/include/asm/setup.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/s390/include/asm/setup.h 2011-04-17 15:56:45.00= 0000000 -0400 @@ -50,13 +50,13 @@ extern unsigned long memory_end; void detect_memory_layout(struct mem_chunk chunk[]); =20 @@ -3311,9 +3311,9 @@ diff -urNp linux-2.6.32.48/arch/s390/include/asm/se= tup.h linux-2.6.32.48/arch/s3 #else #define s390_noexec (0) #endif -diff -urNp linux-2.6.32.48/arch/s390/include/asm/uaccess.h linux-2.6.32.= 48/arch/s390/include/asm/uaccess.h ---- linux-2.6.32.48/arch/s390/include/asm/uaccess.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/s390/include/asm/uaccess.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/s390/include/asm/uaccess.h linux-2.6.32.= 46/arch/s390/include/asm/uaccess.h +--- linux-2.6.32.46/arch/s390/include/asm/uaccess.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/s390/include/asm/uaccess.h 2011-04-17 15:56:45.= 000000000 -0400 @@ -232,6 +232,10 @@ static inline unsigned long __must_check copy_to_user(void __user *to, const void *from, unsigned long n) { @@ -3346,9 +3346,9 @@ diff -urNp linux-2.6.32.48/arch/s390/include/asm/ua= ccess.h linux-2.6.32.48/arch/ if (access_ok(VERIFY_READ, from, n)) n =3D __copy_from_user(to, from, n); else -diff -urNp linux-2.6.32.48/arch/s390/Kconfig linux-2.6.32.48/arch/s390/K= config ---- linux-2.6.32.48/arch/s390/Kconfig 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/arch/s390/Kconfig 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-2.6.32.46/arch/s390/Kconfig linux-2.6.32.46/arch/s390/K= config +--- linux-2.6.32.46/arch/s390/Kconfig 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/arch/s390/Kconfig 2011-04-17 15:56:45.000000000 -040= 0 @@ -194,28 +194,26 @@ config AUDIT_ARCH =20 config S390_SWITCH_AMODE @@ -3386,9 +3386,9 @@ diff -urNp linux-2.6.32.48/arch/s390/Kconfig linux-= 2.6.32.48/arch/s390/Kconfig =20 comment "Code generation options" =20 -diff -urNp linux-2.6.32.48/arch/s390/kernel/module.c linux-2.6.32.48/arc= h/s390/kernel/module.c ---- linux-2.6.32.48/arch/s390/kernel/module.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/s390/kernel/module.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/s390/kernel/module.c linux-2.6.32.46/arc= h/s390/kernel/module.c +--- linux-2.6.32.46/arch/s390/kernel/module.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/s390/kernel/module.c 2011-04-17 15:56:45.000000= 000 -0400 @@ -166,11 +166,11 @@ module_frob_arch_sections(Elf_Ehdr *hdr, =20 /* Increase core size by size of got & plt and set start @@ -3460,9 +3460,9 @@ diff -urNp linux-2.6.32.48/arch/s390/kernel/module.= c linux-2.6.32.48/arch/s390/k rela->r_addend - loc; if (r_type =3D=3D R_390_GOTPC) *(unsigned int *) loc =3D val; -diff -urNp linux-2.6.32.48/arch/s390/kernel/setup.c linux-2.6.32.48/arch= /s390/kernel/setup.c ---- linux-2.6.32.48/arch/s390/kernel/setup.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/s390/kernel/setup.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/s390/kernel/setup.c linux-2.6.32.46/arch= /s390/kernel/setup.c +--- linux-2.6.32.46/arch/s390/kernel/setup.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/s390/kernel/setup.c 2011-04-17 15:56:45.0000000= 00 -0400 @@ -306,9 +306,6 @@ static int __init early_parse_mem(char * early_param("mem", early_parse_mem); =20 @@ -3516,9 +3516,9 @@ diff -urNp linux-2.6.32.48/arch/s390/kernel/setup.c= linux-2.6.32.48/arch/s390/ke static void setup_addressing_mode(void) { if (s390_noexec) { -diff -urNp linux-2.6.32.48/arch/s390/mm/mmap.c linux-2.6.32.48/arch/s390= /mm/mmap.c ---- linux-2.6.32.48/arch/s390/mm/mmap.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/arch/s390/mm/mmap.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/arch/s390/mm/mmap.c linux-2.6.32.46/arch/s390= /mm/mmap.c +--- linux-2.6.32.46/arch/s390/mm/mmap.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/arch/s390/mm/mmap.c 2011-04-17 15:56:45.000000000 -0= 400 @@ -78,10 +78,22 @@ void arch_pick_mmap_layout(struct mm_str */ if (mmap_is_legacy()) { @@ -3565,9 +3565,9 @@ diff -urNp linux-2.6.32.48/arch/s390/mm/mmap.c linu= x-2.6.32.48/arch/s390/mm/mmap mm->get_unmapped_area =3D s390_get_unmapped_area_topdown; mm->unmap_area =3D arch_unmap_area_topdown; } -diff -urNp linux-2.6.32.48/arch/score/include/asm/system.h linux-2.6.32.= 48/arch/score/include/asm/system.h ---- linux-2.6.32.48/arch/score/include/asm/system.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/score/include/asm/system.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/score/include/asm/system.h linux-2.6.32.= 46/arch/score/include/asm/system.h +--- linux-2.6.32.46/arch/score/include/asm/system.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/score/include/asm/system.h 2011-04-17 15:56:45.= 000000000 -0400 @@ -17,7 +17,7 @@ do { \ #define finish_arch_switch(prev) do {} while (0) =20 @@ -3577,9 +3577,9 @@ diff -urNp linux-2.6.32.48/arch/score/include/asm/s= ystem.h linux-2.6.32.48/arch/ =20 #define mb() barrier() #define rmb() barrier() -diff -urNp linux-2.6.32.48/arch/score/kernel/process.c linux-2.6.32.48/a= rch/score/kernel/process.c ---- linux-2.6.32.48/arch/score/kernel/process.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/score/kernel/process.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/score/kernel/process.c linux-2.6.32.46/a= rch/score/kernel/process.c +--- linux-2.6.32.46/arch/score/kernel/process.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/score/kernel/process.c 2011-04-17 15:56:45.0000= 00000 -0400 @@ -161,8 +161,3 @@ unsigned long get_wchan(struct task_stru =20 return task_pt_regs(task)->cp0_epc; @@ -3589,9 +3589,9 @@ diff -urNp linux-2.6.32.48/arch/score/kernel/proces= s.c linux-2.6.32.48/arch/scor -{ - return sp; -} -diff -urNp linux-2.6.32.48/arch/sh/boards/mach-hp6xx/pm.c linux-2.6.32.4= 8/arch/sh/boards/mach-hp6xx/pm.c ---- linux-2.6.32.48/arch/sh/boards/mach-hp6xx/pm.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/sh/boards/mach-hp6xx/pm.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/sh/boards/mach-hp6xx/pm.c linux-2.6.32.4= 6/arch/sh/boards/mach-hp6xx/pm.c +--- linux-2.6.32.46/arch/sh/boards/mach-hp6xx/pm.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/sh/boards/mach-hp6xx/pm.c 2011-04-17 15:56:45.0= 00000000 -0400 @@ -143,7 +143,7 @@ static int hp6x0_pm_enter(suspend_state_ return 0; } @@ -3601,9 +3601,9 @@ diff -urNp linux-2.6.32.48/arch/sh/boards/mach-hp6x= x/pm.c linux-2.6.32.48/arch/s .enter =3D hp6x0_pm_enter, .valid =3D suspend_valid_only_mem, }; -diff -urNp linux-2.6.32.48/arch/sh/kernel/cpu/sh4/sq.c linux-2.6.32.48/a= rch/sh/kernel/cpu/sh4/sq.c ---- linux-2.6.32.48/arch/sh/kernel/cpu/sh4/sq.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/sh/kernel/cpu/sh4/sq.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/sh/kernel/cpu/sh4/sq.c linux-2.6.32.46/a= rch/sh/kernel/cpu/sh4/sq.c +--- linux-2.6.32.46/arch/sh/kernel/cpu/sh4/sq.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/sh/kernel/cpu/sh4/sq.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -327,7 +327,7 @@ static struct attribute *sq_sysfs_attrs[ NULL, }; @@ -3613,9 +3613,9 @@ diff -urNp linux-2.6.32.48/arch/sh/kernel/cpu/sh4/s= q.c linux-2.6.32.48/arch/sh/k .show =3D sq_sysfs_show, .store =3D sq_sysfs_store, }; -diff -urNp linux-2.6.32.48/arch/sh/kernel/cpu/shmobile/pm.c linux-2.6.32= .48/arch/sh/kernel/cpu/shmobile/pm.c ---- linux-2.6.32.48/arch/sh/kernel/cpu/shmobile/pm.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/sh/kernel/cpu/shmobile/pm.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sh/kernel/cpu/shmobile/pm.c linux-2.6.32= .46/arch/sh/kernel/cpu/shmobile/pm.c +--- linux-2.6.32.46/arch/sh/kernel/cpu/shmobile/pm.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/sh/kernel/cpu/shmobile/pm.c 2011-04-17 15:56:46= .000000000 -0400 @@ -58,7 +58,7 @@ static int sh_pm_enter(suspend_state_t s return 0; } @@ -3625,9 +3625,9 @@ diff -urNp linux-2.6.32.48/arch/sh/kernel/cpu/shmob= ile/pm.c linux-2.6.32.48/arch .enter =3D sh_pm_enter, .valid =3D suspend_valid_only_mem, }; -diff -urNp linux-2.6.32.48/arch/sh/kernel/kgdb.c linux-2.6.32.48/arch/sh= /kernel/kgdb.c ---- linux-2.6.32.48/arch/sh/kernel/kgdb.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/sh/kernel/kgdb.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/sh/kernel/kgdb.c linux-2.6.32.46/arch/sh= /kernel/kgdb.c +--- linux-2.6.32.46/arch/sh/kernel/kgdb.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/sh/kernel/kgdb.c 2011-04-17 15:56:46.000000000 = -0400 @@ -271,7 +271,7 @@ void kgdb_arch_exit(void) { } @@ -3637,9 +3637,9 @@ diff -urNp linux-2.6.32.48/arch/sh/kernel/kgdb.c li= nux-2.6.32.48/arch/sh/kernel/ /* Breakpoint instruction: trapa #0x3c */ #ifdef CONFIG_CPU_LITTLE_ENDIAN .gdb_bpt_instr =3D { 0x3c, 0xc3 }, -diff -urNp linux-2.6.32.48/arch/sh/mm/mmap.c linux-2.6.32.48/arch/sh/mm/= mmap.c ---- linux-2.6.32.48/arch/sh/mm/mmap.c 2011-11-12 12:44:28.000000000 -050= 0 -+++ linux-2.6.32.48/arch/sh/mm/mmap.c 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-2.6.32.46/arch/sh/mm/mmap.c linux-2.6.32.46/arch/sh/mm/= mmap.c +--- linux-2.6.32.46/arch/sh/mm/mmap.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/arch/sh/mm/mmap.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -74,8 +74,7 @@ unsigned long arch_get_unmapped_area(str addr =3D PAGE_ALIGN(addr); =20 @@ -3714,9 +3714,9 @@ diff -urNp linux-2.6.32.48/arch/sh/mm/mmap.c linux-= 2.6.32.48/arch/sh/mm/mmap.c =20 bottomup: /* -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/atomic_64.h linux-2.6.= 32.48/arch/sparc/include/asm/atomic_64.h ---- linux-2.6.32.48/arch/sparc/include/asm/atomic_64.h 2011-11-12 12:44:= 28.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/atomic_64.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/atomic_64.h linux-2.6.= 32.46/arch/sparc/include/asm/atomic_64.h +--- linux-2.6.32.46/arch/sparc/include/asm/atomic_64.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/atomic_64.h 2011-08-18 23:11:= 34.000000000 -0400 @@ -14,18 +14,40 @@ #define ATOMIC64_INIT(i) { (i) } =20 @@ -3909,9 +3909,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/a= tomic_64.h linux-2.6.32.48/ar } =20 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/cache.h linux-2.6.32.4= 8/arch/sparc/include/asm/cache.h ---- linux-2.6.32.48/arch/sparc/include/asm/cache.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/cache.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/cache.h linux-2.6.32.4= 6/arch/sparc/include/asm/cache.h +--- linux-2.6.32.46/arch/sparc/include/asm/cache.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/cache.h 2011-07-06 19:53:33.0= 00000000 -0400 @@ -8,7 +8,7 @@ #define _SPARC_CACHE_H =20 @@ -3921,9 +3921,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/c= ache.h linux-2.6.32.48/arch/s #define L1_CACHE_ALIGN(x) ((((x)+(L1_CACHE_BYTES-1))&~(L1_CACHE_BYTES-1= ))) =20 #ifdef CONFIG_SPARC32 -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/dma-mapping.h linux-2.= 6.32.48/arch/sparc/include/asm/dma-mapping.h ---- linux-2.6.32.48/arch/sparc/include/asm/dma-mapping.h 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/dma-mapping.h 2011-11-12 12:4= 6:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/dma-mapping.h linux-2.= 6.32.46/arch/sparc/include/asm/dma-mapping.h +--- linux-2.6.32.46/arch/sparc/include/asm/dma-mapping.h 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/dma-mapping.h 2011-04-17 15:5= 6:46.000000000 -0400 @@ -14,10 +14,10 @@ extern int dma_set_mask(struct device *d #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) #define dma_is_consistent(d, h) (1) @@ -3955,9 +3955,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/d= ma-mapping.h linux-2.6.32.48/ =20 debug_dma_free_coherent(dev, size, cpu_addr, dma_handle); ops->free_coherent(dev, size, cpu_addr, dma_handle); -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/elf_32.h linux-2.6.32.= 48/arch/sparc/include/asm/elf_32.h ---- linux-2.6.32.48/arch/sparc/include/asm/elf_32.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/elf_32.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/elf_32.h linux-2.6.32.= 46/arch/sparc/include/asm/elf_32.h +--- linux-2.6.32.46/arch/sparc/include/asm/elf_32.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/elf_32.h 2011-04-17 15:56:46.= 000000000 -0400 @@ -116,6 +116,13 @@ typedef struct { =20 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE) @@ -3972,9 +3972,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/e= lf_32.h linux-2.6.32.48/arch/ /* This yields a mask that user programs can use to figure out what instruction set this cpu supports. This can NOT be done in userspac= e on Sparc. */ -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/elf_64.h linux-2.6.32.= 48/arch/sparc/include/asm/elf_64.h ---- linux-2.6.32.48/arch/sparc/include/asm/elf_64.h 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/elf_64.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/elf_64.h linux-2.6.32.= 46/arch/sparc/include/asm/elf_64.h +--- linux-2.6.32.46/arch/sparc/include/asm/elf_64.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/elf_64.h 2011-04-17 15:56:46.= 000000000 -0400 @@ -163,6 +163,12 @@ typedef struct { #define ELF_ET_DYN_BASE 0x0000010000000000UL #define COMPAT_ELF_ET_DYN_BASE 0x0000000070000000UL @@ -3988,9 +3988,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/e= lf_64.h linux-2.6.32.48/arch/ =20 /* This yields a mask that user programs can use to figure out what instruction set this cpu supports. */ -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/pgtable_32.h linux-2.6= .32.48/arch/sparc/include/asm/pgtable_32.h ---- linux-2.6.32.48/arch/sparc/include/asm/pgtable_32.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/pgtable_32.h 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/pgtable_32.h linux-2.6= .32.46/arch/sparc/include/asm/pgtable_32.h +--- linux-2.6.32.46/arch/sparc/include/asm/pgtable_32.h 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/pgtable_32.h 2011-04-17 15:56= :46.000000000 -0400 @@ -43,6 +43,13 @@ BTFIXUPDEF_SIMM13(user_ptrs_per_pgd) BTFIXUPDEF_INT(page_none) BTFIXUPDEF_INT(page_copy) @@ -4022,9 +4022,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/p= gtable_32.h linux-2.6.32.48/a extern unsigned long page_kernel; =20 #ifdef MODULE -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/pgtsrmmu.h linux-2.6.3= 2.48/arch/sparc/include/asm/pgtsrmmu.h ---- linux-2.6.32.48/arch/sparc/include/asm/pgtsrmmu.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/pgtsrmmu.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/pgtsrmmu.h linux-2.6.3= 2.46/arch/sparc/include/asm/pgtsrmmu.h +--- linux-2.6.32.46/arch/sparc/include/asm/pgtsrmmu.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/pgtsrmmu.h 2011-04-17 15:56:4= 6.000000000 -0400 @@ -115,6 +115,13 @@ SRMMU_EXEC | SRMMU_REF) #define SRMMU_PAGE_RDONLY __pgprot(SRMMU_VALID | SRMMU_CACHE | \ @@ -4039,9 +4039,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/p= gtsrmmu.h linux-2.6.32.48/arc #define SRMMU_PAGE_KERNEL __pgprot(SRMMU_VALID | SRMMU_CACHE | SRMMU_P= RIV | \ SRMMU_DIRTY | SRMMU_REF) =20 -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/spinlock_64.h linux-2.= 6.32.48/arch/sparc/include/asm/spinlock_64.h ---- linux-2.6.32.48/arch/sparc/include/asm/spinlock_64.h 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/spinlock_64.h 2011-11-12 12:4= 6:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/spinlock_64.h linux-2.= 6.32.46/arch/sparc/include/asm/spinlock_64.h +--- linux-2.6.32.46/arch/sparc/include/asm/spinlock_64.h 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/spinlock_64.h 2011-08-18 23:1= 9:30.000000000 -0400 @@ -92,14 +92,19 @@ static inline void __raw_spin_lock_flags =20 /* Multi-reader locks, these are much saner than the 32-bit Sparc ones.= .. */ @@ -4139,9 +4139,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/s= pinlock_64.h linux-2.6.32.48/ { unsigned long mask, tmp1, tmp2, result; =20 -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/thread_info_32.h linux= -2.6.32.48/arch/sparc/include/asm/thread_info_32.h ---- linux-2.6.32.48/arch/sparc/include/asm/thread_info_32.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/thread_info_32.h 2011-11-12 1= 2:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/thread_info_32.h linux= -2.6.32.46/arch/sparc/include/asm/thread_info_32.h +--- linux-2.6.32.46/arch/sparc/include/asm/thread_info_32.h 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/thread_info_32.h 2011-06-04 2= 0:46:01.000000000 -0400 @@ -50,6 +50,8 @@ struct thread_info { unsigned long w_saved; =20 @@ -4151,9 +4151,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/t= hread_info_32.h linux-2.6.32. }; =20 /* -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/thread_info_64.h linux= -2.6.32.48/arch/sparc/include/asm/thread_info_64.h ---- linux-2.6.32.48/arch/sparc/include/asm/thread_info_64.h 2011-11-12 1= 2:44:28.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/thread_info_64.h 2011-11-12 1= 2:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/thread_info_64.h linux= -2.6.32.46/arch/sparc/include/asm/thread_info_64.h +--- linux-2.6.32.46/arch/sparc/include/asm/thread_info_64.h 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/thread_info_64.h 2011-06-04 2= 0:46:21.000000000 -0400 @@ -68,6 +68,8 @@ struct thread_info { struct pt_regs *kern_una_regs; unsigned int kern_una_insn; @@ -4163,9 +4163,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/t= hread_info_64.h linux-2.6.32. unsigned long fpregs[0] __attribute__ ((aligned(64))); }; =20 -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/uaccess_32.h linux-2.6= .32.48/arch/sparc/include/asm/uaccess_32.h ---- linux-2.6.32.48/arch/sparc/include/asm/uaccess_32.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/uaccess_32.h 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/uaccess_32.h linux-2.6= .32.46/arch/sparc/include/asm/uaccess_32.h +--- linux-2.6.32.46/arch/sparc/include/asm/uaccess_32.h 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/uaccess_32.h 2011-04-17 15:56= :46.000000000 -0400 @@ -249,27 +249,46 @@ extern unsigned long __copy_user(void __ =20 static inline unsigned long copy_to_user(void __user *to, const void *f= rom, unsigned long n) @@ -4217,9 +4217,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/u= access_32.h linux-2.6.32.48/a return __copy_user((__force void __user *) to, from, n); } =20 -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/uaccess_64.h linux-2.6= .32.48/arch/sparc/include/asm/uaccess_64.h ---- linux-2.6.32.48/arch/sparc/include/asm/uaccess_64.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/uaccess_64.h 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/uaccess_64.h linux-2.6= .32.46/arch/sparc/include/asm/uaccess_64.h +--- linux-2.6.32.46/arch/sparc/include/asm/uaccess_64.h 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/uaccess_64.h 2011-04-17 15:56= :46.000000000 -0400 @@ -9,6 +9,7 @@ #include #include @@ -4262,9 +4262,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/u= access_64.h linux-2.6.32.48/a if (unlikely(ret)) ret =3D copy_to_user_fixup(to, from, size); return ret; -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/uaccess.h linux-2.6.32= .48/arch/sparc/include/asm/uaccess.h ---- linux-2.6.32.48/arch/sparc/include/asm/uaccess.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/uaccess.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/include/asm/uaccess.h linux-2.6.32= .46/arch/sparc/include/asm/uaccess.h +--- linux-2.6.32.46/arch/sparc/include/asm/uaccess.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/include/asm/uaccess.h 2011-04-17 15:56:46= .000000000 -0400 @@ -1,5 +1,13 @@ #ifndef ___ASM_SPARC_UACCESS_H #define ___ASM_SPARC_UACCESS_H @@ -4279,9 +4279,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/u= access.h linux-2.6.32.48/arch #if defined(__sparc__) && defined(__arch64__) #include #else -diff -urNp linux-2.6.32.48/arch/sparc/kernel/iommu.c linux-2.6.32.48/arc= h/sparc/kernel/iommu.c ---- linux-2.6.32.48/arch/sparc/kernel/iommu.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/iommu.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/iommu.c linux-2.6.32.46/arc= h/sparc/kernel/iommu.c +--- linux-2.6.32.46/arch/sparc/kernel/iommu.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/iommu.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -826,7 +826,7 @@ static void dma_4u_sync_sg_for_cpu(struc spin_unlock_irqrestore(&iommu->lock, flags); } @@ -4300,9 +4300,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/iommu.= c linux-2.6.32.48/arch/sparc/ EXPORT_SYMBOL(dma_ops); =20 extern int pci64_dma_supported(struct pci_dev *pdev, u64 device_mask); -diff -urNp linux-2.6.32.48/arch/sparc/kernel/ioport.c linux-2.6.32.48/ar= ch/sparc/kernel/ioport.c ---- linux-2.6.32.48/arch/sparc/kernel/ioport.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/ioport.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/ioport.c linux-2.6.32.46/ar= ch/sparc/kernel/ioport.c +--- linux-2.6.32.46/arch/sparc/kernel/ioport.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/ioport.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -392,7 +392,7 @@ static void sbus_sync_sg_for_device(stru BUG(); } @@ -4330,9 +4330,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/ioport= .c linux-2.6.32.48/arch/sparc .alloc_coherent =3D pci32_alloc_coherent, .free_coherent =3D pci32_free_coherent, .map_page =3D pci32_map_page, -diff -urNp linux-2.6.32.48/arch/sparc/kernel/kgdb_32.c linux-2.6.32.48/a= rch/sparc/kernel/kgdb_32.c ---- linux-2.6.32.48/arch/sparc/kernel/kgdb_32.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/kgdb_32.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/kgdb_32.c linux-2.6.32.46/a= rch/sparc/kernel/kgdb_32.c +--- linux-2.6.32.46/arch/sparc/kernel/kgdb_32.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/kgdb_32.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -158,7 +158,7 @@ void kgdb_arch_exit(void) { } @@ -4342,9 +4342,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/kgdb_3= 2.c linux-2.6.32.48/arch/spar /* Breakpoint instruction: ta 0x7d */ .gdb_bpt_instr =3D { 0x91, 0xd0, 0x20, 0x7d }, }; -diff -urNp linux-2.6.32.48/arch/sparc/kernel/kgdb_64.c linux-2.6.32.48/a= rch/sparc/kernel/kgdb_64.c ---- linux-2.6.32.48/arch/sparc/kernel/kgdb_64.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/kgdb_64.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/kgdb_64.c linux-2.6.32.46/a= rch/sparc/kernel/kgdb_64.c +--- linux-2.6.32.46/arch/sparc/kernel/kgdb_64.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/kgdb_64.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -180,7 +180,7 @@ void kgdb_arch_exit(void) { } @@ -4354,9 +4354,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/kgdb_6= 4.c linux-2.6.32.48/arch/spar /* Breakpoint instruction: ta 0x72 */ .gdb_bpt_instr =3D { 0x91, 0xd0, 0x20, 0x72 }, }; -diff -urNp linux-2.6.32.48/arch/sparc/kernel/Makefile linux-2.6.32.48/ar= ch/sparc/kernel/Makefile ---- linux-2.6.32.48/arch/sparc/kernel/Makefile 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/Makefile 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/Makefile linux-2.6.32.46/ar= ch/sparc/kernel/Makefile +--- linux-2.6.32.46/arch/sparc/kernel/Makefile 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/Makefile 2011-04-17 15:56:46.00000= 0000 -0400 @@ -3,7 +3,7 @@ # =20 @@ -4366,9 +4366,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/Makefi= le linux-2.6.32.48/arch/sparc =20 extra-y :=3D head_$(BITS).o extra-y +=3D init_task.o -diff -urNp linux-2.6.32.48/arch/sparc/kernel/pci_sun4v.c linux-2.6.32.48= /arch/sparc/kernel/pci_sun4v.c ---- linux-2.6.32.48/arch/sparc/kernel/pci_sun4v.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/pci_sun4v.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/pci_sun4v.c linux-2.6.32.46= /arch/sparc/kernel/pci_sun4v.c +--- linux-2.6.32.46/arch/sparc/kernel/pci_sun4v.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/pci_sun4v.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -525,7 +525,7 @@ static void dma_4v_unmap_sg(struct devic spin_unlock_irqrestore(&iommu->lock, flags); } @@ -4378,9 +4378,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/pci_su= n4v.c linux-2.6.32.48/arch/sp .alloc_coherent =3D dma_4v_alloc_coherent, .free_coherent =3D dma_4v_free_coherent, .map_page =3D dma_4v_map_page, -diff -urNp linux-2.6.32.48/arch/sparc/kernel/process_32.c linux-2.6.32.4= 8/arch/sparc/kernel/process_32.c ---- linux-2.6.32.48/arch/sparc/kernel/process_32.c 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/process_32.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/process_32.c linux-2.6.32.4= 6/arch/sparc/kernel/process_32.c +--- linux-2.6.32.46/arch/sparc/kernel/process_32.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/process_32.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -196,7 +196,7 @@ void __show_backtrace(unsigned long fp) rw->ins[4], rw->ins[5], rw->ins[6], @@ -4416,9 +4416,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/proces= s_32.c linux-2.6.32.48/arch/s fp =3D rw->ins[6]; } while (++count < 16); printk("\n"); -diff -urNp linux-2.6.32.48/arch/sparc/kernel/process_64.c linux-2.6.32.4= 8/arch/sparc/kernel/process_64.c ---- linux-2.6.32.48/arch/sparc/kernel/process_64.c 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/process_64.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/process_64.c linux-2.6.32.4= 6/arch/sparc/kernel/process_64.c +--- linux-2.6.32.46/arch/sparc/kernel/process_64.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/process_64.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -180,14 +180,14 @@ static void show_regwindow(struct pt_reg printk("i4: %016lx i5: %016lx i6: %016lx i7: %016lx\n", rwk->ins[4], rwk->ins[5], rwk->ins[6], rwk->ins[7]); @@ -4454,9 +4454,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/proces= s_64.c linux-2.6.32.48/arch/s (void *) gp->tpc, (void *) gp->o7, (void *) gp->i7, -diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sparc_32.c linux-2.6.32= .48/arch/sparc/kernel/sys_sparc_32.c ---- linux-2.6.32.48/arch/sparc/kernel/sys_sparc_32.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/sys_sparc_32.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/sys_sparc_32.c linux-2.6.32= .46/arch/sparc/kernel/sys_sparc_32.c +--- linux-2.6.32.46/arch/sparc/kernel/sys_sparc_32.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/sys_sparc_32.c 2011-04-17 15:56:46= .000000000 -0400 @@ -57,7 +57,7 @@ unsigned long arch_get_unmapped_area(str if (ARCH_SUN4C && len > 0x20000000) return -ENOMEM; @@ -4475,9 +4475,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_32.c linux-2.6.32.48/arch return addr; addr =3D vmm->vm_end; if (flags & MAP_SHARED) -diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sparc_64.c linux-2.6.32= .48/arch/sparc/kernel/sys_sparc_64.c ---- linux-2.6.32.48/arch/sparc/kernel/sys_sparc_64.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/sys_sparc_64.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/sys_sparc_64.c linux-2.6.32= .46/arch/sparc/kernel/sys_sparc_64.c +--- linux-2.6.32.46/arch/sparc/kernel/sys_sparc_64.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/sys_sparc_64.c 2011-04-17 15:56:46= .000000000 -0400 @@ -125,7 +125,7 @@ unsigned long arch_get_unmapped_area(str /* We do not accept a shared mapping if it would violate * cache aliasing constraints. @@ -4625,9 +4625,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch mm->get_unmapped_area =3D arch_get_unmapped_area_topdown; mm->unmap_area =3D arch_unmap_area_topdown; } -diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_32.c linux-2.6.32.48/= arch/sparc/kernel/traps_32.c ---- linux-2.6.32.48/arch/sparc/kernel/traps_32.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/traps_32.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/traps_32.c linux-2.6.32.46/= arch/sparc/kernel/traps_32.c +--- linux-2.6.32.46/arch/sparc/kernel/traps_32.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/traps_32.c 2011-06-13 21:25:39.000= 000000 -0400 @@ -44,6 +44,8 @@ static void instruction_dump(unsigned lo #define __SAVE __asm__ __volatile__("save %sp, -0x40, %sp\n\t") #define __RESTORE __asm__ __volatile__("restore %g0, %g0, %g0\n\t") @@ -4657,9 +4657,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_= 32.c linux-2.6.32.48/arch/spa do_exit(SIGSEGV); } =20 -diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_64.c linux-2.6.32.48/= arch/sparc/kernel/traps_64.c ---- linux-2.6.32.48/arch/sparc/kernel/traps_64.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/traps_64.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/traps_64.c linux-2.6.32.46/= arch/sparc/kernel/traps_64.c +--- linux-2.6.32.46/arch/sparc/kernel/traps_64.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/traps_64.c 2011-06-13 21:24:11.000= 000000 -0400 @@ -73,7 +73,7 @@ static void dump_tl1_traplog(struct tl1_ i + 1, p->trapstack[i].tstate, p->trapstack[i].tpc, @@ -4791,9 +4791,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_= 64.c linux-2.6.32.48/arch/spa do_exit(SIGSEGV); } EXPORT_SYMBOL(die_if_kernel); -diff -urNp linux-2.6.32.48/arch/sparc/kernel/una_asm_64.S linux-2.6.32.4= 8/arch/sparc/kernel/una_asm_64.S ---- linux-2.6.32.48/arch/sparc/kernel/una_asm_64.S 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/una_asm_64.S 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/una_asm_64.S linux-2.6.32.4= 6/arch/sparc/kernel/una_asm_64.S +--- linux-2.6.32.46/arch/sparc/kernel/una_asm_64.S 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/una_asm_64.S 2011-07-13 22:20:05.0= 00000000 -0400 @@ -127,7 +127,7 @@ do_int_load: wr %o5, 0x0, %asi retl @@ -4803,9 +4803,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/una_as= m_64.S linux-2.6.32.48/arch/s =20 .section __ex_table,"a" .word 4b, __retl_efault -diff -urNp linux-2.6.32.48/arch/sparc/kernel/unaligned_64.c linux-2.6.32= .48/arch/sparc/kernel/unaligned_64.c ---- linux-2.6.32.48/arch/sparc/kernel/unaligned_64.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/unaligned_64.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/kernel/unaligned_64.c linux-2.6.32= .46/arch/sparc/kernel/unaligned_64.c +--- linux-2.6.32.46/arch/sparc/kernel/unaligned_64.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/sparc/kernel/unaligned_64.c 2011-04-17 15:56:46= .000000000 -0400 @@ -288,7 +288,7 @@ static void log_unaligned(struct pt_regs if (count < 5) { last_time =3D jiffies; @@ -4815,9 +4815,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/unalig= ned_64.c linux-2.6.32.48/arch regs->tpc, (void *) regs->tpc); } } -diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_64.S linux-2.6.32.48/ar= ch/sparc/lib/atomic_64.S ---- linux-2.6.32.48/arch/sparc/lib/atomic_64.S 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/sparc/lib/atomic_64.S 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/lib/atomic_64.S linux-2.6.32.46/ar= ch/sparc/lib/atomic_64.S +--- linux-2.6.32.46/arch/sparc/lib/atomic_64.S 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/sparc/lib/atomic_64.S 2011-04-17 15:56:46.00000= 0000 -0400 @@ -18,7 +18,12 @@ atomic_add: /* %o0 =3D increment, %o1 =3D atomic_ptr */ BACKOFF_SETUP(%o2) @@ -5052,9 +5052,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_64= .S linux-2.6.32.48/arch/sparc casx [%o1], %g1, %g7 cmp %g1, %g7 bne,pn %xcc, 2f -diff -urNp linux-2.6.32.48/arch/sparc/lib/ksyms.c linux-2.6.32.48/arch/s= parc/lib/ksyms.c ---- linux-2.6.32.48/arch/sparc/lib/ksyms.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/sparc/lib/ksyms.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/sparc/lib/ksyms.c linux-2.6.32.46/arch/s= parc/lib/ksyms.c +--- linux-2.6.32.46/arch/sparc/lib/ksyms.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/sparc/lib/ksyms.c 2011-08-19 23:05:14.000000000= -0400 @@ -144,12 +144,18 @@ EXPORT_SYMBOL(__downgrade_write); =20 /* Atomic counter implementation. */ @@ -5074,9 +5074,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/ksyms.c l= inux-2.6.32.48/arch/sparc/lib EXPORT_SYMBOL(atomic64_sub_ret); =20 /* Atomic bit operations. */ -diff -urNp linux-2.6.32.48/arch/sparc/lib/Makefile linux-2.6.32.48/arch/= sparc/lib/Makefile ---- linux-2.6.32.48/arch/sparc/lib/Makefile 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/sparc/lib/Makefile 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/lib/Makefile linux-2.6.32.46/arch/= sparc/lib/Makefile +--- linux-2.6.32.46/arch/sparc/lib/Makefile 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/sparc/lib/Makefile 2011-05-17 19:26:34.00000000= 0 -0400 @@ -2,7 +2,7 @@ # =20 @@ -5086,9 +5086,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/Makefile = linux-2.6.32.48/arch/sparc/li =20 lib-$(CONFIG_SPARC32) +=3D mul.o rem.o sdiv.o udiv.o umul.o urem.o ashr= di3.o lib-$(CONFIG_SPARC32) +=3D memcpy.o memset.o -diff -urNp linux-2.6.32.48/arch/sparc/lib/rwsem_64.S linux-2.6.32.48/arc= h/sparc/lib/rwsem_64.S ---- linux-2.6.32.48/arch/sparc/lib/rwsem_64.S 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/sparc/lib/rwsem_64.S 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/lib/rwsem_64.S linux-2.6.32.46/arc= h/sparc/lib/rwsem_64.S +--- linux-2.6.32.46/arch/sparc/lib/rwsem_64.S 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/sparc/lib/rwsem_64.S 2011-04-17 15:56:46.000000= 000 -0400 @@ -11,7 +11,12 @@ .globl __down_read __down_read: @@ -5187,9 +5187,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/rwsem_64.= S linux-2.6.32.48/arch/sparc/ cas [%o0], %g3, %g7 cmp %g3, %g7 bne,pn %icc, 1b -diff -urNp linux-2.6.32.48/arch/sparc/Makefile linux-2.6.32.48/arch/spar= c/Makefile ---- linux-2.6.32.48/arch/sparc/Makefile 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/arch/sparc/Makefile 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/arch/sparc/Makefile linux-2.6.32.46/arch/spar= c/Makefile +--- linux-2.6.32.46/arch/sparc/Makefile 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/arch/sparc/Makefile 2011-04-17 15:56:46.000000000 -0= 400 @@ -75,7 +75,7 @@ drivers-$(CONFIG_OPROFILE) +=3D arch/sparc # Export what is needed by arch/sparc/boot/Makefile export VMLINUX_INIT VMLINUX_MAIN @@ -5199,9 +5199,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/Makefile linu= x-2.6.32.48/arch/sparc/Makefi VMLINUX_MAIN +=3D $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y) VMLINUX_MAIN +=3D $(drivers-y) $(net-y) =20 -diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_32.c linux-2.6.32.48/arch= /sparc/mm/fault_32.c ---- linux-2.6.32.48/arch/sparc/mm/fault_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/sparc/mm/fault_32.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/mm/fault_32.c linux-2.6.32.46/arch= /sparc/mm/fault_32.c +--- linux-2.6.32.46/arch/sparc/mm/fault_32.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/sparc/mm/fault_32.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -21,6 +21,9 @@ #include #include @@ -5505,9 +5505,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_32.c= linux-2.6.32.48/arch/sparc/m /* Allow reads even for write-only mappings */ if(!(vma->vm_flags & (VM_READ | VM_EXEC))) goto bad_area; -diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_64.c linux-2.6.32.48/arch= /sparc/mm/fault_64.c ---- linux-2.6.32.48/arch/sparc/mm/fault_64.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/sparc/mm/fault_64.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/mm/fault_64.c linux-2.6.32.46/arch= /sparc/mm/fault_64.c +--- linux-2.6.32.46/arch/sparc/mm/fault_64.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/sparc/mm/fault_64.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -20,6 +20,9 @@ #include #include @@ -6014,9 +6014,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_64.c= linux-2.6.32.48/arch/sparc/m /* Pure DTLB misses do not tell us whether the fault causing * load/store/atomic was a write or not, it only says that there * was no match. So in such a case we (carefully) read the -diff -urNp linux-2.6.32.48/arch/sparc/mm/hugetlbpage.c linux-2.6.32.48/a= rch/sparc/mm/hugetlbpage.c ---- linux-2.6.32.48/arch/sparc/mm/hugetlbpage.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/sparc/mm/hugetlbpage.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/mm/hugetlbpage.c linux-2.6.32.46/a= rch/sparc/mm/hugetlbpage.c +--- linux-2.6.32.46/arch/sparc/mm/hugetlbpage.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/sparc/mm/hugetlbpage.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -69,7 +69,7 @@ full_search: } return -ENOMEM; @@ -6076,9 +6076,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/hugetlbpag= e.c linux-2.6.32.48/arch/spar return addr; } if (mm->get_unmapped_area =3D=3D arch_get_unmapped_area) -diff -urNp linux-2.6.32.48/arch/sparc/mm/init_32.c linux-2.6.32.48/arch/= sparc/mm/init_32.c ---- linux-2.6.32.48/arch/sparc/mm/init_32.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/sparc/mm/init_32.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/sparc/mm/init_32.c linux-2.6.32.46/arch/= sparc/mm/init_32.c +--- linux-2.6.32.46/arch/sparc/mm/init_32.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/sparc/mm/init_32.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -317,6 +317,9 @@ extern void device_scan(void); pgprot_t PAGE_SHARED __read_mostly; EXPORT_SYMBOL(PAGE_SHARED); @@ -6113,9 +6113,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/init_32.c = linux-2.6.32.48/arch/sparc/mm protection_map[12] =3D PAGE_READONLY; protection_map[13] =3D PAGE_READONLY; protection_map[14] =3D PAGE_SHARED; -diff -urNp linux-2.6.32.48/arch/sparc/mm/Makefile linux-2.6.32.48/arch/s= parc/mm/Makefile ---- linux-2.6.32.48/arch/sparc/mm/Makefile 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/sparc/mm/Makefile 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/sparc/mm/Makefile linux-2.6.32.46/arch/s= parc/mm/Makefile +--- linux-2.6.32.46/arch/sparc/mm/Makefile 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/sparc/mm/Makefile 2011-04-17 15:56:46.000000000= -0400 @@ -2,7 +2,7 @@ # =20 @@ -6125,9 +6125,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/Makefile l= inux-2.6.32.48/arch/sparc/mm/ =20 obj-$(CONFIG_SPARC64) +=3D ultra.o tlb.o tsb.o obj-y +=3D fault_$(BITS).o -diff -urNp linux-2.6.32.48/arch/sparc/mm/srmmu.c linux-2.6.32.48/arch/sp= arc/mm/srmmu.c ---- linux-2.6.32.48/arch/sparc/mm/srmmu.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/sparc/mm/srmmu.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/sparc/mm/srmmu.c linux-2.6.32.46/arch/sp= arc/mm/srmmu.c +--- linux-2.6.32.46/arch/sparc/mm/srmmu.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/sparc/mm/srmmu.c 2011-04-17 15:56:46.000000000 = -0400 @@ -2200,6 +2200,13 @@ void __init ld_mmu_srmmu(void) PAGE_SHARED =3D pgprot_val(SRMMU_PAGE_SHARED); BTFIXUPSET_INT(page_copy, pgprot_val(SRMMU_PAGE_COPY)); @@ -6142,9 +6142,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/srmmu.c li= nux-2.6.32.48/arch/sparc/mm/s BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL)); page_kernel =3D pgprot_val(SRMMU_PAGE_KERNEL); =20 -diff -urNp linux-2.6.32.48/arch/um/include/asm/kmap_types.h linux-2.6.32= .48/arch/um/include/asm/kmap_types.h ---- linux-2.6.32.48/arch/um/include/asm/kmap_types.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/um/include/asm/kmap_types.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/um/include/asm/kmap_types.h linux-2.6.32= .46/arch/um/include/asm/kmap_types.h +--- linux-2.6.32.46/arch/um/include/asm/kmap_types.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/um/include/asm/kmap_types.h 2011-04-17 15:56:46= .000000000 -0400 @@ -23,6 +23,7 @@ enum km_type { KM_IRQ1, KM_SOFTIRQ0, @@ -6153,9 +6153,9 @@ diff -urNp linux-2.6.32.48/arch/um/include/asm/kmap= _types.h linux-2.6.32.48/arch KM_TYPE_NR }; =20 -diff -urNp linux-2.6.32.48/arch/um/include/asm/page.h linux-2.6.32.48/ar= ch/um/include/asm/page.h ---- linux-2.6.32.48/arch/um/include/asm/page.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/um/include/asm/page.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/um/include/asm/page.h linux-2.6.32.46/ar= ch/um/include/asm/page.h +--- linux-2.6.32.46/arch/um/include/asm/page.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/um/include/asm/page.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -14,6 +14,9 @@ #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) @@ -6166,9 +6166,9 @@ diff -urNp linux-2.6.32.48/arch/um/include/asm/page= .h linux-2.6.32.48/arch/um/in #ifndef __ASSEMBLY__ =20 struct page; -diff -urNp linux-2.6.32.48/arch/um/kernel/process.c linux-2.6.32.48/arch= /um/kernel/process.c ---- linux-2.6.32.48/arch/um/kernel/process.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/um/kernel/process.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/um/kernel/process.c linux-2.6.32.46/arch= /um/kernel/process.c +--- linux-2.6.32.46/arch/um/kernel/process.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/um/kernel/process.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -393,22 +393,6 @@ int singlestepping(void * t) return 2; } @@ -6192,9 +6192,9 @@ diff -urNp linux-2.6.32.48/arch/um/kernel/process.c= linux-2.6.32.48/arch/um/kern unsigned long get_wchan(struct task_struct *p) { unsigned long stack_page, sp, ip; -diff -urNp linux-2.6.32.48/arch/um/sys-i386/syscalls.c linux-2.6.32.48/a= rch/um/sys-i386/syscalls.c ---- linux-2.6.32.48/arch/um/sys-i386/syscalls.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/um/sys-i386/syscalls.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/um/sys-i386/syscalls.c linux-2.6.32.46/a= rch/um/sys-i386/syscalls.c +--- linux-2.6.32.46/arch/um/sys-i386/syscalls.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/um/sys-i386/syscalls.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -11,6 +11,21 @@ #include "asm/uaccess.h" #include "asm/unistd.h" @@ -6217,9 +6217,9 @@ diff -urNp linux-2.6.32.48/arch/um/sys-i386/syscall= s.c linux-2.6.32.48/arch/um/s /* * Perform the select(nd, in, out, ex, tv) and mmap() system * calls. Linux/i386 didn't use to be able to handle more than -diff -urNp linux-2.6.32.48/arch/x86/boot/bitops.h linux-2.6.32.48/arch/x= 86/boot/bitops.h ---- linux-2.6.32.48/arch/x86/boot/bitops.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/boot/bitops.h 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/bitops.h linux-2.6.32.46/arch/x= 86/boot/bitops.h +--- linux-2.6.32.46/arch/x86/boot/bitops.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/boot/bitops.h 2011-04-17 15:56:46.000000000= -0400 @@ -26,7 +26,7 @@ static inline int variable_test_bit(int=20 u8 v; const u32 *p =3D (const u32 *)addr; @@ -6238,9 +6238,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/bitops.h l= inux-2.6.32.48/arch/x86/boot/ } =20 #endif /* BOOT_BITOPS_H */ -diff -urNp linux-2.6.32.48/arch/x86/boot/boot.h linux-2.6.32.48/arch/x86= /boot/boot.h ---- linux-2.6.32.48/arch/x86/boot/boot.h 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/arch/x86/boot/boot.h 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/boot.h linux-2.6.32.46/arch/x86= /boot/boot.h +--- linux-2.6.32.46/arch/x86/boot/boot.h 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/arch/x86/boot/boot.h 2011-04-17 15:56:46.000000000 -= 0400 @@ -82,7 +82,7 @@ static inline void io_delay(void) static inline u16 ds(void) { @@ -6259,9 +6259,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/boot.h lin= ux-2.6.32.48/arch/x86/boot/bo : "=3Dqm" (diff), "+D" (s1), "+S" (s2), "+c" (len)); return diff; } -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/head_32.S linux-2.6.= 32.48/arch/x86/boot/compressed/head_32.S ---- linux-2.6.32.48/arch/x86/boot/compressed/head_32.S 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/head_32.S 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/compressed/head_32.S linux-2.6.= 32.46/arch/x86/boot/compressed/head_32.S +--- linux-2.6.32.46/arch/x86/boot/compressed/head_32.S 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/boot/compressed/head_32.S 2011-04-17 15:56:= 46.000000000 -0400 @@ -76,7 +76,7 @@ ENTRY(startup_32) notl %eax andl %eax, %ebx @@ -6290,9 +6290,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /head_32.S linux-2.6.32.48/ar addl %ebx, -__PAGE_OFFSET(%ebx, %ecx) jmp 1b 2: -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/head_64.S linux-2.6.= 32.48/arch/x86/boot/compressed/head_64.S ---- linux-2.6.32.48/arch/x86/boot/compressed/head_64.S 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/head_64.S 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/compressed/head_64.S linux-2.6.= 32.46/arch/x86/boot/compressed/head_64.S +--- linux-2.6.32.46/arch/x86/boot/compressed/head_64.S 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/boot/compressed/head_64.S 2011-07-01 18:53:= 00.000000000 -0400 @@ -91,7 +91,7 @@ ENTRY(startup_32) notl %eax andl %eax, %ebx @@ -6320,9 +6320,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /head_64.S linux-2.6.32.48/ar #endif =20 /* Target address to relocate to for decompression */ -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/Makefile linux-2.6.3= 2.48/arch/x86/boot/compressed/Makefile ---- linux-2.6.32.48/arch/x86/boot/compressed/Makefile 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/Makefile 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/compressed/Makefile linux-2.6.3= 2.46/arch/x86/boot/compressed/Makefile +--- linux-2.6.32.46/arch/x86/boot/compressed/Makefile 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/boot/compressed/Makefile 2011-08-07 14:38:3= 4.000000000 -0400 @@ -13,6 +13,9 @@ cflags-$(CONFIG_X86_64) :=3D -mcmodel=3Dsmal KBUILD_CFLAGS +=3D $(cflags-y) KBUILD_CFLAGS +=3D $(call cc-option,-ffreestanding) @@ -6333,9 +6333,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /Makefile linux-2.6.32.48/arc =20 KBUILD_AFLAGS :=3D $(KBUILD_CFLAGS) -D__ASSEMBLY__ GCOV_PROFILE :=3D n -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/misc.c linux-2.6.32.= 48/arch/x86/boot/compressed/misc.c ---- linux-2.6.32.48/arch/x86/boot/compressed/misc.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/misc.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/compressed/misc.c linux-2.6.32.= 46/arch/x86/boot/compressed/misc.c +--- linux-2.6.32.46/arch/x86/boot/compressed/misc.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/boot/compressed/misc.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -288,7 +288,7 @@ static void parse_elf(void *output) case PT_LOAD: #ifdef CONFIG_RELOCATABLE @@ -6354,9 +6354,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /misc.c linux-2.6.32.48/arch/ error("Wrong destination address"); #endif =20 -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/mkpiggy.c linux-2.6.= 32.48/arch/x86/boot/compressed/mkpiggy.c ---- linux-2.6.32.48/arch/x86/boot/compressed/mkpiggy.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/mkpiggy.c 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/compressed/mkpiggy.c linux-2.6.= 32.46/arch/x86/boot/compressed/mkpiggy.c +--- linux-2.6.32.46/arch/x86/boot/compressed/mkpiggy.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/boot/compressed/mkpiggy.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -74,7 +74,7 @@ int main(int argc, char *argv[]) =20 offs =3D (olen > ilen) ? olen - ilen : 0; @@ -6366,9 +6366,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /mkpiggy.c linux-2.6.32.48/ar offs =3D (offs+4095) & ~4095; /* Round to a 4K boundary */ =20 printf(".section \".rodata.compressed\",\"a\",@progbits\n"); -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/relocs.c linux-2.6.3= 2.48/arch/x86/boot/compressed/relocs.c ---- linux-2.6.32.48/arch/x86/boot/compressed/relocs.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/relocs.c 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/compressed/relocs.c linux-2.6.3= 2.46/arch/x86/boot/compressed/relocs.c +--- linux-2.6.32.46/arch/x86/boot/compressed/relocs.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/boot/compressed/relocs.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -10,8 +10,11 @@ #define USE_BSD #include @@ -6569,9 +6569,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /relocs.c linux-2.6.32.48/arc read_shdrs(fp); read_strtabs(fp); read_symtabs(fp); -diff -urNp linux-2.6.32.48/arch/x86/boot/cpucheck.c linux-2.6.32.48/arch= /x86/boot/cpucheck.c ---- linux-2.6.32.48/arch/x86/boot/cpucheck.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/boot/cpucheck.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/cpucheck.c linux-2.6.32.46/arch= /x86/boot/cpucheck.c +--- linux-2.6.32.46/arch/x86/boot/cpucheck.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/boot/cpucheck.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -74,7 +74,7 @@ static int has_fpu(void) u16 fcw =3D -1, fsw =3D -1; u32 cr0; @@ -6667,9 +6667,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/cpucheck.c= linux-2.6.32.48/arch/x86/boo =20 err =3D check_flags(); } -diff -urNp linux-2.6.32.48/arch/x86/boot/header.S linux-2.6.32.48/arch/x= 86/boot/header.S ---- linux-2.6.32.48/arch/x86/boot/header.S 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/boot/header.S 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/header.S linux-2.6.32.46/arch/x= 86/boot/header.S +--- linux-2.6.32.46/arch/x86/boot/header.S 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/boot/header.S 2011-04-17 15:56:46.000000000= -0400 @@ -224,7 +224,7 @@ setup_data: .quad 0 # 64-bit physical # single linked list of # struct setup_data @@ -6679,9 +6679,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/header.S l= inux-2.6.32.48/arch/x86/boot/ =20 #define ZO_INIT_SIZE (ZO__end - ZO_startup_32 + ZO_z_extract_offset) #define VO_INIT_SIZE (VO__end - VO__text) -diff -urNp linux-2.6.32.48/arch/x86/boot/Makefile linux-2.6.32.48/arch/x= 86/boot/Makefile ---- linux-2.6.32.48/arch/x86/boot/Makefile 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/boot/Makefile 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/Makefile linux-2.6.32.46/arch/x= 86/boot/Makefile +--- linux-2.6.32.46/arch/x86/boot/Makefile 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/boot/Makefile 2011-08-07 14:38:13.000000000= -0400 @@ -69,6 +69,9 @@ KBUILD_CFLAGS :=3D $(LINUXINCLUDE) -g -Os=20 $(call cc-option, -fno-stack-protector) \ $(call cc-option, -mpreferred-stack-boundary=3D2) @@ -6692,9 +6692,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/Makefile l= inux-2.6.32.48/arch/x86/boot/ KBUILD_AFLAGS :=3D $(KBUILD_CFLAGS) -D__ASSEMBLY__ GCOV_PROFILE :=3D n =20 -diff -urNp linux-2.6.32.48/arch/x86/boot/memory.c linux-2.6.32.48/arch/x= 86/boot/memory.c ---- linux-2.6.32.48/arch/x86/boot/memory.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/boot/memory.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/memory.c linux-2.6.32.46/arch/x= 86/boot/memory.c +--- linux-2.6.32.46/arch/x86/boot/memory.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/boot/memory.c 2011-04-17 15:56:46.000000000= -0400 @@ -19,7 +19,7 @@ =20 static int detect_memory_e820(void) @@ -6704,9 +6704,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/memory.c l= inux-2.6.32.48/arch/x86/boot/ struct biosregs ireg, oreg; struct e820entry *desc =3D boot_params.e820_map; static struct e820entry buf; /* static so it is zeroed */ -diff -urNp linux-2.6.32.48/arch/x86/boot/video.c linux-2.6.32.48/arch/x8= 6/boot/video.c ---- linux-2.6.32.48/arch/x86/boot/video.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/boot/video.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/video.c linux-2.6.32.46/arch/x8= 6/boot/video.c +--- linux-2.6.32.46/arch/x86/boot/video.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/boot/video.c 2011-04-17 15:56:46.000000000 = -0400 @@ -90,7 +90,7 @@ static void store_mode_params(void) static unsigned int get_entry(void) { @@ -6716,9 +6716,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/video.c li= nux-2.6.32.48/arch/x86/boot/v int key; unsigned int v; =20 -diff -urNp linux-2.6.32.48/arch/x86/boot/video-vesa.c linux-2.6.32.48/ar= ch/x86/boot/video-vesa.c ---- linux-2.6.32.48/arch/x86/boot/video-vesa.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/video-vesa.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/boot/video-vesa.c linux-2.6.32.46/ar= ch/x86/boot/video-vesa.c +--- linux-2.6.32.46/arch/x86/boot/video-vesa.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/boot/video-vesa.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -200,6 +200,7 @@ static void vesa_store_pm_info(void) =20 boot_params.screen_info.vesapm_seg =3D oreg.es; @@ -6727,9 +6727,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/video-vesa= .c linux-2.6.32.48/arch/x86/b } =20 /* -diff -urNp linux-2.6.32.48/arch/x86/crypto/aes-x86_64-asm_64.S linux-2.6= .32.48/arch/x86/crypto/aes-x86_64-asm_64.S ---- linux-2.6.32.48/arch/x86/crypto/aes-x86_64-asm_64.S 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/crypto/aes-x86_64-asm_64.S 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/crypto/aes-x86_64-asm_64.S linux-2.6= .32.46/arch/x86/crypto/aes-x86_64-asm_64.S +--- linux-2.6.32.46/arch/x86/crypto/aes-x86_64-asm_64.S 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/crypto/aes-x86_64-asm_64.S 2011-10-06 09:37= :14.000000000 -0400 @@ -8,6 +8,8 @@ * including this sentence is retained in full. */ @@ -6748,9 +6748,9 @@ diff -urNp linux-2.6.32.48/arch/x86/crypto/aes-x86_= 64-asm_64.S linux-2.6.32.48/a #define epilogue(r1,r2,r3,r4,r5,r6,r7,r8,r9) \ movq r1,r2; \ movq r3,r4; \ -diff -urNp linux-2.6.32.48/arch/x86/crypto/salsa20-x86_64-asm_64.S linux= -2.6.32.48/arch/x86/crypto/salsa20-x86_64-asm_64.S ---- linux-2.6.32.48/arch/x86/crypto/salsa20-x86_64-asm_64.S 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-11-12 1= 2:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/crypto/salsa20-x86_64-asm_64.S linux= -2.6.32.46/arch/x86/crypto/salsa20-x86_64-asm_64.S +--- linux-2.6.32.46/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-10-06 0= 9:37:14.000000000 -0400 @@ -1,3 +1,5 @@ +#include + @@ -6779,9 +6779,9 @@ diff -urNp linux-2.6.32.48/arch/x86/crypto/salsa20-= x86_64-asm_64.S linux-2.6.32. mov %rsi,%rdx + pax_force_retaddr ret -diff -urNp linux-2.6.32.48/arch/x86/crypto/twofish-x86_64-asm_64.S linux= -2.6.32.48/arch/x86/crypto/twofish-x86_64-asm_64.S ---- linux-2.6.32.48/arch/x86/crypto/twofish-x86_64-asm_64.S 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-11-12 1= 2:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/crypto/twofish-x86_64-asm_64.S linux= -2.6.32.46/arch/x86/crypto/twofish-x86_64-asm_64.S +--- linux-2.6.32.46/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-10-06 0= 9:37:14.000000000 -0400 @@ -21,6 +21,7 @@ .text =20 @@ -6804,9 +6804,9 @@ diff -urNp linux-2.6.32.48/arch/x86/crypto/twofish-= x86_64-asm_64.S linux-2.6.32. movq $1,%rax + pax_force_retaddr ret -diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32_aout.c linux-2.6.32.48/arc= h/x86/ia32/ia32_aout.c ---- linux-2.6.32.48/arch/x86/ia32/ia32_aout.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/ia32/ia32_aout.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/ia32/ia32_aout.c linux-2.6.32.46/arc= h/x86/ia32/ia32_aout.c +--- linux-2.6.32.46/arch/x86/ia32/ia32_aout.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/ia32/ia32_aout.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -169,6 +169,8 @@ static int aout_core_dump(long signr, st unsigned long dump_start, dump_size; struct user32 dump; @@ -6829,9 +6829,9 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32_aout.= c linux-2.6.32.48/arch/x86/ia end_coredump: set_fs(fs); return has_dumped; -diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.S linux-2.6.32.48/arc= h/x86/ia32/ia32entry.S ---- linux-2.6.32.48/arch/x86/ia32/ia32entry.S 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/ia32/ia32entry.S 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/ia32/ia32entry.S linux-2.6.32.46/arc= h/x86/ia32/ia32entry.S +--- linux-2.6.32.46/arch/x86/ia32/ia32entry.S 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/ia32/ia32entry.S 2011-08-25 17:42:18.000000= 000 -0400 @@ -13,6 +13,7 @@ #include =09 #include @@ -7008,9 +7008,9 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.= S linux-2.6.32.48/arch/x86/ia LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace change= d it */ RESTORE_REST cmpq $(IA32_NR_syscalls-1),%rax -diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32_signal.c linux-2.6.32.48/a= rch/x86/ia32/ia32_signal.c ---- linux-2.6.32.48/arch/x86/ia32/ia32_signal.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/ia32/ia32_signal.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/ia32/ia32_signal.c linux-2.6.32.46/a= rch/x86/ia32/ia32_signal.c +--- linux-2.6.32.46/arch/x86/ia32/ia32_signal.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/ia32/ia32_signal.c 2011-10-06 09:37:08.0000= 00000 -0400 @@ -167,7 +167,7 @@ asmlinkage long sys32_sigaltstack(const=20 } seg =3D get_fs(); @@ -7087,9 +7087,9 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32_signa= l.c linux-2.6.32.48/arch/x86/ } put_user_catch(err); =20 if (err) -diff -urNp linux-2.6.32.48/arch/x86/ia32/sys_ia32.c linux-2.6.32.48/arch= /x86/ia32/sys_ia32.c ---- linux-2.6.32.48/arch/x86/ia32/sys_ia32.c 2011-11-12 12:44:28.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/ia32/sys_ia32.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/ia32/sys_ia32.c linux-2.6.32.46/arch= /x86/ia32/sys_ia32.c +--- linux-2.6.32.46/arch/x86/ia32/sys_ia32.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/ia32/sys_ia32.c 2011-10-06 09:37:14.0000000= 00 -0400 @@ -69,8 +69,8 @@ asmlinkage long sys32_ftruncate64(unsign */ static int cp_stat64(struct stat64 __user *ubuf, struct kstat *stat) @@ -7148,9 +7148,9 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/sys_ia32.c= linux-2.6.32.48/arch/x86/ia3 count); set_fs(old_fs); =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/alternative-asm.h linux-= 2.6.32.48/arch/x86/include/asm/alternative-asm.h ---- linux-2.6.32.48/arch/x86/include/asm/alternative-asm.h 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/alternative-asm.h 2011-11-12 12= :46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/alternative-asm.h linux-= 2.6.32.46/arch/x86/include/asm/alternative-asm.h +--- linux-2.6.32.46/arch/x86/include/asm/alternative-asm.h 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/alternative-asm.h 2011-10-08 08= :14:37.000000000 -0400 @@ -19,4 +19,18 @@ .endm #endif @@ -7170,9 +7170,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/alt= ernative-asm.h linux-2.6.32.4 +#endif + #endif /* __ASSEMBLY__ */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/alternative.h linux-2.6.= 32.48/arch/x86/include/asm/alternative.h ---- linux-2.6.32.48/arch/x86/include/asm/alternative.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/alternative.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/alternative.h linux-2.6.= 32.46/arch/x86/include/asm/alternative.h +--- linux-2.6.32.46/arch/x86/include/asm/alternative.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/alternative.h 2011-04-17 15:56:= 46.000000000 -0400 @@ -85,7 +85,7 @@ static inline void alternatives_smp_swit " .byte 662b-661b\n" /* sourcelen */ \ " .byte 664f-663f\n" /* replacementlen */ \ @@ -7182,9 +7182,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/alt= ernative.h linux-2.6.32.48/ar "663:\n\t" newinstr "\n664:\n" /* replacement */ \ ".previous" =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/apic.h linux-2.6.32.48/a= rch/x86/include/asm/apic.h ---- linux-2.6.32.48/arch/x86/include/asm/apic.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/apic.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/apic.h linux-2.6.32.46/a= rch/x86/include/asm/apic.h +--- linux-2.6.32.46/arch/x86/include/asm/apic.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/apic.h 2011-08-17 20:01:15.0000= 00000 -0400 @@ -46,7 +46,7 @@ static inline void generic_apic_probe(vo =20 #ifdef CONFIG_X86_LOCAL_APIC @@ -7194,9 +7194,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/api= c.h linux-2.6.32.48/arch/x86/ extern int local_apic_timer_c2_ok; =20 extern int disable_apic; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/apm.h linux-2.6.32.48/ar= ch/x86/include/asm/apm.h ---- linux-2.6.32.48/arch/x86/include/asm/apm.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/apm.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/apm.h linux-2.6.32.46/ar= ch/x86/include/asm/apm.h +--- linux-2.6.32.46/arch/x86/include/asm/apm.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/apm.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -34,7 +34,7 @@ static inline void apm_bios_call_asm(u32 __asm__ __volatile__(APM_DO_ZERO_SEGS "pushl %%edi\n\t" @@ -7215,9 +7215,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/apm= .h linux-2.6.32.48/arch/x86/i "setc %%bl\n\t" "popl %%ebp\n\t" "popl %%edi\n\t" -diff -urNp linux-2.6.32.48/arch/x86/include/asm/atomic_32.h linux-2.6.32= .48/arch/x86/include/asm/atomic_32.h ---- linux-2.6.32.48/arch/x86/include/asm/atomic_32.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/atomic_32.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/atomic_32.h linux-2.6.32= .46/arch/x86/include/asm/atomic_32.h +--- linux-2.6.32.46/arch/x86/include/asm/atomic_32.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/atomic_32.h 2011-05-04 17:56:20= .000000000 -0400 @@ -25,6 +25,17 @@ static inline int atomic_read(const atom } =20 @@ -7731,9 +7731,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ato= mic_32.h linux-2.6.32.48/arch * atomic64_dec_and_test - decrement and test * @ptr: pointer to type atomic64_t * -diff -urNp linux-2.6.32.48/arch/x86/include/asm/atomic_64.h linux-2.6.32= .48/arch/x86/include/asm/atomic_64.h ---- linux-2.6.32.48/arch/x86/include/asm/atomic_64.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/atomic_64.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/atomic_64.h linux-2.6.32= .46/arch/x86/include/asm/atomic_64.h +--- linux-2.6.32.46/arch/x86/include/asm/atomic_64.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/atomic_64.h 2011-05-04 18:35:31= .000000000 -0400 @@ -24,6 +24,17 @@ static inline int atomic_read(const atom } =20 @@ -8398,9 +8398,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ato= mic_64.h linux-2.6.32.48/arch } =20 /** -diff -urNp linux-2.6.32.48/arch/x86/include/asm/bitops.h linux-2.6.32.48= /arch/x86/include/asm/bitops.h ---- linux-2.6.32.48/arch/x86/include/asm/bitops.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/bitops.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/bitops.h linux-2.6.32.46= /arch/x86/include/asm/bitops.h +--- linux-2.6.32.46/arch/x86/include/asm/bitops.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/bitops.h 2011-04-17 15:56:46.00= 0000000 -0400 @@ -38,7 +38,7 @@ * a mask operation on a byte. */ @@ -8410,9 +8410,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/bit= ops.h linux-2.6.32.48/arch/x8 #define CONST_MASK(nr) (1 << ((nr) & 7)) =20 /** -diff -urNp linux-2.6.32.48/arch/x86/include/asm/boot.h linux-2.6.32.48/a= rch/x86/include/asm/boot.h ---- linux-2.6.32.48/arch/x86/include/asm/boot.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/boot.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/boot.h linux-2.6.32.46/a= rch/x86/include/asm/boot.h +--- linux-2.6.32.46/arch/x86/include/asm/boot.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/boot.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -11,10 +11,15 @@ #include =20 @@ -8430,9 +8430,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/boo= t.h linux-2.6.32.48/arch/x86/ /* Minimum kernel alignment, as a power of two */ #ifdef CONFIG_X86_64 #define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT -diff -urNp linux-2.6.32.48/arch/x86/include/asm/cacheflush.h linux-2.6.3= 2.48/arch/x86/include/asm/cacheflush.h ---- linux-2.6.32.48/arch/x86/include/asm/cacheflush.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/cacheflush.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/cacheflush.h linux-2.6.3= 2.46/arch/x86/include/asm/cacheflush.h +--- linux-2.6.32.46/arch/x86/include/asm/cacheflush.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/cacheflush.h 2011-04-17 15:56:4= 6.000000000 -0400 @@ -60,7 +60,7 @@ PAGEFLAG(WC, WC) static inline unsigned long get_page_memtype(struct page *pg) { @@ -8451,9 +8451,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/cac= heflush.h linux-2.6.32.48/arc ClearPageUncached(pg); ClearPageWC(pg); break; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/cache.h linux-2.6.32.48/= arch/x86/include/asm/cache.h ---- linux-2.6.32.48/arch/x86/include/asm/cache.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/cache.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/cache.h linux-2.6.32.46/= arch/x86/include/asm/cache.h +--- linux-2.6.32.46/arch/x86/include/asm/cache.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/cache.h 2011-07-06 19:53:33.000= 000000 -0400 @@ -5,9 +5,10 @@ =20 /* L1 cache line size */ @@ -8466,9 +8466,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/cac= he.h linux-2.6.32.48/arch/x86 =20 #ifdef CONFIG_X86_VSMP /* vSMP Internode cacheline shift */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/calling.h linux-2.6.32.4= 8/arch/x86/include/asm/calling.h ---- linux-2.6.32.48/arch/x86/include/asm/calling.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/calling.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/calling.h linux-2.6.32.4= 6/arch/x86/include/asm/calling.h +--- linux-2.6.32.46/arch/x86/include/asm/calling.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/calling.h 2011-10-06 10:08:42.0= 00000000 -0400 @@ -52,32 +52,32 @@ For 32-bit we have the following convent * for assembly code: */ @@ -8523,9 +8523,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/cal= ling.h linux-2.6.32.48/arch/x =20 #define ARGOFFSET R11 #define SWFRAME ORIG_RAX -diff -urNp linux-2.6.32.48/arch/x86/include/asm/checksum_32.h linux-2.6.= 32.48/arch/x86/include/asm/checksum_32.h ---- linux-2.6.32.48/arch/x86/include/asm/checksum_32.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/checksum_32.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/checksum_32.h linux-2.6.= 32.46/arch/x86/include/asm/checksum_32.h +--- linux-2.6.32.46/arch/x86/include/asm/checksum_32.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/checksum_32.h 2011-04-17 15:56:= 46.000000000 -0400 @@ -31,6 +31,14 @@ asmlinkage __wsum csum_partial_copy_gene int len, __wsum sum, int *src_err_ptr, int *dst_err_ptr); @@ -8559,9 +8559,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/che= cksum_32.h linux-2.6.32.48/ar len, sum, NULL, err_ptr); =20 if (len) -diff -urNp linux-2.6.32.48/arch/x86/include/asm/desc_defs.h linux-2.6.32= .48/arch/x86/include/asm/desc_defs.h ---- linux-2.6.32.48/arch/x86/include/asm/desc_defs.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/desc_defs.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/desc_defs.h linux-2.6.32= .46/arch/x86/include/asm/desc_defs.h +--- linux-2.6.32.46/arch/x86/include/asm/desc_defs.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/desc_defs.h 2011-04-17 15:56:46= .000000000 -0400 @@ -31,6 +31,12 @@ struct desc_struct { unsigned base1: 8, type: 4, s: 1, dpl: 2, p: 1; unsigned limit: 4, avl: 1, l: 1, d: 1, g: 1, base2: 8; @@ -8575,9 +8575,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/des= c_defs.h linux-2.6.32.48/arch }; } __attribute__((packed)); =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/desc.h linux-2.6.32.48/a= rch/x86/include/asm/desc.h ---- linux-2.6.32.48/arch/x86/include/asm/desc.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/desc.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/desc.h linux-2.6.32.46/a= rch/x86/include/asm/desc.h +--- linux-2.6.32.46/arch/x86/include/asm/desc.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/desc.h 2011-04-23 12:56:10.0000= 00000 -0400 @@ -4,6 +4,7 @@ #include #include @@ -8758,9 +8758,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/des= c.h linux-2.6.32.48/arch/x86/ +#endif + #endif /* _ASM_X86_DESC_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/device.h linux-2.6.32.48= /arch/x86/include/asm/device.h ---- linux-2.6.32.48/arch/x86/include/asm/device.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/device.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/device.h linux-2.6.32.46= /arch/x86/include/asm/device.h +--- linux-2.6.32.46/arch/x86/include/asm/device.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/device.h 2011-04-17 15:56:46.00= 0000000 -0400 @@ -6,7 +6,7 @@ struct dev_archdata { void *acpi_handle; #endif @@ -8770,9 +8770,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/dev= ice.h linux-2.6.32.48/arch/x8 #endif #ifdef CONFIG_DMAR void *iommu; /* hook for IOMMU specific extension */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/dma-mapping.h linux-2.6.= 32.48/arch/x86/include/asm/dma-mapping.h ---- linux-2.6.32.48/arch/x86/include/asm/dma-mapping.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/dma-mapping.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/dma-mapping.h linux-2.6.= 32.46/arch/x86/include/asm/dma-mapping.h +--- linux-2.6.32.46/arch/x86/include/asm/dma-mapping.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/dma-mapping.h 2011-04-17 15:56:= 46.000000000 -0400 @@ -25,9 +25,9 @@ extern int iommu_merge; extern struct device x86_dma_fallback_dev; extern int panic_on_overflow; @@ -8812,9 +8812,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/dma= -mapping.h linux-2.6.32.48/ar =20 WARN_ON(irqs_disabled()); /* for portability */ =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/e820.h linux-2.6.32.48/a= rch/x86/include/asm/e820.h ---- linux-2.6.32.48/arch/x86/include/asm/e820.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/e820.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/e820.h linux-2.6.32.46/a= rch/x86/include/asm/e820.h +--- linux-2.6.32.46/arch/x86/include/asm/e820.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/e820.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -133,7 +133,7 @@ extern char *default_machine_specific_me #define ISA_END_ADDRESS 0x100000 #define is_ISA_range(s, e) ((s) >=3D ISA_START_ADDRESS && (e) < ISA_END= _ADDRESS) @@ -8824,9 +8824,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/e82= 0.h linux-2.6.32.48/arch/x86/ #define BIOS_END 0x00100000 =20 #ifdef __KERNEL__ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/elf.h linux-2.6.32.48/ar= ch/x86/include/asm/elf.h ---- linux-2.6.32.48/arch/x86/include/asm/elf.h 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/elf.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/elf.h linux-2.6.32.46/ar= ch/x86/include/asm/elf.h +--- linux-2.6.32.46/arch/x86/include/asm/elf.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/elf.h 2011-08-23 20:24:19.00000= 0000 -0400 @@ -257,7 +257,25 @@ extern int force_personality32; the loader. We need to make sure that it is out of the way of the p= rogram that it will "exec", and that there is sufficient room for the brk. = */ @@ -8881,9 +8881,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/elf= .h linux-2.6.32.48/arch/x86/i -#define arch_randomize_brk arch_randomize_brk - #endif /* _ASM_X86_ELF_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/emergency-restart.h linu= x-2.6.32.48/arch/x86/include/asm/emergency-restart.h ---- linux-2.6.32.48/arch/x86/include/asm/emergency-restart.h 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/emergency-restart.h 2011-11-12 = 12:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/emergency-restart.h linu= x-2.6.32.46/arch/x86/include/asm/emergency-restart.h +--- linux-2.6.32.46/arch/x86/include/asm/emergency-restart.h 2011-03-27 = 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/emergency-restart.h 2011-05-22 = 23:02:06.000000000 -0400 @@ -15,6 +15,6 @@ enum reboot_type { =20 extern enum reboot_type reboot_type; @@ -8892,9 +8892,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/eme= rgency-restart.h linux-2.6.32 +extern void machine_emergency_restart(void) __noreturn; =20 #endif /* _ASM_X86_EMERGENCY_RESTART_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/futex.h linux-2.6.32.48/= arch/x86/include/asm/futex.h ---- linux-2.6.32.48/arch/x86/include/asm/futex.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/futex.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/futex.h linux-2.6.32.46/= arch/x86/include/asm/futex.h +--- linux-2.6.32.46/arch/x86/include/asm/futex.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/futex.h 2011-10-06 09:37:08.000= 000000 -0400 @@ -12,16 +12,18 @@ #include =20 @@ -8970,9 +8970,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/fut= ex.h linux-2.6.32.48/arch/x86 : "i" (-EFAULT), "r" (newval), "0" (oldval) : "memory" ); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/hw_irq.h linux-2.6.32.48= /arch/x86/include/asm/hw_irq.h ---- linux-2.6.32.48/arch/x86/include/asm/hw_irq.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/hw_irq.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/hw_irq.h linux-2.6.32.46= /arch/x86/include/asm/hw_irq.h +--- linux-2.6.32.46/arch/x86/include/asm/hw_irq.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/hw_irq.h 2011-05-04 17:56:28.00= 0000000 -0400 @@ -92,8 +92,8 @@ extern void setup_ioapic_dest(void); extern void enable_IO_APIC(void); =20 @@ -8984,9 +8984,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/hw_= irq.h linux-2.6.32.48/arch/x8 =20 /* EISA */ extern void eisa_set_level_irq(unsigned int irq); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/i387.h linux-2.6.32.48/a= rch/x86/include/asm/i387.h ---- linux-2.6.32.48/arch/x86/include/asm/i387.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/i387.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/i387.h linux-2.6.32.46/a= rch/x86/include/asm/i387.h +--- linux-2.6.32.46/arch/x86/include/asm/i387.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/i387.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -60,6 +60,11 @@ static inline int fxrstor_checking(struc { int err; @@ -9036,9 +9036,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/i38= 7.h linux-2.6.32.48/arch/x86/ else clts(); } -diff -urNp linux-2.6.32.48/arch/x86/include/asm/io_32.h linux-2.6.32.48/= arch/x86/include/asm/io_32.h ---- linux-2.6.32.48/arch/x86/include/asm/io_32.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/io_32.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/io_32.h linux-2.6.32.46/= arch/x86/include/asm/io_32.h +--- linux-2.6.32.46/arch/x86/include/asm/io_32.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/io_32.h 2011-04-17 15:56:46.000= 000000 -0400 @@ -3,6 +3,7 @@ =20 #include @@ -9065,9 +9065,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/io_= 32.h linux-2.6.32.48/arch/x86 #include =20 #include -diff -urNp linux-2.6.32.48/arch/x86/include/asm/io_64.h linux-2.6.32.48/= arch/x86/include/asm/io_64.h ---- linux-2.6.32.48/arch/x86/include/asm/io_64.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/io_64.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/io_64.h linux-2.6.32.46/= arch/x86/include/asm/io_64.h +--- linux-2.6.32.46/arch/x86/include/asm/io_64.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/io_64.h 2011-04-17 15:56:46.000= 000000 -0400 @@ -140,6 +140,17 @@ __OUTS(l) =20 #include @@ -9086,9 +9086,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/io_= 64.h linux-2.6.32.48/arch/x86 #include =20 void __memcpy_fromio(void *, unsigned long, unsigned); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/iommu.h linux-2.6.32.48/= arch/x86/include/asm/iommu.h ---- linux-2.6.32.48/arch/x86/include/asm/iommu.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/iommu.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/iommu.h linux-2.6.32.46/= arch/x86/include/asm/iommu.h +--- linux-2.6.32.46/arch/x86/include/asm/iommu.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/iommu.h 2011-04-17 15:56:46.000= 000000 -0400 @@ -3,7 +3,7 @@ =20 extern void pci_iommu_shutdown(void); @@ -9098,9 +9098,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/iom= mu.h linux-2.6.32.48/arch/x86 extern int force_iommu, no_iommu; extern int iommu_detected; extern int iommu_pass_through; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/irqflags.h linux-2.6.32.= 48/arch/x86/include/asm/irqflags.h ---- linux-2.6.32.48/arch/x86/include/asm/irqflags.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/irqflags.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/irqflags.h linux-2.6.32.= 46/arch/x86/include/asm/irqflags.h +--- linux-2.6.32.46/arch/x86/include/asm/irqflags.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/irqflags.h 2011-04-17 15:56:46.= 000000000 -0400 @@ -142,6 +142,11 @@ static inline unsigned long __raw_local_ sti; \ sysexit @@ -9113,9 +9113,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/irq= flags.h linux-2.6.32.48/arch/ #else #define INTERRUPT_RETURN iret #define ENABLE_INTERRUPTS_SYSEXIT sti; sysexit -diff -urNp linux-2.6.32.48/arch/x86/include/asm/kprobes.h linux-2.6.32.4= 8/arch/x86/include/asm/kprobes.h ---- linux-2.6.32.48/arch/x86/include/asm/kprobes.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/kprobes.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/kprobes.h linux-2.6.32.4= 6/arch/x86/include/asm/kprobes.h +--- linux-2.6.32.46/arch/x86/include/asm/kprobes.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/kprobes.h 2011-04-23 12:56:12.0= 00000000 -0400 @@ -34,13 +34,8 @@ typedef u8 kprobe_opcode_t; #define BREAKPOINT_INSTRUCTION 0xcc #define RELATIVEJUMP_INSTRUCTION 0xe9 @@ -9132,9 +9132,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/kpr= obes.h linux-2.6.32.48/arch/x =20 #define flush_insn_slot(p) do { } while (0) =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/kvm_host.h linux-2.6.32.= 48/arch/x86/include/asm/kvm_host.h ---- linux-2.6.32.48/arch/x86/include/asm/kvm_host.h 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/kvm_host.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/kvm_host.h linux-2.6.32.= 46/arch/x86/include/asm/kvm_host.h +--- linux-2.6.32.46/arch/x86/include/asm/kvm_host.h 2011-05-10 22:12:01.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/kvm_host.h 2011-08-26 20:19:09.= 000000000 -0400 @@ -534,9 +534,9 @@ struct kvm_x86_ops { bool (*gb_page_enable)(void); =20 @@ -9147,9 +9147,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/kvm= _host.h linux-2.6.32.48/arch/ =20 int kvm_mmu_module_init(void); void kvm_mmu_module_exit(void); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/local.h linux-2.6.32.48/= arch/x86/include/asm/local.h ---- linux-2.6.32.48/arch/x86/include/asm/local.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/local.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/local.h linux-2.6.32.46/= arch/x86/include/asm/local.h +--- linux-2.6.32.46/arch/x86/include/asm/local.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/local.h 2011-04-17 15:56:46.000= 000000 -0400 @@ -18,26 +18,58 @@ typedef struct { =20 static inline void local_inc(local_t *l) @@ -9302,9 +9302,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/loc= al.h linux-2.6.32.48/arch/x86 : "+r" (i), "+m" (l->a.counter) : : "memory"); return i + __i; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/microcode.h linux-2.6.32= .48/arch/x86/include/asm/microcode.h ---- linux-2.6.32.48/arch/x86/include/asm/microcode.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/microcode.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/microcode.h linux-2.6.32= .46/arch/x86/include/asm/microcode.h +--- linux-2.6.32.46/arch/x86/include/asm/microcode.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/microcode.h 2011-04-17 15:56:46= .000000000 -0400 @@ -12,13 +12,13 @@ struct device; enum ucode_state { UCODE_ERROR, UCODE_OK, UCODE_NFOUND }; =20 @@ -9345,9 +9345,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/mic= rocode.h linux-2.6.32.48/arch { return NULL; } -diff -urNp linux-2.6.32.48/arch/x86/include/asm/mman.h linux-2.6.32.48/a= rch/x86/include/asm/mman.h ---- linux-2.6.32.48/arch/x86/include/asm/mman.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/mman.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/mman.h linux-2.6.32.46/a= rch/x86/include/asm/mman.h +--- linux-2.6.32.46/arch/x86/include/asm/mman.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/mman.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -5,4 +5,14 @@ =20 #include @@ -9363,9 +9363,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/mma= n.h linux-2.6.32.48/arch/x86/ +#endif + #endif /* _ASM_X86_MMAN_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/mmu_context.h linux-2.6.= 32.48/arch/x86/include/asm/mmu_context.h ---- linux-2.6.32.48/arch/x86/include/asm/mmu_context.h 2011-11-12 12:44:= 28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/mmu_context.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/mmu_context.h linux-2.6.= 32.46/arch/x86/include/asm/mmu_context.h +--- linux-2.6.32.46/arch/x86/include/asm/mmu_context.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/mmu_context.h 2011-08-23 20:24:= 19.000000000 -0400 @@ -24,6 +24,18 @@ void destroy_context(struct mm_struct *m =20 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_str= uct *tsk) @@ -9486,9 +9486,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/mmu= _context.h linux-2.6.32.48/ar } =20 #define activate_mm(prev, next) \ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/mmu.h linux-2.6.32.48/ar= ch/x86/include/asm/mmu.h ---- linux-2.6.32.48/arch/x86/include/asm/mmu.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/mmu.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/mmu.h linux-2.6.32.46/ar= ch/x86/include/asm/mmu.h +--- linux-2.6.32.46/arch/x86/include/asm/mmu.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/mmu.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -9,10 +9,23 @@ * we put the segment information here. */ @@ -9515,9 +9515,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/mmu= .h linux-2.6.32.48/arch/x86/i } mm_context_t; =20 #ifdef CONFIG_SMP -diff -urNp linux-2.6.32.48/arch/x86/include/asm/module.h linux-2.6.32.48= /arch/x86/include/asm/module.h ---- linux-2.6.32.48/arch/x86/include/asm/module.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/module.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/module.h linux-2.6.32.46= /arch/x86/include/asm/module.h +--- linux-2.6.32.46/arch/x86/include/asm/module.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/module.h 2011-10-08 08:16:59.00= 0000000 -0400 @@ -5,6 +5,7 @@ =20 #ifdef CONFIG_X86_64 @@ -9558,9 +9558,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/mod= ule.h linux-2.6.32.48/arch/x8 +#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE MODULE= _PAX_KERNEXEC MODULE_PAX_UDEREF + #endif /* _ASM_X86_MODULE_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/page_64_types.h linux-2.= 6.32.48/arch/x86/include/asm/page_64_types.h ---- linux-2.6.32.48/arch/x86/include/asm/page_64_types.h 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/page_64_types.h 2011-11-12 12:4= 6:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/page_64_types.h linux-2.= 6.32.46/arch/x86/include/asm/page_64_types.h +--- linux-2.6.32.46/arch/x86/include/asm/page_64_types.h 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/page_64_types.h 2011-04-17 15:5= 6:46.000000000 -0400 @@ -56,7 +56,7 @@ void copy_page(void *to, void *from); =20 /* duplicated to the one in bootmem.h */ @@ -9570,9 +9570,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pag= e_64_types.h linux-2.6.32.48/ =20 extern unsigned long __phys_addr(unsigned long); #define __phys_reloc_hide(x) (x) -diff -urNp linux-2.6.32.48/arch/x86/include/asm/paravirt.h linux-2.6.32.= 48/arch/x86/include/asm/paravirt.h ---- linux-2.6.32.48/arch/x86/include/asm/paravirt.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/paravirt.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/paravirt.h linux-2.6.32.= 46/arch/x86/include/asm/paravirt.h +--- linux-2.6.32.46/arch/x86/include/asm/paravirt.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/paravirt.h 2011-08-23 21:36:48.= 000000000 -0400 @@ -648,6 +648,18 @@ static inline void set_pgd(pgd_t *pgdp,=20 val); } @@ -9645,9 +9645,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/par= avirt.h linux-2.6.32.48/arch/ #endif /* CONFIG_X86_32 */ =20 #endif /* __ASSEMBLY__ */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/paravirt_types.h linux-2= .6.32.48/arch/x86/include/asm/paravirt_types.h ---- linux-2.6.32.48/arch/x86/include/asm/paravirt_types.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/paravirt_types.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/paravirt_types.h linux-2= .6.32.46/arch/x86/include/asm/paravirt_types.h +--- linux-2.6.32.46/arch/x86/include/asm/paravirt_types.h 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/paravirt_types.h 2011-08-23 20:= 24:19.000000000 -0400 @@ -78,19 +78,19 @@ struct pv_init_ops { */ unsigned (*patch)(u8 type, u16 clobber, void *insnbuf, @@ -9719,9 +9719,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/par= avirt_types.h linux-2.6.32.48 =20 /* This contains all the paravirt structures: we get a convenient * number for each function using the offset which we use to indicate -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pci_x86.h linux-2.6.32.4= 8/arch/x86/include/asm/pci_x86.h ---- linux-2.6.32.48/arch/x86/include/asm/pci_x86.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pci_x86.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/pci_x86.h linux-2.6.32.4= 6/arch/x86/include/asm/pci_x86.h +--- linux-2.6.32.46/arch/x86/include/asm/pci_x86.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/pci_x86.h 2011-04-17 15:56:46.0= 00000000 -0400 @@ -89,16 +89,16 @@ extern int (*pcibios_enable_irq)(struct=20 extern void (*pcibios_disable_irq)(struct pci_dev *dev); =20 @@ -9744,9 +9744,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pci= _x86.h linux-2.6.32.48/arch/x extern bool port_cf9_safe; =20 /* arch_initcall level */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/percpu.h linux-2.6.32.48= /arch/x86/include/asm/percpu.h ---- linux-2.6.32.48/arch/x86/include/asm/percpu.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/percpu.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/percpu.h linux-2.6.32.46= /arch/x86/include/asm/percpu.h +--- linux-2.6.32.46/arch/x86/include/asm/percpu.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/percpu.h 2011-08-17 19:33:59.00= 0000000 -0400 @@ -78,6 +78,7 @@ do { \ if (0) { \ T__ tmp__; \ @@ -9755,9 +9755,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/per= cpu.h linux-2.6.32.48/arch/x8 } \ switch (sizeof(var)) { \ case 1: \ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgalloc.h linux-2.6.32.4= 8/arch/x86/include/asm/pgalloc.h ---- linux-2.6.32.48/arch/x86/include/asm/pgalloc.h 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgalloc.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/pgalloc.h linux-2.6.32.4= 6/arch/x86/include/asm/pgalloc.h +--- linux-2.6.32.46/arch/x86/include/asm/pgalloc.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/pgalloc.h 2011-04-17 15:56:46.0= 00000000 -0400 @@ -63,6 +63,13 @@ static inline void pmd_populate_kernel(s pmd_t *pmd, pte_t *pte) { @@ -9772,9 +9772,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pga= lloc.h linux-2.6.32.48/arch/x set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE)); } =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable-2level.h linux-2= .6.32.48/arch/x86/include/asm/pgtable-2level.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable-2level.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable-2level.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/pgtable-2level.h linux-2= .6.32.46/arch/x86/include/asm/pgtable-2level.h +--- linux-2.6.32.46/arch/x86/include/asm/pgtable-2level.h 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/pgtable-2level.h 2011-04-17 15:= 56:46.000000000 -0400 @@ -18,7 +18,9 @@ static inline void native_set_pte(pte_t=20 =20 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) @@ -9785,9 +9785,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able-2level.h linux-2.6.32.48 } =20 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable_32.h linux-2.6.3= 2.48/arch/x86/include/asm/pgtable_32.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable_32.h 2011-11-12 12:44:2= 8.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable_32.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/pgtable_32.h linux-2.6.3= 2.46/arch/x86/include/asm/pgtable_32.h +--- linux-2.6.32.46/arch/x86/include/asm/pgtable_32.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/pgtable_32.h 2011-04-17 15:56:4= 6.000000000 -0400 @@ -26,9 +26,6 @@ struct mm_struct; struct vm_area_struct; @@ -9831,9 +9831,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able_32.h linux-2.6.32.48/arc /* * kern_addr_valid() is (1) for FLATMEM and (0) for * SPARSEMEM and DISCONTIGMEM -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable_32_types.h linux= -2.6.32.48/arch/x86/include/asm/pgtable_32_types.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable_32_types.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable_32_types.h 2011-11-12 1= 2:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/pgtable_32_types.h linux= -2.6.32.46/arch/x86/include/asm/pgtable_32_types.h +--- linux-2.6.32.46/arch/x86/include/asm/pgtable_32_types.h 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/pgtable_32_types.h 2011-04-17 1= 5:56:46.000000000 -0400 @@ -8,7 +8,7 @@ */ #ifdef CONFIG_X86_PAE @@ -9863,9 +9863,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able_32_types.h linux-2.6.32. #define MODULES_VADDR VMALLOC_START #define MODULES_END VMALLOC_END #define MODULES_LEN (MODULES_VADDR - MODULES_END) -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable-3level.h linux-2= .6.32.48/arch/x86/include/asm/pgtable-3level.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable-3level.h 2011-11-12 12:= 44:28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable-3level.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/pgtable-3level.h linux-2= .6.32.46/arch/x86/include/asm/pgtable-3level.h +--- linux-2.6.32.46/arch/x86/include/asm/pgtable-3level.h 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/pgtable-3level.h 2011-04-17 15:= 56:46.000000000 -0400 @@ -38,12 +38,16 @@ static inline void native_set_pte_atomic =20 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) @@ -9883,9 +9883,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able-3level.h linux-2.6.32.48 } =20 /* -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable_64.h linux-2.6.3= 2.48/arch/x86/include/asm/pgtable_64.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable_64.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable_64.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/pgtable_64.h linux-2.6.3= 2.46/arch/x86/include/asm/pgtable_64.h +--- linux-2.6.32.46/arch/x86/include/asm/pgtable_64.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/pgtable_64.h 2011-08-23 20:24:1= 9.000000000 -0400 @@ -16,10 +16,13 @@ =20 extern pud_t level3_kernel_pgt[512]; @@ -9926,9 +9926,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able_64.h linux-2.6.32.48/arc *pgdp =3D pgd; } =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable_64_types.h linux= -2.6.32.48/arch/x86/include/asm/pgtable_64_types.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable_64_types.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable_64_types.h 2011-11-12 1= 2:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/pgtable_64_types.h linux= -2.6.32.46/arch/x86/include/asm/pgtable_64_types.h +--- linux-2.6.32.46/arch/x86/include/asm/pgtable_64_types.h 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/pgtable_64_types.h 2011-04-17 1= 5:56:46.000000000 -0400 @@ -59,5 +59,10 @@ typedef struct { pteval_t pte; } pte_t; #define MODULES_VADDR _AC(0xffffffffa0000000, UL) #define MODULES_END _AC(0xffffffffff000000, UL) @@ -9940,9 +9940,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able_64_types.h linux-2.6.32. +#define ktva_ktla(addr) (addr) =20 #endif /* _ASM_X86_PGTABLE_64_DEFS_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable.h linux-2.6.32.4= 8/arch/x86/include/asm/pgtable.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/pgtable.h linux-2.6.32.4= 6/arch/x86/include/asm/pgtable.h +--- linux-2.6.32.46/arch/x86/include/asm/pgtable.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/pgtable.h 2011-08-23 20:24:19.0= 00000000 -0400 @@ -39,6 +39,7 @@ extern struct list_head pgd_list; =20 #ifndef __PAGETABLE_PUD_FOLDED @@ -10120,9 +10120,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= gtable.h linux-2.6.32.48/arch/x =20 #include #endif /* __ASSEMBLY__ */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable_types.h linux-2.= 6.32.48/arch/x86/include/asm/pgtable_types.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable_types.h 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable_types.h 2011-11-12 12:4= 6:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/pgtable_types.h linux-2.= 6.32.46/arch/x86/include/asm/pgtable_types.h +--- linux-2.6.32.46/arch/x86/include/asm/pgtable_types.h 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/pgtable_types.h 2011-04-17 15:5= 6:46.000000000 -0400 @@ -16,12 +16,11 @@ #define _PAGE_BIT_PSE 7 /* 4 MB (or 2MB) page */ #define _PAGE_BIT_PAT 7 /* on 4KB pages */ @@ -10243,9 +10243,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= gtable_types.h linux-2.6.32.48/ =20 #define pgprot_writecombine pgprot_writecombine extern pgprot_t pgprot_writecombine(pgprot_t prot); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/processor.h linux-2.6.32= .48/arch/x86/include/asm/processor.h ---- linux-2.6.32.48/arch/x86/include/asm/processor.h 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/processor.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/processor.h linux-2.6.32= .46/arch/x86/include/asm/processor.h +--- linux-2.6.32.46/arch/x86/include/asm/processor.h 2011-04-22 19:16:29= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/processor.h 2011-05-11 18:25:15= .000000000 -0400 @@ -272,7 +272,7 @@ struct tss_struct { =20 } ____cacheline_aligned; @@ -10255,7 +10255,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= rocessor.h linux-2.6.32.48/arch =20 /* * Save the original ist values for checking stack pointers during debu= gging -@@ -911,11 +911,18 @@ static inline void spin_lock_prefetch(co +@@ -888,11 +888,18 @@ static inline void spin_lock_prefetch(co */ #define TASK_SIZE PAGE_OFFSET #define TASK_SIZE_MAX TASK_SIZE @@ -10276,7 +10276,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= rocessor.h linux-2.6.32.48/arch .vm86_info =3D NULL, \ .sysenter_cs =3D __KERNEL_CS, \ .io_bitmap_ptr =3D NULL, \ -@@ -929,7 +936,7 @@ static inline void spin_lock_prefetch(co +@@ -906,7 +913,7 @@ static inline void spin_lock_prefetch(co */ #define INIT_TSS { \ .x86_tss =3D { \ @@ -10285,7 +10285,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= rocessor.h linux-2.6.32.48/arch .ss0 =3D __KERNEL_DS, \ .ss1 =3D __KERNEL_CS, \ .io_bitmap_base =3D INVALID_IO_BITMAP_OFFSET, \ -@@ -940,11 +947,7 @@ static inline void spin_lock_prefetch(co +@@ -917,11 +924,7 @@ static inline void spin_lock_prefetch(co extern unsigned long thread_saved_pc(struct task_struct *tsk); =20 #define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long)) @@ -10298,7 +10298,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= rocessor.h linux-2.6.32.48/arch =20 /* * The below -8 is to reserve 8 bytes on top of the ring0 stack. -@@ -959,7 +962,7 @@ extern unsigned long thread_saved_pc(str +@@ -936,7 +939,7 @@ extern unsigned long thread_saved_pc(str #define task_pt_regs(task) = \ ({ = \ struct pt_regs *__regs__; = \ @@ -10307,7 +10307,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= rocessor.h linux-2.6.32.48/arch __regs__ - 1; = \ }) =20 -@@ -969,13 +972,13 @@ extern unsigned long thread_saved_pc(str +@@ -946,13 +949,13 @@ extern unsigned long thread_saved_pc(str /* * User space process size. 47bits minus one guard page. */ @@ -10323,7 +10323,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= rocessor.h linux-2.6.32.48/arch =20 #define TASK_SIZE (test_thread_flag(TIF_IA32) ? \ IA32_PAGE_OFFSET : TASK_SIZE_MAX) -@@ -986,11 +989,11 @@ extern unsigned long thread_saved_pc(str +@@ -963,11 +966,11 @@ extern unsigned long thread_saved_pc(str #define STACK_TOP_MAX TASK_SIZE_MAX =20 #define INIT_THREAD { \ @@ -10337,7 +10337,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= rocessor.h linux-2.6.32.48/arch } =20 /* -@@ -1012,6 +1015,10 @@ extern void start_thread(struct pt_regs=20 +@@ -989,6 +992,10 @@ extern void start_thread(struct pt_regs=20 */ #define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3)) =20 @@ -10348,9 +10348,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= rocessor.h linux-2.6.32.48/arch #define KSTK_EIP(task) (task_pt_regs(task)->ip) =20 /* Get/set a process' ability to use the timestamp counter instruction = */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/ptrace.h linux-2.6.32.48= /arch/x86/include/asm/ptrace.h ---- linux-2.6.32.48/arch/x86/include/asm/ptrace.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/ptrace.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/ptrace.h linux-2.6.32.46= /arch/x86/include/asm/ptrace.h +--- linux-2.6.32.46/arch/x86/include/asm/ptrace.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/ptrace.h 2011-04-17 15:56:46.00= 0000000 -0400 @@ -151,28 +151,29 @@ static inline unsigned long regs_return_ } =20 @@ -10387,9 +10387,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= trace.h linux-2.6.32.48/arch/x8 #endif } =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/reboot.h linux-2.6.32.48= /arch/x86/include/asm/reboot.h ---- linux-2.6.32.48/arch/x86/include/asm/reboot.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/reboot.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/reboot.h linux-2.6.32.46= /arch/x86/include/asm/reboot.h +--- linux-2.6.32.46/arch/x86/include/asm/reboot.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/reboot.h 2011-08-05 20:33:55.00= 0000000 -0400 @@ -6,19 +6,19 @@ struct pt_regs; =20 @@ -10416,9 +10416,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/r= eboot.h linux-2.6.32.48/arch/x8 =20 typedef void (*nmi_shootdown_cb)(int, struct die_args*); void nmi_shootdown_cpus(nmi_shootdown_cb callback); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/rwsem.h linux-2.6.32.48/= arch/x86/include/asm/rwsem.h ---- linux-2.6.32.48/arch/x86/include/asm/rwsem.h 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/rwsem.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/rwsem.h linux-2.6.32.46/= arch/x86/include/asm/rwsem.h +--- linux-2.6.32.46/arch/x86/include/asm/rwsem.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/rwsem.h 2011-04-17 15:56:46.000= 000000 -0400 @@ -118,6 +118,14 @@ static inline void __down_read(struct rw { asm volatile("# beginning down_read\n\t" @@ -10543,9 +10543,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/r= wsem.h linux-2.6.32.48/arch/x86 : "+r" (tmp), "+m" (sem->count) : : "memory"); =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/segment.h linux-2.6.32.4= 8/arch/x86/include/asm/segment.h ---- linux-2.6.32.48/arch/x86/include/asm/segment.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/segment.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/segment.h linux-2.6.32.4= 6/arch/x86/include/asm/segment.h +--- linux-2.6.32.46/arch/x86/include/asm/segment.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/segment.h 2011-10-06 09:37:08.0= 00000000 -0400 @@ -62,10 +62,15 @@ * 26 - ESPFIX small SS * 27 - per-cpu [ offset to per-cpu data area ] @@ -10621,9 +10621,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/s= egment.h linux-2.6.32.48/arch/x #define __KERNEL_DS (GDT_ENTRY_KERNEL_DS * 8) #define __USER_DS (GDT_ENTRY_DEFAULT_USER_DS* 8 + 3) #define __USER_CS (GDT_ENTRY_DEFAULT_USER_CS* 8 + 3) -diff -urNp linux-2.6.32.48/arch/x86/include/asm/smp.h linux-2.6.32.48/ar= ch/x86/include/asm/smp.h ---- linux-2.6.32.48/arch/x86/include/asm/smp.h 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/smp.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/smp.h linux-2.6.32.46/ar= ch/x86/include/asm/smp.h +--- linux-2.6.32.46/arch/x86/include/asm/smp.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/smp.h 2011-08-05 20:33:55.00000= 0000 -0400 @@ -24,7 +24,7 @@ extern unsigned int num_processors; DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_map); DECLARE_PER_CPU(cpumask_var_t, cpu_core_map); @@ -10671,9 +10671,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/s= mp.h linux-2.6.32.48/arch/x86/i #define safe_smp_processor_id() smp_processor_id() =20 #endif -diff -urNp linux-2.6.32.48/arch/x86/include/asm/spinlock.h linux-2.6.32.= 48/arch/x86/include/asm/spinlock.h ---- linux-2.6.32.48/arch/x86/include/asm/spinlock.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/spinlock.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/spinlock.h linux-2.6.32.= 46/arch/x86/include/asm/spinlock.h +--- linux-2.6.32.46/arch/x86/include/asm/spinlock.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/spinlock.h 2011-04-17 15:56:46.= 000000000 -0400 @@ -249,6 +249,14 @@ static inline int __raw_write_can_lock(r static inline void __raw_read_lock(raw_rwlock_t *rw) { @@ -10736,9 +10736,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/s= pinlock.h linux-2.6.32.48/arch/ : "+m" (rw->lock) : "i" (RW_LOCK_BIAS) : "memory"); } =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/stackprotector.h linux-2= .6.32.48/arch/x86/include/asm/stackprotector.h ---- linux-2.6.32.48/arch/x86/include/asm/stackprotector.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/stackprotector.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/stackprotector.h linux-2= .6.32.46/arch/x86/include/asm/stackprotector.h +--- linux-2.6.32.46/arch/x86/include/asm/stackprotector.h 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/stackprotector.h 2011-07-06 19:= 53:33.000000000 -0400 @@ -48,7 +48,7 @@ * head_32 for boot CPU and setup_per_cpu_areas() for others. */ @@ -10757,9 +10757,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/s= tackprotector.h linux-2.6.32.48 asm volatile ("mov %0, %%gs" : : "r" (0)); #endif } -diff -urNp linux-2.6.32.48/arch/x86/include/asm/system.h linux-2.6.32.48= /arch/x86/include/asm/system.h ---- linux-2.6.32.48/arch/x86/include/asm/system.h 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/system.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/system.h linux-2.6.32.46= /arch/x86/include/asm/system.h +--- linux-2.6.32.46/arch/x86/include/asm/system.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/system.h 2011-05-22 23:02:03.00= 0000000 -0400 @@ -132,7 +132,7 @@ do { \ "thread_return:\n\t" \ "movq "__percpu_arg([current_task])",%%rsi\n\t" \ @@ -10802,9 +10802,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/s= ystem.h linux-2.6.32.48/arch/x8 =20 /* * Force strict CPU ordering. -diff -urNp linux-2.6.32.48/arch/x86/include/asm/thread_info.h linux-2.6.= 32.48/arch/x86/include/asm/thread_info.h ---- linux-2.6.32.48/arch/x86/include/asm/thread_info.h 2011-11-12 12:44:= 28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/thread_info.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/thread_info.h linux-2.6.= 32.46/arch/x86/include/asm/thread_info.h +--- linux-2.6.32.46/arch/x86/include/asm/thread_info.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/thread_info.h 2011-05-17 19:26:= 34.000000000 -0400 @@ -10,6 +10,7 @@ #include #include @@ -10952,9 +10952,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/t= hread_info.h linux-2.6.32.48/ar + #endif #endif /* _ASM_X86_THREAD_INFO_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/uaccess_32.h linux-2.6.3= 2.48/arch/x86/include/asm/uaccess_32.h ---- linux-2.6.32.48/arch/x86/include/asm/uaccess_32.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/uaccess_32.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/uaccess_32.h linux-2.6.3= 2.46/arch/x86/include/asm/uaccess_32.h +--- linux-2.6.32.46/arch/x86/include/asm/uaccess_32.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/uaccess_32.h 2011-05-16 21:46:5= 7.000000000 -0400 @@ -44,6 +44,11 @@ unsigned long __must_check __copy_from_u static __always_inline unsigned long __must_check __copy_to_user_inatomic(void __user *to, const void *from, unsigned lon= g n) @@ -11095,9 +11095,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access_32.h linux-2.6.32.48/arc long __must_check strncpy_from_user(char *dst, const char __user *src, long count); long __must_check __strncpy_from_user(char *dst, -diff -urNp linux-2.6.32.48/arch/x86/include/asm/uaccess_64.h linux-2.6.3= 2.48/arch/x86/include/asm/uaccess_64.h ---- linux-2.6.32.48/arch/x86/include/asm/uaccess_64.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/uaccess_64.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/uaccess_64.h linux-2.6.3= 2.46/arch/x86/include/asm/uaccess_64.h +--- linux-2.6.32.46/arch/x86/include/asm/uaccess_64.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/uaccess_64.h 2011-10-06 09:37:0= 8.000000000 -0400 @@ -9,6 +9,9 @@ #include #include @@ -11481,9 +11481,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access_64.h linux-2.6.32.48/arc +copy_user_handle_tail(char __user *to, char __user *from, unsigned len,= unsigned zerorest); =20 #endif /* _ASM_X86_UACCESS_64_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/uaccess.h linux-2.6.32.4= 8/arch/x86/include/asm/uaccess.h ---- linux-2.6.32.48/arch/x86/include/asm/uaccess.h 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/uaccess.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/uaccess.h linux-2.6.32.4= 6/arch/x86/include/asm/uaccess.h +--- linux-2.6.32.46/arch/x86/include/asm/uaccess.h 2011-06-25 12:55:34.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/uaccess.h 2011-10-06 09:37:08.0= 00000000 -0400 @@ -8,12 +8,15 @@ #include #include @@ -11711,9 +11711,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x #ifdef CONFIG_X86_32 # include "uaccess_32.h" #else -diff -urNp linux-2.6.32.48/arch/x86/include/asm/vdso.h linux-2.6.32.48/a= rch/x86/include/asm/vdso.h ---- linux-2.6.32.48/arch/x86/include/asm/vdso.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/vdso.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/vdso.h linux-2.6.32.46/a= rch/x86/include/asm/vdso.h +--- linux-2.6.32.46/arch/x86/include/asm/vdso.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/vdso.h 2011-10-06 09:37:14.0000= 00000 -0400 @@ -25,7 +25,7 @@ extern const char VDSO32_PRELINK[]; #define VDSO32_SYMBOL(base, name) \ ({ \ @@ -11723,9 +11723,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/v= dso.h linux-2.6.32.48/arch/x86/ }) #endif =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/vgtod.h linux-2.6.32.48/= arch/x86/include/asm/vgtod.h ---- linux-2.6.32.48/arch/x86/include/asm/vgtod.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/vgtod.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/vgtod.h linux-2.6.32.46/= arch/x86/include/asm/vgtod.h +--- linux-2.6.32.46/arch/x86/include/asm/vgtod.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/vgtod.h 2011-04-17 15:56:46.000= 000000 -0400 @@ -14,6 +14,7 @@ struct vsyscall_gtod_data { int sysctl_enabled; struct timezone sys_tz; @@ -11734,9 +11734,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/v= gtod.h linux-2.6.32.48/arch/x86 cycle_t (*vread)(void); cycle_t cycle_last; cycle_t mask; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/vmi.h linux-2.6.32.48/ar= ch/x86/include/asm/vmi.h ---- linux-2.6.32.48/arch/x86/include/asm/vmi.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/vmi.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/vmi.h linux-2.6.32.46/ar= ch/x86/include/asm/vmi.h +--- linux-2.6.32.46/arch/x86/include/asm/vmi.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/vmi.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -191,6 +191,7 @@ struct vrom_header { u8 reserved[96]; /* Reserved for headers */ char vmi_init[8]; /* VMI_Init jump point */ @@ -11745,9 +11745,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/v= mi.h linux-2.6.32.48/arch/x86/i } __attribute__((packed)); =20 struct pnp_header { -diff -urNp linux-2.6.32.48/arch/x86/include/asm/vmi_time.h linux-2.6.32.= 48/arch/x86/include/asm/vmi_time.h ---- linux-2.6.32.48/arch/x86/include/asm/vmi_time.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/vmi_time.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/vmi_time.h linux-2.6.32.= 46/arch/x86/include/asm/vmi_time.h +--- linux-2.6.32.46/arch/x86/include/asm/vmi_time.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/vmi_time.h 2011-08-05 20:33:55.= 000000000 -0400 @@ -43,7 +43,7 @@ extern struct vmi_timer_ops { int (*wallclock_updated)(void); void (*set_alarm)(u32 flags, u64 expiry, u64 period); @@ -11757,9 +11757,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/v= mi_time.h linux-2.6.32.48/arch/ =20 /* Prototypes */ extern void __init vmi_time_init(void); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/vsyscall.h linux-2.6.32.= 48/arch/x86/include/asm/vsyscall.h ---- linux-2.6.32.48/arch/x86/include/asm/vsyscall.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/vsyscall.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/vsyscall.h linux-2.6.32.= 46/arch/x86/include/asm/vsyscall.h +--- linux-2.6.32.46/arch/x86/include/asm/vsyscall.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/vsyscall.h 2011-04-17 15:56:46.= 000000000 -0400 @@ -15,9 +15,10 @@ enum vsyscall_num { =20 #ifdef __KERNEL__ @@ -11790,9 +11790,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/v= syscall.h linux-2.6.32.48/arch/ #endif /* __KERNEL__ */ =20 #endif /* _ASM_X86_VSYSCALL_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/x86_init.h linux-2.6.32.= 48/arch/x86/include/asm/x86_init.h ---- linux-2.6.32.48/arch/x86/include/asm/x86_init.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/x86_init.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/x86_init.h linux-2.6.32.= 46/arch/x86/include/asm/x86_init.h +--- linux-2.6.32.46/arch/x86/include/asm/x86_init.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/x86_init.h 2011-08-05 20:33:55.= 000000000 -0400 @@ -28,7 +28,7 @@ struct x86_init_mpparse { void (*mpc_oem_bus_info)(struct mpc_bus *m, char *name); void (*find_smp_config)(unsigned int reserve); @@ -11874,9 +11874,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/x= 86_init.h linux-2.6.32.48/arch/ =20 extern struct x86_init_ops x86_init; extern struct x86_cpuinit_ops x86_cpuinit; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/xsave.h linux-2.6.32.48/= arch/x86/include/asm/xsave.h ---- linux-2.6.32.48/arch/x86/include/asm/xsave.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/xsave.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/include/asm/xsave.h linux-2.6.32.46/= arch/x86/include/asm/xsave.h +--- linux-2.6.32.46/arch/x86/include/asm/xsave.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/include/asm/xsave.h 2011-10-06 09:37:08.000= 000000 -0400 @@ -56,6 +56,12 @@ static inline int xrstor_checking(struct static inline int xsave_user(struct xsave_struct __user *buf) { @@ -11907,9 +11907,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/x= save.h linux-2.6.32.48/arch/x86 __asm__ __volatile__("1: .byte " REX_PREFIX "0x0f,0xae,0x2f\n" "2:\n" ".section .fixup,\"ax\"\n" -diff -urNp linux-2.6.32.48/arch/x86/Kconfig linux-2.6.32.48/arch/x86/Kco= nfig ---- linux-2.6.32.48/arch/x86/Kconfig 2011-11-12 12:44:28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/Kconfig 2011-11-12 12:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/Kconfig linux-2.6.32.46/arch/x86/Kco= nfig +--- linux-2.6.32.46/arch/x86/Kconfig 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/Kconfig 2011-10-07 08:11:49.000000000 -0400 @@ -223,7 +223,7 @@ config X86_TRAMPOLINE =20 config X86_32_LAZY_GS @@ -11982,9 +11982,9 @@ diff -urNp linux-2.6.32.48/arch/x86/Kconfig linux= -2.6.32.48/arch/x86/Kconfig ---help--- Map the 32-bit VDSO to the predictable old-style address too. ---help--- -diff -urNp linux-2.6.32.48/arch/x86/Kconfig.cpu linux-2.6.32.48/arch/x86= /Kconfig.cpu ---- linux-2.6.32.48/arch/x86/Kconfig.cpu 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/arch/x86/Kconfig.cpu 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/arch/x86/Kconfig.cpu linux-2.6.32.46/arch/x86= /Kconfig.cpu +--- linux-2.6.32.46/arch/x86/Kconfig.cpu 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/arch/x86/Kconfig.cpu 2011-04-17 15:56:46.000000000 -= 0400 @@ -340,7 +340,7 @@ config X86_PPRO_FENCE =20 config X86_F00F_BUG @@ -12012,9 +12012,9 @@ diff -urNp linux-2.6.32.48/arch/x86/Kconfig.cpu l= inux-2.6.32.48/arch/x86/Kconfig =20 config X86_MINIMUM_CPU_FAMILY int -diff -urNp linux-2.6.32.48/arch/x86/Kconfig.debug linux-2.6.32.48/arch/x= 86/Kconfig.debug ---- linux-2.6.32.48/arch/x86/Kconfig.debug 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/Kconfig.debug 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/Kconfig.debug linux-2.6.32.46/arch/x= 86/Kconfig.debug +--- linux-2.6.32.46/arch/x86/Kconfig.debug 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/Kconfig.debug 2011-04-17 15:56:46.000000000= -0400 @@ -99,7 +99,7 @@ config X86_PTDUMP config DEBUG_RODATA bool "Write protect kernel read-only data structures" @@ -12024,9 +12024,9 @@ diff -urNp linux-2.6.32.48/arch/x86/Kconfig.debug= linux-2.6.32.48/arch/x86/Kconf ---help--- Mark the kernel read-only data as write-protected in the pagetables, in order to catch accidental (and incorrect) writes to such const -diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/realmode/Makefile linux-= 2.6.32.48/arch/x86/kernel/acpi/realmode/Makefile ---- linux-2.6.32.48/arch/x86/kernel/acpi/realmode/Makefile 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/acpi/realmode/Makefile 2011-11-12 12= :46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/acpi/realmode/Makefile linux-= 2.6.32.46/arch/x86/kernel/acpi/realmode/Makefile +--- linux-2.6.32.46/arch/x86/kernel/acpi/realmode/Makefile 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/acpi/realmode/Makefile 2011-08-07 14= :38:58.000000000 -0400 @@ -41,6 +41,9 @@ KBUILD_CFLAGS :=3D $(LINUXINCLUDE) -g -Os=20 $(call cc-option, -fno-stack-protector) \ $(call cc-option, -mpreferred-stack-boundary=3D2) @@ -12037,9 +12037,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/r= ealmode/Makefile linux-2.6.32.4 KBUILD_AFLAGS :=3D $(KBUILD_CFLAGS) -D__ASSEMBLY__ GCOV_PROFILE :=3D n =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/realmode/wakeup.S linux-= 2.6.32.48/arch/x86/kernel/acpi/realmode/wakeup.S ---- linux-2.6.32.48/arch/x86/kernel/acpi/realmode/wakeup.S 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/acpi/realmode/wakeup.S 2011-11-12 12= :46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/acpi/realmode/wakeup.S linux-= 2.6.32.46/arch/x86/kernel/acpi/realmode/wakeup.S +--- linux-2.6.32.46/arch/x86/kernel/acpi/realmode/wakeup.S 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/acpi/realmode/wakeup.S 2011-07-01 18= :53:40.000000000 -0400 @@ -91,6 +91,9 @@ _start: /* Do any other stuff... */ =20 @@ -12067,9 +12067,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/r= ealmode/wakeup.S linux-2.6.32.4 #else pushw $0 pushw trampoline_segment -diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/sleep.c linux-2.6.32.48/= arch/x86/kernel/acpi/sleep.c ---- linux-2.6.32.48/arch/x86/kernel/acpi/sleep.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/acpi/sleep.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/acpi/sleep.c linux-2.6.32.46/= arch/x86/kernel/acpi/sleep.c +--- linux-2.6.32.46/arch/x86/kernel/acpi/sleep.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/acpi/sleep.c 2011-07-01 19:01:34.000= 000000 -0400 @@ -11,11 +11,12 @@ #include #include @@ -12116,9 +12116,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/s= leep.c linux-2.6.32.48/arch/x86 } =20 =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/wakeup_32.S linux-2.6.32= .48/arch/x86/kernel/acpi/wakeup_32.S ---- linux-2.6.32.48/arch/x86/kernel/acpi/wakeup_32.S 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/acpi/wakeup_32.S 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/acpi/wakeup_32.S linux-2.6.32= .46/arch/x86/kernel/acpi/wakeup_32.S +--- linux-2.6.32.46/arch/x86/kernel/acpi/wakeup_32.S 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/acpi/wakeup_32.S 2011-04-17 15:56:46= .000000000 -0400 @@ -30,13 +30,11 @@ wakeup_pmode_return: # and restore the stack ... but you need gdt for this to work movl saved_context_esp, %esp @@ -12135,9 +12135,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/w= akeup_32.S linux-2.6.32.48/arch =20 bogus_magic: jmp bogus_magic -diff -urNp linux-2.6.32.48/arch/x86/kernel/alternative.c linux-2.6.32.48= /arch/x86/kernel/alternative.c ---- linux-2.6.32.48/arch/x86/kernel/alternative.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/alternative.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/alternative.c linux-2.6.32.46= /arch/x86/kernel/alternative.c +--- linux-2.6.32.46/arch/x86/kernel/alternative.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/alternative.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -407,7 +407,7 @@ void __init_or_module apply_paravirt(str =20 BUG_ON(p->len > MAX_PATCH_LEN); @@ -12220,9 +12220,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/altern= ative.c linux-2.6.32.48/arch/x8 + BUG_ON((vaddr)[i] !=3D ((const unsigned char *)opcode)[i]); return addr; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/amd_iommu.c linux-2.6.32.48/a= rch/x86/kernel/amd_iommu.c ---- linux-2.6.32.48/arch/x86/kernel/amd_iommu.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/amd_iommu.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/amd_iommu.c linux-2.6.32.46/a= rch/x86/kernel/amd_iommu.c +--- linux-2.6.32.46/arch/x86/kernel/amd_iommu.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/amd_iommu.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -2076,7 +2076,7 @@ static void prealloc_protection_domains( } } @@ -12232,9 +12232,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/amd_io= mmu.c linux-2.6.32.48/arch/x86/ .alloc_coherent =3D alloc_coherent, .free_coherent =3D free_coherent, .map_page =3D map_page, -diff -urNp linux-2.6.32.48/arch/x86/kernel/apic/apic.c linux-2.6.32.48/a= rch/x86/kernel/apic/apic.c ---- linux-2.6.32.48/arch/x86/kernel/apic/apic.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/apic/apic.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/apic/apic.c linux-2.6.32.46/a= rch/x86/kernel/apic/apic.c +--- linux-2.6.32.46/arch/x86/kernel/apic/apic.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/apic/apic.c 2011-08-17 20:00:16.0000= 00000 -0400 @@ -170,7 +170,7 @@ int first_system_vector =3D 0xfe; /* * Debug level, exported for io_apic.c @@ -12262,9 +12262,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apic/a= pic.c linux-2.6.32.48/arch/x86/ bios_cpu_apicid =3D early_per_cpu_ptr(x86_bios_cpu_apicid); bitmap_zero(clustermap, NUM_APIC_CLUSTERS); =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/apic/io_apic.c linux-2.6.32.4= 8/arch/x86/kernel/apic/io_apic.c ---- linux-2.6.32.48/arch/x86/kernel/apic/io_apic.c 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/apic/io_apic.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/apic/io_apic.c linux-2.6.32.4= 6/arch/x86/kernel/apic/io_apic.c +--- linux-2.6.32.46/arch/x86/kernel/apic/io_apic.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/apic/io_apic.c 2011-05-04 17:56:20.0= 00000000 -0400 @@ -716,7 +716,7 @@ struct IO_APIC_route_entry **alloc_ioapi ioapic_entries =3D kzalloc(sizeof(*ioapic_entries) * nr_ioapics, GFP_ATOMIC); @@ -12319,9 +12319,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apic/i= o_apic.c linux-2.6.32.48/arch/x spin_lock(&ioapic_lock); __mask_and_edge_IO_APIC_irq(cfg); __unmask_and_level_IO_APIC_irq(cfg); -diff -urNp linux-2.6.32.48/arch/x86/kernel/apm_32.c linux-2.6.32.48/arch= /x86/kernel/apm_32.c ---- linux-2.6.32.48/arch/x86/kernel/apm_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/apm_32.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/apm_32.c linux-2.6.32.46/arch= /x86/kernel/apm_32.c +--- linux-2.6.32.46/arch/x86/kernel/apm_32.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/apm_32.c 2011-04-23 12:56:10.0000000= 00 -0400 @@ -410,7 +410,7 @@ static DEFINE_SPINLOCK(user_list_lock); * This is for buggy BIOS's that refer to (real mode) segment 0x40 * even though they are called in protected mode. @@ -12402,9 +12402,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apm_32= .c linux-2.6.32.48/arch/x86/ker =20 proc_create("apm", 0, NULL, &apm_file_ops); =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/asm-offsets_32.c linux-2.6.32= .48/arch/x86/kernel/asm-offsets_32.c ---- linux-2.6.32.48/arch/x86/kernel/asm-offsets_32.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/asm-offsets_32.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/asm-offsets_32.c linux-2.6.32= .46/arch/x86/kernel/asm-offsets_32.c +--- linux-2.6.32.46/arch/x86/kernel/asm-offsets_32.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/asm-offsets_32.c 2011-05-16 21:46:57= .000000000 -0400 @@ -51,7 +51,6 @@ void foo(void) OFFSET(CPUINFO_x86_vendor_id, cpuinfo_x86, x86_vendor_id); BLANK(); @@ -12442,9 +12442,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/asm-of= fsets_32.c linux-2.6.32.48/arch #endif =20 #ifdef CONFIG_XEN -diff -urNp linux-2.6.32.48/arch/x86/kernel/asm-offsets_64.c linux-2.6.32= .48/arch/x86/kernel/asm-offsets_64.c ---- linux-2.6.32.48/arch/x86/kernel/asm-offsets_64.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/asm-offsets_64.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/asm-offsets_64.c linux-2.6.32= .46/arch/x86/kernel/asm-offsets_64.c +--- linux-2.6.32.46/arch/x86/kernel/asm-offsets_64.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/asm-offsets_64.c 2011-08-23 20:24:19= .000000000 -0400 @@ -44,6 +44,8 @@ int main(void) ENTRY(addr_limit); ENTRY(preempt_count); @@ -12489,9 +12489,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/asm-of= fsets_64.c linux-2.6.32.48/arch #ifdef CONFIG_XEN BLANK(); OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask); -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/amd.c linux-2.6.32.48/arc= h/x86/kernel/cpu/amd.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/amd.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/amd.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/amd.c linux-2.6.32.46/arc= h/x86/kernel/cpu/amd.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/amd.c 2011-06-25 12:55:34.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/amd.c 2011-06-25 12:56:37.000000= 000 -0400 @@ -602,7 +602,7 @@ static unsigned int __cpuinit amd_size_c unsigned int size) { @@ -12501,9 +12501,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/am= d.c linux-2.6.32.48/arch/x86/ke /* Duron Rev A0 */ if (c->x86_model =3D=3D 3 && c->x86_mask =3D=3D 0) size =3D 64; -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/common.c linux-2.6.32.48/= arch/x86/kernel/cpu/common.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/common.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/common.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/common.c linux-2.6.32.46/= arch/x86/kernel/cpu/common.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/common.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/common.c 2011-05-11 18:25:15.000= 000000 -0400 @@ -83,60 +83,6 @@ static const struct cpu_dev __cpuinitcon =20 static const struct cpu_dev *this_cpu __cpuinitdata =3D &default_cpu; @@ -12648,9 +12648,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/co= mmon.c linux-2.6.32.48/arch/x86 struct thread_struct *thread =3D &curr->thread; =20 if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) { -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/intel.c linux-2.6.32.48/a= rch/x86/kernel/cpu/intel.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/intel.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/intel.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/intel.c linux-2.6.32.46/a= rch/x86/kernel/cpu/intel.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/intel.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/intel.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -162,7 +162,7 @@ static void __cpuinit trap_init_f00f_bug * Update the IDT descriptor and reload the IDT so that * it uses the read-only mapped virtual address. @@ -12660,9 +12660,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/in= tel.c linux-2.6.32.48/arch/x86/ load_idt(&idt_descr); } #endif -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/intel_cacheinfo.c linux-2= .6.32.48/arch/x86/kernel/cpu/intel_cacheinfo.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/intel_cacheinfo.c 2011-11-12 12:= 44:28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/intel_cacheinfo.c 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/intel_cacheinfo.c linux-2= .6.32.46/arch/x86/kernel/cpu/intel_cacheinfo.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/intel_cacheinfo.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/intel_cacheinfo.c 2011-04-17 15:= 56:46.000000000 -0400 @@ -921,7 +921,7 @@ static ssize_t store(struct kobject *kob return ret; } @@ -12672,9 +12672,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/in= tel_cacheinfo.c linux-2.6.32.48 .show =3D show, .store =3D store, }; -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/Makefile linux-2.6.32.48/= arch/x86/kernel/cpu/Makefile ---- linux-2.6.32.48/arch/x86/kernel/cpu/Makefile 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/Makefile 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/Makefile linux-2.6.32.46/= arch/x86/kernel/cpu/Makefile +--- linux-2.6.32.46/arch/x86/kernel/cpu/Makefile 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/Makefile 2011-04-17 15:56:46.000= 000000 -0400 @@ -7,10 +7,6 @@ ifdef CONFIG_FUNCTION_TRACER CFLAGS_REMOVE_common.o =3D -pg endif @@ -12686,9 +12686,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/Ma= kefile linux-2.6.32.48/arch/x86 obj-y :=3D intel_cacheinfo.o addon_cpuid_features.o obj-y +=3D proc.o capflags.o powerflags.o common.o obj-y +=3D vmware.o hypervisor.o sched.o -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce_amd.c linux-2.= 6.32.48/arch/x86/kernel/cpu/mcheck/mce_amd.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce_amd.c 2011-11-12 12:4= 4:28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce_amd.c 2011-11-12 12:4= 6:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/mcheck/mce_amd.c linux-2.= 6.32.46/arch/x86/kernel/cpu/mcheck/mce_amd.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/mcheck/mce_amd.c 2011-05-23 16:5= 6:59.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/mcheck/mce_amd.c 2011-05-23 16:5= 7:13.000000000 -0400 @@ -385,7 +385,7 @@ static ssize_t store(struct kobject *kob return ret; } @@ -12698,9 +12698,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce_amd.c linux-2.6.32.48/ .show =3D show, .store =3D store, }; -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce.c linux-2.6.32= .48/arch/x86/kernel/cpu/mcheck/mce.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/mcheck/mce.c linux-2.6.32= .46/arch/x86/kernel/cpu/mcheck/mce.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/mcheck/mce.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/mcheck/mce.c 2011-05-04 17:56:20= .000000000 -0400 @@ -43,6 +43,7 @@ #include #include @@ -12802,9 +12802,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce.c linux-2.6.32.48/arch atomic_set(&mce_executing, 0); atomic_set(&mce_callin, 0); atomic_set(&global_nwo, 0); -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce-inject.c linux= -2.6.32.48/arch/x86/kernel/cpu/mcheck/mce-inject.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce-inject.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-11-12 1= 2:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/mcheck/mce-inject.c linux= -2.6.32.46/arch/x86/kernel/cpu/mcheck/mce-inject.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-08-05 2= 0:33:55.000000000 -0400 @@ -211,7 +211,9 @@ static ssize_t mce_write(struct file *fi static int inject_init(void) { @@ -12816,9 +12816,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce-inject.c linux-2.6.32. register_die_notifier(&mce_raise_nb); return 0; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/amd.c linux-2.6.32.4= 8/arch/x86/kernel/cpu/mtrr/amd.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/amd.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/amd.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/amd.c linux-2.6.32.4= 6/arch/x86/kernel/cpu/mtrr/amd.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/amd.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/amd.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -108,7 +108,7 @@ amd_validate_add_page(unsigned long base return 0; } @@ -12828,9 +12828,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mt= rr/amd.c linux-2.6.32.48/arch/x .vendor =3D X86_VENDOR_AMD, .set =3D amd_set_mtrr, .get =3D amd_get_mtrr, -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/centaur.c linux-2.6.= 32.48/arch/x86/kernel/cpu/mtrr/centaur.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/centaur.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/centaur.c 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/centaur.c linux-2.6.= 32.46/arch/x86/kernel/cpu/mtrr/centaur.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/centaur.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/centaur.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -110,7 +110,7 @@ centaur_validate_add_page(unsigned long=20 return 0; } @@ -12840,9 +12840,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mt= rr/centaur.c linux-2.6.32.48/ar .vendor =3D X86_VENDOR_CENTAUR, .set =3D centaur_set_mcr, .get =3D centaur_get_mcr, -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/cyrix.c linux-2.6.32= .48/arch/x86/kernel/cpu/mtrr/cyrix.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/cyrix.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/cyrix.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/cyrix.c linux-2.6.32= .46/arch/x86/kernel/cpu/mtrr/cyrix.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/cyrix.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/cyrix.c 2011-04-17 15:56:46= .000000000 -0400 @@ -265,7 +265,7 @@ static void cyrix_set_all(void) post_set(); } @@ -12852,9 +12852,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mt= rr/cyrix.c linux-2.6.32.48/arch .vendor =3D X86_VENDOR_CYRIX, .set_all =3D cyrix_set_all, .set =3D cyrix_set_arr, -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/generic.c linux-2.6.= 32.48/arch/x86/kernel/cpu/mtrr/generic.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/generic.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/generic.c 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/generic.c linux-2.6.= 32.46/arch/x86/kernel/cpu/mtrr/generic.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/generic.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/generic.c 2011-04-23 12:56:= 10.000000000 -0400 @@ -752,7 +752,7 @@ int positive_have_wrcomb(void) /* * Generic structure... @@ -12864,9 +12864,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mt= rr/generic.c linux-2.6.32.48/ar .use_intel_if =3D 1, .set_all =3D generic_set_all, .get =3D generic_get_mtrr, -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/main.c linux-2.6.32.= 48/arch/x86/kernel/cpu/mtrr/main.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/main.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/main.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/main.c linux-2.6.32.= 46/arch/x86/kernel/cpu/mtrr/main.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/main.c 2011-04-17 17:00:52.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/main.c 2011-04-17 17:03:05.= 000000000 -0400 @@ -60,14 +60,14 @@ static DEFINE_MUTEX(mtrr_mutex); u64 size_or_mask, size_and_mask; static bool mtrr_aps_delayed_init; @@ -12885,9 +12885,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mt= rr/main.c linux-2.6.32.48/arch/ { if (ops->vendor && ops->vendor < X86_VENDOR_NUM) mtrr_ops[ops->vendor] =3D ops; -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/mtrr.h linux-2.6.32.= 48/arch/x86/kernel/cpu/mtrr/mtrr.h ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/mtrr.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/mtrr.h linux-2.6.32.= 46/arch/x86/kernel/cpu/mtrr/mtrr.h +--- linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-08-26 20:23:57.= 000000000 -0400 @@ -25,14 +25,14 @@ struct mtrr_ops { int (*validate_add_page)(unsigned long base, unsigned long size, unsigned int type); @@ -12918,9 +12918,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mt= rr/mtrr.h linux-2.6.32.48/arch/ =20 #define is_cpu(vnd) (mtrr_if && mtrr_if->vendor =3D=3D X86_VENDOR_##vnd= ) #define use_intel() (mtrr_if && mtrr_if->use_intel_if =3D=3D 1) -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/perfctr-watchdog.c linux-= 2.6.32.48/arch/x86/kernel/cpu/perfctr-watchdog.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/perfctr-watchdog.c 2011-11-12 12= :44:28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/perfctr-watchdog.c 2011-11-12 12= :46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/perfctr-watchdog.c linux-= 2.6.32.46/arch/x86/kernel/cpu/perfctr-watchdog.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/perfctr-watchdog.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/perfctr-watchdog.c 2011-04-17 15= :56:46.000000000 -0400 @@ -30,11 +30,11 @@ struct nmi_watchdog_ctlblk { =20 /* Interface defining a CPU specific perfctr watchdog */ @@ -12954,9 +12954,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/pe= rfctr-watchdog.c linux-2.6.32.4 static struct wd_ops intel_arch_wd_ops __read_mostly =3D { .reserve =3D single_msr_reserve, .unreserve =3D single_msr_unreserve, -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/perf_event.c linux-2.6.32= .48/arch/x86/kernel/cpu/perf_event.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/perf_event.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/perf_event.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/cpu/perf_event.c linux-2.6.32= .46/arch/x86/kernel/cpu/perf_event.c +--- linux-2.6.32.46/arch/x86/kernel/cpu/perf_event.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/cpu/perf_event.c 2011-05-04 17:56:20= .000000000 -0400 @@ -723,10 +723,10 @@ x86_perf_event_update(struct perf_event=20 * count to the generic event atomically: */ @@ -12997,9 +12997,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/pe= rf_event.c linux-2.6.32.48/arch } } =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/crash.c linux-2.6.32.48/arch/= x86/kernel/crash.c ---- linux-2.6.32.48/arch/x86/kernel/crash.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/crash.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/crash.c linux-2.6.32.46/arch/= x86/kernel/crash.c +--- linux-2.6.32.46/arch/x86/kernel/crash.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/crash.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -41,7 +41,7 @@ static void kdump_nmi_callback(int cpu,=20 regs =3D args->regs; =20 @@ -13009,9 +13009,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/crash.= c linux-2.6.32.48/arch/x86/kern crash_fixup_ss_esp(&fixed_regs, regs); regs =3D &fixed_regs; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/doublefault_32.c linux-2.6.32= .48/arch/x86/kernel/doublefault_32.c ---- linux-2.6.32.48/arch/x86/kernel/doublefault_32.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/doublefault_32.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/doublefault_32.c linux-2.6.32= .46/arch/x86/kernel/doublefault_32.c +--- linux-2.6.32.46/arch/x86/kernel/doublefault_32.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/doublefault_32.c 2011-04-17 15:56:46= .000000000 -0400 @@ -11,7 +11,7 @@ =20 #define DOUBLEFAULT_STACKSIZE (1024) @@ -13043,9 +13043,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/double= fault_32.c linux-2.6.32.48/arch .fs =3D __KERNEL_PERCPU, =20 .__cr3 =3D __pa_nodebug(swapper_pg_dir), -diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpstack_32.c linux-2.6.32.4= 8/arch/x86/kernel/dumpstack_32.c ---- linux-2.6.32.48/arch/x86/kernel/dumpstack_32.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/dumpstack_32.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/dumpstack_32.c linux-2.6.32.4= 6/arch/x86/kernel/dumpstack_32.c +--- linux-2.6.32.46/arch/x86/kernel/dumpstack_32.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/dumpstack_32.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -53,16 +53,12 @@ void dump_trace(struct task_struct *task #endif =20 @@ -13111,9 +13111,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack_32.c linux-2.6.32.48/arch/x if (ip < PAGE_OFFSET) return 0; if (probe_kernel_address((unsigned short *)ip, ud2)) -diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpstack_64.c linux-2.6.32.4= 8/arch/x86/kernel/dumpstack_64.c ---- linux-2.6.32.48/arch/x86/kernel/dumpstack_64.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/dumpstack_64.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/dumpstack_64.c linux-2.6.32.4= 6/arch/x86/kernel/dumpstack_64.c +--- linux-2.6.32.46/arch/x86/kernel/dumpstack_64.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/dumpstack_64.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -116,8 +116,8 @@ void dump_trace(struct task_struct *task unsigned long *irq_stack_end =3D (unsigned long *)per_cpu(irq_stack_ptr, cpu); @@ -13164,9 +13164,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack_64.c linux-2.6.32.48/arch/x put_cpu(); } EXPORT_SYMBOL(dump_trace); -diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpstack.c linux-2.6.32.48/a= rch/x86/kernel/dumpstack.c ---- linux-2.6.32.48/arch/x86/kernel/dumpstack.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/dumpstack.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/dumpstack.c linux-2.6.32.46/a= rch/x86/kernel/dumpstack.c +--- linux-2.6.32.46/arch/x86/kernel/dumpstack.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/dumpstack.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -2,6 +2,9 @@ * Copyright (C) 1991, 1992 Linus Torvalds * Copyright (C) 2000, 2001, 2002 Andi Kleen, SuSE Labs @@ -13283,9 +13283,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack.c linux-2.6.32.48/arch/x86/ report_bug(regs->ip, regs); =20 if (__die(str, regs, err)) -diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpstack.h linux-2.6.32.48/a= rch/x86/kernel/dumpstack.h ---- linux-2.6.32.48/arch/x86/kernel/dumpstack.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/dumpstack.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/dumpstack.h linux-2.6.32.46/a= rch/x86/kernel/dumpstack.h +--- linux-2.6.32.46/arch/x86/kernel/dumpstack.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/dumpstack.h 2011-04-23 13:25:26.0000= 00000 -0400 @@ -15,7 +15,7 @@ #endif =20 @@ -13295,9 +13295,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack.h linux-2.6.32.48/arch/x86/ unsigned long *stack, unsigned long bp, const struct stacktrace_ops *ops, void *data, unsigned long *end, int *graph); -diff -urNp linux-2.6.32.48/arch/x86/kernel/e820.c linux-2.6.32.48/arch/x= 86/kernel/e820.c ---- linux-2.6.32.48/arch/x86/kernel/e820.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/kernel/e820.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/e820.c linux-2.6.32.46/arch/x= 86/kernel/e820.c +--- linux-2.6.32.46/arch/x86/kernel/e820.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/kernel/e820.c 2011-04-17 15:56:46.000000000= -0400 @@ -733,7 +733,7 @@ struct early_res { }; static struct early_res early_res[MAX_EARLY_RES] __initdata =3D { @@ -13307,9 +13307,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/e820.c= linux-2.6.32.48/arch/x86/kerne }; =20 static int __init find_overlapped_early(u64 start, u64 end) -diff -urNp linux-2.6.32.48/arch/x86/kernel/early_printk.c linux-2.6.32.4= 8/arch/x86/kernel/early_printk.c ---- linux-2.6.32.48/arch/x86/kernel/early_printk.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/early_printk.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/early_printk.c linux-2.6.32.4= 6/arch/x86/kernel/early_printk.c +--- linux-2.6.32.46/arch/x86/kernel/early_printk.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/early_printk.c 2011-05-16 21:46:57.0= 00000000 -0400 @@ -7,6 +7,7 @@ #include #include @@ -13327,9 +13327,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/early_= printk.c linux-2.6.32.48/arch/x va_start(ap, fmt); n =3D vscnprintf(buf, sizeof(buf), fmt, ap); early_console->write(early_console, buf, n); -diff -urNp linux-2.6.32.48/arch/x86/kernel/efi_32.c linux-2.6.32.48/arch= /x86/kernel/efi_32.c ---- linux-2.6.32.48/arch/x86/kernel/efi_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/efi_32.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/efi_32.c linux-2.6.32.46/arch= /x86/kernel/efi_32.c +--- linux-2.6.32.46/arch/x86/kernel/efi_32.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/efi_32.c 2011-10-06 09:37:08.0000000= 00 -0400 @@ -38,70 +38,56 @@ */ =20 @@ -13427,9 +13427,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/efi_32= .c linux-2.6.32.48/arch/x86/ker =20 /* * After the lock is released, the original page table is restored. -diff -urNp linux-2.6.32.48/arch/x86/kernel/efi_stub_32.S linux-2.6.32.48= /arch/x86/kernel/efi_stub_32.S ---- linux-2.6.32.48/arch/x86/kernel/efi_stub_32.S 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/efi_stub_32.S 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/efi_stub_32.S linux-2.6.32.46= /arch/x86/kernel/efi_stub_32.S +--- linux-2.6.32.46/arch/x86/kernel/efi_stub_32.S 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/efi_stub_32.S 2011-10-06 09:37:08.00= 0000000 -0400 @@ -6,7 +6,9 @@ */ =20 @@ -13538,9 +13538,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/efi_st= ub_32.S linux-2.6.32.48/arch/x8 saved_return_addr: .long 0 efi_rt_function_ptr: -diff -urNp linux-2.6.32.48/arch/x86/kernel/efi_stub_64.S linux-2.6.32.48= /arch/x86/kernel/efi_stub_64.S ---- linux-2.6.32.48/arch/x86/kernel/efi_stub_64.S 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/efi_stub_64.S 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/efi_stub_64.S linux-2.6.32.46= /arch/x86/kernel/efi_stub_64.S +--- linux-2.6.32.46/arch/x86/kernel/efi_stub_64.S 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/efi_stub_64.S 2011-10-06 09:37:14.00= 0000000 -0400 @@ -7,6 +7,7 @@ */ =20 @@ -13604,9 +13604,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/efi_st= ub_64.S linux-2.6.32.48/arch/x8 + pax_force_retaddr ret ENDPROC(efi_call6) -diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_32.S linux-2.6.32.48/ar= ch/x86/kernel/entry_32.S ---- linux-2.6.32.48/arch/x86/kernel/entry_32.S 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/entry_32.S 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/entry_32.S linux-2.6.32.46/ar= ch/x86/kernel/entry_32.S +--- linux-2.6.32.46/arch/x86/kernel/entry_32.S 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/entry_32.S 2011-08-30 18:19:52.00000= 0000 -0400 @@ -185,13 +185,146 @@ /*CFI_REL_OFFSET gs, PT_GS*/ .endm @@ -14095,9 +14095,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 32.S linux-2.6.32.48/arch/x86/k RESTORE_REGS lss 12+4(%esp), %esp # back to espfix stack CFI_ADJUST_CFA_OFFSET -24 -diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_64.S linux-2.6.32.48/ar= ch/x86/kernel/entry_64.S ---- linux-2.6.32.48/arch/x86/kernel/entry_64.S 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/entry_64.S 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/entry_64.S linux-2.6.32.46/ar= ch/x86/kernel/entry_64.S +--- linux-2.6.32.46/arch/x86/kernel/entry_64.S 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/entry_64.S 2011-10-08 08:14:37.00000= 0000 -0400 @@ -53,6 +53,8 @@ #include #include @@ -14811,9 +14811,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 64.S linux-2.6.32.48/arch/x86/k jmp irq_return nmi_userspace: GET_THREAD_INFO(%rcx) -diff -urNp linux-2.6.32.48/arch/x86/kernel/ftrace.c linux-2.6.32.48/arch= /x86/kernel/ftrace.c ---- linux-2.6.32.48/arch/x86/kernel/ftrace.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/ftrace.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/ftrace.c linux-2.6.32.46/arch= /x86/kernel/ftrace.c +--- linux-2.6.32.46/arch/x86/kernel/ftrace.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/ftrace.c 2011-05-04 17:56:20.0000000= 00 -0400 @@ -103,7 +103,7 @@ static void *mod_code_ip; /* holds the=20 static void *mod_code_newcode; /* holds the text to write to the IP */ =20 @@ -14899,9 +14899,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ftrace= .c linux-2.6.32.48/arch/x86/ker if (probe_kernel_read(code, (void *)ip, MCOUNT_INSN_SIZE)) return -EFAULT; =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/head32.c linux-2.6.32.48/arch= /x86/kernel/head32.c ---- linux-2.6.32.48/arch/x86/kernel/head32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/head32.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/head32.c linux-2.6.32.46/arch= /x86/kernel/head32.c +--- linux-2.6.32.46/arch/x86/kernel/head32.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/head32.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -16,6 +16,7 @@ #include #include @@ -14919,9 +14919,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head32= .c linux-2.6.32.48/arch/x86/ker =20 #ifdef CONFIG_BLK_DEV_INITRD /* Reserve INITRD */ -diff -urNp linux-2.6.32.48/arch/x86/kernel/head_32.S linux-2.6.32.48/arc= h/x86/kernel/head_32.S ---- linux-2.6.32.48/arch/x86/kernel/head_32.S 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/head_32.S 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/head_32.S linux-2.6.32.46/arc= h/x86/kernel/head_32.S +--- linux-2.6.32.46/arch/x86/kernel/head_32.S 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/head_32.S 2011-07-06 19:53:33.000000= 000 -0400 @@ -19,10 +19,17 @@ #include #include @@ -15443,9 +15443,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_3= 2.S linux-2.6.32.48/arch/x86/ke + /* Be sure this is zeroed to avoid false validations in Xen */ + .fill PAGE_SIZE_asm - GDT_SIZE,1,0 + .endr -diff -urNp linux-2.6.32.48/arch/x86/kernel/head_64.S linux-2.6.32.48/arc= h/x86/kernel/head_64.S ---- linux-2.6.32.48/arch/x86/kernel/head_64.S 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/head_64.S 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/head_64.S linux-2.6.32.46/arc= h/x86/kernel/head_64.S +--- linux-2.6.32.46/arch/x86/kernel/head_64.S 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/head_64.S 2011-04-17 15:56:46.000000= 000 -0400 @@ -19,6 +19,7 @@ #include #include @@ -15716,9 +15716,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_6= 4.S linux-2.6.32.48/arch/x86/ke =20 __PAGE_ALIGNED_BSS .align PAGE_SIZE -diff -urNp linux-2.6.32.48/arch/x86/kernel/i386_ksyms_32.c linux-2.6.32.= 48/arch/x86/kernel/i386_ksyms_32.c ---- linux-2.6.32.48/arch/x86/kernel/i386_ksyms_32.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/i386_ksyms_32.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/i386_ksyms_32.c linux-2.6.32.= 46/arch/x86/kernel/i386_ksyms_32.c +--- linux-2.6.32.46/arch/x86/kernel/i386_ksyms_32.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/i386_ksyms_32.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -20,8 +20,12 @@ extern void cmpxchg8b_emu(void); EXPORT_SYMBOL(cmpxchg8b_emu); #endif @@ -15740,9 +15740,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/i386_k= syms_32.c linux-2.6.32.48/arch/ +#ifdef CONFIG_PAX_KERNEXEC +EXPORT_SYMBOL(__LOAD_PHYSICAL_ADDR); +#endif -diff -urNp linux-2.6.32.48/arch/x86/kernel/i8259.c linux-2.6.32.48/arch/= x86/kernel/i8259.c ---- linux-2.6.32.48/arch/x86/kernel/i8259.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/i8259.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/i8259.c linux-2.6.32.46/arch/= x86/kernel/i8259.c +--- linux-2.6.32.46/arch/x86/kernel/i8259.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/i8259.c 2011-05-04 17:56:28.00000000= 0 -0400 @@ -208,7 +208,7 @@ spurious_8259A_irq: "spurious 8259A interrupt: IRQ%d.\n", irq); spurious_irq_mask |=3D irqmask; @@ -15752,9 +15752,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/i8259.= c linux-2.6.32.48/arch/x86/kern /* * Theoretically we do not have to handle this IRQ, * but in Linux this does not cause problems and is -diff -urNp linux-2.6.32.48/arch/x86/kernel/init_task.c linux-2.6.32.48/a= rch/x86/kernel/init_task.c ---- linux-2.6.32.48/arch/x86/kernel/init_task.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/init_task.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/init_task.c linux-2.6.32.46/a= rch/x86/kernel/init_task.c +--- linux-2.6.32.46/arch/x86/kernel/init_task.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/init_task.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -20,8 +20,7 @@ static struct sighand_struct init_sighan * way process stacks are handled. This is done by having a special * "init_task" linker map entry.. @@ -15773,9 +15773,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/init_t= ask.c linux-2.6.32.48/arch/x86/ - +struct tss_struct init_tss[NR_CPUS] ____cacheline_internodealigned_in_s= mp =3D { [0 ... NR_CPUS-1] =3D INIT_TSS }; +EXPORT_SYMBOL(init_tss); -diff -urNp linux-2.6.32.48/arch/x86/kernel/ioport.c linux-2.6.32.48/arch= /x86/kernel/ioport.c ---- linux-2.6.32.48/arch/x86/kernel/ioport.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/ioport.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/ioport.c linux-2.6.32.46/arch= /x86/kernel/ioport.c +--- linux-2.6.32.46/arch/x86/kernel/ioport.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/ioport.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -6,6 +6,7 @@ #include #include @@ -15819,9 +15819,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ioport= .c linux-2.6.32.48/arch/x86/ker if (!capable(CAP_SYS_RAWIO)) return -EPERM; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/irq_32.c linux-2.6.32.48/arch= /x86/kernel/irq_32.c ---- linux-2.6.32.48/arch/x86/kernel/irq_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/irq_32.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/irq_32.c linux-2.6.32.46/arch= /x86/kernel/irq_32.c +--- linux-2.6.32.46/arch/x86/kernel/irq_32.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/irq_32.c 2011-07-06 19:53:33.0000000= 00 -0400 @@ -35,7 +35,7 @@ static int check_stack_overflow(void) __asm__ __volatile__("andl %%esp,%0" : "=3Dr" (sp) : "0" (THREAD_SIZE - 1)); @@ -15962,9 +15962,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq_32= .c linux-2.6.32.48/arch/x86/ker /* * Shouldnt happen, we returned above if in_interrupt(): */ -diff -urNp linux-2.6.32.48/arch/x86/kernel/irq.c linux-2.6.32.48/arch/x8= 6/kernel/irq.c ---- linux-2.6.32.48/arch/x86/kernel/irq.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/kernel/irq.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/irq.c linux-2.6.32.46/arch/x8= 6/kernel/irq.c +--- linux-2.6.32.46/arch/x86/kernel/irq.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/kernel/irq.c 2011-05-04 17:56:28.000000000 = -0400 @@ -15,7 +15,7 @@ #include #include @@ -15999,9 +15999,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq.c = linux-2.6.32.48/arch/x86/kernel #endif return sum; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/kgdb.c linux-2.6.32.48/arch/x= 86/kernel/kgdb.c ---- linux-2.6.32.48/arch/x86/kernel/kgdb.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/kernel/kgdb.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/kgdb.c linux-2.6.32.46/arch/x= 86/kernel/kgdb.c +--- linux-2.6.32.46/arch/x86/kernel/kgdb.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/kernel/kgdb.c 2011-05-04 17:56:20.000000000= -0400 @@ -390,13 +390,13 @@ int kgdb_arch_handle_exception(int e_vec =20 /* clear the trace bit */ @@ -16036,10 +16036,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kgdb= .c linux-2.6.32.48/arch/x86/kerne /* Breakpoint instruction: */ .gdb_bpt_instr =3D { 0xcc }, .flags =3D KGDB_HW_BREAKPOINT, -diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobes.c linux-2.6.32.48/arc= h/x86/kernel/kprobes.c ---- linux-2.6.32.48/arch/x86/kernel/kprobes.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/kprobes.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -168,9 +168,13 @@ static void __kprobes set_jmp_op(void *f +diff -urNp linux-2.6.32.46/arch/x86/kernel/kprobes.c linux-2.6.32.46/arc= h/x86/kernel/kprobes.c +--- linux-2.6.32.46/arch/x86/kernel/kprobes.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/kprobes.c 2011-04-17 15:56:46.000000= 000 -0400 +@@ -166,9 +166,13 @@ static void __kprobes set_jmp_op(void *f char op; s32 raddr; } __attribute__((packed)) * jop; @@ -16054,7 +16054,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobe= s.c linux-2.6.32.48/arch/x86/ke } =20 /* -@@ -195,7 +199,7 @@ static int __kprobes can_boost(kprobe_op +@@ -193,7 +197,7 @@ static int __kprobes can_boost(kprobe_op kprobe_opcode_t opcode; kprobe_opcode_t *orig_opcodes =3D opcodes; =20 @@ -16063,7 +16063,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobe= s.c linux-2.6.32.48/arch/x86/ke return 0; /* Page fault may occur on this address. */ =20 retry: -@@ -339,7 +343,9 @@ static void __kprobes fix_riprel(struct=20 +@@ -337,7 +341,9 @@ static void __kprobes fix_riprel(struct=20 disp =3D (u8 *) p->addr + *((s32 *) insn) - (u8 *) p->ainsn.insn; BUG_ON((s64) (s32) disp !=3D disp); /* Sanity check. */ @@ -16073,7 +16073,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobe= s.c linux-2.6.32.48/arch/x86/ke } } #endif -@@ -347,16 +353,18 @@ static void __kprobes fix_riprel(struct=20 +@@ -345,16 +351,18 @@ static void __kprobes fix_riprel(struct=20 =20 static void __kprobes arch_copy_kprobe(struct kprobe *p) { @@ -16095,7 +16095,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobe= s.c linux-2.6.32.48/arch/x86/ke } =20 int __kprobes arch_prepare_kprobe(struct kprobe *p) -@@ -434,7 +442,7 @@ static void __kprobes prepare_singlestep +@@ -432,7 +440,7 @@ static void __kprobes prepare_singlestep if (p->opcode =3D=3D BREAKPOINT_INSTRUCTION) regs->ip =3D (unsigned long)p->addr; else @@ -16104,7 +16104,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobe= s.c linux-2.6.32.48/arch/x86/ke } =20 void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri, -@@ -455,7 +463,7 @@ static void __kprobes setup_singlestep(s +@@ -453,7 +461,7 @@ static void __kprobes setup_singlestep(s if (p->ainsn.boostable =3D=3D 1 && !p->post_handler) { /* Boost up -- we can execute copied instructions directly */ reset_current_kprobe(); @@ -16113,7 +16113,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobe= s.c linux-2.6.32.48/arch/x86/ke preempt_enable_no_resched(); return; } -@@ -525,7 +533,7 @@ static int __kprobes kprobe_handler(stru +@@ -523,7 +531,7 @@ static int __kprobes kprobe_handler(stru struct kprobe_ctlblk *kcb; =20 addr =3D (kprobe_opcode_t *)(regs->ip - sizeof(kprobe_opcode_t)); @@ -16122,7 +16122,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobe= s.c linux-2.6.32.48/arch/x86/ke /* * The breakpoint instruction was removed right * after we hit it. Another cpu has removed -@@ -777,7 +785,7 @@ static void __kprobes resume_execution(s +@@ -775,7 +783,7 @@ static void __kprobes resume_execution(s struct pt_regs *regs, struct kprobe_ctlblk *kcb) { unsigned long *tos =3D stack_addr(regs); @@ -16131,7 +16131,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobe= s.c linux-2.6.32.48/arch/x86/ke unsigned long orig_ip =3D (unsigned long)p->addr; kprobe_opcode_t *insn =3D p->ainsn.insn; =20 -@@ -960,7 +968,7 @@ int __kprobes kprobe_exceptions_notify(s +@@ -958,7 +966,7 @@ int __kprobes kprobe_exceptions_notify(s struct die_args *args =3D data; int ret =3D NOTIFY_DONE; =20 @@ -16140,9 +16140,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobe= s.c linux-2.6.32.48/arch/x86/ke return ret; =20 switch (val) { -diff -urNp linux-2.6.32.48/arch/x86/kernel/kvm.c linux-2.6.32.48/arch/x8= 6/kernel/kvm.c ---- linux-2.6.32.48/arch/x86/kernel/kvm.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/kernel/kvm.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/kvm.c linux-2.6.32.46/arch/x8= 6/kernel/kvm.c +--- linux-2.6.32.46/arch/x86/kernel/kvm.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/kernel/kvm.c 2011-08-24 18:35:52.000000000 = -0400 @@ -216,6 +216,7 @@ static void __init paravirt_ops_setup(vo pv_mmu_ops.set_pud =3D kvm_set_pud; #if PAGETABLE_LEVELS =3D=3D 4 @@ -16151,9 +16151,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kvm.c = linux-2.6.32.48/arch/x86/kernel #endif #endif pv_mmu_ops.flush_tlb_user =3D kvm_flush_tlb; -diff -urNp linux-2.6.32.48/arch/x86/kernel/ldt.c linux-2.6.32.48/arch/x8= 6/kernel/ldt.c ---- linux-2.6.32.48/arch/x86/kernel/ldt.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/kernel/ldt.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/ldt.c linux-2.6.32.46/arch/x8= 6/kernel/ldt.c +--- linux-2.6.32.46/arch/x86/kernel/ldt.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/kernel/ldt.c 2011-04-17 15:56:46.000000000 = -0400 @@ -66,13 +66,13 @@ static int alloc_ldt(mm_context_t *pc, i if (reload) { #ifdef CONFIG_SMP @@ -16218,9 +16218,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ldt.c = linux-2.6.32.48/arch/x86/kernel fill_ldt(&ldt, &ldt_info); if (oldmode) ldt.avl =3D 0; -diff -urNp linux-2.6.32.48/arch/x86/kernel/machine_kexec_32.c linux-2.6.= 32.48/arch/x86/kernel/machine_kexec_32.c ---- linux-2.6.32.48/arch/x86/kernel/machine_kexec_32.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/machine_kexec_32.c 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/machine_kexec_32.c linux-2.6.= 32.46/arch/x86/kernel/machine_kexec_32.c +--- linux-2.6.32.46/arch/x86/kernel/machine_kexec_32.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/machine_kexec_32.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -26,7 +26,7 @@ #include #include @@ -16248,9 +16248,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/machin= e_kexec_32.c linux-2.6.32.48/ar =20 relocate_kernel_ptr =3D control_page; page_list[PA_CONTROL_PAGE] =3D __pa(control_page); -diff -urNp linux-2.6.32.48/arch/x86/kernel/microcode_amd.c linux-2.6.32.= 48/arch/x86/kernel/microcode_amd.c ---- linux-2.6.32.48/arch/x86/kernel/microcode_amd.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/microcode_amd.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/microcode_amd.c linux-2.6.32.= 46/arch/x86/kernel/microcode_amd.c +--- linux-2.6.32.46/arch/x86/kernel/microcode_amd.c 2011-04-17 17:00:52.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/microcode_amd.c 2011-04-17 17:03:05.= 000000000 -0400 @@ -364,7 +364,7 @@ static void microcode_fini_cpu_amd(int c uci->mc =3D NULL; } @@ -16269,9 +16269,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/microc= ode_amd.c linux-2.6.32.48/arch/ { return µcode_amd_ops; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/microcode_core.c linux-2.6.32= .48/arch/x86/kernel/microcode_core.c ---- linux-2.6.32.48/arch/x86/kernel/microcode_core.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/microcode_core.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/microcode_core.c linux-2.6.32= .46/arch/x86/kernel/microcode_core.c +--- linux-2.6.32.46/arch/x86/kernel/microcode_core.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/microcode_core.c 2011-04-17 15:56:46= .000000000 -0400 @@ -90,7 +90,7 @@ MODULE_LICENSE("GPL"); =20 #define MICROCODE_VERSION "2.00" @@ -16281,9 +16281,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/microc= ode_core.c linux-2.6.32.48/arch =20 /* * Synchronization. -diff -urNp linux-2.6.32.48/arch/x86/kernel/microcode_intel.c linux-2.6.3= 2.48/arch/x86/kernel/microcode_intel.c ---- linux-2.6.32.48/arch/x86/kernel/microcode_intel.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/microcode_intel.c 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/microcode_intel.c linux-2.6.3= 2.46/arch/x86/kernel/microcode_intel.c +--- linux-2.6.32.46/arch/x86/kernel/microcode_intel.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/microcode_intel.c 2011-10-06 09:37:0= 8.000000000 -0400 @@ -443,13 +443,13 @@ static enum ucode_state request_microcod =20 static int get_ucode_user(void *to, const void *from, size_t n) @@ -16318,9 +16318,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/microc= ode_intel.c linux-2.6.32.48/arc { return µcode_intel_ops; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/module.c linux-2.6.32.48/arch= /x86/kernel/module.c ---- linux-2.6.32.48/arch/x86/kernel/module.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/module.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/module.c linux-2.6.32.46/arch= /x86/kernel/module.c +--- linux-2.6.32.46/arch/x86/kernel/module.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/module.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -34,7 +34,7 @@ #define DEBUGP(fmt...) #endif @@ -16461,9 +16461,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/module= .c linux-2.6.32.48/arch/x86/ker #if 0 if ((s64)val !=3D *(s32 *)loc) goto overflow; -diff -urNp linux-2.6.32.48/arch/x86/kernel/paravirt.c linux-2.6.32.48/ar= ch/x86/kernel/paravirt.c ---- linux-2.6.32.48/arch/x86/kernel/paravirt.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/paravirt.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/paravirt.c linux-2.6.32.46/ar= ch/x86/kernel/paravirt.c +--- linux-2.6.32.46/arch/x86/kernel/paravirt.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/paravirt.c 2011-08-23 20:24:19.00000= 0000 -0400 @@ -53,6 +53,9 @@ u64 _paravirt_ident_64(u64 x) { return x; @@ -16611,9 +16611,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/paravi= rt.c linux-2.6.32.48/arch/x86/k }; =20 EXPORT_SYMBOL_GPL(pv_time_ops); -diff -urNp linux-2.6.32.48/arch/x86/kernel/paravirt-spinlocks.c linux-2.= 6.32.48/arch/x86/kernel/paravirt-spinlocks.c ---- linux-2.6.32.48/arch/x86/kernel/paravirt-spinlocks.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/paravirt-spinlocks.c 2011-11-12 12:4= 6:42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/paravirt-spinlocks.c linux-2.= 6.32.46/arch/x86/kernel/paravirt-spinlocks.c +--- linux-2.6.32.46/arch/x86/kernel/paravirt-spinlocks.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/paravirt-spinlocks.c 2011-04-17 15:5= 6:46.000000000 -0400 @@ -13,7 +13,7 @@ default_spin_lock_flags(raw_spinlock_t * __raw_spin_lock(lock); } @@ -16623,9 +16623,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/paravi= rt-spinlocks.c linux-2.6.32.48/ #ifdef CONFIG_SMP .spin_is_locked =3D __ticket_spin_is_locked, .spin_is_contended =3D __ticket_spin_is_contended, -diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-calgary_64.c linux-2.6.32= .48/arch/x86/kernel/pci-calgary_64.c ---- linux-2.6.32.48/arch/x86/kernel/pci-calgary_64.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/pci-calgary_64.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/pci-calgary_64.c linux-2.6.32= .46/arch/x86/kernel/pci-calgary_64.c +--- linux-2.6.32.46/arch/x86/kernel/pci-calgary_64.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/pci-calgary_64.c 2011-04-17 15:56:46= .000000000 -0400 @@ -477,7 +477,7 @@ static void calgary_free_coherent(struct free_pages((unsigned long)vaddr, get_order(size)); } @@ -16635,9 +16635,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-ca= lgary_64.c linux-2.6.32.48/arch .alloc_coherent =3D calgary_alloc_coherent, .free_coherent =3D calgary_free_coherent, .map_sg =3D calgary_map_sg, -diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-dma.c linux-2.6.32.48/arc= h/x86/kernel/pci-dma.c ---- linux-2.6.32.48/arch/x86/kernel/pci-dma.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/pci-dma.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/pci-dma.c linux-2.6.32.46/arc= h/x86/kernel/pci-dma.c +--- linux-2.6.32.46/arch/x86/kernel/pci-dma.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/pci-dma.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -14,7 +14,7 @@ =20 static int forbid_dac __read_mostly; @@ -16656,9 +16656,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-dm= a.c linux-2.6.32.48/arch/x86/ke =20 #ifdef CONFIG_PCI if (mask > 0xffffffff && forbid_dac > 0) { -diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-gart_64.c linux-2.6.32.48= /arch/x86/kernel/pci-gart_64.c ---- linux-2.6.32.48/arch/x86/kernel/pci-gart_64.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/pci-gart_64.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/pci-gart_64.c linux-2.6.32.46= /arch/x86/kernel/pci-gart_64.c +--- linux-2.6.32.46/arch/x86/kernel/pci-gart_64.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/pci-gart_64.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -682,7 +682,7 @@ static __init int init_k8_gatt(struct ag return -1; } @@ -16668,9 +16668,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-ga= rt_64.c linux-2.6.32.48/arch/x8 .map_sg =3D gart_map_sg, .unmap_sg =3D gart_unmap_sg, .map_page =3D gart_map_page, -diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-nommu.c linux-2.6.32.48/a= rch/x86/kernel/pci-nommu.c ---- linux-2.6.32.48/arch/x86/kernel/pci-nommu.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/pci-nommu.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/pci-nommu.c linux-2.6.32.46/a= rch/x86/kernel/pci-nommu.c +--- linux-2.6.32.46/arch/x86/kernel/pci-nommu.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/pci-nommu.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -94,7 +94,7 @@ static void nommu_sync_sg_for_device(str flush_write_buffers(); } @@ -16680,9 +16680,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-no= mmu.c linux-2.6.32.48/arch/x86/ .alloc_coherent =3D dma_generic_alloc_coherent, .free_coherent =3D nommu_free_coherent, .map_sg =3D nommu_map_sg, -diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-swiotlb.c linux-2.6.32.48= /arch/x86/kernel/pci-swiotlb.c ---- linux-2.6.32.48/arch/x86/kernel/pci-swiotlb.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/pci-swiotlb.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/pci-swiotlb.c linux-2.6.32.46= /arch/x86/kernel/pci-swiotlb.c +--- linux-2.6.32.46/arch/x86/kernel/pci-swiotlb.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/pci-swiotlb.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -25,7 +25,7 @@ static void *x86_swiotlb_alloc_coherent( return swiotlb_alloc_coherent(hwdev, size, dma_handle, flags); } @@ -16692,9 +16692,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-sw= iotlb.c linux-2.6.32.48/arch/x8 .mapping_error =3D swiotlb_dma_mapping_error, .alloc_coherent =3D x86_swiotlb_alloc_coherent, .free_coherent =3D swiotlb_free_coherent, -diff -urNp linux-2.6.32.48/arch/x86/kernel/process_32.c linux-2.6.32.48/= arch/x86/kernel/process_32.c ---- linux-2.6.32.48/arch/x86/kernel/process_32.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/process_32.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/process_32.c linux-2.6.32.46/= arch/x86/kernel/process_32.c +--- linux-2.6.32.46/arch/x86/kernel/process_32.c 2011-06-25 12:55:34.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/process_32.c 2011-06-25 12:56:37.000= 000000 -0400 @@ -67,6 +67,7 @@ asmlinkage void ret_from_fork(void) __as unsigned long thread_saved_pc(struct task_struct *tsk) { @@ -16795,9 +16795,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_32.c linux-2.6.32.48/arch/x86 return 0; } - -diff -urNp linux-2.6.32.48/arch/x86/kernel/process_64.c linux-2.6.32.48/= arch/x86/kernel/process_64.c ---- linux-2.6.32.48/arch/x86/kernel/process_64.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/process_64.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/process_64.c linux-2.6.32.46/= arch/x86/kernel/process_64.c +--- linux-2.6.32.46/arch/x86/kernel/process_64.c 2011-06-25 12:55:34.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/process_64.c 2011-06-25 12:56:37.000= 000000 -0400 @@ -91,7 +91,7 @@ static void __exit_idle(void) void exit_idle(void) { @@ -16871,9 +16871,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_64.c linux-2.6.32.48/arch/x86 return 0; ip =3D *(u64 *)(fp+8); if (!in_sched_functions(ip)) -diff -urNp linux-2.6.32.48/arch/x86/kernel/process.c linux-2.6.32.48/arc= h/x86/kernel/process.c ---- linux-2.6.32.48/arch/x86/kernel/process.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/process.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/process.c linux-2.6.32.46/arc= h/x86/kernel/process.c +--- linux-2.6.32.46/arch/x86/kernel/process.c 2011-04-22 19:16:29.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/process.c 2011-08-30 18:19:52.000000= 000 -0400 @@ -51,16 +51,33 @@ void free_thread_xstate(struct task_stru =20 void free_thread_info(struct thread_info *ti) @@ -16988,9 +16988,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s.c linux-2.6.32.48/arch/x86/ke } +#endif =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/ptrace.c linux-2.6.32.48/arch= /x86/kernel/ptrace.c ---- linux-2.6.32.48/arch/x86/kernel/ptrace.c 2011-11-12 12:44:28.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/ptrace.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/ptrace.c linux-2.6.32.46/arch= /x86/kernel/ptrace.c +--- linux-2.6.32.46/arch/x86/kernel/ptrace.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/ptrace.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -925,7 +925,7 @@ static const struct user_regset_view use long arch_ptrace(struct task_struct *child, long request, long addr, lo= ng data) { @@ -17077,9 +17077,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ptrace= .c linux-2.6.32.48/arch/x86/ker { if (unlikely(current->audit_context)) audit_syscall_exit(AUDITSC_RESULT(regs->ax), regs->ax); -diff -urNp linux-2.6.32.48/arch/x86/kernel/reboot.c linux-2.6.32.48/arch= /x86/kernel/reboot.c ---- linux-2.6.32.48/arch/x86/kernel/reboot.c 2011-11-12 12:44:28.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/reboot.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/reboot.c linux-2.6.32.46/arch= /x86/kernel/reboot.c +--- linux-2.6.32.46/arch/x86/kernel/reboot.c 2011-08-09 18:35:28.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/reboot.c 2011-08-09 18:33:59.0000000= 00 -0400 @@ -33,7 +33,7 @@ void (*pm_power_off)(void); EXPORT_SYMBOL(pm_power_off); =20 @@ -17206,9 +17206,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/reboot= .c linux-2.6.32.48/arch/x86/ker } =20 struct machine_ops machine_ops =3D { -diff -urNp linux-2.6.32.48/arch/x86/kernel/setup.c linux-2.6.32.48/arch/= x86/kernel/setup.c ---- linux-2.6.32.48/arch/x86/kernel/setup.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/setup.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/setup.c linux-2.6.32.46/arch/= x86/kernel/setup.c +--- linux-2.6.32.46/arch/x86/kernel/setup.c 2011-04-17 17:00:52.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/setup.c 2011-04-17 17:03:05.00000000= 0 -0400 @@ -783,14 +783,14 @@ void __init setup_arch(char **cmdline_p) =20 if (!boot_params.hdr.root_flags) @@ -17229,9 +17229,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/setup.= c linux-2.6.32.48/arch/x86/kern data_resource.end =3D virt_to_phys(_edata)-1; bss_resource.start =3D virt_to_phys(&__bss_start); bss_resource.end =3D virt_to_phys(&__bss_stop)-1; -diff -urNp linux-2.6.32.48/arch/x86/kernel/setup_percpu.c linux-2.6.32.4= 8/arch/x86/kernel/setup_percpu.c ---- linux-2.6.32.48/arch/x86/kernel/setup_percpu.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/setup_percpu.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/setup_percpu.c linux-2.6.32.4= 6/arch/x86/kernel/setup_percpu.c +--- linux-2.6.32.46/arch/x86/kernel/setup_percpu.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/setup_percpu.c 2011-06-04 20:36:29.0= 00000000 -0400 @@ -25,19 +25,17 @@ # define DBG(x...) #endif @@ -17295,9 +17295,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/setup_= percpu.c linux-2.6.32.48/arch/x /* * Up to this point, the boot CPU has been using .data.init * area. Reload any changed state for the boot CPU. -diff -urNp linux-2.6.32.48/arch/x86/kernel/signal.c linux-2.6.32.48/arch= /x86/kernel/signal.c ---- linux-2.6.32.48/arch/x86/kernel/signal.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/signal.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/signal.c linux-2.6.32.46/arch= /x86/kernel/signal.c +--- linux-2.6.32.46/arch/x86/kernel/signal.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/signal.c 2011-05-22 23:02:03.0000000= 00 -0400 @@ -197,7 +197,7 @@ static unsigned long align_sigframe(unsi * Align the stack pointer according to the i386 ABI, * i.e. so that on function entry ((sp + 4) & 15) =3D=3D 0. @@ -17381,9 +17381,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/signal= .c linux-2.6.32.48/arch/x86/ker return; =20 if (current_thread_info()->status & TS_RESTORE_SIGMASK) -diff -urNp linux-2.6.32.48/arch/x86/kernel/smpboot.c linux-2.6.32.48/arc= h/x86/kernel/smpboot.c ---- linux-2.6.32.48/arch/x86/kernel/smpboot.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/smpboot.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/smpboot.c linux-2.6.32.46/arc= h/x86/kernel/smpboot.c +--- linux-2.6.32.46/arch/x86/kernel/smpboot.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/smpboot.c 2011-07-01 19:10:03.000000= 000 -0400 @@ -94,14 +94,14 @@ static DEFINE_PER_CPU(struct task_struct */ static DEFINE_MUTEX(x86_cpu_hotplug_driver_mutex); @@ -17453,9 +17453,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/smpboo= t.c linux-2.6.32.48/arch/x86/ke err =3D do_boot_cpu(apicid, cpu); =20 if (err) { -diff -urNp linux-2.6.32.48/arch/x86/kernel/step.c linux-2.6.32.48/arch/x= 86/kernel/step.c ---- linux-2.6.32.48/arch/x86/kernel/step.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/kernel/step.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/step.c linux-2.6.32.46/arch/x= 86/kernel/step.c +--- linux-2.6.32.46/arch/x86/kernel/step.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/kernel/step.c 2011-04-17 15:56:46.000000000= -0400 @@ -27,10 +27,10 @@ unsigned long convert_ip_to_linear(struc struct desc_struct *desc; unsigned long base; @@ -17498,17 +17498,17 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/step= .c linux-2.6.32.48/arch/x86/kerne /* 32-bit mode: register increment */ return 0; /* 64-bit mode: REX prefix */ -diff -urNp linux-2.6.32.48/arch/x86/kernel/syscall_table_32.S linux-2.6.= 32.48/arch/x86/kernel/syscall_table_32.S ---- linux-2.6.32.48/arch/x86/kernel/syscall_table_32.S 2011-11-12 12:44:= 28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/syscall_table_32.S 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/syscall_table_32.S linux-2.6.= 32.46/arch/x86/kernel/syscall_table_32.S +--- linux-2.6.32.46/arch/x86/kernel/syscall_table_32.S 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/syscall_table_32.S 2011-04-17 15:56:= 46.000000000 -0400 @@ -1,3 +1,4 @@ +.section .rodata,"a",@progbits ENTRY(sys_call_table) .long sys_restart_syscall /* 0 - old "setup()" system call, used for r= estarting */ .long sys_exit -diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_i386_32.c linux-2.6.32.48= /arch/x86/kernel/sys_i386_32.c ---- linux-2.6.32.48/arch/x86/kernel/sys_i386_32.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/sys_i386_32.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/sys_i386_32.c linux-2.6.32.46= /arch/x86/kernel/sys_i386_32.c +--- linux-2.6.32.46/arch/x86/kernel/sys_i386_32.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/sys_i386_32.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -24,6 +24,21 @@ =20 #include @@ -17780,9 +17780,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_i3= 86_32.c linux-2.6.32.48/arch/x8 - : "0" (__NR_execve), "ri" (filename), "c" (argv), "d" (envp) : "memory= "); - return __res; -} -diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_x86_64.c linux-2.6.32.48/= arch/x86/kernel/sys_x86_64.c ---- linux-2.6.32.48/arch/x86/kernel/sys_x86_64.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/sys_x86_64.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/sys_x86_64.c linux-2.6.32.46/= arch/x86/kernel/sys_x86_64.c +--- linux-2.6.32.46/arch/x86/kernel/sys_x86_64.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/sys_x86_64.c 2011-04-17 15:56:46.000= 000000 -0400 @@ -32,8 +32,8 @@ out: return error; } @@ -17920,9 +17920,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_x8= 6_64.c linux-2.6.32.48/arch/x86 mm->cached_hole_size =3D ~0UL; =20 return addr; -diff -urNp linux-2.6.32.48/arch/x86/kernel/tboot.c linux-2.6.32.48/arch/= x86/kernel/tboot.c ---- linux-2.6.32.48/arch/x86/kernel/tboot.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/tboot.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/tboot.c linux-2.6.32.46/arch/= x86/kernel/tboot.c +--- linux-2.6.32.46/arch/x86/kernel/tboot.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/tboot.c 2011-05-22 23:02:03.00000000= 0 -0400 @@ -216,7 +216,7 @@ static int tboot_setup_sleep(void) =20 void tboot_shutdown(u32 shutdown_type) @@ -17971,9 +17971,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tboot.= c linux-2.6.32.48/arch/x86/kern register_hotcpu_notifier(&tboot_cpu_notifier); return 0; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/time.c linux-2.6.32.48/arch/x= 86/kernel/time.c ---- linux-2.6.32.48/arch/x86/kernel/time.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/kernel/time.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/time.c linux-2.6.32.46/arch/x= 86/kernel/time.c +--- linux-2.6.32.46/arch/x86/kernel/time.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/kernel/time.c 2011-04-17 15:56:46.000000000= -0400 @@ -26,17 +26,13 @@ int timer_ack; #endif @@ -18012,9 +18012,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/time.c= linux-2.6.32.48/arch/x86/kerne } return pc; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/tls.c linux-2.6.32.48/arch/x8= 6/kernel/tls.c ---- linux-2.6.32.48/arch/x86/kernel/tls.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/kernel/tls.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/tls.c linux-2.6.32.46/arch/x8= 6/kernel/tls.c +--- linux-2.6.32.46/arch/x86/kernel/tls.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/kernel/tls.c 2011-04-17 15:56:46.000000000 = -0400 @@ -85,6 +85,11 @@ int do_set_thread_area(struct task_struc if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) return -EINVAL; @@ -18027,9 +18027,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tls.c = linux-2.6.32.48/arch/x86/kernel set_tls_desc(p, idx, &info, 1); =20 return 0; -diff -urNp linux-2.6.32.48/arch/x86/kernel/trampoline_32.S linux-2.6.32.= 48/arch/x86/kernel/trampoline_32.S ---- linux-2.6.32.48/arch/x86/kernel/trampoline_32.S 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/trampoline_32.S 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/trampoline_32.S linux-2.6.32.= 46/arch/x86/kernel/trampoline_32.S +--- linux-2.6.32.46/arch/x86/kernel/trampoline_32.S 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/trampoline_32.S 2011-04-17 15:56:46.= 000000000 -0400 @@ -32,6 +32,12 @@ #include #include @@ -18052,9 +18052,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/trampo= line_32.S linux-2.6.32.48/arch/ =20 # These need to be in the same 64K segment as the above; # hence we don't use the boot_gdt_descr defined in head.S -diff -urNp linux-2.6.32.48/arch/x86/kernel/trampoline_64.S linux-2.6.32.= 48/arch/x86/kernel/trampoline_64.S ---- linux-2.6.32.48/arch/x86/kernel/trampoline_64.S 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/trampoline_64.S 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/trampoline_64.S linux-2.6.32.= 46/arch/x86/kernel/trampoline_64.S +--- linux-2.6.32.46/arch/x86/kernel/trampoline_64.S 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/trampoline_64.S 2011-07-01 18:53:26.= 000000000 -0400 @@ -91,7 +91,7 @@ startup_32: movl $__KERNEL_DS, %eax # Initialize the %ds segment register movl %eax, %ds @@ -18082,9 +18082,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/trampo= line_64.S linux-2.6.32.48/arch/ .long tgdt - r_base .short 0 .quad 0x00cf9b000000ffff # __KERNEL32_CS -diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.c linux-2.6.32.48/arch/= x86/kernel/traps.c ---- linux-2.6.32.48/arch/x86/kernel/traps.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/traps.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/traps.c linux-2.6.32.46/arch/= x86/kernel/traps.c +--- linux-2.6.32.46/arch/x86/kernel/traps.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/traps.c 2011-07-06 19:53:33.00000000= 0 -0400 @@ -69,12 +69,6 @@ asmlinkage int system_call(void); =20 /* Do we ignore FPU interrupts ? */ @@ -18271,9 +18271,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.= c linux-2.6.32.48/arch/x86/kern =20 if (!tsk_used_math(tsk)) { local_irq_enable(); -diff -urNp linux-2.6.32.48/arch/x86/kernel/verify_cpu_64.S linux-2.6.32.= 48/arch/x86/kernel/verify_cpu_64.S ---- linux-2.6.32.48/arch/x86/kernel/verify_cpu_64.S 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/verify_cpu_64.S 1969-12-31 19:00:00.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/verify_cpu_64.S linux-2.6.32.= 46/arch/x86/kernel/verify_cpu_64.S +--- linux-2.6.32.46/arch/x86/kernel/verify_cpu_64.S 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/verify_cpu_64.S 1969-12-31 19:00:00.= 000000000 -0500 @@ -1,105 +0,0 @@ -/* - * @@ -18380,9 +18380,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/verify= _cpu_64.S linux-2.6.32.48/arch/ - popfl # Restore caller passed flags - xorl %eax, %eax - ret -diff -urNp linux-2.6.32.48/arch/x86/kernel/verify_cpu.S linux-2.6.32.48/= arch/x86/kernel/verify_cpu.S ---- linux-2.6.32.48/arch/x86/kernel/verify_cpu.S 1969-12-31 19:00:00.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/verify_cpu.S 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/verify_cpu.S linux-2.6.32.46/= arch/x86/kernel/verify_cpu.S +--- linux-2.6.32.46/arch/x86/kernel/verify_cpu.S 1969-12-31 19:00:00.000= 000000 -0500 ++++ linux-2.6.32.46/arch/x86/kernel/verify_cpu.S 2011-07-01 18:28:42.000= 000000 -0400 @@ -0,0 +1,140 @@ +/* + * @@ -18524,9 +18524,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/verify= _cpu.S linux-2.6.32.48/arch/x86 + popfl # Restore caller passed flags + xorl %eax, %eax + ret -diff -urNp linux-2.6.32.48/arch/x86/kernel/vm86_32.c linux-2.6.32.48/arc= h/x86/kernel/vm86_32.c ---- linux-2.6.32.48/arch/x86/kernel/vm86_32.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/vm86_32.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/vm86_32.c linux-2.6.32.46/arc= h/x86/kernel/vm86_32.c +--- linux-2.6.32.46/arch/x86/kernel/vm86_32.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/vm86_32.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -41,6 +41,7 @@ #include #include @@ -18591,9 +18591,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vm86_3= 2.c linux-2.6.32.48/arch/x86/ke if (get_user(segoffs, intr_ptr)) goto cannot_handle; if ((segoffs >> 16) =3D=3D BIOSSEG) -diff -urNp linux-2.6.32.48/arch/x86/kernel/vmi_32.c linux-2.6.32.48/arch= /x86/kernel/vmi_32.c ---- linux-2.6.32.48/arch/x86/kernel/vmi_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/vmi_32.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/vmi_32.c linux-2.6.32.46/arch= /x86/kernel/vmi_32.c +--- linux-2.6.32.46/arch/x86/kernel/vmi_32.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/vmi_32.c 2011-08-05 20:33:55.0000000= 00 -0400 @@ -44,12 +44,17 @@ typedef u32 __attribute__((regparm(1)))=20 typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int); =20 @@ -18756,9 +18756,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmi_32= .c linux-2.6.32.48/arch/x86/ker return; =20 local_irq_save(flags); -diff -urNp linux-2.6.32.48/arch/x86/kernel/vmlinux.lds.S linux-2.6.32.48= /arch/x86/kernel/vmlinux.lds.S ---- linux-2.6.32.48/arch/x86/kernel/vmlinux.lds.S 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/vmlinux.lds.S 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/vmlinux.lds.S linux-2.6.32.46= /arch/x86/kernel/vmlinux.lds.S +--- linux-2.6.32.46/arch/x86/kernel/vmlinux.lds.S 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/vmlinux.lds.S 2011-04-17 15:56:46.00= 0000000 -0400 @@ -26,6 +26,13 @@ #include #include @@ -19051,9 +19051,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmlinu= x.lds.S linux-2.6.32.48/arch/x8 "kernel image bigger than KERNEL_IMAGE_SIZE"); =20 #ifdef CONFIG_SMP -diff -urNp linux-2.6.32.48/arch/x86/kernel/vsyscall_64.c linux-2.6.32.48= /arch/x86/kernel/vsyscall_64.c ---- linux-2.6.32.48/arch/x86/kernel/vsyscall_64.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/vsyscall_64.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/vsyscall_64.c linux-2.6.32.46= /arch/x86/kernel/vsyscall_64.c +--- linux-2.6.32.46/arch/x86/kernel/vsyscall_64.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/vsyscall_64.c 2011-04-23 12:56:10.00= 0000000 -0400 @@ -80,6 +80,7 @@ void update_vsyscall(struct timespec *wa =20 write_seqlock_irqsave(&vsyscall_gtod_data.lock, flags); @@ -19071,9 +19071,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vsysca= ll_64.c linux-2.6.32.48/arch/x8 p =3D tcache->blob[1]; } else if (__vgetcpu_mode =3D=3D VGETCPU_RDTSCP) { /* Load per CPU data from RDTSCP */ -diff -urNp linux-2.6.32.48/arch/x86/kernel/x8664_ksyms_64.c linux-2.6.32= .48/arch/x86/kernel/x8664_ksyms_64.c ---- linux-2.6.32.48/arch/x86/kernel/x8664_ksyms_64.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/x8664_ksyms_64.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/x8664_ksyms_64.c linux-2.6.32= .46/arch/x86/kernel/x8664_ksyms_64.c +--- linux-2.6.32.46/arch/x86/kernel/x8664_ksyms_64.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/x8664_ksyms_64.c 2011-04-17 15:56:46= .000000000 -0400 @@ -30,8 +30,6 @@ EXPORT_SYMBOL(__put_user_8); =20 EXPORT_SYMBOL(copy_user_generic); @@ -19083,9 +19083,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/x8664_= ksyms_64.c linux-2.6.32.48/arch EXPORT_SYMBOL(__copy_from_user_inatomic); =20 EXPORT_SYMBOL(copy_page); -diff -urNp linux-2.6.32.48/arch/x86/kernel/xsave.c linux-2.6.32.48/arch/= x86/kernel/xsave.c ---- linux-2.6.32.48/arch/x86/kernel/xsave.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/xsave.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kernel/xsave.c linux-2.6.32.46/arch/= x86/kernel/xsave.c +--- linux-2.6.32.46/arch/x86/kernel/xsave.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/kernel/xsave.c 2011-10-06 09:37:08.00000000= 0 -0400 @@ -54,7 +54,7 @@ int check_for_xstate(struct i387_fxsave_ fx_sw_user->xstate_size > fx_sw_user->extended_size) return -1; @@ -19113,9 +19113,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/xsave.= c linux-2.6.32.48/arch/x86/kern buf); if (unlikely(err)) { /* -diff -urNp linux-2.6.32.48/arch/x86/kvm/emulate.c linux-2.6.32.48/arch/x= 86/kvm/emulate.c ---- linux-2.6.32.48/arch/x86/kvm/emulate.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/kvm/emulate.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/kvm/emulate.c linux-2.6.32.46/arch/x= 86/kvm/emulate.c +--- linux-2.6.32.46/arch/x86/kvm/emulate.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/kvm/emulate.c 2011-04-17 15:56:46.000000000= -0400 @@ -81,8 +81,8 @@ #define Src2CL (1<<29) #define Src2ImmByte (2<<29) @@ -19152,9 +19152,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/emulate.c= linux-2.6.32.48/arch/x86/kvm/e switch ((_dst).bytes) { \ case 1: \ ____emulate_2op(_op,_src,_dst,_eflags,_bx,_by,"b"); \ -diff -urNp linux-2.6.32.48/arch/x86/kvm/lapic.c linux-2.6.32.48/arch/x86= /kvm/lapic.c ---- linux-2.6.32.48/arch/x86/kvm/lapic.c 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/arch/x86/kvm/lapic.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/arch/x86/kvm/lapic.c linux-2.6.32.46/arch/x86= /kvm/lapic.c +--- linux-2.6.32.46/arch/x86/kvm/lapic.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/arch/x86/kvm/lapic.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -52,7 +52,7 @@ #define APIC_BUS_CYCLE_NS 1 =20 @@ -19164,9 +19164,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/lapic.c l= inux-2.6.32.48/arch/x86/kvm/lap =20 #define APIC_LVT_NUM 6 /* 14 is the version for Xeon and Pentium 8.4.8*/ -diff -urNp linux-2.6.32.48/arch/x86/kvm/paging_tmpl.h linux-2.6.32.48/ar= ch/x86/kvm/paging_tmpl.h ---- linux-2.6.32.48/arch/x86/kvm/paging_tmpl.h 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/kvm/paging_tmpl.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/kvm/paging_tmpl.h linux-2.6.32.46/ar= ch/x86/kvm/paging_tmpl.h +--- linux-2.6.32.46/arch/x86/kvm/paging_tmpl.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/kvm/paging_tmpl.h 2011-05-16 21:46:57.00000= 0000 -0400 @@ -416,6 +416,8 @@ static int FNAME(page_fault)(struct kvm_ int level =3D PT_PAGE_TABLE_LEVEL; unsigned long mmu_seq; @@ -19176,10 +19176,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/paging_= tmpl.h linux-2.6.32.48/arch/x86/k pgprintk("%s: addr %lx err %x\n", __func__, addr, error_code); kvm_mmu_audit(vcpu, "pre page fault"); =20 -diff -urNp linux-2.6.32.48/arch/x86/kvm/svm.c linux-2.6.32.48/arch/x86/k= vm/svm.c ---- linux-2.6.32.48/arch/x86/kvm/svm.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/kvm/svm.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -2486,7 +2486,11 @@ static void reload_tss(struct kvm_vcpu * +diff -urNp linux-2.6.32.46/arch/x86/kvm/svm.c linux-2.6.32.46/arch/x86/k= vm/svm.c +--- linux-2.6.32.46/arch/x86/kvm/svm.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/arch/x86/kvm/svm.c 2011-08-05 20:33:55.000000000 -04= 00 +@@ -2485,7 +2485,11 @@ static void reload_tss(struct kvm_vcpu * int cpu =3D raw_smp_processor_id(); =20 struct svm_cpu_data *svm_data =3D per_cpu(svm_data, cpu); @@ -19191,7 +19191,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/svm.c lin= ux-2.6.32.48/arch/x86/kvm/svm.c load_TR_desc(); } =20 -@@ -2947,7 +2951,7 @@ static bool svm_gb_page_enable(void) +@@ -2946,7 +2950,7 @@ static bool svm_gb_page_enable(void) return true; } =20 @@ -19200,9 +19200,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/svm.c lin= ux-2.6.32.48/arch/x86/kvm/svm.c .cpu_has_kvm_support =3D has_svm, .disabled_by_bios =3D is_disabled, .hardware_setup =3D svm_hardware_setup, -diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c linux-2.6.32.48/arch/x86/k= vm/vmx.c ---- linux-2.6.32.48/arch/x86/kvm/vmx.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/kvm/vmx.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/arch/x86/kvm/vmx.c linux-2.6.32.46/arch/x86/k= vm/vmx.c +--- linux-2.6.32.46/arch/x86/kvm/vmx.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/arch/x86/kvm/vmx.c 2011-05-04 17:56:20.000000000 -04= 00 @@ -570,7 +570,11 @@ static void reload_tss(void) =20 kvm_get_gdt(&gdt); @@ -19215,7 +19215,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c lin= ux-2.6.32.48/arch/x86/kvm/vmx.c load_TR_desc(); } =20 -@@ -1410,8 +1414,11 @@ static __init int hardware_setup(void) +@@ -1409,8 +1413,11 @@ static __init int hardware_setup(void) if (!cpu_has_vmx_flexpriority()) flexpriority_enabled =3D 0; =20 @@ -19229,7 +19229,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c lin= ux-2.6.32.48/arch/x86/kvm/vmx.c =20 if (enable_ept && !cpu_has_vmx_ept_2m_page()) kvm_disable_largepages(); -@@ -2362,7 +2369,7 @@ static int vmx_vcpu_setup(struct vcpu_vm +@@ -2361,7 +2368,7 @@ static int vmx_vcpu_setup(struct vcpu_vm vmcs_writel(HOST_IDTR_BASE, dt.base); /* 22.2.4 */ =20 asm("mov $.Lkvm_vmx_return, %0" : "=3Dr"(kvm_vmx_return)); @@ -19238,7 +19238,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c lin= ux-2.6.32.48/arch/x86/kvm/vmx.c vmcs_write32(VM_EXIT_MSR_STORE_COUNT, 0); vmcs_write32(VM_EXIT_MSR_LOAD_COUNT, 0); vmcs_write32(VM_ENTRY_MSR_LOAD_COUNT, 0); -@@ -3718,6 +3725,12 @@ static void vmx_vcpu_run(struct kvm_vcpu +@@ -3717,6 +3724,12 @@ static void vmx_vcpu_run(struct kvm_vcpu "jmp .Lkvm_vmx_return \n\t" ".Llaunched: " __ex(ASM_VMX_VMRESUME) "\n\t" ".Lkvm_vmx_return: " @@ -19251,7 +19251,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c lin= ux-2.6.32.48/arch/x86/kvm/vmx.c /* Save guest registers, load host registers, keep flags */ "xchg %0, (%%"R"sp) \n\t" "mov %%"R"ax, %c[rax](%0) \n\t" -@@ -3764,8 +3777,13 @@ static void vmx_vcpu_run(struct kvm_vcpu +@@ -3763,8 +3776,13 @@ static void vmx_vcpu_run(struct kvm_vcpu [r15]"i"(offsetof(struct vcpu_vmx, vcpu.arch.regs[VCPU_REGS_R15])), #endif [cr2]"i"(offsetof(struct vcpu_vmx, vcpu.arch.cr2)) @@ -19266,7 +19266,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c lin= ux-2.6.32.48/arch/x86/kvm/vmx.c #ifdef CONFIG_X86_64 , "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15" #endif -@@ -3782,7 +3800,16 @@ static void vmx_vcpu_run(struct kvm_vcpu +@@ -3781,7 +3799,16 @@ static void vmx_vcpu_run(struct kvm_vcpu if (vmx->rmode.irq.pending) fixup_rmode_irq(vmx); =20 @@ -19284,7 +19284,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c lin= ux-2.6.32.48/arch/x86/kvm/vmx.c vmx->launched =3D 1; =20 vmx_complete_interrupts(vmx); -@@ -3957,7 +3984,7 @@ static bool vmx_gb_page_enable(void) +@@ -3956,7 +3983,7 @@ static bool vmx_gb_page_enable(void) return false; } =20 @@ -19293,9 +19293,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c lin= ux-2.6.32.48/arch/x86/kvm/vmx.c .cpu_has_kvm_support =3D cpu_has_kvm_support, .disabled_by_bios =3D vmx_disabled_by_bios, .hardware_setup =3D hardware_setup, -diff -urNp linux-2.6.32.48/arch/x86/kvm/x86.c linux-2.6.32.48/arch/x86/k= vm/x86.c ---- linux-2.6.32.48/arch/x86/kvm/x86.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/kvm/x86.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/arch/x86/kvm/x86.c linux-2.6.32.46/arch/x86/k= vm/x86.c +--- linux-2.6.32.46/arch/x86/kvm/x86.c 2011-05-10 22:12:01.000000000 -04= 00 ++++ linux-2.6.32.46/arch/x86/kvm/x86.c 2011-05-10 22:12:26.000000000 -04= 00 @@ -82,7 +82,7 @@ static void update_cr8_intercept(struct=20 static int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid, struct kvm_cpuid_entry2 __user *entries); @@ -19375,9 +19375,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/x86.c lin= ux-2.6.32.48/arch/x86/kvm/x86.c =20 if (kvm_x86_ops) { printk(KERN_ERR "kvm: already loaded the other module\n"); -diff -urNp linux-2.6.32.48/arch/x86/lguest/boot.c linux-2.6.32.48/arch/x= 86/lguest/boot.c ---- linux-2.6.32.48/arch/x86/lguest/boot.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/lguest/boot.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/lguest/boot.c linux-2.6.32.46/arch/x= 86/lguest/boot.c +--- linux-2.6.32.46/arch/x86/lguest/boot.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/lguest/boot.c 2011-08-05 20:33:55.000000000= -0400 @@ -1172,9 +1172,10 @@ static __init int early_put_chars(u32 vt * Rebooting also tells the Host we're finished, but the RESTART flag t= ells the * Launcher to reboot us. @@ -19390,9 +19390,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lguest/boot.c= linux-2.6.32.48/arch/x86/lgues } =20 /*G:050 -diff -urNp linux-2.6.32.48/arch/x86/lib/atomic64_32.c linux-2.6.32.48/ar= ch/x86/lib/atomic64_32.c ---- linux-2.6.32.48/arch/x86/lib/atomic64_32.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/atomic64_32.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/atomic64_32.c linux-2.6.32.46/ar= ch/x86/lib/atomic64_32.c +--- linux-2.6.32.46/arch/x86/lib/atomic64_32.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/atomic64_32.c 2011-05-04 17:56:28.00000= 0000 -0400 @@ -25,6 +25,12 @@ u64 atomic64_cmpxchg(atomic64_t *ptr, u6 } EXPORT_SYMBOL(atomic64_cmpxchg); @@ -19615,9 +19615,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/atomic64_= 32.c linux-2.6.32.48/arch/x86/l * atomic64_dec_and_test - decrement and test * @ptr: pointer to type atomic64_t * -diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_32.S linux-2.6.32.48/ar= ch/x86/lib/checksum_32.S ---- linux-2.6.32.48/arch/x86/lib/checksum_32.S 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/checksum_32.S 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/checksum_32.S linux-2.6.32.46/ar= ch/x86/lib/checksum_32.S +--- linux-2.6.32.46/arch/x86/lib/checksum_32.S 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/checksum_32.S 2011-04-17 15:56:46.00000= 0000 -0400 @@ -28,7 +28,8 @@ #include #include @@ -19878,9 +19878,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_= 32.S linux-2.6.32.48/arch/x86/l =09 #undef ROUND #undef ROUND1 =09 -diff -urNp linux-2.6.32.48/arch/x86/lib/clear_page_64.S linux-2.6.32.48/= arch/x86/lib/clear_page_64.S ---- linux-2.6.32.48/arch/x86/lib/clear_page_64.S 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/clear_page_64.S 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/clear_page_64.S linux-2.6.32.46/= arch/x86/lib/clear_page_64.S +--- linux-2.6.32.46/arch/x86/lib/clear_page_64.S 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/clear_page_64.S 2011-10-06 09:37:08.000= 000000 -0400 @@ -1,5 +1,6 @@ #include #include @@ -19913,9 +19913,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/clear_pag= e_64.S linux-2.6.32.48/arch/x86 1: .byte 0xeb /* jmp */ .byte (clear_page_c - clear_page) - (2f - 1b) /* offset */ 2: -diff -urNp linux-2.6.32.48/arch/x86/lib/copy_page_64.S linux-2.6.32.48/a= rch/x86/lib/copy_page_64.S ---- linux-2.6.32.48/arch/x86/lib/copy_page_64.S 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/copy_page_64.S 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/copy_page_64.S linux-2.6.32.46/a= rch/x86/lib/copy_page_64.S +--- linux-2.6.32.46/arch/x86/lib/copy_page_64.S 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/copy_page_64.S 2011-10-06 09:37:08.0000= 00000 -0400 @@ -2,12 +2,14 @@ =20 #include @@ -19948,9 +19948,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/copy_page= _64.S linux-2.6.32.48/arch/x86/ 1: .byte 0xeb /* jmp */ .byte (copy_page_c - copy_page) - (2f - 1b) /* offset */ 2: -diff -urNp linux-2.6.32.48/arch/x86/lib/copy_user_64.S linux-2.6.32.48/a= rch/x86/lib/copy_user_64.S ---- linux-2.6.32.48/arch/x86/lib/copy_user_64.S 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/copy_user_64.S 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/copy_user_64.S linux-2.6.32.46/a= rch/x86/lib/copy_user_64.S +--- linux-2.6.32.46/arch/x86/lib/copy_user_64.S 2011-06-25 12:55:34.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/copy_user_64.S 2011-10-06 10:12:52.0000= 00000 -0400 @@ -15,13 +15,15 @@ #include #include @@ -20043,9 +20043,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/copy_user= _64.S linux-2.6.32.48/arch/x86/ ret =20 .section .fixup,"ax" -diff -urNp linux-2.6.32.48/arch/x86/lib/copy_user_nocache_64.S linux-2.6= .32.48/arch/x86/lib/copy_user_nocache_64.S ---- linux-2.6.32.48/arch/x86/lib/copy_user_nocache_64.S 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/copy_user_nocache_64.S 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/copy_user_nocache_64.S linux-2.6= .32.46/arch/x86/lib/copy_user_nocache_64.S +--- linux-2.6.32.46/arch/x86/lib/copy_user_nocache_64.S 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/copy_user_nocache_64.S 2011-10-06 09:37= :08.000000000 -0400 @@ -8,12 +8,14 @@ =20 #include @@ -20085,9 +20085,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/copy_user= _nocache_64.S linux-2.6.32.48/a ret =20 .section .fixup,"ax" -diff -urNp linux-2.6.32.48/arch/x86/lib/csum-copy_64.S linux-2.6.32.48/a= rch/x86/lib/csum-copy_64.S ---- linux-2.6.32.48/arch/x86/lib/csum-copy_64.S 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/csum-copy_64.S 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/csum-copy_64.S linux-2.6.32.46/a= rch/x86/lib/csum-copy_64.S +--- linux-2.6.32.46/arch/x86/lib/csum-copy_64.S 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/csum-copy_64.S 2011-10-06 09:37:14.0000= 00000 -0400 @@ -8,6 +8,7 @@ #include #include @@ -20104,9 +20104,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/csum-copy= _64.S linux-2.6.32.48/arch/x86/ ret CFI_RESTORE_STATE =20 -diff -urNp linux-2.6.32.48/arch/x86/lib/csum-wrappers_64.c linux-2.6.32.= 48/arch/x86/lib/csum-wrappers_64.c ---- linux-2.6.32.48/arch/x86/lib/csum-wrappers_64.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/csum-wrappers_64.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/csum-wrappers_64.c linux-2.6.32.= 46/arch/x86/lib/csum-wrappers_64.c +--- linux-2.6.32.46/arch/x86/lib/csum-wrappers_64.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/csum-wrappers_64.c 2011-10-06 09:37:08.= 000000000 -0400 @@ -52,7 +52,13 @@ csum_partial_copy_from_user(const void _ len -=3D 2; } @@ -20137,9 +20137,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/csum-wrap= pers_64.c linux-2.6.32.48/arch/ len, isum, NULL, errp); } EXPORT_SYMBOL(csum_partial_copy_to_user); -diff -urNp linux-2.6.32.48/arch/x86/lib/getuser.S linux-2.6.32.48/arch/x= 86/lib/getuser.S ---- linux-2.6.32.48/arch/x86/lib/getuser.S 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/lib/getuser.S 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/getuser.S linux-2.6.32.46/arch/x= 86/lib/getuser.S +--- linux-2.6.32.46/arch/x86/lib/getuser.S 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/lib/getuser.S 2011-10-08 08:14:37.000000000= -0400 @@ -33,15 +33,38 @@ #include #include @@ -20263,9 +20263,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/getuser.S= linux-2.6.32.48/arch/x86/lib/g ret CFI_ENDPROC END(bad_get_user) -diff -urNp linux-2.6.32.48/arch/x86/lib/iomap_copy_64.S linux-2.6.32.48/= arch/x86/lib/iomap_copy_64.S ---- linux-2.6.32.48/arch/x86/lib/iomap_copy_64.S 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/iomap_copy_64.S 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/iomap_copy_64.S linux-2.6.32.46/= arch/x86/lib/iomap_copy_64.S +--- linux-2.6.32.46/arch/x86/lib/iomap_copy_64.S 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/iomap_copy_64.S 2011-10-06 09:37:14.000= 000000 -0400 @@ -17,6 +17,7 @@ =20 #include @@ -20282,9 +20282,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/iomap_cop= y_64.S linux-2.6.32.48/arch/x86 ret CFI_ENDPROC ENDPROC(__iowrite32_copy) -diff -urNp linux-2.6.32.48/arch/x86/lib/memcpy_64.S linux-2.6.32.48/arch= /x86/lib/memcpy_64.S ---- linux-2.6.32.48/arch/x86/lib/memcpy_64.S 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/lib/memcpy_64.S 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/memcpy_64.S linux-2.6.32.46/arch= /x86/lib/memcpy_64.S +--- linux-2.6.32.46/arch/x86/lib/memcpy_64.S 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/lib/memcpy_64.S 2011-10-06 10:13:49.0000000= 00 -0400 @@ -4,6 +4,7 @@ =20 #include @@ -20318,9 +20318,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/memcpy_64= .S linux-2.6.32.48/arch/x86/lib 1: .byte 0xeb /* jmp */ .byte (memcpy_c - memcpy) - (2f - 1b) /* offset */ 2: -diff -urNp linux-2.6.32.48/arch/x86/lib/memset_64.S linux-2.6.32.48/arch= /x86/lib/memset_64.S ---- linux-2.6.32.48/arch/x86/lib/memset_64.S 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/lib/memset_64.S 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/memset_64.S linux-2.6.32.46/arch= /x86/lib/memset_64.S +--- linux-2.6.32.46/arch/x86/lib/memset_64.S 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/lib/memset_64.S 2011-10-06 09:37:08.0000000= 00 -0400 @@ -2,6 +2,7 @@ =20 #include @@ -20354,9 +20354,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/memset_64= .S linux-2.6.32.48/arch/x86/lib 1: .byte 0xeb /* jmp */ .byte (memset_c - memset) - (2f - 1b) /* offset */ 2: -diff -urNp linux-2.6.32.48/arch/x86/lib/mmx_32.c linux-2.6.32.48/arch/x8= 6/lib/mmx_32.c ---- linux-2.6.32.48/arch/x86/lib/mmx_32.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/lib/mmx_32.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/mmx_32.c linux-2.6.32.46/arch/x8= 6/lib/mmx_32.c +--- linux-2.6.32.46/arch/x86/lib/mmx_32.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/lib/mmx_32.c 2011-04-17 15:56:46.000000000 = -0400 @@ -29,6 +29,7 @@ void *_mmx_memcpy(void *to, const void * { void *p; @@ -20672,9 +20672,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/mmx_32.c = linux-2.6.32.48/arch/x86/lib/mm =20 from +=3D 64; to +=3D 64; -diff -urNp linux-2.6.32.48/arch/x86/lib/msr-reg.S linux-2.6.32.48/arch/x= 86/lib/msr-reg.S ---- linux-2.6.32.48/arch/x86/lib/msr-reg.S 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/lib/msr-reg.S 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/msr-reg.S linux-2.6.32.46/arch/x= 86/lib/msr-reg.S +--- linux-2.6.32.46/arch/x86/lib/msr-reg.S 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/lib/msr-reg.S 2011-10-08 08:14:40.000000000= -0400 @@ -3,6 +3,7 @@ #include #include @@ -20691,9 +20691,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/msr-reg.S= linux-2.6.32.48/arch/x86/lib/m ret 3: CFI_RESTORE_STATE -diff -urNp linux-2.6.32.48/arch/x86/lib/putuser.S linux-2.6.32.48/arch/x= 86/lib/putuser.S ---- linux-2.6.32.48/arch/x86/lib/putuser.S 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/lib/putuser.S 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/putuser.S linux-2.6.32.46/arch/x= 86/lib/putuser.S +--- linux-2.6.32.46/arch/x86/lib/putuser.S 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/lib/putuser.S 2011-10-08 08:14:40.000000000= -0400 @@ -15,7 +15,9 @@ #include #include @@ -20833,9 +20833,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/putuser.S= linux-2.6.32.48/arch/x86/lib/p #endif xor %eax,%eax EXIT -diff -urNp linux-2.6.32.48/arch/x86/lib/rwlock_64.S linux-2.6.32.48/arch= /x86/lib/rwlock_64.S ---- linux-2.6.32.48/arch/x86/lib/rwlock_64.S 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/lib/rwlock_64.S 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/rwlock_64.S linux-2.6.32.46/arch= /x86/lib/rwlock_64.S +--- linux-2.6.32.46/arch/x86/lib/rwlock_64.S 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/lib/rwlock_64.S 2011-10-06 09:37:14.0000000= 00 -0400 @@ -17,6 +17,7 @@ ENTRY(__write_lock_failed) LOCK_PREFIX subl $RW_LOCK_BIAS,(%rdi) @@ -20852,9 +20852,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/rwlock_64= .S linux-2.6.32.48/arch/x86/lib ret CFI_ENDPROC END(__read_lock_failed) -diff -urNp linux-2.6.32.48/arch/x86/lib/rwsem_64.S linux-2.6.32.48/arch/= x86/lib/rwsem_64.S ---- linux-2.6.32.48/arch/x86/lib/rwsem_64.S 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/lib/rwsem_64.S 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/rwsem_64.S linux-2.6.32.46/arch/= x86/lib/rwsem_64.S +--- linux-2.6.32.46/arch/x86/lib/rwsem_64.S 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/lib/rwsem_64.S 2011-10-06 09:37:14.00000000= 0 -0400 @@ -48,6 +48,7 @@ ENTRY(call_rwsem_down_read_failed) call rwsem_down_read_failed popq %rdx @@ -20888,9 +20888,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/rwsem_64.= S linux-2.6.32.48/arch/x86/lib/ + pax_force_retaddr ret ENDPROC(call_rwsem_downgrade_wake) -diff -urNp linux-2.6.32.48/arch/x86/lib/thunk_64.S linux-2.6.32.48/arch/= x86/lib/thunk_64.S ---- linux-2.6.32.48/arch/x86/lib/thunk_64.S 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/lib/thunk_64.S 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/thunk_64.S linux-2.6.32.46/arch/= x86/lib/thunk_64.S +--- linux-2.6.32.46/arch/x86/lib/thunk_64.S 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/lib/thunk_64.S 2011-10-06 09:37:14.00000000= 0 -0400 @@ -10,7 +10,8 @@ #include #include =09 @@ -20916,9 +20916,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/thunk_64.= S linux-2.6.32.48/arch/x86/lib/ + pax_force_retaddr ret CFI_ENDPROC -diff -urNp linux-2.6.32.48/arch/x86/lib/usercopy_32.c linux-2.6.32.48/ar= ch/x86/lib/usercopy_32.c ---- linux-2.6.32.48/arch/x86/lib/usercopy_32.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/usercopy_32.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/usercopy_32.c linux-2.6.32.46/ar= ch/x86/lib/usercopy_32.c +--- linux-2.6.32.46/arch/x86/lib/usercopy_32.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/usercopy_32.c 2011-04-23 21:12:28.00000= 0000 -0400 @@ -43,7 +43,7 @@ do { \ __asm__ __volatile__( \ " testl %1,%1\n" \ @@ -21524,9 +21524,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/usercopy_= 32.c linux-2.6.32.48/arch/x86/l -EXPORT_SYMBOL(copy_from_user); +EXPORT_SYMBOL(set_fs); +#endif -diff -urNp linux-2.6.32.48/arch/x86/lib/usercopy_64.c linux-2.6.32.48/ar= ch/x86/lib/usercopy_64.c ---- linux-2.6.32.48/arch/x86/lib/usercopy_64.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/usercopy_64.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/lib/usercopy_64.c linux-2.6.32.46/ar= ch/x86/lib/usercopy_64.c +--- linux-2.6.32.46/arch/x86/lib/usercopy_64.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/lib/usercopy_64.c 2011-10-06 09:37:08.00000= 0000 -0400 @@ -42,6 +42,12 @@ long __strncpy_from_user(char *dst, const char __user *src, long count) { @@ -21585,9 +21585,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/usercopy_= 64.c linux-2.6.32.48/arch/x86/l { char c; unsigned zero_len; -diff -urNp linux-2.6.32.48/arch/x86/Makefile linux-2.6.32.48/arch/x86/Ma= kefile ---- linux-2.6.32.48/arch/x86/Makefile 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/arch/x86/Makefile 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-2.6.32.46/arch/x86/Makefile linux-2.6.32.46/arch/x86/Ma= kefile +--- linux-2.6.32.46/arch/x86/Makefile 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/arch/x86/Makefile 2011-07-19 18:16:02.000000000 -040= 0 @@ -44,6 +44,7 @@ ifeq ($(CONFIG_X86_32),y) else BITS :=3D 64 @@ -21609,9 +21609,9 @@ diff -urNp linux-2.6.32.48/arch/x86/Makefile linu= x-2.6.32.48/arch/x86/Makefile + +archprepare: + $(if $(LDFLAGS_BUILD_ID),,$(error $(OLD_LD))) -diff -urNp linux-2.6.32.48/arch/x86/mm/extable.c linux-2.6.32.48/arch/x8= 6/mm/extable.c ---- linux-2.6.32.48/arch/x86/mm/extable.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/extable.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/extable.c linux-2.6.32.46/arch/x8= 6/mm/extable.c +--- linux-2.6.32.46/arch/x86/mm/extable.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/mm/extable.c 2011-04-17 15:56:46.000000000 = -0400 @@ -1,14 +1,71 @@ #include #include @@ -21685,9 +21685,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/extable.c = linux-2.6.32.48/arch/x86/mm/ext extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp; extern u32 pnp_bios_is_utter_crap; pnp_bios_is_utter_crap =3D 1; -diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c linux-2.6.32.48/arch/x86/= mm/fault.c ---- linux-2.6.32.48/arch/x86/mm/fault.c 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/arch/x86/mm/fault.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/arch/x86/mm/fault.c linux-2.6.32.46/arch/x86/= mm/fault.c +--- linux-2.6.32.46/arch/x86/mm/fault.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/arch/x86/mm/fault.c 2011-10-06 09:37:08.000000000 -0= 400 @@ -11,10 +11,19 @@ #include /* __kprobes, ... */ #include /* kmmio_handler, ... */ @@ -22374,9 +22374,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c li= nux-2.6.32.48/arch/x86/mm/fault + + return ret ? -EFAULT : 0; +} -diff -urNp linux-2.6.32.48/arch/x86/mm/gup.c linux-2.6.32.48/arch/x86/mm= /gup.c ---- linux-2.6.32.48/arch/x86/mm/gup.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/arch/x86/mm/gup.c 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-2.6.32.46/arch/x86/mm/gup.c linux-2.6.32.46/arch/x86/mm= /gup.c +--- linux-2.6.32.46/arch/x86/mm/gup.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/arch/x86/mm/gup.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -237,7 +237,7 @@ int __get_user_pages_fast(unsigned long=20 addr =3D start; len =3D (unsigned long) nr_pages << PAGE_SHIFT; @@ -22386,9 +22386,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/gup.c linu= x-2.6.32.48/arch/x86/mm/gup.c (void __user *)start, len))) return 0; =20 -diff -urNp linux-2.6.32.48/arch/x86/mm/highmem_32.c linux-2.6.32.48/arch= /x86/mm/highmem_32.c ---- linux-2.6.32.48/arch/x86/mm/highmem_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/mm/highmem_32.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/highmem_32.c linux-2.6.32.46/arch= /x86/mm/highmem_32.c +--- linux-2.6.32.46/arch/x86/mm/highmem_32.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/mm/highmem_32.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -43,7 +43,10 @@ void *kmap_atomic_prot(struct page *page idx =3D type + KM_TYPE_NR*smp_processor_id(); vaddr =3D __fix_to_virt(FIX_KMAP_BEGIN + idx); @@ -22400,9 +22400,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/highmem_32= .c linux-2.6.32.48/arch/x86/mm/ =20 return (void *)vaddr; } -diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbpage.c linux-2.6.32.48/arc= h/x86/mm/hugetlbpage.c ---- linux-2.6.32.48/arch/x86/mm/hugetlbpage.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/mm/hugetlbpage.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/hugetlbpage.c linux-2.6.32.46/arc= h/x86/mm/hugetlbpage.c +--- linux-2.6.32.46/arch/x86/mm/hugetlbpage.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/mm/hugetlbpage.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -267,13 +267,20 @@ static unsigned long hugetlb_get_unmappe struct hstate *h =3D hstate_file(file); struct mm_struct *mm =3D current->mm; @@ -22610,9 +22610,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbpag= e.c linux-2.6.32.48/arch/x86/mm return addr; } if (mm->get_unmapped_area =3D=3D arch_get_unmapped_area) -diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c linux-2.6.32.48/arch/x8= 6/mm/init_32.c ---- linux-2.6.32.48/arch/x86/mm/init_32.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/init_32.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/init_32.c linux-2.6.32.46/arch/x8= 6/mm/init_32.c +--- linux-2.6.32.46/arch/x86/mm/init_32.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/mm/init_32.c 2011-04-17 15:56:46.000000000 = -0400 @@ -72,36 +72,6 @@ static __init void *alloc_low_page(void) } =20 @@ -22916,9 +22916,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c = linux-2.6.32.48/arch/x86/mm/ini set_pages_ro(virt_to_page(start), size >> PAGE_SHIFT); printk(KERN_INFO "Write protecting the kernel text: %luk\n", size >> 10); -diff -urNp linux-2.6.32.48/arch/x86/mm/init_64.c linux-2.6.32.48/arch/x8= 6/mm/init_64.c ---- linux-2.6.32.48/arch/x86/mm/init_64.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/init_64.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/init_64.c linux-2.6.32.46/arch/x8= 6/mm/init_64.c +--- linux-2.6.32.46/arch/x86/mm/init_64.c 2011-04-17 17:00:52.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/mm/init_64.c 2011-04-17 17:03:05.000000000 = -0400 @@ -164,7 +164,9 @@ void set_pte_vaddr_pud(pud_t *pud_page,=20 pmd =3D fill_pmd(pud, vaddr); pte =3D fill_pte(pmd, vaddr); @@ -22979,9 +22979,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_64.c = linux-2.6.32.48/arch/x86/mm/ini return "[vdso]"; if (vma =3D=3D &gate_vma) return "[vsyscall]"; -diff -urNp linux-2.6.32.48/arch/x86/mm/init.c linux-2.6.32.48/arch/x86/m= m/init.c ---- linux-2.6.32.48/arch/x86/mm/init.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/mm/init.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/arch/x86/mm/init.c linux-2.6.32.46/arch/x86/m= m/init.c +--- linux-2.6.32.46/arch/x86/mm/init.c 2011-04-17 17:00:52.000000000 -04= 00 ++++ linux-2.6.32.46/arch/x86/mm/init.c 2011-06-07 19:06:09.000000000 -04= 00 @@ -69,11 +69,7 @@ static void __init find_early_table_spac * cause a hotspot and fill up ZONE_DMA. The page tables * need roughly 0.5KB per GB. @@ -23119,9 +23119,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init.c lin= ux-2.6.32.48/arch/x86/mm/init.c free_init_pages("unused kernel memory", (unsigned long)(&__init_begin), (unsigned long)(&__init_end)); -diff -urNp linux-2.6.32.48/arch/x86/mm/iomap_32.c linux-2.6.32.48/arch/x= 86/mm/iomap_32.c ---- linux-2.6.32.48/arch/x86/mm/iomap_32.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/mm/iomap_32.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/iomap_32.c linux-2.6.32.46/arch/x= 86/mm/iomap_32.c +--- linux-2.6.32.46/arch/x86/mm/iomap_32.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/mm/iomap_32.c 2011-04-17 15:56:46.000000000= -0400 @@ -65,7 +65,11 @@ void *kmap_atomic_prot_pfn(unsigned long debug_kmap_atomic(type); idx =3D type + KM_TYPE_NR * smp_processor_id(); @@ -23134,9 +23134,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/iomap_32.c= linux-2.6.32.48/arch/x86/mm/io arch_flush_lazy_mmu_mode(); =20 return (void *)vaddr; -diff -urNp linux-2.6.32.48/arch/x86/mm/ioremap.c linux-2.6.32.48/arch/x8= 6/mm/ioremap.c ---- linux-2.6.32.48/arch/x86/mm/ioremap.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/ioremap.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/ioremap.c linux-2.6.32.46/arch/x8= 6/mm/ioremap.c +--- linux-2.6.32.46/arch/x86/mm/ioremap.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/mm/ioremap.c 2011-04-17 15:56:46.000000000 = -0400 @@ -41,8 +41,8 @@ int page_is_ram(unsigned long pagenr) * Second special case: Some BIOSen report the PC BIOS * area (640->1Mb) as ram even though it is not. @@ -23183,9 +23183,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/ioremap.c = linux-2.6.32.48/arch/x86/mm/ior =20 /* * The boot-ioremap range spans multiple pmds, for which -diff -urNp linux-2.6.32.48/arch/x86/mm/kmemcheck/kmemcheck.c linux-2.6.3= 2.48/arch/x86/mm/kmemcheck/kmemcheck.c ---- linux-2.6.32.48/arch/x86/mm/kmemcheck/kmemcheck.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/mm/kmemcheck/kmemcheck.c 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/kmemcheck/kmemcheck.c linux-2.6.3= 2.46/arch/x86/mm/kmemcheck/kmemcheck.c +--- linux-2.6.32.46/arch/x86/mm/kmemcheck/kmemcheck.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/arch/x86/mm/kmemcheck/kmemcheck.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -622,9 +622,9 @@ bool kmemcheck_fault(struct pt_regs *reg * memory (e.g. tracked pages)? For now, we need this to avoid * invoking kmemcheck for PnP BIOS calls. @@ -23198,9 +23198,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/kmemcheck/= kmemcheck.c linux-2.6.32.48/arc return false; =20 pte =3D kmemcheck_pte_lookup(address); -diff -urNp linux-2.6.32.48/arch/x86/mm/mmap.c linux-2.6.32.48/arch/x86/m= m/mmap.c ---- linux-2.6.32.48/arch/x86/mm/mmap.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/mm/mmap.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/arch/x86/mm/mmap.c linux-2.6.32.46/arch/x86/m= m/mmap.c +--- linux-2.6.32.46/arch/x86/mm/mmap.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/arch/x86/mm/mmap.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -49,7 +49,7 @@ static unsigned int stack_maxrandom_size * Leave an at least ~128 MB hole with possible stack randomization. */ @@ -23282,9 +23282,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/mmap.c lin= ux-2.6.32.48/arch/x86/mm/mmap.c mm->get_unmapped_area =3D arch_get_unmapped_area_topdown; mm->unmap_area =3D arch_unmap_area_topdown; } -diff -urNp linux-2.6.32.48/arch/x86/mm/mmio-mod.c linux-2.6.32.48/arch/x= 86/mm/mmio-mod.c ---- linux-2.6.32.48/arch/x86/mm/mmio-mod.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/mm/mmio-mod.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/mmio-mod.c linux-2.6.32.46/arch/x= 86/mm/mmio-mod.c +--- linux-2.6.32.46/arch/x86/mm/mmio-mod.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/mm/mmio-mod.c 2011-07-06 19:53:33.000000000= -0400 @@ -193,7 +193,7 @@ static void pre(struct kmmio_probe *p, s break; default: @@ -23312,9 +23312,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/mmio-mod.c= linux-2.6.32.48/arch/x86/mm/mm }; map.map_id =3D trace->id; =20 -diff -urNp linux-2.6.32.48/arch/x86/mm/numa_32.c linux-2.6.32.48/arch/x8= 6/mm/numa_32.c ---- linux-2.6.32.48/arch/x86/mm/numa_32.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/numa_32.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/numa_32.c linux-2.6.32.46/arch/x8= 6/mm/numa_32.c +--- linux-2.6.32.46/arch/x86/mm/numa_32.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/mm/numa_32.c 2011-04-17 15:56:46.000000000 = -0400 @@ -98,7 +98,6 @@ unsigned long node_memmap_size_bytes(int } #endif @@ -23323,9 +23323,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/numa_32.c = linux-2.6.32.48/arch/x86/mm/num extern unsigned long highend_pfn, highstart_pfn; =20 #define LARGE_PAGE_BYTES (PTRS_PER_PTE * PAGE_SIZE) -diff -urNp linux-2.6.32.48/arch/x86/mm/pageattr.c linux-2.6.32.48/arch/x= 86/mm/pageattr.c ---- linux-2.6.32.48/arch/x86/mm/pageattr.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/mm/pageattr.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/pageattr.c linux-2.6.32.46/arch/x= 86/mm/pageattr.c +--- linux-2.6.32.46/arch/x86/mm/pageattr.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/mm/pageattr.c 2011-04-17 15:56:46.000000000= -0400 @@ -261,16 +261,17 @@ static inline pgprot_t static_protection * PCI BIOS based config access (CONFIG_PCI_GOBIOS) support. */ @@ -23402,9 +23402,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pageattr.c= linux-2.6.32.48/arch/x86/mm/pa } =20 static int -diff -urNp linux-2.6.32.48/arch/x86/mm/pageattr-test.c linux-2.6.32.48/a= rch/x86/mm/pageattr-test.c ---- linux-2.6.32.48/arch/x86/mm/pageattr-test.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/mm/pageattr-test.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/pageattr-test.c linux-2.6.32.46/a= rch/x86/mm/pageattr-test.c +--- linux-2.6.32.46/arch/x86/mm/pageattr-test.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/arch/x86/mm/pageattr-test.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -36,7 +36,7 @@ enum { =20 static int pte_testbit(pte_t pte) @@ -23414,9 +23414,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pageattr-t= est.c linux-2.6.32.48/arch/x86/ } =20 struct split_state { -diff -urNp linux-2.6.32.48/arch/x86/mm/pat.c linux-2.6.32.48/arch/x86/mm= /pat.c ---- linux-2.6.32.48/arch/x86/mm/pat.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/arch/x86/mm/pat.c 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-2.6.32.46/arch/x86/mm/pat.c linux-2.6.32.46/arch/x86/mm= /pat.c +--- linux-2.6.32.46/arch/x86/mm/pat.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/arch/x86/mm/pat.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -258,7 +258,7 @@ chk_conflict(struct memtype *new, struct =20 conflict: @@ -23464,9 +23464,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pat.c linu= x-2.6.32.48/arch/x86/mm/pat.c cattr_name(want_flags), (unsigned long long)paddr, (unsigned long long)(paddr + size), -diff -urNp linux-2.6.32.48/arch/x86/mm/pf_in.c linux-2.6.32.48/arch/x86/= mm/pf_in.c ---- linux-2.6.32.48/arch/x86/mm/pf_in.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/arch/x86/mm/pf_in.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/arch/x86/mm/pf_in.c linux-2.6.32.46/arch/x86/= mm/pf_in.c +--- linux-2.6.32.46/arch/x86/mm/pf_in.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/arch/x86/mm/pf_in.c 2011-07-06 19:53:33.000000000 -0= 400 @@ -148,7 +148,7 @@ enum reason_type get_ins_type(unsigned l int i; enum reason_type rv =3D OTHERS; @@ -23512,9 +23512,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pf_in.c li= nux-2.6.32.48/arch/x86/mm/pf_in p +=3D skip_prefix(p, &prf); p +=3D get_opcode(p, &opcode); for (i =3D 0; i < ARRAY_SIZE(imm_wop); i++) -diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable_32.c linux-2.6.32.48/arch= /x86/mm/pgtable_32.c ---- linux-2.6.32.48/arch/x86/mm/pgtable_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/mm/pgtable_32.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/pgtable_32.c linux-2.6.32.46/arch= /x86/mm/pgtable_32.c +--- linux-2.6.32.46/arch/x86/mm/pgtable_32.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/mm/pgtable_32.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -49,10 +49,13 @@ void set_pte_vaddr(unsigned long vaddr,=20 return; } @@ -23529,9 +23529,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable_32= .c linux-2.6.32.48/arch/x86/mm/ =20 /* * It's enough to flush this one mapping. -diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.c linux-2.6.32.48/arch/x8= 6/mm/pgtable.c ---- linux-2.6.32.48/arch/x86/mm/pgtable.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/pgtable.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/pgtable.c linux-2.6.32.46/arch/x8= 6/mm/pgtable.c +--- linux-2.6.32.46/arch/x86/mm/pgtable.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/mm/pgtable.c 2011-05-11 18:25:15.000000000 = -0400 @@ -83,9 +83,52 @@ static inline void pgd_list_del(pgd_t *p list_del(&page->lru); } @@ -23778,9 +23778,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.c = linux-2.6.32.48/arch/x86/mm/pgt pgd_dtor(pgd); paravirt_pgd_free(mm, pgd); free_page((unsigned long)pgd); -diff -urNp linux-2.6.32.48/arch/x86/mm/setup_nx.c linux-2.6.32.48/arch/x= 86/mm/setup_nx.c ---- linux-2.6.32.48/arch/x86/mm/setup_nx.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/mm/setup_nx.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/mm/setup_nx.c linux-2.6.32.46/arch/x= 86/mm/setup_nx.c +--- linux-2.6.32.46/arch/x86/mm/setup_nx.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/mm/setup_nx.c 2011-04-17 15:56:46.000000000= -0400 @@ -4,11 +4,10 @@ =20 #include @@ -23846,9 +23846,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/setup_nx.c= linux-2.6.32.48/arch/x86/mm/se __supported_pte_mask &=3D ~_PAGE_NX; } #endif -diff -urNp linux-2.6.32.48/arch/x86/mm/tlb.c linux-2.6.32.48/arch/x86/mm= /tlb.c ---- linux-2.6.32.48/arch/x86/mm/tlb.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/arch/x86/mm/tlb.c 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-2.6.32.46/arch/x86/mm/tlb.c linux-2.6.32.46/arch/x86/mm= /tlb.c +--- linux-2.6.32.46/arch/x86/mm/tlb.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/arch/x86/mm/tlb.c 2011-04-23 12:56:10.000000000 -040= 0 @@ -61,7 +61,11 @@ void leave_mm(int cpu) BUG(); cpumask_clear_cpu(cpu, @@ -23861,9 +23861,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/tlb.c linu= x-2.6.32.48/arch/x86/mm/tlb.c } EXPORT_SYMBOL_GPL(leave_mm); =20 -diff -urNp linux-2.6.32.48/arch/x86/oprofile/backtrace.c linux-2.6.32.48= /arch/x86/oprofile/backtrace.c ---- linux-2.6.32.48/arch/x86/oprofile/backtrace.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/oprofile/backtrace.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/oprofile/backtrace.c linux-2.6.32.46= /arch/x86/oprofile/backtrace.c +--- linux-2.6.32.46/arch/x86/oprofile/backtrace.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/arch/x86/oprofile/backtrace.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -57,7 +57,7 @@ static struct frame_head *dump_user_back struct frame_head bufhead[2]; =20 @@ -23882,9 +23882,9 @@ diff -urNp linux-2.6.32.48/arch/x86/oprofile/back= trace.c linux-2.6.32.48/arch/x8 unsigned long stack =3D kernel_stack_pointer(regs); if (depth) dump_trace(NULL, regs, (unsigned long *)stack, 0, -diff -urNp linux-2.6.32.48/arch/x86/oprofile/op_model_p4.c linux-2.6.32.= 48/arch/x86/oprofile/op_model_p4.c ---- linux-2.6.32.48/arch/x86/oprofile/op_model_p4.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/oprofile/op_model_p4.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/oprofile/op_model_p4.c linux-2.6.32.= 46/arch/x86/oprofile/op_model_p4.c +--- linux-2.6.32.46/arch/x86/oprofile/op_model_p4.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/arch/x86/oprofile/op_model_p4.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -50,7 +50,7 @@ static inline void setup_num_counters(vo #endif } @@ -23894,9 +23894,9 @@ diff -urNp linux-2.6.32.48/arch/x86/oprofile/op_m= odel_p4.c linux-2.6.32.48/arch/ { #ifdef CONFIG_SMP return smp_num_siblings =3D=3D 2 ? 2 : 1; -diff -urNp linux-2.6.32.48/arch/x86/pci/common.c linux-2.6.32.48/arch/x8= 6/pci/common.c ---- linux-2.6.32.48/arch/x86/pci/common.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/pci/common.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/pci/common.c linux-2.6.32.46/arch/x8= 6/pci/common.c +--- linux-2.6.32.46/arch/x86/pci/common.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/pci/common.c 2011-04-23 12:56:10.000000000 = -0400 @@ -31,8 +31,8 @@ int noioapicreroute =3D 1; int pcibios_last_bus =3D -1; unsigned long pirq_table_addr; @@ -23908,9 +23908,9 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/common.c = linux-2.6.32.48/arch/x86/pci/co =20 int raw_pci_read(unsigned int domain, unsigned int bus, unsigned int de= vfn, int reg, int len, u32 *val) -diff -urNp linux-2.6.32.48/arch/x86/pci/direct.c linux-2.6.32.48/arch/x8= 6/pci/direct.c ---- linux-2.6.32.48/arch/x86/pci/direct.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/pci/direct.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/pci/direct.c linux-2.6.32.46/arch/x8= 6/pci/direct.c +--- linux-2.6.32.46/arch/x86/pci/direct.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/pci/direct.c 2011-04-17 15:56:46.000000000 = -0400 @@ -79,7 +79,7 @@ static int pci_conf1_write(unsigned int=20 =20 #undef PCI_CONF1_ADDRESS @@ -23938,9 +23938,9 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/direct.c = linux-2.6.32.48/arch/x86/pci/di { u32 x =3D 0; int year, devfn; -diff -urNp linux-2.6.32.48/arch/x86/pci/mmconfig_32.c linux-2.6.32.48/ar= ch/x86/pci/mmconfig_32.c ---- linux-2.6.32.48/arch/x86/pci/mmconfig_32.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/pci/mmconfig_32.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/pci/mmconfig_32.c linux-2.6.32.46/ar= ch/x86/pci/mmconfig_32.c +--- linux-2.6.32.46/arch/x86/pci/mmconfig_32.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/pci/mmconfig_32.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -125,7 +125,7 @@ static int pci_mmcfg_write(unsigned int=20 return 0; } @@ -23950,9 +23950,9 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/mmconfig_= 32.c linux-2.6.32.48/arch/x86/p .read =3D pci_mmcfg_read, .write =3D pci_mmcfg_write, }; -diff -urNp linux-2.6.32.48/arch/x86/pci/mmconfig_64.c linux-2.6.32.48/ar= ch/x86/pci/mmconfig_64.c ---- linux-2.6.32.48/arch/x86/pci/mmconfig_64.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/pci/mmconfig_64.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/pci/mmconfig_64.c linux-2.6.32.46/ar= ch/x86/pci/mmconfig_64.c +--- linux-2.6.32.46/arch/x86/pci/mmconfig_64.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/arch/x86/pci/mmconfig_64.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -104,7 +104,7 @@ static int pci_mmcfg_write(unsigned int=20 return 0; } @@ -23962,9 +23962,9 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/mmconfig_= 64.c linux-2.6.32.48/arch/x86/p .read =3D pci_mmcfg_read, .write =3D pci_mmcfg_write, }; -diff -urNp linux-2.6.32.48/arch/x86/pci/numaq_32.c linux-2.6.32.48/arch/= x86/pci/numaq_32.c ---- linux-2.6.32.48/arch/x86/pci/numaq_32.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/pci/numaq_32.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/pci/numaq_32.c linux-2.6.32.46/arch/= x86/pci/numaq_32.c +--- linux-2.6.32.46/arch/x86/pci/numaq_32.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/pci/numaq_32.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -112,7 +112,7 @@ static int pci_conf1_mq_write(unsigned i =20 #undef PCI_CONF1_MQ_ADDRESS @@ -23974,9 +23974,9 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/numaq_32.= c linux-2.6.32.48/arch/x86/pci/ .read =3D pci_conf1_mq_read, .write =3D pci_conf1_mq_write }; -diff -urNp linux-2.6.32.48/arch/x86/pci/olpc.c linux-2.6.32.48/arch/x86/= pci/olpc.c ---- linux-2.6.32.48/arch/x86/pci/olpc.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/arch/x86/pci/olpc.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/arch/x86/pci/olpc.c linux-2.6.32.46/arch/x86/= pci/olpc.c +--- linux-2.6.32.46/arch/x86/pci/olpc.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/arch/x86/pci/olpc.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -297,7 +297,7 @@ static int pci_olpc_write(unsigned int s return 0; } @@ -23986,9 +23986,9 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/olpc.c li= nux-2.6.32.48/arch/x86/pci/olpc .read =3D pci_olpc_read, .write =3D pci_olpc_write, }; -diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c linux-2.6.32.48/arch/x8= 6/pci/pcbios.c ---- linux-2.6.32.48/arch/x86/pci/pcbios.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/pci/pcbios.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/arch/x86/pci/pcbios.c linux-2.6.32.46/arch/x8= 6/pci/pcbios.c +--- linux-2.6.32.46/arch/x86/pci/pcbios.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/arch/x86/pci/pcbios.c 2011-04-17 15:56:46.000000000 = -0400 @@ -56,50 +56,93 @@ union bios32 { static struct { unsigned long address; @@ -24311,9 +24311,9 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc return !(ret & 0xff00); } EXPORT_SYMBOL(pcibios_set_irq_routing); -diff -urNp linux-2.6.32.48/arch/x86/power/cpu.c linux-2.6.32.48/arch/x86= /power/cpu.c ---- linux-2.6.32.48/arch/x86/power/cpu.c 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/arch/x86/power/cpu.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/arch/x86/power/cpu.c linux-2.6.32.46/arch/x86= /power/cpu.c +--- linux-2.6.32.46/arch/x86/power/cpu.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/arch/x86/power/cpu.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -129,7 +129,7 @@ static void do_fpu_end(void) static void fix_processor_context(void) { @@ -24333,9 +24333,9 @@ diff -urNp linux-2.6.32.48/arch/x86/power/cpu.c l= inux-2.6.32.48/arch/x86/power/c =20 syscall_init(); /* This sets MSR_*STAR and related */ #endif -diff -urNp linux-2.6.32.48/arch/x86/vdso/Makefile linux-2.6.32.48/arch/x= 86/vdso/Makefile ---- linux-2.6.32.48/arch/x86/vdso/Makefile 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/vdso/Makefile 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/vdso/Makefile linux-2.6.32.46/arch/x= 86/vdso/Makefile +--- linux-2.6.32.46/arch/x86/vdso/Makefile 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/vdso/Makefile 2011-04-17 15:56:46.000000000= -0400 @@ -122,7 +122,7 @@ quiet_cmd_vdso =3D VDSO $@ $(VDSO_LDFLAGS) $(VDSO_LDFLAGS_$(filter %.lds,$(^F))) \ -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) @@ -24345,9 +24345,9 @@ diff -urNp linux-2.6.32.48/arch/x86/vdso/Makefile= linux-2.6.32.48/arch/x86/vdso/ GCOV_PROFILE :=3D n =20 # -diff -urNp linux-2.6.32.48/arch/x86/vdso/vclock_gettime.c linux-2.6.32.4= 8/arch/x86/vdso/vclock_gettime.c ---- linux-2.6.32.48/arch/x86/vdso/vclock_gettime.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/vdso/vclock_gettime.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/vdso/vclock_gettime.c linux-2.6.32.4= 6/arch/x86/vdso/vclock_gettime.c +--- linux-2.6.32.46/arch/x86/vdso/vclock_gettime.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/arch/x86/vdso/vclock_gettime.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -22,24 +22,48 @@ #include #include @@ -24446,9 +24446,9 @@ diff -urNp linux-2.6.32.48/arch/x86/vdso/vclock_g= ettime.c linux-2.6.32.48/arch/x } int gettimeofday(struct timeval *, struct timezone *) __attribute__((weak, alias("__vdso_gettimeofday"))); -diff -urNp linux-2.6.32.48/arch/x86/vdso/vdso32-setup.c linux-2.6.32.48/= arch/x86/vdso/vdso32-setup.c ---- linux-2.6.32.48/arch/x86/vdso/vdso32-setup.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/vdso/vdso32-setup.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/vdso/vdso32-setup.c linux-2.6.32.46/= arch/x86/vdso/vdso32-setup.c +--- linux-2.6.32.46/arch/x86/vdso/vdso32-setup.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/arch/x86/vdso/vdso32-setup.c 2011-04-23 12:56:10.000= 000000 -0400 @@ -25,6 +25,7 @@ #include #include @@ -24531,9 +24531,9 @@ diff -urNp linux-2.6.32.48/arch/x86/vdso/vdso32-s= etup.c linux-2.6.32.48/arch/x86 return &gate_vma; return NULL; } -diff -urNp linux-2.6.32.48/arch/x86/vdso/vdso.lds.S linux-2.6.32.48/arch= /x86/vdso/vdso.lds.S ---- linux-2.6.32.48/arch/x86/vdso/vdso.lds.S 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/vdso/vdso.lds.S 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/vdso/vdso.lds.S linux-2.6.32.46/arch= /x86/vdso/vdso.lds.S +--- linux-2.6.32.46/arch/x86/vdso/vdso.lds.S 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/vdso/vdso.lds.S 2011-06-06 17:35:35.0000000= 00 -0400 @@ -35,3 +35,9 @@ VDSO64_PRELINK =3D VDSO_PRELINK; #define VEXTERN(x) VDSO64_ ## x =3D vdso_ ## x; #include "vextern.h" @@ -24544,9 +24544,9 @@ diff -urNp linux-2.6.32.48/arch/x86/vdso/vdso.lds= .S linux-2.6.32.48/arch/x86/vds +VEXTERN(fallback_time) +VEXTERN(getcpu) +#undef VEXTERN -diff -urNp linux-2.6.32.48/arch/x86/vdso/vextern.h linux-2.6.32.48/arch/= x86/vdso/vextern.h ---- linux-2.6.32.48/arch/x86/vdso/vextern.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/vdso/vextern.h 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/vdso/vextern.h linux-2.6.32.46/arch/= x86/vdso/vextern.h +--- linux-2.6.32.46/arch/x86/vdso/vextern.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/vdso/vextern.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -11,6 +11,5 @@ put into vextern.h and be referenced as a pointer with vdso prefix. The main kernel later fills in the values. */ @@ -24554,9 +24554,9 @@ diff -urNp linux-2.6.32.48/arch/x86/vdso/vextern.= h linux-2.6.32.48/arch/x86/vdso -VEXTERN(jiffies) VEXTERN(vgetcpu_mode) VEXTERN(vsyscall_gtod_data) -diff -urNp linux-2.6.32.48/arch/x86/vdso/vma.c linux-2.6.32.48/arch/x86/= vdso/vma.c ---- linux-2.6.32.48/arch/x86/vdso/vma.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/arch/x86/vdso/vma.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/arch/x86/vdso/vma.c linux-2.6.32.46/arch/x86/= vdso/vma.c +--- linux-2.6.32.46/arch/x86/vdso/vma.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/arch/x86/vdso/vma.c 2011-08-23 20:24:19.000000000 -0= 400 @@ -17,8 +17,6 @@ #include "vextern.h" /* Just for VMAGIC. */ #undef VEXTERN @@ -24644,9 +24644,9 @@ diff -urNp linux-2.6.32.48/arch/x86/vdso/vma.c li= nux-2.6.32.48/arch/x86/vdso/vma - return 0; -} -__setup("vdso=3D", vdso_setup); -diff -urNp linux-2.6.32.48/arch/x86/xen/enlighten.c linux-2.6.32.48/arch= /x86/xen/enlighten.c ---- linux-2.6.32.48/arch/x86/xen/enlighten.c 2011-11-12 12:44:28.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/xen/enlighten.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/arch/x86/xen/enlighten.c linux-2.6.32.46/arch= /x86/xen/enlighten.c +--- linux-2.6.32.46/arch/x86/xen/enlighten.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/arch/x86/xen/enlighten.c 2011-05-22 23:02:03.0000000= 00 -0400 @@ -71,8 +71,6 @@ EXPORT_SYMBOL_GPL(xen_start_info); =20 struct shared_info xen_dummy_shared_info; @@ -24732,9 +24732,9 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/enlighten= .c linux-2.6.32.48/arch/x86/xen xen_smp_init(); =20 pgd =3D (pgd_t *)xen_start_info->pt_base; -diff -urNp linux-2.6.32.48/arch/x86/xen/mmu.c linux-2.6.32.48/arch/x86/x= en/mmu.c ---- linux-2.6.32.48/arch/x86/xen/mmu.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/xen/mmu.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/arch/x86/xen/mmu.c linux-2.6.32.46/arch/x86/x= en/mmu.c +--- linux-2.6.32.46/arch/x86/xen/mmu.c 2011-07-13 17:23:04.000000000 -04= 00 ++++ linux-2.6.32.46/arch/x86/xen/mmu.c 2011-08-24 18:35:52.000000000 -04= 00 @@ -1719,6 +1719,8 @@ __init pgd_t *xen_setup_kernel_pagetable convert_pfn_mfn(init_level4_pgt); convert_pfn_mfn(level3_ident_pgt); @@ -24771,10 +24771,10 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/mmu.c l= inux-2.6.32.48/arch/x86/xen/mmu.c =20 .alloc_pud =3D xen_alloc_pmd_init, .release_pud =3D xen_release_pmd_init, -diff -urNp linux-2.6.32.48/arch/x86/xen/smp.c linux-2.6.32.48/arch/x86/x= en/smp.c ---- linux-2.6.32.48/arch/x86/xen/smp.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/xen/smp.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -168,11 +168,6 @@ static void __init xen_smp_prepare_boot_ +diff -urNp linux-2.6.32.46/arch/x86/xen/smp.c linux-2.6.32.46/arch/x86/x= en/smp.c +--- linux-2.6.32.46/arch/x86/xen/smp.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/arch/x86/xen/smp.c 2011-05-11 18:25:15.000000000 -04= 00 +@@ -167,11 +167,6 @@ static void __init xen_smp_prepare_boot_ { BUG_ON(smp_processor_id() !=3D 0); native_smp_prepare_boot_cpu(); @@ -24786,7 +24786,7 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/smp.c lin= ux-2.6.32.48/arch/x86/xen/smp.c xen_setup_vcpu_info_placement(); } =20 -@@ -241,12 +236,12 @@ cpu_initialize_context(unsigned int cpu, +@@ -231,12 +226,12 @@ cpu_initialize_context(unsigned int cpu, gdt =3D get_cpu_gdt_table(cpu); =20 ctxt->flags =3D VGCF_IN_KERNEL; @@ -24802,7 +24802,7 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/smp.c lin= ux-2.6.32.48/arch/x86/xen/smp.c #else ctxt->gs_base_kernel =3D per_cpu_offset(cpu); #endif -@@ -297,13 +292,12 @@ static int __cpuinit xen_cpu_up(unsigned +@@ -287,13 +282,12 @@ static int __cpuinit xen_cpu_up(unsigned int rc; =20 per_cpu(current_task, cpu) =3D idle; @@ -24818,9 +24818,9 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/smp.c lin= ux-2.6.32.48/arch/x86/xen/smp.c #endif xen_setup_runstate_info(cpu); xen_setup_timer(cpu); -diff -urNp linux-2.6.32.48/arch/x86/xen/xen-asm_32.S linux-2.6.32.48/arc= h/x86/xen/xen-asm_32.S ---- linux-2.6.32.48/arch/x86/xen/xen-asm_32.S 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/xen/xen-asm_32.S 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/arch/x86/xen/xen-asm_32.S linux-2.6.32.46/arc= h/x86/xen/xen-asm_32.S +--- linux-2.6.32.46/arch/x86/xen/xen-asm_32.S 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/arch/x86/xen/xen-asm_32.S 2011-04-22 19:13:13.000000= 000 -0400 @@ -83,14 +83,14 @@ ENTRY(xen_iret) ESP_OFFSET=3D4 # bytes pushed onto stack =20 @@ -24842,9 +24842,9 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/xen-asm_3= 2.S linux-2.6.32.48/arch/x86/xe #else movl per_cpu__xen_vcpu, %eax #endif -diff -urNp linux-2.6.32.48/arch/x86/xen/xen-head.S linux-2.6.32.48/arch/= x86/xen/xen-head.S ---- linux-2.6.32.48/arch/x86/xen/xen-head.S 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/xen/xen-head.S 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/arch/x86/xen/xen-head.S linux-2.6.32.46/arch/= x86/xen/xen-head.S +--- linux-2.6.32.46/arch/x86/xen/xen-head.S 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/arch/x86/xen/xen-head.S 2011-04-17 15:56:46.00000000= 0 -0400 @@ -19,6 +19,17 @@ ENTRY(startup_xen) #ifdef CONFIG_X86_32 mov %esi,xen_start_info @@ -24863,9 +24863,9 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/xen-head.= S linux-2.6.32.48/arch/x86/xen/ #else mov %rsi,xen_start_info mov $init_thread_union+THREAD_SIZE,%rsp -diff -urNp linux-2.6.32.48/arch/x86/xen/xen-ops.h linux-2.6.32.48/arch/x= 86/xen/xen-ops.h ---- linux-2.6.32.48/arch/x86/xen/xen-ops.h 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/xen/xen-ops.h 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/arch/x86/xen/xen-ops.h linux-2.6.32.46/arch/x= 86/xen/xen-ops.h +--- linux-2.6.32.46/arch/x86/xen/xen-ops.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/arch/x86/xen/xen-ops.h 2011-04-17 15:56:46.000000000= -0400 @@ -10,8 +10,6 @@ extern const char xen_hypervisor_callback[]; extern const char xen_failsafe_callback[]; @@ -24875,9 +24875,9 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/xen-ops.h= linux-2.6.32.48/arch/x86/xen/x struct trap_info; void xen_copy_trap_info(struct trap_info *traps); =20 -diff -urNp linux-2.6.32.48/block/blk-integrity.c linux-2.6.32.48/block/b= lk-integrity.c ---- linux-2.6.32.48/block/blk-integrity.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/block/blk-integrity.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/block/blk-integrity.c linux-2.6.32.46/block/b= lk-integrity.c +--- linux-2.6.32.46/block/blk-integrity.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/block/blk-integrity.c 2011-04-17 15:56:46.000000000 = -0400 @@ -278,7 +278,7 @@ static struct attribute *integrity_attrs NULL, }; @@ -24887,9 +24887,9 @@ diff -urNp linux-2.6.32.48/block/blk-integrity.c = linux-2.6.32.48/block/blk-integ .show =3D &integrity_attr_show, .store =3D &integrity_attr_store, }; -diff -urNp linux-2.6.32.48/block/blk-iopoll.c linux-2.6.32.48/block/blk-= iopoll.c ---- linux-2.6.32.48/block/blk-iopoll.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/block/blk-iopoll.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/block/blk-iopoll.c linux-2.6.32.46/block/blk-= iopoll.c +--- linux-2.6.32.46/block/blk-iopoll.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/block/blk-iopoll.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -77,7 +77,7 @@ void blk_iopoll_complete(struct blk_iopo } EXPORT_SYMBOL(blk_iopoll_complete); @@ -24899,9 +24899,9 @@ diff -urNp linux-2.6.32.48/block/blk-iopoll.c lin= ux-2.6.32.48/block/blk-iopoll.c { struct list_head *list =3D &__get_cpu_var(blk_cpu_iopoll); int rearm =3D 0, budget =3D blk_iopoll_budget; -diff -urNp linux-2.6.32.48/block/blk-map.c linux-2.6.32.48/block/blk-map= .c ---- linux-2.6.32.48/block/blk-map.c 2011-11-12 12:44:28.000000000 -0500 -+++ linux-2.6.32.48/block/blk-map.c 2011-11-12 12:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/block/blk-map.c linux-2.6.32.46/block/blk-map= .c +--- linux-2.6.32.46/block/blk-map.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/block/blk-map.c 2011-04-18 16:57:33.000000000 -0400 @@ -54,7 +54,7 @@ static int __blk_rq_map_user(struct requ * direct dma. else, set up kernel bounce buffers */ @@ -24936,9 +24936,9 @@ diff -urNp linux-2.6.32.48/block/blk-map.c linux-= 2.6.32.48/block/blk-map.c if (do_copy) bio =3D bio_copy_kern(q, kbuf, len, gfp_mask, reading); else -diff -urNp linux-2.6.32.48/block/blk-softirq.c linux-2.6.32.48/block/blk= -softirq.c ---- linux-2.6.32.48/block/blk-softirq.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/block/blk-softirq.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/block/blk-softirq.c linux-2.6.32.46/block/blk= -softirq.c +--- linux-2.6.32.46/block/blk-softirq.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/block/blk-softirq.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -17,7 +17,7 @@ static DEFINE_PER_CPU(struct list_head,=20 * Softirq action handler - move entries to local list and loop over th= em * while passing them to the queue registered handler. @@ -24948,9 +24948,9 @@ diff -urNp linux-2.6.32.48/block/blk-softirq.c li= nux-2.6.32.48/block/blk-softirq { struct list_head *cpu_list, local_list; =20 -diff -urNp linux-2.6.32.48/block/blk-sysfs.c linux-2.6.32.48/block/blk-s= ysfs.c ---- linux-2.6.32.48/block/blk-sysfs.c 2011-11-12 12:44:28.000000000 -050= 0 -+++ linux-2.6.32.48/block/blk-sysfs.c 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-2.6.32.46/block/blk-sysfs.c linux-2.6.32.46/block/blk-s= ysfs.c +--- linux-2.6.32.46/block/blk-sysfs.c 2011-05-10 22:12:01.000000000 -040= 0 ++++ linux-2.6.32.46/block/blk-sysfs.c 2011-05-10 22:12:26.000000000 -040= 0 @@ -414,7 +414,7 @@ static void blk_release_queue(struct kob kmem_cache_free(blk_requestq_cachep, q); } @@ -24960,9 +24960,9 @@ diff -urNp linux-2.6.32.48/block/blk-sysfs.c linu= x-2.6.32.48/block/blk-sysfs.c .show =3D queue_attr_show, .store =3D queue_attr_store, }; -diff -urNp linux-2.6.32.48/block/bsg.c linux-2.6.32.48/block/bsg.c ---- linux-2.6.32.48/block/bsg.c 2011-11-12 12:44:28.000000000 -0500 -+++ linux-2.6.32.48/block/bsg.c 2011-11-12 12:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/block/bsg.c linux-2.6.32.46/block/bsg.c +--- linux-2.6.32.46/block/bsg.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/block/bsg.c 2011-10-06 09:37:08.000000000 -0400 @@ -175,16 +175,24 @@ static int blk_fill_sgv4_hdr_rq(struct r struct sg_io_v4 *hdr, struct bsg_device *bd, fmode_t has_write_perm) @@ -25021,9 +25021,9 @@ diff -urNp linux-2.6.32.48/block/bsg.c linux-2.6.= 32.48/block/bsg.c rq->sense, len); if (!ret) hdr->response_len =3D len; -diff -urNp linux-2.6.32.48/block/compat_ioctl.c linux-2.6.32.48/block/co= mpat_ioctl.c ---- linux-2.6.32.48/block/compat_ioctl.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/block/compat_ioctl.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/block/compat_ioctl.c linux-2.6.32.46/block/co= mpat_ioctl.c +--- linux-2.6.32.46/block/compat_ioctl.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/block/compat_ioctl.c 2011-10-06 09:37:14.000000000 -= 0400 @@ -354,7 +354,7 @@ static int compat_fd_ioctl(struct block_ err |=3D __get_user(f->spec1, &uf->spec1); err |=3D __get_user(f->fmt_gap, &uf->fmt_gap); @@ -25033,9 +25033,9 @@ diff -urNp linux-2.6.32.48/block/compat_ioctl.c l= inux-2.6.32.48/block/compat_ioc if (err) { err =3D -EFAULT; goto out; -diff -urNp linux-2.6.32.48/block/elevator.c linux-2.6.32.48/block/elevat= or.c ---- linux-2.6.32.48/block/elevator.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/block/elevator.c 2011-11-12 12:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/block/elevator.c linux-2.6.32.46/block/elevat= or.c +--- linux-2.6.32.46/block/elevator.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/block/elevator.c 2011-04-17 15:56:46.000000000 -0400 @@ -889,7 +889,7 @@ elv_attr_store(struct kobject *kobj, str return error; } @@ -25045,9 +25045,9 @@ diff -urNp linux-2.6.32.48/block/elevator.c linux= -2.6.32.48/block/elevator.c .show =3D elv_attr_show, .store =3D elv_attr_store, }; -diff -urNp linux-2.6.32.48/block/scsi_ioctl.c linux-2.6.32.48/block/scsi= _ioctl.c ---- linux-2.6.32.48/block/scsi_ioctl.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/block/scsi_ioctl.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/block/scsi_ioctl.c linux-2.6.32.46/block/scsi= _ioctl.c +--- linux-2.6.32.46/block/scsi_ioctl.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/block/scsi_ioctl.c 2011-04-23 13:28:22.000000000 -04= 00 @@ -220,8 +220,20 @@ EXPORT_SYMBOL(blk_verify_command); static int blk_fill_sghdr_rq(struct request_queue *q, struct request *r= q, struct sg_io_hdr *hdr, fmode_t mode) @@ -25099,9 +25099,9 @@ diff -urNp linux-2.6.32.48/block/scsi_ioctl.c lin= ux-2.6.32.48/block/scsi_ioctl.c if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len)) goto error; =20 -diff -urNp linux-2.6.32.48/crypto/cryptd.c linux-2.6.32.48/crypto/cryptd= .c ---- linux-2.6.32.48/crypto/cryptd.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/crypto/cryptd.c 2011-11-12 12:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/crypto/cryptd.c linux-2.6.32.46/crypto/cryptd= .c +--- linux-2.6.32.46/crypto/cryptd.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/crypto/cryptd.c 2011-08-23 21:22:32.000000000 -0400 @@ -50,7 +50,7 @@ struct cryptd_blkcipher_ctx { =20 struct cryptd_blkcipher_request_ctx { @@ -25111,9 +25111,9 @@ diff -urNp linux-2.6.32.48/crypto/cryptd.c linux-= 2.6.32.48/crypto/cryptd.c =20 struct cryptd_hash_ctx { struct crypto_shash *child; -diff -urNp linux-2.6.32.48/crypto/gf128mul.c linux-2.6.32.48/crypto/gf12= 8mul.c ---- linux-2.6.32.48/crypto/gf128mul.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/crypto/gf128mul.c 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-2.6.32.46/crypto/gf128mul.c linux-2.6.32.46/crypto/gf12= 8mul.c +--- linux-2.6.32.46/crypto/gf128mul.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/crypto/gf128mul.c 2011-07-06 19:53:33.000000000 -040= 0 @@ -182,7 +182,7 @@ void gf128mul_lle(be128 *r, const be128=20 for (i =3D 0; i < 7; ++i) gf128mul_x_lle(&p[i + 1], &p[i]); @@ -25132,9 +25132,9 @@ diff -urNp linux-2.6.32.48/crypto/gf128mul.c linu= x-2.6.32.48/crypto/gf128mul.c for (i =3D 0;;) { u8 ch =3D ((u8 *)b)[i]; =20 -diff -urNp linux-2.6.32.48/crypto/serpent.c linux-2.6.32.48/crypto/serpe= nt.c ---- linux-2.6.32.48/crypto/serpent.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/crypto/serpent.c 2011-11-12 12:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/crypto/serpent.c linux-2.6.32.46/crypto/serpe= nt.c +--- linux-2.6.32.46/crypto/serpent.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/crypto/serpent.c 2011-08-18 23:59:56.000000000 -0400 @@ -21,6 +21,7 @@ #include #include @@ -25152,9 +25152,9 @@ diff -urNp linux-2.6.32.48/crypto/serpent.c linux= -2.6.32.48/crypto/serpent.c /* Copy key, add padding */ =20 for (i =3D 0; i < keylen; ++i) -diff -urNp linux-2.6.32.48/Documentation/dontdiff linux-2.6.32.48/Docume= ntation/dontdiff ---- linux-2.6.32.48/Documentation/dontdiff 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/Documentation/dontdiff 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/Documentation/dontdiff linux-2.6.32.46/Docume= ntation/dontdiff +--- linux-2.6.32.46/Documentation/dontdiff 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/Documentation/dontdiff 2011-08-21 18:59:02.000000000= -0400 @@ -1,13 +1,16 @@ *.a *.aux @@ -25290,9 +25290,9 @@ diff -urNp linux-2.6.32.48/Documentation/dontdiff= linux-2.6.32.48/Documentation/ zImage* zconf.hash.c +zoffset.h -diff -urNp linux-2.6.32.48/Documentation/kernel-parameters.txt linux-2.6= .32.48/Documentation/kernel-parameters.txt ---- linux-2.6.32.48/Documentation/kernel-parameters.txt 2011-11-12 12:44= :28.000000000 -0500 -+++ linux-2.6.32.48/Documentation/kernel-parameters.txt 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-2.6.32.46/Documentation/kernel-parameters.txt linux-2.6= .32.46/Documentation/kernel-parameters.txt +--- linux-2.6.32.46/Documentation/kernel-parameters.txt 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/Documentation/kernel-parameters.txt 2011-04-17 15:56= :45.000000000 -0400 @@ -1837,6 +1837,13 @@ and is between 256 and 4096 characters.=20 the specified number of seconds. This is to be used if your oopses keep scrolling off the screen. @@ -25307,9 +25307,9 @@ diff -urNp linux-2.6.32.48/Documentation/kernel-p= arameters.txt linux-2.6.32.48/D pcbit=3D [HW,ISDN] =20 pcd. [PARIDE] -diff -urNp linux-2.6.32.48/drivers/acpi/acpi_pad.c linux-2.6.32.48/drive= rs/acpi/acpi_pad.c ---- linux-2.6.32.48/drivers/acpi/acpi_pad.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/acpi/acpi_pad.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/acpi/acpi_pad.c linux-2.6.32.46/drive= rs/acpi/acpi_pad.c +--- linux-2.6.32.46/drivers/acpi/acpi_pad.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/acpi/acpi_pad.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -30,7 +30,7 @@ #include #include @@ -25319,9 +25319,9 @@ diff -urNp linux-2.6.32.48/drivers/acpi/acpi_pad.= c linux-2.6.32.48/drivers/acpi/ #define ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME "Processor Aggregator" #define ACPI_PROCESSOR_AGGREGATOR_NOTIFY 0x80 static DEFINE_MUTEX(isolated_cpus_lock); -diff -urNp linux-2.6.32.48/drivers/acpi/battery.c linux-2.6.32.48/driver= s/acpi/battery.c ---- linux-2.6.32.48/drivers/acpi/battery.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/acpi/battery.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/acpi/battery.c linux-2.6.32.46/driver= s/acpi/battery.c +--- linux-2.6.32.46/drivers/acpi/battery.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/acpi/battery.c 2011-04-17 15:56:46.000000000= -0400 @@ -763,7 +763,7 @@ DECLARE_FILE_FUNCTIONS(alarm); } =20 @@ -25331,9 +25331,9 @@ diff -urNp linux-2.6.32.48/drivers/acpi/battery.c= linux-2.6.32.48/drivers/acpi/b mode_t mode; const char *name; } acpi_battery_file[] =3D { -diff -urNp linux-2.6.32.48/drivers/acpi/dock.c linux-2.6.32.48/drivers/a= cpi/dock.c ---- linux-2.6.32.48/drivers/acpi/dock.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/acpi/dock.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/acpi/dock.c linux-2.6.32.46/drivers/a= cpi/dock.c +--- linux-2.6.32.46/drivers/acpi/dock.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/acpi/dock.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -77,7 +77,7 @@ struct dock_dependent_device { struct list_head list; struct list_head hotplug_list; @@ -25352,9 +25352,9 @@ diff -urNp linux-2.6.32.48/drivers/acpi/dock.c li= nux-2.6.32.48/drivers/acpi/dock void *context) { struct dock_dependent_device *dd; -diff -urNp linux-2.6.32.48/drivers/acpi/osl.c linux-2.6.32.48/drivers/ac= pi/osl.c ---- linux-2.6.32.48/drivers/acpi/osl.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/acpi/osl.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/acpi/osl.c linux-2.6.32.46/drivers/ac= pi/osl.c +--- linux-2.6.32.46/drivers/acpi/osl.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/acpi/osl.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -523,6 +523,8 @@ acpi_os_read_memory(acpi_physical_addres void __iomem *virt_addr; =20 @@ -25373,9 +25373,9 @@ diff -urNp linux-2.6.32.48/drivers/acpi/osl.c lin= ux-2.6.32.48/drivers/acpi/osl.c =20 switch (width) { case 8: -diff -urNp linux-2.6.32.48/drivers/acpi/power_meter.c linux-2.6.32.48/dr= ivers/acpi/power_meter.c ---- linux-2.6.32.48/drivers/acpi/power_meter.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/acpi/power_meter.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/acpi/power_meter.c linux-2.6.32.46/dr= ivers/acpi/power_meter.c +--- linux-2.6.32.46/drivers/acpi/power_meter.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/acpi/power_meter.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -315,8 +315,6 @@ static ssize_t set_trip(struct device *d return res; =20 @@ -25385,9 +25385,9 @@ diff -urNp linux-2.6.32.48/drivers/acpi/power_met= er.c linux-2.6.32.48/drivers/ac =20 mutex_lock(&resource->lock); resource->trip[attr->index - 7] =3D temp; -diff -urNp linux-2.6.32.48/drivers/acpi/proc.c linux-2.6.32.48/drivers/a= cpi/proc.c ---- linux-2.6.32.48/drivers/acpi/proc.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/acpi/proc.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/acpi/proc.c linux-2.6.32.46/drivers/a= cpi/proc.c +--- linux-2.6.32.46/drivers/acpi/proc.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/acpi/proc.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -391,20 +391,15 @@ acpi_system_write_wakeup_device(struct f size_t count, loff_t * ppos) { @@ -25423,9 +25423,9 @@ diff -urNp linux-2.6.32.48/drivers/acpi/proc.c li= nux-2.6.32.48/drivers/acpi/proc dev->wakeup.state.enabled =3D dev->wakeup.state.enabled ? 0 : 1; found_dev =3D dev; -diff -urNp linux-2.6.32.48/drivers/acpi/processor_core.c linux-2.6.32.48= /drivers/acpi/processor_core.c ---- linux-2.6.32.48/drivers/acpi/processor_core.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/acpi/processor_core.c 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/acpi/processor_core.c linux-2.6.32.46= /drivers/acpi/processor_core.c +--- linux-2.6.32.46/drivers/acpi/processor_core.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/acpi/processor_core.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -790,7 +790,7 @@ static int __cpuinit acpi_processor_add( return 0; } @@ -25435,9 +25435,9 @@ diff -urNp linux-2.6.32.48/drivers/acpi/processor= _core.c linux-2.6.32.48/drivers =20 /* * Buggy BIOS check -diff -urNp linux-2.6.32.48/drivers/acpi/sbshc.c linux-2.6.32.48/drivers/= acpi/sbshc.c ---- linux-2.6.32.48/drivers/acpi/sbshc.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/acpi/sbshc.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/acpi/sbshc.c linux-2.6.32.46/drivers/= acpi/sbshc.c +--- linux-2.6.32.46/drivers/acpi/sbshc.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/acpi/sbshc.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -17,7 +17,7 @@ =20 #define PREFIX "ACPI: " @@ -25447,9 +25447,9 @@ diff -urNp linux-2.6.32.48/drivers/acpi/sbshc.c l= inux-2.6.32.48/drivers/acpi/sbs #define ACPI_SMB_HC_DEVICE_NAME "ACPI SMBus HC" =20 struct acpi_smb_hc { -diff -urNp linux-2.6.32.48/drivers/acpi/sleep.c linux-2.6.32.48/drivers/= acpi/sleep.c ---- linux-2.6.32.48/drivers/acpi/sleep.c 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/acpi/sleep.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/acpi/sleep.c linux-2.6.32.46/drivers/= acpi/sleep.c +--- linux-2.6.32.46/drivers/acpi/sleep.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/acpi/sleep.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -283,7 +283,7 @@ static int acpi_suspend_state_valid(susp } } @@ -25486,9 +25486,9 @@ diff -urNp linux-2.6.32.48/drivers/acpi/sleep.c l= inux-2.6.32.48/drivers/acpi/sle .begin =3D acpi_hibernation_begin_old, .end =3D acpi_pm_end, .pre_snapshot =3D acpi_hibernation_pre_snapshot_old, -diff -urNp linux-2.6.32.48/drivers/acpi/video.c linux-2.6.32.48/drivers/= acpi/video.c ---- linux-2.6.32.48/drivers/acpi/video.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/acpi/video.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/acpi/video.c linux-2.6.32.46/drivers/= acpi/video.c +--- linux-2.6.32.46/drivers/acpi/video.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/acpi/video.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -359,7 +359,7 @@ static int acpi_video_set_brightness(str vd->brightness->levels[request_level]); } @@ -25498,9 +25498,9 @@ diff -urNp linux-2.6.32.48/drivers/acpi/video.c l= inux-2.6.32.48/drivers/acpi/vid .get_brightness =3D acpi_video_get_brightness, .update_status =3D acpi_video_set_brightness, }; -diff -urNp linux-2.6.32.48/drivers/ata/ahci.c linux-2.6.32.48/drivers/at= a/ahci.c ---- linux-2.6.32.48/drivers/ata/ahci.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/ata/ahci.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/ata/ahci.c linux-2.6.32.46/drivers/at= a/ahci.c +--- linux-2.6.32.46/drivers/ata/ahci.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/ata/ahci.c 2011-04-23 12:56:10.000000000 -04= 00 @@ -387,7 +387,7 @@ static struct scsi_host_template ahci_sh .sdev_attrs =3D ahci_sdev_attrs, }; @@ -25531,9 +25531,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/ahci.c lin= ux-2.6.32.48/drivers/ata/ahci.c .inherits =3D &ahci_ops, .softreset =3D ahci_sb600_softreset, .pmp_softreset =3D ahci_sb600_softreset, -diff -urNp linux-2.6.32.48/drivers/ata/ata_generic.c linux-2.6.32.48/dri= vers/ata/ata_generic.c ---- linux-2.6.32.48/drivers/ata/ata_generic.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/ata_generic.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/ata_generic.c linux-2.6.32.46/dri= vers/ata/ata_generic.c +--- linux-2.6.32.46/drivers/ata/ata_generic.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/ata_generic.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -104,7 +104,7 @@ static struct scsi_host_template generic ATA_BMDMA_SHT(DRV_NAME), }; @@ -25543,9 +25543,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/ata_generi= c.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D ata_cable_unknown, .set_mode =3D generic_set_mode, -diff -urNp linux-2.6.32.48/drivers/ata/ata_piix.c linux-2.6.32.48/driver= s/ata/ata_piix.c ---- linux-2.6.32.48/drivers/ata/ata_piix.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/ata_piix.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/ata_piix.c linux-2.6.32.46/driver= s/ata/ata_piix.c +--- linux-2.6.32.46/drivers/ata/ata_piix.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/ata_piix.c 2011-04-23 12:56:10.000000000= -0400 @@ -318,7 +318,7 @@ static struct scsi_host_template piix_sh ATA_BMDMA_SHT(DRV_NAME), }; @@ -25582,9 +25582,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/ata_piix.c= linux-2.6.32.48/drivers/ata/at .inherits =3D &piix_sata_ops, .hardreset =3D sata_std_hardreset, .scr_read =3D piix_sidpr_scr_read, -diff -urNp linux-2.6.32.48/drivers/ata/libata-acpi.c linux-2.6.32.48/dri= vers/ata/libata-acpi.c ---- linux-2.6.32.48/drivers/ata/libata-acpi.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/libata-acpi.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/libata-acpi.c linux-2.6.32.46/dri= vers/ata/libata-acpi.c +--- linux-2.6.32.46/drivers/ata/libata-acpi.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/libata-acpi.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -223,12 +223,12 @@ static void ata_acpi_dev_uevent(acpi_han ata_acpi_uevent(dev->link->ap, dev, event); } @@ -25600,9 +25600,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/libata-acp= i.c linux-2.6.32.48/drivers/ata .handler =3D ata_acpi_ap_notify_dock, .uevent =3D ata_acpi_ap_uevent, }; -diff -urNp linux-2.6.32.48/drivers/ata/libata-core.c linux-2.6.32.48/dri= vers/ata/libata-core.c ---- linux-2.6.32.48/drivers/ata/libata-core.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/libata-core.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/libata-core.c linux-2.6.32.46/dri= vers/ata/libata-core.c +--- linux-2.6.32.46/drivers/ata/libata-core.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/libata-core.c 2011-08-05 20:33:55.000000= 000 -0400 @@ -4954,7 +4954,7 @@ void ata_qc_free(struct ata_queued_cmd * struct ata_port *ap; unsigned int tag; @@ -25667,9 +25667,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/libata-cor= e.c linux-2.6.32.48/drivers/ata .qc_prep =3D ata_noop_qc_prep, .qc_issue =3D ata_dummy_qc_issue, .error_handler =3D ata_dummy_error_handler, -diff -urNp linux-2.6.32.48/drivers/ata/libata-eh.c linux-2.6.32.48/drive= rs/ata/libata-eh.c ---- linux-2.6.32.48/drivers/ata/libata-eh.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/libata-eh.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/libata-eh.c linux-2.6.32.46/drive= rs/ata/libata-eh.c +--- linux-2.6.32.46/drivers/ata/libata-eh.c 2011-08-09 18:35:28.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/ata/libata-eh.c 2011-08-09 18:33:59.00000000= 0 -0400 @@ -2423,6 +2423,8 @@ void ata_eh_report(struct ata_port *ap) { struct ata_link *link; @@ -25688,9 +25688,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/libata-eh.= c linux-2.6.32.48/drivers/ata/l ata_reset_fn_t hardreset =3D ops->hardreset; =20 /* ignore built-in hardreset if SCR access is not available */ -diff -urNp linux-2.6.32.48/drivers/ata/libata-pmp.c linux-2.6.32.48/driv= ers/ata/libata-pmp.c ---- linux-2.6.32.48/drivers/ata/libata-pmp.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/libata-pmp.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/libata-pmp.c linux-2.6.32.46/driv= ers/ata/libata-pmp.c +--- linux-2.6.32.46/drivers/ata/libata-pmp.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/ata/libata-pmp.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -841,7 +841,7 @@ static int sata_pmp_handle_link_fail(str */ static int sata_pmp_eh_recover(struct ata_port *ap) @@ -25700,9 +25700,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/libata-pmp= .c linux-2.6.32.48/drivers/ata/ int pmp_tries, link_tries[SATA_PMP_MAX_PORTS]; struct ata_link *pmp_link =3D &ap->link; struct ata_device *pmp_dev =3D pmp_link->device; -diff -urNp linux-2.6.32.48/drivers/ata/pata_acpi.c linux-2.6.32.48/drive= rs/ata/pata_acpi.c ---- linux-2.6.32.48/drivers/ata/pata_acpi.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_acpi.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_acpi.c linux-2.6.32.46/drive= rs/ata/pata_acpi.c +--- linux-2.6.32.46/drivers/ata/pata_acpi.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_acpi.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -215,7 +215,7 @@ static struct scsi_host_template pacpi_s ATA_BMDMA_SHT(DRV_NAME), }; @@ -25712,9 +25712,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_acpi.= c linux-2.6.32.48/drivers/ata/p .inherits =3D &ata_bmdma_port_ops, .qc_issue =3D pacpi_qc_issue, .cable_detect =3D pacpi_cable_detect, -diff -urNp linux-2.6.32.48/drivers/ata/pata_ali.c linux-2.6.32.48/driver= s/ata/pata_ali.c ---- linux-2.6.32.48/drivers/ata/pata_ali.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_ali.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_ali.c linux-2.6.32.46/driver= s/ata/pata_ali.c +--- linux-2.6.32.46/drivers/ata/pata_ali.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/pata_ali.c 2011-04-17 15:56:46.000000000= -0400 @@ -365,7 +365,7 @@ static struct scsi_host_template ali_sht * Port operations for PIO only ALi */ @@ -25760,9 +25760,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_ali.c= linux-2.6.32.48/drivers/ata/pa .inherits =3D &ali_dma_base_ops, .check_atapi_dma =3D ali_check_atapi_dma, .dev_config =3D ali_warn_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/pata_amd.c linux-2.6.32.48/driver= s/ata/pata_amd.c ---- linux-2.6.32.48/drivers/ata/pata_amd.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_amd.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_amd.c linux-2.6.32.46/driver= s/ata/pata_amd.c +--- linux-2.6.32.46/drivers/ata/pata_amd.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/pata_amd.c 2011-04-17 15:56:46.000000000= -0400 @@ -397,28 +397,28 @@ static const struct ata_port_operations=20 .prereset =3D amd_pre_reset, }; @@ -25812,9 +25812,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_amd.c= linux-2.6.32.48/drivers/ata/pa .inherits =3D &nv_base_port_ops, .set_piomode =3D nv133_set_piomode, .set_dmamode =3D nv133_set_dmamode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_artop.c linux-2.6.32.48/driv= ers/ata/pata_artop.c ---- linux-2.6.32.48/drivers/ata/pata_artop.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_artop.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_artop.c linux-2.6.32.46/driv= ers/ata/pata_artop.c +--- linux-2.6.32.46/drivers/ata/pata_artop.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_artop.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -311,7 +311,7 @@ static struct scsi_host_template artop_s ATA_BMDMA_SHT(DRV_NAME), }; @@ -25833,9 +25833,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_artop= .c linux-2.6.32.48/drivers/ata/ .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D artop6260_cable_detect, .set_piomode =3D artop6260_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_at32.c linux-2.6.32.48/drive= rs/ata/pata_at32.c ---- linux-2.6.32.48/drivers/ata/pata_at32.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_at32.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_at32.c linux-2.6.32.46/drive= rs/ata/pata_at32.c +--- linux-2.6.32.46/drivers/ata/pata_at32.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_at32.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -172,7 +172,7 @@ static struct scsi_host_template at32_sh ATA_PIO_SHT(DRV_NAME), }; @@ -25845,9 +25845,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_at32.= c linux-2.6.32.48/drivers/ata/p .inherits =3D &ata_sff_port_ops, .cable_detect =3D ata_cable_40wire, .set_piomode =3D pata_at32_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_at91.c linux-2.6.32.48/drive= rs/ata/pata_at91.c ---- linux-2.6.32.48/drivers/ata/pata_at91.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_at91.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_at91.c linux-2.6.32.46/drive= rs/ata/pata_at91.c +--- linux-2.6.32.46/drivers/ata/pata_at91.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_at91.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -195,7 +195,7 @@ static struct scsi_host_template pata_at ATA_PIO_SHT(DRV_NAME), }; @@ -25857,9 +25857,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_at91.= c linux-2.6.32.48/drivers/ata/p .inherits =3D &ata_sff_port_ops, =20 .sff_data_xfer =3D pata_at91_data_xfer_noirq, -diff -urNp linux-2.6.32.48/drivers/ata/pata_atiixp.c linux-2.6.32.48/dri= vers/ata/pata_atiixp.c ---- linux-2.6.32.48/drivers/ata/pata_atiixp.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_atiixp.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_atiixp.c linux-2.6.32.46/dri= vers/ata/pata_atiixp.c +--- linux-2.6.32.46/drivers/ata/pata_atiixp.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_atiixp.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -205,7 +205,7 @@ static struct scsi_host_template atiixp_ .sg_tablesize =3D LIBATA_DUMB_MAX_PRD, }; @@ -25869,9 +25869,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_atiix= p.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, =20 .qc_prep =3D ata_sff_dumb_qc_prep, -diff -urNp linux-2.6.32.48/drivers/ata/pata_atp867x.c linux-2.6.32.48/dr= ivers/ata/pata_atp867x.c ---- linux-2.6.32.48/drivers/ata/pata_atp867x.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_atp867x.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_atp867x.c linux-2.6.32.46/dr= ivers/ata/pata_atp867x.c +--- linux-2.6.32.46/drivers/ata/pata_atp867x.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_atp867x.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -274,7 +274,7 @@ static struct scsi_host_template atp867x ATA_BMDMA_SHT(DRV_NAME), }; @@ -25881,9 +25881,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_atp86= 7x.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D atp867x_cable_detect, .set_piomode =3D atp867x_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_bf54x.c linux-2.6.32.48/driv= ers/ata/pata_bf54x.c ---- linux-2.6.32.48/drivers/ata/pata_bf54x.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_bf54x.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_bf54x.c linux-2.6.32.46/driv= ers/ata/pata_bf54x.c +--- linux-2.6.32.46/drivers/ata/pata_bf54x.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_bf54x.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -1464,7 +1464,7 @@ static struct scsi_host_template bfin_sh .dma_boundary =3D ATA_DMA_BOUNDARY, }; @@ -25893,9 +25893,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_bf54x= .c linux-2.6.32.48/drivers/ata/ .inherits =3D &ata_sff_port_ops, =20 .set_piomode =3D bfin_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cmd640.c linux-2.6.32.48/dri= vers/ata/pata_cmd640.c ---- linux-2.6.32.48/drivers/ata/pata_cmd640.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cmd640.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_cmd640.c linux-2.6.32.46/dri= vers/ata/pata_cmd640.c +--- linux-2.6.32.46/drivers/ata/pata_cmd640.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_cmd640.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -168,7 +168,7 @@ static struct scsi_host_template cmd640_ ATA_BMDMA_SHT(DRV_NAME), }; @@ -25905,9 +25905,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_cmd64= 0.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, /* In theory xfer_noirq is not needed once we kill the prefetcher */ .sff_data_xfer =3D ata_sff_data_xfer_noirq, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cmd64x.c linux-2.6.32.48/dri= vers/ata/pata_cmd64x.c ---- linux-2.6.32.48/drivers/ata/pata_cmd64x.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cmd64x.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_cmd64x.c linux-2.6.32.46/dri= vers/ata/pata_cmd64x.c +--- linux-2.6.32.46/drivers/ata/pata_cmd64x.c 2011-06-25 12:55:34.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_cmd64x.c 2011-06-25 12:56:37.000000= 000 -0400 @@ -271,18 +271,18 @@ static const struct ata_port_operations=20 .set_dmamode =3D cmd64x_set_dmamode, }; @@ -25930,9 +25930,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_cmd64= x.c linux-2.6.32.48/drivers/ata .inherits =3D &cmd64x_base_ops, .bmdma_stop =3D cmd648_bmdma_stop, .cable_detect =3D cmd648_cable_detect, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cs5520.c linux-2.6.32.48/dri= vers/ata/pata_cs5520.c ---- linux-2.6.32.48/drivers/ata/pata_cs5520.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cs5520.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_cs5520.c linux-2.6.32.46/dri= vers/ata/pata_cs5520.c +--- linux-2.6.32.46/drivers/ata/pata_cs5520.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_cs5520.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -144,7 +144,7 @@ static struct scsi_host_template cs5520_ .sg_tablesize =3D LIBATA_DUMB_MAX_PRD, }; @@ -25942,9 +25942,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_cs552= 0.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, .qc_prep =3D ata_sff_dumb_qc_prep, .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cs5530.c linux-2.6.32.48/dri= vers/ata/pata_cs5530.c ---- linux-2.6.32.48/drivers/ata/pata_cs5530.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cs5530.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_cs5530.c linux-2.6.32.46/dri= vers/ata/pata_cs5530.c +--- linux-2.6.32.46/drivers/ata/pata_cs5530.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_cs5530.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -164,7 +164,7 @@ static struct scsi_host_template cs5530_ .sg_tablesize =3D LIBATA_DUMB_MAX_PRD, }; @@ -25954,9 +25954,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_cs553= 0.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, =20 .qc_prep =3D ata_sff_dumb_qc_prep, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cs5535.c linux-2.6.32.48/dri= vers/ata/pata_cs5535.c ---- linux-2.6.32.48/drivers/ata/pata_cs5535.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cs5535.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_cs5535.c linux-2.6.32.46/dri= vers/ata/pata_cs5535.c +--- linux-2.6.32.46/drivers/ata/pata_cs5535.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_cs5535.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -160,7 +160,7 @@ static struct scsi_host_template cs5535_ ATA_BMDMA_SHT(DRV_NAME), }; @@ -25966,9 +25966,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_cs553= 5.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D cs5535_cable_detect, .set_piomode =3D cs5535_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cs5536.c linux-2.6.32.48/dri= vers/ata/pata_cs5536.c ---- linux-2.6.32.48/drivers/ata/pata_cs5536.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cs5536.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_cs5536.c linux-2.6.32.46/dri= vers/ata/pata_cs5536.c +--- linux-2.6.32.46/drivers/ata/pata_cs5536.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_cs5536.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -223,7 +223,7 @@ static struct scsi_host_template cs5536_ ATA_BMDMA_SHT(DRV_NAME), }; @@ -25978,9 +25978,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_cs553= 6.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D cs5536_cable_detect, .set_piomode =3D cs5536_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cypress.c linux-2.6.32.48/dr= ivers/ata/pata_cypress.c ---- linux-2.6.32.48/drivers/ata/pata_cypress.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cypress.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_cypress.c linux-2.6.32.46/dr= ivers/ata/pata_cypress.c +--- linux-2.6.32.46/drivers/ata/pata_cypress.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_cypress.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -113,7 +113,7 @@ static struct scsi_host_template cy82c69 ATA_BMDMA_SHT(DRV_NAME), }; @@ -25990,9 +25990,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_cypre= ss.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D ata_cable_40wire, .set_piomode =3D cy82c693_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_efar.c linux-2.6.32.48/drive= rs/ata/pata_efar.c ---- linux-2.6.32.48/drivers/ata/pata_efar.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_efar.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_efar.c linux-2.6.32.46/drive= rs/ata/pata_efar.c +--- linux-2.6.32.46/drivers/ata/pata_efar.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_efar.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -222,7 +222,7 @@ static struct scsi_host_template efar_sh ATA_BMDMA_SHT(DRV_NAME), }; @@ -26002,9 +26002,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_efar.= c linux-2.6.32.48/drivers/ata/p .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D efar_cable_detect, .set_piomode =3D efar_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt366.c linux-2.6.32.48/dri= vers/ata/pata_hpt366.c ---- linux-2.6.32.48/drivers/ata/pata_hpt366.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_hpt366.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_hpt366.c linux-2.6.32.46/dri= vers/ata/pata_hpt366.c +--- linux-2.6.32.46/drivers/ata/pata_hpt366.c 2011-06-25 12:55:34.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_hpt366.c 2011-06-25 12:56:37.000000= 000 -0400 @@ -282,7 +282,7 @@ static struct scsi_host_template hpt36x_ * Configuration for HPT366/68 */ @@ -26014,9 +26014,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt36= 6.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D hpt36x_cable_detect, .mode_filter =3D hpt366_filter, -diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt37x.c linux-2.6.32.48/dri= vers/ata/pata_hpt37x.c ---- linux-2.6.32.48/drivers/ata/pata_hpt37x.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_hpt37x.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_hpt37x.c linux-2.6.32.46/dri= vers/ata/pata_hpt37x.c +--- linux-2.6.32.46/drivers/ata/pata_hpt37x.c 2011-06-25 12:55:34.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_hpt37x.c 2011-06-25 12:56:37.000000= 000 -0400 @@ -576,7 +576,7 @@ static struct scsi_host_template hpt37x_ * Configuration for HPT370 */ @@ -26053,9 +26053,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt37= x.c linux-2.6.32.48/drivers/ata .inherits =3D &hpt372_port_ops, .prereset =3D hpt374_fn1_pre_reset, }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt3x2n.c linux-2.6.32.48/dr= ivers/ata/pata_hpt3x2n.c ---- linux-2.6.32.48/drivers/ata/pata_hpt3x2n.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_hpt3x2n.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_hpt3x2n.c linux-2.6.32.46/dr= ivers/ata/pata_hpt3x2n.c +--- linux-2.6.32.46/drivers/ata/pata_hpt3x2n.c 2011-06-25 12:55:34.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_hpt3x2n.c 2011-06-25 12:56:37.00000= 0000 -0400 @@ -337,7 +337,7 @@ static struct scsi_host_template hpt3x2n * Configuration for HPT3x2n. */ @@ -26065,9 +26065,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt3x= 2n.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, =20 .bmdma_stop =3D hpt3x2n_bmdma_stop, -diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt3x3.c linux-2.6.32.48/dri= vers/ata/pata_hpt3x3.c ---- linux-2.6.32.48/drivers/ata/pata_hpt3x3.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_hpt3x3.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_hpt3x3.c linux-2.6.32.46/dri= vers/ata/pata_hpt3x3.c +--- linux-2.6.32.46/drivers/ata/pata_hpt3x3.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_hpt3x3.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -141,7 +141,7 @@ static struct scsi_host_template hpt3x3_ ATA_BMDMA_SHT(DRV_NAME), }; @@ -26077,9 +26077,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt3x= 3.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D ata_cable_40wire, .set_piomode =3D hpt3x3_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_icside.c linux-2.6.32.48/dri= vers/ata/pata_icside.c ---- linux-2.6.32.48/drivers/ata/pata_icside.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_icside.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_icside.c linux-2.6.32.46/dri= vers/ata/pata_icside.c +--- linux-2.6.32.46/drivers/ata/pata_icside.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_icside.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -319,7 +319,7 @@ static void pata_icside_postreset(struct } } @@ -26089,9 +26089,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_icsid= e.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_sff_port_ops, /* no need to build any PRD tables for DMA */ .qc_prep =3D ata_noop_qc_prep, -diff -urNp linux-2.6.32.48/drivers/ata/pata_isapnp.c linux-2.6.32.48/dri= vers/ata/pata_isapnp.c ---- linux-2.6.32.48/drivers/ata/pata_isapnp.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_isapnp.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_isapnp.c linux-2.6.32.46/dri= vers/ata/pata_isapnp.c +--- linux-2.6.32.46/drivers/ata/pata_isapnp.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_isapnp.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -23,12 +23,12 @@ static struct scsi_host_template isapnp_ ATA_PIO_SHT(DRV_NAME), }; @@ -26107,9 +26107,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_isapn= p.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_sff_port_ops, .cable_detect =3D ata_cable_40wire, /* No altstatus so we don't want to use the lost interrupt poll */ -diff -urNp linux-2.6.32.48/drivers/ata/pata_it8213.c linux-2.6.32.48/dri= vers/ata/pata_it8213.c ---- linux-2.6.32.48/drivers/ata/pata_it8213.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_it8213.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_it8213.c linux-2.6.32.46/dri= vers/ata/pata_it8213.c +--- linux-2.6.32.46/drivers/ata/pata_it8213.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_it8213.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -234,7 +234,7 @@ static struct scsi_host_template it8213_ }; =20 @@ -26119,9 +26119,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_it821= 3.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D it8213_cable_detect, .set_piomode =3D it8213_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_it821x.c linux-2.6.32.48/dri= vers/ata/pata_it821x.c ---- linux-2.6.32.48/drivers/ata/pata_it821x.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_it821x.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_it821x.c linux-2.6.32.46/dri= vers/ata/pata_it821x.c +--- linux-2.6.32.46/drivers/ata/pata_it821x.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_it821x.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -800,7 +800,7 @@ static struct scsi_host_template it821x_ ATA_BMDMA_SHT(DRV_NAME), }; @@ -26149,9 +26149,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_it821= x.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, =20 .check_atapi_dma=3D it821x_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/pata_ixp4xx_cf.c linux-2.6.32.48/= drivers/ata/pata_ixp4xx_cf.c ---- linux-2.6.32.48/drivers/ata/pata_ixp4xx_cf.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_ixp4xx_cf.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_ixp4xx_cf.c linux-2.6.32.46/= drivers/ata/pata_ixp4xx_cf.c +--- linux-2.6.32.46/drivers/ata/pata_ixp4xx_cf.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_ixp4xx_cf.c 2011-04-17 15:56:46.000= 000000 -0400 @@ -89,7 +89,7 @@ static struct scsi_host_template ixp4xx_ ATA_PIO_SHT(DRV_NAME), }; @@ -26161,9 +26161,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_ixp4x= x_cf.c linux-2.6.32.48/drivers/ .inherits =3D &ata_sff_port_ops, .sff_data_xfer =3D ixp4xx_mmio_data_xfer, .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_jmicron.c linux-2.6.32.48/dr= ivers/ata/pata_jmicron.c ---- linux-2.6.32.48/drivers/ata/pata_jmicron.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_jmicron.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_jmicron.c linux-2.6.32.46/dr= ivers/ata/pata_jmicron.c +--- linux-2.6.32.46/drivers/ata/pata_jmicron.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_jmicron.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -111,7 +111,7 @@ static struct scsi_host_template jmicron ATA_BMDMA_SHT(DRV_NAME), }; @@ -26173,9 +26173,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_jmicr= on.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, .prereset =3D jmicron_pre_reset, }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_legacy.c linux-2.6.32.48/dri= vers/ata/pata_legacy.c ---- linux-2.6.32.48/drivers/ata/pata_legacy.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_legacy.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_legacy.c linux-2.6.32.46/dri= vers/ata/pata_legacy.c +--- linux-2.6.32.46/drivers/ata/pata_legacy.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_legacy.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -106,7 +106,7 @@ struct legacy_probe { =20 struct legacy_controller { @@ -26287,9 +26287,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_legac= y.c linux-2.6.32.48/drivers/ata struct legacy_data *ld =3D &legacy_data[probe->slot]; struct ata_host *host =3D NULL; struct ata_port *ap; -diff -urNp linux-2.6.32.48/drivers/ata/pata_marvell.c linux-2.6.32.48/dr= ivers/ata/pata_marvell.c ---- linux-2.6.32.48/drivers/ata/pata_marvell.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_marvell.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_marvell.c linux-2.6.32.46/dr= ivers/ata/pata_marvell.c +--- linux-2.6.32.46/drivers/ata/pata_marvell.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_marvell.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -100,7 +100,7 @@ static struct scsi_host_template marvell ATA_BMDMA_SHT(DRV_NAME), }; @@ -26299,9 +26299,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_marve= ll.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D marvell_cable_detect, .prereset =3D marvell_pre_reset, -diff -urNp linux-2.6.32.48/drivers/ata/pata_mpc52xx.c linux-2.6.32.48/dr= ivers/ata/pata_mpc52xx.c ---- linux-2.6.32.48/drivers/ata/pata_mpc52xx.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_mpc52xx.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_mpc52xx.c linux-2.6.32.46/dr= ivers/ata/pata_mpc52xx.c +--- linux-2.6.32.46/drivers/ata/pata_mpc52xx.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_mpc52xx.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -609,7 +609,7 @@ static struct scsi_host_template mpc52xx ATA_PIO_SHT(DRV_NAME), }; @@ -26311,9 +26311,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_mpc52= xx.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, .sff_dev_select =3D mpc52xx_ata_dev_select, .set_piomode =3D mpc52xx_ata_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_mpiix.c linux-2.6.32.48/driv= ers/ata/pata_mpiix.c ---- linux-2.6.32.48/drivers/ata/pata_mpiix.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_mpiix.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_mpiix.c linux-2.6.32.46/driv= ers/ata/pata_mpiix.c +--- linux-2.6.32.46/drivers/ata/pata_mpiix.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_mpiix.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -140,7 +140,7 @@ static struct scsi_host_template mpiix_s ATA_PIO_SHT(DRV_NAME), }; @@ -26323,9 +26323,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_mpiix= .c linux-2.6.32.48/drivers/ata/ .inherits =3D &ata_sff_port_ops, .qc_issue =3D mpiix_qc_issue, .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_netcell.c linux-2.6.32.48/dr= ivers/ata/pata_netcell.c ---- linux-2.6.32.48/drivers/ata/pata_netcell.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_netcell.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_netcell.c linux-2.6.32.46/dr= ivers/ata/pata_netcell.c +--- linux-2.6.32.46/drivers/ata/pata_netcell.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_netcell.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -34,7 +34,7 @@ static struct scsi_host_template netcell ATA_BMDMA_SHT(DRV_NAME), }; @@ -26335,9 +26335,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_netce= ll.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D ata_cable_80wire, .read_id =3D netcell_read_id, -diff -urNp linux-2.6.32.48/drivers/ata/pata_ninja32.c linux-2.6.32.48/dr= ivers/ata/pata_ninja32.c ---- linux-2.6.32.48/drivers/ata/pata_ninja32.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_ninja32.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_ninja32.c linux-2.6.32.46/dr= ivers/ata/pata_ninja32.c +--- linux-2.6.32.46/drivers/ata/pata_ninja32.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_ninja32.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -81,7 +81,7 @@ static struct scsi_host_template ninja32 ATA_BMDMA_SHT(DRV_NAME), }; @@ -26347,9 +26347,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_ninja= 32.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, .sff_dev_select =3D ninja32_dev_select, .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_ns87410.c linux-2.6.32.48/dr= ivers/ata/pata_ns87410.c ---- linux-2.6.32.48/drivers/ata/pata_ns87410.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_ns87410.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_ns87410.c linux-2.6.32.46/dr= ivers/ata/pata_ns87410.c +--- linux-2.6.32.46/drivers/ata/pata_ns87410.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_ns87410.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -132,7 +132,7 @@ static struct scsi_host_template ns87410 ATA_PIO_SHT(DRV_NAME), }; @@ -26359,9 +26359,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_ns874= 10.c linux-2.6.32.48/drivers/at .inherits =3D &ata_sff_port_ops, .qc_issue =3D ns87410_qc_issue, .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_ns87415.c linux-2.6.32.48/dr= ivers/ata/pata_ns87415.c ---- linux-2.6.32.48/drivers/ata/pata_ns87415.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_ns87415.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_ns87415.c linux-2.6.32.46/dr= ivers/ata/pata_ns87415.c +--- linux-2.6.32.46/drivers/ata/pata_ns87415.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_ns87415.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -299,7 +299,7 @@ static u8 ns87560_bmdma_status(struct at } #endif /* 87560 SuperIO Support */ @@ -26380,9 +26380,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_ns874= 15.c linux-2.6.32.48/drivers/at .inherits =3D &ns87415_pata_ops, .sff_tf_read =3D ns87560_tf_read, .sff_check_status =3D ns87560_check_status, -diff -urNp linux-2.6.32.48/drivers/ata/pata_octeon_cf.c linux-2.6.32.48/= drivers/ata/pata_octeon_cf.c ---- linux-2.6.32.48/drivers/ata/pata_octeon_cf.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_octeon_cf.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_octeon_cf.c linux-2.6.32.46/= drivers/ata/pata_octeon_cf.c +--- linux-2.6.32.46/drivers/ata/pata_octeon_cf.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_octeon_cf.c 2011-04-17 15:56:46.000= 000000 -0400 @@ -801,6 +801,7 @@ static unsigned int octeon_cf_qc_issue(s return 0; } @@ -26391,9 +26391,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_octeo= n_cf.c linux-2.6.32.48/drivers/ static struct ata_port_operations octeon_cf_ops =3D { .inherits =3D &ata_sff_port_ops, .check_atapi_dma =3D octeon_cf_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/pata_oldpiix.c linux-2.6.32.48/dr= ivers/ata/pata_oldpiix.c ---- linux-2.6.32.48/drivers/ata/pata_oldpiix.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_oldpiix.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_oldpiix.c linux-2.6.32.46/dr= ivers/ata/pata_oldpiix.c +--- linux-2.6.32.46/drivers/ata/pata_oldpiix.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_oldpiix.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -208,7 +208,7 @@ static struct scsi_host_template oldpiix ATA_BMDMA_SHT(DRV_NAME), }; @@ -26403,9 +26403,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_oldpi= ix.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, .qc_issue =3D oldpiix_qc_issue, .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_opti.c linux-2.6.32.48/drive= rs/ata/pata_opti.c ---- linux-2.6.32.48/drivers/ata/pata_opti.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_opti.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_opti.c linux-2.6.32.46/drive= rs/ata/pata_opti.c +--- linux-2.6.32.46/drivers/ata/pata_opti.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_opti.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -152,7 +152,7 @@ static struct scsi_host_template opti_sh ATA_PIO_SHT(DRV_NAME), }; @@ -26415,9 +26415,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_opti.= c linux-2.6.32.48/drivers/ata/p .inherits =3D &ata_sff_port_ops, .cable_detect =3D ata_cable_40wire, .set_piomode =3D opti_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_optidma.c linux-2.6.32.48/dr= ivers/ata/pata_optidma.c ---- linux-2.6.32.48/drivers/ata/pata_optidma.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_optidma.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_optidma.c linux-2.6.32.46/dr= ivers/ata/pata_optidma.c +--- linux-2.6.32.46/drivers/ata/pata_optidma.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_optidma.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -337,7 +337,7 @@ static struct scsi_host_template optidma ATA_BMDMA_SHT(DRV_NAME), }; @@ -26436,9 +26436,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_optid= ma.c linux-2.6.32.48/drivers/at .inherits =3D &optidma_port_ops, .set_piomode =3D optiplus_set_pio_mode, .set_dmamode =3D optiplus_set_dma_mode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_palmld.c linux-2.6.32.48/dri= vers/ata/pata_palmld.c ---- linux-2.6.32.48/drivers/ata/pata_palmld.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_palmld.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_palmld.c linux-2.6.32.46/dri= vers/ata/pata_palmld.c +--- linux-2.6.32.46/drivers/ata/pata_palmld.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_palmld.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -37,7 +37,7 @@ static struct scsi_host_template palmld_ ATA_PIO_SHT(DRV_NAME), }; @@ -26448,9 +26448,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_palml= d.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_sff_port_ops, .sff_data_xfer =3D ata_sff_data_xfer_noirq, .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_pcmcia.c linux-2.6.32.48/dri= vers/ata/pata_pcmcia.c ---- linux-2.6.32.48/drivers/ata/pata_pcmcia.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_pcmcia.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_pcmcia.c linux-2.6.32.46/dri= vers/ata/pata_pcmcia.c +--- linux-2.6.32.46/drivers/ata/pata_pcmcia.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_pcmcia.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -162,14 +162,14 @@ static struct scsi_host_template pcmcia_ ATA_PIO_SHT(DRV_NAME), }; @@ -26477,9 +26477,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_pcmci= a.c linux-2.6.32.48/drivers/ata =20 info =3D kzalloc(sizeof(*info), GFP_KERNEL); if (info =3D=3D NULL) -diff -urNp linux-2.6.32.48/drivers/ata/pata_pdc2027x.c linux-2.6.32.48/d= rivers/ata/pata_pdc2027x.c ---- linux-2.6.32.48/drivers/ata/pata_pdc2027x.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_pdc2027x.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_pdc2027x.c linux-2.6.32.46/d= rivers/ata/pata_pdc2027x.c +--- linux-2.6.32.46/drivers/ata/pata_pdc2027x.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_pdc2027x.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -132,14 +132,14 @@ static struct scsi_host_template pdc2027 ATA_BMDMA_SHT(DRV_NAME), }; @@ -26497,9 +26497,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_pdc20= 27x.c linux-2.6.32.48/drivers/a .inherits =3D &pdc2027x_pata100_ops, .mode_filter =3D pdc2027x_mode_filter, .set_piomode =3D pdc2027x_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_pdc202xx_old.c linux-2.6.32.= 48/drivers/ata/pata_pdc202xx_old.c ---- linux-2.6.32.48/drivers/ata/pata_pdc202xx_old.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_pdc202xx_old.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_pdc202xx_old.c linux-2.6.32.= 46/drivers/ata/pata_pdc202xx_old.c +--- linux-2.6.32.46/drivers/ata/pata_pdc202xx_old.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_pdc202xx_old.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -274,7 +274,7 @@ static struct scsi_host_template pdc202x ATA_BMDMA_SHT(DRV_NAME), }; @@ -26518,9 +26518,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_pdc20= 2xx_old.c linux-2.6.32.48/drive .inherits =3D &pdc2024x_port_ops, =20 .check_atapi_dma =3D pdc2026x_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/pata_platform.c linux-2.6.32.48/d= rivers/ata/pata_platform.c ---- linux-2.6.32.48/drivers/ata/pata_platform.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_platform.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_platform.c linux-2.6.32.46/d= rivers/ata/pata_platform.c +--- linux-2.6.32.46/drivers/ata/pata_platform.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_platform.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -48,7 +48,7 @@ static struct scsi_host_template pata_pl ATA_PIO_SHT(DRV_NAME), }; @@ -26530,9 +26530,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_platf= orm.c linux-2.6.32.48/drivers/a .inherits =3D &ata_sff_port_ops, .sff_data_xfer =3D ata_sff_data_xfer_noirq, .cable_detect =3D ata_cable_unknown, -diff -urNp linux-2.6.32.48/drivers/ata/pata_qdi.c linux-2.6.32.48/driver= s/ata/pata_qdi.c ---- linux-2.6.32.48/drivers/ata/pata_qdi.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_qdi.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_qdi.c linux-2.6.32.46/driver= s/ata/pata_qdi.c +--- linux-2.6.32.46/drivers/ata/pata_qdi.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/pata_qdi.c 2011-04-17 15:56:46.000000000= -0400 @@ -157,7 +157,7 @@ static struct scsi_host_template qdi_sht ATA_PIO_SHT(DRV_NAME), }; @@ -26551,9 +26551,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_qdi.c= linux-2.6.32.48/drivers/ata/pa .inherits =3D &qdi6500_port_ops, .set_piomode =3D qdi6580_set_piomode, }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_radisys.c linux-2.6.32.48/dr= ivers/ata/pata_radisys.c ---- linux-2.6.32.48/drivers/ata/pata_radisys.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_radisys.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_radisys.c linux-2.6.32.46/dr= ivers/ata/pata_radisys.c +--- linux-2.6.32.46/drivers/ata/pata_radisys.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_radisys.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -187,7 +187,7 @@ static struct scsi_host_template radisys ATA_BMDMA_SHT(DRV_NAME), }; @@ -26563,9 +26563,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_radis= ys.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, .qc_issue =3D radisys_qc_issue, .cable_detect =3D ata_cable_unknown, -diff -urNp linux-2.6.32.48/drivers/ata/pata_rb532_cf.c linux-2.6.32.48/d= rivers/ata/pata_rb532_cf.c ---- linux-2.6.32.48/drivers/ata/pata_rb532_cf.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_rb532_cf.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_rb532_cf.c linux-2.6.32.46/d= rivers/ata/pata_rb532_cf.c +--- linux-2.6.32.46/drivers/ata/pata_rb532_cf.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_rb532_cf.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -68,7 +68,7 @@ static irqreturn_t rb532_pata_irq_handle return IRQ_HANDLED; } @@ -26575,9 +26575,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_rb532= _cf.c linux-2.6.32.48/drivers/a .inherits =3D &ata_sff_port_ops, .sff_data_xfer =3D ata_sff_data_xfer32, }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_rdc.c linux-2.6.32.48/driver= s/ata/pata_rdc.c ---- linux-2.6.32.48/drivers/ata/pata_rdc.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_rdc.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_rdc.c linux-2.6.32.46/driver= s/ata/pata_rdc.c +--- linux-2.6.32.46/drivers/ata/pata_rdc.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/pata_rdc.c 2011-04-17 15:56:46.000000000= -0400 @@ -272,7 +272,7 @@ static void rdc_set_dmamode(struct ata_p pci_write_config_byte(dev, 0x48, udma_enable); } @@ -26587,9 +26587,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_rdc.c= linux-2.6.32.48/drivers/ata/pa .inherits =3D &ata_bmdma32_port_ops, .cable_detect =3D rdc_pata_cable_detect, .set_piomode =3D rdc_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_rz1000.c linux-2.6.32.48/dri= vers/ata/pata_rz1000.c ---- linux-2.6.32.48/drivers/ata/pata_rz1000.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_rz1000.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_rz1000.c linux-2.6.32.46/dri= vers/ata/pata_rz1000.c +--- linux-2.6.32.46/drivers/ata/pata_rz1000.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_rz1000.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -54,7 +54,7 @@ static struct scsi_host_template rz1000_ ATA_PIO_SHT(DRV_NAME), }; @@ -26599,9 +26599,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_rz100= 0.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_sff_port_ops, .cable_detect =3D ata_cable_40wire, .set_mode =3D rz1000_set_mode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_sc1200.c linux-2.6.32.48/dri= vers/ata/pata_sc1200.c ---- linux-2.6.32.48/drivers/ata/pata_sc1200.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_sc1200.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_sc1200.c linux-2.6.32.46/dri= vers/ata/pata_sc1200.c +--- linux-2.6.32.46/drivers/ata/pata_sc1200.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_sc1200.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -207,7 +207,7 @@ static struct scsi_host_template sc1200_ .sg_tablesize =3D LIBATA_DUMB_MAX_PRD, }; @@ -26611,9 +26611,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_sc120= 0.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma_port_ops, .qc_prep =3D ata_sff_dumb_qc_prep, .qc_issue =3D sc1200_qc_issue, -diff -urNp linux-2.6.32.48/drivers/ata/pata_scc.c linux-2.6.32.48/driver= s/ata/pata_scc.c ---- linux-2.6.32.48/drivers/ata/pata_scc.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_scc.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_scc.c linux-2.6.32.46/driver= s/ata/pata_scc.c +--- linux-2.6.32.46/drivers/ata/pata_scc.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/pata_scc.c 2011-04-17 15:56:46.000000000= -0400 @@ -965,7 +965,7 @@ static struct scsi_host_template scc_sht ATA_BMDMA_SHT(DRV_NAME), }; @@ -26623,9 +26623,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_scc.c= linux-2.6.32.48/drivers/ata/pa .inherits =3D &ata_bmdma_port_ops, =20 .set_piomode =3D scc_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_sch.c linux-2.6.32.48/driver= s/ata/pata_sch.c ---- linux-2.6.32.48/drivers/ata/pata_sch.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_sch.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_sch.c linux-2.6.32.46/driver= s/ata/pata_sch.c +--- linux-2.6.32.46/drivers/ata/pata_sch.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/pata_sch.c 2011-04-17 15:56:46.000000000= -0400 @@ -75,7 +75,7 @@ static struct scsi_host_template sch_sht ATA_BMDMA_SHT(DRV_NAME), }; @@ -26635,9 +26635,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_sch.c= linux-2.6.32.48/drivers/ata/pa .inherits =3D &ata_bmdma_port_ops, .cable_detect =3D ata_cable_unknown, .set_piomode =3D sch_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_serverworks.c linux-2.6.32.4= 8/drivers/ata/pata_serverworks.c ---- linux-2.6.32.48/drivers/ata/pata_serverworks.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_serverworks.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_serverworks.c linux-2.6.32.4= 6/drivers/ata/pata_serverworks.c +--- linux-2.6.32.46/drivers/ata/pata_serverworks.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_serverworks.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -299,7 +299,7 @@ static struct scsi_host_template serverw ATA_BMDMA_SHT(DRV_NAME), }; @@ -26656,9 +26656,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_serve= rworks.c linux-2.6.32.48/driver .inherits =3D &serverworks_osb4_port_ops, .mode_filter =3D serverworks_csb_filter, }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_sil680.c linux-2.6.32.48/dri= vers/ata/pata_sil680.c ---- linux-2.6.32.48/drivers/ata/pata_sil680.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_sil680.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_sil680.c linux-2.6.32.46/dri= vers/ata/pata_sil680.c +--- linux-2.6.32.46/drivers/ata/pata_sil680.c 2011-06-25 12:55:34.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_sil680.c 2011-06-25 12:56:37.000000= 000 -0400 @@ -194,7 +194,7 @@ static struct scsi_host_template sil680_ ATA_BMDMA_SHT(DRV_NAME), }; @@ -26668,9 +26668,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_sil68= 0.c linux-2.6.32.48/drivers/ata .inherits =3D &ata_bmdma32_port_ops, .cable_detect =3D sil680_cable_detect, .set_piomode =3D sil680_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_sis.c linux-2.6.32.48/driver= s/ata/pata_sis.c ---- linux-2.6.32.48/drivers/ata/pata_sis.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_sis.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_sis.c linux-2.6.32.46/driver= s/ata/pata_sis.c +--- linux-2.6.32.46/drivers/ata/pata_sis.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/pata_sis.c 2011-04-17 15:56:46.000000000= -0400 @@ -503,47 +503,47 @@ static struct scsi_host_template sis_sht ATA_BMDMA_SHT(DRV_NAME), }; @@ -26726,9 +26726,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_sis.c= linux-2.6.32.48/drivers/ata/pa .inherits =3D &sis_base_ops, .set_piomode =3D sis_old_set_piomode, .set_dmamode =3D sis_old_set_dmamode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_sl82c105.c linux-2.6.32.48/d= rivers/ata/pata_sl82c105.c ---- linux-2.6.32.48/drivers/ata/pata_sl82c105.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_sl82c105.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_sl82c105.c linux-2.6.32.46/d= rivers/ata/pata_sl82c105.c +--- linux-2.6.32.46/drivers/ata/pata_sl82c105.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_sl82c105.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -231,7 +231,7 @@ static struct scsi_host_template sl82c10 ATA_BMDMA_SHT(DRV_NAME), }; @@ -26738,9 +26738,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_sl82c= 105.c linux-2.6.32.48/drivers/a .inherits =3D &ata_bmdma_port_ops, .qc_defer =3D sl82c105_qc_defer, .bmdma_start =3D sl82c105_bmdma_start, -diff -urNp linux-2.6.32.48/drivers/ata/pata_triflex.c linux-2.6.32.48/dr= ivers/ata/pata_triflex.c ---- linux-2.6.32.48/drivers/ata/pata_triflex.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_triflex.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_triflex.c linux-2.6.32.46/dr= ivers/ata/pata_triflex.c +--- linux-2.6.32.46/drivers/ata/pata_triflex.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_triflex.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -178,7 +178,7 @@ static struct scsi_host_template triflex ATA_BMDMA_SHT(DRV_NAME), }; @@ -26750,9 +26750,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_trifl= ex.c linux-2.6.32.48/drivers/at .inherits =3D &ata_bmdma_port_ops, .bmdma_start =3D triflex_bmdma_start, .bmdma_stop =3D triflex_bmdma_stop, -diff -urNp linux-2.6.32.48/drivers/ata/pata_via.c linux-2.6.32.48/driver= s/ata/pata_via.c ---- linux-2.6.32.48/drivers/ata/pata_via.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_via.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_via.c linux-2.6.32.46/driver= s/ata/pata_via.c +--- linux-2.6.32.46/drivers/ata/pata_via.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/pata_via.c 2011-04-17 15:56:46.000000000= -0400 @@ -419,7 +419,7 @@ static struct scsi_host_template via_sht ATA_BMDMA_SHT(DRV_NAME), }; @@ -26771,9 +26771,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_via.c= linux-2.6.32.48/drivers/ata/pa .inherits =3D &via_port_ops, .sff_data_xfer =3D ata_sff_data_xfer_noirq, }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_winbond.c linux-2.6.32.48/dr= ivers/ata/pata_winbond.c ---- linux-2.6.32.48/drivers/ata/pata_winbond.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_winbond.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pata_winbond.c linux-2.6.32.46/dr= ivers/ata/pata_winbond.c +--- linux-2.6.32.46/drivers/ata/pata_winbond.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/pata_winbond.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -125,7 +125,7 @@ static struct scsi_host_template winbond ATA_PIO_SHT(DRV_NAME), }; @@ -26783,9 +26783,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pata_winbo= nd.c linux-2.6.32.48/drivers/at .inherits =3D &ata_sff_port_ops, .sff_data_xfer =3D winbond_data_xfer, .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pdc_adma.c linux-2.6.32.48/driver= s/ata/pdc_adma.c ---- linux-2.6.32.48/drivers/ata/pdc_adma.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pdc_adma.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/pdc_adma.c linux-2.6.32.46/driver= s/ata/pdc_adma.c +--- linux-2.6.32.46/drivers/ata/pdc_adma.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/pdc_adma.c 2011-04-17 15:56:46.000000000= -0400 @@ -145,7 +145,7 @@ static struct scsi_host_template adma_at .dma_boundary =3D ADMA_DMA_BOUNDARY, }; @@ -26795,9 +26795,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/pdc_adma.c= linux-2.6.32.48/drivers/ata/pd .inherits =3D &ata_sff_port_ops, =20 .lost_interrupt =3D ATA_OP_NULL, -diff -urNp linux-2.6.32.48/drivers/ata/sata_fsl.c linux-2.6.32.48/driver= s/ata/sata_fsl.c ---- linux-2.6.32.48/drivers/ata/sata_fsl.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_fsl.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_fsl.c linux-2.6.32.46/driver= s/ata/sata_fsl.c +--- linux-2.6.32.46/drivers/ata/sata_fsl.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/sata_fsl.c 2011-04-17 15:56:46.000000000= -0400 @@ -1258,7 +1258,7 @@ static struct scsi_host_template sata_fs .dma_boundary =3D ATA_DMA_BOUNDARY, }; @@ -26807,9 +26807,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_fsl.c= linux-2.6.32.48/drivers/ata/sa .inherits =3D &sata_pmp_port_ops, =20 .qc_defer =3D ata_std_qc_defer, -diff -urNp linux-2.6.32.48/drivers/ata/sata_inic162x.c linux-2.6.32.48/d= rivers/ata/sata_inic162x.c ---- linux-2.6.32.48/drivers/ata/sata_inic162x.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ata/sata_inic162x.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_inic162x.c linux-2.6.32.46/d= rivers/ata/sata_inic162x.c +--- linux-2.6.32.46/drivers/ata/sata_inic162x.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/ata/sata_inic162x.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -721,7 +721,7 @@ static int inic_port_start(struct ata_po return 0; } @@ -26819,9 +26819,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_inic1= 62x.c linux-2.6.32.48/drivers/a .inherits =3D &sata_port_ops, =20 .check_atapi_dma =3D inic_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/sata_mv.c linux-2.6.32.48/drivers= /ata/sata_mv.c ---- linux-2.6.32.48/drivers/ata/sata_mv.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/ata/sata_mv.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_mv.c linux-2.6.32.46/drivers= /ata/sata_mv.c +--- linux-2.6.32.46/drivers/ata/sata_mv.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/ata/sata_mv.c 2011-04-17 15:56:46.000000000 = -0400 @@ -656,7 +656,7 @@ static struct scsi_host_template mv6_sht .dma_boundary =3D MV_DMA_BOUNDARY, }; @@ -26849,9 +26849,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_mv.c = linux-2.6.32.48/drivers/ata/sat .inherits =3D &mv6_ops, .dev_config =3D ATA_OP_NULL, .qc_prep =3D mv_qc_prep_iie, -diff -urNp linux-2.6.32.48/drivers/ata/sata_nv.c linux-2.6.32.48/drivers= /ata/sata_nv.c ---- linux-2.6.32.48/drivers/ata/sata_nv.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/ata/sata_nv.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_nv.c linux-2.6.32.46/drivers= /ata/sata_nv.c +--- linux-2.6.32.46/drivers/ata/sata_nv.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/ata/sata_nv.c 2011-04-17 15:56:46.000000000 = -0400 @@ -464,7 +464,7 @@ static struct scsi_host_template nv_swnc * cases. Define nv_hardreset() which only kicks in for post-boot * probing and use it for all variants. @@ -26894,9 +26894,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_nv.c = linux-2.6.32.48/drivers/ata/sat .inherits =3D &nv_generic_ops, =20 .qc_defer =3D ata_std_qc_defer, -diff -urNp linux-2.6.32.48/drivers/ata/sata_promise.c linux-2.6.32.48/dr= ivers/ata/sata_promise.c ---- linux-2.6.32.48/drivers/ata/sata_promise.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/sata_promise.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_promise.c linux-2.6.32.46/dr= ivers/ata/sata_promise.c +--- linux-2.6.32.46/drivers/ata/sata_promise.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/ata/sata_promise.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -195,7 +195,7 @@ static const struct ata_port_operations=20 .error_handler =3D pdc_error_handler, }; @@ -26923,9 +26923,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_promi= se.c linux-2.6.32.48/drivers/at .inherits =3D &pdc_common_ops, .cable_detect =3D pdc_pata_cable_detect, .freeze =3D pdc_freeze, -diff -urNp linux-2.6.32.48/drivers/ata/sata_qstor.c linux-2.6.32.48/driv= ers/ata/sata_qstor.c ---- linux-2.6.32.48/drivers/ata/sata_qstor.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/sata_qstor.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_qstor.c linux-2.6.32.46/driv= ers/ata/sata_qstor.c +--- linux-2.6.32.46/drivers/ata/sata_qstor.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/ata/sata_qstor.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -132,7 +132,7 @@ static struct scsi_host_template qs_ata_ .dma_boundary =3D QS_DMA_BOUNDARY, }; @@ -26935,9 +26935,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_qstor= .c linux-2.6.32.48/drivers/ata/ .inherits =3D &ata_sff_port_ops, =20 .check_atapi_dma =3D qs_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/sata_sil24.c linux-2.6.32.48/driv= ers/ata/sata_sil24.c ---- linux-2.6.32.48/drivers/ata/sata_sil24.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/sata_sil24.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_sil24.c linux-2.6.32.46/driv= ers/ata/sata_sil24.c +--- linux-2.6.32.46/drivers/ata/sata_sil24.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/ata/sata_sil24.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -388,7 +388,7 @@ static struct scsi_host_template sil24_s .dma_boundary =3D ATA_DMA_BOUNDARY, }; @@ -26947,9 +26947,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_sil24= .c linux-2.6.32.48/drivers/ata/ .inherits =3D &sata_pmp_port_ops, =20 .qc_defer =3D sil24_qc_defer, -diff -urNp linux-2.6.32.48/drivers/ata/sata_sil.c linux-2.6.32.48/driver= s/ata/sata_sil.c ---- linux-2.6.32.48/drivers/ata/sata_sil.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_sil.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_sil.c linux-2.6.32.46/driver= s/ata/sata_sil.c +--- linux-2.6.32.46/drivers/ata/sata_sil.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/sata_sil.c 2011-04-17 15:56:46.000000000= -0400 @@ -182,7 +182,7 @@ static struct scsi_host_template sil_sht .sg_tablesize =3D ATA_MAX_PRD }; @@ -26959,9 +26959,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_sil.c= linux-2.6.32.48/drivers/ata/sa .inherits =3D &ata_bmdma32_port_ops, .dev_config =3D sil_dev_config, .set_mode =3D sil_set_mode, -diff -urNp linux-2.6.32.48/drivers/ata/sata_sis.c linux-2.6.32.48/driver= s/ata/sata_sis.c ---- linux-2.6.32.48/drivers/ata/sata_sis.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_sis.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_sis.c linux-2.6.32.46/driver= s/ata/sata_sis.c +--- linux-2.6.32.46/drivers/ata/sata_sis.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/sata_sis.c 2011-04-17 15:56:46.000000000= -0400 @@ -89,7 +89,7 @@ static struct scsi_host_template sis_sht ATA_BMDMA_SHT(DRV_NAME), }; @@ -26971,9 +26971,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_sis.c= linux-2.6.32.48/drivers/ata/sa .inherits =3D &ata_bmdma_port_ops, .scr_read =3D sis_scr_read, .scr_write =3D sis_scr_write, -diff -urNp linux-2.6.32.48/drivers/ata/sata_svw.c linux-2.6.32.48/driver= s/ata/sata_svw.c ---- linux-2.6.32.48/drivers/ata/sata_svw.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_svw.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_svw.c linux-2.6.32.46/driver= s/ata/sata_svw.c +--- linux-2.6.32.46/drivers/ata/sata_svw.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/sata_svw.c 2011-04-17 15:56:46.000000000= -0400 @@ -344,7 +344,7 @@ static struct scsi_host_template k2_sata }; =20 @@ -26983,9 +26983,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_svw.c= linux-2.6.32.48/drivers/ata/sa .inherits =3D &ata_bmdma_port_ops, .sff_tf_load =3D k2_sata_tf_load, .sff_tf_read =3D k2_sata_tf_read, -diff -urNp linux-2.6.32.48/drivers/ata/sata_sx4.c linux-2.6.32.48/driver= s/ata/sata_sx4.c ---- linux-2.6.32.48/drivers/ata/sata_sx4.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_sx4.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_sx4.c linux-2.6.32.46/driver= s/ata/sata_sx4.c +--- linux-2.6.32.46/drivers/ata/sata_sx4.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/sata_sx4.c 2011-04-17 15:56:46.000000000= -0400 @@ -248,7 +248,7 @@ static struct scsi_host_template pdc_sat }; =20 @@ -26995,9 +26995,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_sx4.c= linux-2.6.32.48/drivers/ata/sa .inherits =3D &ata_sff_port_ops, =20 .check_atapi_dma =3D pdc_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/sata_uli.c linux-2.6.32.48/driver= s/ata/sata_uli.c ---- linux-2.6.32.48/drivers/ata/sata_uli.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_uli.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_uli.c linux-2.6.32.46/driver= s/ata/sata_uli.c +--- linux-2.6.32.46/drivers/ata/sata_uli.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/sata_uli.c 2011-04-17 15:56:46.000000000= -0400 @@ -79,7 +79,7 @@ static struct scsi_host_template uli_sht ATA_BMDMA_SHT(DRV_NAME), }; @@ -27007,9 +27007,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_uli.c= linux-2.6.32.48/drivers/ata/sa .inherits =3D &ata_bmdma_port_ops, .scr_read =3D uli_scr_read, .scr_write =3D uli_scr_write, -diff -urNp linux-2.6.32.48/drivers/ata/sata_via.c linux-2.6.32.48/driver= s/ata/sata_via.c ---- linux-2.6.32.48/drivers/ata/sata_via.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_via.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_via.c linux-2.6.32.46/driver= s/ata/sata_via.c +--- linux-2.6.32.46/drivers/ata/sata_via.c 2011-05-10 22:12:01.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/sata_via.c 2011-05-10 22:15:08.000000000= -0400 @@ -115,32 +115,32 @@ static struct scsi_host_template svia_sh ATA_BMDMA_SHT(DRV_NAME), }; @@ -27048,9 +27048,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_via.c= linux-2.6.32.48/drivers/ata/sa .inherits =3D &svia_base_ops, .hardreset =3D sata_std_hardreset, .scr_read =3D vt8251_scr_read, -diff -urNp linux-2.6.32.48/drivers/ata/sata_vsc.c linux-2.6.32.48/driver= s/ata/sata_vsc.c ---- linux-2.6.32.48/drivers/ata/sata_vsc.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_vsc.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/ata/sata_vsc.c linux-2.6.32.46/driver= s/ata/sata_vsc.c +--- linux-2.6.32.46/drivers/ata/sata_vsc.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/ata/sata_vsc.c 2011-04-17 15:56:46.000000000= -0400 @@ -306,7 +306,7 @@ static struct scsi_host_template vsc_sat }; =20 @@ -27060,9 +27060,9 @@ diff -urNp linux-2.6.32.48/drivers/ata/sata_vsc.c= linux-2.6.32.48/drivers/ata/sa .inherits =3D &ata_bmdma_port_ops, /* The IRQ handling is not quite standard SFF behaviour so we cannot use the default lost interrupt handler */ -diff -urNp linux-2.6.32.48/drivers/atm/adummy.c linux-2.6.32.48/drivers/= atm/adummy.c ---- linux-2.6.32.48/drivers/atm/adummy.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/atm/adummy.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/atm/adummy.c linux-2.6.32.46/drivers/= atm/adummy.c +--- linux-2.6.32.46/drivers/atm/adummy.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/atm/adummy.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -77,7 +77,7 @@ adummy_send(struct atm_vcc *vcc, struct=20 vcc->pop(vcc, skb); else @@ -27072,9 +27072,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/adummy.c l= inux-2.6.32.48/drivers/atm/adum =20 return 0; } -diff -urNp linux-2.6.32.48/drivers/atm/ambassador.c linux-2.6.32.48/driv= ers/atm/ambassador.c ---- linux-2.6.32.48/drivers/atm/ambassador.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/atm/ambassador.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/atm/ambassador.c linux-2.6.32.46/driv= ers/atm/ambassador.c +--- linux-2.6.32.46/drivers/atm/ambassador.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/atm/ambassador.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -453,7 +453,7 @@ static void tx_complete (amb_dev * dev,=20 PRINTD (DBG_FLOW|DBG_TX, "tx_complete %p %p", dev, tx); =20 @@ -27111,9 +27111,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/ambassador= .c linux-2.6.32.48/drivers/atm/ return -ENOMEM; // ? } =20 -diff -urNp linux-2.6.32.48/drivers/atm/atmtcp.c linux-2.6.32.48/drivers/= atm/atmtcp.c ---- linux-2.6.32.48/drivers/atm/atmtcp.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/atm/atmtcp.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/atm/atmtcp.c linux-2.6.32.46/drivers/= atm/atmtcp.c +--- linux-2.6.32.46/drivers/atm/atmtcp.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/atm/atmtcp.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -206,7 +206,7 @@ static int atmtcp_v_send(struct atm_vcc=20 if (vcc->pop) vcc->pop(vcc,skb); else dev_kfree_skb(skb); @@ -27163,9 +27163,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/atmtcp.c l= inux-2.6.32.48/drivers/atm/atmt done: if (vcc->pop) vcc->pop(vcc,skb); else dev_kfree_skb(skb); -diff -urNp linux-2.6.32.48/drivers/atm/eni.c linux-2.6.32.48/drivers/atm= /eni.c ---- linux-2.6.32.48/drivers/atm/eni.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/atm/eni.c 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-2.6.32.46/drivers/atm/eni.c linux-2.6.32.46/drivers/atm= /eni.c +--- linux-2.6.32.46/drivers/atm/eni.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/drivers/atm/eni.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -525,7 +525,7 @@ static int rx_aal0(struct atm_vcc *vcc) DPRINTK(DEV_LABEL "(itf %d): trashing empty cell\n", vcc->dev->number); @@ -27211,9 +27211,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/eni.c linu= x-2.6.32.48/drivers/atm/eni.c wake_up(&eni_dev->tx_wait); dma_complete++; } -diff -urNp linux-2.6.32.48/drivers/atm/firestream.c linux-2.6.32.48/driv= ers/atm/firestream.c ---- linux-2.6.32.48/drivers/atm/firestream.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/atm/firestream.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/atm/firestream.c linux-2.6.32.46/driv= ers/atm/firestream.c +--- linux-2.6.32.46/drivers/atm/firestream.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/atm/firestream.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -748,7 +748,7 @@ static void process_txdone_queue (struct } } @@ -27247,9 +27247,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/firestream= .c linux-2.6.32.48/drivers/atm/ break; default: /* Hmm. Haven't written the code to handle the others yet...= -- REW */ printk (KERN_WARNING "Don't know what to do with RX status %x: %s.\n= ",=20 -diff -urNp linux-2.6.32.48/drivers/atm/fore200e.c linux-2.6.32.48/driver= s/atm/fore200e.c ---- linux-2.6.32.48/drivers/atm/fore200e.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/atm/fore200e.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/atm/fore200e.c linux-2.6.32.46/driver= s/atm/fore200e.c +--- linux-2.6.32.46/drivers/atm/fore200e.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/atm/fore200e.c 2011-04-17 15:56:46.000000000= -0400 @@ -931,9 +931,9 @@ fore200e_tx_irq(struct fore200e* fore200 #endif /* check error condition */ @@ -27306,9 +27306,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/fore200e.c= linux-2.6.32.48/drivers/atm/fo =20 fore200e->tx_sat++; DPRINTK(2, "tx queue of device %s is saturated, PDU dropped - hear= tbeat is %08x\n", -diff -urNp linux-2.6.32.48/drivers/atm/he.c linux-2.6.32.48/drivers/atm/= he.c ---- linux-2.6.32.48/drivers/atm/he.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/atm/he.c 2011-11-12 12:46:42.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/atm/he.c linux-2.6.32.46/drivers/atm/= he.c +--- linux-2.6.32.46/drivers/atm/he.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/atm/he.c 2011-04-17 15:56:46.000000000 -0400 @@ -1769,7 +1769,7 @@ he_service_rbrq(struct he_dev *he_dev, i =20 if (RBRQ_HBUF_ERR(he_dev->rbrq_head)) { @@ -27390,9 +27390,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/he.c linux= -2.6.32.48/drivers/atm/he.c =20 return 0; } -diff -urNp linux-2.6.32.48/drivers/atm/horizon.c linux-2.6.32.48/drivers= /atm/horizon.c ---- linux-2.6.32.48/drivers/atm/horizon.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/atm/horizon.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/atm/horizon.c linux-2.6.32.46/drivers= /atm/horizon.c +--- linux-2.6.32.46/drivers/atm/horizon.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/atm/horizon.c 2011-04-17 15:56:46.000000000 = -0400 @@ -1033,7 +1033,7 @@ static void rx_schedule (hrz_dev * dev,=20 { struct atm_vcc * vcc =3D ATM_SKB(skb)->vcc; @@ -27411,9 +27411,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/horizon.c = linux-2.6.32.48/drivers/atm/hor =09 // free the skb hrz_kfree_skb (skb); -diff -urNp linux-2.6.32.48/drivers/atm/idt77252.c linux-2.6.32.48/driver= s/atm/idt77252.c ---- linux-2.6.32.48/drivers/atm/idt77252.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/atm/idt77252.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/atm/idt77252.c linux-2.6.32.46/driver= s/atm/idt77252.c +--- linux-2.6.32.46/drivers/atm/idt77252.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/atm/idt77252.c 2011-04-17 15:56:46.000000000= -0400 @@ -810,7 +810,7 @@ drain_scq(struct idt77252_dev *card, str else dev_kfree_skb(skb); @@ -27568,9 +27568,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/idt77252.c= linux-2.6.32.48/drivers/atm/id return -ENOMEM; } atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc); -diff -urNp linux-2.6.32.48/drivers/atm/iphase.c linux-2.6.32.48/drivers/= atm/iphase.c ---- linux-2.6.32.48/drivers/atm/iphase.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/atm/iphase.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/atm/iphase.c linux-2.6.32.46/drivers/= atm/iphase.c +--- linux-2.6.32.46/drivers/atm/iphase.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/atm/iphase.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -1123,7 +1123,7 @@ static int rx_pkt(struct atm_dev *dev) =20 status =3D (u_short) (buf_desc_ptr->desc_mode); =20 if (status & (RX_CER | RX_PTE | RX_OFL)) =20 @@ -27667,9 +27667,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/iphase.c l= inux-2.6.32.48/drivers/atm/ipha if (iavcc->vc_desc_cnt > 10) { vcc->tx_quota =3D vcc->tx_quota * 3 / 4; printk("Tx1: vcc->tx_quota =3D %d \n", (u32)vcc->tx_quota = ); -diff -urNp linux-2.6.32.48/drivers/atm/lanai.c linux-2.6.32.48/drivers/a= tm/lanai.c ---- linux-2.6.32.48/drivers/atm/lanai.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/atm/lanai.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/atm/lanai.c linux-2.6.32.46/drivers/a= tm/lanai.c +--- linux-2.6.32.46/drivers/atm/lanai.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/atm/lanai.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -1305,7 +1305,7 @@ static void lanai_send_one_aal5(struct l vcc_tx_add_aal5_trailer(lvcc, skb->len, 0, 0); lanai_endtx(lanai, lvcc); @@ -27724,9 +27724,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/lanai.c li= nux-2.6.32.48/drivers/atm/lanai lvcc->stats.x.aal5.service_rxcrc++; lvcc->rx.buf.ptr =3D &lvcc->rx.buf.start[SERVICE_GET_END(s) * 4]; cardvcc_write(lvcc, SERVICE_GET_END(s), vcc_rxreadptr); -diff -urNp linux-2.6.32.48/drivers/atm/nicstar.c linux-2.6.32.48/drivers= /atm/nicstar.c ---- linux-2.6.32.48/drivers/atm/nicstar.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/atm/nicstar.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/atm/nicstar.c linux-2.6.32.46/drivers= /atm/nicstar.c +--- linux-2.6.32.46/drivers/atm/nicstar.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/atm/nicstar.c 2011-04-17 15:56:46.000000000 = -0400 @@ -1723,7 +1723,7 @@ static int ns_send(struct atm_vcc *vcc,=20 if ((vc =3D (vc_map *) vcc->dev_data) =3D=3D NULL) { @@ -27929,9 +27929,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/nicstar.c = linux-2.6.32.48/drivers/atm/nic } } =20 -diff -urNp linux-2.6.32.48/drivers/atm/solos-pci.c linux-2.6.32.48/drive= rs/atm/solos-pci.c ---- linux-2.6.32.48/drivers/atm/solos-pci.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/atm/solos-pci.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/atm/solos-pci.c linux-2.6.32.46/drive= rs/atm/solos-pci.c +--- linux-2.6.32.46/drivers/atm/solos-pci.c 2011-04-17 17:00:52.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/atm/solos-pci.c 2011-05-16 21:46:57.00000000= 0 -0400 @@ -708,7 +708,7 @@ void solos_bh(unsigned long card_arg) } atm_charge(vcc, skb->truesize); @@ -27959,9 +27959,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/solos-pci.= c linux-2.6.32.48/drivers/atm/s solos_pop(vcc, oldskb); } else dev_kfree_skb_irq(oldskb); -diff -urNp linux-2.6.32.48/drivers/atm/suni.c linux-2.6.32.48/drivers/at= m/suni.c ---- linux-2.6.32.48/drivers/atm/suni.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/atm/suni.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/atm/suni.c linux-2.6.32.46/drivers/at= m/suni.c +--- linux-2.6.32.46/drivers/atm/suni.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/atm/suni.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -49,8 +49,8 @@ static DEFINE_SPINLOCK(sunis_lock); =20 =20 @@ -27973,9 +27973,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/suni.c lin= ux-2.6.32.48/drivers/atm/suni.c =20 =20 static void suni_hz(unsigned long from_timer) -diff -urNp linux-2.6.32.48/drivers/atm/uPD98402.c linux-2.6.32.48/driver= s/atm/uPD98402.c ---- linux-2.6.32.48/drivers/atm/uPD98402.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/atm/uPD98402.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/atm/uPD98402.c linux-2.6.32.46/driver= s/atm/uPD98402.c +--- linux-2.6.32.46/drivers/atm/uPD98402.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/atm/uPD98402.c 2011-04-17 15:56:46.000000000= -0400 @@ -41,7 +41,7 @@ static int fetch_stats(struct atm_dev *d struct sonet_stats tmp; int error =3D 0; @@ -28020,9 +28020,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/uPD98402.c= linux-2.6.32.48/drivers/atm/uP return 0; } =20 -diff -urNp linux-2.6.32.48/drivers/atm/zatm.c linux-2.6.32.48/drivers/at= m/zatm.c ---- linux-2.6.32.48/drivers/atm/zatm.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/atm/zatm.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/atm/zatm.c linux-2.6.32.46/drivers/at= m/zatm.c +--- linux-2.6.32.46/drivers/atm/zatm.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/atm/zatm.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -458,7 +458,7 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy } if (!size) { @@ -28050,9 +28050,9 @@ diff -urNp linux-2.6.32.48/drivers/atm/zatm.c lin= ux-2.6.32.48/drivers/atm/zatm.c wake_up(&zatm_vcc->tx_wait); } =20 -diff -urNp linux-2.6.32.48/drivers/base/bus.c linux-2.6.32.48/drivers/ba= se/bus.c ---- linux-2.6.32.48/drivers/base/bus.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/base/bus.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/base/bus.c linux-2.6.32.46/drivers/ba= se/bus.c +--- linux-2.6.32.46/drivers/base/bus.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/base/bus.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -70,7 +70,7 @@ static ssize_t drv_attr_store(struct kob return ret; } @@ -28080,9 +28080,9 @@ diff -urNp linux-2.6.32.48/drivers/base/bus.c lin= ux-2.6.32.48/drivers/base/bus.c .filter =3D bus_uevent_filter, }; =20 -diff -urNp linux-2.6.32.48/drivers/base/class.c linux-2.6.32.48/drivers/= base/class.c ---- linux-2.6.32.48/drivers/base/class.c 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/base/class.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/base/class.c linux-2.6.32.46/drivers/= base/class.c +--- linux-2.6.32.46/drivers/base/class.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/base/class.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -63,7 +63,7 @@ static void class_release(struct kobject kfree(cp); } @@ -28092,9 +28092,9 @@ diff -urNp linux-2.6.32.48/drivers/base/class.c l= inux-2.6.32.48/drivers/base/cla .show =3D class_attr_show, .store =3D class_attr_store, }; -diff -urNp linux-2.6.32.48/drivers/base/core.c linux-2.6.32.48/drivers/b= ase/core.c ---- linux-2.6.32.48/drivers/base/core.c 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/base/core.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/base/core.c linux-2.6.32.46/drivers/b= ase/core.c +--- linux-2.6.32.46/drivers/base/core.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/base/core.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -100,7 +100,7 @@ static ssize_t dev_attr_store(struct kob return ret; } @@ -28113,9 +28113,9 @@ diff -urNp linux-2.6.32.48/drivers/base/core.c li= nux-2.6.32.48/drivers/base/core .filter =3D dev_uevent_filter, .name =3D dev_uevent_name, .uevent =3D dev_uevent, -diff -urNp linux-2.6.32.48/drivers/base/memory.c linux-2.6.32.48/drivers= /base/memory.c ---- linux-2.6.32.48/drivers/base/memory.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/base/memory.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/base/memory.c linux-2.6.32.46/drivers= /base/memory.c +--- linux-2.6.32.46/drivers/base/memory.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/base/memory.c 2011-04-17 15:56:46.000000000 = -0400 @@ -44,7 +44,7 @@ static int memory_uevent(struct kset *ks return retval; } @@ -28125,9 +28125,9 @@ diff -urNp linux-2.6.32.48/drivers/base/memory.c = linux-2.6.32.48/drivers/base/me .name =3D memory_uevent_name, .uevent =3D memory_uevent, }; -diff -urNp linux-2.6.32.48/drivers/base/sys.c linux-2.6.32.48/drivers/ba= se/sys.c ---- linux-2.6.32.48/drivers/base/sys.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/base/sys.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/base/sys.c linux-2.6.32.46/drivers/ba= se/sys.c +--- linux-2.6.32.46/drivers/base/sys.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/base/sys.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -54,7 +54,7 @@ sysdev_store(struct kobject *kobj, struc return -EIO; } @@ -28146,9 +28146,9 @@ diff -urNp linux-2.6.32.48/drivers/base/sys.c lin= ux-2.6.32.48/drivers/base/sys.c .show =3D sysdev_class_show, .store =3D sysdev_class_store, }; -diff -urNp linux-2.6.32.48/drivers/block/cciss.c linux-2.6.32.48/drivers= /block/cciss.c ---- linux-2.6.32.48/drivers/block/cciss.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/block/cciss.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/block/cciss.c linux-2.6.32.46/drivers= /block/cciss.c +--- linux-2.6.32.46/drivers/block/cciss.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/block/cciss.c 2011-08-05 20:33:55.000000000 = -0400 @@ -1011,6 +1011,8 @@ static int cciss_ioctl32_passthru(struct int err; u32 cp; @@ -28258,9 +28258,9 @@ diff -urNp linux-2.6.32.48/drivers/block/cciss.c = linux-2.6.32.48/drivers/block/c =20 /* Get the firmware version */ inq_buff =3D kzalloc(sizeof(InquiryData_struct), GFP_KERNEL); -diff -urNp linux-2.6.32.48/drivers/block/cciss.h linux-2.6.32.48/drivers= /block/cciss.h ---- linux-2.6.32.48/drivers/block/cciss.h 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/block/cciss.h 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/block/cciss.h linux-2.6.32.46/drivers= /block/cciss.h +--- linux-2.6.32.46/drivers/block/cciss.h 2011-08-09 18:35:28.000000000 = -0400 ++++ linux-2.6.32.46/drivers/block/cciss.h 2011-08-09 18:33:59.000000000 = -0400 @@ -90,7 +90,7 @@ struct ctlr_info=20 // information about each logical volume drive_info_struct *drv[CISS_MAX_LUN]; @@ -28270,9 +28270,9 @@ diff -urNp linux-2.6.32.48/drivers/block/cciss.h = linux-2.6.32.48/drivers/block/c =20 /* queue and queue Info */=20 struct hlist_head reqQ; -diff -urNp linux-2.6.32.48/drivers/block/cpqarray.c linux-2.6.32.48/driv= ers/block/cpqarray.c ---- linux-2.6.32.48/drivers/block/cpqarray.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/block/cpqarray.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/block/cpqarray.c linux-2.6.32.46/driv= ers/block/cpqarray.c +--- linux-2.6.32.46/drivers/block/cpqarray.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/block/cpqarray.c 2011-08-05 20:33:55.0000000= 00 -0400 @@ -402,7 +402,7 @@ static int __init cpqarray_register_ctlr if (register_blkdev(COMPAQ_SMART2_MAJOR+i, hba[i]->devname)) { goto Enomem4; @@ -28398,9 +28398,9 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc if (done =3D=3D 0) { udelay(10); /* a short fixed delay */ } else -diff -urNp linux-2.6.32.48/drivers/block/cpqarray.h linux-2.6.32.48/driv= ers/block/cpqarray.h ---- linux-2.6.32.48/drivers/block/cpqarray.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/block/cpqarray.h 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/block/cpqarray.h linux-2.6.32.46/driv= ers/block/cpqarray.h +--- linux-2.6.32.46/drivers/block/cpqarray.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/block/cpqarray.h 2011-08-05 20:33:55.0000000= 00 -0400 @@ -99,7 +99,7 @@ struct ctlr_info { drv_info_t drv[NWD]; struct proc_dir_entry *proc; @@ -28410,9 +28410,9 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .h linux-2.6.32.48/drivers/bloc =20 cmdlist_t *reqQ; cmdlist_t *cmpQ; -diff -urNp linux-2.6.32.48/drivers/block/DAC960.c linux-2.6.32.48/driver= s/block/DAC960.c ---- linux-2.6.32.48/drivers/block/DAC960.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/block/DAC960.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/block/DAC960.c linux-2.6.32.46/driver= s/block/DAC960.c +--- linux-2.6.32.46/drivers/block/DAC960.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/block/DAC960.c 2011-05-16 21:46:57.000000000= -0400 @@ -1973,6 +1973,8 @@ static bool DAC960_V1_ReadDeviceConfigur unsigned long flags; int Channel, TargetID; @@ -28422,9 +28422,9 @@ diff -urNp linux-2.6.32.48/drivers/block/DAC960.c= linux-2.6.32.48/drivers/block/ if (!init_dma_loaf(Controller->PCIDevice, &local_dma,=20 DAC960_V1_MaxChannels*(sizeof(DAC960_V1_DCDB_T) + sizeof(DAC960_SCSI_Inquiry_T) + -diff -urNp linux-2.6.32.48/drivers/block/loop.c linux-2.6.32.48/drivers/= block/loop.c ---- linux-2.6.32.48/drivers/block/loop.c 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/block/loop.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/block/loop.c linux-2.6.32.46/drivers/= block/loop.c +--- linux-2.6.32.46/drivers/block/loop.c 2011-06-25 12:55:34.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/block/loop.c 2011-10-06 09:37:14.000000000 -= 0400 @@ -282,7 +282,7 @@ static int __do_lo_send_write(struct fil mm_segment_t old_fs =3D get_fs(); =20 @@ -28434,9 +28434,9 @@ diff -urNp linux-2.6.32.48/drivers/block/loop.c l= inux-2.6.32.48/drivers/block/lo set_fs(old_fs); if (likely(bw =3D=3D len)) return 0; -diff -urNp linux-2.6.32.48/drivers/block/nbd.c linux-2.6.32.48/drivers/b= lock/nbd.c ---- linux-2.6.32.48/drivers/block/nbd.c 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/block/nbd.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/block/nbd.c linux-2.6.32.46/drivers/b= lock/nbd.c +--- linux-2.6.32.46/drivers/block/nbd.c 2011-06-25 12:55:34.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/block/nbd.c 2011-06-25 12:56:37.000000000 -0= 400 @@ -155,6 +155,8 @@ static int sock_xmit(struct nbd_device * struct kvec iov; sigset_t blocked, oldset; @@ -28455,9 +28455,9 @@ diff -urNp linux-2.6.32.48/drivers/block/nbd.c li= nux-2.6.32.48/drivers/block/nbd switch (cmd) { case NBD_DISCONNECT: { struct request sreq; -diff -urNp linux-2.6.32.48/drivers/block/pktcdvd.c linux-2.6.32.48/drive= rs/block/pktcdvd.c ---- linux-2.6.32.48/drivers/block/pktcdvd.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/block/pktcdvd.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/block/pktcdvd.c linux-2.6.32.46/drive= rs/block/pktcdvd.c +--- linux-2.6.32.46/drivers/block/pktcdvd.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/block/pktcdvd.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -284,7 +284,7 @@ static ssize_t kobj_pkt_store(struct kob return len; } @@ -28467,9 +28467,9 @@ diff -urNp linux-2.6.32.48/drivers/block/pktcdvd.= c linux-2.6.32.48/drivers/block .show =3D kobj_pkt_show, .store =3D kobj_pkt_store }; -diff -urNp linux-2.6.32.48/drivers/char/agp/frontend.c linux-2.6.32.48/d= rivers/char/agp/frontend.c ---- linux-2.6.32.48/drivers/char/agp/frontend.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/char/agp/frontend.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/char/agp/frontend.c linux-2.6.32.46/d= rivers/char/agp/frontend.c +--- linux-2.6.32.46/drivers/char/agp/frontend.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/char/agp/frontend.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -824,7 +824,7 @@ static int agpioc_reserve_wrap(struct ag if (copy_from_user(&reserve, arg, sizeof(struct agp_region))) return -EFAULT; @@ -28479,9 +28479,9 @@ diff -urNp linux-2.6.32.48/drivers/char/agp/front= end.c linux-2.6.32.48/drivers/c return -EFAULT; =20 client =3D agp_find_client_by_pid(reserve.pid); -diff -urNp linux-2.6.32.48/drivers/char/briq_panel.c linux-2.6.32.48/dri= vers/char/briq_panel.c ---- linux-2.6.32.48/drivers/char/briq_panel.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/char/briq_panel.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/char/briq_panel.c linux-2.6.32.46/dri= vers/char/briq_panel.c +--- linux-2.6.32.46/drivers/char/briq_panel.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/char/briq_panel.c 2011-04-18 19:48:57.000000= 000 -0400 @@ -10,6 +10,7 @@ #include #include @@ -28523,9 +28523,9 @@ diff -urNp linux-2.6.32.48/drivers/char/briq_pane= l.c linux-2.6.32.48/drivers/cha =20 return len; } -diff -urNp linux-2.6.32.48/drivers/char/genrtc.c linux-2.6.32.48/drivers= /char/genrtc.c ---- linux-2.6.32.48/drivers/char/genrtc.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/char/genrtc.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/char/genrtc.c linux-2.6.32.46/drivers= /char/genrtc.c +--- linux-2.6.32.46/drivers/char/genrtc.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/char/genrtc.c 2011-04-18 19:45:42.000000000 = -0400 @@ -272,6 +272,7 @@ static int gen_rtc_ioctl(struct inode *i switch (cmd) { =20 @@ -28534,9 +28534,9 @@ diff -urNp linux-2.6.32.48/drivers/char/genrtc.c = linux-2.6.32.48/drivers/char/ge if (get_rtc_pll(&pll)) return -EINVAL; else -diff -urNp linux-2.6.32.48/drivers/char/hpet.c linux-2.6.32.48/drivers/c= har/hpet.c ---- linux-2.6.32.48/drivers/char/hpet.c 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/char/hpet.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/char/hpet.c linux-2.6.32.46/drivers/c= har/hpet.c +--- linux-2.6.32.46/drivers/char/hpet.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/char/hpet.c 2011-04-23 12:56:11.000000000 -0= 400 @@ -430,7 +430,7 @@ static int hpet_release(struct inode *in return 0; } @@ -28569,9 +28569,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hpet.c li= nux-2.6.32.48/drivers/char/hpet info.hi_flags =3D readq(&timer->hpet_config) & Tn_PER_INT_CAP_MASK; info.hi_hpet =3D hpetp->hp_which; -diff -urNp linux-2.6.32.48/drivers/char/hvc_beat.c linux-2.6.32.48/drive= rs/char/hvc_beat.c ---- linux-2.6.32.48/drivers/char/hvc_beat.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_beat.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/char/hvc_beat.c linux-2.6.32.46/drive= rs/char/hvc_beat.c +--- linux-2.6.32.46/drivers/char/hvc_beat.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/char/hvc_beat.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -84,7 +84,7 @@ static int hvc_beat_put_chars(uint32_t v return cnt; } @@ -28581,9 +28581,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_beat.= c linux-2.6.32.48/drivers/char/ .get_chars =3D hvc_beat_get_chars, .put_chars =3D hvc_beat_put_chars, }; -diff -urNp linux-2.6.32.48/drivers/char/hvc_console.c linux-2.6.32.48/dr= ivers/char/hvc_console.c ---- linux-2.6.32.48/drivers/char/hvc_console.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_console.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/char/hvc_console.c linux-2.6.32.46/dr= ivers/char/hvc_console.c +--- linux-2.6.32.46/drivers/char/hvc_console.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/char/hvc_console.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -125,7 +125,7 @@ static struct hvc_struct *hvc_get_by_ind * console interfaces but can still be used as a tty device. This has = to be * static because kmalloc will not work during early console init. @@ -28593,7 +28593,7 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_conso= le.c linux-2.6.32.48/drivers/ch static uint32_t vtermnos[MAX_NR_HVC_CONSOLES] =3D {[0 ... MAX_NR_HVC_CONSOLES - 1] =3D -1}; =20 -@@ -249,7 +249,7 @@ static void destroy_hvc_struct(struct kr +@@ -247,7 +247,7 @@ static void destroy_hvc_struct(struct kr * vty adapters do NOT get an hvc_instantiate() callback since they * appear after early console init. */ @@ -28602,7 +28602,7 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_conso= le.c linux-2.6.32.48/drivers/ch { struct hvc_struct *hp; =20 -@@ -758,7 +758,7 @@ static const struct tty_operations hvc_o +@@ -756,7 +756,7 @@ static const struct tty_operations hvc_o }; =20 struct hvc_struct __devinit *hvc_alloc(uint32_t vtermno, int data, @@ -28611,9 +28611,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_conso= le.c linux-2.6.32.48/drivers/ch { struct hvc_struct *hp; int i; -diff -urNp linux-2.6.32.48/drivers/char/hvc_console.h linux-2.6.32.48/dr= ivers/char/hvc_console.h ---- linux-2.6.32.48/drivers/char/hvc_console.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_console.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/char/hvc_console.h linux-2.6.32.46/dr= ivers/char/hvc_console.h +--- linux-2.6.32.46/drivers/char/hvc_console.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/char/hvc_console.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -55,7 +55,7 @@ struct hvc_struct { int outbuf_size; int n_outbuf; @@ -28637,9 +28637,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_conso= le.h linux-2.6.32.48/drivers/ch /* remove a vterm from hvc tty operation (module_exit or hotplug remove= ) */ extern int hvc_remove(struct hvc_struct *hp); =20 -diff -urNp linux-2.6.32.48/drivers/char/hvc_iseries.c linux-2.6.32.48/dr= ivers/char/hvc_iseries.c ---- linux-2.6.32.48/drivers/char/hvc_iseries.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_iseries.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/char/hvc_iseries.c linux-2.6.32.46/dr= ivers/char/hvc_iseries.c +--- linux-2.6.32.46/drivers/char/hvc_iseries.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/char/hvc_iseries.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -197,7 +197,7 @@ done: return sent; } @@ -28649,9 +28649,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_iseri= es.c linux-2.6.32.48/drivers/ch .get_chars =3D get_chars, .put_chars =3D put_chars, .notifier_add =3D notifier_add_irq, -diff -urNp linux-2.6.32.48/drivers/char/hvc_iucv.c linux-2.6.32.48/drive= rs/char/hvc_iucv.c ---- linux-2.6.32.48/drivers/char/hvc_iucv.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_iucv.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/char/hvc_iucv.c linux-2.6.32.46/drive= rs/char/hvc_iucv.c +--- linux-2.6.32.46/drivers/char/hvc_iucv.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/char/hvc_iucv.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -924,7 +924,7 @@ static int hvc_iucv_pm_restore_thaw(stru =20 =20 @@ -28661,9 +28661,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_iucv.= c linux-2.6.32.48/drivers/char/ .get_chars =3D hvc_iucv_get_chars, .put_chars =3D hvc_iucv_put_chars, .notifier_add =3D hvc_iucv_notifier_add, -diff -urNp linux-2.6.32.48/drivers/char/hvc_rtas.c linux-2.6.32.48/drive= rs/char/hvc_rtas.c ---- linux-2.6.32.48/drivers/char/hvc_rtas.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_rtas.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/char/hvc_rtas.c linux-2.6.32.46/drive= rs/char/hvc_rtas.c +--- linux-2.6.32.46/drivers/char/hvc_rtas.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/char/hvc_rtas.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -71,7 +71,7 @@ static int hvc_rtas_read_console(uint32_ return i; } @@ -28673,9 +28673,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_rtas.= c linux-2.6.32.48/drivers/char/ .get_chars =3D hvc_rtas_read_console, .put_chars =3D hvc_rtas_write_console, }; -diff -urNp linux-2.6.32.48/drivers/char/hvcs.c linux-2.6.32.48/drivers/c= har/hvcs.c ---- linux-2.6.32.48/drivers/char/hvcs.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/char/hvcs.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/char/hvcs.c linux-2.6.32.46/drivers/c= har/hvcs.c +--- linux-2.6.32.46/drivers/char/hvcs.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/char/hvcs.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -82,6 +82,7 @@ #include #include @@ -28778,9 +28778,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hvcs.c li= nux-2.6.32.48/drivers/char/hvcs return 0; =20 return HVCS_BUFF_LEN - hvcsd->chars_in_buffer; -diff -urNp linux-2.6.32.48/drivers/char/hvc_udbg.c linux-2.6.32.48/drive= rs/char/hvc_udbg.c ---- linux-2.6.32.48/drivers/char/hvc_udbg.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_udbg.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/char/hvc_udbg.c linux-2.6.32.46/drive= rs/char/hvc_udbg.c +--- linux-2.6.32.46/drivers/char/hvc_udbg.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/char/hvc_udbg.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -58,7 +58,7 @@ static int hvc_udbg_get(uint32_t vtermno return i; } @@ -28790,9 +28790,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_udbg.= c linux-2.6.32.48/drivers/char/ .get_chars =3D hvc_udbg_get, .put_chars =3D hvc_udbg_put, }; -diff -urNp linux-2.6.32.48/drivers/char/hvc_vio.c linux-2.6.32.48/driver= s/char/hvc_vio.c ---- linux-2.6.32.48/drivers/char/hvc_vio.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/char/hvc_vio.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/char/hvc_vio.c linux-2.6.32.46/driver= s/char/hvc_vio.c +--- linux-2.6.32.46/drivers/char/hvc_vio.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/char/hvc_vio.c 2011-04-17 15:56:46.000000000= -0400 @@ -77,7 +77,7 @@ static int filtered_get_chars(uint32_t v return got; } @@ -28802,9 +28802,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_vio.c= linux-2.6.32.48/drivers/char/h .get_chars =3D filtered_get_chars, .put_chars =3D hvc_put_chars, .notifier_add =3D notifier_add_irq, -diff -urNp linux-2.6.32.48/drivers/char/hvc_xen.c linux-2.6.32.48/driver= s/char/hvc_xen.c ---- linux-2.6.32.48/drivers/char/hvc_xen.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/char/hvc_xen.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/char/hvc_xen.c linux-2.6.32.46/driver= s/char/hvc_xen.c +--- linux-2.6.32.46/drivers/char/hvc_xen.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/char/hvc_xen.c 2011-04-17 15:56:46.000000000= -0400 @@ -120,7 +120,7 @@ static int read_console(uint32_t vtermno return recv; } @@ -28814,9 +28814,9 @@ diff -urNp linux-2.6.32.48/drivers/char/hvc_xen.c= linux-2.6.32.48/drivers/char/h .get_chars =3D read_console, .put_chars =3D write_console, .notifier_add =3D notifier_add_irq, -diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi_msghandler.c linux-2.6= .32.48/drivers/char/ipmi/ipmi_msghandler.c ---- linux-2.6.32.48/drivers/char/ipmi/ipmi_msghandler.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/char/ipmi/ipmi_msghandler.c 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/char/ipmi/ipmi_msghandler.c linux-2.6= .32.46/drivers/char/ipmi/ipmi_msghandler.c +--- linux-2.6.32.46/drivers/char/ipmi/ipmi_msghandler.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/char/ipmi/ipmi_msghandler.c 2011-05-16 21:46= :57.000000000 -0400 @@ -414,7 +414,7 @@ struct ipmi_smi { struct proc_dir_entry *proc_dir; char proc_dir_name[10]; @@ -28856,9 +28856,9 @@ diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi= _msghandler.c linux-2.6.32.48/d si =3D (struct ipmi_system_interface_addr *) &addr; si->addr_type =3D IPMI_SYSTEM_INTERFACE_ADDR_TYPE; si->channel =3D IPMI_BMC_CHANNEL; -diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi_si_intf.c linux-2.6.32= .48/drivers/char/ipmi/ipmi_si_intf.c ---- linux-2.6.32.48/drivers/char/ipmi/ipmi_si_intf.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/drivers/char/ipmi/ipmi_si_intf.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/char/ipmi/ipmi_si_intf.c linux-2.6.32= .46/drivers/char/ipmi/ipmi_si_intf.c +--- linux-2.6.32.46/drivers/char/ipmi/ipmi_si_intf.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/char/ipmi/ipmi_si_intf.c 2011-04-17 15:56:46= .000000000 -0400 @@ -277,7 +277,7 @@ struct smi_info { unsigned char slave_addr; =20 @@ -28889,9 +28889,9 @@ diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi= _si_intf.c linux-2.6.32.48/driv =20 new_smi->interrupt_disabled =3D 0; atomic_set(&new_smi->stop_operation, 0); -diff -urNp linux-2.6.32.48/drivers/char/istallion.c linux-2.6.32.48/driv= ers/char/istallion.c ---- linux-2.6.32.48/drivers/char/istallion.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/char/istallion.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/char/istallion.c linux-2.6.32.46/driv= ers/char/istallion.c +--- linux-2.6.32.46/drivers/char/istallion.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/char/istallion.c 2011-05-16 21:46:57.0000000= 00 -0400 @@ -187,7 +187,6 @@ static struct ktermios stli_deftermios=20 * re-used for each stats call. */ @@ -28926,9 +28926,9 @@ diff -urNp linux-2.6.32.48/drivers/char/istallion= .c linux-2.6.32.48/drivers/char if (copy_from_user(&stli_dummybrd, arg, sizeof(struct stlibrd))) return -EFAULT; if (stli_dummybrd.brdnr >=3D STL_MAXBRDS) -diff -urNp linux-2.6.32.48/drivers/char/Kconfig linux-2.6.32.48/drivers/= char/Kconfig ---- linux-2.6.32.48/drivers/char/Kconfig 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/char/Kconfig 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/char/Kconfig linux-2.6.32.46/drivers/= char/Kconfig +--- linux-2.6.32.46/drivers/char/Kconfig 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/char/Kconfig 2011-04-18 19:20:15.000000000 -= 0400 @@ -90,7 +90,8 @@ config VT_HW_CONSOLE_BINDING =20 config DEVKMEM @@ -28947,9 +28947,9 @@ diff -urNp linux-2.6.32.48/drivers/char/Kconfig l= inux-2.6.32.48/drivers/char/Kco default y =20 source "drivers/s390/char/Kconfig" -diff -urNp linux-2.6.32.48/drivers/char/keyboard.c linux-2.6.32.48/drive= rs/char/keyboard.c ---- linux-2.6.32.48/drivers/char/keyboard.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/keyboard.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/char/keyboard.c linux-2.6.32.46/drive= rs/char/keyboard.c +--- linux-2.6.32.46/drivers/char/keyboard.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/char/keyboard.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -635,6 +635,16 @@ static void k_spec(struct vc_data *vc, u kbd->kbdmode =3D=3D VC_MEDIUMRAW) && value !=3D KVAL(K_SAK)) @@ -28976,9 +28976,9 @@ diff -urNp linux-2.6.32.48/drivers/char/keyboard.= c linux-2.6.32.48/drivers/char/ }; =20 MODULE_DEVICE_TABLE(input, kbd_ids); -diff -urNp linux-2.6.32.48/drivers/char/mem.c linux-2.6.32.48/drivers/ch= ar/mem.c ---- linux-2.6.32.48/drivers/char/mem.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/char/mem.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/char/mem.c linux-2.6.32.46/drivers/ch= ar/mem.c +--- linux-2.6.32.46/drivers/char/mem.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/char/mem.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -18,6 +18,7 @@ #include #include @@ -29120,9 +29120,9 @@ diff -urNp linux-2.6.32.48/drivers/char/mem.c lin= ux-2.6.32.48/drivers/char/mem.c }; =20 static int memory_open(struct inode *inode, struct file *filp) -diff -urNp linux-2.6.32.48/drivers/char/pcmcia/ipwireless/tty.c linux-2.= 6.32.48/drivers/char/pcmcia/ipwireless/tty.c ---- linux-2.6.32.48/drivers/char/pcmcia/ipwireless/tty.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/char/pcmcia/ipwireless/tty.c 2011-11-12 12:4= 6:42.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/char/pcmcia/ipwireless/tty.c linux-2.= 6.32.46/drivers/char/pcmcia/ipwireless/tty.c +--- linux-2.6.32.46/drivers/char/pcmcia/ipwireless/tty.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/char/pcmcia/ipwireless/tty.c 2011-04-17 15:5= 6:46.000000000 -0400 @@ -29,6 +29,7 @@ #include #include @@ -29245,9 +29245,9 @@ diff -urNp linux-2.6.32.48/drivers/char/pcmcia/ip= wireless/tty.c linux-2.6.32.48/ do_ipw_close(ttyj); ipwireless_disassociate_network_ttys(network, ttyj->channel_idx); -diff -urNp linux-2.6.32.48/drivers/char/pty.c linux-2.6.32.48/drivers/ch= ar/pty.c ---- linux-2.6.32.48/drivers/char/pty.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/char/pty.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/char/pty.c linux-2.6.32.46/drivers/ch= ar/pty.c +--- linux-2.6.32.46/drivers/char/pty.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/char/pty.c 2011-08-05 20:33:55.000000000 -04= 00 @@ -736,8 +736,10 @@ static void __init unix98_pty_init(void) register_sysctl_table(pty_root_table); =20 @@ -29260,9 +29260,9 @@ diff -urNp linux-2.6.32.48/drivers/char/pty.c lin= ux-2.6.32.48/drivers/char/pty.c =20 cdev_init(&ptmx_cdev, &ptmx_fops); if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) || -diff -urNp linux-2.6.32.48/drivers/char/random.c linux-2.6.32.48/drivers= /char/random.c ---- linux-2.6.32.48/drivers/char/random.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/char/random.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/char/random.c linux-2.6.32.46/drivers= /char/random.c +--- linux-2.6.32.46/drivers/char/random.c 2011-08-16 20:37:25.000000000 = -0400 ++++ linux-2.6.32.46/drivers/char/random.c 2011-08-16 20:43:23.000000000 = -0400 @@ -254,8 +254,13 @@ /* * Configuration information @@ -29304,9 +29304,9 @@ diff -urNp linux-2.6.32.48/drivers/char/random.c = linux-2.6.32.48/drivers/char/ra static int max_write_thresh =3D INPUT_POOL_WORDS * 32; static char sysctl_bootid[16]; =20 -diff -urNp linux-2.6.32.48/drivers/char/rocket.c linux-2.6.32.48/drivers= /char/rocket.c ---- linux-2.6.32.48/drivers/char/rocket.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/char/rocket.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/char/rocket.c linux-2.6.32.46/drivers= /char/rocket.c +--- linux-2.6.32.46/drivers/char/rocket.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/char/rocket.c 2011-05-16 21:46:57.000000000 = -0400 @@ -1266,6 +1266,8 @@ static int get_ports(struct r_port *info struct rocket_ports tmp; int board; @@ -29316,9 +29316,9 @@ diff -urNp linux-2.6.32.48/drivers/char/rocket.c = linux-2.6.32.48/drivers/char/ro if (!retports) return -EFAULT; memset(&tmp, 0, sizeof (tmp)); -diff -urNp linux-2.6.32.48/drivers/char/sonypi.c linux-2.6.32.48/drivers= /char/sonypi.c ---- linux-2.6.32.48/drivers/char/sonypi.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/char/sonypi.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/char/sonypi.c linux-2.6.32.46/drivers= /char/sonypi.c +--- linux-2.6.32.46/drivers/char/sonypi.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/char/sonypi.c 2011-04-17 15:56:46.000000000 = -0400 @@ -55,6 +55,7 @@ #include #include @@ -29357,9 +29357,9 @@ diff -urNp linux-2.6.32.48/drivers/char/sonypi.c = linux-2.6.32.48/drivers/char/so mutex_unlock(&sonypi_device.lock); unlock_kernel(); return 0; -diff -urNp linux-2.6.32.48/drivers/char/stallion.c linux-2.6.32.48/drive= rs/char/stallion.c ---- linux-2.6.32.48/drivers/char/stallion.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/stallion.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/char/stallion.c linux-2.6.32.46/drive= rs/char/stallion.c +--- linux-2.6.32.46/drivers/char/stallion.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/char/stallion.c 2011-05-16 21:46:57.00000000= 0 -0400 @@ -2448,6 +2448,8 @@ static int stl_getportstruct(struct stlp struct stlport stl_dummyport; struct stlport *portp; @@ -29369,9 +29369,9 @@ diff -urNp linux-2.6.32.48/drivers/char/stallion.= c linux-2.6.32.48/drivers/char/ if (copy_from_user(&stl_dummyport, arg, sizeof(struct stlport))) return -EFAULT; portp =3D stl_getport(stl_dummyport.brdnr, stl_dummyport.panelnr, -diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm_bios.c linux-2.6.32.48/d= rivers/char/tpm/tpm_bios.c ---- linux-2.6.32.48/drivers/char/tpm/tpm_bios.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/char/tpm/tpm_bios.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/char/tpm/tpm_bios.c linux-2.6.32.46/d= rivers/char/tpm/tpm_bios.c +--- linux-2.6.32.46/drivers/char/tpm/tpm_bios.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/char/tpm/tpm_bios.c 2011-10-06 09:37:08.0000= 00000 -0400 @@ -172,7 +172,7 @@ static void *tpm_bios_measurements_start event =3D addr; =20 @@ -29415,10 +29415,20 @@ diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm= _bios.c linux-2.6.32.48/drivers/c =20 acpi_os_unmap_memory(virt, len); return 0; -diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm.c linux-2.6.32.48/driver= s/char/tpm/tpm.c ---- linux-2.6.32.48/drivers/char/tpm/tpm.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/char/tpm/tpm.c 2011-11-12 12:51:33.000000000= -0500 -@@ -405,7 +405,7 @@ static ssize_t tpm_transmit(struct tpm_c +diff -urNp linux-2.6.32.46/drivers/char/tpm/tpm.c linux-2.6.32.46/driver= s/char/tpm/tpm.c +--- linux-2.6.32.46/drivers/char/tpm/tpm.c 2011-04-17 17:00:52.000000000= -0400 ++++ linux-2.6.32.46/drivers/char/tpm/tpm.c 2011-10-17 02:49:00.000000000= -0400 +@@ -374,6 +374,9 @@ static ssize_t tpm_transmit(struct tpm_c + u32 count, ordinal; + unsigned long stop; +=20 ++ if (bufsiz > TPM_BUFSIZE) ++ bufsiz =3D TPM_BUFSIZE; ++ + count =3D be32_to_cpu(*((__be32 *) (buf + 2))); + ordinal =3D be32_to_cpu(*((__be32 *) (buf + 6))); + if (count =3D=3D 0) +@@ -402,7 +405,7 @@ static ssize_t tpm_transmit(struct tpm_c chip->vendor.req_complete_val) goto out_recv; =20 @@ -29427,7 +29437,7 @@ diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm.c= linux-2.6.32.48/drivers/char/t dev_err(chip->dev, "Operation Canceled\n"); rc =3D -ECANCELED; goto out; -@@ -824,6 +824,8 @@ ssize_t tpm_show_pubek(struct device *de +@@ -821,6 +824,8 @@ ssize_t tpm_show_pubek(struct device *de =20 struct tpm_chip *chip =3D dev_get_drvdata(dev); =20 @@ -29436,18 +29446,31 @@ diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm= .c linux-2.6.32.48/drivers/char/t tpm_cmd.header.in =3D tpm_readpubek_header; err =3D transmit_cmd(chip, &tpm_cmd, READ_PUBEK_RESULT_SIZE, "attempting to read the PUBEK"); -diff -urNp linux-2.6.32.48/drivers/char/tty_io.c linux-2.6.32.48/drivers= /char/tty_io.c ---- linux-2.6.32.48/drivers/char/tty_io.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/char/tty_io.c 2011-11-12 12:50:08.000000000 = -0500 -@@ -1773,6 +1773,7 @@ got_driver: -=20 - if (IS_ERR(tty)) { - mutex_unlock(&tty_mutex); -+ tty_driver_kref_put(driver); - return PTR_ERR(tty); - } +@@ -1041,6 +1046,7 @@ ssize_t tpm_read(struct file *file, char + { + struct tpm_chip *chip =3D file->private_data; + ssize_t ret_size; ++ int rc; +=20 + del_singleshot_timer_sync(&chip->user_read_timer); + flush_scheduled_work(); +@@ -1051,8 +1057,11 @@ ssize_t tpm_read(struct file *file, char + ret_size =3D size; +=20 + mutex_lock(&chip->buffer_mutex); +- if (copy_to_user(buf, chip->data_buffer, ret_size)) ++ rc =3D copy_to_user(buf, chip->data_buffer, ret_size); ++ memset(chip->data_buffer, 0, ret_size); ++ if (rc) + ret_size =3D -EFAULT; ++ + mutex_unlock(&chip->buffer_mutex); } -@@ -2582,8 +2583,10 @@ long tty_ioctl(struct file *file, unsign +=20 +diff -urNp linux-2.6.32.46/drivers/char/tty_io.c linux-2.6.32.46/drivers= /char/tty_io.c +--- linux-2.6.32.46/drivers/char/tty_io.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/char/tty_io.c 2011-08-05 20:33:55.000000000 = -0400 +@@ -2582,8 +2582,10 @@ long tty_ioctl(struct file *file, unsign return retval; } =20 @@ -29459,7 +29482,7 @@ diff -urNp linux-2.6.32.48/drivers/char/tty_io.c = linux-2.6.32.48/drivers/char/tt unsigned long arg) { struct inode *inode =3D file->f_dentry->d_inode; -@@ -2607,6 +2610,8 @@ static long tty_compat_ioctl(struct file +@@ -2607,6 +2609,8 @@ static long tty_compat_ioctl(struct file =20 return retval; } @@ -29468,7 +29491,7 @@ diff -urNp linux-2.6.32.48/drivers/char/tty_io.c = linux-2.6.32.48/drivers/char/tt #endif =20 /* -@@ -3052,7 +3057,7 @@ EXPORT_SYMBOL_GPL(get_current_tty); +@@ -3052,7 +3056,7 @@ EXPORT_SYMBOL_GPL(get_current_tty); =20 void tty_default_fops(struct file_operations *fops) { @@ -29477,9 +29500,9 @@ diff -urNp linux-2.6.32.48/drivers/char/tty_io.c = linux-2.6.32.48/drivers/char/tt } =20 /* -diff -urNp linux-2.6.32.48/drivers/char/tty_ldisc.c linux-2.6.32.48/driv= ers/char/tty_ldisc.c ---- linux-2.6.32.48/drivers/char/tty_ldisc.c 2011-11-12 12:44:28.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/char/tty_ldisc.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/char/tty_ldisc.c linux-2.6.32.46/driv= ers/char/tty_ldisc.c +--- linux-2.6.32.46/drivers/char/tty_ldisc.c 2011-07-13 17:23:04.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/char/tty_ldisc.c 2011-07-13 17:23:18.0000000= 00 -0400 @@ -74,7 +74,7 @@ static void put_ldisc(struct tty_ldisc * if (atomic_dec_and_lock(&ld->users, &tty_ldisc_lock)) { struct tty_ldisc_ops *ldo =3D ld->ops; @@ -29525,9 +29548,9 @@ diff -urNp linux-2.6.32.48/drivers/char/tty_ldisc= .c linux-2.6.32.48/drivers/char module_put(ldops->owner); spin_unlock_irqrestore(&tty_ldisc_lock, flags); } -diff -urNp linux-2.6.32.48/drivers/char/virtio_console.c linux-2.6.32.48= /drivers/char/virtio_console.c ---- linux-2.6.32.48/drivers/char/virtio_console.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/char/virtio_console.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/char/virtio_console.c linux-2.6.32.46= /drivers/char/virtio_console.c +--- linux-2.6.32.46/drivers/char/virtio_console.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/char/virtio_console.c 2011-08-05 20:33:55.00= 0000000 -0400 @@ -133,7 +133,9 @@ static int get_chars(u32 vtermno, char * * virtqueue, so we let the drivers do some boutique early-output thing= . */ int __init virtio_cons_early_init(int (*put_chars)(u32, const char *, i= nt)) @@ -29558,9 +29581,9 @@ diff -urNp linux-2.6.32.48/drivers/char/virtio_co= nsole.c linux-2.6.32.48/drivers =20 /* The first argument of hvc_alloc() is the virtual console number, so * we use zero. The second argument is the parameter for the -diff -urNp linux-2.6.32.48/drivers/char/vt.c linux-2.6.32.48/drivers/cha= r/vt.c ---- linux-2.6.32.48/drivers/char/vt.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/char/vt.c 2011-11-12 12:46:45.000000000 -050= 0 +diff -urNp linux-2.6.32.46/drivers/char/vt.c linux-2.6.32.46/drivers/cha= r/vt.c +--- linux-2.6.32.46/drivers/char/vt.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/drivers/char/vt.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -243,7 +243,7 @@ EXPORT_SYMBOL_GPL(unregister_vt_notifier =20 static void notify_write(struct vc_data *vc, unsigned int unicode) @@ -29570,9 +29593,9 @@ diff -urNp linux-2.6.32.48/drivers/char/vt.c linu= x-2.6.32.48/drivers/char/vt.c atomic_notifier_call_chain(&vt_notifier_list, VT_WRITE, ¶m); } =20 -diff -urNp linux-2.6.32.48/drivers/char/vt_ioctl.c linux-2.6.32.48/drive= rs/char/vt_ioctl.c ---- linux-2.6.32.48/drivers/char/vt_ioctl.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/vt_ioctl.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/char/vt_ioctl.c linux-2.6.32.46/drive= rs/char/vt_ioctl.c +--- linux-2.6.32.46/drivers/char/vt_ioctl.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/char/vt_ioctl.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -210,9 +210,6 @@ do_kdsk_ioctl(int cmd, struct kbentry __ if (copy_from_user(&tmp, user_kbe, sizeof(struct kbentry))) return -EFAULT; @@ -29616,9 +29639,9 @@ diff -urNp linux-2.6.32.48/drivers/char/vt_ioctl.= c linux-2.6.32.48/drivers/char/ if (!perm) { ret =3D -EPERM; goto reterr; -diff -urNp linux-2.6.32.48/drivers/cpufreq/cpufreq.c linux-2.6.32.48/dri= vers/cpufreq/cpufreq.c ---- linux-2.6.32.48/drivers/cpufreq/cpufreq.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/cpufreq/cpufreq.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/cpufreq/cpufreq.c linux-2.6.32.46/dri= vers/cpufreq/cpufreq.c +--- linux-2.6.32.46/drivers/cpufreq/cpufreq.c 2011-06-25 12:55:34.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/cpufreq/cpufreq.c 2011-06-25 12:56:37.000000= 000 -0400 @@ -750,7 +750,7 @@ static void cpufreq_sysfs_release(struct complete(&policy->kobj_unregister); } @@ -29628,9 +29651,9 @@ diff -urNp linux-2.6.32.48/drivers/cpufreq/cpufre= q.c linux-2.6.32.48/drivers/cpu .show =3D show, .store =3D store, }; -diff -urNp linux-2.6.32.48/drivers/cpuidle/sysfs.c linux-2.6.32.48/drive= rs/cpuidle/sysfs.c ---- linux-2.6.32.48/drivers/cpuidle/sysfs.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/cpuidle/sysfs.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/cpuidle/sysfs.c linux-2.6.32.46/drive= rs/cpuidle/sysfs.c +--- linux-2.6.32.46/drivers/cpuidle/sysfs.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/cpuidle/sysfs.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -191,7 +191,7 @@ static ssize_t cpuidle_store(struct kobj return ret; } @@ -29658,9 +29681,9 @@ diff -urNp linux-2.6.32.48/drivers/cpuidle/sysfs.= c linux-2.6.32.48/drivers/cpuid { kobject_put(&device->kobjs[i]->kobj); wait_for_completion(&device->kobjs[i]->kobj_unregister); -diff -urNp linux-2.6.32.48/drivers/crypto/hifn_795x.c linux-2.6.32.48/dr= ivers/crypto/hifn_795x.c ---- linux-2.6.32.48/drivers/crypto/hifn_795x.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/crypto/hifn_795x.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/crypto/hifn_795x.c linux-2.6.32.46/dr= ivers/crypto/hifn_795x.c +--- linux-2.6.32.46/drivers/crypto/hifn_795x.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/crypto/hifn_795x.c 2011-05-16 21:46:57.00000= 0000 -0400 @@ -1655,6 +1655,8 @@ static int hifn_test(struct hifn_device=20 0xCA, 0x34, 0x2B, 0x2E}; struct scatterlist sg; @@ -29670,9 +29693,9 @@ diff -urNp linux-2.6.32.48/drivers/crypto/hifn_79= 5x.c linux-2.6.32.48/drivers/cr memset(src, 0, sizeof(src)); memset(ctx.key, 0, sizeof(ctx.key)); =20 -diff -urNp linux-2.6.32.48/drivers/crypto/padlock-aes.c linux-2.6.32.48/= drivers/crypto/padlock-aes.c ---- linux-2.6.32.48/drivers/crypto/padlock-aes.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/crypto/padlock-aes.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/crypto/padlock-aes.c linux-2.6.32.46/= drivers/crypto/padlock-aes.c +--- linux-2.6.32.46/drivers/crypto/padlock-aes.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/crypto/padlock-aes.c 2011-05-16 21:46:57.000= 000000 -0400 @@ -108,6 +108,8 @@ static int aes_set_key(struct crypto_tfm struct crypto_aes_ctx gen_aes; int cpu; @@ -29682,9 +29705,9 @@ diff -urNp linux-2.6.32.48/drivers/crypto/padlock= -aes.c linux-2.6.32.48/drivers/ if (key_len % 8) { *flags |=3D CRYPTO_TFM_RES_BAD_KEY_LEN; return -EINVAL; -diff -urNp linux-2.6.32.48/drivers/dma/ioat/dma.c linux-2.6.32.48/driver= s/dma/ioat/dma.c ---- linux-2.6.32.48/drivers/dma/ioat/dma.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/dma/ioat/dma.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/dma/ioat/dma.c linux-2.6.32.46/driver= s/dma/ioat/dma.c +--- linux-2.6.32.46/drivers/dma/ioat/dma.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/dma/ioat/dma.c 2011-04-17 15:56:46.000000000= -0400 @@ -1146,7 +1146,7 @@ ioat_attr_show(struct kobject *kobj, str return entry->show(&chan->common, page); } @@ -29694,9 +29717,9 @@ diff -urNp linux-2.6.32.48/drivers/dma/ioat/dma.c= linux-2.6.32.48/drivers/dma/io .show =3D ioat_attr_show, }; =20 -diff -urNp linux-2.6.32.48/drivers/dma/ioat/dma.h linux-2.6.32.48/driver= s/dma/ioat/dma.h ---- linux-2.6.32.48/drivers/dma/ioat/dma.h 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/dma/ioat/dma.h 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/dma/ioat/dma.h linux-2.6.32.46/driver= s/dma/ioat/dma.h +--- linux-2.6.32.46/drivers/dma/ioat/dma.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/dma/ioat/dma.h 2011-04-17 15:56:46.000000000= -0400 @@ -347,7 +347,7 @@ bool ioat_cleanup_preamble(struct ioat_c unsigned long *phys_complete); void ioat_kobject_add(struct ioatdma_device *device, struct kobj_type *= type); @@ -29706,9 +29729,9 @@ diff -urNp linux-2.6.32.48/drivers/dma/ioat/dma.h= linux-2.6.32.48/drivers/dma/io extern struct ioat_sysfs_entry ioat_version_attr; extern struct ioat_sysfs_entry ioat_cap_attr; #endif /* IOATDMA_H */ -diff -urNp linux-2.6.32.48/drivers/edac/edac_device_sysfs.c linux-2.6.32= .48/drivers/edac/edac_device_sysfs.c ---- linux-2.6.32.48/drivers/edac/edac_device_sysfs.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/edac/edac_device_sysfs.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/edac/edac_device_sysfs.c linux-2.6.32= .46/drivers/edac/edac_device_sysfs.c +--- linux-2.6.32.46/drivers/edac/edac_device_sysfs.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/edac/edac_device_sysfs.c 2011-04-17 15:56:46= .000000000 -0400 @@ -137,7 +137,7 @@ static ssize_t edac_dev_ctl_info_store(s } =20 @@ -29736,9 +29759,9 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_devi= ce_sysfs.c linux-2.6.32.48/driv .show =3D edac_dev_block_show, .store =3D edac_dev_block_store }; -diff -urNp linux-2.6.32.48/drivers/edac/edac_mc_sysfs.c linux-2.6.32.48/= drivers/edac/edac_mc_sysfs.c ---- linux-2.6.32.48/drivers/edac/edac_mc_sysfs.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/edac/edac_mc_sysfs.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/edac/edac_mc_sysfs.c linux-2.6.32.46/= drivers/edac/edac_mc_sysfs.c +--- linux-2.6.32.46/drivers/edac/edac_mc_sysfs.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/edac/edac_mc_sysfs.c 2011-04-17 15:56:46.000= 000000 -0400 @@ -245,7 +245,7 @@ static ssize_t csrowdev_store(struct kob return -EIO; } @@ -29757,9 +29780,9 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_mc_s= ysfs.c linux-2.6.32.48/drivers/ .show =3D mcidev_show, .store =3D mcidev_store }; -diff -urNp linux-2.6.32.48/drivers/edac/edac_pci_sysfs.c linux-2.6.32.48= /drivers/edac/edac_pci_sysfs.c ---- linux-2.6.32.48/drivers/edac/edac_pci_sysfs.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/edac/edac_pci_sysfs.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/edac/edac_pci_sysfs.c linux-2.6.32.46= /drivers/edac/edac_pci_sysfs.c +--- linux-2.6.32.46/drivers/edac/edac_pci_sysfs.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/edac/edac_pci_sysfs.c 2011-05-04 17:56:20.00= 0000000 -0400 @@ -25,8 +25,8 @@ static int edac_pci_log_pe =3D 1; /* log=20 static int edac_pci_log_npe =3D 1; /* log PCI non-parity error errors *= / static int edac_pci_poll_msec =3D 1000; /* one second workq period */ @@ -29861,9 +29884,9 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_pci_= sysfs.c linux-2.6.32.48/drivers panic("EDAC: PCI Parity Error"); } } -diff -urNp linux-2.6.32.48/drivers/firewire/core-card.c linux-2.6.32.48/= drivers/firewire/core-card.c ---- linux-2.6.32.48/drivers/firewire/core-card.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/firewire/core-card.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/firewire/core-card.c linux-2.6.32.46/= drivers/firewire/core-card.c +--- linux-2.6.32.46/drivers/firewire/core-card.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/firewire/core-card.c 2011-08-23 21:22:32.000= 000000 -0400 @@ -558,7 +558,7 @@ void fw_card_release(struct kref *kref) =20 void fw_core_remove_card(struct fw_card *card) @@ -29873,9 +29896,9 @@ diff -urNp linux-2.6.32.48/drivers/firewire/core-= card.c linux-2.6.32.48/drivers/ =20 card->driver->update_phy_reg(card, 4, PHY_LINK_ACTIVE | PHY_CONTENDER, 0); -diff -urNp linux-2.6.32.48/drivers/firewire/core-cdev.c linux-2.6.32.48/= drivers/firewire/core-cdev.c ---- linux-2.6.32.48/drivers/firewire/core-cdev.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/firewire/core-cdev.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/firewire/core-cdev.c linux-2.6.32.46/= drivers/firewire/core-cdev.c +--- linux-2.6.32.46/drivers/firewire/core-cdev.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/firewire/core-cdev.c 2011-04-17 15:56:46.000= 000000 -0400 @@ -1141,8 +1141,7 @@ static int init_iso_resource(struct clie int ret; =20 @@ -29886,9 +29909,9 @@ diff -urNp linux-2.6.32.48/drivers/firewire/core-= cdev.c linux-2.6.32.48/drivers/ return -EINVAL; =20 r =3D kmalloc(sizeof(*r), GFP_KERNEL); -diff -urNp linux-2.6.32.48/drivers/firewire/core.h linux-2.6.32.48/drive= rs/firewire/core.h ---- linux-2.6.32.48/drivers/firewire/core.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/firewire/core.h 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/firewire/core.h linux-2.6.32.46/drive= rs/firewire/core.h +--- linux-2.6.32.46/drivers/firewire/core.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/firewire/core.h 2011-08-23 20:24:26.00000000= 0 -0400 @@ -86,6 +86,7 @@ struct fw_card_driver { =20 int (*stop_iso)(struct fw_iso_context *ctx); @@ -29897,9 +29920,9 @@ diff -urNp linux-2.6.32.48/drivers/firewire/core.= h linux-2.6.32.48/drivers/firew =20 void fw_card_initialize(struct fw_card *card, const struct fw_card_driver *driver, struct device *device); -diff -urNp linux-2.6.32.48/drivers/firewire/core-transaction.c linux-2.6= .32.48/drivers/firewire/core-transaction.c ---- linux-2.6.32.48/drivers/firewire/core-transaction.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/firewire/core-transaction.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/firewire/core-transaction.c linux-2.6= .32.46/drivers/firewire/core-transaction.c +--- linux-2.6.32.46/drivers/firewire/core-transaction.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/firewire/core-transaction.c 2011-05-16 21:46= :57.000000000 -0400 @@ -36,6 +36,7 @@ #include #include @@ -29917,9 +29940,9 @@ diff -urNp linux-2.6.32.48/drivers/firewire/core-= transaction.c linux-2.6.32.48/d init_completion(&d.done); d.payload =3D payload; fw_send_request(card, &t, tcode, destination_id, generation, speed, -diff -urNp linux-2.6.32.48/drivers/firmware/dmi_scan.c linux-2.6.32.48/d= rivers/firmware/dmi_scan.c ---- linux-2.6.32.48/drivers/firmware/dmi_scan.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/firmware/dmi_scan.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/firmware/dmi_scan.c linux-2.6.32.46/d= rivers/firmware/dmi_scan.c +--- linux-2.6.32.46/drivers/firmware/dmi_scan.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/firmware/dmi_scan.c 2011-10-06 09:37:08.0000= 00000 -0400 @@ -391,11 +391,6 @@ void __init dmi_scan_machine(void) } } @@ -29941,9 +29964,9 @@ diff -urNp linux-2.6.32.48/drivers/firmware/dmi_s= can.c linux-2.6.32.48/drivers/f =20 iounmap(buf); return 0; -diff -urNp linux-2.6.32.48/drivers/firmware/edd.c linux-2.6.32.48/driver= s/firmware/edd.c ---- linux-2.6.32.48/drivers/firmware/edd.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/firmware/edd.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/firmware/edd.c linux-2.6.32.46/driver= s/firmware/edd.c +--- linux-2.6.32.46/drivers/firmware/edd.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/firmware/edd.c 2011-04-17 15:56:46.000000000= -0400 @@ -122,7 +122,7 @@ edd_attr_show(struct kobject * kobj, str return ret; } @@ -29953,9 +29976,9 @@ diff -urNp linux-2.6.32.48/drivers/firmware/edd.c= linux-2.6.32.48/drivers/firmwa .show =3D edd_attr_show, }; =20 -diff -urNp linux-2.6.32.48/drivers/firmware/efivars.c linux-2.6.32.48/dr= ivers/firmware/efivars.c ---- linux-2.6.32.48/drivers/firmware/efivars.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/firmware/efivars.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/firmware/efivars.c linux-2.6.32.46/dr= ivers/firmware/efivars.c +--- linux-2.6.32.46/drivers/firmware/efivars.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/firmware/efivars.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -362,7 +362,7 @@ static ssize_t efivar_attr_store(struct=20 return ret; } @@ -29965,9 +29988,9 @@ diff -urNp linux-2.6.32.48/drivers/firmware/efiva= rs.c linux-2.6.32.48/drivers/fi .show =3D efivar_attr_show, .store =3D efivar_attr_store, }; -diff -urNp linux-2.6.32.48/drivers/firmware/iscsi_ibft.c linux-2.6.32.48= /drivers/firmware/iscsi_ibft.c ---- linux-2.6.32.48/drivers/firmware/iscsi_ibft.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/firmware/iscsi_ibft.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/firmware/iscsi_ibft.c linux-2.6.32.46= /drivers/firmware/iscsi_ibft.c +--- linux-2.6.32.46/drivers/firmware/iscsi_ibft.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/firmware/iscsi_ibft.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -525,7 +525,7 @@ static ssize_t ibft_show_attribute(struc return ret; } @@ -29977,9 +30000,9 @@ diff -urNp linux-2.6.32.48/drivers/firmware/iscsi= _ibft.c linux-2.6.32.48/drivers .show =3D ibft_show_attribute, }; =20 -diff -urNp linux-2.6.32.48/drivers/firmware/memmap.c linux-2.6.32.48/dri= vers/firmware/memmap.c ---- linux-2.6.32.48/drivers/firmware/memmap.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/firmware/memmap.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/firmware/memmap.c linux-2.6.32.46/dri= vers/firmware/memmap.c +--- linux-2.6.32.46/drivers/firmware/memmap.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/firmware/memmap.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -74,7 +74,7 @@ static struct attribute *def_attrs[] =3D { NULL }; @@ -29989,9 +30012,9 @@ diff -urNp linux-2.6.32.48/drivers/firmware/memma= p.c linux-2.6.32.48/drivers/fir .show =3D memmap_attr_show, }; =20 -diff -urNp linux-2.6.32.48/drivers/gpio/vr41xx_giu.c linux-2.6.32.48/dri= vers/gpio/vr41xx_giu.c ---- linux-2.6.32.48/drivers/gpio/vr41xx_giu.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/gpio/vr41xx_giu.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpio/vr41xx_giu.c linux-2.6.32.46/dri= vers/gpio/vr41xx_giu.c +--- linux-2.6.32.46/drivers/gpio/vr41xx_giu.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/gpio/vr41xx_giu.c 2011-05-04 17:56:28.000000= 000 -0400 @@ -204,7 +204,7 @@ static int giu_get_irq(unsigned int irq) printk(KERN_ERR "spurious GIU interrupt: %04x(%04x),%04x(%04x)\n", maskl, pendl, maskh, pendh); @@ -30001,9 +30024,9 @@ diff -urNp linux-2.6.32.48/drivers/gpio/vr41xx_gi= u.c linux-2.6.32.48/drivers/gpi =20 return -EINVAL; } -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_crtc.c linux-2.6.32.48/dr= ivers/gpu/drm/drm_crtc.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_crtc.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_crtc.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/drm_crtc.c linux-2.6.32.46/dr= ivers/gpu/drm/drm_crtc.c +--- linux-2.6.32.46/drivers/gpu/drm/drm_crtc.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/drm_crtc.c 2011-10-06 09:37:14.00000= 0000 -0400 @@ -1323,7 +1323,7 @@ int drm_mode_getconnector(struct drm_dev */ if ((out_resp->count_modes >=3D mode_count) && mode_count) { @@ -30078,9 +30101,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_cr= tc.c linux-2.6.32.48/drivers/gp if (copy_to_user(blob_ptr, blob->data, blob->length)){ ret =3D -EFAULT; goto done; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_crtc_helper.c linux-2.6.3= 2.48/drivers/gpu/drm/drm_crtc_helper.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_crtc_helper.c 2011-11-12 12:44:2= 8.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_crtc_helper.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/drm_crtc_helper.c linux-2.6.3= 2.46/drivers/gpu/drm/drm_crtc_helper.c +--- linux-2.6.32.46/drivers/gpu/drm/drm_crtc_helper.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/drm_crtc_helper.c 2011-05-16 21:46:5= 7.000000000 -0400 @@ -573,7 +573,7 @@ static bool drm_encoder_crtc_ok(struct d struct drm_crtc *tmp; int crtc_mask =3D 1; @@ -30099,9 +30122,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_cr= tc_helper.c linux-2.6.32.48/dri crtc->enabled =3D drm_helper_crtc_in_use(crtc); =20 if (!crtc->enabled) -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_drv.c linux-2.6.32.48/dri= vers/gpu/drm/drm_drv.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_drv.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_drv.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/drm_drv.c linux-2.6.32.46/dri= vers/gpu/drm/drm_drv.c +--- linux-2.6.32.46/drivers/gpu/drm/drm_drv.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/drm_drv.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -417,7 +417,7 @@ int drm_ioctl(struct inode *inode, struc char *kdata =3D NULL; =20 @@ -30111,9 +30134,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_dr= v.c linux-2.6.32.48/drivers/gpu ++file_priv->ioctl_count; =20 DRM_DEBUG("pid=3D%d, cmd=3D0x%02x, nr=3D0x%02x, dev 0x%lx, auth=3D%d\n= ", -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_fops.c linux-2.6.32.48/dr= ivers/gpu/drm/drm_fops.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_fops.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_fops.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/drm_fops.c linux-2.6.32.46/dr= ivers/gpu/drm/drm_fops.c +--- linux-2.6.32.46/drivers/gpu/drm/drm_fops.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/drm_fops.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -66,7 +66,7 @@ static int drm_setup(struct drm_device * } =20 @@ -30165,9 +30188,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_fo= ps.c linux-2.6.32.48/drivers/gp if (atomic_read(&dev->ioctl_count)) { DRM_ERROR("Device busy: %d\n", atomic_read(&dev->ioctl_count)); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_gem.c linux-2.6.32.48/dri= vers/gpu/drm/drm_gem.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_gem.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_gem.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/drm_gem.c linux-2.6.32.46/dri= vers/gpu/drm/drm_gem.c +--- linux-2.6.32.46/drivers/gpu/drm/drm_gem.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/drm_gem.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -83,11 +83,11 @@ drm_gem_init(struct drm_device *dev) spin_lock_init(&dev->object_name_lock); idr_init(&dev->object_name_idr); @@ -30201,9 +30224,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_ge= m.c linux-2.6.32.48/drivers/gpu kfree(obj); } EXPORT_SYMBOL(drm_gem_object_free); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_info.c linux-2.6.32.48/dr= ivers/gpu/drm/drm_info.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_info.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_info.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/drm_info.c linux-2.6.32.46/dr= ivers/gpu/drm/drm_info.c +--- linux-2.6.32.46/drivers/gpu/drm/drm_info.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/drm_info.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -75,10 +75,14 @@ int drm_vm_info(struct seq_file *m, void struct drm_local_map *map; struct drm_map_list *r_list; @@ -30283,9 +30306,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_in= fo.c linux-2.6.32.48/drivers/gp =20 #if defined(__i386__) pgprot =3D pgprot_val(vma->vm_page_prot); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_ioc32.c linux-2.6.32.48/d= rivers/gpu/drm/drm_ioc32.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_ioc32.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_ioc32.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/drm_ioc32.c linux-2.6.32.46/d= rivers/gpu/drm/drm_ioc32.c +--- linux-2.6.32.46/drivers/gpu/drm/drm_ioc32.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/drm_ioc32.c 2011-10-06 09:37:14.0000= 00000 -0400 @@ -463,7 +463,7 @@ static int compat_drm_infobufs(struct fi request =3D compat_alloc_user_space(nbytes); if (!access_ok(VERIFY_WRITE, request, nbytes)) @@ -30304,9 +30327,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_io= c32.c linux-2.6.32.48/drivers/g =20 if (__put_user(count, &request->count) || __put_user(list, &request->list)) -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_ioctl.c linux-2.6.32.48/d= rivers/gpu/drm/drm_ioctl.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_ioctl.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_ioctl.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/drm_ioctl.c linux-2.6.32.46/d= rivers/gpu/drm/drm_ioctl.c +--- linux-2.6.32.46/drivers/gpu/drm/drm_ioctl.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/drm_ioctl.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -283,7 +283,7 @@ int drm_getstats(struct drm_device *dev, stats->data[i].value =3D (file_priv->master->lock.hw_lock ? file_priv->master->lock.hw_lo= ck->lock : 0); @@ -30316,9 +30339,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_io= ctl.c linux-2.6.32.48/drivers/g stats->data[i].type =3D dev->types[i]; } =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_lock.c linux-2.6.32.48/dr= ivers/gpu/drm/drm_lock.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_lock.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_lock.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/drm_lock.c linux-2.6.32.46/dr= ivers/gpu/drm/drm_lock.c +--- linux-2.6.32.46/drivers/gpu/drm/drm_lock.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/drm_lock.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -87,7 +87,7 @@ int drm_lock(struct drm_device *dev, voi if (drm_lock_take(&master->lock, lock->context)) { master->lock.file_priv =3D file_priv; @@ -30337,9 +30360,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_lo= ck.c linux-2.6.32.48/drivers/gp =20 /* kernel_context_switch isn't used by any of the x86 drm * modules but is required by the Sparc driver. -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i810/i810_dma.c linux-2.6.32.= 48/drivers/gpu/drm/i810/i810_dma.c ---- linux-2.6.32.48/drivers/gpu/drm/i810/i810_dma.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i810/i810_dma.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i810/i810_dma.c linux-2.6.32.= 46/drivers/gpu/drm/i810/i810_dma.c +--- linux-2.6.32.46/drivers/gpu/drm/i810/i810_dma.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i810/i810_dma.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -952,8 +952,8 @@ static int i810_dma_vertex(struct drm_de dma->buflist[vertex->idx], vertex->discard, vertex->used); @@ -30362,9 +30385,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i810/i= 810_dma.c linux-2.6.32.48/drive sarea_priv->last_enqueue =3D dev_priv->counter - 1; sarea_priv->last_dispatch =3D (int)hw_status[5]; =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i810/i810_drv.h linux-2.6.32.= 48/drivers/gpu/drm/i810/i810_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/i810/i810_drv.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i810/i810_drv.h 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i810/i810_drv.h linux-2.6.32.= 46/drivers/gpu/drm/i810/i810_drv.h +--- linux-2.6.32.46/drivers/gpu/drm/i810/i810_drv.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i810/i810_drv.h 2011-05-04 17:56:28.= 000000000 -0400 @@ -108,8 +108,8 @@ typedef struct drm_i810_private { int page_flipping; =20 @@ -30376,9 +30399,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i810/i= 810_drv.h linux-2.6.32.48/drive =20 int front_offset; } drm_i810_private_t; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i830/i830_drv.h linux-2.6.32.= 48/drivers/gpu/drm/i830/i830_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/i830/i830_drv.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i830/i830_drv.h 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i830/i830_drv.h linux-2.6.32.= 46/drivers/gpu/drm/i830/i830_drv.h +--- linux-2.6.32.46/drivers/gpu/drm/i830/i830_drv.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i830/i830_drv.h 2011-05-04 17:56:28.= 000000000 -0400 @@ -115,8 +115,8 @@ typedef struct drm_i830_private { int page_flipping; =20 @@ -30390,9 +30413,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i830/i= 830_drv.h linux-2.6.32.48/drive =20 int use_mi_batchbuffer_start; =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i830/i830_irq.c linux-2.6.32.= 48/drivers/gpu/drm/i830/i830_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/i830/i830_irq.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i830/i830_irq.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i830/i830_irq.c linux-2.6.32.= 46/drivers/gpu/drm/i830/i830_irq.c +--- linux-2.6.32.46/drivers/gpu/drm/i830/i830_irq.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i830/i830_irq.c 2011-05-04 17:56:28.= 000000000 -0400 @@ -47,7 +47,7 @@ irqreturn_t i830_driver_irq_handler(DRM_ =20 I830_WRITE16(I830REG_INT_IDENTITY_R, temp); @@ -30448,9 +30471,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i830/i= 830_irq.c linux-2.6.32.48/drive init_waitqueue_head(&dev_priv->irq_queue); } =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7017.c linux-2.6.3= 2.48/drivers/gpu/drm/i915/dvo_ch7017.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7017.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7017.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/dvo_ch7017.c linux-2.6.3= 2.46/drivers/gpu/drm/i915/dvo_ch7017.c +--- linux-2.6.32.46/drivers/gpu/drm/i915/dvo_ch7017.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/dvo_ch7017.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -443,7 +443,7 @@ static void ch7017_destroy(struct intel_ } } @@ -30460,9 +30483,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/d= vo_ch7017.c linux-2.6.32.48/dri .init =3D ch7017_init, .detect =3D ch7017_detect, .mode_valid =3D ch7017_mode_valid, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7xxx.c linux-2.6.3= 2.48/drivers/gpu/drm/i915/dvo_ch7xxx.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7xxx.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7xxx.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/dvo_ch7xxx.c linux-2.6.3= 2.46/drivers/gpu/drm/i915/dvo_ch7xxx.c +--- linux-2.6.32.46/drivers/gpu/drm/i915/dvo_ch7xxx.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/dvo_ch7xxx.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -356,7 +356,7 @@ static void ch7xxx_destroy(struct intel_ } } @@ -30472,9 +30495,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/d= vo_ch7xxx.c linux-2.6.32.48/dri .init =3D ch7xxx_init, .detect =3D ch7xxx_detect, .mode_valid =3D ch7xxx_mode_valid, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo.h linux-2.6.32.48/dr= ivers/gpu/drm/i915/dvo.h ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo.h 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/dvo.h linux-2.6.32.46/dr= ivers/gpu/drm/i915/dvo.h +--- linux-2.6.32.46/drivers/gpu/drm/i915/dvo.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/dvo.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -135,23 +135,23 @@ struct intel_dvo_dev_ops { * * \return singly-linked list of modes or NULL if no modes found. @@ -30507,9 +30530,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/d= vo.h linux-2.6.32.48/drivers/gp +extern const struct intel_dvo_dev_ops ch7017_ops; =20 #endif /* _INTEL_DVO_H */ -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ivch.c linux-2.6.32.= 48/drivers/gpu/drm/i915/dvo_ivch.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ivch.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ivch.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/dvo_ivch.c linux-2.6.32.= 46/drivers/gpu/drm/i915/dvo_ivch.c +--- linux-2.6.32.46/drivers/gpu/drm/i915/dvo_ivch.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/dvo_ivch.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -430,7 +430,7 @@ static void ivch_destroy(struct intel_dv } } @@ -30519,9 +30542,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/d= vo_ivch.c linux-2.6.32.48/drive .init =3D ivch_init, .dpms =3D ivch_dpms, .save =3D ivch_save, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo_sil164.c linux-2.6.3= 2.48/drivers/gpu/drm/i915/dvo_sil164.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo_sil164.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo_sil164.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/dvo_sil164.c linux-2.6.3= 2.46/drivers/gpu/drm/i915/dvo_sil164.c +--- linux-2.6.32.46/drivers/gpu/drm/i915/dvo_sil164.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/dvo_sil164.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -290,7 +290,7 @@ static void sil164_destroy(struct intel_ } } @@ -30531,9 +30554,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/d= vo_sil164.c linux-2.6.32.48/dri .init =3D sil164_init, .detect =3D sil164_detect, .mode_valid =3D sil164_mode_valid, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo_tfp410.c linux-2.6.3= 2.48/drivers/gpu/drm/i915/dvo_tfp410.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo_tfp410.c 2011-11-12 12:44:2= 8.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo_tfp410.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/dvo_tfp410.c linux-2.6.3= 2.46/drivers/gpu/drm/i915/dvo_tfp410.c +--- linux-2.6.32.46/drivers/gpu/drm/i915/dvo_tfp410.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/dvo_tfp410.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -323,7 +323,7 @@ static void tfp410_destroy(struct intel_ } } @@ -30543,9 +30566,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/d= vo_tfp410.c linux-2.6.32.48/dri .init =3D tfp410_init, .detect =3D tfp410_detect, .mode_valid =3D tfp410_mode_valid, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i915_debugfs.c linux-2.6= .32.48/drivers/gpu/drm/i915/i915_debugfs.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/i915_debugfs.c 2011-11-12 12:44= :28.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/i915_debugfs.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/i915_debugfs.c linux-2.6= .32.46/drivers/gpu/drm/i915/i915_debugfs.c +--- linux-2.6.32.46/drivers/gpu/drm/i915/i915_debugfs.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/i915_debugfs.c 2011-05-04 17:56= :28.000000000 -0400 @@ -192,7 +192,7 @@ static int i915_interrupt_info(struct se I915_READ(GTIMR)); } @@ -30555,9 +30578,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i= 915_debugfs.c linux-2.6.32.48/d if (dev_priv->hw_status_page !=3D NULL) { seq_printf(m, "Current sequence: %d\n", i915_get_gem_seqno(dev)); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.c linux-2.6.32.= 48/drivers/gpu/drm/i915/i915_drv.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/i915_drv.c linux-2.6.32.= 46/drivers/gpu/drm/i915/i915_drv.c +--- linux-2.6.32.46/drivers/gpu/drm/i915/i915_drv.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/i915_drv.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -285,7 +285,7 @@ i915_pci_resume(struct pci_dev *pdev) return i915_resume(dev); } @@ -30567,9 +30590,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i= 915_drv.c linux-2.6.32.48/drive .fault =3D i915_gem_fault, .open =3D drm_gem_vm_open, .close =3D drm_gem_vm_close, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.h linux-2.6.32.= 48/drivers/gpu/drm/i915/i915_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.h 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.h 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/i915_drv.h linux-2.6.32.= 46/drivers/gpu/drm/i915/i915_drv.h +--- linux-2.6.32.46/drivers/gpu/drm/i915/i915_drv.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/i915_drv.h 2011-08-05 20:33:55.= 000000000 -0400 @@ -168,7 +168,7 @@ struct drm_i915_display_funcs { /* display clock increase/decrease */ /* pll clock increase/decrease */ @@ -30588,9 +30611,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i= 915_drv.h linux-2.6.32.48/drive /** Protects user_irq_refcount and irq_mask_reg */ spinlock_t user_irq_lock; /** Refcount for i915_user_irq_get() versus i915_user_irq_put(). */ -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i915_gem.c linux-2.6.32.= 48/drivers/gpu/drm/i915/i915_gem.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/i915_gem.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/i915_gem.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/i915_gem.c linux-2.6.32.= 46/drivers/gpu/drm/i915/i915_gem.c +--- linux-2.6.32.46/drivers/gpu/drm/i915/i915_gem.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/i915_gem.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -102,7 +102,7 @@ i915_gem_get_aperture_ioctl(struct drm_d =20 args->aper_size =3D dev->gtt_total; @@ -30673,9 +30696,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i= 915_gem.c linux-2.6.32.48/drive } i915_verify_inactive(dev, __FILE__, __LINE__); } -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i915_irq.c linux-2.6.32.= 48/drivers/gpu/drm/i915/i915_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/i915_irq.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/i915_irq.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/i915_irq.c linux-2.6.32.= 46/drivers/gpu/drm/i915/i915_irq.c +--- linux-2.6.32.46/drivers/gpu/drm/i915/i915_irq.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/i915_irq.c 2011-05-04 17:56:28.= 000000000 -0400 @@ -528,7 +528,7 @@ irqreturn_t i915_driver_irq_handler(DRM_ int irq_received; int ret =3D IRQ_NONE; @@ -30694,9 +30717,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i= 915_irq.c linux-2.6.32.48/drive =20 INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); INIT_WORK(&dev_priv->error_work, i915_error_work_func); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/intel_sdvo.c linux-2.6.3= 2.48/drivers/gpu/drm/i915/intel_sdvo.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/intel_sdvo.c 2011-11-12 12:44:2= 8.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/intel_sdvo.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/i915/intel_sdvo.c linux-2.6.3= 2.46/drivers/gpu/drm/i915/intel_sdvo.c +--- linux-2.6.32.46/drivers/gpu/drm/i915/intel_sdvo.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/i915/intel_sdvo.c 2011-08-05 20:33:5= 5.000000000 -0400 @@ -2795,7 +2795,9 @@ bool intel_sdvo_init(struct drm_device * sdvo_priv->slave_addr =3D intel_sdvo_get_slave_addr(dev, output_device= ); =20 @@ -30708,9 +30731,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i= ntel_sdvo.c linux-2.6.32.48/dri =20 /* Read the regs to test if we can talk to the device */ for (i =3D 0; i < 0x40; i++) { -diff -urNp linux-2.6.32.48/drivers/gpu/drm/mga/mga_drv.h linux-2.6.32.48= /drivers/gpu/drm/mga/mga_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/mga/mga_drv.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/mga/mga_drv.h 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/mga/mga_drv.h linux-2.6.32.46= /drivers/gpu/drm/mga/mga_drv.h +--- linux-2.6.32.46/drivers/gpu/drm/mga/mga_drv.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/mga/mga_drv.h 2011-05-04 17:56:28.00= 0000000 -0400 @@ -120,9 +120,9 @@ typedef struct drm_mga_private { u32 clear_cmd; u32 maccess; @@ -30723,9 +30746,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/mga/mg= a_drv.h linux-2.6.32.48/drivers u32 next_fence_to_post; =20 unsigned int fb_cpp; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/mga/mga_irq.c linux-2.6.32.48= /drivers/gpu/drm/mga/mga_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/mga/mga_irq.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/mga/mga_irq.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/mga/mga_irq.c linux-2.6.32.46= /drivers/gpu/drm/mga/mga_irq.c +--- linux-2.6.32.46/drivers/gpu/drm/mga/mga_irq.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/mga/mga_irq.c 2011-05-04 17:56:28.00= 0000000 -0400 @@ -44,7 +44,7 @@ u32 mga_get_vblank_counter(struct drm_de if (crtc !=3D 0) return 0; @@ -30762,9 +30785,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/mga/mg= a_irq.c linux-2.6.32.48/drivers - *sequence) <=3D (1 << 23))); =20 *sequence =3D cur_fence; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r128_cce.c linux-2.6.32.= 48/drivers/gpu/drm/r128/r128_cce.c ---- linux-2.6.32.48/drivers/gpu/drm/r128/r128_cce.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/r128/r128_cce.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/r128/r128_cce.c linux-2.6.32.= 46/drivers/gpu/drm/r128/r128_cce.c +--- linux-2.6.32.46/drivers/gpu/drm/r128/r128_cce.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/r128/r128_cce.c 2011-05-04 17:56:28.= 000000000 -0400 @@ -377,7 +377,7 @@ static int r128_do_init_cce(struct drm_d =20 /* GH: Simple idle check. @@ -30774,9 +30797,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r= 128_cce.c linux-2.6.32.48/drive =20 /* We don't support anything other than bus-mastering ring mode, * but the ring can be in either AGP or PCI space for the ring -diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r128_drv.h linux-2.6.32.= 48/drivers/gpu/drm/r128/r128_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/r128/r128_drv.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/r128/r128_drv.h 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/r128/r128_drv.h linux-2.6.32.= 46/drivers/gpu/drm/r128/r128_drv.h +--- linux-2.6.32.46/drivers/gpu/drm/r128/r128_drv.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/r128/r128_drv.h 2011-05-04 17:56:28.= 000000000 -0400 @@ -90,14 +90,14 @@ typedef struct drm_r128_private { int is_pci; unsigned long cce_buffers_offset; @@ -30794,9 +30817,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r= 128_drv.h linux-2.6.32.48/drive =20 u32 color_fmt; unsigned int front_offset; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r128_irq.c linux-2.6.32.= 48/drivers/gpu/drm/r128/r128_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/r128/r128_irq.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/r128/r128_irq.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/r128/r128_irq.c linux-2.6.32.= 46/drivers/gpu/drm/r128/r128_irq.c +--- linux-2.6.32.46/drivers/gpu/drm/r128/r128_irq.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/r128/r128_irq.c 2011-05-04 17:56:28.= 000000000 -0400 @@ -42,7 +42,7 @@ u32 r128_get_vblank_counter(struct drm_d if (crtc !=3D 0) return 0; @@ -30815,9 +30838,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r= 128_irq.c linux-2.6.32.48/drive drm_handle_vblank(dev, 0); return IRQ_HANDLED; } -diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r128_state.c linux-2.6.3= 2.48/drivers/gpu/drm/r128/r128_state.c ---- linux-2.6.32.48/drivers/gpu/drm/r128/r128_state.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/r128/r128_state.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/r128/r128_state.c linux-2.6.3= 2.46/drivers/gpu/drm/r128/r128_state.c +--- linux-2.6.32.46/drivers/gpu/drm/r128/r128_state.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/r128/r128_state.c 2011-05-04 17:56:2= 8.000000000 -0400 @@ -323,10 +323,10 @@ static void r128_clear_box(drm_r128_priv =20 static void r128_cce_performance_boxes(drm_r128_private_t * dev_priv) @@ -30831,9 +30854,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r= 128_state.c linux-2.6.32.48/dri } } =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/atom.c linux-2.6.32.48= /drivers/gpu/drm/radeon/atom.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/atom.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/atom.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/atom.c linux-2.6.32.46= /drivers/gpu/drm/radeon/atom.c +--- linux-2.6.32.46/drivers/gpu/drm/radeon/atom.c 2011-05-10 22:12:01.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/atom.c 2011-05-16 21:46:57.00= 0000000 -0400 @@ -1115,6 +1115,8 @@ struct atom_context *atom_parse(struct c char name[512]; int i; @@ -30843,9 +30866,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /atom.c linux-2.6.32.48/drivers ctx->card =3D card; ctx->bios =3D bios; =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/mkregtable.c linux-2.6= .32.48/drivers/gpu/drm/radeon/mkregtable.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/mkregtable.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/mkregtable.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/mkregtable.c linux-2.6= .32.46/drivers/gpu/drm/radeon/mkregtable.c +--- linux-2.6.32.46/drivers/gpu/drm/radeon/mkregtable.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/mkregtable.c 2011-04-17 15:56= :46.000000000 -0400 @@ -637,14 +637,14 @@ static int parser_auth(struct table *t,=20 regex_t mask_rex; regmatch_t match[4]; @@ -30863,9 +30886,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /mkregtable.c linux-2.6.32.48/d =20 if (regcomp (&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) { -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_atombios.c linu= x-2.6.32.48/drivers/gpu/drm/radeon/radeon_atombios.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_atombios.c 2011-11-12 = 12:44:28.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_atombios.c 2011-11-12 = 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_atombios.c linu= x-2.6.32.46/drivers/gpu/drm/radeon/radeon_atombios.c +--- linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_atombios.c 2011-03-27 = 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_atombios.c 2011-05-16 = 21:46:57.000000000 -0400 @@ -275,6 +275,8 @@ bool radeon_get_atom_connector_info_from bool linkb; struct radeon_i2c_bus_rec ddc_bus; @@ -30899,9 +30922,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /radeon_atombios.c linux-2.6.32 =20 atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset); =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_display.c linux= -2.6.32.48/drivers/gpu/drm/radeon/radeon_display.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_display.c 2011-11-12 1= 2:44:28.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_display.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_display.c linux= -2.6.32.46/drivers/gpu/drm/radeon/radeon_display.c +--- linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_display.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_display.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -482,7 +482,7 @@ void radeon_compute_pll(struct radeon_pl =20 if (flags & RADEON_PLL_PREFER_CLOSEST_LOWER) { @@ -30911,9 +30934,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /radeon_display.c linux-2.6.32. } else error =3D abs(current_freq - freq); vco_diff =3D abs(vco - best_vco); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_drv.h linux-2.6= .32.48/drivers/gpu/drm/radeon/radeon_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_drv.h 2011-11-12 12:44= :28.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_drv.h 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_drv.h linux-2.6= .32.46/drivers/gpu/drm/radeon/radeon_drv.h +--- linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_drv.h 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_drv.h 2011-05-04 17:56= :28.000000000 -0400 @@ -253,7 +253,7 @@ typedef struct drm_radeon_private { =20 /* SW interrupt */ @@ -30923,9 +30946,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /radeon_drv.h linux-2.6.32.48/d int vblank_crtc; uint32_t irq_enable_reg; uint32_t r500_disp_irq_reg; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_fence.c linux-2= .6.32.48/drivers/gpu/drm/radeon/radeon_fence.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_fence.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_fence.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_fence.c linux-2= .6.32.46/drivers/gpu/drm/radeon/radeon_fence.c +--- linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_fence.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_fence.c 2011-05-04 17:= 56:28.000000000 -0400 @@ -47,7 +47,7 @@ int radeon_fence_emit(struct radeon_devi write_unlock_irqrestore(&rdev->fence_drv.lock, irq_flags); return 0; @@ -30944,9 +30967,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /radeon_fence.c linux-2.6.32.48 INIT_LIST_HEAD(&rdev->fence_drv.created); INIT_LIST_HEAD(&rdev->fence_drv.emited); INIT_LIST_HEAD(&rdev->fence_drv.signaled); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon.h linux-2.6.32.= 48/drivers/gpu/drm/radeon/radeon.h ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon.h 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon.h 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/radeon.h linux-2.6.32.= 46/drivers/gpu/drm/radeon/radeon.h +--- linux-2.6.32.46/drivers/gpu/drm/radeon/radeon.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/radeon.h 2011-08-05 20:33:55.= 000000000 -0400 @@ -149,7 +149,7 @@ int radeon_pm_init(struct radeon_device=20 */ struct radeon_fence_driver { @@ -30965,9 +30988,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /radeon.h linux-2.6.32.48/drive =20 /* * Asic structures -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ioc32.c linux-2= .6.32.48/drivers/gpu/drm/radeon/radeon_ioc32.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ioc32.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_ioc32.c linux-2= .6.32.46/drivers/gpu/drm/radeon/radeon_ioc32.c +--- linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-04-23 13:= 57:24.000000000 -0400 @@ -368,7 +368,7 @@ static int compat_radeon_cp_setparam(str request =3D compat_alloc_user_space(sizeof(*request)); if (!access_ok(VERIFY_WRITE, request, sizeof(*request)) @@ -30977,9 +31000,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /radeon_ioc32.c linux-2.6.32.48 &request->value)) return -EFAULT; =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_irq.c linux-2.6= .32.48/drivers/gpu/drm/radeon/radeon_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_irq.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_irq.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_irq.c linux-2.6= .32.46/drivers/gpu/drm/radeon/radeon_irq.c +--- linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_irq.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_irq.c 2011-05-04 17:56= :28.000000000 -0400 @@ -225,8 +225,8 @@ static int radeon_emit_irq(struct drm_de unsigned int ret; RING_LOCALS; @@ -31000,9 +31023,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /radeon_irq.c linux-2.6.32.48/d DRM_INIT_WAITQUEUE(&dev_priv->swi_queue); =20 dev->max_vblank_count =3D 0x001fffff; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_state.c linux-2= .6.32.48/drivers/gpu/drm/radeon/radeon_state.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_state.c 2011-11-12 12:= 44:28.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_state.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_state.c linux-2= .6.32.46/drivers/gpu/drm/radeon/radeon_state.c +--- linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_state.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_state.c 2011-04-17 15:= 56:46.000000000 -0400 @@ -3021,7 +3021,7 @@ static int radeon_cp_getparam(struct drm { drm_radeon_private_t *dev_priv =3D dev->dev_private; @@ -31012,9 +31035,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /radeon_state.c linux-2.6.32.48 =20 DRM_DEBUG("pid=3D%d\n", DRM_CURRENTPID); =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ttm.c linux-2.6= .32.48/drivers/gpu/drm/radeon/radeon_ttm.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ttm.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ttm.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_ttm.c linux-2.6= .32.46/drivers/gpu/drm/radeon/radeon_ttm.c +--- linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_ttm.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/radeon_ttm.c 2011-04-17 15:56= :46.000000000 -0400 @@ -535,27 +535,10 @@ void radeon_ttm_fini(struct radeon_devic DRM_INFO("radeon: ttm finalized\n"); } @@ -31066,9 +31089,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /radeon_ttm.c linux-2.6.32.48/d } =20 =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/rs690.c linux-2.6.32.4= 8/drivers/gpu/drm/radeon/rs690.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/rs690.c 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/rs690.c 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/radeon/rs690.c linux-2.6.32.4= 6/drivers/gpu/drm/radeon/rs690.c +--- linux-2.6.32.46/drivers/gpu/drm/radeon/rs690.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/radeon/rs690.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -302,9 +302,11 @@ void rs690_crtc_bandwidth_compute(struct if (rdev->pm.max_bandwidth.full > rdev->pm.sideport_bandwidth.full && rdev->pm.sideport_bandwidth.full) @@ -31082,9 +31105,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /rs690.c linux-2.6.32.48/driver } else { if (rdev->pm.max_bandwidth.full > rdev->pm.k8_bandwidth.full && rdev->pm.k8_bandwidth.full) -diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo.c linux-2.6.32.48/= drivers/gpu/drm/ttm/ttm_bo.c ---- linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_bo.c linux-2.6.32.46/= drivers/gpu/drm/ttm/ttm_bo.c +--- linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_bo.c 2011-08-29 22:24:44.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_bo.c 2011-08-29 22:25:07.000= 000000 -0400 @@ -67,7 +67,7 @@ static struct attribute *ttm_bo_global_a NULL }; @@ -31094,9 +31117,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/tt= m_bo.c linux-2.6.32.48/drivers/ .show =3D &ttm_bo_global_show }; =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo_vm.c linux-2.6.32.= 48/drivers/gpu/drm/ttm/ttm_bo_vm.c ---- linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo_vm.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo_vm.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_bo_vm.c linux-2.6.32.= 46/drivers/gpu/drm/ttm/ttm_bo_vm.c +--- linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_bo_vm.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_bo_vm.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -73,7 +73,7 @@ static int ttm_bo_vm_fault(struct vm_are { struct ttm_buffer_object *bo =3D (struct ttm_buffer_object *) @@ -31117,9 +31140,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/tt= m_bo_vm.c linux-2.6.32.48/drive /* * Work around locking order reversal in fault / nopfn * between mmap_sem and bo_reserve: Perform a trylock operation -diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_global.c linux-2.6.32= .48/drivers/gpu/drm/ttm/ttm_global.c ---- linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_global.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_global.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_global.c linux-2.6.32= .46/drivers/gpu/drm/ttm/ttm_global.c +--- linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_global.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_global.c 2011-04-17 15:56:46= .000000000 -0400 @@ -36,7 +36,7 @@ struct ttm_global_item { struct mutex mutex; @@ -31177,9 +31200,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/tt= m_global.c linux-2.6.32.48/driv ref->release(ref); item->object =3D NULL; } -diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_memory.c linux-2.6.32= .48/drivers/gpu/drm/ttm/ttm_memory.c ---- linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_memory.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_memory.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_memory.c linux-2.6.32= .46/drivers/gpu/drm/ttm/ttm_memory.c +--- linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_memory.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/ttm/ttm_memory.c 2011-04-17 15:56:46= .000000000 -0400 @@ -152,7 +152,7 @@ static struct attribute *ttm_mem_zone_at NULL }; @@ -31189,9 +31212,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/tt= m_memory.c linux-2.6.32.48/driv .show =3D &ttm_mem_zone_show, .store =3D &ttm_mem_zone_store }; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/via/via_drv.h linux-2.6.32.48= /drivers/gpu/drm/via/via_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/via/via_drv.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/via/via_drv.h 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/via/via_drv.h linux-2.6.32.46= /drivers/gpu/drm/via/via_drv.h +--- linux-2.6.32.46/drivers/gpu/drm/via/via_drv.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/via/via_drv.h 2011-05-04 17:56:28.00= 0000000 -0400 @@ -51,7 +51,7 @@ typedef struct drm_via_ring_buffer { typedef uint32_t maskarray_t[5]; =20 @@ -31210,9 +31233,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/via/vi= a_drv.h linux-2.6.32.48/drivers drm_via_state_t hc_state; char pci_buf[VIA_PCI_BUF_SIZE]; const uint32_t *fire_offsets[VIA_FIRE_BUF_SIZE]; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/via/via_irq.c linux-2.6.32.48= /drivers/gpu/drm/via/via_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/via/via_irq.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/via/via_irq.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/gpu/drm/via/via_irq.c linux-2.6.32.46= /drivers/gpu/drm/via/via_irq.c +--- linux-2.6.32.46/drivers/gpu/drm/via/via_irq.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/gpu/drm/via/via_irq.c 2011-05-04 17:56:28.00= 0000000 -0400 @@ -102,7 +102,7 @@ u32 via_get_vblank_counter(struct drm_de if (crtc !=3D 0) return 0; @@ -31283,9 +31306,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/via/vi= a_irq.c linux-2.6.32.48/drivers irqwait->request.type &=3D ~_DRM_VBLANK_RELATIVE; case VIA_IRQ_ABSOLUTE: break; -diff -urNp linux-2.6.32.48/drivers/hid/hid-core.c linux-2.6.32.48/driver= s/hid/hid-core.c ---- linux-2.6.32.48/drivers/hid/hid-core.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/hid/hid-core.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/hid/hid-core.c linux-2.6.32.46/driver= s/hid/hid-core.c +--- linux-2.6.32.46/drivers/hid/hid-core.c 2011-05-10 22:12:01.000000000= -0400 ++++ linux-2.6.32.46/drivers/hid/hid-core.c 2011-05-10 22:12:32.000000000= -0400 @@ -1752,7 +1752,7 @@ static bool hid_ignore(struct hid_device =20 int hid_add_device(struct hid_device *hdev) @@ -31304,9 +31327,9 @@ diff -urNp linux-2.6.32.48/drivers/hid/hid-core.c= linux-2.6.32.48/drivers/hid/hi =20 ret =3D device_add(&hdev->dev); if (!ret) -diff -urNp linux-2.6.32.48/drivers/hid/usbhid/hiddev.c linux-2.6.32.48/d= rivers/hid/usbhid/hiddev.c ---- linux-2.6.32.48/drivers/hid/usbhid/hiddev.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/hid/usbhid/hiddev.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/hid/usbhid/hiddev.c linux-2.6.32.46/d= rivers/hid/usbhid/hiddev.c +--- linux-2.6.32.46/drivers/hid/usbhid/hiddev.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/hid/usbhid/hiddev.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -617,7 +617,7 @@ static long hiddev_ioctl(struct file *fi return put_user(HID_VERSION, (int __user *)arg); =20 @@ -31316,9 +31339,9 @@ diff -urNp linux-2.6.32.48/drivers/hid/usbhid/hid= dev.c linux-2.6.32.48/drivers/h return -EINVAL; =20 for (i =3D 0; i < hid->maxcollection; i++) -diff -urNp linux-2.6.32.48/drivers/hwmon/lis3lv02d.c linux-2.6.32.48/dri= vers/hwmon/lis3lv02d.c ---- linux-2.6.32.48/drivers/hwmon/lis3lv02d.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/hwmon/lis3lv02d.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/hwmon/lis3lv02d.c linux-2.6.32.46/dri= vers/hwmon/lis3lv02d.c +--- linux-2.6.32.46/drivers/hwmon/lis3lv02d.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/hwmon/lis3lv02d.c 2011-05-04 17:56:28.000000= 000 -0400 @@ -146,7 +146,7 @@ static irqreturn_t lis302dl_interrupt(in * the lid is closed. This leads to interrupts as soon as a little mov= e * is done. @@ -31355,9 +31378,9 @@ diff -urNp linux-2.6.32.48/drivers/hwmon/lis3lv02= d.c linux-2.6.32.48/drivers/hwm return POLLIN | POLLRDNORM; return 0; } -diff -urNp linux-2.6.32.48/drivers/hwmon/lis3lv02d.h linux-2.6.32.48/dri= vers/hwmon/lis3lv02d.h ---- linux-2.6.32.48/drivers/hwmon/lis3lv02d.h 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/hwmon/lis3lv02d.h 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/hwmon/lis3lv02d.h linux-2.6.32.46/dri= vers/hwmon/lis3lv02d.h +--- linux-2.6.32.46/drivers/hwmon/lis3lv02d.h 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/hwmon/lis3lv02d.h 2011-05-04 17:56:28.000000= 000 -0400 @@ -201,7 +201,7 @@ struct lis3lv02d { =20 struct input_polled_dev *idev; /* input device */ @@ -31367,9 +31390,9 @@ diff -urNp linux-2.6.32.48/drivers/hwmon/lis3lv02= d.h linux-2.6.32.48/drivers/hwm int xcalib; /* calibrated null value for x */ int ycalib; /* calibrated null value for y */ int zcalib; /* calibrated null value for z */ -diff -urNp linux-2.6.32.48/drivers/hwmon/sht15.c linux-2.6.32.48/drivers= /hwmon/sht15.c ---- linux-2.6.32.48/drivers/hwmon/sht15.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/hwmon/sht15.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/hwmon/sht15.c linux-2.6.32.46/drivers= /hwmon/sht15.c +--- linux-2.6.32.46/drivers/hwmon/sht15.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/hwmon/sht15.c 2011-05-04 17:56:28.000000000 = -0400 @@ -112,7 +112,7 @@ struct sht15_data { int supply_uV; int supply_uV_valid; @@ -31418,9 +31441,9 @@ diff -urNp linux-2.6.32.48/drivers/hwmon/sht15.c = linux-2.6.32.48/drivers/hwmon/s return; } /* Read the data back from the device */ -diff -urNp linux-2.6.32.48/drivers/hwmon/w83791d.c linux-2.6.32.48/drive= rs/hwmon/w83791d.c ---- linux-2.6.32.48/drivers/hwmon/w83791d.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/hwmon/w83791d.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/hwmon/w83791d.c linux-2.6.32.46/drive= rs/hwmon/w83791d.c +--- linux-2.6.32.46/drivers/hwmon/w83791d.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/hwmon/w83791d.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -330,8 +330,8 @@ static int w83791d_detect(struct i2c_cli struct i2c_board_info *info); static int w83791d_remove(struct i2c_client *client); @@ -31432,9 +31455,9 @@ diff -urNp linux-2.6.32.48/drivers/hwmon/w83791d.= c linux-2.6.32.48/drivers/hwmon static struct w83791d_data *w83791d_update_device(struct device *dev); =20 #ifdef DEBUG -diff -urNp linux-2.6.32.48/drivers/i2c/busses/i2c-amd756-s4882.c linux-2= .6.32.48/drivers/i2c/busses/i2c-amd756-s4882.c ---- linux-2.6.32.48/drivers/i2c/busses/i2c-amd756-s4882.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/i2c/busses/i2c-amd756-s4882.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/i2c/busses/i2c-amd756-s4882.c linux-2= .6.32.46/drivers/i2c/busses/i2c-amd756-s4882.c +--- linux-2.6.32.46/drivers/i2c/busses/i2c-amd756-s4882.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/i2c/busses/i2c-amd756-s4882.c 2011-08-23 21:= 22:32.000000000 -0400 @@ -43,7 +43,7 @@ extern struct i2c_adapter amd756_smbus; =20 @@ -31444,9 +31467,9 @@ diff -urNp linux-2.6.32.48/drivers/i2c/busses/i2c= -amd756-s4882.c linux-2.6.32.48 =20 /* Wrapper access functions for multiplexed SMBus */ static DEFINE_MUTEX(amd756_lock); -diff -urNp linux-2.6.32.48/drivers/i2c/busses/i2c-nforce2-s4985.c linux-= 2.6.32.48/drivers/i2c/busses/i2c-nforce2-s4985.c ---- linux-2.6.32.48/drivers/i2c/busses/i2c-nforce2-s4985.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/i2c/busses/i2c-nforce2-s4985.c linux-= 2.6.32.46/drivers/i2c/busses/i2c-nforce2-s4985.c +--- linux-2.6.32.46/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-08-23 21= :22:32.000000000 -0400 @@ -41,7 +41,7 @@ extern struct i2c_adapter *nforce2_smbus; =20 @@ -31456,9 +31479,9 @@ diff -urNp linux-2.6.32.48/drivers/i2c/busses/i2c= -nforce2-s4985.c linux-2.6.32.4 =20 /* Wrapper access functions for multiplexed SMBus */ static DEFINE_MUTEX(nforce2_lock); -diff -urNp linux-2.6.32.48/drivers/ide/ide-cd.c linux-2.6.32.48/drivers/= ide/ide-cd.c ---- linux-2.6.32.48/drivers/ide/ide-cd.c 2011-11-12 12:44:29.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/ide/ide-cd.c 2011-11-12 12:46:45.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/ide/ide-cd.c linux-2.6.32.46/drivers/= ide/ide-cd.c +--- linux-2.6.32.46/drivers/ide/ide-cd.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/ide/ide-cd.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -774,7 +774,7 @@ static void cdrom_do_block_pc(ide_drive_ alignment =3D queue_dma_alignment(q) | q->dma_pad_mask; if ((unsigned long)buf & alignment @@ -31468,9 +31491,9 @@ diff -urNp linux-2.6.32.48/drivers/ide/ide-cd.c l= inux-2.6.32.48/drivers/ide/ide- drive->dma =3D 0; } } -diff -urNp linux-2.6.32.48/drivers/ide/ide-floppy.c linux-2.6.32.48/driv= ers/ide/ide-floppy.c ---- linux-2.6.32.48/drivers/ide/ide-floppy.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ide/ide-floppy.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/ide/ide-floppy.c linux-2.6.32.46/driv= ers/ide/ide-floppy.c +--- linux-2.6.32.46/drivers/ide/ide-floppy.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/ide/ide-floppy.c 2011-05-16 21:46:57.0000000= 00 -0400 @@ -373,6 +373,8 @@ static int ide_floppy_get_capacity(ide_d u8 pc_buf[256], header_len, desc_cnt; int i, rc =3D 1, blocks, length; @@ -31480,9 +31503,9 @@ diff -urNp linux-2.6.32.48/drivers/ide/ide-floppy= .c linux-2.6.32.48/drivers/ide/ ide_debug_log(IDE_DBG_FUNC, "enter"); =20 drive->bios_cyl =3D 0; -diff -urNp linux-2.6.32.48/drivers/ide/setup-pci.c linux-2.6.32.48/drive= rs/ide/setup-pci.c ---- linux-2.6.32.48/drivers/ide/setup-pci.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ide/setup-pci.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/ide/setup-pci.c linux-2.6.32.46/drive= rs/ide/setup-pci.c +--- linux-2.6.32.46/drivers/ide/setup-pci.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/ide/setup-pci.c 2011-05-16 21:46:57.00000000= 0 -0400 @@ -542,6 +542,8 @@ int ide_pci_init_two(struct pci_dev *dev int ret, i, n_ports =3D dev2 ? 4 : 2; struct ide_hw hw[4], *hws[] =3D { NULL, NULL, NULL, NULL }; @@ -31492,9 +31515,9 @@ diff -urNp linux-2.6.32.48/drivers/ide/setup-pci.= c linux-2.6.32.48/drivers/ide/s for (i =3D 0; i < n_ports / 2; i++) { ret =3D ide_setup_pci_controller(pdev[i], d, !i); if (ret < 0) -diff -urNp linux-2.6.32.48/drivers/ieee1394/dv1394.c linux-2.6.32.48/dri= vers/ieee1394/dv1394.c ---- linux-2.6.32.48/drivers/ieee1394/dv1394.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ieee1394/dv1394.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/ieee1394/dv1394.c linux-2.6.32.46/dri= vers/ieee1394/dv1394.c +--- linux-2.6.32.46/drivers/ieee1394/dv1394.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/ieee1394/dv1394.c 2011-04-23 12:56:11.000000= 000 -0400 @@ -739,7 +739,7 @@ static void frame_prepare(struct video_c based upon DIF section and sequence */ @@ -31504,9 +31527,9 @@ diff -urNp linux-2.6.32.48/drivers/ieee1394/dv139= 4.c linux-2.6.32.48/drivers/iee frame_put_packet (struct frame *f, struct packet *p) { int section_type =3D p->data[0] >> 5; /* section type is in = bits 5 - 7 */ -diff -urNp linux-2.6.32.48/drivers/ieee1394/hosts.c linux-2.6.32.48/driv= ers/ieee1394/hosts.c ---- linux-2.6.32.48/drivers/ieee1394/hosts.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ieee1394/hosts.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/ieee1394/hosts.c linux-2.6.32.46/driv= ers/ieee1394/hosts.c +--- linux-2.6.32.46/drivers/ieee1394/hosts.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/ieee1394/hosts.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -78,6 +78,7 @@ static int dummy_isoctl(struct hpsb_iso=20 } =20 @@ -31515,9 +31538,9 @@ diff -urNp linux-2.6.32.48/drivers/ieee1394/hosts= .c linux-2.6.32.48/drivers/ieee .transmit_packet =3D dummy_transmit_packet, .devctl =3D dummy_devctl, .isoctl =3D dummy_isoctl -diff -urNp linux-2.6.32.48/drivers/ieee1394/init_ohci1394_dma.c linux-2.= 6.32.48/drivers/ieee1394/init_ohci1394_dma.c ---- linux-2.6.32.48/drivers/ieee1394/init_ohci1394_dma.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/ieee1394/init_ohci1394_dma.c 2011-11-12 12:4= 6:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/ieee1394/init_ohci1394_dma.c linux-2.= 6.32.46/drivers/ieee1394/init_ohci1394_dma.c +--- linux-2.6.32.46/drivers/ieee1394/init_ohci1394_dma.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/ieee1394/init_ohci1394_dma.c 2011-04-17 15:5= 6:46.000000000 -0400 @@ -257,7 +257,7 @@ void __init init_ohci1394_dma_on_all_con for (func =3D 0; func < 8; func++) { u32 class =3D read_pci_config(num,slot,func, @@ -31527,9 +31550,9 @@ diff -urNp linux-2.6.32.48/drivers/ieee1394/init_= ohci1394_dma.c linux-2.6.32.48/ continue; /* No device at this func */ =20 if (class>>8 !=3D PCI_CLASS_SERIAL_FIREWIRE_OHCI) -diff -urNp linux-2.6.32.48/drivers/ieee1394/ohci1394.c linux-2.6.32.48/d= rivers/ieee1394/ohci1394.c ---- linux-2.6.32.48/drivers/ieee1394/ohci1394.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ieee1394/ohci1394.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/ieee1394/ohci1394.c linux-2.6.32.46/d= rivers/ieee1394/ohci1394.c +--- linux-2.6.32.46/drivers/ieee1394/ohci1394.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/ieee1394/ohci1394.c 2011-04-23 12:56:11.0000= 00000 -0400 @@ -147,9 +147,9 @@ printk(level "%s: " fmt "\n" , OHCI1394_ printk(level "%s: fw-host%d: " fmt "\n" , OHCI1394_DRIVER_NAME, ohci->h= ost->id , ## args) =20 @@ -31542,9 +31565,9 @@ diff -urNp linux-2.6.32.48/drivers/ieee1394/ohci1= 394.c linux-2.6.32.48/drivers/i =20 static void dma_trm_tasklet(unsigned long data); static void dma_trm_reset(struct dma_trm_ctx *d); -diff -urNp linux-2.6.32.48/drivers/ieee1394/sbp2.c linux-2.6.32.48/drive= rs/ieee1394/sbp2.c ---- linux-2.6.32.48/drivers/ieee1394/sbp2.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ieee1394/sbp2.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/ieee1394/sbp2.c linux-2.6.32.46/drive= rs/ieee1394/sbp2.c +--- linux-2.6.32.46/drivers/ieee1394/sbp2.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/ieee1394/sbp2.c 2011-04-23 12:56:11.00000000= 0 -0400 @@ -2111,7 +2111,7 @@ MODULE_DESCRIPTION("IEEE-1394 SBP-2 prot MODULE_SUPPORTED_DEVICE(SBP2_DEVICE_NAME); MODULE_LICENSE("GPL"); @@ -31554,9 +31577,9 @@ diff -urNp linux-2.6.32.48/drivers/ieee1394/sbp2.= c linux-2.6.32.48/drivers/ieee1 { int ret; =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/core/cm.c linux-2.6.32.48/= drivers/infiniband/core/cm.c ---- linux-2.6.32.48/drivers/infiniband/core/cm.c 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/core/cm.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/infiniband/core/cm.c linux-2.6.32.46/= drivers/infiniband/core/cm.c +--- linux-2.6.32.46/drivers/infiniband/core/cm.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/infiniband/core/cm.c 2011-04-17 15:56:46.000= 000000 -0400 @@ -112,7 +112,7 @@ static char const counter_group_names[CM =20 struct cm_counter_group { @@ -31700,9 +31723,9 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ .show =3D cm_show_counter }; =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/core/fmr_pool.c linux-2.6.= 32.48/drivers/infiniband/core/fmr_pool.c ---- linux-2.6.32.48/drivers/infiniband/core/fmr_pool.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/core/fmr_pool.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/infiniband/core/fmr_pool.c linux-2.6.= 32.46/drivers/infiniband/core/fmr_pool.c +--- linux-2.6.32.46/drivers/infiniband/core/fmr_pool.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/infiniband/core/fmr_pool.c 2011-05-04 17:56:= 28.000000000 -0400 @@ -97,8 +97,8 @@ struct ib_fmr_pool { =20 struct task_struct *thread; @@ -31770,9 +31793,9 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/fmr_pool.c linux-2.6.32.48/dr wake_up_process(pool->thread); } } -diff -urNp linux-2.6.32.48/drivers/infiniband/core/sysfs.c linux-2.6.32.= 48/drivers/infiniband/core/sysfs.c ---- linux-2.6.32.48/drivers/infiniband/core/sysfs.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/core/sysfs.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/infiniband/core/sysfs.c linux-2.6.32.= 46/drivers/infiniband/core/sysfs.c +--- linux-2.6.32.46/drivers/infiniband/core/sysfs.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/infiniband/core/sysfs.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -79,7 +79,7 @@ static ssize_t port_attr_show(struct kob return port_attr->show(p, port_attr, buf); } @@ -31782,9 +31805,9 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/sysfs.c linux-2.6.32.48/drive .show =3D port_attr_show }; =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/core/uverbs_marshall.c lin= ux-2.6.32.48/drivers/infiniband/core/uverbs_marshall.c ---- linux-2.6.32.48/drivers/infiniband/core/uverbs_marshall.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/core/uverbs_marshall.c 2011-11-12= 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/infiniband/core/uverbs_marshall.c lin= ux-2.6.32.46/drivers/infiniband/core/uverbs_marshall.c +--- linux-2.6.32.46/drivers/infiniband/core/uverbs_marshall.c 2011-03-27= 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/infiniband/core/uverbs_marshall.c 2011-04-17= 15:56:46.000000000 -0400 @@ -40,18 +40,21 @@ void ib_copy_ah_attr_to_user(struct ib_u dst->grh.sgid_index =3D src->grh.sgid_index; dst->grh.hop_limit =3D src->grh.hop_limit; @@ -31815,9 +31838,9 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/uverbs_marshall.c linux-2.6.3 } EXPORT_SYMBOL(ib_copy_qp_attr_to_user); =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/ipath/ipath_fs.c linux-= 2.6.32.48/drivers/infiniband/hw/ipath/ipath_fs.c ---- linux-2.6.32.48/drivers/infiniband/hw/ipath/ipath_fs.c 2011-11-12 12= :44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/ipath/ipath_fs.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/infiniband/hw/ipath/ipath_fs.c linux-= 2.6.32.46/drivers/infiniband/hw/ipath/ipath_fs.c +--- linux-2.6.32.46/drivers/infiniband/hw/ipath/ipath_fs.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/infiniband/hw/ipath/ipath_fs.c 2011-05-16 21= :46:57.000000000 -0400 @@ -110,6 +110,8 @@ static ssize_t atomic_counters_read(stru struct infinipath_counters counters; struct ipath_devdata *dd; @@ -31827,9 +31850,9 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= ipath/ipath_fs.c linux-2.6.32.4 dd =3D file->f_path.dentry->d_inode->i_private; dd->ipath_f_read_counters(dd, &counters); =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/nes/nes.c linux-2.6.32.= 48/drivers/infiniband/hw/nes/nes.c ---- linux-2.6.32.48/drivers/infiniband/hw/nes/nes.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/nes/nes.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/infiniband/hw/nes/nes.c linux-2.6.32.= 46/drivers/infiniband/hw/nes/nes.c +--- linux-2.6.32.46/drivers/infiniband/hw/nes/nes.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/infiniband/hw/nes/nes.c 2011-05-04 17:56:28.= 000000000 -0400 @@ -102,7 +102,7 @@ MODULE_PARM_DESC(limit_maxrdreqsz, "Limi LIST_HEAD(nes_adapter_list); static LIST_HEAD(nes_dev_list); @@ -31848,9 +31871,9 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes.c linux-2.6.32.48/drive =20 /* Free the control structures */ =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/nes/nes_cm.c linux-2.6.= 32.48/drivers/infiniband/hw/nes/nes_cm.c ---- linux-2.6.32.48/drivers/infiniband/hw/nes/nes_cm.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/nes/nes_cm.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/infiniband/hw/nes/nes_cm.c linux-2.6.= 32.46/drivers/infiniband/hw/nes/nes_cm.c +--- linux-2.6.32.46/drivers/infiniband/hw/nes/nes_cm.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/infiniband/hw/nes/nes_cm.c 2011-05-04 17:56:= 28.000000000 -0400 @@ -69,11 +69,11 @@ u32 cm_packets_received; u32 cm_listens_created; u32 cm_listens_destroyed; @@ -32024,9 +32047,9 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr nes_debug(NES_DBG_CM, "cm_node =3D %p - cm_id =3D %p, jiffies =3D %lu\= n", cm_node, cm_id, jiffies); =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/nes/nes.h linux-2.6.32.= 48/drivers/infiniband/hw/nes/nes.h ---- linux-2.6.32.48/drivers/infiniband/hw/nes/nes.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/nes/nes.h 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/infiniband/hw/nes/nes.h linux-2.6.32.= 46/drivers/infiniband/hw/nes/nes.h +--- linux-2.6.32.46/drivers/infiniband/hw/nes/nes.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/infiniband/hw/nes/nes.h 2011-05-04 17:56:28.= 000000000 -0400 @@ -174,17 +174,17 @@ extern unsigned int nes_debug_level; extern unsigned int wqm_quanta; extern struct list_head nes_adapter_list; @@ -32073,9 +32096,9 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes.h linux-2.6.32.48/drive =20 extern u32 int_mod_timer_init; extern u32 int_mod_cq_depth_256; -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/nes/nes_nic.c linux-2.6= .32.48/drivers/infiniband/hw/nes/nes_nic.c ---- linux-2.6.32.48/drivers/infiniband/hw/nes/nes_nic.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/nes/nes_nic.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/infiniband/hw/nes/nes_nic.c linux-2.6= .32.46/drivers/infiniband/hw/nes/nes_nic.c +--- linux-2.6.32.46/drivers/infiniband/hw/nes/nes_nic.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/infiniband/hw/nes/nes_nic.c 2011-05-04 17:56= :28.000000000 -0400 @@ -1210,17 +1210,17 @@ static void nes_netdev_get_ethtool_stats target_stat_values[++index] =3D mh_detected; target_stat_values[++index] =3D mh_pauses_sent; @@ -32122,9 +32145,9 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_nic.c linux-2.6.32.48/d target_stat_values[++index] =3D int_mod_timer_init; target_stat_values[++index] =3D int_mod_cq_depth_1; target_stat_values[++index] =3D int_mod_cq_depth_4; -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/nes/nes_verbs.c linux-2= .6.32.48/drivers/infiniband/hw/nes/nes_verbs.c ---- linux-2.6.32.48/drivers/infiniband/hw/nes/nes_verbs.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/nes/nes_verbs.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/infiniband/hw/nes/nes_verbs.c linux-2= .6.32.46/drivers/infiniband/hw/nes/nes_verbs.c +--- linux-2.6.32.46/drivers/infiniband/hw/nes/nes_verbs.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/infiniband/hw/nes/nes_verbs.c 2011-05-04 17:= 56:28.000000000 -0400 @@ -45,9 +45,9 @@ =20 #include @@ -32156,9 +32179,9 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_verbs.c linux-2.6.32.48 nesqp->destroyed =3D 1; =20 /* Blow away the connection if it exists. */ -diff -urNp linux-2.6.32.48/drivers/input/gameport/gameport.c linux-2.6.3= 2.48/drivers/input/gameport/gameport.c ---- linux-2.6.32.48/drivers/input/gameport/gameport.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/input/gameport/gameport.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/input/gameport/gameport.c linux-2.6.3= 2.46/drivers/input/gameport/gameport.c +--- linux-2.6.32.46/drivers/input/gameport/gameport.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/input/gameport/gameport.c 2011-05-04 17:56:2= 8.000000000 -0400 @@ -515,13 +515,13 @@ EXPORT_SYMBOL(gameport_set_phys); */ static void gameport_init_port(struct gameport *gameport) @@ -32175,9 +32198,9 @@ diff -urNp linux-2.6.32.48/drivers/input/gameport= /gameport.c linux-2.6.32.48/dri gameport->dev.bus =3D &gameport_bus; gameport->dev.release =3D gameport_release_port; if (gameport->parent) -diff -urNp linux-2.6.32.48/drivers/input/input.c linux-2.6.32.48/drivers= /input/input.c ---- linux-2.6.32.48/drivers/input/input.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/input/input.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/input/input.c linux-2.6.32.46/drivers= /input/input.c +--- linux-2.6.32.46/drivers/input/input.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/input/input.c 2011-05-04 17:56:28.000000000 = -0400 @@ -1558,7 +1558,7 @@ EXPORT_SYMBOL(input_set_capability); */ int input_register_device(struct input_dev *dev) @@ -32196,9 +32219,9 @@ diff -urNp linux-2.6.32.48/drivers/input/input.c = linux-2.6.32.48/drivers/input/i =20 error =3D device_add(&dev->dev); if (error) -diff -urNp linux-2.6.32.48/drivers/input/joystick/sidewinder.c linux-2.6= .32.48/drivers/input/joystick/sidewinder.c ---- linux-2.6.32.48/drivers/input/joystick/sidewinder.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/input/joystick/sidewinder.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/input/joystick/sidewinder.c linux-2.6= .32.46/drivers/input/joystick/sidewinder.c +--- linux-2.6.32.46/drivers/input/joystick/sidewinder.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/input/joystick/sidewinder.c 2011-05-18 20:09= :36.000000000 -0400 @@ -30,6 +30,7 @@ #include #include @@ -32216,9 +32239,9 @@ diff -urNp linux-2.6.32.48/drivers/input/joystick= /sidewinder.c linux-2.6.32.48/d i =3D sw_read_packet(sw->gameport, buf, sw->length, 0); =20 if (sw->type =3D=3D SW_ID_3DP && sw->length =3D=3D 66 && i !=3D 66) { = /* Broken packet, try to fix */ -diff -urNp linux-2.6.32.48/drivers/input/joystick/xpad.c linux-2.6.32.48= /drivers/input/joystick/xpad.c ---- linux-2.6.32.48/drivers/input/joystick/xpad.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/input/joystick/xpad.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/input/joystick/xpad.c linux-2.6.32.46= /drivers/input/joystick/xpad.c +--- linux-2.6.32.46/drivers/input/joystick/xpad.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/input/joystick/xpad.c 2011-05-04 17:56:28.00= 0000000 -0400 @@ -621,7 +621,7 @@ static void xpad_led_set(struct led_clas =20 static int xpad_led_probe(struct usb_xpad *xpad) @@ -32237,9 +32260,9 @@ diff -urNp linux-2.6.32.48/drivers/input/joystick= /xpad.c linux-2.6.32.48/drivers =20 snprintf(led->name, sizeof(led->name), "xpad%ld", led_no); led->xpad =3D xpad; -diff -urNp linux-2.6.32.48/drivers/input/serio/serio.c linux-2.6.32.48/d= rivers/input/serio/serio.c ---- linux-2.6.32.48/drivers/input/serio/serio.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/input/serio/serio.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/input/serio/serio.c linux-2.6.32.46/d= rivers/input/serio/serio.c +--- linux-2.6.32.46/drivers/input/serio/serio.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/input/serio/serio.c 2011-05-04 17:56:28.0000= 00000 -0400 @@ -527,7 +527,7 @@ static void serio_release_port(struct de */ static void serio_init_port(struct serio *serio) @@ -32258,9 +32281,9 @@ diff -urNp linux-2.6.32.48/drivers/input/serio/se= rio.c linux-2.6.32.48/drivers/i serio->dev.bus =3D &serio_bus; serio->dev.release =3D serio_release_port; if (serio->parent) { -diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/common.c linux-2.6.32.48= /drivers/isdn/gigaset/common.c ---- linux-2.6.32.48/drivers/isdn/gigaset/common.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/gigaset/common.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/gigaset/common.c linux-2.6.32.46= /drivers/isdn/gigaset/common.c +--- linux-2.6.32.46/drivers/isdn/gigaset/common.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/gigaset/common.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -712,7 +712,7 @@ struct cardstate *gigaset_initcs(struct=20 cs->commands_pending =3D 0; cs->cur_at_seq =3D 0; @@ -32270,9 +32293,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/c= ommon.c linux-2.6.32.48/drivers cs->dev =3D NULL; cs->tty =3D NULL; cs->tty_dev =3D NULL; -diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/gigaset.h linux-2.6.32.4= 8/drivers/isdn/gigaset/gigaset.h ---- linux-2.6.32.48/drivers/isdn/gigaset/gigaset.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/gigaset/gigaset.h 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/gigaset/gigaset.h linux-2.6.32.4= 6/drivers/isdn/gigaset/gigaset.h +--- linux-2.6.32.46/drivers/isdn/gigaset/gigaset.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/gigaset/gigaset.h 2011-04-17 15:56:46.0= 00000000 -0400 @@ -34,6 +34,7 @@ #include #include @@ -32290,9 +32313,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/g= igaset.h linux-2.6.32.48/driver struct tty_struct *tty; struct tasklet_struct if_wake_tasklet; unsigned control_state; -diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/interface.c linux-2.6.32= .48/drivers/isdn/gigaset/interface.c ---- linux-2.6.32.48/drivers/isdn/gigaset/interface.c 2011-11-12 12:44:29= .000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/gigaset/interface.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/gigaset/interface.c linux-2.6.32= .46/drivers/isdn/gigaset/interface.c +--- linux-2.6.32.46/drivers/isdn/gigaset/interface.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/gigaset/interface.c 2011-04-17 15:56:46= .000000000 -0400 @@ -165,9 +165,7 @@ static int if_open(struct tty_struct *tt return -ERESTARTSYS; // FIXME -EINTR? tty->driver_data =3D cs; @@ -32380,9 +32403,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/i= nterface.c linux-2.6.32.48/driv dev_warn(cs->dev, "%s: device not opened\n", __func__); goto out; } -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/avm/b1.c linux-2.6.32.4= 8/drivers/isdn/hardware/avm/b1.c ---- linux-2.6.32.48/drivers/isdn/hardware/avm/b1.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/avm/b1.c 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/hardware/avm/b1.c linux-2.6.32.4= 6/drivers/isdn/hardware/avm/b1.c +--- linux-2.6.32.46/drivers/isdn/hardware/avm/b1.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/hardware/avm/b1.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -173,7 +173,7 @@ int b1_load_t4file(avmcard *card, capilo } if (left) { @@ -32401,9 +32424,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= avm/b1.c linux-2.6.32.48/driver return -EFAULT; } else { memcpy(buf, dp, left); -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/capidtmf.c linux-= 2.6.32.48/drivers/isdn/hardware/eicon/capidtmf.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/capidtmf.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/capidtmf.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/hardware/eicon/capidtmf.c linux-= 2.6.32.46/drivers/isdn/hardware/eicon/capidtmf.c +--- linux-2.6.32.46/drivers/isdn/hardware/eicon/capidtmf.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/hardware/eicon/capidtmf.c 2011-05-16 21= :46:57.000000000 -0400 @@ -498,6 +498,7 @@ void capidtmf_recv_block (t_capidtmf_sta byte goertzel_result_buffer[CAPIDTMF_RECV_TOTAL_FREQUENCY_COUNT]; short windowed_sample_buffer[CAPIDTMF_RECV_WINDOWED_SAMPLES]; @@ -32412,9 +32435,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/capidtmf.c linux-2.6.32.4 =20 if (p_state->recv.state & CAPIDTMF_RECV_STATE_DTMF_ACTIVE) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/capifunc.c linux-= 2.6.32.48/drivers/isdn/hardware/eicon/capifunc.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/capifunc.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/capifunc.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/hardware/eicon/capifunc.c linux-= 2.6.32.46/drivers/isdn/hardware/eicon/capifunc.c +--- linux-2.6.32.46/drivers/isdn/hardware/eicon/capifunc.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/hardware/eicon/capifunc.c 2011-05-16 21= :46:57.000000000 -0400 @@ -1055,6 +1055,8 @@ static int divacapi_connect_didd(void) IDI_SYNC_REQ req; DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; @@ -32424,9 +32447,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/capifunc.c linux-2.6.32.4 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); =20 for (x =3D 0; x < MAX_DESCRIPTORS; x++) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/diddfunc.c linux-= 2.6.32.48/drivers/isdn/hardware/eicon/diddfunc.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/diddfunc.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/diddfunc.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/hardware/eicon/diddfunc.c linux-= 2.6.32.46/drivers/isdn/hardware/eicon/diddfunc.c +--- linux-2.6.32.46/drivers/isdn/hardware/eicon/diddfunc.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/hardware/eicon/diddfunc.c 2011-05-16 21= :46:57.000000000 -0400 @@ -54,6 +54,8 @@ static int DIVA_INIT_FUNCTION connect_di IDI_SYNC_REQ req; DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; @@ -32436,9 +32459,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/diddfunc.c linux-2.6.32.4 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); =20 for (x =3D 0; x < MAX_DESCRIPTORS; x++) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/divasfunc.c linux= -2.6.32.48/drivers/isdn/hardware/eicon/divasfunc.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/divasfunc.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/divasfunc.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/hardware/eicon/divasfunc.c linux= -2.6.32.46/drivers/isdn/hardware/eicon/divasfunc.c +--- linux-2.6.32.46/drivers/isdn/hardware/eicon/divasfunc.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/hardware/eicon/divasfunc.c 2011-05-16 2= 1:46:57.000000000 -0400 @@ -161,6 +161,8 @@ static int DIVA_INIT_FUNCTION connect_di IDI_SYNC_REQ req; DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; @@ -32448,9 +32471,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/divasfunc.c linux-2.6.32. DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); =20 for (x =3D 0; x < MAX_DESCRIPTORS; x++) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/divasync.h linux-= 2.6.32.48/drivers/isdn/hardware/eicon/divasync.h ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/divasync.h 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/divasync.h 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/hardware/eicon/divasync.h linux-= 2.6.32.46/drivers/isdn/hardware/eicon/divasync.h +--- linux-2.6.32.46/drivers/isdn/hardware/eicon/divasync.h 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/hardware/eicon/divasync.h 2011-08-05 20= :33:55.000000000 -0400 @@ -146,7 +146,7 @@ typedef struct _diva_didd_add_adapter { } diva_didd_add_adapter_t; typedef struct _diva_didd_remove_adapter { @@ -32460,9 +32483,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/divasync.h linux-2.6.32.4 typedef struct _diva_didd_read_adapter_array { void * buffer; dword length; -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/idifunc.c linux-2= .6.32.48/drivers/isdn/hardware/eicon/idifunc.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/idifunc.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/idifunc.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/hardware/eicon/idifunc.c linux-2= .6.32.46/drivers/isdn/hardware/eicon/idifunc.c +--- linux-2.6.32.46/drivers/isdn/hardware/eicon/idifunc.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/hardware/eicon/idifunc.c 2011-05-16 21:= 46:57.000000000 -0400 @@ -188,6 +188,8 @@ static int DIVA_INIT_FUNCTION connect_di IDI_SYNC_REQ req; DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; @@ -32472,9 +32495,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/idifunc.c linux-2.6.32.48 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); =20 for (x =3D 0; x < MAX_DESCRIPTORS; x++) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/message.c linux-2= .6.32.48/drivers/isdn/hardware/eicon/message.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/message.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/message.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/hardware/eicon/message.c linux-2= .6.32.46/drivers/isdn/hardware/eicon/message.c +--- linux-2.6.32.46/drivers/isdn/hardware/eicon/message.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/hardware/eicon/message.c 2011-05-16 21:= 46:57.000000000 -0400 @@ -4889,6 +4889,8 @@ static void sig_ind(PLCI *plci) dword d; word w; @@ -32511,9 +32534,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/message.c linux-2.6.32.48 set_group_ind_mask (plci); /* all APPLs within this inc. call are all= owed to dial in */ =20 if(!a->group_optimization_enabled) -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/mntfunc.c linux-2= .6.32.48/drivers/isdn/hardware/eicon/mntfunc.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/mntfunc.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/mntfunc.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/hardware/eicon/mntfunc.c linux-2= .6.32.46/drivers/isdn/hardware/eicon/mntfunc.c +--- linux-2.6.32.46/drivers/isdn/hardware/eicon/mntfunc.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/hardware/eicon/mntfunc.c 2011-05-16 21:= 46:57.000000000 -0400 @@ -79,6 +79,8 @@ static int DIVA_INIT_FUNCTION connect_di IDI_SYNC_REQ req; DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; @@ -32523,9 +32546,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/mntfunc.c linux-2.6.32.48 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); =20 for (x =3D 0; x < MAX_DESCRIPTORS; x++) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/xdi_adapter.h lin= ux-2.6.32.48/drivers/isdn/hardware/eicon/xdi_adapter.h ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/xdi_adapter.h 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-11-12= 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/hardware/eicon/xdi_adapter.h lin= ux-2.6.32.46/drivers/isdn/hardware/eicon/xdi_adapter.h +--- linux-2.6.32.46/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-03-27= 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-08-05= 20:33:55.000000000 -0400 @@ -44,7 +44,7 @@ typedef struct _xdi_mbox_t { typedef struct _diva_os_idi_adapter_interface { diva_init_card_proc_t cleanup_adapter_proc; @@ -32535,9 +32558,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/xdi_adapter.h linux-2.6.3 =20 typedef struct _diva_os_xdi_adapter { struct list_head link; -diff -urNp linux-2.6.32.48/drivers/isdn/i4l/isdn_common.c linux-2.6.32.4= 8/drivers/isdn/i4l/isdn_common.c ---- linux-2.6.32.48/drivers/isdn/i4l/isdn_common.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/i4l/isdn_common.c 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/i4l/isdn_common.c linux-2.6.32.4= 6/drivers/isdn/i4l/isdn_common.c +--- linux-2.6.32.46/drivers/isdn/i4l/isdn_common.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/isdn/i4l/isdn_common.c 2011-05-16 21:46:57.0= 00000000 -0400 @@ -1290,6 +1290,8 @@ isdn_ioctl(struct inode *inode, struct f } iocpar; void __user *argp =3D (void __user *)arg; @@ -32547,9 +32570,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/i4l/isdn_= common.c linux-2.6.32.48/driver #define name iocpar.name #define bname iocpar.bname #define iocts iocpar.iocts -diff -urNp linux-2.6.32.48/drivers/isdn/icn/icn.c linux-2.6.32.48/driver= s/isdn/icn/icn.c ---- linux-2.6.32.48/drivers/isdn/icn/icn.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/isdn/icn/icn.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/icn/icn.c linux-2.6.32.46/driver= s/isdn/icn/icn.c +--- linux-2.6.32.46/drivers/isdn/icn/icn.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/isdn/icn/icn.c 2011-04-17 15:56:46.000000000= -0400 @@ -1044,7 +1044,7 @@ icn_writecmd(const u_char * buf, int len if (count > len) count =3D len; @@ -32559,9 +32582,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/icn/icn.c= linux-2.6.32.48/drivers/isdn/i return -EFAULT; } else memcpy(msg, buf, count); -diff -urNp linux-2.6.32.48/drivers/isdn/mISDN/socket.c linux-2.6.32.48/d= rivers/isdn/mISDN/socket.c ---- linux-2.6.32.48/drivers/isdn/mISDN/socket.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/isdn/mISDN/socket.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/mISDN/socket.c linux-2.6.32.46/d= rivers/isdn/mISDN/socket.c +--- linux-2.6.32.46/drivers/isdn/mISDN/socket.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/isdn/mISDN/socket.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -391,6 +391,7 @@ data_sock_ioctl(struct socket *sock, uns if (dev) { struct mISDN_devinfo di; @@ -32578,9 +32601,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/mISDN/soc= ket.c linux-2.6.32.48/drivers/i di.id =3D dev->id; di.Dprotocols =3D dev->Dprotocols; di.Bprotocols =3D dev->Bprotocols | get_all_Bprotocols(); -diff -urNp linux-2.6.32.48/drivers/isdn/sc/interrupt.c linux-2.6.32.48/d= rivers/isdn/sc/interrupt.c ---- linux-2.6.32.48/drivers/isdn/sc/interrupt.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/isdn/sc/interrupt.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/isdn/sc/interrupt.c linux-2.6.32.46/d= rivers/isdn/sc/interrupt.c +--- linux-2.6.32.46/drivers/isdn/sc/interrupt.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/isdn/sc/interrupt.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -112,11 +112,19 @@ irqreturn_t interrupt_handler(int dummy, } else if(callid>=3D0x0000 && callid<=3D0x7FFF) @@ -32615,9 +32638,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/sc/interr= upt.c linux-2.6.32.48/drivers/i continue; } =09 -diff -urNp linux-2.6.32.48/drivers/lguest/core.c linux-2.6.32.48/drivers= /lguest/core.c ---- linux-2.6.32.48/drivers/lguest/core.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/lguest/core.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/lguest/core.c linux-2.6.32.46/drivers= /lguest/core.c +--- linux-2.6.32.46/drivers/lguest/core.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/lguest/core.c 2011-04-17 15:56:46.000000000 = -0400 @@ -91,9 +91,17 @@ static __init int map_switcher(void) * it's worked so far. The end address needs +1 because __get_vm_area * allocates an extra guard page, so we need space for that. @@ -32645,9 +32668,9 @@ diff -urNp linux-2.6.32.48/drivers/lguest/core.c = linux-2.6.32.48/drivers/lguest/ end_switcher_text - start_switcher_text); =20 printk(KERN_INFO "lguest: mapped switcher at %p\n", -diff -urNp linux-2.6.32.48/drivers/lguest/x86/core.c linux-2.6.32.48/dri= vers/lguest/x86/core.c ---- linux-2.6.32.48/drivers/lguest/x86/core.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/lguest/x86/core.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/lguest/x86/core.c linux-2.6.32.46/dri= vers/lguest/x86/core.c +--- linux-2.6.32.46/drivers/lguest/x86/core.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/lguest/x86/core.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -59,7 +59,7 @@ static struct { /* Offset from where switcher.S was compiled to where we've copied it *= / static unsigned long switcher_offset(void) @@ -32689,9 +32712,9 @@ diff -urNp linux-2.6.32.48/drivers/lguest/x86/cor= e.c linux-2.6.32.48/drivers/lgu lguest_entry.segment =3D LGUEST_CS; =20 /* -diff -urNp linux-2.6.32.48/drivers/lguest/x86/switcher_32.S linux-2.6.32= .48/drivers/lguest/x86/switcher_32.S ---- linux-2.6.32.48/drivers/lguest/x86/switcher_32.S 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/lguest/x86/switcher_32.S 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/lguest/x86/switcher_32.S linux-2.6.32= .46/drivers/lguest/x86/switcher_32.S +--- linux-2.6.32.46/drivers/lguest/x86/switcher_32.S 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/lguest/x86/switcher_32.S 2011-04-17 15:56:46= .000000000 -0400 @@ -87,6 +87,7 @@ #include #include @@ -32750,9 +32773,9 @@ diff -urNp linux-2.6.32.48/drivers/lguest/x86/swi= tcher_32.S linux-2.6.32.48/driv =20 // Every interrupt can come to us here // But we must truly tell each apart. -diff -urNp linux-2.6.32.48/drivers/macintosh/via-pmu-backlight.c linux-2= .6.32.48/drivers/macintosh/via-pmu-backlight.c ---- linux-2.6.32.48/drivers/macintosh/via-pmu-backlight.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/macintosh/via-pmu-backlight.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/macintosh/via-pmu-backlight.c linux-2= .6.32.46/drivers/macintosh/via-pmu-backlight.c +--- linux-2.6.32.46/drivers/macintosh/via-pmu-backlight.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/macintosh/via-pmu-backlight.c 2011-04-17 15:= 56:46.000000000 -0400 @@ -15,7 +15,7 @@ =20 #define MAX_PMU_LEVEL 0xFF @@ -32771,9 +32794,9 @@ diff -urNp linux-2.6.32.48/drivers/macintosh/via-= pmu-backlight.c linux-2.6.32.48 .get_brightness =3D pmu_backlight_get_brightness, .update_status =3D pmu_backlight_update_status, =20 -diff -urNp linux-2.6.32.48/drivers/macintosh/via-pmu.c linux-2.6.32.48/d= rivers/macintosh/via-pmu.c ---- linux-2.6.32.48/drivers/macintosh/via-pmu.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/macintosh/via-pmu.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/macintosh/via-pmu.c linux-2.6.32.46/d= rivers/macintosh/via-pmu.c +--- linux-2.6.32.46/drivers/macintosh/via-pmu.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/macintosh/via-pmu.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -2232,7 +2232,7 @@ static int pmu_sleep_valid(suspend_state && (pmac_call_feature(PMAC_FTR_SLEEP_STATE, NULL, 0, -1) >=3D 0); } @@ -32783,9 +32806,9 @@ diff -urNp linux-2.6.32.48/drivers/macintosh/via-= pmu.c linux-2.6.32.48/drivers/m .enter =3D powerbook_sleep, .valid =3D pmu_sleep_valid, }; -diff -urNp linux-2.6.32.48/drivers/md/dm.c linux-2.6.32.48/drivers/md/dm= .c ---- linux-2.6.32.48/drivers/md/dm.c 2011-11-12 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/md/dm.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/md/dm.c linux-2.6.32.46/drivers/md/dm= .c +--- linux-2.6.32.46/drivers/md/dm.c 2011-08-09 18:35:29.000000000 -0400 ++++ linux-2.6.32.46/drivers/md/dm.c 2011-08-09 18:33:59.000000000 -0400 @@ -165,9 +165,9 @@ struct mapped_device { /* * Event handling. @@ -32840,9 +32863,9 @@ diff -urNp linux-2.6.32.48/drivers/md/dm.c linux-= 2.6.32.48/drivers/md/dm.c } =20 void dm_uevent_add(struct mapped_device *md, struct list_head *elist) -diff -urNp linux-2.6.32.48/drivers/md/dm-ioctl.c linux-2.6.32.48/drivers= /md/dm-ioctl.c ---- linux-2.6.32.48/drivers/md/dm-ioctl.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/md/dm-ioctl.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/md/dm-ioctl.c linux-2.6.32.46/drivers= /md/dm-ioctl.c +--- linux-2.6.32.46/drivers/md/dm-ioctl.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/md/dm-ioctl.c 2011-04-17 15:56:46.000000000 = -0400 @@ -1437,7 +1437,7 @@ static int validate_params(uint cmd, str cmd =3D=3D DM_LIST_VERSIONS_CMD) return 0; @@ -32852,9 +32875,9 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-ioctl.c = linux-2.6.32.48/drivers/md/dm-i if (!*param->name) { DMWARN("name not supplied when creating device"); return -EINVAL; -diff -urNp linux-2.6.32.48/drivers/md/dm-raid1.c linux-2.6.32.48/drivers= /md/dm-raid1.c ---- linux-2.6.32.48/drivers/md/dm-raid1.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/md/dm-raid1.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/md/dm-raid1.c linux-2.6.32.46/drivers= /md/dm-raid1.c +--- linux-2.6.32.46/drivers/md/dm-raid1.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/md/dm-raid1.c 2011-05-04 17:56:28.000000000 = -0400 @@ -41,7 +41,7 @@ enum dm_raid1_error { =20 struct mirror { @@ -32927,9 +32950,9 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-raid1.c = linux-2.6.32.48/drivers/md/dm-r return 'A'; =20 return (test_bit(DM_RAID1_WRITE_ERROR, &(m->error_type))) ? 'D' : -diff -urNp linux-2.6.32.48/drivers/md/dm-stripe.c linux-2.6.32.48/driver= s/md/dm-stripe.c ---- linux-2.6.32.48/drivers/md/dm-stripe.c 2011-11-12 12:44:29.000000000= -0500 -+++ linux-2.6.32.48/drivers/md/dm-stripe.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/md/dm-stripe.c linux-2.6.32.46/driver= s/md/dm-stripe.c +--- linux-2.6.32.46/drivers/md/dm-stripe.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/md/dm-stripe.c 2011-05-04 17:56:28.000000000= -0400 @@ -20,7 +20,7 @@ struct stripe { struct dm_dev *dev; sector_t physical_start; @@ -32968,9 +32991,9 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-stripe.c= linux-2.6.32.48/drivers/md/dm- DM_IO_ERROR_THRESHOLD) queue_work(kstriped, &sc->kstriped_ws); } -diff -urNp linux-2.6.32.48/drivers/md/dm-sysfs.c linux-2.6.32.48/drivers= /md/dm-sysfs.c ---- linux-2.6.32.48/drivers/md/dm-sysfs.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/md/dm-sysfs.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/md/dm-sysfs.c linux-2.6.32.46/drivers= /md/dm-sysfs.c +--- linux-2.6.32.46/drivers/md/dm-sysfs.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/md/dm-sysfs.c 2011-04-17 15:56:46.000000000 = -0400 @@ -75,7 +75,7 @@ static struct attribute *dm_attrs[] =3D { NULL, }; @@ -32980,9 +33003,9 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-sysfs.c = linux-2.6.32.48/drivers/md/dm-s .show =3D dm_attr_show, }; =20 -diff -urNp linux-2.6.32.48/drivers/md/dm-table.c linux-2.6.32.48/drivers= /md/dm-table.c ---- linux-2.6.32.48/drivers/md/dm-table.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/md/dm-table.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/md/dm-table.c linux-2.6.32.46/drivers= /md/dm-table.c +--- linux-2.6.32.46/drivers/md/dm-table.c 2011-06-25 12:55:34.000000000 = -0400 ++++ linux-2.6.32.46/drivers/md/dm-table.c 2011-06-25 12:56:37.000000000 = -0400 @@ -376,7 +376,7 @@ static int device_area_is_invalid(struct if (!dev_size) return 0; @@ -32992,9 +33015,9 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-table.c = linux-2.6.32.48/drivers/md/dm-t DMWARN("%s: %s too small for target: " "start=3D%llu, len=3D%llu, dev_size=3D%llu", dm_device_name(ti->table->md), bdevname(bdev, b), -diff -urNp linux-2.6.32.48/drivers/md/md.c linux-2.6.32.48/drivers/md/md= .c ---- linux-2.6.32.48/drivers/md/md.c 2011-11-12 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/md/md.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/md/md.c linux-2.6.32.46/drivers/md/md= .c +--- linux-2.6.32.46/drivers/md/md.c 2011-07-13 17:23:04.000000000 -0400 ++++ linux-2.6.32.46/drivers/md/md.c 2011-07-13 17:23:18.000000000 -0400 @@ -153,10 +153,10 @@ static int start_readonly; * start build, activate spare */ @@ -33017,7 +33040,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c wake_up(&md_event_waiters); } =20 -@@ -1226,7 +1226,7 @@ static int super_1_load(mdk_rdev_t *rdev +@@ -1218,7 +1218,7 @@ static int super_1_load(mdk_rdev_t *rdev =20 rdev->preferred_minor =3D 0xffff; rdev->data_offset =3D le64_to_cpu(sb->data_offset); @@ -33026,7 +33049,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c =20 rdev->sb_size =3D le32_to_cpu(sb->max_dev) * 2 + 256; bmask =3D queue_logical_block_size(rdev->bdev->bd_disk->queue)-1; -@@ -1400,7 +1400,7 @@ static void super_1_sync(mddev_t *mddev, +@@ -1392,7 +1392,7 @@ static void super_1_sync(mddev_t *mddev, else sb->resync_offset =3D cpu_to_le64(0); =20 @@ -33035,7 +33058,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c =20 sb->raid_disks =3D cpu_to_le32(mddev->raid_disks); sb->size =3D cpu_to_le64(mddev->dev_sectors); -@@ -2222,7 +2222,7 @@ __ATTR(state, S_IRUGO|S_IWUSR, state_sho +@@ -2214,7 +2214,7 @@ __ATTR(state, S_IRUGO|S_IWUSR, state_sho static ssize_t errors_show(mdk_rdev_t *rdev, char *page) { @@ -33044,7 +33067,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c } =20 static ssize_t -@@ -2231,7 +2231,7 @@ errors_store(mdk_rdev_t *rdev, const cha +@@ -2223,7 +2223,7 @@ errors_store(mdk_rdev_t *rdev, const cha char *e; unsigned long n =3D simple_strtoul(buf, &e, 10); if (*buf && (*e =3D=3D 0 || *e =3D=3D '\n')) { @@ -33053,7 +33076,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c return len; } return -EINVAL; -@@ -2525,7 +2525,7 @@ static void rdev_free(struct kobject *ko +@@ -2517,7 +2517,7 @@ static void rdev_free(struct kobject *ko mdk_rdev_t *rdev =3D container_of(ko, mdk_rdev_t, kobj); kfree(rdev); } @@ -33062,7 +33085,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c .show =3D rdev_attr_show, .store =3D rdev_attr_store, }; -@@ -2574,8 +2574,8 @@ static mdk_rdev_t *md_import_device(dev_ +@@ -2566,8 +2566,8 @@ static mdk_rdev_t *md_import_device(dev_ rdev->data_offset =3D 0; rdev->sb_events =3D 0; atomic_set(&rdev->nr_pending, 0); @@ -33073,7 +33096,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c =20 size =3D rdev->bdev->bd_inode->i_size >> BLOCK_SIZE_BITS; if (!size) { -@@ -3895,7 +3895,7 @@ static void md_free(struct kobject *ko) +@@ -3887,7 +3887,7 @@ static void md_free(struct kobject *ko) kfree(mddev); } =20 @@ -33082,7 +33105,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c .show =3D md_attr_show, .store =3D md_attr_store, }; -@@ -4482,7 +4482,8 @@ out: +@@ -4474,7 +4474,8 @@ out: err =3D 0; blk_integrity_unregister(disk); md_new_event(mddev); @@ -33092,7 +33115,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c return err; } =20 -@@ -5962,7 +5963,7 @@ static int md_seq_show(struct seq_file * +@@ -5954,7 +5955,7 @@ static int md_seq_show(struct seq_file * =20 spin_unlock(&pers_lock); seq_printf(seq, "\n"); @@ -33101,7 +33124,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c return 0; } if (v =3D=3D (void*)2) { -@@ -6051,7 +6052,7 @@ static int md_seq_show(struct seq_file * +@@ -6043,7 +6044,7 @@ static int md_seq_show(struct seq_file * chunk_kb ? "KB" : "B"); if (bitmap->file) { seq_printf(seq, ", file: "); @@ -33110,7 +33133,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c } =20 seq_printf(seq, "\n"); -@@ -6085,7 +6086,7 @@ static int md_seq_open(struct inode *ino +@@ -6077,7 +6078,7 @@ static int md_seq_open(struct inode *ino else { struct seq_file *p =3D file->private_data; p->private =3D mi; @@ -33119,7 +33142,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c } return error; } -@@ -6101,7 +6102,7 @@ static unsigned int mdstat_poll(struct f +@@ -6093,7 +6094,7 @@ static unsigned int mdstat_poll(struct f /* always allow read */ mask =3D POLLIN | POLLRDNORM; =20 @@ -33128,7 +33151,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c mask |=3D POLLERR | POLLPRI; return mask; } -@@ -6145,7 +6146,7 @@ static int is_mddev_idle(mddev_t *mddev, +@@ -6137,7 +6138,7 @@ static int is_mddev_idle(mddev_t *mddev, struct gendisk *disk =3D rdev->bdev->bd_contains->bd_disk; curr_events =3D (int)part_stat_read(&disk->part0, sectors[0]) + (int)part_stat_read(&disk->part0, sectors[1]) - @@ -33137,9 +33160,9 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c /* sync IO will cause sync_io to increase before the disk_stats * as sync_io is counted when a request starts, and * disk_stats is counted when it completes. -diff -urNp linux-2.6.32.48/drivers/md/md.h linux-2.6.32.48/drivers/md/md= .h ---- linux-2.6.32.48/drivers/md/md.h 2011-11-12 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/md/md.h 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/md/md.h linux-2.6.32.46/drivers/md/md= .h +--- linux-2.6.32.46/drivers/md/md.h 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/md/md.h 2011-05-04 17:56:20.000000000 -0400 @@ -94,10 +94,10 @@ struct mdk_rdev_s * only maintained for arrays that * support hot removal @@ -33162,9 +33185,9 @@ diff -urNp linux-2.6.32.48/drivers/md/md.h linux-= 2.6.32.48/drivers/md/md.h } =20 struct mdk_personality -diff -urNp linux-2.6.32.48/drivers/md/raid10.c linux-2.6.32.48/drivers/m= d/raid10.c ---- linux-2.6.32.48/drivers/md/raid10.c 2011-11-12 12:44:29.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/md/raid10.c 2011-11-12 12:46:45.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/md/raid10.c linux-2.6.32.46/drivers/m= d/raid10.c +--- linux-2.6.32.46/drivers/md/raid10.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/md/raid10.c 2011-05-04 17:56:28.000000000 -0= 400 @@ -1255,7 +1255,7 @@ static void end_sync_read(struct bio *bi if (test_bit(BIO_UPTODATE, &bio->bi_flags)) set_bit(R10BIO_Uptodate, &r10_bio->state); @@ -33183,9 +33206,9 @@ diff -urNp linux-2.6.32.48/drivers/md/raid10.c li= nux-2.6.32.48/drivers/md/raid10 if (sync_page_io(rdev->bdev, r10_bio->devs[sl].addr + sect + rdev->data_offset, -diff -urNp linux-2.6.32.48/drivers/md/raid1.c linux-2.6.32.48/drivers/md= /raid1.c ---- linux-2.6.32.48/drivers/md/raid1.c 2011-11-12 12:44:29.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/md/raid1.c 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/md/raid1.c linux-2.6.32.46/drivers/md= /raid1.c +--- linux-2.6.32.46/drivers/md/raid1.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/md/raid1.c 2011-05-04 17:56:28.000000000 -04= 00 @@ -1415,7 +1415,7 @@ static void sync_request_write(mddev_t * if (r1_bio->bios[d]->bi_end_io !=3D end_sync_read) continue; @@ -33204,9 +33227,9 @@ diff -urNp linux-2.6.32.48/drivers/md/raid1.c lin= ux-2.6.32.48/drivers/md/raid1.c printk(KERN_INFO "raid1:%s: read error corrected " "(%d sectors at %llu on %s)\n", -diff -urNp linux-2.6.32.48/drivers/md/raid5.c linux-2.6.32.48/drivers/md= /raid5.c ---- linux-2.6.32.48/drivers/md/raid5.c 2011-11-12 12:44:29.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/md/raid5.c 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/md/raid5.c linux-2.6.32.46/drivers/md= /raid5.c +--- linux-2.6.32.46/drivers/md/raid5.c 2011-06-25 12:55:34.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/md/raid5.c 2011-06-25 12:58:39.000000000 -04= 00 @@ -482,7 +482,7 @@ static void ops_run_io(struct stripe_hea bi->bi_next =3D NULL; if ((rw & WRITE) && @@ -33252,9 +33275,9 @@ diff -urNp linux-2.6.32.48/drivers/md/raid5.c lin= ux-2.6.32.48/drivers/md/raid5.c =20 chunk_offset =3D sector_div(new_sector, sectors_per_chunk); stripe =3D new_sector; -diff -urNp linux-2.6.32.48/drivers/media/common/saa7146_hlp.c linux-2.6.= 32.48/drivers/media/common/saa7146_hlp.c ---- linux-2.6.32.48/drivers/media/common/saa7146_hlp.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/common/saa7146_hlp.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/common/saa7146_hlp.c linux-2.6.= 32.46/drivers/media/common/saa7146_hlp.c +--- linux-2.6.32.46/drivers/media/common/saa7146_hlp.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/common/saa7146_hlp.c 2011-05-16 21:46:= 57.000000000 -0400 @@ -353,6 +353,8 @@ static void calculate_clipping_registers =20 int x[32], y[32], w[32], h[32]; @@ -33264,9 +33287,9 @@ diff -urNp linux-2.6.32.48/drivers/media/common/s= aa7146_hlp.c linux-2.6.32.48/dr /* clear out memory */ memset(&line_list[0], 0x00, sizeof(u32)*32); memset(&pixel_list[0], 0x00, sizeof(u32)*32); -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_ca_en50221.c l= inux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_ca_en50221.c ---- linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2009-12-= 02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-11-= 12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/dvb/dvb-core/dvb_ca_en50221.c l= inux-2.6.32.46/drivers/media/dvb/dvb-core/dvb_ca_en50221.c +--- linux-2.6.32.46/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-03-= 27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-05-= 16 21:46:57.000000000 -0400 @@ -590,6 +590,8 @@ static int dvb_ca_en50221_read_data(stru u8 buf[HOST_LINK_BUF_SIZE]; int i; @@ -33285,9 +33308,9 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-= core/dvb_ca_en50221.c linux-2.6 dprintk("%s\n", __func__); =20 /* Incoming packet has a 2 byte header. hdr[0] =3D slot_id, hdr[1] =3D= connection_id */ -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_demux.h linux-= 2.6.32.48/drivers/media/dvb/dvb-core/dvb_demux.h ---- linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_demux.h 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_demux.h 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/dvb/dvb-core/dvb_demux.h linux-= 2.6.32.46/drivers/media/dvb/dvb-core/dvb_demux.h +--- linux-2.6.32.46/drivers/media/dvb/dvb-core/dvb_demux.h 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/dvb/dvb-core/dvb_demux.h 2011-08-05 20= :33:55.000000000 -0400 @@ -71,7 +71,7 @@ struct dvb_demux_feed { union { dmx_ts_cb ts; @@ -33297,9 +33320,9 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-= core/dvb_demux.h linux-2.6.32.4 =20 struct dvb_demux *demux; void *priv; -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-core/dvbdev.c linux-2.6= .32.48/drivers/media/dvb/dvb-core/dvbdev.c ---- linux-2.6.32.48/drivers/media/dvb/dvb-core/dvbdev.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-core/dvbdev.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/dvb/dvb-core/dvbdev.c linux-2.6= .32.46/drivers/media/dvb/dvb-core/dvbdev.c +--- linux-2.6.32.46/drivers/media/dvb/dvb-core/dvbdev.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/dvb/dvb-core/dvbdev.c 2011-08-23 21:22= :32.000000000 -0400 @@ -191,7 +191,7 @@ int dvb_register_device(struct dvb_adapt const struct dvb_device *template, void *priv, int type) { @@ -33309,9 +33332,9 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-= core/dvbdev.c linux-2.6.32.48/d struct device *clsdev; int minor; int id; -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-usb/cxusb.c linux-2.6.3= 2.48/drivers/media/dvb/dvb-usb/cxusb.c ---- linux-2.6.32.48/drivers/media/dvb/dvb-usb/cxusb.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-usb/cxusb.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/dvb/dvb-usb/cxusb.c linux-2.6.3= 2.46/drivers/media/dvb/dvb-usb/cxusb.c +--- linux-2.6.32.46/drivers/media/dvb/dvb-usb/cxusb.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/dvb/dvb-usb/cxusb.c 2011-08-05 20:33:5= 5.000000000 -0400 @@ -1040,7 +1040,7 @@ static struct dib0070_config dib7070p_di struct dib0700_adapter_state { int (*set_param_save) (struct dvb_frontend *, @@ -33321,9 +33344,9 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-= usb/cxusb.c linux-2.6.32.48/dri =20 static int dib7070_set_param_override(struct dvb_frontend *fe, struct dvb_frontend_parameters *fep) -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_core.c linu= x-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_core.c ---- linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_core.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-11-12 = 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/dvb/dvb-usb/dib0700_core.c linu= x-2.6.32.46/drivers/media/dvb/dvb-usb/dib0700_core.c +--- linux-2.6.32.46/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-03-27 = 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-05-16 = 21:46:57.000000000 -0400 @@ -332,6 +332,8 @@ int dib0700_download_firmware(struct usb =20 u8 buf[260]; @@ -33333,9 +33356,9 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-= usb/dib0700_core.c linux-2.6.32 while ((ret =3D dvb_usb_get_hexline(fw, &hx, &pos)) > 0) { deb_fwdata("writing to address 0x%08x (buffer: 0x%02x %02x)\n",hx.add= r, hx.len, hx.chk); =20 -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_devices.c l= inux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_devices.c ---- linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_devices.c 2011-11-= 12 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_devices.c 2011-11-= 12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/dvb/dvb-usb/dib0700_devices.c l= inux-2.6.32.46/drivers/media/dvb/dvb-usb/dib0700_devices.c +--- linux-2.6.32.46/drivers/media/dvb/dvb-usb/dib0700_devices.c 2011-05-= 10 22:12:01.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/dvb/dvb-usb/dib0700_devices.c 2011-08-= 05 20:33:55.000000000 -0400 @@ -28,7 +28,7 @@ MODULE_PARM_DESC(force_lna_activation, " =20 struct dib0700_adapter_state { @@ -33345,9 +33368,9 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-= usb/dib0700_devices.c linux-2.6 =20 /* Hauppauge Nova-T 500 (aka Bristol) * has a LNA on GPIO0 which is enabled by setting 1 */ -diff -urNp linux-2.6.32.48/drivers/media/dvb/frontends/dib3000.h linux-2= .6.32.48/drivers/media/dvb/frontends/dib3000.h ---- linux-2.6.32.48/drivers/media/dvb/frontends/dib3000.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/frontends/dib3000.h 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/dvb/frontends/dib3000.h linux-2= .6.32.46/drivers/media/dvb/frontends/dib3000.h +--- linux-2.6.32.46/drivers/media/dvb/frontends/dib3000.h 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/dvb/frontends/dib3000.h 2011-08-05 20:= 33:55.000000000 -0400 @@ -39,7 +39,7 @@ struct dib_fe_xfer_ops int (*fifo_ctrl)(struct dvb_frontend *fe, int onoff); int (*pid_ctrl)(struct dvb_frontend *fe, int index, int pid, int onoff= ); @@ -33357,9 +33380,9 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/fron= tends/dib3000.h linux-2.6.32.48 =20 #if defined(CONFIG_DVB_DIB3000MB) || (defined(CONFIG_DVB_DIB3000MB_MODU= LE) && defined(MODULE)) extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_confi= g* config, -diff -urNp linux-2.6.32.48/drivers/media/dvb/frontends/or51211.c linux-2= .6.32.48/drivers/media/dvb/frontends/or51211.c ---- linux-2.6.32.48/drivers/media/dvb/frontends/or51211.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/frontends/or51211.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/dvb/frontends/or51211.c linux-2= .6.32.46/drivers/media/dvb/frontends/or51211.c +--- linux-2.6.32.46/drivers/media/dvb/frontends/or51211.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/dvb/frontends/or51211.c 2011-05-16 21:= 46:57.000000000 -0400 @@ -113,6 +113,8 @@ static int or51211_load_firmware (struct u8 tudata[585]; int i; @@ -33369,9 +33392,9 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/fron= tends/or51211.c linux-2.6.32.48 dprintk("Firmware is %zd bytes\n",fw->size); =20 /* Get eprom data */ -diff -urNp linux-2.6.32.48/drivers/media/radio/radio-cadet.c linux-2.6.3= 2.48/drivers/media/radio/radio-cadet.c ---- linux-2.6.32.48/drivers/media/radio/radio-cadet.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/radio/radio-cadet.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/radio/radio-cadet.c linux-2.6.3= 2.46/drivers/media/radio/radio-cadet.c +--- linux-2.6.32.46/drivers/media/radio/radio-cadet.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/radio/radio-cadet.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -347,7 +347,7 @@ static ssize_t cadet_read(struct file *f while (i < count && dev->rdsin !=3D dev->rdsout) readbuf[i++] =3D dev->rdsbuf[dev->rdsout++]; @@ -33381,9 +33404,9 @@ diff -urNp linux-2.6.32.48/drivers/media/radio/ra= dio-cadet.c linux-2.6.32.48/dri return -EFAULT; return i; } -diff -urNp linux-2.6.32.48/drivers/media/video/cx18/cx18-driver.c linux-= 2.6.32.48/drivers/media/video/cx18/cx18-driver.c ---- linux-2.6.32.48/drivers/media/video/cx18/cx18-driver.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/cx18/cx18-driver.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/cx18/cx18-driver.c linux-= 2.6.32.46/drivers/media/video/cx18/cx18-driver.c +--- linux-2.6.32.46/drivers/media/video/cx18/cx18-driver.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/cx18/cx18-driver.c 2011-05-16 21= :46:57.000000000 -0400 @@ -56,7 +56,7 @@ static struct pci_device_id cx18_pci_tbl =20 MODULE_DEVICE_TABLE(pci, cx18_pci_tbl); @@ -33411,9 +33434,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/cx= 18/cx18-driver.c linux-2.6.32.4 if (i >=3D CX18_MAX_CARDS) { printk(KERN_ERR "cx18: cannot manage card %d, driver has a " "limit of 0 - %d\n", i, CX18_MAX_CARDS - 1); -diff -urNp linux-2.6.32.48/drivers/media/video/ivtv/ivtv-driver.c linux-= 2.6.32.48/drivers/media/video/ivtv/ivtv-driver.c ---- linux-2.6.32.48/drivers/media/video/ivtv/ivtv-driver.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/ivtv/ivtv-driver.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/ivtv/ivtv-driver.c linux-= 2.6.32.46/drivers/media/video/ivtv/ivtv-driver.c +--- linux-2.6.32.46/drivers/media/video/ivtv/ivtv-driver.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/ivtv/ivtv-driver.c 2011-05-04 17= :56:28.000000000 -0400 @@ -79,7 +79,7 @@ static struct pci_device_id ivtv_pci_tbl MODULE_DEVICE_TABLE(pci,ivtv_pci_tbl); =20 @@ -33423,9 +33446,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/iv= tv/ivtv-driver.c linux-2.6.32.4 =20 /* Parameter declarations */ static int cardtype[IVTV_MAX_CARDS]; -diff -urNp linux-2.6.32.48/drivers/media/video/omap24xxcam.c linux-2.6.3= 2.48/drivers/media/video/omap24xxcam.c ---- linux-2.6.32.48/drivers/media/video/omap24xxcam.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/omap24xxcam.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/omap24xxcam.c linux-2.6.3= 2.46/drivers/media/video/omap24xxcam.c +--- linux-2.6.32.46/drivers/media/video/omap24xxcam.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/omap24xxcam.c 2011-05-04 17:56:2= 8.000000000 -0400 @@ -401,7 +401,7 @@ static void omap24xxcam_vbq_complete(str spin_unlock_irqrestore(&cam->core_enable_disable_lock, flags); =20 @@ -33435,9 +33458,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/om= ap24xxcam.c linux-2.6.32.48/dri if (csr & csr_error) { vb->state =3D VIDEOBUF_ERROR; if (!atomic_read(&fh->cam->in_reset)) { -diff -urNp linux-2.6.32.48/drivers/media/video/omap24xxcam.h linux-2.6.3= 2.48/drivers/media/video/omap24xxcam.h ---- linux-2.6.32.48/drivers/media/video/omap24xxcam.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/omap24xxcam.h 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/omap24xxcam.h linux-2.6.3= 2.46/drivers/media/video/omap24xxcam.h +--- linux-2.6.32.46/drivers/media/video/omap24xxcam.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/omap24xxcam.h 2011-05-04 17:56:2= 8.000000000 -0400 @@ -533,7 +533,7 @@ struct omap24xxcam_fh { spinlock_t vbq_lock; /* spinlock for the videobuf queue */ struct videobuf_queue vbq; @@ -33447,9 +33470,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/om= ap24xxcam.h linux-2.6.32.48/dri /* accessing cam here doesn't need serialisation: it's constant */ struct omap24xxcam_device *cam; }; -diff -urNp linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-eeprom.c = linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-eeprom.c ---- linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2009-12= -02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-11= -12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/pvrusb2/pvrusb2-eeprom.c = linux-2.6.32.46/drivers/media/video/pvrusb2/pvrusb2-eeprom.c +--- linux-2.6.32.46/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-03= -27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-05= -16 21:46:57.000000000 -0400 @@ -119,6 +119,8 @@ int pvr2_eeprom_analyze(struct pvr2_hdw=20 u8 *eeprom; struct tveeprom tvdata; @@ -33459,9 +33482,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/pv= rusb2/pvrusb2-eeprom.c linux-2. memset(&tvdata,0,sizeof(tvdata)); =20 eeprom =3D pvr2_eeprom_fetch(hdw); -diff -urNp linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-hdw-inter= nal.h linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h ---- linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h 2= 009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h 2= 011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/pvrusb2/pvrusb2-hdw-inter= nal.h linux-2.6.32.46/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h +--- linux-2.6.32.46/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h 2= 011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h 2= 011-08-23 21:22:38.000000000 -0400 @@ -195,7 +195,7 @@ struct pvr2_hdw { =20 /* I2C stuff */ @@ -33471,9 +33494,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/pv= rusb2/pvrusb2-hdw-internal.h li pvr2_i2c_func i2c_func[PVR2_I2C_FUNC_CNT]; int i2c_cx25840_hack_state; int i2c_linked; -diff -urNp linux-2.6.32.48/drivers/media/video/saa7134/saa6752hs.c linux= -2.6.32.48/drivers/media/video/saa7134/saa6752hs.c ---- linux-2.6.32.48/drivers/media/video/saa7134/saa6752hs.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/saa7134/saa6752hs.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/saa7134/saa6752hs.c linux= -2.6.32.46/drivers/media/video/saa7134/saa6752hs.c +--- linux-2.6.32.46/drivers/media/video/saa7134/saa6752hs.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/saa7134/saa6752hs.c 2011-05-16 2= 1:46:57.000000000 -0400 @@ -683,6 +683,8 @@ static int saa6752hs_init(struct v4l2_su unsigned char localPAT[256]; unsigned char localPMT[256]; @@ -33483,9 +33506,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/sa= a7134/saa6752hs.c linux-2.6.32. /* Set video format - must be done first as it resets other settings *= / set_reg8(client, 0x41, h->video_format); =20 -diff -urNp linux-2.6.32.48/drivers/media/video/saa7164/saa7164-cmd.c lin= ux-2.6.32.48/drivers/media/video/saa7164/saa7164-cmd.c ---- linux-2.6.32.48/drivers/media/video/saa7164/saa7164-cmd.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/saa7164/saa7164-cmd.c 2011-11-12= 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/saa7164/saa7164-cmd.c lin= ux-2.6.32.46/drivers/media/video/saa7164/saa7164-cmd.c +--- linux-2.6.32.46/drivers/media/video/saa7164/saa7164-cmd.c 2011-03-27= 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/saa7164/saa7164-cmd.c 2011-05-16= 21:46:57.000000000 -0400 @@ -87,6 +87,8 @@ int saa7164_irq_dequeue(struct saa7164_d wait_queue_head_t *q =3D 0; dprintk(DBGLVL_CMD, "%s()\n", __func__); @@ -33504,9 +33527,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/sa= a7164/saa7164-cmd.c linux-2.6.3 while (loop) { =20 tmComResInfo_t tRsp =3D { 0, 0, 0, 0, 0, 0 }; -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/ibmcam.c linux-2= .6.32.48/drivers/media/video/usbvideo/ibmcam.c ---- linux-2.6.32.48/drivers/media/video/usbvideo/ibmcam.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/ibmcam.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/usbvideo/ibmcam.c linux-2= .6.32.46/drivers/media/video/usbvideo/ibmcam.c +--- linux-2.6.32.46/drivers/media/video/usbvideo/ibmcam.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/usbvideo/ibmcam.c 2011-08-05 20:= 33:55.000000000 -0400 @@ -3947,15 +3947,15 @@ static struct usb_device_id id_table[] =3D static int __init ibmcam_init(void) { @@ -33532,9 +33555,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/us= bvideo/ibmcam.c linux-2.6.32.48 return usbvideo_register( &cams, MAX_IBMCAM, -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/konicawc.c linux= -2.6.32.48/drivers/media/video/usbvideo/konicawc.c ---- linux-2.6.32.48/drivers/media/video/usbvideo/konicawc.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/konicawc.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/usbvideo/konicawc.c linux= -2.6.32.46/drivers/media/video/usbvideo/konicawc.c +--- linux-2.6.32.46/drivers/media/video/usbvideo/konicawc.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/usbvideo/konicawc.c 2011-08-05 2= 0:33:55.000000000 -0400 @@ -225,7 +225,7 @@ static void konicawc_register_input(stru int error; =20 @@ -33571,9 +33594,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/us= bvideo/konicawc.c linux-2.6.32. return usbvideo_register( &cams, MAX_CAMERAS, -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/quickcam_messeng= er.c linux-2.6.32.48/drivers/media/video/usbvideo/quickcam_messenger.c ---- linux-2.6.32.48/drivers/media/video/usbvideo/quickcam_messenger.c 20= 09-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/quickcam_messenger.c 20= 11-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/usbvideo/quickcam_messeng= er.c linux-2.6.32.46/drivers/media/video/usbvideo/quickcam_messenger.c +--- linux-2.6.32.46/drivers/media/video/usbvideo/quickcam_messenger.c 20= 11-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/usbvideo/quickcam_messenger.c 20= 11-04-17 15:56:46.000000000 -0400 @@ -89,7 +89,7 @@ static void qcm_register_input(struct qc int error; =20 @@ -33583,9 +33606,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/us= bvideo/quickcam_messenger.c lin =20 cam->input =3D input_dev =3D input_allocate_device(); if (!input_dev) { -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/ultracam.c linux= -2.6.32.48/drivers/media/video/usbvideo/ultracam.c ---- linux-2.6.32.48/drivers/media/video/usbvideo/ultracam.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/ultracam.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/usbvideo/ultracam.c linux= -2.6.32.46/drivers/media/video/usbvideo/ultracam.c +--- linux-2.6.32.46/drivers/media/video/usbvideo/ultracam.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/usbvideo/ultracam.c 2011-08-05 2= 0:33:55.000000000 -0400 @@ -655,14 +655,14 @@ static int __init ultracam_init(void) { struct usbvideo_cb cbTbl; @@ -33609,9 +33632,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/us= bvideo/ultracam.c linux-2.6.32. return usbvideo_register( &cams, MAX_CAMERAS, -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.c linux= -2.6.32.48/drivers/media/video/usbvideo/usbvideo.c ---- linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/usbvideo/usbvideo.c linux= -2.6.32.46/drivers/media/video/usbvideo/usbvideo.c +--- linux-2.6.32.46/drivers/media/video/usbvideo/usbvideo.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/usbvideo/usbvideo.c 2011-08-05 2= 0:33:55.000000000 -0400 @@ -697,15 +697,15 @@ int usbvideo_register( __func__, cams, base_size, num_cams); =20 @@ -33633,9 +33656,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/us= bvideo/usbvideo.c linux-2.6.32. =20 cams->num_cameras =3D num_cams; cams->cam =3D (struct uvd *) &cams[1]; -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.h linux= -2.6.32.48/drivers/media/video/usbvideo/usbvideo.h ---- linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.h 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/usbvideo/usbvideo.h linux= -2.6.32.46/drivers/media/video/usbvideo/usbvideo.h +--- linux-2.6.32.46/drivers/media/video/usbvideo/usbvideo.h 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/usbvideo/usbvideo.h 2011-08-30 1= 8:20:06.000000000 -0400 @@ -268,7 +268,7 @@ struct usbvideo_cb { int (*startDataPump)(struct uvd *uvd); void (*stopDataPump)(struct uvd *uvd); @@ -33645,9 +33668,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/us= bvideo/usbvideo.h linux-2.6.32. =20 struct usbvideo { int num_cameras; /* As allocated */ -diff -urNp linux-2.6.32.48/drivers/media/video/usbvision/usbvision-core.= c linux-2.6.32.48/drivers/media/video/usbvision/usbvision-core.c ---- linux-2.6.32.48/drivers/media/video/usbvision/usbvision-core.c 2009-= 12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvision/usbvision-core.c 2011-= 11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/usbvision/usbvision-core.= c linux-2.6.32.46/drivers/media/video/usbvision/usbvision-core.c +--- linux-2.6.32.46/drivers/media/video/usbvision/usbvision-core.c 2011-= 03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/usbvision/usbvision-core.c 2011-= 05-16 21:46:57.000000000 -0400 @@ -820,6 +820,8 @@ static enum ParseState usbvision_parse_c unsigned char rv, gv, bv; static unsigned char *Y, *U, *V; @@ -33657,9 +33680,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/us= bvision/usbvision-core.c linux- frame =3D usbvision->curFrame; imageSize =3D frame->frmwidth * frame->frmheight; if ( (frame->v4l2_format.format =3D=3D V4L2_PIX_FMT_YUV422P) || -diff -urNp linux-2.6.32.48/drivers/media/video/v4l2-device.c linux-2.6.3= 2.48/drivers/media/video/v4l2-device.c ---- linux-2.6.32.48/drivers/media/video/v4l2-device.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/v4l2-device.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/v4l2-device.c linux-2.6.3= 2.46/drivers/media/video/v4l2-device.c +--- linux-2.6.32.46/drivers/media/video/v4l2-device.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/v4l2-device.c 2011-05-04 17:56:2= 8.000000000 -0400 @@ -50,9 +50,9 @@ int v4l2_device_register(struct device * EXPORT_SYMBOL_GPL(v4l2_device_register); =20 @@ -33672,9 +33695,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/v4= l2-device.c linux-2.6.32.48/dri int len =3D strlen(basename); =20 if (basename[len - 1] >=3D '0' && basename[len - 1] <=3D '9') -diff -urNp linux-2.6.32.48/drivers/media/video/videobuf-dma-sg.c linux-2= .6.32.48/drivers/media/video/videobuf-dma-sg.c ---- linux-2.6.32.48/drivers/media/video/videobuf-dma-sg.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/videobuf-dma-sg.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/media/video/videobuf-dma-sg.c linux-2= .6.32.46/drivers/media/video/videobuf-dma-sg.c +--- linux-2.6.32.46/drivers/media/video/videobuf-dma-sg.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/media/video/videobuf-dma-sg.c 2011-05-16 21:= 46:57.000000000 -0400 @@ -693,6 +693,8 @@ void *videobuf_sg_alloc(size_t size) { struct videobuf_queue q; @@ -33684,9 +33707,9 @@ diff -urNp linux-2.6.32.48/drivers/media/video/vi= deobuf-dma-sg.c linux-2.6.32.48 /* Required to make generic handler to call __videobuf_alloc */ q.int_ops =3D &sg_ops; =20 -diff -urNp linux-2.6.32.48/drivers/message/fusion/mptbase.c linux-2.6.32= .48/drivers/message/fusion/mptbase.c ---- linux-2.6.32.48/drivers/message/fusion/mptbase.c 2011-11-12 12:44:29= .000000000 -0500 -+++ linux-2.6.32.48/drivers/message/fusion/mptbase.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/message/fusion/mptbase.c linux-2.6.32= .46/drivers/message/fusion/mptbase.c +--- linux-2.6.32.46/drivers/message/fusion/mptbase.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/message/fusion/mptbase.c 2011-04-17 15:56:46= .000000000 -0400 @@ -6709,8 +6709,14 @@ procmpt_iocinfo_read(char *buf, char **s len +=3D sprintf(buf+len, " MaxChainDepth =3D 0x%02x frames\n", ioc->= facts.MaxChainDepth); len +=3D sprintf(buf+len, " MinBlockSize =3D 0x%02x bytes\n", 4*ioc->= facts.BlockSize); @@ -33702,9 +33725,9 @@ diff -urNp linux-2.6.32.48/drivers/message/fusion= /mptbase.c linux-2.6.32.48/driv /* * Rounding UP to nearest 4-kB boundary here... */ -diff -urNp linux-2.6.32.48/drivers/message/fusion/mptsas.c linux-2.6.32.= 48/drivers/message/fusion/mptsas.c ---- linux-2.6.32.48/drivers/message/fusion/mptsas.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/message/fusion/mptsas.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/message/fusion/mptsas.c linux-2.6.32.= 46/drivers/message/fusion/mptsas.c +--- linux-2.6.32.46/drivers/message/fusion/mptsas.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/message/fusion/mptsas.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -436,6 +436,23 @@ mptsas_is_end_device(struct mptsas_devin return 0; } @@ -33753,9 +33776,9 @@ diff -urNp linux-2.6.32.48/drivers/message/fusion= /mptsas.c linux-2.6.32.48/drive static inline struct sas_port * mptsas_get_port(struct mptsas_phyinfo *phy_info) { -diff -urNp linux-2.6.32.48/drivers/message/fusion/mptscsih.c linux-2.6.3= 2.48/drivers/message/fusion/mptscsih.c ---- linux-2.6.32.48/drivers/message/fusion/mptscsih.c 2011-11-12 12:44:2= 9.000000000 -0500 -+++ linux-2.6.32.48/drivers/message/fusion/mptscsih.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/message/fusion/mptscsih.c linux-2.6.3= 2.46/drivers/message/fusion/mptscsih.c +--- linux-2.6.32.46/drivers/message/fusion/mptscsih.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/message/fusion/mptscsih.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -1248,15 +1248,16 @@ mptscsih_info(struct Scsi_Host *SChost) =20 h =3D shost_priv(SChost); @@ -33781,9 +33804,9 @@ diff -urNp linux-2.6.32.48/drivers/message/fusion= /mptscsih.c linux-2.6.32.48/dri =20 return h->info_kbuf; } -diff -urNp linux-2.6.32.48/drivers/message/i2o/i2o_config.c linux-2.6.32= .48/drivers/message/i2o/i2o_config.c ---- linux-2.6.32.48/drivers/message/i2o/i2o_config.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/message/i2o/i2o_config.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/message/i2o/i2o_config.c linux-2.6.32= .46/drivers/message/i2o/i2o_config.c +--- linux-2.6.32.46/drivers/message/i2o/i2o_config.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/message/i2o/i2o_config.c 2011-05-16 21:46:57= .000000000 -0400 @@ -787,6 +787,8 @@ static int i2o_cfg_passthru(unsigned lon struct i2o_message *msg; unsigned int iop; @@ -33793,9 +33816,9 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/i2= o_config.c linux-2.6.32.48/driv if (get_user(iop, &cmd->iop) || get_user(user_msg, &cmd->msg)) return -EFAULT; =20 -diff -urNp linux-2.6.32.48/drivers/message/i2o/i2o_proc.c linux-2.6.32.4= 8/drivers/message/i2o/i2o_proc.c ---- linux-2.6.32.48/drivers/message/i2o/i2o_proc.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/message/i2o/i2o_proc.c 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/message/i2o/i2o_proc.c linux-2.6.32.4= 6/drivers/message/i2o/i2o_proc.c +--- linux-2.6.32.46/drivers/message/i2o/i2o_proc.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/message/i2o/i2o_proc.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -259,13 +259,6 @@ static char *scsi_devices[] =3D { "Array Controller Device" }; @@ -33882,9 +33905,9 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/i2= o_proc.c linux-2.6.32.48/driver =20 return 0; } -diff -urNp linux-2.6.32.48/drivers/message/i2o/iop.c linux-2.6.32.48/dri= vers/message/i2o/iop.c ---- linux-2.6.32.48/drivers/message/i2o/iop.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/message/i2o/iop.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/message/i2o/iop.c linux-2.6.32.46/dri= vers/message/i2o/iop.c +--- linux-2.6.32.46/drivers/message/i2o/iop.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/message/i2o/iop.c 2011-05-04 17:56:28.000000= 000 -0400 @@ -110,10 +110,10 @@ u32 i2o_cntxt_list_add(struct i2o_contro =20 spin_lock_irqsave(&c->context_list_lock, flags); @@ -33908,9 +33931,9 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/io= p.c linux-2.6.32.48/drivers/mes INIT_LIST_HEAD(&c->context_list); #endif =20 -diff -urNp linux-2.6.32.48/drivers/mfd/wm8350-i2c.c linux-2.6.32.48/driv= ers/mfd/wm8350-i2c.c ---- linux-2.6.32.48/drivers/mfd/wm8350-i2c.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/mfd/wm8350-i2c.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/mfd/wm8350-i2c.c linux-2.6.32.46/driv= ers/mfd/wm8350-i2c.c +--- linux-2.6.32.46/drivers/mfd/wm8350-i2c.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/mfd/wm8350-i2c.c 2011-05-16 21:46:57.0000000= 00 -0400 @@ -43,6 +43,8 @@ static int wm8350_i2c_write_device(struc u8 msg[(WM8350_MAX_REGISTER << 1) + 1]; int ret; @@ -33920,9 +33943,9 @@ diff -urNp linux-2.6.32.48/drivers/mfd/wm8350-i2c= .c linux-2.6.32.48/drivers/mfd/ if (bytes > ((WM8350_MAX_REGISTER << 1) + 1)) return -EINVAL; =20 -diff -urNp linux-2.6.32.48/drivers/misc/kgdbts.c linux-2.6.32.48/drivers= /misc/kgdbts.c ---- linux-2.6.32.48/drivers/misc/kgdbts.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/misc/kgdbts.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/misc/kgdbts.c linux-2.6.32.46/drivers= /misc/kgdbts.c +--- linux-2.6.32.46/drivers/misc/kgdbts.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/misc/kgdbts.c 2011-04-17 15:56:46.000000000 = -0400 @@ -118,7 +118,7 @@ } while (0) #define MAX_CONFIG_LEN 40 @@ -33941,9 +33964,9 @@ diff -urNp linux-2.6.32.48/drivers/misc/kgdbts.c = linux-2.6.32.48/drivers/misc/kg .name =3D "kgdbts", .read_char =3D kgdbts_get_char, .write_char =3D kgdbts_put_char, -diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/gruhandles.c linux-2.6.3= 2.48/drivers/misc/sgi-gru/gruhandles.c ---- linux-2.6.32.48/drivers/misc/sgi-gru/gruhandles.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-gru/gruhandles.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/misc/sgi-gru/gruhandles.c linux-2.6.3= 2.46/drivers/misc/sgi-gru/gruhandles.c +--- linux-2.6.32.46/drivers/misc/sgi-gru/gruhandles.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/misc/sgi-gru/gruhandles.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -39,8 +39,8 @@ struct mcs_op_statistic mcs_op_statistic =20 static void update_mcs_stats(enum mcs_op op, unsigned long clks) @@ -33955,9 +33978,9 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/g= ruhandles.c linux-2.6.32.48/dri if (mcs_op_statistics[op].max < clks) mcs_op_statistics[op].max =3D clks; } -diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/gruprocfs.c linux-2.6.32= .48/drivers/misc/sgi-gru/gruprocfs.c ---- linux-2.6.32.48/drivers/misc/sgi-gru/gruprocfs.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-gru/gruprocfs.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/misc/sgi-gru/gruprocfs.c linux-2.6.32= .46/drivers/misc/sgi-gru/gruprocfs.c +--- linux-2.6.32.46/drivers/misc/sgi-gru/gruprocfs.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/misc/sgi-gru/gruprocfs.c 2011-04-17 15:56:46= .000000000 -0400 @@ -32,9 +32,9 @@ =20 #define printstat(s, f) printstat_val(s, &gru_stats.f, #f) @@ -33981,9 +34004,9 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/g= ruprocfs.c linux-2.6.32.48/driv max =3D mcs_op_statistics[op].max; seq_printf(s, "%-20s%12ld%12ld%12ld\n", id[op], count, count ? total / count : 0, max); -diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/grutables.h linux-2.6.32= .48/drivers/misc/sgi-gru/grutables.h ---- linux-2.6.32.48/drivers/misc/sgi-gru/grutables.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-gru/grutables.h 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/misc/sgi-gru/grutables.h linux-2.6.32= .46/drivers/misc/sgi-gru/grutables.h +--- linux-2.6.32.46/drivers/misc/sgi-gru/grutables.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/misc/sgi-gru/grutables.h 2011-04-17 15:56:46= .000000000 -0400 @@ -167,84 +167,84 @@ extern unsigned int gru_max_gids; * GRU statistics. */ @@ -34167,9 +34190,9 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/g= rutables.h linux-2.6.32.48/driv } while (0) =20 #ifdef CONFIG_SGI_GRU_DEBUG -diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xpc.h linux-2.6.32.48/dri= vers/misc/sgi-xp/xpc.h ---- linux-2.6.32.48/drivers/misc/sgi-xp/xpc.h 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-xp/xpc.h 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/misc/sgi-xp/xpc.h linux-2.6.32.46/dri= vers/misc/sgi-xp/xpc.h +--- linux-2.6.32.46/drivers/misc/sgi-xp/xpc.h 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/misc/sgi-xp/xpc.h 2011-08-05 20:33:55.000000= 000 -0400 @@ -876,7 +876,7 @@ extern struct xpc_registration xpc_regis /* found in xpc_main.c */ extern struct device *xpc_part; @@ -34179,9 +34202,9 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xp= c.h linux-2.6.32.48/drivers/mis extern int xpc_disengage_timelimit; extern int xpc_disengage_timedout; extern int xpc_activate_IRQ_rcvd; -diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xpc_main.c linux-2.6.32.4= 8/drivers/misc/sgi-xp/xpc_main.c ---- linux-2.6.32.48/drivers/misc/sgi-xp/xpc_main.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-xp/xpc_main.c 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/misc/sgi-xp/xpc_main.c linux-2.6.32.4= 6/drivers/misc/sgi-xp/xpc_main.c +--- linux-2.6.32.46/drivers/misc/sgi-xp/xpc_main.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/misc/sgi-xp/xpc_main.c 2011-08-05 20:33:55.0= 00000000 -0400 @@ -169,7 +169,7 @@ static struct notifier_block xpc_die_not .notifier_call =3D xpc_system_die, }; @@ -34191,9 +34214,9 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xp= c_main.c linux-2.6.32.48/driver =20 /* * Timer function to enforce the timelimit on the partition disengage. -diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xpc_sn2.c linux-2.6.32.48= /drivers/misc/sgi-xp/xpc_sn2.c ---- linux-2.6.32.48/drivers/misc/sgi-xp/xpc_sn2.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-xp/xpc_sn2.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/misc/sgi-xp/xpc_sn2.c linux-2.6.32.46= /drivers/misc/sgi-xp/xpc_sn2.c +--- linux-2.6.32.46/drivers/misc/sgi-xp/xpc_sn2.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/misc/sgi-xp/xpc_sn2.c 2011-08-05 20:33:55.00= 0000000 -0400 @@ -2350,7 +2350,7 @@ xpc_received_payload_sn2(struct xpc_chan xpc_acknowledge_msgs_sn2(ch, get, msg->flags); } @@ -34214,9 +34237,9 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xp= c_sn2.c linux-2.6.32.48/drivers =20 if (offsetof(struct xpc_msg_sn2, payload) > XPC_MSG_HDR_MAX_SIZE) { dev_err(xpc_part, "header portion of struct xpc_msg_sn2 is " -diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xpc_uv.c linux-2.6.32.48/= drivers/misc/sgi-xp/xpc_uv.c ---- linux-2.6.32.48/drivers/misc/sgi-xp/xpc_uv.c 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-xp/xpc_uv.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/misc/sgi-xp/xpc_uv.c linux-2.6.32.46/= drivers/misc/sgi-xp/xpc_uv.c +--- linux-2.6.32.46/drivers/misc/sgi-xp/xpc_uv.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/misc/sgi-xp/xpc_uv.c 2011-08-05 20:33:55.000= 000000 -0400 @@ -1669,7 +1669,7 @@ xpc_received_payload_uv(struct xpc_chann XPC_DEACTIVATE_PARTITION(&xpc_partitions[ch->partid], ret); } @@ -34237,9 +34260,9 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xp= c_uv.c linux-2.6.32.48/drivers/ =20 if (sizeof(struct xpc_notify_mq_msghdr_uv) > XPC_MSG_HDR_MAX_SIZE) { dev_err(xpc_part, "xpc_notify_mq_msghdr_uv is larger than %d\n", -diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xp.h linux-2.6.32.48/driv= ers/misc/sgi-xp/xp.h ---- linux-2.6.32.48/drivers/misc/sgi-xp/xp.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-xp/xp.h 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/misc/sgi-xp/xp.h linux-2.6.32.46/driv= ers/misc/sgi-xp/xp.h +--- linux-2.6.32.46/drivers/misc/sgi-xp/xp.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/misc/sgi-xp/xp.h 2011-08-05 20:33:55.0000000= 00 -0400 @@ -289,7 +289,7 @@ struct xpc_interface { xpc_notify_func, void *); void (*received) (short, int, void *); @@ -34249,9 +34272,9 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xp= .h linux-2.6.32.48/drivers/misc =20 extern struct xpc_interface xpc_interface; =20 -diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0001.c linux-2.6= .32.48/drivers/mtd/chips/cfi_cmdset_0001.c ---- linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0001.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0001.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/chips/cfi_cmdset_0001.c linux-2.6= .32.46/drivers/mtd/chips/cfi_cmdset_0001.c +--- linux-2.6.32.46/drivers/mtd/chips/cfi_cmdset_0001.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/mtd/chips/cfi_cmdset_0001.c 2011-05-16 21:46= :57.000000000 -0400 @@ -743,6 +743,8 @@ static int chip_ready (struct map_info * struct cfi_pri_intelext *cfip =3D cfi->cmdset_priv; unsigned long timeo =3D jiffies + HZ; @@ -34279,9 +34302,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_= cmdset_0001.c linux-2.6.32.48/d adr +=3D chip->start; =20 retry: -diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0020.c linux-2.6= .32.48/drivers/mtd/chips/cfi_cmdset_0020.c ---- linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0020.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0020.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/chips/cfi_cmdset_0020.c linux-2.6= .32.46/drivers/mtd/chips/cfi_cmdset_0020.c +--- linux-2.6.32.46/drivers/mtd/chips/cfi_cmdset_0020.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/mtd/chips/cfi_cmdset_0020.c 2011-05-16 21:46= :57.000000000 -0400 @@ -255,6 +255,8 @@ static inline int do_read_onechip(struct unsigned long cmd_addr; struct cfi_private *cfi =3D map->fldrv_priv; @@ -34327,9 +34350,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_= cmdset_0020.c linux-2.6.32.48/d adr +=3D chip->start; =20 /* Let's determine this according to the interleave only once */ -diff -urNp linux-2.6.32.48/drivers/mtd/devices/doc2000.c linux-2.6.32.48= /drivers/mtd/devices/doc2000.c ---- linux-2.6.32.48/drivers/mtd/devices/doc2000.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/mtd/devices/doc2000.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/devices/doc2000.c linux-2.6.32.46= /drivers/mtd/devices/doc2000.c +--- linux-2.6.32.46/drivers/mtd/devices/doc2000.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/mtd/devices/doc2000.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -776,7 +776,7 @@ static int doc_write(struct mtd_info *mt =20 /* The ECC will not be calculated correctly if less than 512 is writt= en */ @@ -34339,9 +34362,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/devices/do= c2000.c linux-2.6.32.48/drivers printk(KERN_WARNING "ECC needs a full sector write (adr: %lx size %lx)\n", (long) to, (long) len); -diff -urNp linux-2.6.32.48/drivers/mtd/devices/doc2001.c linux-2.6.32.48= /drivers/mtd/devices/doc2001.c ---- linux-2.6.32.48/drivers/mtd/devices/doc2001.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/mtd/devices/doc2001.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/devices/doc2001.c linux-2.6.32.46= /drivers/mtd/devices/doc2001.c +--- linux-2.6.32.46/drivers/mtd/devices/doc2001.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/mtd/devices/doc2001.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -393,7 +393,7 @@ static int doc_read (struct mtd_info *mt struct Nand *mychip =3D &this->chips[from >> (this->chipshift)]; =20 @@ -34351,9 +34374,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/devices/do= c2001.c linux-2.6.32.48/drivers return -EINVAL; =20 /* Don't allow a single read to cross a 512-byte block boundary */ -diff -urNp linux-2.6.32.48/drivers/mtd/ftl.c linux-2.6.32.48/drivers/mtd= /ftl.c ---- linux-2.6.32.48/drivers/mtd/ftl.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/mtd/ftl.c 2011-11-12 12:46:45.000000000 -050= 0 +diff -urNp linux-2.6.32.46/drivers/mtd/ftl.c linux-2.6.32.46/drivers/mtd= /ftl.c +--- linux-2.6.32.46/drivers/mtd/ftl.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/drivers/mtd/ftl.c 2011-05-16 21:46:57.000000000 -040= 0 @@ -474,6 +474,8 @@ static int copy_erase_unit(partition_t * loff_t offset; uint16_t srcunitswap =3D cpu_to_le16(srcunit); @@ -34363,9 +34386,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/ftl.c linu= x-2.6.32.48/drivers/mtd/ftl.c eun =3D &part->EUNInfo[srcunit]; xfer =3D &part->XferInfo[xferunit]; DEBUG(2, "ftl_cs: copying block 0x%x to 0x%x\n", -diff -urNp linux-2.6.32.48/drivers/mtd/inftlcore.c linux-2.6.32.48/drive= rs/mtd/inftlcore.c ---- linux-2.6.32.48/drivers/mtd/inftlcore.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/mtd/inftlcore.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/inftlcore.c linux-2.6.32.46/drive= rs/mtd/inftlcore.c +--- linux-2.6.32.46/drivers/mtd/inftlcore.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/mtd/inftlcore.c 2011-05-16 21:46:57.00000000= 0 -0400 @@ -260,6 +260,8 @@ static u16 INFTL_foldchain(struct INFTLr struct inftl_oob oob; size_t retlen; @@ -34375,9 +34398,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/inftlcore.= c linux-2.6.32.48/drivers/mtd/i DEBUG(MTD_DEBUG_LEVEL3, "INFTL: INFTL_foldchain(inftl=3D%p,thisVUC=3D%= d," "pending=3D%d)\n", inftl, thisVUC, pendingblock); =20 -diff -urNp linux-2.6.32.48/drivers/mtd/inftlmount.c linux-2.6.32.48/driv= ers/mtd/inftlmount.c ---- linux-2.6.32.48/drivers/mtd/inftlmount.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/mtd/inftlmount.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/inftlmount.c linux-2.6.32.46/driv= ers/mtd/inftlmount.c +--- linux-2.6.32.46/drivers/mtd/inftlmount.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/mtd/inftlmount.c 2011-05-16 21:46:57.0000000= 00 -0400 @@ -54,6 +54,8 @@ static int find_boot_record(struct INFTL struct INFTLPartition *ip; size_t retlen; @@ -34387,9 +34410,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/inftlmount= .c linux-2.6.32.48/drivers/mtd/ DEBUG(MTD_DEBUG_LEVEL3, "INFTL: find_boot_record(inftl=3D%p)\n", inftl= ); =20 /* -diff -urNp linux-2.6.32.48/drivers/mtd/lpddr/qinfo_probe.c linux-2.6.32.= 48/drivers/mtd/lpddr/qinfo_probe.c ---- linux-2.6.32.48/drivers/mtd/lpddr/qinfo_probe.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/mtd/lpddr/qinfo_probe.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/lpddr/qinfo_probe.c linux-2.6.32.= 46/drivers/mtd/lpddr/qinfo_probe.c +--- linux-2.6.32.46/drivers/mtd/lpddr/qinfo_probe.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/mtd/lpddr/qinfo_probe.c 2011-05-16 21:46:57.= 000000000 -0400 @@ -106,6 +106,8 @@ static int lpddr_pfow_present(struct map { map_word pfow_val[4]; @@ -34399,9 +34422,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/lpddr/qinf= o_probe.c linux-2.6.32.48/drive /* Check identification string */ pfow_val[0] =3D map_read(map, map->pfow_base + PFOW_QUERY_STRING_P); pfow_val[1] =3D map_read(map, map->pfow_base + PFOW_QUERY_STRING_F); -diff -urNp linux-2.6.32.48/drivers/mtd/mtdchar.c linux-2.6.32.48/drivers= /mtd/mtdchar.c ---- linux-2.6.32.48/drivers/mtd/mtdchar.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/mtd/mtdchar.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/mtdchar.c linux-2.6.32.46/drivers= /mtd/mtdchar.c +--- linux-2.6.32.46/drivers/mtd/mtdchar.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/mtd/mtdchar.c 2011-05-16 21:46:57.000000000 = -0400 @@ -460,6 +460,8 @@ static int mtd_ioctl(struct inode *inode u_long size; struct mtd_info_user info; @@ -34411,9 +34434,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/mtdchar.c = linux-2.6.32.48/drivers/mtd/mtd DEBUG(MTD_DEBUG_LEVEL0, "MTD_ioctl\n"); =20 size =3D (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT; -diff -urNp linux-2.6.32.48/drivers/mtd/nftlcore.c linux-2.6.32.48/driver= s/mtd/nftlcore.c ---- linux-2.6.32.48/drivers/mtd/nftlcore.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/mtd/nftlcore.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/nftlcore.c linux-2.6.32.46/driver= s/mtd/nftlcore.c +--- linux-2.6.32.46/drivers/mtd/nftlcore.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/mtd/nftlcore.c 2011-05-16 21:46:57.000000000= -0400 @@ -254,6 +254,8 @@ static u16 NFTL_foldchain (struct NFTLre int inplace =3D 1; size_t retlen; @@ -34423,9 +34446,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/nftlcore.c= linux-2.6.32.48/drivers/mtd/nf memset(BlockMap, 0xff, sizeof(BlockMap)); memset(BlockFreeFound, 0, sizeof(BlockFreeFound)); =20 -diff -urNp linux-2.6.32.48/drivers/mtd/nftlmount.c linux-2.6.32.48/drive= rs/mtd/nftlmount.c ---- linux-2.6.32.48/drivers/mtd/nftlmount.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/mtd/nftlmount.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/nftlmount.c linux-2.6.32.46/drive= rs/mtd/nftlmount.c +--- linux-2.6.32.46/drivers/mtd/nftlmount.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/mtd/nftlmount.c 2011-05-18 20:09:37.00000000= 0 -0400 @@ -23,6 +23,7 @@ #include #include @@ -34443,9 +34466,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/nftlmount.= c linux-2.6.32.48/drivers/mtd/n /* Assume logical EraseSize =3D=3D physical erasesize for start= ing the scan. We'll sort it out later if we find a MediaHeader which says otherwi= se */ /* Actually, we won't. The new DiskOnChip driver has already scanned -diff -urNp linux-2.6.32.48/drivers/mtd/ubi/build.c linux-2.6.32.48/drive= rs/mtd/ubi/build.c ---- linux-2.6.32.48/drivers/mtd/ubi/build.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/mtd/ubi/build.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/mtd/ubi/build.c linux-2.6.32.46/drive= rs/mtd/ubi/build.c +--- linux-2.6.32.46/drivers/mtd/ubi/build.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/mtd/ubi/build.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -1255,7 +1255,7 @@ module_exit(ubi_exit); static int __init bytes_str_to_int(const char *str) { @@ -34485,9 +34508,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/ubi/build.= c linux-2.6.32.48/drivers/mtd/u } =20 /** -diff -urNp linux-2.6.32.48/drivers/net/bnx2.c linux-2.6.32.48/drivers/ne= t/bnx2.c ---- linux-2.6.32.48/drivers/net/bnx2.c 2011-11-12 12:44:29.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/net/bnx2.c 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/net/bnx2.c linux-2.6.32.46/drivers/ne= t/bnx2.c +--- linux-2.6.32.46/drivers/net/bnx2.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/net/bnx2.c 2011-05-16 21:46:57.000000000 -04= 00 @@ -5809,6 +5809,8 @@ bnx2_test_nvram(struct bnx2 *bp) int rc =3D 0; u32 magic, csum; @@ -34497,9 +34520,9 @@ diff -urNp linux-2.6.32.48/drivers/net/bnx2.c lin= ux-2.6.32.48/drivers/net/bnx2.c if ((rc =3D bnx2_nvram_read(bp, 0, data, 4)) !=3D 0) goto test_nvram_done; =20 -diff -urNp linux-2.6.32.48/drivers/net/cxgb3/l2t.h linux-2.6.32.48/drive= rs/net/cxgb3/l2t.h ---- linux-2.6.32.48/drivers/net/cxgb3/l2t.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/net/cxgb3/l2t.h 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/net/cxgb3/l2t.h linux-2.6.32.46/drive= rs/net/cxgb3/l2t.h +--- linux-2.6.32.46/drivers/net/cxgb3/l2t.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/net/cxgb3/l2t.h 2011-08-05 20:33:55.00000000= 0 -0400 @@ -86,7 +86,7 @@ typedef void (*arp_failure_handler_func) */ struct l2t_skb_cb { @@ -34509,9 +34532,9 @@ diff -urNp linux-2.6.32.48/drivers/net/cxgb3/l2t.= h linux-2.6.32.48/drivers/net/c =20 #define L2T_SKB_CB(skb) ((struct l2t_skb_cb *)(skb)->cb) =20 -diff -urNp linux-2.6.32.48/drivers/net/cxgb3/t3_hw.c linux-2.6.32.48/dri= vers/net/cxgb3/t3_hw.c ---- linux-2.6.32.48/drivers/net/cxgb3/t3_hw.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/net/cxgb3/t3_hw.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/cxgb3/t3_hw.c linux-2.6.32.46/dri= vers/net/cxgb3/t3_hw.c +--- linux-2.6.32.46/drivers/net/cxgb3/t3_hw.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/net/cxgb3/t3_hw.c 2011-05-16 21:46:57.000000= 000 -0400 @@ -699,6 +699,8 @@ static int get_vpd_params(struct adapter int i, addr, ret; struct t3_vpd vpd; @@ -34521,9 +34544,9 @@ diff -urNp linux-2.6.32.48/drivers/net/cxgb3/t3_h= w.c linux-2.6.32.48/drivers/net /* * Card information is normally at VPD_BASE but some early cards had * it at 0. -diff -urNp linux-2.6.32.48/drivers/net/e1000e/82571.c linux-2.6.32.48/dr= ivers/net/e1000e/82571.c ---- linux-2.6.32.48/drivers/net/e1000e/82571.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/e1000e/82571.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/e1000e/82571.c linux-2.6.32.46/dr= ivers/net/e1000e/82571.c +--- linux-2.6.32.46/drivers/net/e1000e/82571.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/net/e1000e/82571.c 2011-08-23 21:22:32.00000= 0000 -0400 @@ -212,7 +212,7 @@ static s32 e1000_init_mac_params_82571(s { struct e1000_hw *hw =3D &adapter->hw; @@ -34578,9 +34601,9 @@ diff -urNp linux-2.6.32.48/drivers/net/e1000e/825= 71.c linux-2.6.32.48/drivers/ne .acquire_nvm =3D e1000_acquire_nvm_82571, .read_nvm =3D e1000e_read_nvm_eerd, .release_nvm =3D e1000_release_nvm_82571, -diff -urNp linux-2.6.32.48/drivers/net/e1000e/e1000.h linux-2.6.32.48/dr= ivers/net/e1000e/e1000.h ---- linux-2.6.32.48/drivers/net/e1000e/e1000.h 2011-11-12 12:44:29.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/e1000e/e1000.h 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/e1000e/e1000.h linux-2.6.32.46/dr= ivers/net/e1000e/e1000.h +--- linux-2.6.32.46/drivers/net/e1000e/e1000.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/net/e1000e/e1000.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -375,9 +375,9 @@ struct e1000_info { u32 pba; u32 max_hw_frame_size; @@ -34594,9 +34617,9 @@ diff -urNp linux-2.6.32.48/drivers/net/e1000e/e10= 00.h linux-2.6.32.48/drivers/ne }; =20 /* hardware capability, feature, and workaround flags */ -diff -urNp linux-2.6.32.48/drivers/net/e1000e/es2lan.c linux-2.6.32.48/d= rivers/net/e1000e/es2lan.c ---- linux-2.6.32.48/drivers/net/e1000e/es2lan.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/net/e1000e/es2lan.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/e1000e/es2lan.c linux-2.6.32.46/d= rivers/net/e1000e/es2lan.c +--- linux-2.6.32.46/drivers/net/e1000e/es2lan.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/net/e1000e/es2lan.c 2011-08-23 21:22:32.0000= 00000 -0400 @@ -207,7 +207,7 @@ static s32 e1000_init_mac_params_80003es { struct e1000_hw *hw =3D &adapter->hw; @@ -34633,9 +34656,9 @@ diff -urNp linux-2.6.32.48/drivers/net/e1000e/es2= lan.c linux-2.6.32.48/drivers/n .acquire_nvm =3D e1000_acquire_nvm_80003es2lan, .read_nvm =3D e1000e_read_nvm_eerd, .release_nvm =3D e1000_release_nvm_80003es2lan, -diff -urNp linux-2.6.32.48/drivers/net/e1000e/hw.h linux-2.6.32.48/drive= rs/net/e1000e/hw.h ---- linux-2.6.32.48/drivers/net/e1000e/hw.h 2011-11-12 12:44:29.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/net/e1000e/hw.h 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/net/e1000e/hw.h linux-2.6.32.46/drive= rs/net/e1000e/hw.h +--- linux-2.6.32.46/drivers/net/e1000e/hw.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/net/e1000e/hw.h 2011-08-23 21:27:38.00000000= 0 -0400 @@ -753,6 +753,7 @@ struct e1000_mac_operations { s32 (*setup_physical_interface)(struct e1000_hw *); s32 (*setup_led)(struct e1000_hw *); @@ -34682,9 +34705,9 @@ diff -urNp linux-2.6.32.48/drivers/net/e1000e/hw.= h linux-2.6.32.48/drivers/net/e =20 enum e1000_nvm_type type; enum e1000_nvm_override override; -diff -urNp linux-2.6.32.48/drivers/net/e1000e/ich8lan.c linux-2.6.32.48/= drivers/net/e1000e/ich8lan.c ---- linux-2.6.32.48/drivers/net/e1000e/ich8lan.c 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/net/e1000e/ich8lan.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/e1000e/ich8lan.c linux-2.6.32.46/= drivers/net/e1000e/ich8lan.c +--- linux-2.6.32.46/drivers/net/e1000e/ich8lan.c 2011-05-10 22:12:01.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/net/e1000e/ich8lan.c 2011-08-23 21:22:32.000= 000000 -0400 @@ -3463,7 +3463,7 @@ static void e1000_clear_hw_cntrs_ich8lan } } @@ -34712,9 +34735,9 @@ diff -urNp linux-2.6.32.48/drivers/net/e1000e/ich= 8lan.c linux-2.6.32.48/drivers/ .acquire_nvm =3D e1000_acquire_nvm_ich8lan, .read_nvm =3D e1000_read_nvm_ich8lan, .release_nvm =3D e1000_release_nvm_ich8lan, -diff -urNp linux-2.6.32.48/drivers/net/hamradio/6pack.c linux-2.6.32.48/= drivers/net/hamradio/6pack.c ---- linux-2.6.32.48/drivers/net/hamradio/6pack.c 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/net/hamradio/6pack.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/hamradio/6pack.c linux-2.6.32.46/= drivers/net/hamradio/6pack.c +--- linux-2.6.32.46/drivers/net/hamradio/6pack.c 2011-07-13 17:23:04.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/net/hamradio/6pack.c 2011-07-13 17:23:18.000= 000000 -0400 @@ -461,6 +461,8 @@ static void sixpack_receive_buf(struct t unsigned char buf[512]; int count1; @@ -34724,9 +34747,9 @@ diff -urNp linux-2.6.32.48/drivers/net/hamradio/6= pack.c linux-2.6.32.48/drivers/ if (!count) return; =20 -diff -urNp linux-2.6.32.48/drivers/net/ibmveth.c linux-2.6.32.48/drivers= /net/ibmveth.c ---- linux-2.6.32.48/drivers/net/ibmveth.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/net/ibmveth.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/net/ibmveth.c linux-2.6.32.46/drivers= /net/ibmveth.c +--- linux-2.6.32.46/drivers/net/ibmveth.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/net/ibmveth.c 2011-04-17 15:56:46.000000000 = -0400 @@ -1577,7 +1577,7 @@ static struct attribute * veth_pool_attr NULL, }; @@ -34736,9 +34759,9 @@ diff -urNp linux-2.6.32.48/drivers/net/ibmveth.c = linux-2.6.32.48/drivers/net/ibm .show =3D veth_pool_show, .store =3D veth_pool_store, }; -diff -urNp linux-2.6.32.48/drivers/net/igb/e1000_82575.c linux-2.6.32.48= /drivers/net/igb/e1000_82575.c ---- linux-2.6.32.48/drivers/net/igb/e1000_82575.c 2011-11-12 12:44:29.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/net/igb/e1000_82575.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/igb/e1000_82575.c linux-2.6.32.46= /drivers/net/igb/e1000_82575.c +--- linux-2.6.32.46/drivers/net/igb/e1000_82575.c 2011-08-29 22:24:44.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/net/igb/e1000_82575.c 2011-08-29 22:25:07.00= 0000000 -0400 @@ -1411,7 +1411,7 @@ void igb_vmdq_set_replication_pf(struct=20 wr32(E1000_VT_CTL, vt_ctl); } @@ -34764,9 +34787,9 @@ diff -urNp linux-2.6.32.48/drivers/net/igb/e1000_= 82575.c linux-2.6.32.48/drivers .acquire =3D igb_acquire_nvm_82575, .read =3D igb_read_nvm_eerd, .release =3D igb_release_nvm_82575, -diff -urNp linux-2.6.32.48/drivers/net/igb/e1000_hw.h linux-2.6.32.48/dr= ivers/net/igb/e1000_hw.h ---- linux-2.6.32.48/drivers/net/igb/e1000_hw.h 2011-11-12 12:44:29.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/igb/e1000_hw.h 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/igb/e1000_hw.h linux-2.6.32.46/dr= ivers/net/igb/e1000_hw.h +--- linux-2.6.32.46/drivers/net/igb/e1000_hw.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/net/igb/e1000_hw.h 2011-08-23 21:28:01.00000= 0000 -0400 @@ -288,6 +288,7 @@ struct e1000_mac_operations { s32 (*read_mac_addr)(struct e1000_hw *); s32 (*get_speed_and_duplex)(struct e1000_hw *, u16 *, u16 *); @@ -34835,9 +34858,9 @@ diff -urNp linux-2.6.32.48/drivers/net/igb/e1000_= hw.h linux-2.6.32.48/drivers/ne struct e1000_mbx_stats stats; u32 timeout; u32 usec_delay; -diff -urNp linux-2.6.32.48/drivers/net/igbvf/vf.h linux-2.6.32.48/driver= s/net/igbvf/vf.h ---- linux-2.6.32.48/drivers/net/igbvf/vf.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/net/igbvf/vf.h 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/net/igbvf/vf.h linux-2.6.32.46/driver= s/net/igbvf/vf.h +--- linux-2.6.32.46/drivers/net/igbvf/vf.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/net/igbvf/vf.h 2011-08-23 21:22:38.000000000= -0400 @@ -187,9 +187,10 @@ struct e1000_mac_operations { s32 (*read_mac_addr)(struct e1000_hw *); s32 (*set_vfta)(struct e1000_hw *, u16, bool); @@ -34867,9 +34890,9 @@ diff -urNp linux-2.6.32.48/drivers/net/igbvf/vf.h= linux-2.6.32.48/drivers/net/ig struct e1000_mbx_stats stats; u32 timeout; u32 usec_delay; -diff -urNp linux-2.6.32.48/drivers/net/iseries_veth.c linux-2.6.32.48/dr= ivers/net/iseries_veth.c ---- linux-2.6.32.48/drivers/net/iseries_veth.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/iseries_veth.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/iseries_veth.c linux-2.6.32.46/dr= ivers/net/iseries_veth.c +--- linux-2.6.32.46/drivers/net/iseries_veth.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/net/iseries_veth.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -384,7 +384,7 @@ static struct attribute *veth_cnx_defaul NULL }; @@ -34888,9 +34911,9 @@ diff -urNp linux-2.6.32.48/drivers/net/iseries_ve= th.c linux-2.6.32.48/drivers/ne .show =3D veth_port_attribute_show }; =20 -diff -urNp linux-2.6.32.48/drivers/net/ixgb/ixgb_main.c linux-2.6.32.48/= drivers/net/ixgb/ixgb_main.c ---- linux-2.6.32.48/drivers/net/ixgb/ixgb_main.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/net/ixgb/ixgb_main.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/ixgb/ixgb_main.c linux-2.6.32.46/= drivers/net/ixgb/ixgb_main.c +--- linux-2.6.32.46/drivers/net/ixgb/ixgb_main.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/net/ixgb/ixgb_main.c 2011-05-16 21:46:57.000= 000000 -0400 @@ -1052,6 +1052,8 @@ ixgb_set_multi(struct net_device *netdev u32 rctl; int i; @@ -34900,9 +34923,9 @@ diff -urNp linux-2.6.32.48/drivers/net/ixgb/ixgb_= main.c linux-2.6.32.48/drivers/ /* Check for Promiscuous and All Multicast modes */ =20 rctl =3D IXGB_READ_REG(hw, RCTL); -diff -urNp linux-2.6.32.48/drivers/net/ixgb/ixgb_param.c linux-2.6.32.48= /drivers/net/ixgb/ixgb_param.c ---- linux-2.6.32.48/drivers/net/ixgb/ixgb_param.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/net/ixgb/ixgb_param.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/ixgb/ixgb_param.c linux-2.6.32.46= /drivers/net/ixgb/ixgb_param.c +--- linux-2.6.32.46/drivers/net/ixgb/ixgb_param.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/net/ixgb/ixgb_param.c 2011-05-16 21:46:57.00= 0000000 -0400 @@ -260,6 +260,9 @@ void __devinit ixgb_check_options(struct ixgb_adapter *adapter) { @@ -34913,9 +34936,9 @@ diff -urNp linux-2.6.32.48/drivers/net/ixgb/ixgb_= param.c linux-2.6.32.48/drivers if (bd >=3D IXGB_MAX_NIC) { printk(KERN_NOTICE "Warning: no configuration for board #%i\n", bd); -diff -urNp linux-2.6.32.48/drivers/net/ixgbe/ixgbe_type.h linux-2.6.32.4= 8/drivers/net/ixgbe/ixgbe_type.h ---- linux-2.6.32.48/drivers/net/ixgbe/ixgbe_type.h 2011-11-12 12:44:29.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/net/ixgbe/ixgbe_type.h 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/ixgbe/ixgbe_type.h linux-2.6.32.4= 6/drivers/net/ixgbe/ixgbe_type.h +--- linux-2.6.32.46/drivers/net/ixgbe/ixgbe_type.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/net/ixgbe/ixgbe_type.h 2011-08-23 21:22:38.0= 00000000 -0400 @@ -2327,6 +2327,7 @@ struct ixgbe_eeprom_operations { s32 (*validate_checksum)(struct ixgbe_hw *, u16 *); s32 (*update_checksum)(struct ixgbe_hw *); @@ -34962,9 +34985,9 @@ diff -urNp linux-2.6.32.48/drivers/net/ixgbe/ixgb= e_type.h linux-2.6.32.48/driver struct mdio_if_info mdio; enum ixgbe_phy_type type; u32 id; -diff -urNp linux-2.6.32.48/drivers/net/mlx4/main.c linux-2.6.32.48/drive= rs/net/mlx4/main.c ---- linux-2.6.32.48/drivers/net/mlx4/main.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/net/mlx4/main.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/net/mlx4/main.c linux-2.6.32.46/drive= rs/net/mlx4/main.c +--- linux-2.6.32.46/drivers/net/mlx4/main.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/net/mlx4/main.c 2011-05-18 20:09:37.00000000= 0 -0400 @@ -38,6 +38,7 @@ #include #include @@ -34982,9 +35005,9 @@ diff -urNp linux-2.6.32.48/drivers/net/mlx4/main.= c linux-2.6.32.48/drivers/net/m err =3D mlx4_QUERY_FW(dev); if (err) { if (err =3D=3D -EACCES) -diff -urNp linux-2.6.32.48/drivers/net/niu.c linux-2.6.32.48/drivers/net= /niu.c ---- linux-2.6.32.48/drivers/net/niu.c 2011-11-12 12:44:29.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/net/niu.c 2011-11-12 12:46:45.000000000 -050= 0 +diff -urNp linux-2.6.32.46/drivers/net/niu.c linux-2.6.32.46/drivers/net= /niu.c +--- linux-2.6.32.46/drivers/net/niu.c 2011-05-10 22:12:01.000000000 -040= 0 ++++ linux-2.6.32.46/drivers/net/niu.c 2011-05-16 21:46:57.000000000 -040= 0 @@ -9128,6 +9128,8 @@ static void __devinit niu_try_msix(struc int i, num_irqs, err; u8 first_ldg; @@ -34994,9 +35017,9 @@ diff -urNp linux-2.6.32.48/drivers/net/niu.c linu= x-2.6.32.48/drivers/net/niu.c first_ldg =3D (NIU_NUM_LDG / parent->num_ports) * np->port; for (i =3D 0; i < (NIU_NUM_LDG / parent->num_ports); i++) ldg_num_map[i] =3D first_ldg + i; -diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c linux-2.6.32.48/drivers= /net/pcnet32.c ---- linux-2.6.32.48/drivers/net/pcnet32.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/net/pcnet32.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/net/pcnet32.c linux-2.6.32.46/drivers= /net/pcnet32.c +--- linux-2.6.32.46/drivers/net/pcnet32.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/net/pcnet32.c 2011-08-05 20:33:55.000000000 = -0400 @@ -79,7 +79,7 @@ static int cards_found; /* * VLB I/O addresses @@ -35633,9 +35656,9 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn } } else { if (netif_msg_link(lp)) -diff -urNp linux-2.6.32.48/drivers/net/tg3.h linux-2.6.32.48/drivers/net= /tg3.h ---- linux-2.6.32.48/drivers/net/tg3.h 2011-11-12 12:44:29.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/net/tg3.h 2011-11-12 12:46:45.000000000 -050= 0 +diff -urNp linux-2.6.32.46/drivers/net/tg3.h linux-2.6.32.46/drivers/net= /tg3.h +--- linux-2.6.32.46/drivers/net/tg3.h 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/drivers/net/tg3.h 2011-04-17 15:56:46.000000000 -040= 0 @@ -95,6 +95,7 @@ #define CHIPREV_ID_5750_A0 0x4000 #define CHIPREV_ID_5750_A1 0x4001 @@ -35644,9 +35667,9 @@ diff -urNp linux-2.6.32.48/drivers/net/tg3.h linu= x-2.6.32.48/drivers/net/tg3.h #define CHIPREV_ID_5750_C2 0x4202 #define CHIPREV_ID_5752_A0_HW 0x5000 #define CHIPREV_ID_5752_A0 0x6000 -diff -urNp linux-2.6.32.48/drivers/net/tokenring/abyss.c linux-2.6.32.48= /drivers/net/tokenring/abyss.c ---- linux-2.6.32.48/drivers/net/tokenring/abyss.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/net/tokenring/abyss.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/tokenring/abyss.c linux-2.6.32.46= /drivers/net/tokenring/abyss.c +--- linux-2.6.32.46/drivers/net/tokenring/abyss.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/net/tokenring/abyss.c 2011-08-05 20:33:55.00= 0000000 -0400 @@ -451,10 +451,12 @@ static struct pci_driver abyss_driver =3D=20 =20 static int __init abyss_init (void) @@ -35663,9 +35686,9 @@ diff -urNp linux-2.6.32.48/drivers/net/tokenring/= abyss.c linux-2.6.32.48/drivers =20 return pci_register_driver(&abyss_driver); } -diff -urNp linux-2.6.32.48/drivers/net/tokenring/madgemc.c linux-2.6.32.= 48/drivers/net/tokenring/madgemc.c ---- linux-2.6.32.48/drivers/net/tokenring/madgemc.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/net/tokenring/madgemc.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/tokenring/madgemc.c linux-2.6.32.= 46/drivers/net/tokenring/madgemc.c +--- linux-2.6.32.46/drivers/net/tokenring/madgemc.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/net/tokenring/madgemc.c 2011-08-05 20:33:55.= 000000000 -0400 @@ -755,9 +755,11 @@ static struct mca_driver madgemc_driver=20 =20 static int __init madgemc_init (void) @@ -35681,9 +35704,9 @@ diff -urNp linux-2.6.32.48/drivers/net/tokenring/= madgemc.c linux-2.6.32.48/drive =20 return mca_register_driver (&madgemc_driver); } -diff -urNp linux-2.6.32.48/drivers/net/tokenring/proteon.c linux-2.6.32.= 48/drivers/net/tokenring/proteon.c ---- linux-2.6.32.48/drivers/net/tokenring/proteon.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/net/tokenring/proteon.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/tokenring/proteon.c linux-2.6.32.= 46/drivers/net/tokenring/proteon.c +--- linux-2.6.32.46/drivers/net/tokenring/proteon.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/net/tokenring/proteon.c 2011-08-05 20:33:55.= 000000000 -0400 @@ -353,9 +353,11 @@ static int __init proteon_init(void) struct platform_device *pdev; int i, num =3D 0, err =3D 0; @@ -35699,9 +35722,9 @@ diff -urNp linux-2.6.32.48/drivers/net/tokenring/= proteon.c linux-2.6.32.48/drive =20 err =3D platform_driver_register(&proteon_driver); if (err) -diff -urNp linux-2.6.32.48/drivers/net/tokenring/skisa.c linux-2.6.32.48= /drivers/net/tokenring/skisa.c ---- linux-2.6.32.48/drivers/net/tokenring/skisa.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/net/tokenring/skisa.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/tokenring/skisa.c linux-2.6.32.46= /drivers/net/tokenring/skisa.c +--- linux-2.6.32.46/drivers/net/tokenring/skisa.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/net/tokenring/skisa.c 2011-08-05 20:33:55.00= 0000000 -0400 @@ -363,9 +363,11 @@ static int __init sk_isa_init(void) struct platform_device *pdev; int i, num =3D 0, err =3D 0; @@ -35717,9 +35740,9 @@ diff -urNp linux-2.6.32.48/drivers/net/tokenring/= skisa.c linux-2.6.32.48/drivers =20 err =3D platform_driver_register(&sk_isa_driver); if (err) -diff -urNp linux-2.6.32.48/drivers/net/tulip/de2104x.c linux-2.6.32.48/d= rivers/net/tulip/de2104x.c ---- linux-2.6.32.48/drivers/net/tulip/de2104x.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/net/tulip/de2104x.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/tulip/de2104x.c linux-2.6.32.46/d= rivers/net/tulip/de2104x.c +--- linux-2.6.32.46/drivers/net/tulip/de2104x.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/net/tulip/de2104x.c 2011-05-16 21:46:57.0000= 00000 -0400 @@ -1785,6 +1785,8 @@ static void __devinit de21041_get_srom_i struct de_srom_info_leaf *il; void *bufp; @@ -35729,9 +35752,9 @@ diff -urNp linux-2.6.32.48/drivers/net/tulip/de21= 04x.c linux-2.6.32.48/drivers/n /* download entire eeprom */ for (i =3D 0; i < DE_EEPROM_WORDS; i++) ((__le16 *)ee_data)[i] =3D -diff -urNp linux-2.6.32.48/drivers/net/tulip/de4x5.c linux-2.6.32.48/dri= vers/net/tulip/de4x5.c ---- linux-2.6.32.48/drivers/net/tulip/de4x5.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/net/tulip/de4x5.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/tulip/de4x5.c linux-2.6.32.46/dri= vers/net/tulip/de4x5.c +--- linux-2.6.32.46/drivers/net/tulip/de4x5.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/net/tulip/de4x5.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -5472,7 +5472,7 @@ de4x5_ioctl(struct net_device *dev, stru for (i=3D0; idev_addr[i]; @@ -35750,9 +35773,9 @@ diff -urNp linux-2.6.32.48/drivers/net/tulip/de4x= 5.c linux-2.6.32.48/drivers/net return -EFAULT; break; } -diff -urNp linux-2.6.32.48/drivers/net/usb/hso.c linux-2.6.32.48/drivers= /net/usb/hso.c ---- linux-2.6.32.48/drivers/net/usb/hso.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/net/usb/hso.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/net/usb/hso.c linux-2.6.32.46/drivers= /net/usb/hso.c +--- linux-2.6.32.46/drivers/net/usb/hso.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/net/usb/hso.c 2011-04-17 15:56:46.000000000 = -0400 @@ -71,7 +71,7 @@ #include #include @@ -35840,9 +35863,9 @@ diff -urNp linux-2.6.32.48/drivers/net/usb/hso.c = linux-2.6.32.48/drivers/net/usb result =3D hso_start_serial_device(serial_table[i], GFP_NOIO); hso_kick_transmit(dev2ser(serial_table[i])); -diff -urNp linux-2.6.32.48/drivers/net/vxge/vxge-config.h linux-2.6.32.4= 8/drivers/net/vxge/vxge-config.h ---- linux-2.6.32.48/drivers/net/vxge/vxge-config.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/net/vxge/vxge-config.h 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/vxge/vxge-config.h linux-2.6.32.4= 6/drivers/net/vxge/vxge-config.h +--- linux-2.6.32.46/drivers/net/vxge/vxge-config.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/net/vxge/vxge-config.h 2011-08-05 20:33:55.0= 00000000 -0400 @@ -474,7 +474,7 @@ struct vxge_hw_uld_cbs { void (*link_down)(struct __vxge_hw_device *devh); void (*crit_err)(struct __vxge_hw_device *devh, @@ -35852,9 +35875,9 @@ diff -urNp linux-2.6.32.48/drivers/net/vxge/vxge-= config.h linux-2.6.32.48/driver =20 /* * struct __vxge_hw_blockpool_entry - Block private data structure -diff -urNp linux-2.6.32.48/drivers/net/vxge/vxge-main.c linux-2.6.32.48/= drivers/net/vxge/vxge-main.c ---- linux-2.6.32.48/drivers/net/vxge/vxge-main.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/net/vxge/vxge-main.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/vxge/vxge-main.c linux-2.6.32.46/= drivers/net/vxge/vxge-main.c +--- linux-2.6.32.46/drivers/net/vxge/vxge-main.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/net/vxge/vxge-main.c 2011-05-16 21:46:57.000= 000000 -0400 @@ -93,6 +93,8 @@ static inline void VXGE_COMPLETE_VPATH_T struct sk_buff *completed[NR_SKB_COMPLETED]; int more; @@ -35873,9 +35896,9 @@ diff -urNp linux-2.6.32.48/drivers/net/vxge/vxge-= main.c linux-2.6.32.48/drivers/ /* * Filling * - itable with bucket numbers -diff -urNp linux-2.6.32.48/drivers/net/vxge/vxge-traffic.h linux-2.6.32.= 48/drivers/net/vxge/vxge-traffic.h ---- linux-2.6.32.48/drivers/net/vxge/vxge-traffic.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/net/vxge/vxge-traffic.h 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/vxge/vxge-traffic.h linux-2.6.32.= 46/drivers/net/vxge/vxge-traffic.h +--- linux-2.6.32.46/drivers/net/vxge/vxge-traffic.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/net/vxge/vxge-traffic.h 2011-08-05 20:33:55.= 000000000 -0400 @@ -2123,7 +2123,7 @@ struct vxge_hw_mempool_cbs { struct vxge_hw_mempool_dma *dma_object, u32 index, @@ -35885,9 +35908,9 @@ diff -urNp linux-2.6.32.48/drivers/net/vxge/vxge-= traffic.h linux-2.6.32.48/drive =20 void __vxge_hw_mempool_destroy( -diff -urNp linux-2.6.32.48/drivers/net/wan/cycx_x25.c linux-2.6.32.48/dr= ivers/net/wan/cycx_x25.c ---- linux-2.6.32.48/drivers/net/wan/cycx_x25.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/wan/cycx_x25.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wan/cycx_x25.c linux-2.6.32.46/dr= ivers/net/wan/cycx_x25.c +--- linux-2.6.32.46/drivers/net/wan/cycx_x25.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/net/wan/cycx_x25.c 2011-05-16 21:46:57.00000= 0000 -0400 @@ -1017,6 +1017,8 @@ static void hex_dump(char *msg, unsigned unsigned char hex[1024], * phex =3D hex; @@ -35897,9 +35920,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wan/cycx_x= 25.c linux-2.6.32.48/drivers/ne if (len >=3D (sizeof(hex) / 2)) len =3D (sizeof(hex) / 2) - 1; =20 -diff -urNp linux-2.6.32.48/drivers/net/wan/hdlc_x25.c linux-2.6.32.48/dr= ivers/net/wan/hdlc_x25.c ---- linux-2.6.32.48/drivers/net/wan/hdlc_x25.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/wan/hdlc_x25.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wan/hdlc_x25.c linux-2.6.32.46/dr= ivers/net/wan/hdlc_x25.c +--- linux-2.6.32.46/drivers/net/wan/hdlc_x25.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/net/wan/hdlc_x25.c 2011-08-05 20:33:55.00000= 0000 -0400 @@ -136,16 +136,16 @@ static netdev_tx_t x25_xmit(struct sk_bu =20 static int x25_open(struct net_device *dev) @@ -35925,9 +35948,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wan/hdlc_x= 25.c linux-2.6.32.48/drivers/ne result =3D lapb_register(dev, &cb); if (result !=3D LAPB_OK) return result; -diff -urNp linux-2.6.32.48/drivers/net/wimax/i2400m/usb-fw.c linux-2.6.3= 2.48/drivers/net/wimax/i2400m/usb-fw.c ---- linux-2.6.32.48/drivers/net/wimax/i2400m/usb-fw.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wimax/i2400m/usb-fw.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wimax/i2400m/usb-fw.c linux-2.6.3= 2.46/drivers/net/wimax/i2400m/usb-fw.c +--- linux-2.6.32.46/drivers/net/wimax/i2400m/usb-fw.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wimax/i2400m/usb-fw.c 2011-05-16 21:46:5= 7.000000000 -0400 @@ -263,6 +263,8 @@ ssize_t i2400mu_bus_bm_wait_for_ack(stru int do_autopm =3D 1; DECLARE_COMPLETION_ONSTACK(notif_completion); @@ -35937,9 +35960,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wimax/i240= 0m/usb-fw.c linux-2.6.32.48/dri d_fnstart(8, dev, "(i2400m %p ack %p size %zu)\n", i2400m, ack, ack_size); BUG_ON(_ack =3D=3D i2400m->bm_ack_buf); -diff -urNp linux-2.6.32.48/drivers/net/wireless/airo.c linux-2.6.32.48/d= rivers/net/wireless/airo.c ---- linux-2.6.32.48/drivers/net/wireless/airo.c 2011-11-12 12:44:29.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/airo.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/airo.c linux-2.6.32.46/d= rivers/net/wireless/airo.c +--- linux-2.6.32.46/drivers/net/wireless/airo.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/airo.c 2011-05-16 21:46:57.0000= 00000 -0400 @@ -3003,6 +3003,8 @@ static void airo_process_scan_results (s BSSListElement * loop_net; BSSListElement * tmp_net; @@ -35994,9 +36017,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/a= iro.c linux-2.6.32.48/drivers/n /* Get stats out of the card */ clear_bit(JOB_WSTATS, &local->jobs); if (local->power.event) { -diff -urNp linux-2.6.32.48/drivers/net/wireless/ath/ath5k/debug.c linux-= 2.6.32.48/drivers/net/wireless/ath/ath5k/debug.c ---- linux-2.6.32.48/drivers/net/wireless/ath/ath5k/debug.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/ath/ath5k/debug.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/ath/ath5k/debug.c linux-= 2.6.32.46/drivers/net/wireless/ath/ath5k/debug.c +--- linux-2.6.32.46/drivers/net/wireless/ath/ath5k/debug.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/ath/ath5k/debug.c 2011-05-16 21= :46:57.000000000 -0400 @@ -205,6 +205,8 @@ static ssize_t read_file_beacon(struct f unsigned int v; u64 tsf; @@ -36015,9 +36038,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/a= th/ath5k/debug.c linux-2.6.32.4 len +=3D snprintf(buf+len, sizeof(buf)-len, "DEBUG LEVEL: 0x%08x\n\n", sc->debug.level); =20 -diff -urNp linux-2.6.32.48/drivers/net/wireless/ath/ath9k/debug.c linux-= 2.6.32.48/drivers/net/wireless/ath/ath9k/debug.c ---- linux-2.6.32.48/drivers/net/wireless/ath/ath9k/debug.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/ath/ath9k/debug.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/ath/ath9k/debug.c linux-= 2.6.32.46/drivers/net/wireless/ath/ath9k/debug.c +--- linux-2.6.32.46/drivers/net/wireless/ath/ath9k/debug.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/ath/ath9k/debug.c 2011-05-16 21= :46:57.000000000 -0400 @@ -220,6 +220,8 @@ static ssize_t read_file_interrupt(struc char buf[512]; unsigned int len =3D 0; @@ -36036,9 +36059,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/a= th/ath9k/debug.c linux-2.6.32.4 len +=3D snprintf(buf + len, sizeof(buf) - len, "primary: %s (%s chan=3D%d ht=3D%d)\n", wiphy_name(sc->pri_wiphy->hw->wiphy), -diff -urNp linux-2.6.32.48/drivers/net/wireless/b43/debugfs.c linux-2.6.= 32.48/drivers/net/wireless/b43/debugfs.c ---- linux-2.6.32.48/drivers/net/wireless/b43/debugfs.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/b43/debugfs.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/b43/debugfs.c linux-2.6.= 32.46/drivers/net/wireless/b43/debugfs.c +--- linux-2.6.32.46/drivers/net/wireless/b43/debugfs.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/b43/debugfs.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -43,7 +43,7 @@ static struct dentry *rootdir; struct b43_debugfs_fops { ssize_t (*read)(struct b43_wldev *dev, char *buf, size_t bufsize); @@ -36048,9 +36071,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/b= 43/debugfs.c linux-2.6.32.48/dr /* Offset of struct b43_dfs_file in struct b43_dfsentry */ size_t file_struct_offset; }; -diff -urNp linux-2.6.32.48/drivers/net/wireless/b43legacy/debugfs.c linu= x-2.6.32.48/drivers/net/wireless/b43legacy/debugfs.c ---- linux-2.6.32.48/drivers/net/wireless/b43legacy/debugfs.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/b43legacy/debugfs.c 2011-11-12 = 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/b43legacy/debugfs.c linu= x-2.6.32.46/drivers/net/wireless/b43legacy/debugfs.c +--- linux-2.6.32.46/drivers/net/wireless/b43legacy/debugfs.c 2011-03-27 = 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/b43legacy/debugfs.c 2011-04-17 = 15:56:46.000000000 -0400 @@ -44,7 +44,7 @@ static struct dentry *rootdir; struct b43legacy_debugfs_fops { ssize_t (*read)(struct b43legacy_wldev *dev, char *buf, size_t bufsize= ); @@ -36060,9 +36083,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/b= 43legacy/debugfs.c linux-2.6.32 /* Offset of struct b43legacy_dfs_file in struct b43legacy_dfsentry */ size_t file_struct_offset; /* Take wl->irq_lock before calling read/write? */ -diff -urNp linux-2.6.32.48/drivers/net/wireless/ipw2x00/ipw2100.c linux-= 2.6.32.48/drivers/net/wireless/ipw2x00/ipw2100.c ---- linux-2.6.32.48/drivers/net/wireless/ipw2x00/ipw2100.c 2011-11-12 12= :44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/ipw2x00/ipw2100.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/ipw2x00/ipw2100.c linux-= 2.6.32.46/drivers/net/wireless/ipw2x00/ipw2100.c +--- linux-2.6.32.46/drivers/net/wireless/ipw2x00/ipw2100.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/ipw2x00/ipw2100.c 2011-05-16 21= :46:57.000000000 -0400 @@ -2014,6 +2014,8 @@ static int ipw2100_set_essid(struct ipw2 int err; DECLARE_SSID_BUF(ssid); @@ -36081,9 +36104,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= pw2x00/ipw2100.c linux-2.6.32.4 IPW_DEBUG_HC("WEP_KEY_INFO: index =3D %d, len =3D %d/%d\n", idx, keylen, len); =20 -diff -urNp linux-2.6.32.48/drivers/net/wireless/ipw2x00/libipw_rx.c linu= x-2.6.32.48/drivers/net/wireless/ipw2x00/libipw_rx.c ---- linux-2.6.32.48/drivers/net/wireless/ipw2x00/libipw_rx.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-11-12 = 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/ipw2x00/libipw_rx.c linu= x-2.6.32.46/drivers/net/wireless/ipw2x00/libipw_rx.c +--- linux-2.6.32.46/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-03-27 = 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-05-16 = 21:46:57.000000000 -0400 @@ -1566,6 +1566,8 @@ static void libipw_process_probe_respons unsigned long flags; DECLARE_SSID_BUF(ssid); @@ -36093,9 +36116,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= pw2x00/libipw_rx.c linux-2.6.32 LIBIPW_DEBUG_SCAN("'%s' (%pM" "): %c%c%c%c %c%c%c%c-%c%c%c%c %c%c%c%c\n", print_ssid(ssid, info_element->data, info_element->len), -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-1000.c linux= -2.6.32.48/drivers/net/wireless/iwlwifi/iwl-1000.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-1000.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-1000.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-1000.c linux= -2.6.32.46/drivers/net/wireless/iwlwifi/iwl-1000.c +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-1000.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-1000.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -137,7 +137,7 @@ static struct iwl_lib_ops iwl1000_lib =3D=20 }, }; @@ -36105,9 +36128,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl-1000.c linux-2.6.32. .ucode =3D &iwl5000_ucode, .lib =3D &iwl1000_lib, .hcmd =3D &iwl5000_hcmd, -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl3945-base.c l= inux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl3945-base.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl3945-base.c 2011-11-= 12 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl3945-base.c 2011-11-= 12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl3945-base.c l= inux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl3945-base.c +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl3945-base.c 2011-03-= 27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl3945-base.c 2011-08-= 05 20:33:55.000000000 -0400 @@ -3927,7 +3927,9 @@ static int iwl3945_pci_probe(struct pci_ */ if (iwl3945_mod_params.disable_hw_scan) { @@ -36119,9 +36142,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl3945-base.c linux-2.6 } =20 =20 -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-3945.c linux= -2.6.32.48/drivers/net/wireless/iwlwifi/iwl-3945.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-3945.c 2011-11-12 1= 2:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-3945.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-3945.c linux= -2.6.32.46/drivers/net/wireless/iwlwifi/iwl-3945.c +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-3945.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-3945.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -2874,7 +2874,7 @@ static struct iwl_hcmd_utils_ops iwl3945 .build_addsta_hcmd =3D iwl3945_build_addsta_hcmd, }; @@ -36131,9 +36154,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl-3945.c linux-2.6.32. .ucode =3D &iwl3945_ucode, .lib =3D &iwl3945_lib, .hcmd =3D &iwl3945_hcmd, -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-4965.c linux= -2.6.32.48/drivers/net/wireless/iwlwifi/iwl-4965.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-4965.c 2011-11-12 1= 2:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-4965.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-4965.c linux= -2.6.32.46/drivers/net/wireless/iwlwifi/iwl-4965.c +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-4965.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-4965.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -2345,7 +2345,7 @@ static struct iwl_lib_ops iwl4965_lib =3D=20 }, }; @@ -36143,9 +36166,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl-4965.c linux-2.6.32. .ucode =3D &iwl4965_ucode, .lib =3D &iwl4965_lib, .hcmd =3D &iwl4965_hcmd, -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-5000.c linux= -2.6.32.48/drivers/net/wireless/iwlwifi/iwl-5000.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-5000.c 2011-11-12 1= 2:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-5000.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-5000.c linux= -2.6.32.46/drivers/net/wireless/iwlwifi/iwl-5000.c +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-5000.c 2011-06-25 1= 2:55:34.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-5000.c 2011-06-25 1= 2:56:37.000000000 -0400 @@ -1633,14 +1633,14 @@ static struct iwl_lib_ops iwl5150_lib =3D=20 }, }; @@ -36163,9 +36186,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl-5000.c linux-2.6.32. .ucode =3D &iwl5000_ucode, .lib =3D &iwl5150_lib, .hcmd =3D &iwl5000_hcmd, -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-6000.c linux= -2.6.32.48/drivers/net/wireless/iwlwifi/iwl-6000.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-6000.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-6000.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-6000.c linux= -2.6.32.46/drivers/net/wireless/iwlwifi/iwl-6000.c +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-6000.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-6000.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -146,7 +146,7 @@ static struct iwl_hcmd_utils_ops iwl6000 .calc_rssi =3D iwl5000_calc_rssi, }; @@ -36175,9 +36198,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl-6000.c linux-2.6.32. .ucode =3D &iwl5000_ucode, .lib =3D &iwl6000_lib, .hcmd =3D &iwl5000_hcmd, -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn.c linux-= 2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn.c 2011-11-12 12= :44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-agn.c linux-= 2.6.32.46/drivers/net/wireless/iwlwifi/iwl-agn.c +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-agn.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-agn.c 2011-08-05 20= :33:55.000000000 -0400 @@ -2911,7 +2911,9 @@ static int iwl_pci_probe(struct pci_dev=20 if (iwl_debug_level & IWL_DL_INFO) dev_printk(KERN_DEBUG, &(pdev->dev), @@ -36189,9 +36212,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl-agn.c linux-2.6.32.4 } =20 hw =3D iwl_alloc_all(cfg, &iwl_hw_ops); -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn-rs.c lin= ux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn-rs.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-11-12= 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-11-12= 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-agn-rs.c lin= ux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-agn-rs.c +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-03-27= 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-05-16= 21:46:57.000000000 -0400 @@ -857,6 +857,8 @@ static void rs_tx_status(void *priv_r, s u8 active_index =3D 0; s32 tpt =3D 0; @@ -36210,9 +36233,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl-agn-rs.c linux-2.6.3 /* Override starting rate (index 0) if needed for debug purposes */ rs_dbgfs_set_mcs(lq_sta, &new_rate, index); =20 -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debugfs.c li= nux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debugfs.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2009-12-0= 2 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-11-1= 2 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-debugfs.c li= nux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-debugfs.c +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-03-2= 7 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-05-1= 6 21:46:57.000000000 -0400 @@ -524,6 +524,8 @@ static ssize_t iwl_dbgfs_status_read(str int pos =3D 0; const size_t bufsz =3D sizeof(buf); @@ -36231,9 +36254,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl-debugfs.c linux-2.6. for (i =3D 0; i < AC_NUM; i++) { pos +=3D scnprintf(buf + pos, bufsz - pos, "\tcw_min\tcw_max\taifsn\ttxop\n"); -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debug.h linu= x-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debug.h ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debug.h 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-11-12 = 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-debug.h linu= x-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-debug.h +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-03-27 = 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-04-17 = 15:56:46.000000000 -0400 @@ -118,8 +118,8 @@ void iwl_dbgfs_unregister(struct iwl_pri #endif =20 @@ -36245,9 +36268,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl-debug.h linux-2.6.32 static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level, void *p, u32 len) {} -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-dev.h linux-= 2.6.32.48/drivers/net/wireless/iwlwifi/iwl-dev.h ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-dev.h 2011-11-12 12= :44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-dev.h 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-dev.h linux-= 2.6.32.46/drivers/net/wireless/iwlwifi/iwl-dev.h +--- linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-dev.h 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwlwifi/iwl-dev.h 2011-04-17 15= :56:46.000000000 -0400 @@ -68,7 +68,7 @@ struct iwl_tx_queue; =20 /* shared structures from iwl-5000.c */ @@ -36257,9 +36280,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wlwifi/iwl-dev.h linux-2.6.32.4 extern struct iwl_ucode_ops iwl5000_ucode; extern struct iwl_lib_ops iwl5000_lib; extern struct iwl_hcmd_ops iwl5000_hcmd; -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwmc3200wifi/debugfs.c l= inux-2.6.32.48/drivers/net/wireless/iwmc3200wifi/debugfs.c ---- linux-2.6.32.48/drivers/net/wireless/iwmc3200wifi/debugfs.c 2009-12-= 02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-11-= 12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/iwmc3200wifi/debugfs.c l= inux-2.6.32.46/drivers/net/wireless/iwmc3200wifi/debugfs.c +--- linux-2.6.32.46/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-03-= 27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-05-= 16 21:46:57.000000000 -0400 @@ -299,6 +299,8 @@ static ssize_t iwm_debugfs_fw_err_read(s int buf_len =3D 512; size_t len =3D 0; @@ -36269,9 +36292,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= wmc3200wifi/debugfs.c linux-2.6 if (*ppos !=3D 0) return 0; if (count < sizeof(buf)) -diff -urNp linux-2.6.32.48/drivers/net/wireless/libertas/debugfs.c linux= -2.6.32.48/drivers/net/wireless/libertas/debugfs.c ---- linux-2.6.32.48/drivers/net/wireless/libertas/debugfs.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/libertas/debugfs.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/libertas/debugfs.c linux= -2.6.32.46/drivers/net/wireless/libertas/debugfs.c +--- linux-2.6.32.46/drivers/net/wireless/libertas/debugfs.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/libertas/debugfs.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -708,7 +708,7 @@ out_unlock: struct lbs_debugfs_files { const char *name; @@ -36281,9 +36304,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/l= ibertas/debugfs.c linux-2.6.32. }; =20 static const struct lbs_debugfs_files debugfs_files[] =3D { -diff -urNp linux-2.6.32.48/drivers/net/wireless/rndis_wlan.c linux-2.6.3= 2.48/drivers/net/wireless/rndis_wlan.c ---- linux-2.6.32.48/drivers/net/wireless/rndis_wlan.c 2011-11-12 12:44:2= 9.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/rndis_wlan.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/net/wireless/rndis_wlan.c linux-2.6.3= 2.46/drivers/net/wireless/rndis_wlan.c +--- linux-2.6.32.46/drivers/net/wireless/rndis_wlan.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/net/wireless/rndis_wlan.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -1176,7 +1176,7 @@ static int set_rts_threshold(struct usbn =20 devdbg(usbdev, "set_rts_threshold %i", rts_threshold); @@ -36293,9 +36316,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/r= ndis_wlan.c linux-2.6.32.48/dri rts_threshold =3D 2347; =20 tmp =3D cpu_to_le32(rts_threshold); -diff -urNp linux-2.6.32.48/drivers/oprofile/buffer_sync.c linux-2.6.32.4= 8/drivers/oprofile/buffer_sync.c ---- linux-2.6.32.48/drivers/oprofile/buffer_sync.c 2011-11-12 12:44:29.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/oprofile/buffer_sync.c 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/oprofile/buffer_sync.c linux-2.6.32.4= 6/drivers/oprofile/buffer_sync.c +--- linux-2.6.32.46/drivers/oprofile/buffer_sync.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/oprofile/buffer_sync.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -341,7 +341,7 @@ static void add_data(struct op_entry *en if (cookie =3D=3D NO_COOKIE) offset =3D pc; @@ -36331,9 +36354,9 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/buffe= r_sync.c linux-2.6.32.48/driver } } release_mm(mm); -diff -urNp linux-2.6.32.48/drivers/oprofile/event_buffer.c linux-2.6.32.= 48/drivers/oprofile/event_buffer.c ---- linux-2.6.32.48/drivers/oprofile/event_buffer.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/oprofile/event_buffer.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/oprofile/event_buffer.c linux-2.6.32.= 46/drivers/oprofile/event_buffer.c +--- linux-2.6.32.46/drivers/oprofile/event_buffer.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/oprofile/event_buffer.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -53,7 +53,7 @@ void add_event_entry(unsigned long value } =20 @@ -36343,9 +36366,9 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/event= _buffer.c linux-2.6.32.48/drive return; } =20 -diff -urNp linux-2.6.32.48/drivers/oprofile/oprof.c linux-2.6.32.48/driv= ers/oprofile/oprof.c ---- linux-2.6.32.48/drivers/oprofile/oprof.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/oprofile/oprof.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/oprofile/oprof.c linux-2.6.32.46/driv= ers/oprofile/oprof.c +--- linux-2.6.32.46/drivers/oprofile/oprof.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/oprofile/oprof.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -110,7 +110,7 @@ static void switch_worker(struct work_st if (oprofile_ops.switch_events()) return; @@ -36355,9 +36378,9 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/oprof= .c linux-2.6.32.48/drivers/opro start_switch_worker(); } =20 -diff -urNp linux-2.6.32.48/drivers/oprofile/oprofilefs.c linux-2.6.32.48= /drivers/oprofile/oprofilefs.c ---- linux-2.6.32.48/drivers/oprofile/oprofilefs.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/oprofile/oprofilefs.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/oprofile/oprofilefs.c linux-2.6.32.46= /drivers/oprofile/oprofilefs.c +--- linux-2.6.32.46/drivers/oprofile/oprofilefs.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/oprofile/oprofilefs.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -187,7 +187,7 @@ static const struct file_operations atom =20 =20 @@ -36367,9 +36390,9 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/oprof= ilefs.c linux-2.6.32.48/drivers { struct dentry *d =3D __oprofilefs_create_file(sb, root, name, &atomic_ro_fops, 0444); -diff -urNp linux-2.6.32.48/drivers/oprofile/oprofile_stats.c linux-2.6.3= 2.48/drivers/oprofile/oprofile_stats.c ---- linux-2.6.32.48/drivers/oprofile/oprofile_stats.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/oprofile/oprofile_stats.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/oprofile/oprofile_stats.c linux-2.6.3= 2.46/drivers/oprofile/oprofile_stats.c +--- linux-2.6.32.46/drivers/oprofile/oprofile_stats.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/oprofile/oprofile_stats.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -30,11 +30,11 @@ void oprofile_reset_stats(void) cpu_buf->sample_invalid_eip =3D 0; } @@ -36387,9 +36410,9 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/oprof= ile_stats.c linux-2.6.32.48/dri } =20 =20 -diff -urNp linux-2.6.32.48/drivers/oprofile/oprofile_stats.h linux-2.6.3= 2.48/drivers/oprofile/oprofile_stats.h ---- linux-2.6.32.48/drivers/oprofile/oprofile_stats.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/oprofile/oprofile_stats.h 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/oprofile/oprofile_stats.h linux-2.6.3= 2.46/drivers/oprofile/oprofile_stats.h +--- linux-2.6.32.46/drivers/oprofile/oprofile_stats.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/oprofile/oprofile_stats.h 2011-04-17 15:56:4= 6.000000000 -0400 @@ -13,11 +13,11 @@ #include =20 @@ -36407,9 +36430,9 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/oprof= ile_stats.h linux-2.6.32.48/dri }; =20 extern struct oprofile_stat_struct oprofile_stats; -diff -urNp linux-2.6.32.48/drivers/parisc/pdc_stable.c linux-2.6.32.48/d= rivers/parisc/pdc_stable.c ---- linux-2.6.32.48/drivers/parisc/pdc_stable.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/parisc/pdc_stable.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/parisc/pdc_stable.c linux-2.6.32.46/d= rivers/parisc/pdc_stable.c +--- linux-2.6.32.46/drivers/parisc/pdc_stable.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/parisc/pdc_stable.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -481,7 +481,7 @@ pdcspath_attr_store(struct kobject *kobj return ret; } @@ -36419,9 +36442,9 @@ diff -urNp linux-2.6.32.48/drivers/parisc/pdc_sta= ble.c linux-2.6.32.48/drivers/p .show =3D pdcspath_attr_show, .store =3D pdcspath_attr_store, }; -diff -urNp linux-2.6.32.48/drivers/parport/procfs.c linux-2.6.32.48/driv= ers/parport/procfs.c ---- linux-2.6.32.48/drivers/parport/procfs.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/parport/procfs.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/parport/procfs.c linux-2.6.32.46/driv= ers/parport/procfs.c +--- linux-2.6.32.46/drivers/parport/procfs.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/parport/procfs.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -64,7 +64,7 @@ static int do_active_device(ctl_table *t =20 *ppos +=3D len; @@ -36440,9 +36463,9 @@ diff -urNp linux-2.6.32.48/drivers/parport/procfs= .c linux-2.6.32.48/drivers/parp } #endif /* IEEE1284.3 support. */ =20 -diff -urNp linux-2.6.32.48/drivers/pci/hotplug/acpiphp_glue.c linux-2.6.= 32.48/drivers/pci/hotplug/acpiphp_glue.c ---- linux-2.6.32.48/drivers/pci/hotplug/acpiphp_glue.c 2011-11-12 12:44:= 29.000000000 -0500 -+++ linux-2.6.32.48/drivers/pci/hotplug/acpiphp_glue.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/pci/hotplug/acpiphp_glue.c linux-2.6.= 32.46/drivers/pci/hotplug/acpiphp_glue.c +--- linux-2.6.32.46/drivers/pci/hotplug/acpiphp_glue.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/pci/hotplug/acpiphp_glue.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -111,7 +111,7 @@ static int post_dock_fixups(struct notif } =20 @@ -36452,9 +36475,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/hotplug/ac= piphp_glue.c linux-2.6.32.48/dr .handler =3D handle_hotplug_event_func, }; =20 -diff -urNp linux-2.6.32.48/drivers/pci/hotplug/cpci_hotplug.h linux-2.6.= 32.48/drivers/pci/hotplug/cpci_hotplug.h ---- linux-2.6.32.48/drivers/pci/hotplug/cpci_hotplug.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/pci/hotplug/cpci_hotplug.h 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/pci/hotplug/cpci_hotplug.h linux-2.6.= 32.46/drivers/pci/hotplug/cpci_hotplug.h +--- linux-2.6.32.46/drivers/pci/hotplug/cpci_hotplug.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/pci/hotplug/cpci_hotplug.h 2011-08-05 20:33:= 55.000000000 -0400 @@ -59,7 +59,7 @@ struct cpci_hp_controller_ops { int (*hardware_test) (struct slot* slot, u32 value); u8 (*get_power) (struct slot* slot); @@ -36464,9 +36487,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/hotplug/cp= ci_hotplug.h linux-2.6.32.48/dr =20 struct cpci_hp_controller { unsigned int irq; -diff -urNp linux-2.6.32.48/drivers/pci/hotplug/cpqphp_nvram.c linux-2.6.= 32.48/drivers/pci/hotplug/cpqphp_nvram.c ---- linux-2.6.32.48/drivers/pci/hotplug/cpqphp_nvram.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/pci/hotplug/cpqphp_nvram.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/pci/hotplug/cpqphp_nvram.c linux-2.6.= 32.46/drivers/pci/hotplug/cpqphp_nvram.c +--- linux-2.6.32.46/drivers/pci/hotplug/cpqphp_nvram.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/pci/hotplug/cpqphp_nvram.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -428,9 +428,13 @@ static u32 store_HRT (void __iomem *rom_ =20 void compaq_nvram_init (void __iomem *rom_start) @@ -36481,9 +36504,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/hotplug/cp= qphp_nvram.c linux-2.6.32.48/dr dbg("int15 entry =3D %p\n", compaq_int15_entry_point); =20 /* initialize our int15 lock */ -diff -urNp linux-2.6.32.48/drivers/pci/hotplug/fakephp.c linux-2.6.32.48= /drivers/pci/hotplug/fakephp.c ---- linux-2.6.32.48/drivers/pci/hotplug/fakephp.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/pci/hotplug/fakephp.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/pci/hotplug/fakephp.c linux-2.6.32.46= /drivers/pci/hotplug/fakephp.c +--- linux-2.6.32.46/drivers/pci/hotplug/fakephp.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/pci/hotplug/fakephp.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -73,7 +73,7 @@ static void legacy_release(struct kobjec } =20 @@ -36493,9 +36516,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/hotplug/fa= kephp.c linux-2.6.32.48/drivers .store =3D legacy_store, .show =3D legacy_show }, .release =3D &legacy_release, -diff -urNp linux-2.6.32.48/drivers/pci/intel-iommu.c linux-2.6.32.48/dri= vers/pci/intel-iommu.c ---- linux-2.6.32.48/drivers/pci/intel-iommu.c 2011-11-12 12:44:29.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/pci/intel-iommu.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/pci/intel-iommu.c linux-2.6.32.46/dri= vers/pci/intel-iommu.c +--- linux-2.6.32.46/drivers/pci/intel-iommu.c 2011-05-10 22:12:01.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/pci/intel-iommu.c 2011-05-10 22:12:33.000000= 000 -0400 @@ -2643,7 +2643,7 @@ error: return 0; } @@ -36565,9 +36588,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/intel-iomm= u.c linux-2.6.32.48/drivers/pci .alloc_coherent =3D intel_alloc_coherent, .free_coherent =3D intel_free_coherent, .map_sg =3D intel_map_sg, -diff -urNp linux-2.6.32.48/drivers/pci/pcie/aspm.c linux-2.6.32.48/drive= rs/pci/pcie/aspm.c ---- linux-2.6.32.48/drivers/pci/pcie/aspm.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/pci/pcie/aspm.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/pci/pcie/aspm.c linux-2.6.32.46/drive= rs/pci/pcie/aspm.c +--- linux-2.6.32.46/drivers/pci/pcie/aspm.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/pci/pcie/aspm.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -27,9 +27,9 @@ #define MODULE_PARAM_PREFIX "pcie_aspm." =20 @@ -36581,9 +36604,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/pcie/aspm.= c linux-2.6.32.48/drivers/pci/p #define ASPM_STATE_L0S (ASPM_STATE_L0S_UP | ASPM_STATE_L0S_DW) #define ASPM_STATE_ALL (ASPM_STATE_L0S | ASPM_STATE_L1) =20 -diff -urNp linux-2.6.32.48/drivers/pci/probe.c linux-2.6.32.48/drivers/p= ci/probe.c ---- linux-2.6.32.48/drivers/pci/probe.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/pci/probe.c 2011-11-12 12:46:45.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/pci/probe.c linux-2.6.32.46/drivers/p= ci/probe.c +--- linux-2.6.32.46/drivers/pci/probe.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/pci/probe.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -62,14 +62,14 @@ static ssize_t pci_bus_show_cpuaffinity( return ret; } @@ -36601,9 +36624,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/probe.c li= nux-2.6.32.48/drivers/pci/probe struct device_attribute *attr, char *buf) { -diff -urNp linux-2.6.32.48/drivers/pci/proc.c linux-2.6.32.48/drivers/pc= i/proc.c ---- linux-2.6.32.48/drivers/pci/proc.c 2011-11-12 12:44:29.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/pci/proc.c 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/pci/proc.c linux-2.6.32.46/drivers/pc= i/proc.c +--- linux-2.6.32.46/drivers/pci/proc.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/pci/proc.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -480,7 +480,16 @@ static const struct file_operations proc static int __init pci_proc_init(void) { @@ -36621,9 +36644,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/proc.c lin= ux-2.6.32.48/drivers/pci/proc.c proc_create("devices", 0, proc_bus_pci_dir, &proc_bus_pci_dev_operations); proc_initialized =3D 1; -diff -urNp linux-2.6.32.48/drivers/pci/slot.c linux-2.6.32.48/drivers/pc= i/slot.c ---- linux-2.6.32.48/drivers/pci/slot.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/pci/slot.c 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/pci/slot.c linux-2.6.32.46/drivers/pc= i/slot.c +--- linux-2.6.32.46/drivers/pci/slot.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/pci/slot.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -29,7 +29,7 @@ static ssize_t pci_slot_attr_store(struc return attribute->store ? attribute->store(slot, buf, len) : -EIO; } @@ -36633,9 +36656,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/slot.c lin= ux-2.6.32.48/drivers/pci/slot.c .show =3D pci_slot_attr_show, .store =3D pci_slot_attr_store, }; -diff -urNp linux-2.6.32.48/drivers/pcmcia/pcmcia_ioctl.c linux-2.6.32.48= /drivers/pcmcia/pcmcia_ioctl.c ---- linux-2.6.32.48/drivers/pcmcia/pcmcia_ioctl.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/pcmcia/pcmcia_ioctl.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/pcmcia/pcmcia_ioctl.c linux-2.6.32.46= /drivers/pcmcia/pcmcia_ioctl.c +--- linux-2.6.32.46/drivers/pcmcia/pcmcia_ioctl.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/pcmcia/pcmcia_ioctl.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -819,7 +819,7 @@ static int ds_ioctl(struct inode * inode return -EFAULT; } @@ -36645,9 +36668,9 @@ diff -urNp linux-2.6.32.48/drivers/pcmcia/pcmcia_= ioctl.c linux-2.6.32.48/drivers if (!buf) return -ENOMEM; =20 -diff -urNp linux-2.6.32.48/drivers/platform/x86/acer-wmi.c linux-2.6.32.= 48/drivers/platform/x86/acer-wmi.c ---- linux-2.6.32.48/drivers/platform/x86/acer-wmi.c 2011-11-12 12:44:29.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/acer-wmi.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/acer-wmi.c linux-2.6.32.= 46/drivers/platform/x86/acer-wmi.c +--- linux-2.6.32.46/drivers/platform/x86/acer-wmi.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/acer-wmi.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -918,7 +918,7 @@ static int update_bl_status(struct backl return 0; } @@ -36657,9 +36680,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/a= cer-wmi.c linux-2.6.32.48/drive .get_brightness =3D read_brightness, .update_status =3D update_bl_status, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/asus_acpi.c linux-2.6.32= .48/drivers/platform/x86/asus_acpi.c ---- linux-2.6.32.48/drivers/platform/x86/asus_acpi.c 2011-11-12 12:44:29= .000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/asus_acpi.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/asus_acpi.c linux-2.6.32= .46/drivers/platform/x86/asus_acpi.c +--- linux-2.6.32.46/drivers/platform/x86/asus_acpi.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/asus_acpi.c 2011-04-17 15:56:46= .000000000 -0400 @@ -1396,7 +1396,7 @@ static int asus_hotk_remove(struct acpi_ return 0; } @@ -36669,9 +36692,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/a= sus_acpi.c linux-2.6.32.48/driv .get_brightness =3D read_brightness, .update_status =3D set_brightness_status, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/asus-laptop.c linux-2.6.= 32.48/drivers/platform/x86/asus-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/asus-laptop.c 2011-11-12 12:44:= 29.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/asus-laptop.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/asus-laptop.c linux-2.6.= 32.46/drivers/platform/x86/asus-laptop.c +--- linux-2.6.32.46/drivers/platform/x86/asus-laptop.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/asus-laptop.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -250,7 +250,7 @@ static struct backlight_device *asus_bac */ static int read_brightness(struct backlight_device *bd); @@ -36681,9 +36704,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/a= sus-laptop.c linux-2.6.32.48/dr .get_brightness =3D read_brightness, .update_status =3D update_bl_status, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/compal-laptop.c linux-2.= 6.32.48/drivers/platform/x86/compal-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/compal-laptop.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/compal-laptop.c 2011-11-12 12:4= 6:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/compal-laptop.c linux-2.= 6.32.46/drivers/platform/x86/compal-laptop.c +--- linux-2.6.32.46/drivers/platform/x86/compal-laptop.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/compal-laptop.c 2011-04-17 15:5= 6:46.000000000 -0400 @@ -163,7 +163,7 @@ static int bl_update_status(struct backl return set_lcd_level(b->props.brightness); } @@ -36693,9 +36716,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/c= ompal-laptop.c linux-2.6.32.48/ .get_brightness =3D bl_get_brightness, .update_status =3D bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/dell-laptop.c linux-2.6.= 32.48/drivers/platform/x86/dell-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/dell-laptop.c 2011-11-12 12:44:= 29.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/dell-laptop.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/dell-laptop.c linux-2.6.= 32.46/drivers/platform/x86/dell-laptop.c +--- linux-2.6.32.46/drivers/platform/x86/dell-laptop.c 2011-05-10 22:12:= 01.000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/dell-laptop.c 2011-05-10 22:12:= 33.000000000 -0400 @@ -318,7 +318,7 @@ static int dell_get_intensity(struct bac return buffer.output[1]; } @@ -36705,9 +36728,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/d= ell-laptop.c linux-2.6.32.48/dr .get_brightness =3D dell_get_intensity, .update_status =3D dell_send_intensity, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/eeepc-laptop.c linux-2.6= .32.48/drivers/platform/x86/eeepc-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/eeepc-laptop.c 2011-11-12 12:44= :29.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/eeepc-laptop.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/eeepc-laptop.c linux-2.6= .32.46/drivers/platform/x86/eeepc-laptop.c +--- linux-2.6.32.46/drivers/platform/x86/eeepc-laptop.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/eeepc-laptop.c 2011-04-17 15:56= :46.000000000 -0400 @@ -245,7 +245,7 @@ static struct device *eeepc_hwmon_device */ static int read_brightness(struct backlight_device *bd); @@ -36717,9 +36740,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/e= eepc-laptop.c linux-2.6.32.48/d .get_brightness =3D read_brightness, .update_status =3D update_bl_status, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/fujitsu-laptop.c linux-2= .6.32.48/drivers/platform/x86/fujitsu-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/fujitsu-laptop.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/fujitsu-laptop.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/fujitsu-laptop.c linux-2= .6.32.46/drivers/platform/x86/fujitsu-laptop.c +--- linux-2.6.32.46/drivers/platform/x86/fujitsu-laptop.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/fujitsu-laptop.c 2011-04-17 15:= 56:46.000000000 -0400 @@ -436,7 +436,7 @@ static int bl_update_status(struct backl return ret; } @@ -36729,9 +36752,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/f= ujitsu-laptop.c linux-2.6.32.48 .get_brightness =3D bl_get_brightness, .update_status =3D bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/msi-laptop.c linux-2.6.3= 2.48/drivers/platform/x86/msi-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/msi-laptop.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/msi-laptop.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/msi-laptop.c linux-2.6.3= 2.46/drivers/platform/x86/msi-laptop.c +--- linux-2.6.32.46/drivers/platform/x86/msi-laptop.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/msi-laptop.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -161,7 +161,7 @@ static int bl_update_status(struct backl return set_lcd_level(b->props.brightness); } @@ -36741,9 +36764,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/m= si-laptop.c linux-2.6.32.48/dri .get_brightness =3D bl_get_brightness, .update_status =3D bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/panasonic-laptop.c linux= -2.6.32.48/drivers/platform/x86/panasonic-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/panasonic-laptop.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/panasonic-laptop.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/panasonic-laptop.c linux= -2.6.32.46/drivers/platform/x86/panasonic-laptop.c +--- linux-2.6.32.46/drivers/platform/x86/panasonic-laptop.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/panasonic-laptop.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -352,7 +352,7 @@ static int bl_set_status(struct backligh return acpi_pcc_write_sset(pcc, SINF_DC_CUR_BRIGHT, bright); } @@ -36753,9 +36776,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/p= anasonic-laptop.c linux-2.6.32. .get_brightness =3D bl_get, .update_status =3D bl_set_status, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/sony-laptop.c linux-2.6.= 32.48/drivers/platform/x86/sony-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/sony-laptop.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/sony-laptop.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/sony-laptop.c linux-2.6.= 32.46/drivers/platform/x86/sony-laptop.c +--- linux-2.6.32.46/drivers/platform/x86/sony-laptop.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/sony-laptop.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -850,7 +850,7 @@ static int sony_backlight_get_brightness } =20 @@ -36765,10 +36788,10 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86= /sony-laptop.c linux-2.6.32.48/dr .update_status =3D sony_backlight_update_status, .get_brightness =3D sony_backlight_get_brightness, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/thinkpad_acpi.c linux-2.= 6.32.48/drivers/platform/x86/thinkpad_acpi.c ---- linux-2.6.32.48/drivers/platform/x86/thinkpad_acpi.c 2011-11-12 12:4= 4:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/thinkpad_acpi.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -2139,7 +2139,7 @@ static int hotkey_mask_get(void) +diff -urNp linux-2.6.32.46/drivers/platform/x86/thinkpad_acpi.c linux-2.= 6.32.46/drivers/platform/x86/thinkpad_acpi.c +--- linux-2.6.32.46/drivers/platform/x86/thinkpad_acpi.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/thinkpad_acpi.c 2011-08-05 20:3= 3:55.000000000 -0400 +@@ -2137,7 +2137,7 @@ static int hotkey_mask_get(void) return 0; } =20 @@ -36777,7 +36800,7 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/t= hinkpad_acpi.c linux-2.6.32.48/ { /* log only what the user can fix... */ const u32 wantedmask =3D hotkey_driver_mask & -@@ -6125,7 +6125,7 @@ static void tpacpi_brightness_notify_cha +@@ -6122,7 +6122,7 @@ static void tpacpi_brightness_notify_cha BACKLIGHT_UPDATE_HOTKEY); } =20 @@ -36786,9 +36809,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/t= hinkpad_acpi.c linux-2.6.32.48/ .get_brightness =3D brightness_get, .update_status =3D brightness_update_status, }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/toshiba_acpi.c linux-2.6= .32.48/drivers/platform/x86/toshiba_acpi.c ---- linux-2.6.32.48/drivers/platform/x86/toshiba_acpi.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/toshiba_acpi.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/platform/x86/toshiba_acpi.c linux-2.6= .32.46/drivers/platform/x86/toshiba_acpi.c +--- linux-2.6.32.46/drivers/platform/x86/toshiba_acpi.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/platform/x86/toshiba_acpi.c 2011-04-17 15:56= :46.000000000 -0400 @@ -671,7 +671,7 @@ static acpi_status remove_device(void) return AE_OK; } @@ -36798,9 +36821,9 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86/t= oshiba_acpi.c linux-2.6.32.48/d .get_brightness =3D get_lcd, .update_status =3D set_lcd_status, }; -diff -urNp linux-2.6.32.48/drivers/pnp/pnpbios/bioscalls.c linux-2.6.32.= 48/drivers/pnp/pnpbios/bioscalls.c ---- linux-2.6.32.48/drivers/pnp/pnpbios/bioscalls.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/pnp/pnpbios/bioscalls.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/pnp/pnpbios/bioscalls.c linux-2.6.32.= 46/drivers/pnp/pnpbios/bioscalls.c +--- linux-2.6.32.46/drivers/pnp/pnpbios/bioscalls.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/pnp/pnpbios/bioscalls.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -60,7 +60,7 @@ do { \ set_desc_limit(&gdt[(selname) >> 3], (size) - 1); \ } while(0) @@ -36857,9 +36880,9 @@ diff -urNp linux-2.6.32.48/drivers/pnp/pnpbios/bi= oscalls.c linux-2.6.32.48/drive + + pax_close_kernel(); } -diff -urNp linux-2.6.32.48/drivers/pnp/resource.c linux-2.6.32.48/driver= s/pnp/resource.c ---- linux-2.6.32.48/drivers/pnp/resource.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/pnp/resource.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/pnp/resource.c linux-2.6.32.46/driver= s/pnp/resource.c +--- linux-2.6.32.46/drivers/pnp/resource.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/pnp/resource.c 2011-04-17 15:56:46.000000000= -0400 @@ -355,7 +355,7 @@ int pnp_check_irq(struct pnp_dev *dev, s return 1; =20 @@ -36878,9 +36901,9 @@ diff -urNp linux-2.6.32.48/drivers/pnp/resource.c= linux-2.6.32.48/drivers/pnp/re return 0; =20 /* check if the resource is reserved */ -diff -urNp linux-2.6.32.48/drivers/power/bq27x00_battery.c linux-2.6.32.= 48/drivers/power/bq27x00_battery.c ---- linux-2.6.32.48/drivers/power/bq27x00_battery.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/power/bq27x00_battery.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/power/bq27x00_battery.c linux-2.6.32.= 46/drivers/power/bq27x00_battery.c +--- linux-2.6.32.46/drivers/power/bq27x00_battery.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/power/bq27x00_battery.c 2011-08-05 20:33:55.= 000000000 -0400 @@ -44,7 +44,7 @@ struct bq27x00_device_info; struct bq27x00_access_methods { int (*read)(u8 reg, int *rt_value, int b_single, @@ -36890,9 +36913,9 @@ diff -urNp linux-2.6.32.48/drivers/power/bq27x00_= battery.c linux-2.6.32.48/drive =20 struct bq27x00_device_info { struct device *dev; -diff -urNp linux-2.6.32.48/drivers/rtc/rtc-dev.c linux-2.6.32.48/drivers= /rtc/rtc-dev.c ---- linux-2.6.32.48/drivers/rtc/rtc-dev.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/rtc/rtc-dev.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/rtc/rtc-dev.c linux-2.6.32.46/drivers= /rtc/rtc-dev.c +--- linux-2.6.32.46/drivers/rtc/rtc-dev.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/rtc/rtc-dev.c 2011-04-17 15:56:46.000000000 = -0400 @@ -14,6 +14,7 @@ #include #include @@ -36910,9 +36933,9 @@ diff -urNp linux-2.6.32.48/drivers/rtc/rtc-dev.c = linux-2.6.32.48/drivers/rtc/rtc return rtc_set_time(rtc, &tm); =20 case RTC_PIE_ON: -diff -urNp linux-2.6.32.48/drivers/s390/cio/qdio_perf.c linux-2.6.32.48/= drivers/s390/cio/qdio_perf.c ---- linux-2.6.32.48/drivers/s390/cio/qdio_perf.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/s390/cio/qdio_perf.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/s390/cio/qdio_perf.c linux-2.6.32.46/= drivers/s390/cio/qdio_perf.c +--- linux-2.6.32.46/drivers/s390/cio/qdio_perf.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/s390/cio/qdio_perf.c 2011-04-17 15:56:46.000= 000000 -0400 @@ -31,51 +31,51 @@ static struct proc_dir_entry *qdio_perf_ static int qdio_perf_proc_show(struct seq_file *m, void *v) { @@ -36988,9 +37011,9 @@ diff -urNp linux-2.6.32.48/drivers/s390/cio/qdio_= perf.c linux-2.6.32.48/drivers/ seq_printf(m, "\n"); return 0; } -diff -urNp linux-2.6.32.48/drivers/s390/cio/qdio_perf.h linux-2.6.32.48/= drivers/s390/cio/qdio_perf.h ---- linux-2.6.32.48/drivers/s390/cio/qdio_perf.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/s390/cio/qdio_perf.h 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/s390/cio/qdio_perf.h linux-2.6.32.46/= drivers/s390/cio/qdio_perf.h +--- linux-2.6.32.46/drivers/s390/cio/qdio_perf.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/s390/cio/qdio_perf.h 2011-04-17 15:56:46.000= 000000 -0400 @@ -13,46 +13,46 @@ =20 struct qdio_perf_stats { @@ -37063,9 +37086,9 @@ diff -urNp linux-2.6.32.48/drivers/s390/cio/qdio_= perf.h linux-2.6.32.48/drivers/ } =20 int qdio_setup_perf_stats(void); -diff -urNp linux-2.6.32.48/drivers/scsi/aacraid/aacraid.h linux-2.6.32.4= 8/drivers/scsi/aacraid/aacraid.h ---- linux-2.6.32.48/drivers/scsi/aacraid/aacraid.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/aacraid/aacraid.h 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/aacraid/aacraid.h linux-2.6.32.4= 6/drivers/scsi/aacraid/aacraid.h +--- linux-2.6.32.46/drivers/scsi/aacraid/aacraid.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/aacraid/aacraid.h 2011-08-05 20:33:55.0= 00000000 -0400 @@ -471,7 +471,7 @@ struct adapter_ops int (*adapter_scsi)(struct fib * fib, struct scsi_cmnd * cmd); /* Administrative operations */ @@ -37075,9 +37098,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/aacraid/a= acraid.h linux-2.6.32.48/driver =20 /* * Define which interrupt handler needs to be installed -diff -urNp linux-2.6.32.48/drivers/scsi/aacraid/commctrl.c linux-2.6.32.= 48/drivers/scsi/aacraid/commctrl.c ---- linux-2.6.32.48/drivers/scsi/aacraid/commctrl.c 2011-11-12 12:44:29.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/aacraid/commctrl.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/aacraid/commctrl.c linux-2.6.32.= 46/drivers/scsi/aacraid/commctrl.c +--- linux-2.6.32.46/drivers/scsi/aacraid/commctrl.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/aacraid/commctrl.c 2011-05-16 21:46:57.= 000000000 -0400 @@ -481,6 +481,7 @@ static int aac_send_raw_srb(struct aac_d u32 actual_fibsize64, actual_fibsize =3D 0; int i; @@ -37086,9 +37109,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/aacraid/c= ommctrl.c linux-2.6.32.48/drive =20 if (dev->in_reset) { dprintk((KERN_DEBUG"aacraid: send raw srb -EBUSY\n")); -diff -urNp linux-2.6.32.48/drivers/scsi/aic94xx/aic94xx_init.c linux-2.6= .32.48/drivers/scsi/aic94xx/aic94xx_init.c ---- linux-2.6.32.48/drivers/scsi/aic94xx/aic94xx_init.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/aic94xx/aic94xx_init.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/aic94xx/aic94xx_init.c linux-2.6= .32.46/drivers/scsi/aic94xx/aic94xx_init.c +--- linux-2.6.32.46/drivers/scsi/aic94xx/aic94xx_init.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/aic94xx/aic94xx_init.c 2011-04-17 15:56= :46.000000000 -0400 @@ -485,7 +485,7 @@ static ssize_t asd_show_update_bios(stru flash_error_table[i].reason); } @@ -37098,9 +37121,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/aic94xx/a= ic94xx_init.c linux-2.6.32.48/d asd_show_update_bios, asd_store_update_bios); =20 static int asd_create_dev_attrs(struct asd_ha_struct *asd_ha) -diff -urNp linux-2.6.32.48/drivers/scsi/bfa/bfa_iocfc.h linux-2.6.32.48/= drivers/scsi/bfa/bfa_iocfc.h ---- linux-2.6.32.48/drivers/scsi/bfa/bfa_iocfc.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/bfa/bfa_iocfc.h 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/bfa/bfa_iocfc.h linux-2.6.32.46/= drivers/scsi/bfa/bfa_iocfc.h +--- linux-2.6.32.46/drivers/scsi/bfa/bfa_iocfc.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/bfa/bfa_iocfc.h 2011-08-05 20:33:55.000= 000000 -0400 @@ -61,7 +61,7 @@ struct bfa_hwif_s { void (*hw_isr_mode_set)(struct bfa_s *bfa, bfa_boolean_t msix); void (*hw_msix_getvecs)(struct bfa_s *bfa, u32 *vecmap, @@ -37110,9 +37133,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/bfa/bfa_i= ocfc.h linux-2.6.32.48/drivers/ typedef void (*bfa_cb_iocfc_t) (void *cbarg, enum bfa_status status); =20 struct bfa_iocfc_s { -diff -urNp linux-2.6.32.48/drivers/scsi/bfa/bfa_ioc.h linux-2.6.32.48/dr= ivers/scsi/bfa/bfa_ioc.h ---- linux-2.6.32.48/drivers/scsi/bfa/bfa_ioc.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/scsi/bfa/bfa_ioc.h 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/bfa/bfa_ioc.h linux-2.6.32.46/dr= ivers/scsi/bfa/bfa_ioc.h +--- linux-2.6.32.46/drivers/scsi/bfa/bfa_ioc.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/scsi/bfa/bfa_ioc.h 2011-08-05 20:33:55.00000= 0000 -0400 @@ -127,7 +127,7 @@ struct bfa_ioc_cbfn_s { bfa_ioc_disable_cbfn_t disable_cbfn; bfa_ioc_hbfail_cbfn_t hbfail_cbfn; @@ -37122,9 +37145,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/bfa/bfa_i= oc.h linux-2.6.32.48/drivers/sc =20 /** * Heartbeat failure notification queue element. -diff -urNp linux-2.6.32.48/drivers/scsi/BusLogic.c linux-2.6.32.48/drive= rs/scsi/BusLogic.c ---- linux-2.6.32.48/drivers/scsi/BusLogic.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/scsi/BusLogic.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/BusLogic.c linux-2.6.32.46/drive= rs/scsi/BusLogic.c +--- linux-2.6.32.46/drivers/scsi/BusLogic.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/scsi/BusLogic.c 2011-05-16 21:46:57.00000000= 0 -0400 @@ -961,6 +961,8 @@ static int __init BusLogic_InitializeFla static void __init BusLogic_InitializeProbeInfoList(struct BusLogic_Hos= tAdapter *PrototypeHostAdapter) @@ -37134,9 +37157,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/BusLogic.= c linux-2.6.32.48/drivers/scsi/ /* If a PCI BIOS is present, interrogate it for MultiMaster and FlashP= oint Host Adapters; otherwise, default to the standard ISA MultiMaster p= robe. -diff -urNp linux-2.6.32.48/drivers/scsi/dpt_i2o.c linux-2.6.32.48/driver= s/scsi/dpt_i2o.c ---- linux-2.6.32.48/drivers/scsi/dpt_i2o.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/scsi/dpt_i2o.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/dpt_i2o.c linux-2.6.32.46/driver= s/scsi/dpt_i2o.c +--- linux-2.6.32.46/drivers/scsi/dpt_i2o.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/scsi/dpt_i2o.c 2011-05-16 21:46:57.000000000= -0400 @@ -1804,6 +1804,8 @@ static int adpt_i2o_passthru(adpt_hba* p dma_addr_t addr; ulong flags =3D 0; @@ -37155,9 +37178,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/dpt_i2o.c= linux-2.6.32.48/drivers/scsi/d memset(msg, 0 , sizeof(msg)); len =3D scsi_bufflen(cmd); direction =3D 0x00000000;=09 -diff -urNp linux-2.6.32.48/drivers/scsi/eata.c linux-2.6.32.48/drivers/s= csi/eata.c ---- linux-2.6.32.48/drivers/scsi/eata.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/scsi/eata.c 2011-11-12 12:46:45.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/scsi/eata.c linux-2.6.32.46/drivers/s= csi/eata.c +--- linux-2.6.32.46/drivers/scsi/eata.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/scsi/eata.c 2011-05-16 21:46:57.000000000 -0= 400 @@ -1087,6 +1087,8 @@ static int port_detect(unsigned long por struct hostdata *ha; char name[16]; @@ -37167,9 +37190,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/eata.c li= nux-2.6.32.48/drivers/scsi/eata sprintf(name, "%s%d", driver_name, j); =20 if (!request_region(port_base, REGION_SIZE, driver_name)) { -diff -urNp linux-2.6.32.48/drivers/scsi/fcoe/libfcoe.c linux-2.6.32.48/d= rivers/scsi/fcoe/libfcoe.c ---- linux-2.6.32.48/drivers/scsi/fcoe/libfcoe.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/scsi/fcoe/libfcoe.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/fcoe/libfcoe.c linux-2.6.32.46/d= rivers/scsi/fcoe/libfcoe.c +--- linux-2.6.32.46/drivers/scsi/fcoe/libfcoe.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/scsi/fcoe/libfcoe.c 2011-05-16 21:46:57.0000= 00000 -0400 @@ -809,6 +809,8 @@ static void fcoe_ctlr_recv_els(struct fc size_t rlen; size_t dlen; @@ -37179,9 +37202,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/fcoe/libf= coe.c linux-2.6.32.48/drivers/s fiph =3D (struct fip_header *)skb->data; sub =3D fiph->fip_subcode; if (sub !=3D FIP_SC_REQ && sub !=3D FIP_SC_REP) -diff -urNp linux-2.6.32.48/drivers/scsi/fnic/fnic_main.c linux-2.6.32.48= /drivers/scsi/fnic/fnic_main.c ---- linux-2.6.32.48/drivers/scsi/fnic/fnic_main.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/fnic/fnic_main.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/fnic/fnic_main.c linux-2.6.32.46= /drivers/scsi/fnic/fnic_main.c +--- linux-2.6.32.46/drivers/scsi/fnic/fnic_main.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/fnic/fnic_main.c 2011-08-05 20:33:55.00= 0000000 -0400 @@ -669,7 +669,7 @@ static int __devinit fnic_probe(struct p /* Start local port initiatialization */ =20 @@ -37191,9 +37214,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/fnic/fnic= _main.c linux-2.6.32.48/drivers =20 lp->max_retry_count =3D fnic->config.flogi_retries; lp->max_rport_retry_count =3D fnic->config.plogi_retries; -diff -urNp linux-2.6.32.48/drivers/scsi/gdth.c linux-2.6.32.48/drivers/s= csi/gdth.c ---- linux-2.6.32.48/drivers/scsi/gdth.c 2011-11-12 12:44:29.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/scsi/gdth.c 2011-11-12 12:46:45.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/scsi/gdth.c linux-2.6.32.46/drivers/s= csi/gdth.c +--- linux-2.6.32.46/drivers/scsi/gdth.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/scsi/gdth.c 2011-05-16 21:46:57.000000000 -0= 400 @@ -4102,6 +4102,8 @@ static int ioc_lockdrv(void __user *arg) ulong flags; gdth_ha_str *ha; @@ -37231,9 +37254,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/gdth.c li= nux-2.6.32.48/drivers/scsi/gdth memset(cmnd, 0xff, MAX_COMMAND_SIZE); =20 TRACE2(("gdth_flush() hanum %d\n", ha->hanum)); -diff -urNp linux-2.6.32.48/drivers/scsi/gdth_proc.c linux-2.6.32.48/driv= ers/scsi/gdth_proc.c ---- linux-2.6.32.48/drivers/scsi/gdth_proc.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/scsi/gdth_proc.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/gdth_proc.c linux-2.6.32.46/driv= ers/scsi/gdth_proc.c +--- linux-2.6.32.46/drivers/scsi/gdth_proc.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/scsi/gdth_proc.c 2011-05-16 21:46:57.0000000= 00 -0400 @@ -46,6 +46,9 @@ static int gdth_set_asc_info(struct Scsi ulong64 paddr; =20 @@ -37253,9 +37276,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/gdth_proc= .c linux-2.6.32.48/drivers/scsi gdtcmd =3D kmalloc(sizeof(*gdtcmd), GFP_KERNEL); estr =3D kmalloc(sizeof(*estr), GFP_KERNEL); if (!gdtcmd || !estr) -diff -urNp linux-2.6.32.48/drivers/scsi/hosts.c linux-2.6.32.48/drivers/= scsi/hosts.c ---- linux-2.6.32.48/drivers/scsi/hosts.c 2011-11-12 12:44:29.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/scsi/hosts.c 2011-11-12 12:46:45.000000000 -= 0500 +diff -urNp linux-2.6.32.46/drivers/scsi/hosts.c linux-2.6.32.46/drivers/= scsi/hosts.c +--- linux-2.6.32.46/drivers/scsi/hosts.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/drivers/scsi/hosts.c 2011-05-04 17:56:28.000000000 -= 0400 @@ -40,7 +40,7 @@ #include "scsi_logging.h" =20 @@ -37274,9 +37297,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/hosts.c l= inux-2.6.32.48/drivers/scsi/hos shost->dma_channel =3D 0xff; =20 /* These three are default values which can be overridden */ -diff -urNp linux-2.6.32.48/drivers/scsi/ipr.c linux-2.6.32.48/drivers/sc= si/ipr.c ---- linux-2.6.32.48/drivers/scsi/ipr.c 2011-11-12 12:44:29.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/scsi/ipr.c 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/scsi/ipr.c linux-2.6.32.46/drivers/sc= si/ipr.c +--- linux-2.6.32.46/drivers/scsi/ipr.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/scsi/ipr.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -5286,7 +5286,7 @@ static bool ipr_qc_fill_rtf(struct ata_q return true; } @@ -37286,9 +37309,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/ipr.c lin= ux-2.6.32.48/drivers/scsi/ipr.c .phy_reset =3D ipr_ata_phy_reset, .hardreset =3D ipr_sata_reset, .post_internal_cmd =3D ipr_ata_post_internal, -diff -urNp linux-2.6.32.48/drivers/scsi/ips.h linux-2.6.32.48/drivers/sc= si/ips.h ---- linux-2.6.32.48/drivers/scsi/ips.h 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/scsi/ips.h 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/drivers/scsi/ips.h linux-2.6.32.46/drivers/sc= si/ips.h +--- linux-2.6.32.46/drivers/scsi/ips.h 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/drivers/scsi/ips.h 2011-08-05 20:33:55.000000000 -04= 00 @@ -1027,7 +1027,7 @@ typedef struct { int (*intr)(struct ips_ha *); void (*enableint)(struct ips_ha *); @@ -37298,9 +37321,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/ips.h lin= ux-2.6.32.48/drivers/scsi/ips.h =20 typedef struct ips_ha { uint8_t ha_id[IPS_MAX_CHANNELS+1]; -diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_exch.c linux-2.6.32.48/= drivers/scsi/libfc/fc_exch.c ---- linux-2.6.32.48/drivers/scsi/libfc/fc_exch.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/libfc/fc_exch.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/libfc/fc_exch.c linux-2.6.32.46/= drivers/scsi/libfc/fc_exch.c +--- linux-2.6.32.46/drivers/scsi/libfc/fc_exch.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/libfc/fc_exch.c 2011-08-23 21:22:32.000= 000000 -0400 @@ -86,12 +86,12 @@ struct fc_exch_mgr { * all together if not used XXX */ @@ -37422,9 +37445,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_= exch.c linux-2.6.32.48/drivers/ =20 fc_frame_free(fp); } -diff -urNp linux-2.6.32.48/drivers/scsi/libsas/sas_ata.c linux-2.6.32.48= /drivers/scsi/libsas/sas_ata.c ---- linux-2.6.32.48/drivers/scsi/libsas/sas_ata.c 2011-11-12 12:44:29.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/libsas/sas_ata.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/libsas/sas_ata.c linux-2.6.32.46= /drivers/scsi/libsas/sas_ata.c +--- linux-2.6.32.46/drivers/scsi/libsas/sas_ata.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/libsas/sas_ata.c 2011-04-23 12:56:11.00= 0000000 -0400 @@ -343,7 +343,7 @@ static int sas_ata_scr_read(struct ata_l } } @@ -37434,9 +37457,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libsas/sa= s_ata.c linux-2.6.32.48/drivers .phy_reset =3D sas_ata_phy_reset, .post_internal_cmd =3D sas_ata_post_internal, .qc_defer =3D ata_std_qc_defer, -diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc_debugfs.c linux-2.6.32= .48/drivers/scsi/lpfc/lpfc_debugfs.c ---- linux-2.6.32.48/drivers/scsi/lpfc/lpfc_debugfs.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/lpfc/lpfc_debugfs.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/lpfc/lpfc_debugfs.c linux-2.6.32= .46/drivers/scsi/lpfc/lpfc_debugfs.c +--- linux-2.6.32.46/drivers/scsi/lpfc/lpfc_debugfs.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/lpfc/lpfc_debugfs.c 2011-05-16 21:46:57= .000000000 -0400 @@ -124,7 +124,7 @@ struct lpfc_debug { int len; }; @@ -37525,9 +37548,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _debugfs.c linux-2.6.32.48/driv =20 snprintf(name, sizeof(name), "discovery_trace"); vport->debug_disc_trc =3D -diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc.h linux-2.6.32.48/driv= ers/scsi/lpfc/lpfc.h ---- linux-2.6.32.48/drivers/scsi/lpfc/lpfc.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/scsi/lpfc/lpfc.h 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/lpfc/lpfc.h linux-2.6.32.46/driv= ers/scsi/lpfc/lpfc.h +--- linux-2.6.32.46/drivers/scsi/lpfc/lpfc.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/scsi/lpfc/lpfc.h 2011-05-04 17:56:28.0000000= 00 -0400 @@ -400,7 +400,7 @@ struct lpfc_vport { struct dentry *debug_nodelist; struct dentry *vport_debugfs_root; @@ -37557,9 +37580,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= .h linux-2.6.32.48/drivers/scsi #endif =20 /* Used for deferred freeing of ELS data buffers */ -diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc_init.c linux-2.6.32.48= /drivers/scsi/lpfc/lpfc_init.c ---- linux-2.6.32.48/drivers/scsi/lpfc/lpfc_init.c 2011-11-12 12:44:29.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/lpfc/lpfc_init.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/lpfc/lpfc_init.c linux-2.6.32.46= /drivers/scsi/lpfc/lpfc_init.c +--- linux-2.6.32.46/drivers/scsi/lpfc/lpfc_init.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/lpfc/lpfc_init.c 2011-08-05 20:33:55.00= 0000000 -0400 @@ -8021,8 +8021,10 @@ lpfc_init(void) printk(LPFC_COPYRIGHT "\n"); =20 @@ -37573,9 +37596,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _init.c linux-2.6.32.48/drivers } lpfc_transport_template =3D fc_attach_transport(&lpfc_transport_functions); -diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc_scsi.c linux-2.6.32.48= /drivers/scsi/lpfc/lpfc_scsi.c ---- linux-2.6.32.48/drivers/scsi/lpfc/lpfc_scsi.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/lpfc/lpfc_scsi.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/lpfc/lpfc_scsi.c linux-2.6.32.46= /drivers/scsi/lpfc/lpfc_scsi.c +--- linux-2.6.32.46/drivers/scsi/lpfc/lpfc_scsi.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/lpfc/lpfc_scsi.c 2011-05-04 17:56:28.00= 0000000 -0400 @@ -259,7 +259,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hb uint32_t evt_posted; =20 @@ -37627,9 +37650,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _scsi.c linux-2.6.32.48/drivers } =20 /** -diff -urNp linux-2.6.32.48/drivers/scsi/megaraid/megaraid_mbox.c linux-2= .6.32.48/drivers/scsi/megaraid/megaraid_mbox.c ---- linux-2.6.32.48/drivers/scsi/megaraid/megaraid_mbox.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/megaraid/megaraid_mbox.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/megaraid/megaraid_mbox.c linux-2= .6.32.46/drivers/scsi/megaraid/megaraid_mbox.c +--- linux-2.6.32.46/drivers/scsi/megaraid/megaraid_mbox.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/megaraid/megaraid_mbox.c 2011-05-16 21:= 46:57.000000000 -0400 @@ -3503,6 +3503,8 @@ megaraid_cmm_register(adapter_t *adapter int rval; int i; @@ -37639,9 +37662,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/megaraid/= megaraid_mbox.c linux-2.6.32.48 // Allocate memory for the base list of scb for management module. adapter->uscb_list =3D kcalloc(MBOX_MAX_USER_CMDS, sizeof(scb_t), GFP_= KERNEL); =20 -diff -urNp linux-2.6.32.48/drivers/scsi/osd/osd_initiator.c linux-2.6.32= .48/drivers/scsi/osd/osd_initiator.c ---- linux-2.6.32.48/drivers/scsi/osd/osd_initiator.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/osd/osd_initiator.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/osd/osd_initiator.c linux-2.6.32= .46/drivers/scsi/osd/osd_initiator.c +--- linux-2.6.32.46/drivers/scsi/osd/osd_initiator.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/osd/osd_initiator.c 2011-05-16 21:46:57= .000000000 -0400 @@ -94,6 +94,8 @@ static int _osd_print_system_info(struct int nelem =3D ARRAY_SIZE(get_attrs), a =3D 0; int ret; @@ -37651,9 +37674,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/osd/osd_i= nitiator.c linux-2.6.32.48/driv or =3D osd_start_request(od, GFP_KERNEL); if (!or) return -ENOMEM; -diff -urNp linux-2.6.32.48/drivers/scsi/pmcraid.c linux-2.6.32.48/driver= s/scsi/pmcraid.c ---- linux-2.6.32.48/drivers/scsi/pmcraid.c 2011-11-12 12:44:29.000000000= -0500 -+++ linux-2.6.32.48/drivers/scsi/pmcraid.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/pmcraid.c linux-2.6.32.46/driver= s/scsi/pmcraid.c +--- linux-2.6.32.46/drivers/scsi/pmcraid.c 2011-08-09 18:35:29.000000000= -0400 ++++ linux-2.6.32.46/drivers/scsi/pmcraid.c 2011-08-09 18:33:59.000000000= -0400 @@ -189,8 +189,8 @@ static int pmcraid_slave_alloc(struct sc res->scsi_dev =3D scsi_dev; scsi_dev->hostdata =3D res; @@ -37704,9 +37727,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/pmcraid.c= linux-2.6.32.48/drivers/scsi/p schedule_work(&pinstance->worker_q); return rc; =20 -diff -urNp linux-2.6.32.48/drivers/scsi/pmcraid.h linux-2.6.32.48/driver= s/scsi/pmcraid.h ---- linux-2.6.32.48/drivers/scsi/pmcraid.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/scsi/pmcraid.h 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/pmcraid.h linux-2.6.32.46/driver= s/scsi/pmcraid.h +--- linux-2.6.32.46/drivers/scsi/pmcraid.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/scsi/pmcraid.h 2011-05-04 17:56:28.000000000= -0400 @@ -690,7 +690,7 @@ struct pmcraid_instance { atomic_t outstanding_cmds; =20 @@ -37727,9 +37750,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/pmcraid.h= linux-2.6.32.48/drivers/scsi/p =20 /* To indicate add/delete/modify during CCN */ u8 change_detected; -diff -urNp linux-2.6.32.48/drivers/scsi/qla2xxx/qla_def.h linux-2.6.32.4= 8/drivers/scsi/qla2xxx/qla_def.h ---- linux-2.6.32.48/drivers/scsi/qla2xxx/qla_def.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/qla2xxx/qla_def.h 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/qla2xxx/qla_def.h linux-2.6.32.4= 6/drivers/scsi/qla2xxx/qla_def.h +--- linux-2.6.32.46/drivers/scsi/qla2xxx/qla_def.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/qla2xxx/qla_def.h 2011-08-05 20:33:55.0= 00000000 -0400 @@ -2089,7 +2089,7 @@ struct isp_operations { =20 int (*get_flash_version) (struct scsi_qla_host *, void *); @@ -37739,9 +37762,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/qla2xxx/q= la_def.h linux-2.6.32.48/driver =20 /* MSI-X Support ******************************************************= *******/ =20 -diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_def.h linux-2.6.32.4= 8/drivers/scsi/qla4xxx/ql4_def.h ---- linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_def.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_def.h 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/qla4xxx/ql4_def.h linux-2.6.32.4= 6/drivers/scsi/qla4xxx/ql4_def.h +--- linux-2.6.32.46/drivers/scsi/qla4xxx/ql4_def.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/qla4xxx/ql4_def.h 2011-05-04 17:56:28.0= 00000000 -0400 @@ -240,7 +240,7 @@ struct ddb_entry { atomic_t retry_relogin_timer; /* Min Time between relogins * (4000 only) */ @@ -37751,9 +37774,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx/q= l4_def.h linux-2.6.32.48/driver * retried */ =20 uint16_t port; -diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_init.c linux-2.6.32.= 48/drivers/scsi/qla4xxx/ql4_init.c ---- linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_init.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_init.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/qla4xxx/ql4_init.c linux-2.6.32.= 46/drivers/scsi/qla4xxx/ql4_init.c +--- linux-2.6.32.46/drivers/scsi/qla4xxx/ql4_init.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/qla4xxx/ql4_init.c 2011-05-04 17:56:28.= 000000000 -0400 @@ -482,7 +482,7 @@ static struct ddb_entry * qla4xxx_alloc_ atomic_set(&ddb_entry->port_down_timer, ha->port_down_retry_count); atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY); @@ -37772,9 +37795,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx/q= l4_init.c linux-2.6.32.48/drive atomic_set(&ddb_entry->relogin_timer, 0); clear_bit(DF_RELOGIN, &ddb_entry->flags); clear_bit(DF_NO_RELOGIN, &ddb_entry->flags); -diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_os.c linux-2.6.32.48= /drivers/scsi/qla4xxx/ql4_os.c ---- linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_os.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_os.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/qla4xxx/ql4_os.c linux-2.6.32.46= /drivers/scsi/qla4xxx/ql4_os.c +--- linux-2.6.32.46/drivers/scsi/qla4xxx/ql4_os.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/qla4xxx/ql4_os.c 2011-05-04 17:56:28.00= 0000000 -0400 @@ -641,13 +641,13 @@ static void qla4xxx_timer(struct scsi_ql ddb_entry->fw_ddb_device_state =3D=3D DDB_DS_SESSION_FAILED) { @@ -37791,9 +37814,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx/q= l4_os.c linux-2.6.32.48/drivers relogin_retry_count)) ); start_dpc++; -diff -urNp linux-2.6.32.48/drivers/scsi/scsi.c linux-2.6.32.48/drivers/s= csi/scsi.c ---- linux-2.6.32.48/drivers/scsi/scsi.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/scsi/scsi.c 2011-11-12 12:46:45.000000000 -0= 500 +diff -urNp linux-2.6.32.46/drivers/scsi/scsi.c linux-2.6.32.46/drivers/s= csi/scsi.c +--- linux-2.6.32.46/drivers/scsi/scsi.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/drivers/scsi/scsi.c 2011-05-04 17:56:28.000000000 -0= 400 @@ -652,7 +652,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd * unsigned long timeout; int rtn =3D 0; @@ -37803,9 +37826,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi.c li= nux-2.6.32.48/drivers/scsi/scsi =20 /* check if the device is still usable */ if (unlikely(cmd->device->sdev_state =3D=3D SDEV_DEL)) { -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_debug.c linux-2.6.32.48/dri= vers/scsi/scsi_debug.c ---- linux-2.6.32.48/drivers/scsi/scsi_debug.c 2011-11-12 12:44:29.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_debug.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/scsi_debug.c linux-2.6.32.46/dri= vers/scsi/scsi_debug.c +--- linux-2.6.32.46/drivers/scsi/scsi_debug.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/scsi/scsi_debug.c 2011-05-16 21:46:57.000000= 000 -0400 @@ -1395,6 +1395,8 @@ static int resp_mode_select(struct scsi_ unsigned char arr[SDEBUG_MAX_MSELECT_SZ]; unsigned char *cmd =3D (unsigned char *)scp->cmnd; @@ -37824,9 +37847,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_debu= g.c linux-2.6.32.48/drivers/scs if ((errsts =3D check_readiness(scp, 1, devip))) return errsts; memset(arr, 0, sizeof(arr)); -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_lib.c linux-2.6.32.48/drive= rs/scsi/scsi_lib.c ---- linux-2.6.32.48/drivers/scsi/scsi_lib.c 2011-11-12 12:44:29.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_lib.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/scsi_lib.c linux-2.6.32.46/drive= rs/scsi/scsi_lib.c +--- linux-2.6.32.46/drivers/scsi/scsi_lib.c 2011-05-10 22:12:01.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/scsi/scsi_lib.c 2011-05-10 22:12:33.00000000= 0 -0400 @@ -1384,7 +1384,7 @@ static void scsi_kill_request(struct req =20 scsi_init_cmd_errh(cmd); @@ -37848,9 +37871,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_lib.= c linux-2.6.32.48/drivers/scsi/ =20 disposition =3D scsi_decide_disposition(cmd); if (disposition !=3D SUCCESS && -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_sysfs.c linux-2.6.32.48/dri= vers/scsi/scsi_sysfs.c ---- linux-2.6.32.48/drivers/scsi/scsi_sysfs.c 2011-11-12 12:44:29.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_sysfs.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/scsi_sysfs.c linux-2.6.32.46/dri= vers/scsi/scsi_sysfs.c +--- linux-2.6.32.46/drivers/scsi/scsi_sysfs.c 2011-06-25 12:55:34.000000= 000 -0400 ++++ linux-2.6.32.46/drivers/scsi/scsi_sysfs.c 2011-06-25 12:56:37.000000= 000 -0400 @@ -662,7 +662,7 @@ show_iostat_##field(struct device *dev,=20 char *buf) \ { \ @@ -37860,9 +37883,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_sysf= s.c linux-2.6.32.48/drivers/scs return snprintf(buf, 20, "0x%llx\n", count); \ } \ static DEVICE_ATTR(field, S_IRUGO, show_iostat_##field, NULL) -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tgt_lib.c linux-2.6.32.48/d= rivers/scsi/scsi_tgt_lib.c ---- linux-2.6.32.48/drivers/scsi/scsi_tgt_lib.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_tgt_lib.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/scsi_tgt_lib.c linux-2.6.32.46/d= rivers/scsi/scsi_tgt_lib.c +--- linux-2.6.32.46/drivers/scsi/scsi_tgt_lib.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/scsi/scsi_tgt_lib.c 2011-10-06 09:37:14.0000= 00000 -0400 @@ -362,7 +362,7 @@ static int scsi_map_user_pages(struct sc int err; =20 @@ -37872,9 +37895,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tgt_= lib.c linux-2.6.32.48/drivers/s if (err) { /* * TODO: need to fixup sg_tablesize, max_segment_size, -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_transport_fc.c linux-2.6.32= .48/drivers/scsi/scsi_transport_fc.c ---- linux-2.6.32.48/drivers/scsi/scsi_transport_fc.c 2011-11-12 12:44:29= .000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_transport_fc.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/scsi_transport_fc.c linux-2.6.32= .46/drivers/scsi/scsi_transport_fc.c +--- linux-2.6.32.46/drivers/scsi/scsi_transport_fc.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/scsi_transport_fc.c 2011-05-04 17:56:28= .000000000 -0400 @@ -480,7 +480,7 @@ MODULE_PARM_DESC(dev_loss_tmo, * Netlink Infrastructure */ @@ -37902,9 +37925,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tran= sport_fc.c linux-2.6.32.48/driv =20 error =3D transport_class_register(&fc_host_class); if (error) -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_transport_iscsi.c linux-2.6= .32.48/drivers/scsi/scsi_transport_iscsi.c ---- linux-2.6.32.48/drivers/scsi/scsi_transport_iscsi.c 2011-11-12 12:44= :29.000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_transport_iscsi.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/scsi_transport_iscsi.c linux-2.6= .32.46/drivers/scsi/scsi_transport_iscsi.c +--- linux-2.6.32.46/drivers/scsi/scsi_transport_iscsi.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/scsi_transport_iscsi.c 2011-05-04 17:56= :28.000000000 -0400 @@ -81,7 +81,7 @@ struct iscsi_internal { struct device_attribute *session_attrs[ISCSI_SESSION_ATTRS + 1]; }; @@ -37932,9 +37955,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tran= sport_iscsi.c linux-2.6.32.48/d =20 err =3D class_register(&iscsi_transport_class); if (err) -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_transport_srp.c linux-2.6.3= 2.48/drivers/scsi/scsi_transport_srp.c ---- linux-2.6.32.48/drivers/scsi/scsi_transport_srp.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_transport_srp.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/scsi_transport_srp.c linux-2.6.3= 2.46/drivers/scsi/scsi_transport_srp.c +--- linux-2.6.32.46/drivers/scsi/scsi_transport_srp.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/scsi_transport_srp.c 2011-05-04 17:56:2= 8.000000000 -0400 @@ -33,7 +33,7 @@ #include "scsi_transport_srp_internal.h" =20 @@ -37962,9 +37985,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tran= sport_srp.c linux-2.6.32.48/dri dev_set_name(&rport->dev, "port-%d:%d", shost->host_no, id); =20 transport_setup_device(&rport->dev); -diff -urNp linux-2.6.32.48/drivers/scsi/sg.c linux-2.6.32.48/drivers/scs= i/sg.c ---- linux-2.6.32.48/drivers/scsi/sg.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/scsi/sg.c 2011-11-12 12:46:45.000000000 -050= 0 +diff -urNp linux-2.6.32.46/drivers/scsi/sg.c linux-2.6.32.46/drivers/scs= i/sg.c +--- linux-2.6.32.46/drivers/scsi/sg.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/drivers/scsi/sg.c 2011-10-06 09:37:08.000000000 -040= 0 @@ -1064,7 +1064,7 @@ sg_ioctl(struct inode *inode, struct fil sdp->disk->disk_name, MKDEV(SCSI_GENERIC_MAJOR, sdp->index), @@ -37992,9 +38015,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/sg.c linu= x-2.6.32.48/drivers/scsi/sg.c =20 sg_proc_sgp =3D proc_mkdir(sg_proc_sg_dirname, NULL); if (!sg_proc_sgp) -diff -urNp linux-2.6.32.48/drivers/scsi/sym53c8xx_2/sym_glue.c linux-2.6= .32.48/drivers/scsi/sym53c8xx_2/sym_glue.c ---- linux-2.6.32.48/drivers/scsi/sym53c8xx_2/sym_glue.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/scsi/sym53c8xx_2/sym_glue.c linux-2.6= .32.46/drivers/scsi/sym53c8xx_2/sym_glue.c +--- linux-2.6.32.46/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-05-16 21:46= :57.000000000 -0400 @@ -1754,6 +1754,8 @@ static int __devinit sym2_probe(struct p int do_iounmap =3D 0; int do_disable_device =3D 1; @@ -38004,9 +38027,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/sym53c8xx= _2/sym_glue.c linux-2.6.32.48/d memset(&sym_dev, 0, sizeof(sym_dev)); memset(&nvram, 0, sizeof(nvram)); sym_dev.pdev =3D pdev; -diff -urNp linux-2.6.32.48/drivers/serial/kgdboc.c linux-2.6.32.48/drive= rs/serial/kgdboc.c ---- linux-2.6.32.48/drivers/serial/kgdboc.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/serial/kgdboc.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/serial/kgdboc.c linux-2.6.32.46/drive= rs/serial/kgdboc.c +--- linux-2.6.32.46/drivers/serial/kgdboc.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/serial/kgdboc.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -18,7 +18,7 @@ =20 #define MAX_CONFIG_LEN 40 @@ -38025,9 +38048,9 @@ diff -urNp linux-2.6.32.48/drivers/serial/kgdboc.= c linux-2.6.32.48/drivers/seria .name =3D "kgdboc", .read_char =3D kgdboc_get_char, .write_char =3D kgdboc_put_char, -diff -urNp linux-2.6.32.48/drivers/spi/spi.c linux-2.6.32.48/drivers/spi= /spi.c ---- linux-2.6.32.48/drivers/spi/spi.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/spi/spi.c 2011-11-12 12:46:45.000000000 -050= 0 +diff -urNp linux-2.6.32.46/drivers/spi/spi.c linux-2.6.32.46/drivers/spi= /spi.c +--- linux-2.6.32.46/drivers/spi/spi.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/drivers/spi/spi.c 2011-05-04 17:56:28.000000000 -040= 0 @@ -774,7 +774,7 @@ int spi_sync(struct spi_device *spi, str EXPORT_SYMBOL_GPL(spi_sync); =20 @@ -38037,9 +38060,9 @@ diff -urNp linux-2.6.32.48/drivers/spi/spi.c linu= x-2.6.32.48/drivers/spi/spi.c =20 static u8 *buf; =20 -diff -urNp linux-2.6.32.48/drivers/staging/android/binder.c linux-2.6.32= .48/drivers/staging/android/binder.c ---- linux-2.6.32.48/drivers/staging/android/binder.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/android/binder.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/android/binder.c linux-2.6.32= .46/drivers/staging/android/binder.c +--- linux-2.6.32.46/drivers/staging/android/binder.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/android/binder.c 2011-04-17 15:56:46= .000000000 -0400 @@ -2756,7 +2756,7 @@ static void binder_vma_close(struct vm_a binder_defer_work(proc, BINDER_DEFERRED_PUT_FILES); } @@ -38049,9 +38072,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/androi= d/binder.c linux-2.6.32.48/driv .open =3D binder_vma_open, .close =3D binder_vma_close, }; -diff -urNp linux-2.6.32.48/drivers/staging/b3dfg/b3dfg.c linux-2.6.32.48= /drivers/staging/b3dfg/b3dfg.c ---- linux-2.6.32.48/drivers/staging/b3dfg/b3dfg.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/staging/b3dfg/b3dfg.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/b3dfg/b3dfg.c linux-2.6.32.46= /drivers/staging/b3dfg/b3dfg.c +--- linux-2.6.32.46/drivers/staging/b3dfg/b3dfg.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/staging/b3dfg/b3dfg.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -455,7 +455,7 @@ static int b3dfg_vma_fault(struct vm_are return VM_FAULT_NOPAGE; } @@ -38070,9 +38093,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/b3dfg/= b3dfg.c linux-2.6.32.48/drivers .owner =3D THIS_MODULE, .open =3D b3dfg_open, .release =3D b3dfg_release, -diff -urNp linux-2.6.32.48/drivers/staging/comedi/comedi_fops.c linux-2.= 6.32.48/drivers/staging/comedi/comedi_fops.c ---- linux-2.6.32.48/drivers/staging/comedi/comedi_fops.c 2011-11-12 12:4= 4:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/comedi/comedi_fops.c 2011-11-12 12:4= 6:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/comedi/comedi_fops.c linux-2.= 6.32.46/drivers/staging/comedi/comedi_fops.c +--- linux-2.6.32.46/drivers/staging/comedi/comedi_fops.c 2011-08-09 18:3= 5:29.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/comedi/comedi_fops.c 2011-08-09 18:3= 4:00.000000000 -0400 @@ -1389,7 +1389,7 @@ void comedi_unmap(struct vm_area_struct=20 mutex_unlock(&dev->mutex); } @@ -38082,9 +38105,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/comedi= /comedi_fops.c linux-2.6.32.48/ .close =3D comedi_unmap, }; =20 -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/adsp_driver.c lin= ux-2.6.32.48/drivers/staging/dream/qdsp5/adsp_driver.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/adsp_driver.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/adsp_driver.c 2011-11-12= 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/qdsp5/adsp_driver.c lin= ux-2.6.32.46/drivers/staging/dream/qdsp5/adsp_driver.c +--- linux-2.6.32.46/drivers/staging/dream/qdsp5/adsp_driver.c 2011-03-27= 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/qdsp5/adsp_driver.c 2011-04-17= 15:56:46.000000000 -0400 @@ -576,7 +576,7 @@ static struct adsp_device *inode_to_devi static dev_t adsp_devno; static struct class *adsp_class; @@ -38094,9 +38117,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= qdsp5/adsp_driver.c linux-2.6.3 .owner =3D THIS_MODULE, .open =3D adsp_open, .unlocked_ioctl =3D adsp_ioctl, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_aac.c linux= -2.6.32.48/drivers/staging/dream/qdsp5/audio_aac.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_aac.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_aac.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_aac.c linux= -2.6.32.46/drivers/staging/dream/qdsp5/audio_aac.c +--- linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_aac.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_aac.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -1022,7 +1022,7 @@ done: return rc; } @@ -38106,9 +38129,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= qdsp5/audio_aac.c linux-2.6.32. .owner =3D THIS_MODULE, .open =3D audio_open, .release =3D audio_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_amrnb.c lin= ux-2.6.32.48/drivers/staging/dream/qdsp5/audio_amrnb.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_amrnb.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_amrnb.c 2011-11-12= 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_amrnb.c lin= ux-2.6.32.46/drivers/staging/dream/qdsp5/audio_amrnb.c +--- linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_amrnb.c 2011-03-27= 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_amrnb.c 2011-04-17= 15:56:46.000000000 -0400 @@ -833,7 +833,7 @@ done: return rc; } @@ -38118,9 +38141,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= qdsp5/audio_amrnb.c linux-2.6.3 .owner =3D THIS_MODULE, .open =3D audamrnb_open, .release =3D audamrnb_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_evrc.c linu= x-2.6.32.48/drivers/staging/dream/qdsp5/audio_evrc.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_evrc.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_evrc.c 2011-11-12 = 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_evrc.c linu= x-2.6.32.46/drivers/staging/dream/qdsp5/audio_evrc.c +--- linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_evrc.c 2011-03-27 = 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_evrc.c 2011-04-17 = 15:56:46.000000000 -0400 @@ -805,7 +805,7 @@ dma_fail: return rc; } @@ -38130,9 +38153,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= qdsp5/audio_evrc.c linux-2.6.32 .owner =3D THIS_MODULE, .open =3D audevrc_open, .release =3D audevrc_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_in.c linux-= 2.6.32.48/drivers/staging/dream/qdsp5/audio_in.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_in.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_in.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_in.c linux-= 2.6.32.46/drivers/staging/dream/qdsp5/audio_in.c +--- linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_in.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_in.c 2011-04-17 15= :56:46.000000000 -0400 @@ -913,7 +913,7 @@ static int audpre_open(struct inode *ino return 0; } @@ -38151,9 +38174,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= qdsp5/audio_in.c linux-2.6.32.4 .owner =3D THIS_MODULE, .open =3D audpre_open, .unlocked_ioctl =3D audpre_ioctl, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_mp3.c linux= -2.6.32.48/drivers/staging/dream/qdsp5/audio_mp3.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_mp3.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_mp3.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_mp3.c linux= -2.6.32.46/drivers/staging/dream/qdsp5/audio_mp3.c +--- linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_mp3.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_mp3.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -941,7 +941,7 @@ done: return rc; } @@ -38163,9 +38186,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= qdsp5/audio_mp3.c linux-2.6.32. .owner =3D THIS_MODULE, .open =3D audio_open, .release =3D audio_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_out.c linux= -2.6.32.48/drivers/staging/dream/qdsp5/audio_out.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_out.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_out.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_out.c linux= -2.6.32.46/drivers/staging/dream/qdsp5/audio_out.c +--- linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_out.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_out.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -810,7 +810,7 @@ static int audpp_open(struct inode *inod return 0; } @@ -38184,9 +38207,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= qdsp5/audio_out.c linux-2.6.32. .owner =3D THIS_MODULE, .open =3D audpp_open, .unlocked_ioctl =3D audpp_ioctl, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_qcelp.c lin= ux-2.6.32.48/drivers/staging/dream/qdsp5/audio_qcelp.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_qcelp.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_qcelp.c 2011-11-12= 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_qcelp.c lin= ux-2.6.32.46/drivers/staging/dream/qdsp5/audio_qcelp.c +--- linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_qcelp.c 2011-03-27= 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/qdsp5/audio_qcelp.c 2011-04-17= 15:56:46.000000000 -0400 @@ -816,7 +816,7 @@ err: return rc; } @@ -38196,9 +38219,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= qdsp5/audio_qcelp.c linux-2.6.3 .owner =3D THIS_MODULE, .open =3D audqcelp_open, .release =3D audqcelp_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/snd.c linux-2.6.3= 2.48/drivers/staging/dream/qdsp5/snd.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/snd.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/snd.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/qdsp5/snd.c linux-2.6.3= 2.46/drivers/staging/dream/qdsp5/snd.c +--- linux-2.6.32.46/drivers/staging/dream/qdsp5/snd.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/qdsp5/snd.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -242,7 +242,7 @@ err: return rc; } @@ -38208,9 +38231,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= qdsp5/snd.c linux-2.6.32.48/dri .owner =3D THIS_MODULE, .open =3D snd_open, .release =3D snd_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/smd/smd_qmi.c linux-2.6= .32.48/drivers/staging/dream/smd/smd_qmi.c ---- linux-2.6.32.48/drivers/staging/dream/smd/smd_qmi.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/smd/smd_qmi.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/smd/smd_qmi.c linux-2.6= .32.46/drivers/staging/dream/smd/smd_qmi.c +--- linux-2.6.32.46/drivers/staging/dream/smd/smd_qmi.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/smd/smd_qmi.c 2011-04-17 15:56= :46.000000000 -0400 @@ -793,7 +793,7 @@ static int qmi_release(struct inode *ip, return 0; } @@ -38220,9 +38243,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= smd/smd_qmi.c linux-2.6.32.48/d .owner =3D THIS_MODULE, .read =3D qmi_read, .write =3D qmi_write, -diff -urNp linux-2.6.32.48/drivers/staging/dream/smd/smd_rpcrouter_devic= e.c linux-2.6.32.48/drivers/staging/dream/smd/smd_rpcrouter_device.c ---- linux-2.6.32.48/drivers/staging/dream/smd/smd_rpcrouter_device.c 200= 9-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/smd/smd_rpcrouter_device.c 201= 1-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dream/smd/smd_rpcrouter_devic= e.c linux-2.6.32.46/drivers/staging/dream/smd/smd_rpcrouter_device.c +--- linux-2.6.32.46/drivers/staging/dream/smd/smd_rpcrouter_device.c 201= 1-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/dream/smd/smd_rpcrouter_device.c 201= 1-04-17 15:56:46.000000000 -0400 @@ -214,7 +214,7 @@ static long rpcrouter_ioctl(struct file=20 return rc; } @@ -38241,9 +38264,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dream/= smd/smd_rpcrouter_device.c linu .owner =3D THIS_MODULE, .open =3D rpcrouter_open, .release =3D rpcrouter_release, -diff -urNp linux-2.6.32.48/drivers/staging/dst/dcore.c linux-2.6.32.48/d= rivers/staging/dst/dcore.c ---- linux-2.6.32.48/drivers/staging/dst/dcore.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/staging/dst/dcore.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dst/dcore.c linux-2.6.32.46/d= rivers/staging/dst/dcore.c +--- linux-2.6.32.46/drivers/staging/dst/dcore.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/staging/dst/dcore.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -149,7 +149,7 @@ static int dst_bdev_release(struct gendi return 0; } @@ -38262,9 +38285,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dst/dc= ore.c linux-2.6.32.48/drivers/s snprintf(n->name, sizeof(n->name), "%s", ctl->name); =20 err =3D dst_node_sysfs_init(n); -diff -urNp linux-2.6.32.48/drivers/staging/dst/trans.c linux-2.6.32.48/d= rivers/staging/dst/trans.c ---- linux-2.6.32.48/drivers/staging/dst/trans.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/staging/dst/trans.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/dst/trans.c linux-2.6.32.46/d= rivers/staging/dst/trans.c +--- linux-2.6.32.46/drivers/staging/dst/trans.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/staging/dst/trans.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -169,7 +169,7 @@ int dst_process_bio(struct dst_node *n,=20 t->error =3D 0; t->retries =3D 0; @@ -38274,9 +38297,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/dst/tr= ans.c linux-2.6.32.48/drivers/s =20 t->enc =3D bio_data_dir(bio); dst_bio_to_cmd(bio, &t->cmd, DST_IO, t->gen); -diff -urNp linux-2.6.32.48/drivers/staging/et131x/et1310_tx.c linux-2.6.= 32.48/drivers/staging/et131x/et1310_tx.c ---- linux-2.6.32.48/drivers/staging/et131x/et1310_tx.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/et131x/et1310_tx.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/et131x/et1310_tx.c linux-2.6.= 32.46/drivers/staging/et131x/et1310_tx.c +--- linux-2.6.32.46/drivers/staging/et131x/et1310_tx.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/et131x/et1310_tx.c 2011-05-04 17:56:= 28.000000000 -0400 @@ -710,11 +710,11 @@ inline void et131x_free_send_packet(stru struct net_device_stats *stats =3D &etdev->net_stats; =20 @@ -38292,9 +38315,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/et131x= /et1310_tx.c linux-2.6.32.48/dr =20 if (pMpTcb->Packet) { stats->tx_bytes +=3D pMpTcb->Packet->len; -diff -urNp linux-2.6.32.48/drivers/staging/et131x/et131x_adapter.h linux= -2.6.32.48/drivers/staging/et131x/et131x_adapter.h ---- linux-2.6.32.48/drivers/staging/et131x/et131x_adapter.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/et131x/et131x_adapter.h 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/et131x/et131x_adapter.h linux= -2.6.32.46/drivers/staging/et131x/et131x_adapter.h +--- linux-2.6.32.46/drivers/staging/et131x/et131x_adapter.h 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/et131x/et131x_adapter.h 2011-05-04 1= 7:56:28.000000000 -0400 @@ -145,11 +145,11 @@ typedef struct _ce_stats_t { * operations */ @@ -38310,9 +38333,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/et131x= /et131x_adapter.h linux-2.6.32. u32 norcvbuf; /* # Rx packets discarded */ u32 noxmtbuf; /* # Tx packets discarded */ =20 -diff -urNp linux-2.6.32.48/drivers/staging/go7007/go7007-v4l2.c linux-2.= 6.32.48/drivers/staging/go7007/go7007-v4l2.c ---- linux-2.6.32.48/drivers/staging/go7007/go7007-v4l2.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/go7007/go7007-v4l2.c 2011-11-12 12:4= 6:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/go7007/go7007-v4l2.c linux-2.= 6.32.46/drivers/staging/go7007/go7007-v4l2.c +--- linux-2.6.32.46/drivers/staging/go7007/go7007-v4l2.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/go7007/go7007-v4l2.c 2011-04-17 15:5= 6:46.000000000 -0400 @@ -1700,7 +1700,7 @@ static int go7007_vm_fault(struct vm_are return 0; } @@ -38322,9 +38345,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/go7007= /go7007-v4l2.c linux-2.6.32.48/ .open =3D go7007_vm_open, .close =3D go7007_vm_close, .fault =3D go7007_vm_fault, -diff -urNp linux-2.6.32.48/drivers/staging/hv/blkvsc_drv.c linux-2.6.32.= 48/drivers/staging/hv/blkvsc_drv.c ---- linux-2.6.32.48/drivers/staging/hv/blkvsc_drv.c 2011-11-12 12:44:29.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/blkvsc_drv.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/hv/blkvsc_drv.c linux-2.6.32.= 46/drivers/staging/hv/blkvsc_drv.c +--- linux-2.6.32.46/drivers/staging/hv/blkvsc_drv.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/hv/blkvsc_drv.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -153,7 +153,7 @@ static int blkvsc_ringbuffer_size =3D BLKV /* The one and only one */ static struct blkvsc_driver_context g_blkvsc_drv; @@ -38334,9 +38357,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/hv/blk= vsc_drv.c linux-2.6.32.48/drive .owner =3D THIS_MODULE, .open =3D blkvsc_open, .release =3D blkvsc_release, -diff -urNp linux-2.6.32.48/drivers/staging/hv/Channel.c linux-2.6.32.48/= drivers/staging/hv/Channel.c ---- linux-2.6.32.48/drivers/staging/hv/Channel.c 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/Channel.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/hv/Channel.c linux-2.6.32.46/= drivers/staging/hv/Channel.c +--- linux-2.6.32.46/drivers/staging/hv/Channel.c 2011-04-17 17:00:52.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/staging/hv/Channel.c 2011-05-04 17:56:28.000= 000000 -0400 @@ -464,8 +464,8 @@ int VmbusChannelEstablishGpadl(struct vm =20 DPRINT_ENTER(VMBUS); @@ -38348,9 +38371,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/hv/Cha= nnel.c linux-2.6.32.48/drivers/ =20 VmbusChannelCreateGpadlHeader(Kbuffer, Size, &msgInfo, &msgCount); ASSERT(msgInfo !=3D NULL); -diff -urNp linux-2.6.32.48/drivers/staging/hv/Hv.c linux-2.6.32.48/drive= rs/staging/hv/Hv.c ---- linux-2.6.32.48/drivers/staging/hv/Hv.c 2011-11-12 12:44:29.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/Hv.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/hv/Hv.c linux-2.6.32.46/drive= rs/staging/hv/Hv.c +--- linux-2.6.32.46/drivers/staging/hv/Hv.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/staging/hv/Hv.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -161,7 +161,7 @@ static u64 HvDoHypercall(u64 Control, vo u64 outputAddress =3D (Output) ? virt_to_phys(Output) : 0; u32 outputAddressHi =3D outputAddress >> 32; @@ -38360,9 +38383,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/hv/Hv.= c linux-2.6.32.48/drivers/stagi =20 DPRINT_DBG(VMBUS, "Hypercall ", Control, Input, Output); -diff -urNp linux-2.6.32.48/drivers/staging/hv/VmbusApi.h linux-2.6.32.48= /drivers/staging/hv/VmbusApi.h ---- linux-2.6.32.48/drivers/staging/hv/VmbusApi.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/VmbusApi.h 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/hv/VmbusApi.h linux-2.6.32.46= /drivers/staging/hv/VmbusApi.h +--- linux-2.6.32.46/drivers/staging/hv/VmbusApi.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/staging/hv/VmbusApi.h 2011-08-29 22:32:57.00= 0000000 -0400 @@ -109,7 +109,7 @@ struct vmbus_channel_interface { u32 *GpadlHandle); int (*TeardownGpadl)(struct hv_device *device, u32 GpadlHandle); @@ -38372,9 +38395,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/hv/Vmb= usApi.h linux-2.6.32.48/drivers =20 /* Base driver object */ struct hv_driver { -diff -urNp linux-2.6.32.48/drivers/staging/hv/vmbus_drv.c linux-2.6.32.4= 8/drivers/staging/hv/vmbus_drv.c ---- linux-2.6.32.48/drivers/staging/hv/vmbus_drv.c 2011-11-12 12:44:29.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/vmbus_drv.c 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/hv/vmbus_drv.c linux-2.6.32.4= 6/drivers/staging/hv/vmbus_drv.c +--- linux-2.6.32.46/drivers/staging/hv/vmbus_drv.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/staging/hv/vmbus_drv.c 2011-05-04 17:56:28.0= 00000000 -0400 @@ -532,7 +532,7 @@ static int vmbus_child_device_register(s to_device_context(root_device_obj); struct device_context *child_device_ctx =3D @@ -38393,9 +38416,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/hv/vmb= us_drv.c linux-2.6.32.48/driver =20 /* The new device belongs to this bus */ child_device_ctx->device.bus =3D &g_vmbus_drv.bus; /* device->dev.bus;= */ -diff -urNp linux-2.6.32.48/drivers/staging/hv/VmbusPrivate.h linux-2.6.3= 2.48/drivers/staging/hv/VmbusPrivate.h ---- linux-2.6.32.48/drivers/staging/hv/VmbusPrivate.h 2011-11-12 12:44:2= 9.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/VmbusPrivate.h 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/hv/VmbusPrivate.h linux-2.6.3= 2.46/drivers/staging/hv/VmbusPrivate.h +--- linux-2.6.32.46/drivers/staging/hv/VmbusPrivate.h 2011-04-17 17:00:5= 2.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/hv/VmbusPrivate.h 2011-05-04 17:56:2= 8.000000000 -0400 @@ -59,7 +59,7 @@ enum VMBUS_CONNECT_STATE { struct VMBUS_CONNECTION { enum VMBUS_CONNECT_STATE ConnectState; @@ -38405,9 +38428,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/hv/Vmb= usPrivate.h linux-2.6.32.48/dri =20 /* * Represents channel interrupts. Each bit position represents a -diff -urNp linux-2.6.32.48/drivers/staging/iio/ring_generic.h linux-2.6.= 32.48/drivers/staging/iio/ring_generic.h ---- linux-2.6.32.48/drivers/staging/iio/ring_generic.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/iio/ring_generic.h 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/iio/ring_generic.h linux-2.6.= 32.46/drivers/staging/iio/ring_generic.h +--- linux-2.6.32.46/drivers/staging/iio/ring_generic.h 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/iio/ring_generic.h 2011-08-23 20:24:= 26.000000000 -0400 @@ -87,7 +87,7 @@ struct iio_ring_access_funcs { =20 int (*is_enabled)(struct iio_ring_buffer *ring); @@ -38417,9 +38440,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/iio/ri= ng_generic.h linux-2.6.32.48/dr =20 /** * struct iio_ring_buffer - general ring buffer structure -diff -urNp linux-2.6.32.48/drivers/staging/octeon/ethernet.c linux-2.6.3= 2.48/drivers/staging/octeon/ethernet.c ---- linux-2.6.32.48/drivers/staging/octeon/ethernet.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/octeon/ethernet.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/octeon/ethernet.c linux-2.6.3= 2.46/drivers/staging/octeon/ethernet.c +--- linux-2.6.32.46/drivers/staging/octeon/ethernet.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/octeon/ethernet.c 2011-05-04 17:56:2= 8.000000000 -0400 @@ -294,11 +294,11 @@ static struct net_device_stats *cvm_oct_ * since the RX tasklet also increments it. */ @@ -38436,9 +38459,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/octeon= /ethernet.c linux-2.6.32.48/dri #endif } =20 -diff -urNp linux-2.6.32.48/drivers/staging/octeon/ethernet-rx.c linux-2.= 6.32.48/drivers/staging/octeon/ethernet-rx.c ---- linux-2.6.32.48/drivers/staging/octeon/ethernet-rx.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/octeon/ethernet-rx.c 2011-11-12 12:4= 6:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/octeon/ethernet-rx.c linux-2.= 6.32.46/drivers/staging/octeon/ethernet-rx.c +--- linux-2.6.32.46/drivers/staging/octeon/ethernet-rx.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/octeon/ethernet-rx.c 2011-05-04 17:5= 6:28.000000000 -0400 @@ -406,11 +406,11 @@ void cvm_oct_tasklet_rx(unsigned long un /* Increment RX stats for virtual ports */ if (work->ipprt >=3D CVMX_PIP_NUM_INPUT_PORTS) { @@ -38467,9 +38490,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/octeon= /ethernet-rx.c linux-2.6.32.48/ #endif dev_kfree_skb_irq(skb); } -diff -urNp linux-2.6.32.48/drivers/staging/panel/panel.c linux-2.6.32.48= /drivers/staging/panel/panel.c ---- linux-2.6.32.48/drivers/staging/panel/panel.c 2011-11-12 12:44:29.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/staging/panel/panel.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/panel/panel.c linux-2.6.32.46= /drivers/staging/panel/panel.c +--- linux-2.6.32.46/drivers/staging/panel/panel.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/staging/panel/panel.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -1305,7 +1305,7 @@ static int lcd_release(struct inode *ino return 0; } @@ -38488,9 +38511,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/panel/= panel.c linux-2.6.32.48/drivers .read =3D keypad_read, /* read */ .open =3D keypad_open, /* open */ .release =3D keypad_release, /* close */ -diff -urNp linux-2.6.32.48/drivers/staging/phison/phison.c linux-2.6.32.= 48/drivers/staging/phison/phison.c ---- linux-2.6.32.48/drivers/staging/phison/phison.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/phison/phison.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/phison/phison.c linux-2.6.32.= 46/drivers/staging/phison/phison.c +--- linux-2.6.32.46/drivers/staging/phison/phison.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/phison/phison.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -43,7 +43,7 @@ static struct scsi_host_template phison_ ATA_BMDMA_SHT(DRV_NAME), }; @@ -38500,9 +38523,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/phison= /phison.c linux-2.6.32.48/drive .inherits =3D &ata_bmdma_port_ops, .prereset =3D phison_pre_reset, }; -diff -urNp linux-2.6.32.48/drivers/staging/poch/poch.c linux-2.6.32.48/d= rivers/staging/poch/poch.c ---- linux-2.6.32.48/drivers/staging/poch/poch.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/staging/poch/poch.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/poch/poch.c linux-2.6.32.46/d= rivers/staging/poch/poch.c +--- linux-2.6.32.46/drivers/staging/poch/poch.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/staging/poch/poch.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -1057,7 +1057,7 @@ static int poch_ioctl(struct inode *inod return 0; } @@ -38512,9 +38535,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/poch/p= och.c linux-2.6.32.48/drivers/s .owner =3D THIS_MODULE, .open =3D poch_open, .release =3D poch_release, -diff -urNp linux-2.6.32.48/drivers/staging/pohmelfs/inode.c linux-2.6.32= .48/drivers/staging/pohmelfs/inode.c ---- linux-2.6.32.48/drivers/staging/pohmelfs/inode.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/pohmelfs/inode.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/pohmelfs/inode.c linux-2.6.32= .46/drivers/staging/pohmelfs/inode.c +--- linux-2.6.32.46/drivers/staging/pohmelfs/inode.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/pohmelfs/inode.c 2011-05-04 17:56:20= .000000000 -0400 @@ -1850,7 +1850,7 @@ static int pohmelfs_fill_super(struct su mutex_init(&psb->mcache_lock); psb->mcache_root =3D RB_ROOT; @@ -38533,9 +38556,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/pohmel= fs/inode.c linux-2.6.32.48/driv atomic_long_set(&psb->total_inodes, 0); =20 mutex_init(&psb->state_lock); -diff -urNp linux-2.6.32.48/drivers/staging/pohmelfs/mcache.c linux-2.6.3= 2.48/drivers/staging/pohmelfs/mcache.c ---- linux-2.6.32.48/drivers/staging/pohmelfs/mcache.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/pohmelfs/mcache.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/pohmelfs/mcache.c linux-2.6.3= 2.46/drivers/staging/pohmelfs/mcache.c +--- linux-2.6.32.46/drivers/staging/pohmelfs/mcache.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/pohmelfs/mcache.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -121,7 +121,7 @@ struct pohmelfs_mcache *pohmelfs_mcache_ m->data =3D data; m->start =3D start; @@ -38545,9 +38568,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/pohmel= fs/mcache.c linux-2.6.32.48/dri =20 mutex_lock(&psb->mcache_lock); err =3D pohmelfs_mcache_insert(psb, m); -diff -urNp linux-2.6.32.48/drivers/staging/pohmelfs/netfs.h linux-2.6.32= .48/drivers/staging/pohmelfs/netfs.h ---- linux-2.6.32.48/drivers/staging/pohmelfs/netfs.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/pohmelfs/netfs.h 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/pohmelfs/netfs.h linux-2.6.32= .46/drivers/staging/pohmelfs/netfs.h +--- linux-2.6.32.46/drivers/staging/pohmelfs/netfs.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/pohmelfs/netfs.h 2011-05-04 17:56:20= .000000000 -0400 @@ -570,14 +570,14 @@ struct pohmelfs_config; struct pohmelfs_sb { struct rb_root mcache_root; @@ -38565,9 +38588,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/pohmel= fs/netfs.h linux-2.6.32.48/driv =20 unsigned int crypto_attached_size; unsigned int crypto_align_size; -diff -urNp linux-2.6.32.48/drivers/staging/pohmelfs/trans.c linux-2.6.32= .48/drivers/staging/pohmelfs/trans.c ---- linux-2.6.32.48/drivers/staging/pohmelfs/trans.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/pohmelfs/trans.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/pohmelfs/trans.c linux-2.6.32= .46/drivers/staging/pohmelfs/trans.c +--- linux-2.6.32.46/drivers/staging/pohmelfs/trans.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/pohmelfs/trans.c 2011-05-04 17:56:28= .000000000 -0400 @@ -492,7 +492,7 @@ int netfs_trans_finish(struct netfs_tran int err; struct netfs_cmd *cmd =3D t->iovec.iov_base; @@ -38577,9 +38600,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/pohmel= fs/trans.c linux-2.6.32.48/driv =20 cmd->size =3D t->iovec.iov_len - sizeof(struct netfs_cmd) + t->attached_size + t->attached_pages * sizeof(struct netfs_cmd); -diff -urNp linux-2.6.32.48/drivers/staging/sep/sep_driver.c linux-2.6.32= .48/drivers/staging/sep/sep_driver.c ---- linux-2.6.32.48/drivers/staging/sep/sep_driver.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/sep/sep_driver.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/sep/sep_driver.c linux-2.6.32= .46/drivers/staging/sep/sep_driver.c +--- linux-2.6.32.46/drivers/staging/sep/sep_driver.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/sep/sep_driver.c 2011-04-17 15:56:46= .000000000 -0400 @@ -2603,7 +2603,7 @@ static struct pci_driver sep_pci_driver=20 static dev_t sep_devno; =20 @@ -38589,9 +38612,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/sep/se= p_driver.c linux-2.6.32.48/driv .owner =3D THIS_MODULE, .ioctl =3D sep_ioctl, .poll =3D sep_poll, -diff -urNp linux-2.6.32.48/drivers/staging/usbip/usbip_common.h linux-2.= 6.32.48/drivers/staging/usbip/usbip_common.h ---- linux-2.6.32.48/drivers/staging/usbip/usbip_common.h 2011-11-12 12:4= 4:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/usbip/usbip_common.h 2011-11-12 12:4= 6:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/usbip/usbip_common.h linux-2.= 6.32.46/drivers/staging/usbip/usbip_common.h +--- linux-2.6.32.46/drivers/staging/usbip/usbip_common.h 2011-04-17 17:0= 0:52.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/usbip/usbip_common.h 2011-08-23 20:2= 4:26.000000000 -0400 @@ -374,7 +374,7 @@ struct usbip_device { void (*shutdown)(struct usbip_device *); void (*reset)(struct usbip_device *); @@ -38601,9 +38624,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/usbip/= usbip_common.h linux-2.6.32.48/ }; =20 =20 -diff -urNp linux-2.6.32.48/drivers/staging/usbip/vhci.h linux-2.6.32.48/= drivers/staging/usbip/vhci.h ---- linux-2.6.32.48/drivers/staging/usbip/vhci.h 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/staging/usbip/vhci.h 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/usbip/vhci.h linux-2.6.32.46/= drivers/staging/usbip/vhci.h +--- linux-2.6.32.46/drivers/staging/usbip/vhci.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/staging/usbip/vhci.h 2011-05-04 17:56:28.000= 000000 -0400 @@ -92,7 +92,7 @@ struct vhci_hcd { unsigned resuming:1; unsigned long re_timeout; @@ -38613,9 +38636,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/usbip/= vhci.h linux-2.6.32.48/drivers/ =20 /* * NOTE: -diff -urNp linux-2.6.32.48/drivers/staging/usbip/vhci_hcd.c linux-2.6.32= .48/drivers/staging/usbip/vhci_hcd.c ---- linux-2.6.32.48/drivers/staging/usbip/vhci_hcd.c 2011-11-12 12:44:29= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/usbip/vhci_hcd.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/usbip/vhci_hcd.c linux-2.6.32= .46/drivers/staging/usbip/vhci_hcd.c +--- linux-2.6.32.46/drivers/staging/usbip/vhci_hcd.c 2011-05-10 22:12:01= .000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/usbip/vhci_hcd.c 2011-05-10 22:12:33= .000000000 -0400 @@ -534,7 +534,7 @@ static void vhci_tx_urb(struct urb *urb) return; } @@ -38643,9 +38666,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/usbip/= vhci_hcd.c linux-2.6.32.48/driv spin_lock_init(&vhci->lock); =20 =20 -diff -urNp linux-2.6.32.48/drivers/staging/usbip/vhci_rx.c linux-2.6.32.= 48/drivers/staging/usbip/vhci_rx.c ---- linux-2.6.32.48/drivers/staging/usbip/vhci_rx.c 2011-11-12 12:44:29.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/usbip/vhci_rx.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/usbip/vhci_rx.c linux-2.6.32.= 46/drivers/staging/usbip/vhci_rx.c +--- linux-2.6.32.46/drivers/staging/usbip/vhci_rx.c 2011-04-17 17:00:52.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/usbip/vhci_rx.c 2011-05-04 17:56:28.= 000000000 -0400 @@ -78,7 +78,7 @@ static void vhci_recv_ret_submit(struct=20 usbip_uerr("cannot find a urb of seqnum %u\n", pdu->base.seqnum); @@ -38655,9 +38678,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/usbip/= vhci_rx.c linux-2.6.32.48/drive usbip_event_add(ud, VDEV_EVENT_ERROR_TCP); return; } -diff -urNp linux-2.6.32.48/drivers/staging/vme/devices/vme_user.c linux-= 2.6.32.48/drivers/staging/vme/devices/vme_user.c ---- linux-2.6.32.48/drivers/staging/vme/devices/vme_user.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/vme/devices/vme_user.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/vme/devices/vme_user.c linux-= 2.6.32.46/drivers/staging/vme/devices/vme_user.c +--- linux-2.6.32.46/drivers/staging/vme/devices/vme_user.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/vme/devices/vme_user.c 2011-04-17 15= :56:46.000000000 -0400 @@ -136,7 +136,7 @@ static int vme_user_ioctl(struct inode * static int __init vme_user_probe(struct device *, int, int); static int __exit vme_user_remove(struct device *, int, int); @@ -38667,9 +38690,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/vme/de= vices/vme_user.c linux-2.6.32.4 .open =3D vme_user_open, .release =3D vme_user_release, .read =3D vme_user_read, -diff -urNp linux-2.6.32.48/drivers/staging/vt6655/hostap.c linux-2.6.32.= 48/drivers/staging/vt6655/hostap.c ---- linux-2.6.32.48/drivers/staging/vt6655/hostap.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/vt6655/hostap.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/vt6655/hostap.c linux-2.6.32.= 46/drivers/staging/vt6655/hostap.c +--- linux-2.6.32.46/drivers/staging/vt6655/hostap.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/vt6655/hostap.c 2011-09-14 09:51:07.= 000000000 -0400 @@ -84,7 +84,7 @@ static int hostap_enable_hostapd(PSDevic PSDevice apdev_priv; struct net_device *dev =3D pDevice->dev; @@ -38679,9 +38702,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/vt6655= /hostap.c linux-2.6.32.48/drive .ndo_start_xmit =3D pDevice->tx_80211, }; =20 -diff -urNp linux-2.6.32.48/drivers/staging/vt6656/hostap.c linux-2.6.32.= 48/drivers/staging/vt6656/hostap.c ---- linux-2.6.32.48/drivers/staging/vt6656/hostap.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/vt6656/hostap.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/vt6656/hostap.c linux-2.6.32.= 46/drivers/staging/vt6656/hostap.c +--- linux-2.6.32.46/drivers/staging/vt6656/hostap.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/vt6656/hostap.c 2011-09-14 09:49:53.= 000000000 -0400 @@ -86,7 +86,7 @@ static int hostap_enable_hostapd(PSDevic PSDevice apdev_priv; struct net_device *dev =3D pDevice->dev; @@ -38691,9 +38714,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/vt6656= /hostap.c linux-2.6.32.48/drive .ndo_start_xmit =3D pDevice->tx_80211, }; =20 -diff -urNp linux-2.6.32.48/drivers/staging/wlan-ng/hfa384x_usb.c linux-2= .6.32.48/drivers/staging/wlan-ng/hfa384x_usb.c ---- linux-2.6.32.48/drivers/staging/wlan-ng/hfa384x_usb.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/wlan-ng/hfa384x_usb.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/staging/wlan-ng/hfa384x_usb.c linux-2= .6.32.46/drivers/staging/wlan-ng/hfa384x_usb.c +--- linux-2.6.32.46/drivers/staging/wlan-ng/hfa384x_usb.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/staging/wlan-ng/hfa384x_usb.c 2011-08-23 20:= 24:26.000000000 -0400 @@ -205,7 +205,7 @@ static void unlocked_usbctlx_complete(hf =20 struct usbctlx_completor { @@ -38703,9 +38726,9 @@ diff -urNp linux-2.6.32.48/drivers/staging/wlan-n= g/hfa384x_usb.c linux-2.6.32.48 typedef struct usbctlx_completor usbctlx_completor_t; =20 static int -diff -urNp linux-2.6.32.48/drivers/telephony/ixj.c linux-2.6.32.48/drive= rs/telephony/ixj.c ---- linux-2.6.32.48/drivers/telephony/ixj.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/telephony/ixj.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/telephony/ixj.c linux-2.6.32.46/drive= rs/telephony/ixj.c +--- linux-2.6.32.46/drivers/telephony/ixj.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/telephony/ixj.c 2011-05-16 21:46:57.00000000= 0 -0400 @@ -4976,6 +4976,8 @@ static int ixj_daa_cid_read(IXJ *j) bool mContinue; char *pIn, *pOut; @@ -38715,9 +38738,9 @@ diff -urNp linux-2.6.32.48/drivers/telephony/ixj.= c linux-2.6.32.48/drivers/telep if (!SCI_Prepare(j)) return 0; =20 -diff -urNp linux-2.6.32.48/drivers/uio/uio.c linux-2.6.32.48/drivers/uio= /uio.c ---- linux-2.6.32.48/drivers/uio/uio.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/uio/uio.c 2011-11-12 12:46:45.000000000 -050= 0 +diff -urNp linux-2.6.32.46/drivers/uio/uio.c linux-2.6.32.46/drivers/uio= /uio.c +--- linux-2.6.32.46/drivers/uio/uio.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/drivers/uio/uio.c 2011-05-04 17:56:20.000000000 -040= 0 @@ -23,6 +23,7 @@ #include #include @@ -38827,9 +38850,9 @@ diff -urNp linux-2.6.32.48/drivers/uio/uio.c linu= x-2.6.32.48/drivers/uio/uio.c =20 ret =3D uio_get_minor(idev); if (ret) -diff -urNp linux-2.6.32.48/drivers/usb/atm/usbatm.c linux-2.6.32.48/driv= ers/usb/atm/usbatm.c ---- linux-2.6.32.48/drivers/usb/atm/usbatm.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/usb/atm/usbatm.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/drivers/usb/atm/usbatm.c linux-2.6.32.46/driv= ers/usb/atm/usbatm.c +--- linux-2.6.32.46/drivers/usb/atm/usbatm.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/drivers/usb/atm/usbatm.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -333,7 +333,7 @@ static void usbatm_extract_one_cell(stru if (printk_ratelimit()) atm_warn(instance, "%s: OAM not supported (vpi %d, vci %d)!\n", @@ -38909,9 +38932,9 @@ diff -urNp linux-2.6.32.48/drivers/usb/atm/usbatm= .c linux-2.6.32.48/drivers/usb/ =20 if (!left--) { if (instance->disconnected) -diff -urNp linux-2.6.32.48/drivers/usb/class/cdc-wdm.c linux-2.6.32.48/d= rivers/usb/class/cdc-wdm.c ---- linux-2.6.32.48/drivers/usb/class/cdc-wdm.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/usb/class/cdc-wdm.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/usb/class/cdc-wdm.c linux-2.6.32.46/d= rivers/usb/class/cdc-wdm.c +--- linux-2.6.32.46/drivers/usb/class/cdc-wdm.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/usb/class/cdc-wdm.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -314,7 +314,7 @@ static ssize_t wdm_write if (r < 0) goto outnp; @@ -38921,9 +38944,9 @@ diff -urNp linux-2.6.32.48/drivers/usb/class/cdc-= wdm.c linux-2.6.32.48/drivers/u r =3D wait_event_interruptible(desc->wait, !test_bit(WDM_IN_USE, &desc->flags)); else -diff -urNp linux-2.6.32.48/drivers/usb/core/hcd.c linux-2.6.32.48/driver= s/usb/core/hcd.c ---- linux-2.6.32.48/drivers/usb/core/hcd.c 2011-11-12 12:44:29.000000000= -0500 -+++ linux-2.6.32.48/drivers/usb/core/hcd.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/usb/core/hcd.c linux-2.6.32.46/driver= s/usb/core/hcd.c +--- linux-2.6.32.46/drivers/usb/core/hcd.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/usb/core/hcd.c 2011-04-17 15:56:46.000000000= -0400 @@ -2216,7 +2216,7 @@ EXPORT_SYMBOL_GPL(usb_hcd_platform_shutd =20 #if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE) @@ -38942,9 +38965,9 @@ diff -urNp linux-2.6.32.48/drivers/usb/core/hcd.c= linux-2.6.32.48/drivers/usb/co { =20 if (mon_ops) -diff -urNp linux-2.6.32.48/drivers/usb/core/hcd.h linux-2.6.32.48/driver= s/usb/core/hcd.h ---- linux-2.6.32.48/drivers/usb/core/hcd.h 2011-11-12 12:44:29.000000000= -0500 -+++ linux-2.6.32.48/drivers/usb/core/hcd.h 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/usb/core/hcd.h linux-2.6.32.46/driver= s/usb/core/hcd.h +--- linux-2.6.32.46/drivers/usb/core/hcd.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/usb/core/hcd.h 2011-04-17 15:56:46.000000000= -0400 @@ -486,13 +486,13 @@ static inline void usbfs_cleanup(void) { #if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE) =20 @@ -38972,9 +38995,9 @@ diff -urNp linux-2.6.32.48/drivers/usb/core/hcd.h= linux-2.6.32.48/drivers/usb/co void usb_mon_deregister(void); =20 #else -diff -urNp linux-2.6.32.48/drivers/usb/core/message.c linux-2.6.32.48/dr= ivers/usb/core/message.c ---- linux-2.6.32.48/drivers/usb/core/message.c 2011-11-12 12:44:29.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/usb/core/message.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/usb/core/message.c linux-2.6.32.46/dr= ivers/usb/core/message.c +--- linux-2.6.32.46/drivers/usb/core/message.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/usb/core/message.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -914,8 +914,8 @@ char *usb_cache_string(struct usb_device buf =3D kmalloc(MAX_USB_STRING_SIZE, GFP_NOIO); if (buf) { @@ -38986,9 +39009,9 @@ diff -urNp linux-2.6.32.48/drivers/usb/core/messa= ge.c linux-2.6.32.48/drivers/us if (!smallbuf) return buf; memcpy(smallbuf, buf, len); -diff -urNp linux-2.6.32.48/drivers/usb/misc/appledisplay.c linux-2.6.32.= 48/drivers/usb/misc/appledisplay.c ---- linux-2.6.32.48/drivers/usb/misc/appledisplay.c 2011-11-12 12:44:29.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/usb/misc/appledisplay.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/usb/misc/appledisplay.c linux-2.6.32.= 46/drivers/usb/misc/appledisplay.c +--- linux-2.6.32.46/drivers/usb/misc/appledisplay.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/usb/misc/appledisplay.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -178,7 +178,7 @@ static int appledisplay_bl_get_brightnes return pdata->msgdata[1]; } @@ -38998,9 +39021,9 @@ diff -urNp linux-2.6.32.48/drivers/usb/misc/apple= display.c linux-2.6.32.48/drive .get_brightness =3D appledisplay_bl_get_brightness, .update_status =3D appledisplay_bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/usb/mon/mon_main.c linux-2.6.32.48/dr= ivers/usb/mon/mon_main.c ---- linux-2.6.32.48/drivers/usb/mon/mon_main.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/usb/mon/mon_main.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/usb/mon/mon_main.c linux-2.6.32.46/dr= ivers/usb/mon/mon_main.c +--- linux-2.6.32.46/drivers/usb/mon/mon_main.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/usb/mon/mon_main.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -238,7 +238,7 @@ static struct notifier_block mon_nb =3D { /* * Ops @@ -39010,9 +39033,9 @@ diff -urNp linux-2.6.32.48/drivers/usb/mon/mon_ma= in.c linux-2.6.32.48/drivers/us .urb_submit =3D mon_submit, .urb_submit_error =3D mon_submit_error, .urb_complete =3D mon_complete, -diff -urNp linux-2.6.32.48/drivers/usb/wusbcore/wa-hc.h linux-2.6.32.48/= drivers/usb/wusbcore/wa-hc.h ---- linux-2.6.32.48/drivers/usb/wusbcore/wa-hc.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/usb/wusbcore/wa-hc.h 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/usb/wusbcore/wa-hc.h linux-2.6.32.46/= drivers/usb/wusbcore/wa-hc.h +--- linux-2.6.32.46/drivers/usb/wusbcore/wa-hc.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/usb/wusbcore/wa-hc.h 2011-05-04 17:56:28.000= 000000 -0400 @@ -192,7 +192,7 @@ struct wahc { struct list_head xfer_delayed_list; spinlock_t xfer_list_lock; @@ -39031,9 +39054,9 @@ diff -urNp linux-2.6.32.48/drivers/usb/wusbcore/w= a-hc.h linux-2.6.32.48/drivers/ } =20 /** -diff -urNp linux-2.6.32.48/drivers/usb/wusbcore/wa-xfer.c linux-2.6.32.4= 8/drivers/usb/wusbcore/wa-xfer.c ---- linux-2.6.32.48/drivers/usb/wusbcore/wa-xfer.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/usb/wusbcore/wa-xfer.c 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/usb/wusbcore/wa-xfer.c linux-2.6.32.4= 6/drivers/usb/wusbcore/wa-xfer.c +--- linux-2.6.32.46/drivers/usb/wusbcore/wa-xfer.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/usb/wusbcore/wa-xfer.c 2011-05-04 17:56:28.0= 00000000 -0400 @@ -293,7 +293,7 @@ out: */ static void wa_xfer_id_init(struct wa_xfer *xfer) @@ -39043,9 +39066,9 @@ diff -urNp linux-2.6.32.48/drivers/usb/wusbcore/w= a-xfer.c linux-2.6.32.48/driver } =20 /* -diff -urNp linux-2.6.32.48/drivers/uwb/wlp/messages.c linux-2.6.32.48/dr= ivers/uwb/wlp/messages.c ---- linux-2.6.32.48/drivers/uwb/wlp/messages.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/uwb/wlp/messages.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/uwb/wlp/messages.c linux-2.6.32.46/dr= ivers/uwb/wlp/messages.c +--- linux-2.6.32.46/drivers/uwb/wlp/messages.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/uwb/wlp/messages.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -903,7 +903,7 @@ int wlp_parse_f0(struct wlp *wlp, struct size_t len =3D skb->len; size_t used; @@ -39055,9 +39078,9 @@ diff -urNp linux-2.6.32.48/drivers/uwb/wlp/messag= es.c linux-2.6.32.48/drivers/uw enum wlp_assc_error assc_err; char enonce_buf[WLP_WSS_NONCE_STRSIZE]; char rnonce_buf[WLP_WSS_NONCE_STRSIZE]; -diff -urNp linux-2.6.32.48/drivers/uwb/wlp/sysfs.c linux-2.6.32.48/drive= rs/uwb/wlp/sysfs.c ---- linux-2.6.32.48/drivers/uwb/wlp/sysfs.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/uwb/wlp/sysfs.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/uwb/wlp/sysfs.c linux-2.6.32.46/drive= rs/uwb/wlp/sysfs.c +--- linux-2.6.32.46/drivers/uwb/wlp/sysfs.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/uwb/wlp/sysfs.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -615,8 +615,7 @@ ssize_t wlp_wss_attr_store(struct kobjec return ret; } @@ -39068,9 +39091,9 @@ diff -urNp linux-2.6.32.48/drivers/uwb/wlp/sysfs.= c linux-2.6.32.48/drivers/uwb/w .show =3D wlp_wss_attr_show, .store =3D wlp_wss_attr_store, }; -diff -urNp linux-2.6.32.48/drivers/video/atmel_lcdfb.c linux-2.6.32.48/d= rivers/video/atmel_lcdfb.c ---- linux-2.6.32.48/drivers/video/atmel_lcdfb.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/video/atmel_lcdfb.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/atmel_lcdfb.c linux-2.6.32.46/d= rivers/video/atmel_lcdfb.c +--- linux-2.6.32.46/drivers/video/atmel_lcdfb.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/drivers/video/atmel_lcdfb.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -110,7 +110,7 @@ static int atmel_bl_get_brightness(struc return lcdc_readl(sinfo, ATMEL_LCDC_CONTRAST_VAL); } @@ -39080,9 +39103,9 @@ diff -urNp linux-2.6.32.48/drivers/video/atmel_lc= dfb.c linux-2.6.32.48/drivers/v .update_status =3D atmel_bl_update_status, .get_brightness =3D atmel_bl_get_brightness, }; -diff -urNp linux-2.6.32.48/drivers/video/aty/aty128fb.c linux-2.6.32.48/= drivers/video/aty/aty128fb.c ---- linux-2.6.32.48/drivers/video/aty/aty128fb.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/video/aty/aty128fb.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/aty/aty128fb.c linux-2.6.32.46/= drivers/video/aty/aty128fb.c +--- linux-2.6.32.46/drivers/video/aty/aty128fb.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/video/aty/aty128fb.c 2011-04-17 15:56:46.000= 000000 -0400 @@ -1787,7 +1787,7 @@ static int aty128_bl_get_brightness(stru return bd->props.brightness; } @@ -39092,9 +39115,9 @@ diff -urNp linux-2.6.32.48/drivers/video/aty/aty1= 28fb.c linux-2.6.32.48/drivers/ .get_brightness =3D aty128_bl_get_brightness, .update_status =3D aty128_bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/video/aty/atyfb_base.c linux-2.6.32.4= 8/drivers/video/aty/atyfb_base.c ---- linux-2.6.32.48/drivers/video/aty/atyfb_base.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/video/aty/atyfb_base.c 2011-11-12 12:46:45.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/aty/atyfb_base.c linux-2.6.32.4= 6/drivers/video/aty/atyfb_base.c +--- linux-2.6.32.46/drivers/video/aty/atyfb_base.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/drivers/video/aty/atyfb_base.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -2225,7 +2225,7 @@ static int aty_bl_get_brightness(struct=20 return bd->props.brightness; } @@ -39104,9 +39127,9 @@ diff -urNp linux-2.6.32.48/drivers/video/aty/atyf= b_base.c linux-2.6.32.48/driver .get_brightness =3D aty_bl_get_brightness, .update_status =3D aty_bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/video/aty/radeon_backlight.c linux-2.= 6.32.48/drivers/video/aty/radeon_backlight.c ---- linux-2.6.32.48/drivers/video/aty/radeon_backlight.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/aty/radeon_backlight.c 2011-11-12 12:4= 6:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/aty/radeon_backlight.c linux-2.= 6.32.46/drivers/video/aty/radeon_backlight.c +--- linux-2.6.32.46/drivers/video/aty/radeon_backlight.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/aty/radeon_backlight.c 2011-04-17 15:5= 6:46.000000000 -0400 @@ -127,7 +127,7 @@ static int radeon_bl_get_brightness(stru return bd->props.brightness; } @@ -39116,9 +39139,9 @@ diff -urNp linux-2.6.32.48/drivers/video/aty/rade= on_backlight.c linux-2.6.32.48/ .get_brightness =3D radeon_bl_get_brightness, .update_status =3D radeon_bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/adp5520_bl.c linux-2.= 6.32.48/drivers/video/backlight/adp5520_bl.c ---- linux-2.6.32.48/drivers/video/backlight/adp5520_bl.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/adp5520_bl.c 2011-11-12 12:4= 6:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/adp5520_bl.c linux-2.= 6.32.46/drivers/video/backlight/adp5520_bl.c +--- linux-2.6.32.46/drivers/video/backlight/adp5520_bl.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/adp5520_bl.c 2011-04-17 15:5= 6:46.000000000 -0400 @@ -84,7 +84,7 @@ static int adp5520_bl_get_brightness(str return error ? data->current_brightness : reg_val; } @@ -39128,9 +39151,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/adp5520_bl.c linux-2.6.32.48/ .update_status =3D adp5520_bl_update_status, .get_brightness =3D adp5520_bl_get_brightness, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/adx_bl.c linux-2.6.32= .48/drivers/video/backlight/adx_bl.c ---- linux-2.6.32.48/drivers/video/backlight/adx_bl.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/adx_bl.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/adx_bl.c linux-2.6.32= .46/drivers/video/backlight/adx_bl.c +--- linux-2.6.32.46/drivers/video/backlight/adx_bl.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/adx_bl.c 2011-04-17 15:56:46= .000000000 -0400 @@ -61,7 +61,7 @@ static int adx_backlight_check_fb(struct return 1; } @@ -39140,9 +39163,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/adx_bl.c linux-2.6.32.48/driv .options =3D 0, .update_status =3D adx_backlight_update_status, .get_brightness =3D adx_backlight_get_brightness, -diff -urNp linux-2.6.32.48/drivers/video/backlight/atmel-pwm-bl.c linux-= 2.6.32.48/drivers/video/backlight/atmel-pwm-bl.c ---- linux-2.6.32.48/drivers/video/backlight/atmel-pwm-bl.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/atmel-pwm-bl.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/atmel-pwm-bl.c linux-= 2.6.32.46/drivers/video/backlight/atmel-pwm-bl.c +--- linux-2.6.32.46/drivers/video/backlight/atmel-pwm-bl.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/atmel-pwm-bl.c 2011-04-17 15= :56:46.000000000 -0400 @@ -113,7 +113,7 @@ static int atmel_pwm_bl_init_pwm(struct=20 return pwm_channel_enable(&pwmbl->pwmc); } @@ -39152,9 +39175,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/atmel-pwm-bl.c linux-2.6.32.4 .get_brightness =3D atmel_pwm_bl_get_intensity, .update_status =3D atmel_pwm_bl_set_intensity, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/backlight.c linux-2.6= .32.48/drivers/video/backlight/backlight.c ---- linux-2.6.32.48/drivers/video/backlight/backlight.c 2011-11-12 12:44= :30.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/backlight.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/backlight.c linux-2.6= .32.46/drivers/video/backlight/backlight.c +--- linux-2.6.32.46/drivers/video/backlight/backlight.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/backlight.c 2011-04-17 15:56= :46.000000000 -0400 @@ -269,7 +269,7 @@ EXPORT_SYMBOL(backlight_force_update); * ERR_PTR() or a pointer to the newly allocated device. */ @@ -39164,9 +39187,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/backlight.c linux-2.6.32.48/d { struct backlight_device *new_bd; int rc; -diff -urNp linux-2.6.32.48/drivers/video/backlight/corgi_lcd.c linux-2.6= .32.48/drivers/video/backlight/corgi_lcd.c ---- linux-2.6.32.48/drivers/video/backlight/corgi_lcd.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/corgi_lcd.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/corgi_lcd.c linux-2.6= .32.46/drivers/video/backlight/corgi_lcd.c +--- linux-2.6.32.46/drivers/video/backlight/corgi_lcd.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/corgi_lcd.c 2011-04-17 15:56= :46.000000000 -0400 @@ -451,7 +451,7 @@ void corgi_lcd_limit_intensity(int limit } EXPORT_SYMBOL(corgi_lcd_limit_intensity); @@ -39176,9 +39199,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/corgi_lcd.c linux-2.6.32.48/d .get_brightness =3D corgi_bl_get_intensity, .update_status =3D corgi_bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/cr_bllcd.c linux-2.6.= 32.48/drivers/video/backlight/cr_bllcd.c ---- linux-2.6.32.48/drivers/video/backlight/cr_bllcd.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/cr_bllcd.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/cr_bllcd.c linux-2.6.= 32.46/drivers/video/backlight/cr_bllcd.c +--- linux-2.6.32.46/drivers/video/backlight/cr_bllcd.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/cr_bllcd.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -108,7 +108,7 @@ static int cr_backlight_get_intensity(st return intensity; } @@ -39188,9 +39211,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/cr_bllcd.c linux-2.6.32.48/dr .get_brightness =3D cr_backlight_get_intensity, .update_status =3D cr_backlight_set_intensity, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/da903x_bl.c linux-2.6= .32.48/drivers/video/backlight/da903x_bl.c ---- linux-2.6.32.48/drivers/video/backlight/da903x_bl.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/da903x_bl.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/da903x_bl.c linux-2.6= .32.46/drivers/video/backlight/da903x_bl.c +--- linux-2.6.32.46/drivers/video/backlight/da903x_bl.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/da903x_bl.c 2011-04-17 15:56= :46.000000000 -0400 @@ -94,7 +94,7 @@ static int da903x_backlight_get_brightne return data->current_brightness; } @@ -39200,9 +39223,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/da903x_bl.c linux-2.6.32.48/d .update_status =3D da903x_backlight_update_status, .get_brightness =3D da903x_backlight_get_brightness, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/generic_bl.c linux-2.= 6.32.48/drivers/video/backlight/generic_bl.c ---- linux-2.6.32.48/drivers/video/backlight/generic_bl.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/generic_bl.c 2011-11-12 12:4= 6:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/generic_bl.c linux-2.= 6.32.46/drivers/video/backlight/generic_bl.c +--- linux-2.6.32.46/drivers/video/backlight/generic_bl.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/generic_bl.c 2011-04-17 15:5= 6:46.000000000 -0400 @@ -70,7 +70,7 @@ void corgibl_limit_intensity(int limit) } EXPORT_SYMBOL(corgibl_limit_intensity); @@ -39212,9 +39235,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/generic_bl.c linux-2.6.32.48/ .options =3D BL_CORE_SUSPENDRESUME, .get_brightness =3D genericbl_get_intensity, .update_status =3D genericbl_send_intensity, -diff -urNp linux-2.6.32.48/drivers/video/backlight/hp680_bl.c linux-2.6.= 32.48/drivers/video/backlight/hp680_bl.c ---- linux-2.6.32.48/drivers/video/backlight/hp680_bl.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/hp680_bl.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/hp680_bl.c linux-2.6.= 32.46/drivers/video/backlight/hp680_bl.c +--- linux-2.6.32.46/drivers/video/backlight/hp680_bl.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/hp680_bl.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -98,7 +98,7 @@ static int hp680bl_get_intensity(struct=20 return current_intensity; } @@ -39224,9 +39247,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/hp680_bl.c linux-2.6.32.48/dr .get_brightness =3D hp680bl_get_intensity, .update_status =3D hp680bl_set_intensity, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/jornada720_bl.c linux= -2.6.32.48/drivers/video/backlight/jornada720_bl.c ---- linux-2.6.32.48/drivers/video/backlight/jornada720_bl.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/jornada720_bl.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/jornada720_bl.c linux= -2.6.32.46/drivers/video/backlight/jornada720_bl.c +--- linux-2.6.32.46/drivers/video/backlight/jornada720_bl.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/jornada720_bl.c 2011-04-17 1= 5:56:46.000000000 -0400 @@ -93,7 +93,7 @@ out: return ret; } @@ -39236,9 +39259,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/jornada720_bl.c linux-2.6.32. .get_brightness =3D jornada_bl_get_brightness, .update_status =3D jornada_bl_update_status, .options =3D BL_CORE_SUSPENDRESUME, -diff -urNp linux-2.6.32.48/drivers/video/backlight/kb3886_bl.c linux-2.6= .32.48/drivers/video/backlight/kb3886_bl.c ---- linux-2.6.32.48/drivers/video/backlight/kb3886_bl.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/kb3886_bl.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/kb3886_bl.c linux-2.6= .32.46/drivers/video/backlight/kb3886_bl.c +--- linux-2.6.32.46/drivers/video/backlight/kb3886_bl.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/kb3886_bl.c 2011-04-17 15:56= :46.000000000 -0400 @@ -134,7 +134,7 @@ static int kb3886bl_get_intensity(struct return kb3886bl_intensity; } @@ -39248,9 +39271,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/kb3886_bl.c linux-2.6.32.48/d .get_brightness =3D kb3886bl_get_intensity, .update_status =3D kb3886bl_send_intensity, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/locomolcd.c linux-2.6= .32.48/drivers/video/backlight/locomolcd.c ---- linux-2.6.32.48/drivers/video/backlight/locomolcd.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/locomolcd.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/locomolcd.c linux-2.6= .32.46/drivers/video/backlight/locomolcd.c +--- linux-2.6.32.46/drivers/video/backlight/locomolcd.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/locomolcd.c 2011-04-17 15:56= :46.000000000 -0400 @@ -141,7 +141,7 @@ static int locomolcd_get_intensity(struc return current_intensity; } @@ -39260,9 +39283,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/locomolcd.c linux-2.6.32.48/d .get_brightness =3D locomolcd_get_intensity, .update_status =3D locomolcd_set_intensity, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/mbp_nvidia_bl.c linux= -2.6.32.48/drivers/video/backlight/mbp_nvidia_bl.c ---- linux-2.6.32.48/drivers/video/backlight/mbp_nvidia_bl.c 2011-11-12 1= 2:44:30.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/mbp_nvidia_bl.c 2011-11-12 1= 2:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/mbp_nvidia_bl.c linux= -2.6.32.46/drivers/video/backlight/mbp_nvidia_bl.c +--- linux-2.6.32.46/drivers/video/backlight/mbp_nvidia_bl.c 2011-05-10 2= 2:12:01.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/mbp_nvidia_bl.c 2011-05-10 2= 2:12:33.000000000 -0400 @@ -33,7 +33,7 @@ struct dmi_match_data { unsigned long iostart; unsigned long iolen; @@ -39272,9 +39295,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/mbp_nvidia_bl.c linux-2.6.32. }; =20 /* Module parameters. */ -diff -urNp linux-2.6.32.48/drivers/video/backlight/omap1_bl.c linux-2.6.= 32.48/drivers/video/backlight/omap1_bl.c ---- linux-2.6.32.48/drivers/video/backlight/omap1_bl.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/omap1_bl.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/omap1_bl.c linux-2.6.= 32.46/drivers/video/backlight/omap1_bl.c +--- linux-2.6.32.46/drivers/video/backlight/omap1_bl.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/omap1_bl.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -125,7 +125,7 @@ static int omapbl_get_intensity(struct b return bl->current_intensity; } @@ -39284,9 +39307,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/omap1_bl.c linux-2.6.32.48/dr .get_brightness =3D omapbl_get_intensity, .update_status =3D omapbl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/progear_bl.c linux-2.= 6.32.48/drivers/video/backlight/progear_bl.c ---- linux-2.6.32.48/drivers/video/backlight/progear_bl.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/progear_bl.c 2011-11-12 12:4= 6:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/progear_bl.c linux-2.= 6.32.46/drivers/video/backlight/progear_bl.c +--- linux-2.6.32.46/drivers/video/backlight/progear_bl.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/progear_bl.c 2011-04-17 15:5= 6:46.000000000 -0400 @@ -54,7 +54,7 @@ static int progearbl_get_intensity(struc return intensity - HW_LEVEL_MIN; } @@ -39296,9 +39319,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/progear_bl.c linux-2.6.32.48/ .get_brightness =3D progearbl_get_intensity, .update_status =3D progearbl_set_intensity, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/pwm_bl.c linux-2.6.32= .48/drivers/video/backlight/pwm_bl.c ---- linux-2.6.32.48/drivers/video/backlight/pwm_bl.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/pwm_bl.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/pwm_bl.c linux-2.6.32= .46/drivers/video/backlight/pwm_bl.c +--- linux-2.6.32.46/drivers/video/backlight/pwm_bl.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/pwm_bl.c 2011-04-17 15:56:46= .000000000 -0400 @@ -56,7 +56,7 @@ static int pwm_backlight_get_brightness( return bl->props.brightness; } @@ -39308,9 +39331,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/pwm_bl.c linux-2.6.32.48/driv .update_status =3D pwm_backlight_update_status, .get_brightness =3D pwm_backlight_get_brightness, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/tosa_bl.c linux-2.6.3= 2.48/drivers/video/backlight/tosa_bl.c ---- linux-2.6.32.48/drivers/video/backlight/tosa_bl.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/tosa_bl.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/tosa_bl.c linux-2.6.3= 2.46/drivers/video/backlight/tosa_bl.c +--- linux-2.6.32.46/drivers/video/backlight/tosa_bl.c 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/tosa_bl.c 2011-04-17 15:56:4= 6.000000000 -0400 @@ -72,7 +72,7 @@ static int tosa_bl_get_brightness(struct return props->brightness; } @@ -39320,9 +39343,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/tosa_bl.c linux-2.6.32.48/dri .get_brightness =3D tosa_bl_get_brightness, .update_status =3D tosa_bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/wm831x_bl.c linux-2.6= .32.48/drivers/video/backlight/wm831x_bl.c ---- linux-2.6.32.48/drivers/video/backlight/wm831x_bl.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/wm831x_bl.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/backlight/wm831x_bl.c linux-2.6= .32.46/drivers/video/backlight/wm831x_bl.c +--- linux-2.6.32.46/drivers/video/backlight/wm831x_bl.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/backlight/wm831x_bl.c 2011-04-17 15:56= :46.000000000 -0400 @@ -112,7 +112,7 @@ static int wm831x_backlight_get_brightne return data->current_brightness; } @@ -39332,9 +39355,9 @@ diff -urNp linux-2.6.32.48/drivers/video/backligh= t/wm831x_bl.c linux-2.6.32.48/d .options =3D BL_CORE_SUSPENDRESUME, .update_status =3D wm831x_backlight_update_status, .get_brightness =3D wm831x_backlight_get_brightness, -diff -urNp linux-2.6.32.48/drivers/video/bf54x-lq043fb.c linux-2.6.32.48= /drivers/video/bf54x-lq043fb.c ---- linux-2.6.32.48/drivers/video/bf54x-lq043fb.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/video/bf54x-lq043fb.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/bf54x-lq043fb.c linux-2.6.32.46= /drivers/video/bf54x-lq043fb.c +--- linux-2.6.32.46/drivers/video/bf54x-lq043fb.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/drivers/video/bf54x-lq043fb.c 2011-04-17 15:56:46.00= 0000000 -0400 @@ -463,7 +463,7 @@ static int bl_get_brightness(struct back return 0; } @@ -39344,9 +39367,9 @@ diff -urNp linux-2.6.32.48/drivers/video/bf54x-lq= 043fb.c linux-2.6.32.48/drivers .get_brightness =3D bl_get_brightness, }; =20 -diff -urNp linux-2.6.32.48/drivers/video/bfin-t350mcqb-fb.c linux-2.6.32= .48/drivers/video/bfin-t350mcqb-fb.c ---- linux-2.6.32.48/drivers/video/bfin-t350mcqb-fb.c 2011-11-12 12:44:30= .000000000 -0500 -+++ linux-2.6.32.48/drivers/video/bfin-t350mcqb-fb.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/bfin-t350mcqb-fb.c linux-2.6.32= .46/drivers/video/bfin-t350mcqb-fb.c +--- linux-2.6.32.46/drivers/video/bfin-t350mcqb-fb.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/drivers/video/bfin-t350mcqb-fb.c 2011-04-17 15:56:46= .000000000 -0400 @@ -381,7 +381,7 @@ static int bl_get_brightness(struct back return 0; } @@ -39356,9 +39379,9 @@ diff -urNp linux-2.6.32.48/drivers/video/bfin-t35= 0mcqb-fb.c linux-2.6.32.48/driv .get_brightness =3D bl_get_brightness, }; =20 -diff -urNp linux-2.6.32.48/drivers/video/fbcmap.c linux-2.6.32.48/driver= s/video/fbcmap.c ---- linux-2.6.32.48/drivers/video/fbcmap.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/video/fbcmap.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/video/fbcmap.c linux-2.6.32.46/driver= s/video/fbcmap.c +--- linux-2.6.32.46/drivers/video/fbcmap.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/video/fbcmap.c 2011-04-17 15:56:46.000000000= -0400 @@ -266,8 +266,7 @@ int fb_set_user_cmap(struct fb_cmap_user rc =3D -ENODEV; goto out; @@ -39369,9 +39392,9 @@ diff -urNp linux-2.6.32.48/drivers/video/fbcmap.c= linux-2.6.32.48/drivers/video/ rc =3D -EINVAL; goto out1; } -diff -urNp linux-2.6.32.48/drivers/video/fbmem.c linux-2.6.32.48/drivers= /video/fbmem.c ---- linux-2.6.32.48/drivers/video/fbmem.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/video/fbmem.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/drivers/video/fbmem.c linux-2.6.32.46/drivers= /video/fbmem.c +--- linux-2.6.32.46/drivers/video/fbmem.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/drivers/video/fbmem.c 2011-05-16 21:46:57.000000000 = -0400 @@ -403,7 +403,7 @@ static void fb_do_show_logo(struct fb_in image->dx +=3D image->width + 8; } @@ -39417,9 +39440,9 @@ diff -urNp linux-2.6.32.48/drivers/video/fbmem.c = linux-2.6.32.48/drivers/video/f return -EINVAL; if (!registered_fb[con2fb.framebuffer]) request_module("fb%d", con2fb.framebuffer); -diff -urNp linux-2.6.32.48/drivers/video/i810/i810_accel.c linux-2.6.32.= 48/drivers/video/i810/i810_accel.c ---- linux-2.6.32.48/drivers/video/i810/i810_accel.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/video/i810/i810_accel.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/i810/i810_accel.c linux-2.6.32.= 46/drivers/video/i810/i810_accel.c +--- linux-2.6.32.46/drivers/video/i810/i810_accel.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/drivers/video/i810/i810_accel.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -73,6 +73,7 @@ static inline int wait_for_space(struct=20 } } @@ -39428,9 +39451,9 @@ diff -urNp linux-2.6.32.48/drivers/video/i810/i81= 0_accel.c linux-2.6.32.48/drive i810_report_error(mmio);=20 par->dev_flags |=3D LOCKUP; info->pixmap.scan_align =3D 1; -diff -urNp linux-2.6.32.48/drivers/video/logo/logo_linux_clut224.ppm lin= ux-2.6.32.48/drivers/video/logo/logo_linux_clut224.ppm ---- linux-2.6.32.48/drivers/video/logo/logo_linux_clut224.ppm 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/logo/logo_linux_clut224.ppm 2011-11-12= 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/logo/logo_linux_clut224.ppm lin= ux-2.6.32.46/drivers/video/logo/logo_linux_clut224.ppm +--- linux-2.6.32.46/drivers/video/logo/logo_linux_clut224.ppm 2011-03-27= 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/logo/logo_linux_clut224.ppm 2011-08-29= 23:49:24.000000000 -0400 @@ -1,1604 +1,1123 @@ P3 -# Standard 224-color Linux logo @@ -42156,9 +42179,9 @@ diff -urNp linux-2.6.32.48/drivers/video/logo/log= o_linux_clut224.ppm linux-2.6.3 +4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +4 4 4 4 4 4 -diff -urNp linux-2.6.32.48/drivers/video/nvidia/nv_backlight.c linux-2.6= .32.48/drivers/video/nvidia/nv_backlight.c ---- linux-2.6.32.48/drivers/video/nvidia/nv_backlight.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/nvidia/nv_backlight.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/nvidia/nv_backlight.c linux-2.6= .32.46/drivers/video/nvidia/nv_backlight.c +--- linux-2.6.32.46/drivers/video/nvidia/nv_backlight.c 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/drivers/video/nvidia/nv_backlight.c 2011-04-17 15:56= :46.000000000 -0400 @@ -87,7 +87,7 @@ static int nvidia_bl_get_brightness(stru return bd->props.brightness; } @@ -42168,9 +42191,9 @@ diff -urNp linux-2.6.32.48/drivers/video/nvidia/n= v_backlight.c linux-2.6.32.48/d .get_brightness =3D nvidia_bl_get_brightness, .update_status =3D nvidia_bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/video/riva/fbdev.c linux-2.6.32.48/dr= ivers/video/riva/fbdev.c ---- linux-2.6.32.48/drivers/video/riva/fbdev.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/video/riva/fbdev.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/drivers/video/riva/fbdev.c linux-2.6.32.46/dr= ivers/video/riva/fbdev.c +--- linux-2.6.32.46/drivers/video/riva/fbdev.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/drivers/video/riva/fbdev.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -331,7 +331,7 @@ static int riva_bl_get_brightness(struct return bd->props.brightness; } @@ -42180,9 +42203,9 @@ diff -urNp linux-2.6.32.48/drivers/video/riva/fbd= ev.c linux-2.6.32.48/drivers/vi .get_brightness =3D riva_bl_get_brightness, .update_status =3D riva_bl_update_status, }; -diff -urNp linux-2.6.32.48/drivers/video/uvesafb.c linux-2.6.32.48/drive= rs/video/uvesafb.c ---- linux-2.6.32.48/drivers/video/uvesafb.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/video/uvesafb.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/drivers/video/uvesafb.c linux-2.6.32.46/drive= rs/video/uvesafb.c +--- linux-2.6.32.46/drivers/video/uvesafb.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/drivers/video/uvesafb.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -18,6 +18,7 @@ #include #include @@ -42258,9 +42281,9 @@ diff -urNp linux-2.6.32.48/drivers/video/uvesafb.= c linux-2.6.32.48/drivers/video } =20 framebuffer_release(info); -diff -urNp linux-2.6.32.48/drivers/video/vesafb.c linux-2.6.32.48/driver= s/video/vesafb.c ---- linux-2.6.32.48/drivers/video/vesafb.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/video/vesafb.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/drivers/video/vesafb.c linux-2.6.32.46/driver= s/video/vesafb.c +--- linux-2.6.32.46/drivers/video/vesafb.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/drivers/video/vesafb.c 2011-08-05 20:33:55.000000000= -0400 @@ -9,6 +9,7 @@ */ =20 @@ -42363,9 +42386,9 @@ diff -urNp linux-2.6.32.48/drivers/video/vesafb.c= linux-2.6.32.48/drivers/video/ if (info->screen_base) iounmap(info->screen_base); framebuffer_release(info); -diff -urNp linux-2.6.32.48/drivers/xen/sys-hypervisor.c linux-2.6.32.48/= drivers/xen/sys-hypervisor.c ---- linux-2.6.32.48/drivers/xen/sys-hypervisor.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/xen/sys-hypervisor.c 2011-11-12 12:46:45.000= 000000 -0500 +diff -urNp linux-2.6.32.46/drivers/xen/sys-hypervisor.c linux-2.6.32.46/= drivers/xen/sys-hypervisor.c +--- linux-2.6.32.46/drivers/xen/sys-hypervisor.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/drivers/xen/sys-hypervisor.c 2011-04-17 15:56:46.000= 000000 -0400 @@ -425,7 +425,7 @@ static ssize_t hyp_sysfs_store(struct ko return 0; } @@ -42375,9 +42398,9 @@ diff -urNp linux-2.6.32.48/drivers/xen/sys-hyperv= isor.c linux-2.6.32.48/drivers/ .show =3D hyp_sysfs_show, .store =3D hyp_sysfs_store, }; -diff -urNp linux-2.6.32.48/fs/9p/vfs_inode.c linux-2.6.32.48/fs/9p/vfs_i= node.c ---- linux-2.6.32.48/fs/9p/vfs_inode.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/fs/9p/vfs_inode.c 2011-11-12 12:46:45.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/9p/vfs_inode.c linux-2.6.32.46/fs/9p/vfs_i= node.c +--- linux-2.6.32.46/fs/9p/vfs_inode.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/9p/vfs_inode.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -1079,7 +1079,7 @@ static void *v9fs_vfs_follow_link(struct static void v9fs_vfs_put_link(struct dentry *dentry, struct nameidata *nd, void *p) @@ -42387,9 +42410,9 @@ diff -urNp linux-2.6.32.48/fs/9p/vfs_inode.c linu= x-2.6.32.48/fs/9p/vfs_inode.c =20 P9_DPRINTK(P9_DEBUG_VFS, " %s %s\n", dentry->d_name.name, IS_ERR(s) ? "" : s); -diff -urNp linux-2.6.32.48/fs/aio.c linux-2.6.32.48/fs/aio.c ---- linux-2.6.32.48/fs/aio.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/aio.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/aio.c linux-2.6.32.46/fs/aio.c +--- linux-2.6.32.46/fs/aio.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/aio.c 2011-06-04 20:40:21.000000000 -0400 @@ -115,7 +115,7 @@ static int aio_setup_ring(struct kioctx=20 size +=3D sizeof(struct io_event) * nr_events; nr_pages =3D (size + PAGE_SIZE-1) >> PAGE_SHIFT; @@ -42428,9 +42451,9 @@ diff -urNp linux-2.6.32.48/fs/aio.c linux-2.6.32.= 48/fs/aio.c kiocb->ki_nr_segs =3D kiocb->ki_nbytes; kiocb->ki_cur_seg =3D 0; /* ki_nbytes/left now reflect bytes instead of segs */ -diff -urNp linux-2.6.32.48/fs/attr.c linux-2.6.32.48/fs/attr.c ---- linux-2.6.32.48/fs/attr.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/attr.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/attr.c linux-2.6.32.46/fs/attr.c +--- linux-2.6.32.46/fs/attr.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/attr.c 2011-04-17 15:56:46.000000000 -0400 @@ -83,6 +83,7 @@ int inode_newsize_ok(const struct inode=20 unsigned long limit; =20 @@ -42439,9 +42462,9 @@ diff -urNp linux-2.6.32.48/fs/attr.c linux-2.6.32= .48/fs/attr.c if (limit !=3D RLIM_INFINITY && offset > limit) goto out_sig; if (offset > inode->i_sb->s_maxbytes) -diff -urNp linux-2.6.32.48/fs/autofs/root.c linux-2.6.32.48/fs/autofs/ro= ot.c ---- linux-2.6.32.48/fs/autofs/root.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/autofs/root.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/autofs/root.c linux-2.6.32.46/fs/autofs/ro= ot.c +--- linux-2.6.32.46/fs/autofs/root.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/autofs/root.c 2011-04-17 15:56:46.000000000 -0400 @@ -299,7 +299,8 @@ static int autofs_root_symlink(struct in set_bit(n,sbi->symlink_bitmap); sl =3D &sbi->symlink[n]; @@ -42452,9 +42475,9 @@ diff -urNp linux-2.6.32.48/fs/autofs/root.c linux= -2.6.32.48/fs/autofs/root.c if (!sl->data) { clear_bit(n,sbi->symlink_bitmap); unlock_kernel(); -diff -urNp linux-2.6.32.48/fs/autofs4/symlink.c linux-2.6.32.48/fs/autof= s4/symlink.c ---- linux-2.6.32.48/fs/autofs4/symlink.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/autofs4/symlink.c 2011-11-12 12:46:45.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/autofs4/symlink.c linux-2.6.32.46/fs/autof= s4/symlink.c +--- linux-2.6.32.46/fs/autofs4/symlink.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/autofs4/symlink.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -15,7 +15,7 @@ static void *autofs4_follow_link(struct dentry *dentry, struct nameidat= a *nd) { @@ -42464,9 +42487,9 @@ diff -urNp linux-2.6.32.48/fs/autofs4/symlink.c l= inux-2.6.32.48/fs/autofs4/symli return NULL; } =20 -diff -urNp linux-2.6.32.48/fs/autofs4/waitq.c linux-2.6.32.48/fs/autofs4= /waitq.c ---- linux-2.6.32.48/fs/autofs4/waitq.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/fs/autofs4/waitq.c 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/autofs4/waitq.c linux-2.6.32.46/fs/autofs4= /waitq.c +--- linux-2.6.32.46/fs/autofs4/waitq.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/autofs4/waitq.c 2011-10-06 09:37:14.000000000 -04= 00 @@ -60,7 +60,7 @@ static int autofs4_write(struct file *fi { unsigned long sigpipe, flags; @@ -42476,9 +42499,9 @@ diff -urNp linux-2.6.32.48/fs/autofs4/waitq.c lin= ux-2.6.32.48/fs/autofs4/waitq.c ssize_t wr =3D 0; =20 /** WARNING: this is not safe for writing more than PIPE_BUF bytes! **= / -diff -urNp linux-2.6.32.48/fs/befs/linuxvfs.c linux-2.6.32.48/fs/befs/li= nuxvfs.c ---- linux-2.6.32.48/fs/befs/linuxvfs.c 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/fs/befs/linuxvfs.c 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/befs/linuxvfs.c linux-2.6.32.46/fs/befs/li= nuxvfs.c +--- linux-2.6.32.46/fs/befs/linuxvfs.c 2011-08-29 22:24:44.000000000 -04= 00 ++++ linux-2.6.32.46/fs/befs/linuxvfs.c 2011-08-29 22:25:07.000000000 -04= 00 @@ -498,7 +498,7 @@ static void befs_put_link(struct dentry=20 { befs_inode_info *befs_ino =3D BEFS_I(dentry->d_inode); @@ -42488,9 +42511,9 @@ diff -urNp linux-2.6.32.48/fs/befs/linuxvfs.c lin= ux-2.6.32.48/fs/befs/linuxvfs.c if (!IS_ERR(link)) kfree(link); } -diff -urNp linux-2.6.32.48/fs/binfmt_aout.c linux-2.6.32.48/fs/binfmt_ao= ut.c ---- linux-2.6.32.48/fs/binfmt_aout.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/binfmt_aout.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/binfmt_aout.c linux-2.6.32.46/fs/binfmt_ao= ut.c +--- linux-2.6.32.46/fs/binfmt_aout.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/binfmt_aout.c 2011-04-17 15:56:46.000000000 -0400 @@ -16,6 +16,7 @@ #include #include @@ -42578,9 +42601,9 @@ diff -urNp linux-2.6.32.48/fs/binfmt_aout.c linux= -2.6.32.48/fs/binfmt_aout.c MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE | MAP_EXECUTABLE, fd_offset + ex.a_text); up_write(¤t->mm->mmap_sem); -diff -urNp linux-2.6.32.48/fs/binfmt_elf.c linux-2.6.32.48/fs/binfmt_elf= .c ---- linux-2.6.32.48/fs/binfmt_elf.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/binfmt_elf.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/binfmt_elf.c linux-2.6.32.46/fs/binfmt_elf= .c +--- linux-2.6.32.46/fs/binfmt_elf.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/binfmt_elf.c 2011-05-16 21:46:57.000000000 -0400 @@ -50,6 +50,10 @@ static int elf_core_dump(long signr, str #define elf_core_dump NULL #endif @@ -43254,9 +43277,9 @@ diff -urNp linux-2.6.32.48/fs/binfmt_elf.c linux-= 2.6.32.48/fs/binfmt_elf.c static int __init init_elf_binfmt(void) { return register_binfmt(&elf_format); -diff -urNp linux-2.6.32.48/fs/binfmt_flat.c linux-2.6.32.48/fs/binfmt_fl= at.c ---- linux-2.6.32.48/fs/binfmt_flat.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/binfmt_flat.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/binfmt_flat.c linux-2.6.32.46/fs/binfmt_fl= at.c +--- linux-2.6.32.46/fs/binfmt_flat.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/binfmt_flat.c 2011-04-17 15:56:46.000000000 -0400 @@ -564,7 +564,9 @@ static int load_flat_file(struct linux_b realdatastart =3D (unsigned long) -ENOMEM; printk("Unable to allocate RAM for process data, errno %d\n", @@ -43289,9 +43312,9 @@ diff -urNp linux-2.6.32.48/fs/binfmt_flat.c linux= -2.6.32.48/fs/binfmt_flat.c ret =3D result; goto err; } -diff -urNp linux-2.6.32.48/fs/bio.c linux-2.6.32.48/fs/bio.c ---- linux-2.6.32.48/fs/bio.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/bio.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/bio.c linux-2.6.32.46/fs/bio.c +--- linux-2.6.32.46/fs/bio.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/bio.c 2011-10-06 09:37:14.000000000 -0400 @@ -78,7 +78,7 @@ static struct kmem_cache *bio_find_or_cr =20 i =3D 0; @@ -43310,9 +43333,9 @@ diff -urNp linux-2.6.32.48/fs/bio.c linux-2.6.32.= 48/fs/bio.c =20 __bio_for_each_segment(bvec, bio, i, 0) { char *addr =3D page_address(bvec->bv_page); -diff -urNp linux-2.6.32.48/fs/block_dev.c linux-2.6.32.48/fs/block_dev.c ---- linux-2.6.32.48/fs/block_dev.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/block_dev.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/block_dev.c linux-2.6.32.46/fs/block_dev.c +--- linux-2.6.32.46/fs/block_dev.c 2011-08-09 18:35:29.000000000 -0400 ++++ linux-2.6.32.46/fs/block_dev.c 2011-08-09 18:34:00.000000000 -0400 @@ -664,7 +664,7 @@ int bd_claim(struct block_device *bdev,=20 else if (bdev->bd_contains =3D=3D bdev) res =3D 0; /* is a whole device which isn't held */ @@ -43322,9 +43345,9 @@ diff -urNp linux-2.6.32.48/fs/block_dev.c linux-2= .6.32.48/fs/block_dev.c res =3D 0; /* is a partition of a device that is being partitioned = */ else if (bdev->bd_contains->bd_holder !=3D NULL) res =3D -EBUSY; /* is a partition of a held device */ -diff -urNp linux-2.6.32.48/fs/btrfs/ctree.c linux-2.6.32.48/fs/btrfs/ctr= ee.c ---- linux-2.6.32.48/fs/btrfs/ctree.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/btrfs/ctree.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/btrfs/ctree.c linux-2.6.32.46/fs/btrfs/ctr= ee.c +--- linux-2.6.32.46/fs/btrfs/ctree.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/btrfs/ctree.c 2011-04-17 15:56:46.000000000 -0400 @@ -461,9 +461,12 @@ static noinline int __btrfs_cow_block(st free_extent_buffer(buf); add_root_to_dirty_list(root); @@ -43349,9 +43372,9 @@ diff -urNp linux-2.6.32.48/fs/btrfs/ctree.c linux= -2.6.32.48/fs/btrfs/ctree.c btrfs_cpu_key_to_disk(&disk_key, cpu_key); ret =3D fixup_low_keys(trans, root, path, &disk_key, 1); } -diff -urNp linux-2.6.32.48/fs/btrfs/disk-io.c linux-2.6.32.48/fs/btrfs/d= isk-io.c ---- linux-2.6.32.48/fs/btrfs/disk-io.c 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/fs/btrfs/disk-io.c 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/btrfs/disk-io.c linux-2.6.32.46/fs/btrfs/d= isk-io.c +--- linux-2.6.32.46/fs/btrfs/disk-io.c 2011-04-17 17:00:52.000000000 -04= 00 ++++ linux-2.6.32.46/fs/btrfs/disk-io.c 2011-04-17 17:03:11.000000000 -04= 00 @@ -39,7 +39,7 @@ #include "tree-log.h" #include "free-space-cache.h" @@ -43370,9 +43393,9 @@ diff -urNp linux-2.6.32.48/fs/btrfs/disk-io.c lin= ux-2.6.32.48/fs/btrfs/disk-io.c .write_cache_pages_lock_hook =3D btree_lock_page_hook, .readpage_end_io_hook =3D btree_readpage_end_io_hook, .submit_bio_hook =3D btree_submit_bio_hook, -diff -urNp linux-2.6.32.48/fs/btrfs/extent_io.h linux-2.6.32.48/fs/btrfs= /extent_io.h ---- linux-2.6.32.48/fs/btrfs/extent_io.h 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/btrfs/extent_io.h 2011-11-12 12:46:45.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/btrfs/extent_io.h linux-2.6.32.46/fs/btrfs= /extent_io.h +--- linux-2.6.32.46/fs/btrfs/extent_io.h 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/btrfs/extent_io.h 2011-04-17 15:56:46.000000000 -= 0400 @@ -49,36 +49,36 @@ typedef int (extent_submit_bio_hook_t)(s struct bio *bio, int mirror_num, unsigned long bio_flags); @@ -43433,9 +43456,9 @@ diff -urNp linux-2.6.32.48/fs/btrfs/extent_io.h l= inux-2.6.32.48/fs/btrfs/extent_ }; =20 struct extent_state { -diff -urNp linux-2.6.32.48/fs/btrfs/extent-tree.c linux-2.6.32.48/fs/btr= fs/extent-tree.c ---- linux-2.6.32.48/fs/btrfs/extent-tree.c 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/fs/btrfs/extent-tree.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/fs/btrfs/extent-tree.c linux-2.6.32.46/fs/btr= fs/extent-tree.c +--- linux-2.6.32.46/fs/btrfs/extent-tree.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/fs/btrfs/extent-tree.c 2011-06-12 06:39:08.000000000= -0400 @@ -7141,6 +7141,10 @@ static noinline int relocate_one_extent( u64 group_start =3D group->key.objectid; new_extents =3D kmalloc(sizeof(*new_extents), @@ -43447,9 +43470,9 @@ diff -urNp linux-2.6.32.48/fs/btrfs/extent-tree.c= linux-2.6.32.48/fs/btrfs/exten nr_extents =3D 1; ret =3D get_new_locations(reloc_inode, extent_key, -diff -urNp linux-2.6.32.48/fs/btrfs/free-space-cache.c linux-2.6.32.48/f= s/btrfs/free-space-cache.c ---- linux-2.6.32.48/fs/btrfs/free-space-cache.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/fs/btrfs/free-space-cache.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/fs/btrfs/free-space-cache.c linux-2.6.32.46/f= s/btrfs/free-space-cache.c +--- linux-2.6.32.46/fs/btrfs/free-space-cache.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/fs/btrfs/free-space-cache.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -1074,8 +1074,6 @@ u64 btrfs_alloc_from_cluster(struct btrf =20 while(1) { @@ -43468,9 +43491,9 @@ diff -urNp linux-2.6.32.48/fs/btrfs/free-space-ca= che.c linux-2.6.32.48/fs/btrfs/ =20 if (entry->bitmap && entry->bytes > bytes + empty_size) { ret =3D btrfs_bitmap_cluster(block_group, entry, cluster, -diff -urNp linux-2.6.32.48/fs/btrfs/inode.c linux-2.6.32.48/fs/btrfs/ino= de.c ---- linux-2.6.32.48/fs/btrfs/inode.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/btrfs/inode.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/btrfs/inode.c linux-2.6.32.46/fs/btrfs/ino= de.c +--- linux-2.6.32.46/fs/btrfs/inode.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/btrfs/inode.c 2011-06-12 06:39:58.000000000 -0400 @@ -63,7 +63,7 @@ static const struct inode_operations btr static const struct address_space_operations btrfs_aops; static const struct address_space_operations btrfs_symlink_aops; @@ -43530,9 +43553,9 @@ diff -urNp linux-2.6.32.48/fs/btrfs/inode.c linux= -2.6.32.48/fs/btrfs/inode.c .fill_delalloc =3D run_delalloc_range, .submit_bio_hook =3D btrfs_submit_bio_hook, .merge_bio_hook =3D btrfs_merge_bio_hook, -diff -urNp linux-2.6.32.48/fs/btrfs/relocation.c linux-2.6.32.48/fs/btrf= s/relocation.c ---- linux-2.6.32.48/fs/btrfs/relocation.c 2011-11-12 12:44:30.000000000 = -0500 -+++ linux-2.6.32.48/fs/btrfs/relocation.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/fs/btrfs/relocation.c linux-2.6.32.46/fs/btrf= s/relocation.c +--- linux-2.6.32.46/fs/btrfs/relocation.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/fs/btrfs/relocation.c 2011-04-17 15:56:46.000000000 = -0400 @@ -884,7 +884,7 @@ static int __update_reloc_root(struct bt } spin_unlock(&rc->reloc_root_tree.lock); @@ -43542,9 +43565,9 @@ diff -urNp linux-2.6.32.48/fs/btrfs/relocation.c = linux-2.6.32.48/fs/btrfs/reloca =20 if (!del) { spin_lock(&rc->reloc_root_tree.lock); -diff -urNp linux-2.6.32.48/fs/btrfs/sysfs.c linux-2.6.32.48/fs/btrfs/sys= fs.c ---- linux-2.6.32.48/fs/btrfs/sysfs.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/btrfs/sysfs.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/btrfs/sysfs.c linux-2.6.32.46/fs/btrfs/sys= fs.c +--- linux-2.6.32.46/fs/btrfs/sysfs.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/btrfs/sysfs.c 2011-04-17 15:56:46.000000000 -0400 @@ -164,12 +164,12 @@ static void btrfs_root_release(struct ko complete(&root->kobj_unregister); } @@ -43560,9 +43583,9 @@ diff -urNp linux-2.6.32.48/fs/btrfs/sysfs.c linux= -2.6.32.48/fs/btrfs/sysfs.c .show =3D btrfs_root_attr_show, .store =3D btrfs_root_attr_store, }; -diff -urNp linux-2.6.32.48/fs/buffer.c linux-2.6.32.48/fs/buffer.c ---- linux-2.6.32.48/fs/buffer.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/buffer.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/buffer.c linux-2.6.32.46/fs/buffer.c +--- linux-2.6.32.46/fs/buffer.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/buffer.c 2011-04-17 15:56:46.000000000 -0400 @@ -25,6 +25,7 @@ #include #include @@ -43571,9 +43594,9 @@ diff -urNp linux-2.6.32.48/fs/buffer.c linux-2.6.= 32.48/fs/buffer.c #include #include #include -diff -urNp linux-2.6.32.48/fs/cachefiles/bind.c linux-2.6.32.48/fs/cache= files/bind.c ---- linux-2.6.32.48/fs/cachefiles/bind.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/cachefiles/bind.c 2011-11-12 12:46:45.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/cachefiles/bind.c linux-2.6.32.46/fs/cache= files/bind.c +--- linux-2.6.32.46/fs/cachefiles/bind.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/cachefiles/bind.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -39,13 +39,11 @@ int cachefiles_daemon_bind(struct cachef args); =20 @@ -43590,9 +43613,9 @@ diff -urNp linux-2.6.32.48/fs/cachefiles/bind.c l= inux-2.6.32.48/fs/cachefiles/bi cache->bcull_percent < cache->brun_percent && cache->brun_percent < 100); =20 -diff -urNp linux-2.6.32.48/fs/cachefiles/daemon.c linux-2.6.32.48/fs/cac= hefiles/daemon.c ---- linux-2.6.32.48/fs/cachefiles/daemon.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/fs/cachefiles/daemon.c 2011-11-12 12:46:45.000000000= -0500 +diff -urNp linux-2.6.32.46/fs/cachefiles/daemon.c linux-2.6.32.46/fs/cac= hefiles/daemon.c +--- linux-2.6.32.46/fs/cachefiles/daemon.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/fs/cachefiles/daemon.c 2011-04-17 15:56:46.000000000= -0400 @@ -220,7 +220,7 @@ static ssize_t cachefiles_daemon_write(s if (test_bit(CACHEFILES_DEAD, &cache->flags)) return -EIO; @@ -43620,9 +43643,9 @@ diff -urNp linux-2.6.32.48/fs/cachefiles/daemon.c= linux-2.6.32.48/fs/cachefiles/ return cachefiles_daemon_range_error(cache, args); =20 cache->bstop_percent =3D bstop; -diff -urNp linux-2.6.32.48/fs/cachefiles/internal.h linux-2.6.32.48/fs/c= achefiles/internal.h ---- linux-2.6.32.48/fs/cachefiles/internal.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/fs/cachefiles/internal.h 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/fs/cachefiles/internal.h linux-2.6.32.46/fs/c= achefiles/internal.h +--- linux-2.6.32.46/fs/cachefiles/internal.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/fs/cachefiles/internal.h 2011-05-04 17:56:28.0000000= 00 -0400 @@ -56,7 +56,7 @@ struct cachefiles_cache { wait_queue_head_t daemon_pollwq; /* poll waitqueue for daemon */ struct rb_root active_nodes; /* active nodes (can't be culled) */ @@ -43657,9 +43680,9 @@ diff -urNp linux-2.6.32.48/fs/cachefiles/internal= .h linux-2.6.32.48/fs/cachefile } =20 #else -diff -urNp linux-2.6.32.48/fs/cachefiles/namei.c linux-2.6.32.48/fs/cach= efiles/namei.c ---- linux-2.6.32.48/fs/cachefiles/namei.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/fs/cachefiles/namei.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-2.6.32.46/fs/cachefiles/namei.c linux-2.6.32.46/fs/cach= efiles/namei.c +--- linux-2.6.32.46/fs/cachefiles/namei.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/fs/cachefiles/namei.c 2011-05-04 17:56:28.000000000 = -0400 @@ -250,7 +250,7 @@ try_again: /* first step is to make up a grave dentry in the graveyard */ sprintf(nbuffer, "%08x%08x", @@ -43669,9 +43692,9 @@ diff -urNp linux-2.6.32.48/fs/cachefiles/namei.c = linux-2.6.32.48/fs/cachefiles/n =20 /* do the multiway lock magic */ trap =3D lock_rename(cache->graveyard, dir); -diff -urNp linux-2.6.32.48/fs/cachefiles/proc.c linux-2.6.32.48/fs/cache= files/proc.c ---- linux-2.6.32.48/fs/cachefiles/proc.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/cachefiles/proc.c 2011-11-12 12:46:45.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/cachefiles/proc.c linux-2.6.32.46/fs/cache= files/proc.c +--- linux-2.6.32.46/fs/cachefiles/proc.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/cachefiles/proc.c 2011-05-04 17:56:28.000000000 -= 0400 @@ -14,9 +14,9 @@ #include #include "internal.h" @@ -43698,9 +43721,9 @@ diff -urNp linux-2.6.32.48/fs/cachefiles/proc.c l= inux-2.6.32.48/fs/cachefiles/pr if (x =3D=3D 0 && y =3D=3D 0 && z =3D=3D 0) return 0; =20 -diff -urNp linux-2.6.32.48/fs/cachefiles/rdwr.c linux-2.6.32.48/fs/cache= files/rdwr.c ---- linux-2.6.32.48/fs/cachefiles/rdwr.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/cachefiles/rdwr.c 2011-11-12 12:46:45.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/cachefiles/rdwr.c linux-2.6.32.46/fs/cache= files/rdwr.c +--- linux-2.6.32.46/fs/cachefiles/rdwr.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/cachefiles/rdwr.c 2011-10-06 09:37:14.000000000 -= 0400 @@ -946,7 +946,7 @@ int cachefiles_write_page(struct fscache old_fs =3D get_fs(); set_fs(KERNEL_DS); @@ -43710,9 +43733,9 @@ diff -urNp linux-2.6.32.48/fs/cachefiles/rdwr.c l= inux-2.6.32.48/fs/cachefiles/rd set_fs(old_fs); kunmap(page); if (ret !=3D len) -diff -urNp linux-2.6.32.48/fs/cifs/cifs_debug.c linux-2.6.32.48/fs/cifs/= cifs_debug.c ---- linux-2.6.32.48/fs/cifs/cifs_debug.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/cifs/cifs_debug.c 2011-11-12 12:46:45.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/cifs/cifs_debug.c linux-2.6.32.46/fs/cifs/= cifs_debug.c +--- linux-2.6.32.46/fs/cifs/cifs_debug.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/cifs/cifs_debug.c 2011-05-04 17:56:28.000000000 -= 0400 @@ -256,25 +256,25 @@ static ssize_t cifs_stats_proc_write(str tcon =3D list_entry(tmp3, struct cifsTconInfo, @@ -43820,9 +43843,9 @@ diff -urNp linux-2.6.32.48/fs/cifs/cifs_debug.c l= inux-2.6.32.48/fs/cifs/cifs_deb } } } -diff -urNp linux-2.6.32.48/fs/cifs/cifsfs.c linux-2.6.32.48/fs/cifs/cifs= fs.c ---- linux-2.6.32.48/fs/cifs/cifsfs.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/cifs/cifsfs.c 2011-11-12 12:46:45.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/cifs/cifsfs.c linux-2.6.32.46/fs/cifs/cifs= fs.c +--- linux-2.6.32.46/fs/cifs/cifsfs.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/cifs/cifsfs.c 2011-08-25 17:17:57.000000000 -0400 @@ -869,7 +869,7 @@ cifs_init_request_bufs(void) cifs_req_cachep =3D kmem_cache_create("cifs_request", CIFSMaxBufSize + @@ -43852,9 +43875,9 @@ diff -urNp linux-2.6.32.48/fs/cifs/cifsfs.c linux= -2.6.32.48/fs/cifs/cifsfs.c #endif /* CONFIG_CIFS_STATS2 */ =20 atomic_set(&midCount, 0); -diff -urNp linux-2.6.32.48/fs/cifs/cifsglob.h linux-2.6.32.48/fs/cifs/ci= fsglob.h ---- linux-2.6.32.48/fs/cifs/cifsglob.h 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/fs/cifs/cifsglob.h 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/cifs/cifsglob.h linux-2.6.32.46/fs/cifs/ci= fsglob.h +--- linux-2.6.32.46/fs/cifs/cifsglob.h 2011-08-09 18:35:29.000000000 -04= 00 ++++ linux-2.6.32.46/fs/cifs/cifsglob.h 2011-08-25 17:17:57.000000000 -04= 00 @@ -252,28 +252,28 @@ struct cifsTconInfo { __u16 Flags; /* optional support bits */ enum statusEnum tidStatus; @@ -43926,9 +43949,22 @@ diff -urNp linux-2.6.32.48/fs/cifs/cifsglob.h li= nux-2.6.32.48/fs/cifs/cifsglob.h #endif GLOBAL_EXTERN atomic_t smBufAllocCount; GLOBAL_EXTERN atomic_t midCount; -diff -urNp linux-2.6.32.48/fs/cifs/link.c linux-2.6.32.48/fs/cifs/link.c ---- linux-2.6.32.48/fs/cifs/link.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/cifs/link.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/cifs/cifssmb.c linux-2.6.32.46/fs/cifs/cif= ssmb.c +--- linux-2.6.32.46/fs/cifs/cifssmb.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/cifs/cifssmb.c 2011-10-17 02:36:33.000000000 -040= 0 +@@ -3596,7 +3596,8 @@ int CIFSFindNext(const int xid, struct c + T2_FNEXT_RSP_PARMS *parms; + char *response_data; + int rc =3D 0; +- int bytes_returned, name_len; ++ int bytes_returned; ++ unsigned int name_len; + __u16 params, byte_count; +=20 + cFYI(1, ("In FindNext")); +diff -urNp linux-2.6.32.46/fs/cifs/link.c linux-2.6.32.46/fs/cifs/link.c +--- linux-2.6.32.46/fs/cifs/link.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/cifs/link.c 2011-04-17 15:56:46.000000000 -0400 @@ -215,7 +215,7 @@ cifs_symlink(struct inode *inode, struct =20 void cifs_put_link(struct dentry *direntry, struct nameidata *nd, void = *cookie) @@ -43938,9 +43974,9 @@ diff -urNp linux-2.6.32.48/fs/cifs/link.c linux-2= .6.32.48/fs/cifs/link.c if (!IS_ERR(p)) kfree(p); } -diff -urNp linux-2.6.32.48/fs/cifs/misc.c linux-2.6.32.48/fs/cifs/misc.c ---- linux-2.6.32.48/fs/cifs/misc.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/cifs/misc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/cifs/misc.c linux-2.6.32.46/fs/cifs/misc.c +--- linux-2.6.32.46/fs/cifs/misc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/cifs/misc.c 2011-08-25 17:17:57.000000000 -0400 @@ -155,7 +155,7 @@ cifs_buf_get(void) memset(ret_buf, 0, sizeof(struct smb_hdr) + 3); atomic_inc(&bufAllocCount); @@ -43959,9 +43995,9 @@ diff -urNp linux-2.6.32.48/fs/cifs/misc.c linux-2= .6.32.48/fs/cifs/misc.c #endif /* CONFIG_CIFS_STATS2 */ =20 } -diff -urNp linux-2.6.32.48/fs/coda/cache.c linux-2.6.32.48/fs/coda/cache= .c ---- linux-2.6.32.48/fs/coda/cache.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/coda/cache.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/coda/cache.c linux-2.6.32.46/fs/coda/cache= .c +--- linux-2.6.32.46/fs/coda/cache.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/coda/cache.c 2011-05-04 17:56:28.000000000 -0400 @@ -24,14 +24,14 @@ #include #include @@ -44004,9 +44040,9 @@ diff -urNp linux-2.6.32.48/fs/coda/cache.c linux-= 2.6.32.48/fs/coda/cache.c =20 return hit; } -diff -urNp linux-2.6.32.48/fs/compat_binfmt_elf.c linux-2.6.32.48/fs/com= pat_binfmt_elf.c ---- linux-2.6.32.48/fs/compat_binfmt_elf.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/fs/compat_binfmt_elf.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/fs/compat_binfmt_elf.c linux-2.6.32.46/fs/com= pat_binfmt_elf.c +--- linux-2.6.32.46/fs/compat_binfmt_elf.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/fs/compat_binfmt_elf.c 2011-04-17 15:56:46.000000000= -0400 @@ -29,10 +29,12 @@ #undef elfhdr #undef elf_phdr @@ -44020,9 +44056,9 @@ diff -urNp linux-2.6.32.48/fs/compat_binfmt_elf.c= linux-2.6.32.48/fs/compat_binf #define elf_addr_t Elf32_Addr =20 /* -diff -urNp linux-2.6.32.48/fs/compat.c linux-2.6.32.48/fs/compat.c ---- linux-2.6.32.48/fs/compat.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/compat.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/compat.c linux-2.6.32.46/fs/compat.c +--- linux-2.6.32.46/fs/compat.c 2011-04-17 17:00:52.000000000 -0400 ++++ linux-2.6.32.46/fs/compat.c 2011-10-06 09:37:14.000000000 -0400 @@ -133,8 +133,8 @@ asmlinkage long compat_sys_utimes(char _ static int cp_compat_stat(struct kstat *stat, struct compat_stat __user= *ubuf) { @@ -44268,9 +44304,9 @@ diff -urNp linux-2.6.32.48/fs/compat.c linux-2.6.= 32.48/fs/compat.c set_fs(oldfs); =20 if (err) -diff -urNp linux-2.6.32.48/fs/compat_ioctl.c linux-2.6.32.48/fs/compat_i= octl.c ---- linux-2.6.32.48/fs/compat_ioctl.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/fs/compat_ioctl.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/compat_ioctl.c linux-2.6.32.46/fs/compat_i= octl.c +--- linux-2.6.32.46/fs/compat_ioctl.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/compat_ioctl.c 2011-10-06 09:37:14.000000000 -040= 0 @@ -234,6 +234,8 @@ static int do_video_set_spu_palette(unsi up =3D (struct compat_video_spu_palette __user *) arg; err =3D get_user(palp, &up->palette); @@ -44298,9 +44334,9 @@ diff -urNp linux-2.6.32.48/fs/compat_ioctl.c linu= x-2.6.32.48/fs/compat_ioctl.c return -EFAULT; =20 return ioctl_preallocate(file, p); -diff -urNp linux-2.6.32.48/fs/configfs/dir.c linux-2.6.32.48/fs/configfs= /dir.c ---- linux-2.6.32.48/fs/configfs/dir.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/fs/configfs/dir.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/configfs/dir.c linux-2.6.32.46/fs/configfs= /dir.c +--- linux-2.6.32.46/fs/configfs/dir.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/configfs/dir.c 2011-05-11 18:25:15.000000000 -040= 0 @@ -1572,7 +1572,8 @@ static int configfs_readdir(struct file=20 } for (p=3Dq->next; p!=3D &parent_sd->s_children; p=3Dp->next) { @@ -44325,9 +44361,9 @@ diff -urNp linux-2.6.32.48/fs/configfs/dir.c linu= x-2.6.32.48/fs/configfs/dir.c if (next->s_dentry) ino =3D next->s_dentry->d_inode->i_ino; else -diff -urNp linux-2.6.32.48/fs/dcache.c linux-2.6.32.48/fs/dcache.c ---- linux-2.6.32.48/fs/dcache.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/dcache.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/dcache.c linux-2.6.32.46/fs/dcache.c +--- linux-2.6.32.46/fs/dcache.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/dcache.c 2011-04-23 13:32:21.000000000 -0400 @@ -45,8 +45,6 @@ EXPORT_SYMBOL(dcache_lock); =20 static struct kmem_cache *dentry_cache __read_mostly; @@ -44346,9 +44382,9 @@ diff -urNp linux-2.6.32.48/fs/dcache.c linux-2.6.= 32.48/fs/dcache.c =20 dcache_init(); inode_init(); -diff -urNp linux-2.6.32.48/fs/dlm/lockspace.c linux-2.6.32.48/fs/dlm/loc= kspace.c ---- linux-2.6.32.48/fs/dlm/lockspace.c 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/fs/dlm/lockspace.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/dlm/lockspace.c linux-2.6.32.46/fs/dlm/loc= kspace.c +--- linux-2.6.32.46/fs/dlm/lockspace.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/dlm/lockspace.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -148,7 +148,7 @@ static void lockspace_kobj_release(struc kfree(ls); } @@ -44358,9 +44394,9 @@ diff -urNp linux-2.6.32.48/fs/dlm/lockspace.c lin= ux-2.6.32.48/fs/dlm/lockspace.c .show =3D dlm_attr_show, .store =3D dlm_attr_store, }; -diff -urNp linux-2.6.32.48/fs/ecryptfs/inode.c linux-2.6.32.48/fs/ecrypt= fs/inode.c ---- linux-2.6.32.48/fs/ecryptfs/inode.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/fs/ecryptfs/inode.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/ecryptfs/inode.c linux-2.6.32.46/fs/ecrypt= fs/inode.c +--- linux-2.6.32.46/fs/ecryptfs/inode.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/ecryptfs/inode.c 2011-10-06 09:37:14.000000000 -0= 400 @@ -660,7 +660,7 @@ static int ecryptfs_readlink_lower(struc old_fs =3D get_fs(); set_fs(get_ds()); @@ -44379,9 +44415,9 @@ diff -urNp linux-2.6.32.48/fs/ecryptfs/inode.c li= nux-2.6.32.48/fs/ecryptfs/inode set_fs(old_fs); if (rc < 0) goto out_free; -diff -urNp linux-2.6.32.48/fs/exec.c linux-2.6.32.48/fs/exec.c ---- linux-2.6.32.48/fs/exec.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/exec.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/exec.c linux-2.6.32.46/fs/exec.c +--- linux-2.6.32.46/fs/exec.c 2011-06-25 12:55:34.000000000 -0400 ++++ linux-2.6.32.46/fs/exec.c 2011-10-06 09:37:14.000000000 -0400 @@ -56,12 +56,24 @@ #include #include @@ -44975,9 +45011,9 @@ diff -urNp linux-2.6.32.48/fs/exec.c linux-2.6.32= .48/fs/exec.c fail_unlock: if (helper_argv) argv_free(helper_argv); -diff -urNp linux-2.6.32.48/fs/ext2/balloc.c linux-2.6.32.48/fs/ext2/ball= oc.c ---- linux-2.6.32.48/fs/ext2/balloc.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/ext2/balloc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ext2/balloc.c linux-2.6.32.46/fs/ext2/ball= oc.c +--- linux-2.6.32.46/fs/ext2/balloc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ext2/balloc.c 2011-04-17 15:56:46.000000000 -0400 @@ -1192,7 +1192,7 @@ static int ext2_has_free_blocks(struct e =20 free_blocks =3D percpu_counter_read_positive(&sbi->s_freeblocks_counte= r); @@ -44987,9 +45023,9 @@ diff -urNp linux-2.6.32.48/fs/ext2/balloc.c linux= -2.6.32.48/fs/ext2/balloc.c sbi->s_resuid !=3D current_fsuid() && (sbi->s_resgid =3D=3D 0 || !in_group_p (sbi->s_resgid))) { return 0; -diff -urNp linux-2.6.32.48/fs/ext3/balloc.c linux-2.6.32.48/fs/ext3/ball= oc.c ---- linux-2.6.32.48/fs/ext3/balloc.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/ext3/balloc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ext3/balloc.c linux-2.6.32.46/fs/ext3/ball= oc.c +--- linux-2.6.32.46/fs/ext3/balloc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ext3/balloc.c 2011-04-17 15:56:46.000000000 -0400 @@ -1421,7 +1421,7 @@ static int ext3_has_free_blocks(struct e =20 free_blocks =3D percpu_counter_read_positive(&sbi->s_freeblocks_counte= r); @@ -44999,9 +45035,9 @@ diff -urNp linux-2.6.32.48/fs/ext3/balloc.c linux= -2.6.32.48/fs/ext3/balloc.c sbi->s_resuid !=3D current_fsuid() && (sbi->s_resgid =3D=3D 0 || !in_group_p (sbi->s_resgid))) { return 0; -diff -urNp linux-2.6.32.48/fs/ext4/balloc.c linux-2.6.32.48/fs/ext4/ball= oc.c ---- linux-2.6.32.48/fs/ext4/balloc.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/ext4/balloc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ext4/balloc.c linux-2.6.32.46/fs/ext4/ball= oc.c +--- linux-2.6.32.46/fs/ext4/balloc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ext4/balloc.c 2011-04-17 15:56:46.000000000 -0400 @@ -570,7 +570,7 @@ int ext4_has_free_blocks(struct ext4_sb_ /* Hm, nope. Are (enough) root reserved blocks available? */ if (sbi->s_resuid =3D=3D current_fsuid() || @@ -45011,10 +45047,10 @@ diff -urNp linux-2.6.32.48/fs/ext4/balloc.c lin= ux-2.6.32.48/fs/ext4/balloc.c if (free_blocks >=3D (nblocks + dirty_blocks)) return 1; } -diff -urNp linux-2.6.32.48/fs/ext4/ext4.h linux-2.6.32.48/fs/ext4/ext4.h ---- linux-2.6.32.48/fs/ext4/ext4.h 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/ext4/ext4.h 2011-11-12 12:46:47.000000000 -0500 -@@ -1077,19 +1077,19 @@ struct ext4_sb_info { +diff -urNp linux-2.6.32.46/fs/ext4/ext4.h linux-2.6.32.46/fs/ext4/ext4.h +--- linux-2.6.32.46/fs/ext4/ext4.h 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ext4/ext4.h 2011-04-17 15:56:46.000000000 -0400 +@@ -1078,19 +1078,19 @@ struct ext4_sb_info { =20 /* stats for buddy allocator */ spinlock_t s_mb_pa_lock; @@ -45044,9 +45080,9 @@ diff -urNp linux-2.6.32.48/fs/ext4/ext4.h linux-2= .6.32.48/fs/ext4/ext4.h atomic_t s_lock_busy; =20 /* locality groups */ -diff -urNp linux-2.6.32.48/fs/ext4/file.c linux-2.6.32.48/fs/ext4/file.c ---- linux-2.6.32.48/fs/ext4/file.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/ext4/file.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ext4/file.c linux-2.6.32.46/fs/ext4/file.c +--- linux-2.6.32.46/fs/ext4/file.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ext4/file.c 2011-10-17 02:30:06.000000000 -0400 @@ -122,8 +122,8 @@ static int ext4_file_open(struct inode * cp =3D d_path(&path, buf, sizeof(buf)); path_put(&path); @@ -45058,9 +45094,9 @@ diff -urNp linux-2.6.32.48/fs/ext4/file.c linux-2= .6.32.48/fs/ext4/file.c sb->s_dirt =3D 1; } } -diff -urNp linux-2.6.32.48/fs/ext4/mballoc.c linux-2.6.32.48/fs/ext4/mba= lloc.c ---- linux-2.6.32.48/fs/ext4/mballoc.c 2011-11-12 12:44:30.000000000 -050= 0 -+++ linux-2.6.32.48/fs/ext4/mballoc.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/ext4/mballoc.c linux-2.6.32.46/fs/ext4/mba= lloc.c +--- linux-2.6.32.46/fs/ext4/mballoc.c 2011-06-25 12:55:34.000000000 -040= 0 ++++ linux-2.6.32.46/fs/ext4/mballoc.c 2011-06-25 12:56:37.000000000 -040= 0 @@ -1755,7 +1755,7 @@ void ext4_mb_simple_scan_group(struct ex BUG_ON(ac->ac_b_ex.fe_len !=3D ac->ac_g_ex.fe_len); =20 @@ -45183,9 +45219,9 @@ diff -urNp linux-2.6.32.48/fs/ext4/mballoc.c linu= x-2.6.32.48/fs/ext4/mballoc.c =20 if (ac) { ac->ac_sb =3D sb; -diff -urNp linux-2.6.32.48/fs/ext4/super.c linux-2.6.32.48/fs/ext4/super= .c ---- linux-2.6.32.48/fs/ext4/super.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/ext4/super.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ext4/super.c linux-2.6.32.46/fs/ext4/super= .c +--- linux-2.6.32.46/fs/ext4/super.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ext4/super.c 2011-04-17 15:56:46.000000000 -0400 @@ -2287,7 +2287,7 @@ static void ext4_sb_release(struct kobje } =20 @@ -45195,9 +45231,9 @@ diff -urNp linux-2.6.32.48/fs/ext4/super.c linux-= 2.6.32.48/fs/ext4/super.c .show =3D ext4_attr_show, .store =3D ext4_attr_store, }; -diff -urNp linux-2.6.32.48/fs/fcntl.c linux-2.6.32.48/fs/fcntl.c ---- linux-2.6.32.48/fs/fcntl.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/fcntl.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/fcntl.c linux-2.6.32.46/fs/fcntl.c +--- linux-2.6.32.46/fs/fcntl.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/fcntl.c 2011-10-06 09:37:14.000000000 -0400 @@ -223,6 +223,11 @@ int __f_setown(struct file *filp, struct if (err) return err; @@ -45236,9 +45272,9 @@ diff -urNp linux-2.6.32.48/fs/fcntl.c linux-2.6.3= 2.48/fs/fcntl.c if (arg >=3D current->signal->rlim[RLIMIT_NOFILE].rlim_cur) break; err =3D alloc_fd(arg, cmd =3D=3D F_DUPFD_CLOEXEC ? O_CLOEXEC : 0); -diff -urNp linux-2.6.32.48/fs/fifo.c linux-2.6.32.48/fs/fifo.c ---- linux-2.6.32.48/fs/fifo.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/fifo.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/fifo.c linux-2.6.32.46/fs/fifo.c +--- linux-2.6.32.46/fs/fifo.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/fifo.c 2011-04-17 15:56:46.000000000 -0400 @@ -59,10 +59,10 @@ static int fifo_open(struct inode *inode */ filp->f_op =3D &read_pipefifo_fops; @@ -45309,9 +45345,9 @@ diff -urNp linux-2.6.32.48/fs/fifo.c linux-2.6.32= .48/fs/fifo.c free_pipe_info(inode); =20 err_nocleanup: -diff -urNp linux-2.6.32.48/fs/file.c linux-2.6.32.48/fs/file.c ---- linux-2.6.32.48/fs/file.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/file.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/file.c linux-2.6.32.46/fs/file.c +--- linux-2.6.32.46/fs/file.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/file.c 2011-04-17 15:56:46.000000000 -0400 @@ -14,6 +14,7 @@ #include #include @@ -45329,9 +45365,9 @@ diff -urNp linux-2.6.32.48/fs/file.c linux-2.6.32= .48/fs/file.c if (nr >=3D current->signal->rlim[RLIMIT_NOFILE].rlim_cur) return -EMFILE; =20 -diff -urNp linux-2.6.32.48/fs/filesystems.c linux-2.6.32.48/fs/filesyste= ms.c ---- linux-2.6.32.48/fs/filesystems.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/filesystems.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/filesystems.c linux-2.6.32.46/fs/filesyste= ms.c +--- linux-2.6.32.46/fs/filesystems.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/filesystems.c 2011-04-17 15:56:46.000000000 -0400 @@ -272,7 +272,12 @@ struct file_system_type *get_fs_type(con int len =3D dot ? dot - name : strlen(name); =20 @@ -45345,9 +45381,9 @@ diff -urNp linux-2.6.32.48/fs/filesystems.c linux= -2.6.32.48/fs/filesystems.c fs =3D __get_fs_type(name, len); =20 if (dot && fs && !(fs->fs_flags & FS_HAS_SUBTYPE)) { -diff -urNp linux-2.6.32.48/fs/fscache/cookie.c linux-2.6.32.48/fs/fscach= e/cookie.c ---- linux-2.6.32.48/fs/fscache/cookie.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/fs/fscache/cookie.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/fscache/cookie.c linux-2.6.32.46/fs/fscach= e/cookie.c +--- linux-2.6.32.46/fs/fscache/cookie.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/fscache/cookie.c 2011-05-04 17:56:28.000000000 -0= 400 @@ -68,11 +68,11 @@ struct fscache_cookie *__fscache_acquire parent ? (char *) parent->def->name : "", def->name, netfs_data); @@ -45466,9 +45502,9 @@ diff -urNp linux-2.6.32.48/fs/fscache/cookie.c li= nux-2.6.32.48/fs/fscache/cookie wait_on_bit(&cookie->flags, FSCACHE_COOKIE_CREATING, fscache_wait_bit, TASK_UNINTERRUPTIBLE); } -diff -urNp linux-2.6.32.48/fs/fscache/internal.h linux-2.6.32.48/fs/fsca= che/internal.h ---- linux-2.6.32.48/fs/fscache/internal.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/fs/fscache/internal.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/fs/fscache/internal.h linux-2.6.32.46/fs/fsca= che/internal.h +--- linux-2.6.32.46/fs/fscache/internal.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/fs/fscache/internal.h 2011-05-04 17:56:28.000000000 = -0400 @@ -136,94 +136,94 @@ extern void fscache_proc_cleanup(void); extern atomic_t fscache_n_ops_processed[FSCACHE_MAX_THREADS]; extern atomic_t fscache_n_objs_processed[FSCACHE_MAX_THREADS]; @@ -45672,9 +45708,9 @@ diff -urNp linux-2.6.32.48/fs/fscache/internal.h = linux-2.6.32.48/fs/fscache/inte #define fscache_stat_d(stat) do {} while (0) #endif =20 -diff -urNp linux-2.6.32.48/fs/fscache/object.c linux-2.6.32.48/fs/fscach= e/object.c ---- linux-2.6.32.48/fs/fscache/object.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/fs/fscache/object.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/fscache/object.c linux-2.6.32.46/fs/fscach= e/object.c +--- linux-2.6.32.46/fs/fscache/object.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/fscache/object.c 2011-05-04 17:56:28.000000000 -0= 400 @@ -144,7 +144,7 @@ static void fscache_object_state_machine /* update the object metadata on disk */ case FSCACHE_OBJECT_UPDATING: @@ -45786,9 +45822,9 @@ diff -urNp linux-2.6.32.48/fs/fscache/object.c li= nux-2.6.32.48/fs/fscache/object break; =20 default: -diff -urNp linux-2.6.32.48/fs/fscache/operation.c linux-2.6.32.48/fs/fsc= ache/operation.c ---- linux-2.6.32.48/fs/fscache/operation.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/fs/fscache/operation.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/fs/fscache/operation.c linux-2.6.32.46/fs/fsc= ache/operation.c +--- linux-2.6.32.46/fs/fscache/operation.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/fs/fscache/operation.c 2011-05-04 17:56:28.000000000= -0400 @@ -16,7 +16,7 @@ #include #include "internal.h" @@ -45904,9 +45940,9 @@ diff -urNp linux-2.6.32.48/fs/fscache/operation.c= linux-2.6.32.48/fs/fscache/ope =20 ASSERTCMP(atomic_read(&op->usage), =3D=3D, 0); =20 -diff -urNp linux-2.6.32.48/fs/fscache/page.c linux-2.6.32.48/fs/fscache/= page.c ---- linux-2.6.32.48/fs/fscache/page.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/fs/fscache/page.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/fscache/page.c linux-2.6.32.46/fs/fscache/= page.c +--- linux-2.6.32.46/fs/fscache/page.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/fscache/page.c 2011-05-04 17:56:28.000000000 -040= 0 @@ -59,7 +59,7 @@ bool __fscache_maybe_release_page(struct val =3D radix_tree_lookup(&cookie->stores, page->index); if (!val) { @@ -46290,9 +46326,9 @@ diff -urNp linux-2.6.32.48/fs/fscache/page.c linu= x-2.6.32.48/fs/fscache/page.c #endif =20 for (loop =3D 0; loop < pagevec->nr; loop++) { -diff -urNp linux-2.6.32.48/fs/fscache/stats.c linux-2.6.32.48/fs/fscache= /stats.c ---- linux-2.6.32.48/fs/fscache/stats.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/fs/fscache/stats.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/fscache/stats.c linux-2.6.32.46/fs/fscache= /stats.c +--- linux-2.6.32.46/fs/fscache/stats.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/fscache/stats.c 2011-05-04 17:56:28.000000000 -04= 00 @@ -18,95 +18,95 @@ /* * operation counters @@ -46668,9 +46704,9 @@ diff -urNp linux-2.6.32.48/fs/fscache/stats.c lin= ux-2.6.32.48/fs/fscache/stats.c =20 seq_printf(m, "CacheOp: alo=3D%d luo=3D%d luc=3D%d gro=3D%d\n", atomic_read(&fscache_n_cop_alloc_object), -diff -urNp linux-2.6.32.48/fs/fs_struct.c linux-2.6.32.48/fs/fs_struct.c ---- linux-2.6.32.48/fs/fs_struct.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/fs_struct.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/fs_struct.c linux-2.6.32.46/fs/fs_struct.c +--- linux-2.6.32.46/fs/fs_struct.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/fs_struct.c 2011-04-17 15:56:46.000000000 -0400 @@ -4,6 +4,7 @@ #include #include @@ -46750,9 +46786,9 @@ diff -urNp linux-2.6.32.48/fs/fs_struct.c linux-2= .6.32.48/fs/fs_struct.c write_unlock(&fs->lock); =20 task_unlock(current); -diff -urNp linux-2.6.32.48/fs/fuse/cuse.c linux-2.6.32.48/fs/fuse/cuse.c ---- linux-2.6.32.48/fs/fuse/cuse.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/fuse/cuse.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/fuse/cuse.c linux-2.6.32.46/fs/fuse/cuse.c +--- linux-2.6.32.46/fs/fuse/cuse.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/fuse/cuse.c 2011-08-05 20:33:55.000000000 -0400 @@ -576,10 +576,12 @@ static int __init cuse_init(void) INIT_LIST_HEAD(&cuse_conntbl[i]); =20 @@ -46770,9 +46806,9 @@ diff -urNp linux-2.6.32.48/fs/fuse/cuse.c linux-2= .6.32.48/fs/fuse/cuse.c =20 cuse_class =3D class_create(THIS_MODULE, "cuse"); if (IS_ERR(cuse_class)) -diff -urNp linux-2.6.32.48/fs/fuse/dev.c linux-2.6.32.48/fs/fuse/dev.c ---- linux-2.6.32.48/fs/fuse/dev.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/fuse/dev.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/fuse/dev.c linux-2.6.32.46/fs/fuse/dev.c +--- linux-2.6.32.46/fs/fuse/dev.c 2011-08-29 22:24:44.000000000 -0400 ++++ linux-2.6.32.46/fs/fuse/dev.c 2011-08-29 22:25:07.000000000 -0400 @@ -885,7 +885,7 @@ static int fuse_notify_inval_entry(struc { struct fuse_notify_inval_entry_out outarg; @@ -46816,9 +46852,9 @@ diff -urNp linux-2.6.32.48/fs/fuse/dev.c linux-2.= 6.32.48/fs/fuse/dev.c return err; } =20 -diff -urNp linux-2.6.32.48/fs/fuse/dir.c linux-2.6.32.48/fs/fuse/dir.c ---- linux-2.6.32.48/fs/fuse/dir.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/fuse/dir.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/fuse/dir.c linux-2.6.32.46/fs/fuse/dir.c +--- linux-2.6.32.46/fs/fuse/dir.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/fuse/dir.c 2011-04-17 15:56:46.000000000 -0400 @@ -1127,7 +1127,7 @@ static char *read_link(struct dentry *de return link; } @@ -46828,9 +46864,9 @@ diff -urNp linux-2.6.32.48/fs/fuse/dir.c linux-2.= 6.32.48/fs/fuse/dir.c { if (!IS_ERR(link)) free_page((unsigned long) link); -diff -urNp linux-2.6.32.48/fs/gfs2/ops_inode.c linux-2.6.32.48/fs/gfs2/o= ps_inode.c ---- linux-2.6.32.48/fs/gfs2/ops_inode.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/fs/gfs2/ops_inode.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/gfs2/ops_inode.c linux-2.6.32.46/fs/gfs2/o= ps_inode.c +--- linux-2.6.32.46/fs/gfs2/ops_inode.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/gfs2/ops_inode.c 2011-05-16 21:46:57.000000000 -0= 400 @@ -752,6 +752,8 @@ static int gfs2_rename(struct inode *odi unsigned int x; int error; @@ -46840,9 +46876,9 @@ diff -urNp linux-2.6.32.48/fs/gfs2/ops_inode.c li= nux-2.6.32.48/fs/gfs2/ops_inode if (ndentry->d_inode) { nip =3D GFS2_I(ndentry->d_inode); if (ip =3D=3D nip) -diff -urNp linux-2.6.32.48/fs/gfs2/sys.c linux-2.6.32.48/fs/gfs2/sys.c ---- linux-2.6.32.48/fs/gfs2/sys.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/gfs2/sys.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/gfs2/sys.c linux-2.6.32.46/fs/gfs2/sys.c +--- linux-2.6.32.46/fs/gfs2/sys.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/gfs2/sys.c 2011-04-17 15:56:46.000000000 -0400 @@ -49,7 +49,7 @@ static ssize_t gfs2_attr_store(struct ko return a->store ? a->store(sdp, buf, len) : len; } @@ -46861,9 +46897,9 @@ diff -urNp linux-2.6.32.48/fs/gfs2/sys.c linux-2.= 6.32.48/fs/gfs2/sys.c .uevent =3D gfs2_uevent, }; =20 -diff -urNp linux-2.6.32.48/fs/hfsplus/catalog.c linux-2.6.32.48/fs/hfspl= us/catalog.c ---- linux-2.6.32.48/fs/hfsplus/catalog.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/hfsplus/catalog.c 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/hfsplus/catalog.c linux-2.6.32.46/fs/hfspl= us/catalog.c +--- linux-2.6.32.46/fs/hfsplus/catalog.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/hfsplus/catalog.c 2011-05-16 21:46:57.000000000 -= 0400 @@ -157,6 +157,8 @@ int hfsplus_find_cat(struct super_block=20 int err; u16 type; @@ -46891,9 +46927,9 @@ diff -urNp linux-2.6.32.48/fs/hfsplus/catalog.c l= inux-2.6.32.48/fs/hfsplus/catal dprint(DBG_CAT_MOD, "rename_cat: %u - %lu,%s - %lu,%s\n", cnid, src_di= r->i_ino, src_name->name, dst_dir->i_ino, dst_name->name); sb =3D src_dir->i_sb; -diff -urNp linux-2.6.32.48/fs/hfsplus/dir.c linux-2.6.32.48/fs/hfsplus/d= ir.c ---- linux-2.6.32.48/fs/hfsplus/dir.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/hfsplus/dir.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/hfsplus/dir.c linux-2.6.32.46/fs/hfsplus/d= ir.c +--- linux-2.6.32.46/fs/hfsplus/dir.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/hfsplus/dir.c 2011-05-16 21:46:57.000000000 -0400 @@ -121,6 +121,8 @@ static int hfsplus_readdir(struct file * struct hfsplus_readdir_data *rd; u16 type; @@ -46903,9 +46939,9 @@ diff -urNp linux-2.6.32.48/fs/hfsplus/dir.c linux= -2.6.32.48/fs/hfsplus/dir.c if (filp->f_pos >=3D inode->i_size) return 0; =20 -diff -urNp linux-2.6.32.48/fs/hfsplus/inode.c linux-2.6.32.48/fs/hfsplus= /inode.c ---- linux-2.6.32.48/fs/hfsplus/inode.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/fs/hfsplus/inode.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/hfsplus/inode.c linux-2.6.32.46/fs/hfsplus= /inode.c +--- linux-2.6.32.46/fs/hfsplus/inode.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/hfsplus/inode.c 2011-05-16 21:46:57.000000000 -04= 00 @@ -399,6 +399,8 @@ int hfsplus_cat_read_inode(struct inode=20 int res =3D 0; u16 type; @@ -46924,9 +46960,9 @@ diff -urNp linux-2.6.32.48/fs/hfsplus/inode.c lin= ux-2.6.32.48/fs/hfsplus/inode.c if (HFSPLUS_IS_RSRC(inode)) main_inode =3D HFSPLUS_I(inode).rsrc_inode; =20 -diff -urNp linux-2.6.32.48/fs/hfsplus/ioctl.c linux-2.6.32.48/fs/hfsplus= /ioctl.c ---- linux-2.6.32.48/fs/hfsplus/ioctl.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/fs/hfsplus/ioctl.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/hfsplus/ioctl.c linux-2.6.32.46/fs/hfsplus= /ioctl.c +--- linux-2.6.32.46/fs/hfsplus/ioctl.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/hfsplus/ioctl.c 2011-05-16 21:46:57.000000000 -04= 00 @@ -101,6 +101,8 @@ int hfsplus_setxattr(struct dentry *dent struct hfsplus_cat_file *file; int res; @@ -46945,9 +46981,9 @@ diff -urNp linux-2.6.32.48/fs/hfsplus/ioctl.c lin= ux-2.6.32.48/fs/hfsplus/ioctl.c if (!S_ISREG(inode->i_mode) || HFSPLUS_IS_RSRC(inode)) return -EOPNOTSUPP; =20 -diff -urNp linux-2.6.32.48/fs/hfsplus/super.c linux-2.6.32.48/fs/hfsplus= /super.c ---- linux-2.6.32.48/fs/hfsplus/super.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/fs/hfsplus/super.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/hfsplus/super.c linux-2.6.32.46/fs/hfsplus= /super.c +--- linux-2.6.32.46/fs/hfsplus/super.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/hfsplus/super.c 2011-05-16 21:46:57.000000000 -04= 00 @@ -312,6 +312,8 @@ static int hfsplus_fill_super(struct sup struct nls_table *nls =3D NULL; int err =3D -EINVAL; @@ -46957,9 +46993,9 @@ diff -urNp linux-2.6.32.48/fs/hfsplus/super.c lin= ux-2.6.32.48/fs/hfsplus/super.c sbi =3D kzalloc(sizeof(*sbi), GFP_KERNEL); if (!sbi) return -ENOMEM; -diff -urNp linux-2.6.32.48/fs/hugetlbfs/inode.c linux-2.6.32.48/fs/huget= lbfs/inode.c ---- linux-2.6.32.48/fs/hugetlbfs/inode.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/hugetlbfs/inode.c 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/hugetlbfs/inode.c linux-2.6.32.46/fs/huget= lbfs/inode.c +--- linux-2.6.32.46/fs/hugetlbfs/inode.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/hugetlbfs/inode.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -909,7 +909,7 @@ static struct file_system_type hugetlbfs .kill_sb =3D kill_litter_super, }; @@ -46969,9 +47005,9 @@ diff -urNp linux-2.6.32.48/fs/hugetlbfs/inode.c l= inux-2.6.32.48/fs/hugetlbfs/ino =20 static int can_do_hugetlb_shm(void) { -diff -urNp linux-2.6.32.48/fs/ioctl.c linux-2.6.32.48/fs/ioctl.c ---- linux-2.6.32.48/fs/ioctl.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/ioctl.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ioctl.c linux-2.6.32.46/fs/ioctl.c +--- linux-2.6.32.46/fs/ioctl.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ioctl.c 2011-04-17 15:56:46.000000000 -0400 @@ -97,7 +97,7 @@ int fiemap_fill_next_extent(struct fiema u64 phys, u64 len, u32 flags) { @@ -46999,9 +47035,9 @@ diff -urNp linux-2.6.32.48/fs/ioctl.c linux-2.6.3= 2.48/fs/ioctl.c error =3D -EFAULT; =20 return error; -diff -urNp linux-2.6.32.48/fs/jbd/checkpoint.c linux-2.6.32.48/fs/jbd/ch= eckpoint.c ---- linux-2.6.32.48/fs/jbd/checkpoint.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/fs/jbd/checkpoint.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/jbd/checkpoint.c linux-2.6.32.46/fs/jbd/ch= eckpoint.c +--- linux-2.6.32.46/fs/jbd/checkpoint.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/jbd/checkpoint.c 2011-05-16 21:46:57.000000000 -0= 400 @@ -348,6 +348,8 @@ int log_do_checkpoint(journal_t *journal tid_t this_tid; int result; @@ -47011,9 +47047,9 @@ diff -urNp linux-2.6.32.48/fs/jbd/checkpoint.c li= nux-2.6.32.48/fs/jbd/checkpoint jbd_debug(1, "Start checkpoint\n"); =20 /* -diff -urNp linux-2.6.32.48/fs/jffs2/compr_rtime.c linux-2.6.32.48/fs/jff= s2/compr_rtime.c ---- linux-2.6.32.48/fs/jffs2/compr_rtime.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/fs/jffs2/compr_rtime.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/fs/jffs2/compr_rtime.c linux-2.6.32.46/fs/jff= s2/compr_rtime.c +--- linux-2.6.32.46/fs/jffs2/compr_rtime.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/fs/jffs2/compr_rtime.c 2011-05-16 21:46:57.000000000= -0400 @@ -37,6 +37,8 @@ static int jffs2_rtime_compress(unsigned int outpos =3D 0; int pos=3D0; @@ -47032,9 +47068,9 @@ diff -urNp linux-2.6.32.48/fs/jffs2/compr_rtime.c= linux-2.6.32.48/fs/jffs2/compr memset(positions,0,sizeof(positions)); =20 while (outposflags & JFFS2_SB_FLAG_BUILDING)); @@ -47082,9 +47118,9 @@ diff -urNp linux-2.6.32.48/fs/jffs2/xattr.c linux= -2.6.32.48/fs/jffs2/xattr.c /* Phase.1 : Merge same xref */ for (i=3D0; i < XREF_TMPHASH_SIZE; i++) xref_tmphash[i] =3D NULL; -diff -urNp linux-2.6.32.48/fs/jfs/super.c linux-2.6.32.48/fs/jfs/super.c ---- linux-2.6.32.48/fs/jfs/super.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/jfs/super.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/jfs/super.c linux-2.6.32.46/fs/jfs/super.c +--- linux-2.6.32.46/fs/jfs/super.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/jfs/super.c 2011-06-07 18:06:04.000000000 -0400 @@ -793,7 +793,7 @@ static int __init init_jfs_fs(void) =20 jfs_inode_cachep =3D @@ -47094,9 +47130,9 @@ diff -urNp linux-2.6.32.48/fs/jfs/super.c linux-2= .6.32.48/fs/jfs/super.c init_once); if (jfs_inode_cachep =3D=3D NULL) return -ENOMEM; -diff -urNp linux-2.6.32.48/fs/Kconfig.binfmt linux-2.6.32.48/fs/Kconfig.= binfmt ---- linux-2.6.32.48/fs/Kconfig.binfmt 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/fs/Kconfig.binfmt 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/Kconfig.binfmt linux-2.6.32.46/fs/Kconfig.= binfmt +--- linux-2.6.32.46/fs/Kconfig.binfmt 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/Kconfig.binfmt 2011-04-17 15:56:46.000000000 -040= 0 @@ -86,7 +86,7 @@ config HAVE_AOUT =20 config BINFMT_AOUT @@ -47106,9 +47142,9 @@ diff -urNp linux-2.6.32.48/fs/Kconfig.binfmt linu= x-2.6.32.48/fs/Kconfig.binfmt ---help--- A.out (Assembler.OUTput) is a set of formats for libraries and executables used in the earliest versions of UNIX. Linux used -diff -urNp linux-2.6.32.48/fs/libfs.c linux-2.6.32.48/fs/libfs.c ---- linux-2.6.32.48/fs/libfs.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/libfs.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/libfs.c linux-2.6.32.46/fs/libfs.c +--- linux-2.6.32.46/fs/libfs.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/libfs.c 2011-05-11 18:25:15.000000000 -0400 @@ -157,12 +157,20 @@ int dcache_readdir(struct file * filp, v =20 for (p=3Dq->next; p !=3D &dentry->d_subdirs; p=3Dp->next) { @@ -47131,9 +47167,9 @@ diff -urNp linux-2.6.32.48/fs/libfs.c linux-2.6.3= 2.48/fs/libfs.c next->d_name.len, filp->f_pos,=20 next->d_inode->i_ino,=20 dt_type(next->d_inode)) < 0) -diff -urNp linux-2.6.32.48/fs/lockd/clntproc.c linux-2.6.32.48/fs/lockd/= clntproc.c ---- linux-2.6.32.48/fs/lockd/clntproc.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/fs/lockd/clntproc.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/lockd/clntproc.c linux-2.6.32.46/fs/lockd/= clntproc.c +--- linux-2.6.32.46/fs/lockd/clntproc.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/lockd/clntproc.c 2011-05-16 21:46:57.000000000 -0= 400 @@ -36,11 +36,11 @@ static const struct rpc_call_ops nlmclnt /* * Cookie counter for NLM requests @@ -47157,9 +47193,9 @@ diff -urNp linux-2.6.32.48/fs/lockd/clntproc.c li= nux-2.6.32.48/fs/lockd/clntproc req =3D &reqst; memset(req, 0, sizeof(*req)); locks_init_lock(&req->a_args.lock.fl); -diff -urNp linux-2.6.32.48/fs/lockd/svc.c linux-2.6.32.48/fs/lockd/svc.c ---- linux-2.6.32.48/fs/lockd/svc.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/lockd/svc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/lockd/svc.c linux-2.6.32.46/fs/lockd/svc.c +--- linux-2.6.32.46/fs/lockd/svc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/lockd/svc.c 2011-04-17 15:56:46.000000000 -0400 @@ -43,7 +43,7 @@ =20 static struct svc_program nlmsvc_program; @@ -47169,9 +47205,9 @@ diff -urNp linux-2.6.32.48/fs/lockd/svc.c linux-2= .6.32.48/fs/lockd/svc.c EXPORT_SYMBOL_GPL(nlmsvc_ops); =20 static DEFINE_MUTEX(nlmsvc_mutex); -diff -urNp linux-2.6.32.48/fs/locks.c linux-2.6.32.48/fs/locks.c ---- linux-2.6.32.48/fs/locks.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/locks.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/locks.c linux-2.6.32.46/fs/locks.c +--- linux-2.6.32.46/fs/locks.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/locks.c 2011-07-06 19:47:11.000000000 -0400 @@ -145,10 +145,28 @@ static LIST_HEAD(blocked_list); =20 static struct kmem_cache *filelock_cache __read_mostly; @@ -47242,9 +47278,9 @@ diff -urNp linux-2.6.32.48/fs/locks.c linux-2.6.3= 2.48/fs/locks.c } =20 lock_kernel(); -diff -urNp linux-2.6.32.48/fs/mbcache.c linux-2.6.32.48/fs/mbcache.c ---- linux-2.6.32.48/fs/mbcache.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/mbcache.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/mbcache.c linux-2.6.32.46/fs/mbcache.c +--- linux-2.6.32.46/fs/mbcache.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/mbcache.c 2011-08-05 20:33:55.000000000 -0400 @@ -266,9 +266,9 @@ mb_cache_create(const char *name, struct if (!cache) goto fail; @@ -47257,9 +47293,9 @@ diff -urNp linux-2.6.32.48/fs/mbcache.c linux-2.6= .32.48/fs/mbcache.c atomic_set(&cache->c_entry_count, 0); cache->c_bucket_bits =3D bucket_bits; #ifdef MB_CACHE_INDEXES_COUNT -diff -urNp linux-2.6.32.48/fs/namei.c linux-2.6.32.48/fs/namei.c ---- linux-2.6.32.48/fs/namei.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/namei.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/namei.c linux-2.6.32.46/fs/namei.c +--- linux-2.6.32.46/fs/namei.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/namei.c 2011-10-19 12:12:56.000000000 -0400 @@ -224,14 +224,6 @@ int generic_permission(struct inode *ino return ret; =20 @@ -47712,9 +47748,9 @@ diff -urNp linux-2.6.32.48/fs/namei.c linux-2.6.3= 2.48/fs/namei.c len =3D -EFAULT; out: return len; -diff -urNp linux-2.6.32.48/fs/namespace.c linux-2.6.32.48/fs/namespace.c ---- linux-2.6.32.48/fs/namespace.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/namespace.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/namespace.c linux-2.6.32.46/fs/namespace.c +--- linux-2.6.32.46/fs/namespace.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/namespace.c 2011-04-17 15:56:46.000000000 -0400 @@ -1083,6 +1083,9 @@ static int do_umount(struct vfsmount *mn if (!(sb->s_flags & MS_RDONLY)) retval =3D do_remount_sb(sb, MS_RDONLY, NULL, 0); @@ -47775,9 +47811,9 @@ diff -urNp linux-2.6.32.48/fs/namespace.c linux-2= .6.32.48/fs/namespace.c read_lock(¤t->fs->lock); root =3D current->fs->root; path_get(¤t->fs->root); -diff -urNp linux-2.6.32.48/fs/ncpfs/dir.c linux-2.6.32.48/fs/ncpfs/dir.c ---- linux-2.6.32.48/fs/ncpfs/dir.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/ncpfs/dir.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ncpfs/dir.c linux-2.6.32.46/fs/ncpfs/dir.c +--- linux-2.6.32.46/fs/ncpfs/dir.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ncpfs/dir.c 2011-05-16 21:46:57.000000000 -0400 @@ -275,6 +275,8 @@ __ncp_lookup_validate(struct dentry *den int res, val =3D 0, len; __u8 __name[NCP_MAXPATHLEN + 1]; @@ -47837,9 +47873,9 @@ diff -urNp linux-2.6.32.48/fs/ncpfs/dir.c linux-2= .6.32.48/fs/ncpfs/dir.c DPRINTK("ncp_rename: %s/%s to %s/%s\n", old_dentry->d_parent->d_name.name, old_dentry->d_name.name, new_dentry->d_parent->d_name.name, new_dentry->d_name.name); -diff -urNp linux-2.6.32.48/fs/ncpfs/inode.c linux-2.6.32.48/fs/ncpfs/ino= de.c ---- linux-2.6.32.48/fs/ncpfs/inode.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/ncpfs/inode.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ncpfs/inode.c linux-2.6.32.46/fs/ncpfs/ino= de.c +--- linux-2.6.32.46/fs/ncpfs/inode.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ncpfs/inode.c 2011-05-16 21:46:57.000000000 -0400 @@ -445,6 +445,8 @@ static int ncp_fill_super(struct super_b #endif struct ncp_entry_info finfo; @@ -47849,9 +47885,9 @@ diff -urNp linux-2.6.32.48/fs/ncpfs/inode.c linux= -2.6.32.48/fs/ncpfs/inode.c data.wdog_pid =3D NULL; server =3D kzalloc(sizeof(struct ncp_server), GFP_KERNEL); if (!server) -diff -urNp linux-2.6.32.48/fs/nfs/inode.c linux-2.6.32.48/fs/nfs/inode.c ---- linux-2.6.32.48/fs/nfs/inode.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/nfs/inode.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/nfs/inode.c linux-2.6.32.46/fs/nfs/inode.c +--- linux-2.6.32.46/fs/nfs/inode.c 2011-05-10 22:12:01.000000000 -0400 ++++ linux-2.6.32.46/fs/nfs/inode.c 2011-07-06 19:53:33.000000000 -0400 @@ -156,7 +156,7 @@ static void nfs_zap_caches_locked(struct nfsi->attrtimeo =3D NFS_MINATTRTIMEO(inode); nfsi->attrtimeo_timestamp =3D jiffies; @@ -47881,9 +47917,9 @@ diff -urNp linux-2.6.32.48/fs/nfs/inode.c linux-2= .6.32.48/fs/nfs/inode.c } =20 void nfs_fattr_init(struct nfs_fattr *fattr) -diff -urNp linux-2.6.32.48/fs/nfsd/lockd.c linux-2.6.32.48/fs/nfsd/lockd= .c ---- linux-2.6.32.48/fs/nfsd/lockd.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/nfsd/lockd.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/nfsd/lockd.c linux-2.6.32.46/fs/nfsd/lockd= .c +--- linux-2.6.32.46/fs/nfsd/lockd.c 2011-04-17 17:00:52.000000000 -0400 ++++ linux-2.6.32.46/fs/nfsd/lockd.c 2011-04-17 17:03:15.000000000 -0400 @@ -66,7 +66,7 @@ nlm_fclose(struct file *filp) fput(filp); } @@ -47893,10 +47929,10 @@ diff -urNp linux-2.6.32.48/fs/nfsd/lockd.c linu= x-2.6.32.48/fs/nfsd/lockd.c .fopen =3D nlm_fopen, /* open file for locking */ .fclose =3D nlm_fclose, /* close file */ }; -diff -urNp linux-2.6.32.48/fs/nfsd/nfs4state.c linux-2.6.32.48/fs/nfsd/n= fs4state.c ---- linux-2.6.32.48/fs/nfsd/nfs4state.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/fs/nfsd/nfs4state.c 2011-11-12 12:46:47.000000000 -0= 500 -@@ -3459,6 +3459,8 @@ nfsd4_lock(struct svc_rqst *rqstp, struc +diff -urNp linux-2.6.32.46/fs/nfsd/nfs4state.c linux-2.6.32.46/fs/nfsd/n= fs4state.c +--- linux-2.6.32.46/fs/nfsd/nfs4state.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/nfsd/nfs4state.c 2011-05-16 21:46:57.000000000 -0= 400 +@@ -3457,6 +3457,8 @@ nfsd4_lock(struct svc_rqst *rqstp, struc unsigned int cmd; int err; =20 @@ -47905,9 +47941,9 @@ diff -urNp linux-2.6.32.48/fs/nfsd/nfs4state.c li= nux-2.6.32.48/fs/nfsd/nfs4state dprintk("NFSD: nfsd4_lock: start=3D%Ld length=3D%Ld\n", (long long) lock->lk_offset, (long long) lock->lk_length); -diff -urNp linux-2.6.32.48/fs/nfsd/nfs4xdr.c linux-2.6.32.48/fs/nfsd/nfs= 4xdr.c ---- linux-2.6.32.48/fs/nfsd/nfs4xdr.c 2011-11-12 12:44:30.000000000 -050= 0 -+++ linux-2.6.32.48/fs/nfsd/nfs4xdr.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/nfsd/nfs4xdr.c linux-2.6.32.46/fs/nfsd/nfs= 4xdr.c +--- linux-2.6.32.46/fs/nfsd/nfs4xdr.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/nfsd/nfs4xdr.c 2011-05-16 21:46:57.000000000 -040= 0 @@ -1751,6 +1751,8 @@ nfsd4_encode_fattr(struct svc_fh *fhp, s struct nfsd4_compoundres *resp =3D rqstp->rq_resp; u32 minorversion =3D resp->cstate.minorversion; @@ -47917,9 +47953,9 @@ diff -urNp linux-2.6.32.48/fs/nfsd/nfs4xdr.c linu= x-2.6.32.48/fs/nfsd/nfs4xdr.c BUG_ON(bmval1 & NFSD_WRITEONLY_ATTRS_WORD1); BUG_ON(bmval0 & ~nfsd_suppattrs0(minorversion)); BUG_ON(bmval1 & ~nfsd_suppattrs1(minorversion)); -diff -urNp linux-2.6.32.48/fs/nfsd/vfs.c linux-2.6.32.48/fs/nfsd/vfs.c ---- linux-2.6.32.48/fs/nfsd/vfs.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/nfsd/vfs.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/nfsd/vfs.c linux-2.6.32.46/fs/nfsd/vfs.c +--- linux-2.6.32.46/fs/nfsd/vfs.c 2011-05-10 22:12:01.000000000 -0400 ++++ linux-2.6.32.46/fs/nfsd/vfs.c 2011-10-06 09:37:14.000000000 -0400 @@ -937,7 +937,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, st } else { oldfs =3D get_fs(); @@ -47947,9 +47983,9 @@ diff -urNp linux-2.6.32.48/fs/nfsd/vfs.c linux-2.= 6.32.48/fs/nfsd/vfs.c set_fs(oldfs); =20 if (host_err < 0) -diff -urNp linux-2.6.32.48/fs/nilfs2/ioctl.c linux-2.6.32.48/fs/nilfs2/i= octl.c ---- linux-2.6.32.48/fs/nilfs2/ioctl.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/fs/nilfs2/ioctl.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/nilfs2/ioctl.c linux-2.6.32.46/fs/nilfs2/i= octl.c +--- linux-2.6.32.46/fs/nilfs2/ioctl.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/nilfs2/ioctl.c 2011-05-04 17:56:28.000000000 -040= 0 @@ -480,7 +480,7 @@ static int nilfs_ioctl_clean_segments(st unsigned int cmd, void __user *argp) { @@ -47959,9 +47995,9 @@ diff -urNp linux-2.6.32.48/fs/nilfs2/ioctl.c linu= x-2.6.32.48/fs/nilfs2/ioctl.c sizeof(struct nilfs_vdesc), sizeof(struct nilfs_period), sizeof(__u64), -diff -urNp linux-2.6.32.48/fs/notify/dnotify/dnotify.c linux-2.6.32.48/f= s/notify/dnotify/dnotify.c ---- linux-2.6.32.48/fs/notify/dnotify/dnotify.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/fs/notify/dnotify/dnotify.c 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/fs/notify/dnotify/dnotify.c linux-2.6.32.46/f= s/notify/dnotify/dnotify.c +--- linux-2.6.32.46/fs/notify/dnotify/dnotify.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/fs/notify/dnotify/dnotify.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -173,7 +173,7 @@ static void dnotify_free_mark(struct fsn kmem_cache_free(dnotify_mark_entry_cache, dnentry); } @@ -47971,9 +48007,9 @@ diff -urNp linux-2.6.32.48/fs/notify/dnotify/dnot= ify.c linux-2.6.32.48/fs/notify .handle_event =3D dnotify_handle_event, .should_send_event =3D dnotify_should_send_event, .free_group_priv =3D NULL, -diff -urNp linux-2.6.32.48/fs/notify/notification.c linux-2.6.32.48/fs/n= otify/notification.c ---- linux-2.6.32.48/fs/notify/notification.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/fs/notify/notification.c 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/fs/notify/notification.c linux-2.6.32.46/fs/n= otify/notification.c +--- linux-2.6.32.46/fs/notify/notification.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/fs/notify/notification.c 2011-05-04 17:56:28.0000000= 00 -0400 @@ -57,7 +57,7 @@ static struct kmem_cache *fsnotify_event * get set to 0 so it will never get 'freed' */ @@ -47992,9 +48028,9 @@ diff -urNp linux-2.6.32.48/fs/notify/notification= .c linux-2.6.32.48/fs/notify/no } EXPORT_SYMBOL_GPL(fsnotify_get_cookie); =20 -diff -urNp linux-2.6.32.48/fs/ntfs/dir.c linux-2.6.32.48/fs/ntfs/dir.c ---- linux-2.6.32.48/fs/ntfs/dir.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/ntfs/dir.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ntfs/dir.c linux-2.6.32.46/fs/ntfs/dir.c +--- linux-2.6.32.46/fs/ntfs/dir.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ntfs/dir.c 2011-04-17 15:56:46.000000000 -0400 @@ -1328,7 +1328,7 @@ find_next_index_buffer: ia =3D (INDEX_ALLOCATION*)(kaddr + (ia_pos & ~PAGE_CACHE_MASK & ~(s64)(ndir->itype.index.block_size - 1))); @@ -48004,9 +48040,9 @@ diff -urNp linux-2.6.32.48/fs/ntfs/dir.c linux-2.= 6.32.48/fs/ntfs/dir.c ntfs_error(sb, "Out of bounds check failed. Corrupt directory " "inode 0x%lx or driver bug.", vdir->i_ino); goto err_out; -diff -urNp linux-2.6.32.48/fs/ntfs/file.c linux-2.6.32.48/fs/ntfs/file.c ---- linux-2.6.32.48/fs/ntfs/file.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/ntfs/file.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ntfs/file.c linux-2.6.32.46/fs/ntfs/file.c +--- linux-2.6.32.46/fs/ntfs/file.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ntfs/file.c 2011-04-17 15:56:46.000000000 -0400 @@ -2243,6 +2243,6 @@ const struct inode_operations ntfs_file_ #endif /* NTFS_RW */ }; @@ -48016,9 +48052,9 @@ diff -urNp linux-2.6.32.48/fs/ntfs/file.c linux-2= .6.32.48/fs/ntfs/file.c =20 -const struct inode_operations ntfs_empty_inode_ops =3D {}; +const struct inode_operations ntfs_empty_inode_ops __read_only; -diff -urNp linux-2.6.32.48/fs/ocfs2/cluster/masklog.c linux-2.6.32.48/fs= /ocfs2/cluster/masklog.c ---- linux-2.6.32.48/fs/ocfs2/cluster/masklog.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/fs/ocfs2/cluster/masklog.c 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/fs/ocfs2/cluster/masklog.c linux-2.6.32.46/fs= /ocfs2/cluster/masklog.c +--- linux-2.6.32.46/fs/ocfs2/cluster/masklog.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/fs/ocfs2/cluster/masklog.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -135,7 +135,7 @@ static ssize_t mlog_store(struct kobject return mlog_mask_store(mlog_attr->mask, buf, count); } @@ -48028,9 +48064,9 @@ diff -urNp linux-2.6.32.48/fs/ocfs2/cluster/maskl= og.c linux-2.6.32.48/fs/ocfs2/c .show =3D mlog_show, .store =3D mlog_store, }; -diff -urNp linux-2.6.32.48/fs/ocfs2/localalloc.c linux-2.6.32.48/fs/ocfs= 2/localalloc.c ---- linux-2.6.32.48/fs/ocfs2/localalloc.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/fs/ocfs2/localalloc.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/fs/ocfs2/localalloc.c linux-2.6.32.46/fs/ocfs= 2/localalloc.c +--- linux-2.6.32.46/fs/ocfs2/localalloc.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/fs/ocfs2/localalloc.c 2011-04-17 15:56:46.000000000 = -0400 @@ -1188,7 +1188,7 @@ static int ocfs2_local_alloc_slide_windo goto bail; } @@ -48040,9 +48076,9 @@ diff -urNp linux-2.6.32.48/fs/ocfs2/localalloc.c = linux-2.6.32.48/fs/ocfs2/locala =20 status =3D 0; bail: -diff -urNp linux-2.6.32.48/fs/ocfs2/namei.c linux-2.6.32.48/fs/ocfs2/nam= ei.c ---- linux-2.6.32.48/fs/ocfs2/namei.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/ocfs2/namei.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ocfs2/namei.c linux-2.6.32.46/fs/ocfs2/nam= ei.c +--- linux-2.6.32.46/fs/ocfs2/namei.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ocfs2/namei.c 2011-05-16 21:46:57.000000000 -0400 @@ -1043,6 +1043,8 @@ static int ocfs2_rename(struct inode *ol struct ocfs2_dir_lookup_result orphan_insert =3D { NULL, }; struct ocfs2_dir_lookup_result target_insert =3D { NULL, }; @@ -48052,9 +48088,9 @@ diff -urNp linux-2.6.32.48/fs/ocfs2/namei.c linux= -2.6.32.48/fs/ocfs2/namei.c /* At some point it might be nice to break this function up a * bit. */ =20 -diff -urNp linux-2.6.32.48/fs/ocfs2/ocfs2.h linux-2.6.32.48/fs/ocfs2/ocf= s2.h ---- linux-2.6.32.48/fs/ocfs2/ocfs2.h 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/ocfs2/ocfs2.h 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ocfs2/ocfs2.h linux-2.6.32.46/fs/ocfs2/ocf= s2.h +--- linux-2.6.32.46/fs/ocfs2/ocfs2.h 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ocfs2/ocfs2.h 2011-04-17 15:56:46.000000000 -0400 @@ -217,11 +217,11 @@ enum ocfs2_vol_state =20 struct ocfs2_alloc_stats @@ -48072,9 +48108,9 @@ diff -urNp linux-2.6.32.48/fs/ocfs2/ocfs2.h linux= -2.6.32.48/fs/ocfs2/ocfs2.h }; =20 enum ocfs2_local_alloc_state -diff -urNp linux-2.6.32.48/fs/ocfs2/suballoc.c linux-2.6.32.48/fs/ocfs2/= suballoc.c ---- linux-2.6.32.48/fs/ocfs2/suballoc.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/fs/ocfs2/suballoc.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/ocfs2/suballoc.c linux-2.6.32.46/fs/ocfs2/= suballoc.c +--- linux-2.6.32.46/fs/ocfs2/suballoc.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/ocfs2/suballoc.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -623,7 +623,7 @@ static int ocfs2_reserve_suballoc_bits(s mlog_errno(status); goto bail; @@ -48120,9 +48156,9 @@ diff -urNp linux-2.6.32.48/fs/ocfs2/suballoc.c li= nux-2.6.32.48/fs/ocfs2/suballoc } } if (status < 0) { -diff -urNp linux-2.6.32.48/fs/ocfs2/super.c linux-2.6.32.48/fs/ocfs2/sup= er.c ---- linux-2.6.32.48/fs/ocfs2/super.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/ocfs2/super.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/ocfs2/super.c linux-2.6.32.46/fs/ocfs2/sup= er.c +--- linux-2.6.32.46/fs/ocfs2/super.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/ocfs2/super.c 2011-04-17 15:56:46.000000000 -0400 @@ -284,11 +284,11 @@ static int ocfs2_osb_dump(struct ocfs2_s "%10s =3D> GlobalAllocs: %d LocalAllocs: %d " "SubAllocs: %d LAWinMoves: %d SAExtends: %d\n", @@ -48157,9 +48193,9 @@ diff -urNp linux-2.6.32.48/fs/ocfs2/super.c linux= -2.6.32.48/fs/ocfs2/super.c =20 /* Copy the blockcheck stats from the superblock probe */ osb->osb_ecc_stats =3D *stats; -diff -urNp linux-2.6.32.48/fs/open.c linux-2.6.32.48/fs/open.c ---- linux-2.6.32.48/fs/open.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/open.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/open.c linux-2.6.32.46/fs/open.c +--- linux-2.6.32.46/fs/open.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/open.c 2011-09-13 16:03:56.000000000 -0400 @@ -275,6 +275,10 @@ static long do_sys_truncate(const char _ error =3D locks_verify_truncate(inode, NULL, length); if (!error) @@ -48339,9 +48375,9 @@ diff -urNp linux-2.6.32.48/fs/open.c linux-2.6.32= .48/fs/open.c if (IS_ERR(f)) { put_unused_fd(fd); fd =3D PTR_ERR(f); -diff -urNp linux-2.6.32.48/fs/partitions/ldm.c linux-2.6.32.48/fs/partit= ions/ldm.c ---- linux-2.6.32.48/fs/partitions/ldm.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/fs/partitions/ldm.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/partitions/ldm.c linux-2.6.32.46/fs/partit= ions/ldm.c +--- linux-2.6.32.46/fs/partitions/ldm.c 2011-06-25 12:55:34.000000000 -0= 400 ++++ linux-2.6.32.46/fs/partitions/ldm.c 2011-06-25 12:56:37.000000000 -0= 400 @@ -1311,6 +1311,7 @@ static bool ldm_frag_add (const u8 *data ldm_error ("A VBLK claims to have %d parts.", num); return false; @@ -48359,9 +48395,9 @@ diff -urNp linux-2.6.32.48/fs/partitions/ldm.c li= nux-2.6.32.48/fs/partitions/ldm if (!f) { ldm_crit ("Out of memory."); return false; -diff -urNp linux-2.6.32.48/fs/partitions/mac.c linux-2.6.32.48/fs/partit= ions/mac.c ---- linux-2.6.32.48/fs/partitions/mac.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/fs/partitions/mac.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/partitions/mac.c linux-2.6.32.46/fs/partit= ions/mac.c +--- linux-2.6.32.46/fs/partitions/mac.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/partitions/mac.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -59,11 +59,11 @@ int mac_partition(struct parsed_partitio return 0; /* not a MacOS disk */ } @@ -48375,9 +48411,9 @@ diff -urNp linux-2.6.32.48/fs/partitions/mac.c li= nux-2.6.32.48/fs/partitions/mac for (slot =3D 1; slot <=3D blocks_in_map; ++slot) { int pos =3D slot * secsize; put_dev_sector(sect); -diff -urNp linux-2.6.32.48/fs/pipe.c linux-2.6.32.48/fs/pipe.c ---- linux-2.6.32.48/fs/pipe.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/pipe.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/pipe.c linux-2.6.32.46/fs/pipe.c +--- linux-2.6.32.46/fs/pipe.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/pipe.c 2011-04-23 13:37:17.000000000 -0400 @@ -401,9 +401,9 @@ redo: } if (bufs) /* More to do? */ @@ -48501,9 +48537,9 @@ diff -urNp linux-2.6.32.48/fs/pipe.c linux-2.6.32= .48/fs/pipe.c inode->i_fop =3D &rdwr_pipefifo_fops; =20 /* -diff -urNp linux-2.6.32.48/fs/proc/array.c linux-2.6.32.48/fs/proc/array= .c ---- linux-2.6.32.48/fs/proc/array.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/proc/array.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/proc/array.c linux-2.6.32.46/fs/proc/array= .c +--- linux-2.6.32.46/fs/proc/array.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/proc/array.c 2011-05-16 21:46:57.000000000 -0400 @@ -60,6 +60,7 @@ #include #include @@ -48627,9 +48663,9 @@ diff -urNp linux-2.6.32.48/fs/proc/array.c linux-= 2.6.32.48/fs/proc/array.c + return sprintf(buffer, "%pI4\n", &curr_ip); +} +#endif -diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2.6.32.48/fs/proc/base.c ---- linux-2.6.32.48/fs/proc/base.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/proc/base.c 2011-11-12 12:59:33.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/proc/base.c linux-2.6.32.46/fs/proc/base.c +--- linux-2.6.32.46/fs/proc/base.c 2011-08-09 18:35:30.000000000 -0400 ++++ linux-2.6.32.46/fs/proc/base.c 2011-10-19 04:05:03.000000000 -0400 @@ -102,6 +102,22 @@ struct pid_entry { union proc_op op; }; @@ -48711,16 +48747,16 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux= -2.6.32.48/fs/proc/base.c /* * Provides a wchan file via kallsyms in a proper one-value-per-file fo= rmat. * Returns the resolved symbol. If that fails, simply return the addre= ss. -@@ -345,7 +383,7 @@ static void unlock_trace(struct task_str - mutex_unlock(&task->cred_guard_mutex); +@@ -328,7 +366,7 @@ static int proc_pid_wchan(struct task_st } + #endif /* CONFIG_KALLSYMS */ =20 -#ifdef CONFIG_STACKTRACE +#if defined(CONFIG_STACKTRACE) && !defined(CONFIG_GRKERNSEC_HIDESYM) =20 #define MAX_STACK_TRACE_DEPTH 64 =20 -@@ -545,7 +583,7 @@ static int proc_pid_limits(struct task_s +@@ -522,7 +560,7 @@ static int proc_pid_limits(struct task_s return count; } =20 @@ -48729,7 +48765,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c static int proc_pid_syscall(struct task_struct *task, char *buffer) { long nr; -@@ -574,7 +612,7 @@ static int proc_pid_syscall(struct task_ +@@ -547,7 +585,7 @@ static int proc_pid_syscall(struct task_ /**********************************************************************= **/ =20 /* permission checks */ @@ -48738,7 +48774,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c { struct task_struct *task; int allowed =3D 0; -@@ -584,7 +622,10 @@ static int proc_fd_access_allowed(struct +@@ -557,7 +595,10 @@ static int proc_fd_access_allowed(struct */ task =3D get_proc_task(inode); if (task) { @@ -48750,7 +48786,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c put_task_struct(task); } return allowed; -@@ -963,6 +1004,9 @@ static ssize_t environ_read(struct file=20 +@@ -936,6 +977,9 @@ static ssize_t environ_read(struct file=20 if (!task) goto out_no_task; =20 @@ -48760,7 +48796,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c if (!ptrace_may_access(task, PTRACE_MODE_READ)) goto out; =20 -@@ -1377,7 +1421,7 @@ static void *proc_pid_follow_link(struct +@@ -1350,7 +1394,7 @@ static void *proc_pid_follow_link(struct path_put(&nd->path); =20 /* Are we allowed to snoop on the tasks file descriptors? */ @@ -48769,7 +48805,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c goto out; =20 error =3D PROC_I(inode)->op.proc_get_link(inode, &nd->path); -@@ -1417,8 +1461,18 @@ static int proc_pid_readlink(struct dent +@@ -1390,8 +1434,18 @@ static int proc_pid_readlink(struct dent struct path path; =20 /* Are we allowed to snoop on the tasks file descriptors? */ @@ -48790,7 +48826,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c =20 error =3D PROC_I(inode)->op.proc_get_link(inode, &path); if (error) -@@ -1483,7 +1537,11 @@ static struct inode *proc_pid_make_inode +@@ -1456,7 +1510,11 @@ static struct inode *proc_pid_make_inode rcu_read_lock(); cred =3D __task_cred(task); inode->i_uid =3D cred->euid; @@ -48802,7 +48838,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c rcu_read_unlock(); } security_task_to_inode(task, inode); -@@ -1501,6 +1559,9 @@ static int pid_getattr(struct vfsmount * +@@ -1474,6 +1532,9 @@ static int pid_getattr(struct vfsmount * struct inode *inode =3D dentry->d_inode; struct task_struct *task; const struct cred *cred; @@ -48812,7 +48848,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c =20 generic_fillattr(inode, stat); =20 -@@ -1508,13 +1569,41 @@ static int pid_getattr(struct vfsmount * +@@ -1481,13 +1542,41 @@ static int pid_getattr(struct vfsmount * stat->uid =3D 0; stat->gid =3D 0; task =3D pid_task(proc_pid(inode), PIDTYPE_PID); @@ -48855,7 +48891,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c } rcu_read_unlock(); return 0; -@@ -1545,11 +1634,20 @@ static int pid_revalidate(struct dentry=20 +@@ -1518,11 +1607,20 @@ static int pid_revalidate(struct dentry=20 =20 if (task) { if ((inode->i_mode =3D=3D (S_IFDIR|S_IRUGO|S_IXUGO)) || @@ -48876,7 +48912,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c rcu_read_unlock(); } else { inode->i_uid =3D 0; -@@ -1670,7 +1768,8 @@ static int proc_fd_info(struct inode *in +@@ -1643,7 +1741,8 @@ static int proc_fd_info(struct inode *in int fd =3D proc_fd(inode); =20 if (task) { @@ -48886,7 +48922,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c put_task_struct(task); } if (files) { -@@ -1922,12 +2021,22 @@ static const struct file_operations proc +@@ -1895,12 +1994,22 @@ static const struct file_operations proc static int proc_fd_permission(struct inode *inode, int mask) { int rv; @@ -48911,7 +48947,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c return rv; } =20 -@@ -2036,6 +2145,9 @@ static struct dentry *proc_pident_lookup +@@ -2009,6 +2118,9 @@ static struct dentry *proc_pident_lookup if (!task) goto out_no_task; =20 @@ -48921,7 +48957,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c /* * Yes, it does not scale. And it should not. Don't add * new entries into /proc// without very good reasons. -@@ -2080,6 +2192,9 @@ static int proc_pident_readdir(struct fi +@@ -2053,6 +2165,9 @@ static int proc_pident_readdir(struct fi if (!task) goto out_no_task; =20 @@ -48931,7 +48967,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c ret =3D 0; i =3D filp->f_pos; switch (i) { -@@ -2347,7 +2462,7 @@ static void *proc_self_follow_link(struc +@@ -2320,7 +2435,7 @@ static void *proc_self_follow_link(struc static void proc_self_put_link(struct dentry *dentry, struct nameidata = *nd, void *cookie) { @@ -48940,16 +48976,16 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux= -2.6.32.48/fs/proc/base.c if (!IS_ERR(s)) __putname(s); } -@@ -2553,7 +2668,7 @@ static const struct pid_entry tgid_base_ +@@ -2522,7 +2637,7 @@ static const struct pid_entry tgid_base_ #ifdef CONFIG_SCHED_DEBUG REG("sched", S_IRUGO|S_IWUSR, proc_pid_sched_operations), #endif -#ifdef CONFIG_HAVE_ARCH_TRACEHOOK +#if defined(CONFIG_HAVE_ARCH_TRACEHOOK) && !defined(CONFIG_GRKERNSEC_PR= OC_MEMMAP) - INF("syscall", S_IRUGO, proc_pid_syscall), + INF("syscall", S_IRUSR, proc_pid_syscall), #endif INF("cmdline", S_IRUGO, proc_pid_cmdline), -@@ -2578,10 +2693,10 @@ static const struct pid_entry tgid_base_ +@@ -2547,10 +2662,10 @@ static const struct pid_entry tgid_base_ #ifdef CONFIG_SECURITY DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, pro= c_attr_dir_operations), #endif @@ -48959,10 +48995,10 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux= -2.6.32.48/fs/proc/base.c #endif -#ifdef CONFIG_STACKTRACE +#if defined(CONFIG_STACKTRACE) && !defined(CONFIG_GRKERNSEC_HIDESYM) - ONE("stack", S_IRUGO, proc_pid_stack), + ONE("stack", S_IRUSR, proc_pid_stack), #endif #ifdef CONFIG_SCHEDSTATS -@@ -2611,6 +2726,9 @@ static const struct pid_entry tgid_base_ +@@ -2580,6 +2695,9 @@ static const struct pid_entry tgid_base_ #ifdef CONFIG_TASK_IO_ACCOUNTING INF("io", S_IRUSR, proc_tgid_io_accounting), #endif @@ -48972,7 +49008,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c }; =20 static int proc_tgid_base_readdir(struct file * filp, -@@ -2735,7 +2853,14 @@ static struct dentry *proc_pid_instantia +@@ -2704,7 +2822,14 @@ static struct dentry *proc_pid_instantia if (!inode) goto out; =20 @@ -48987,7 +49023,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c inode->i_op =3D &proc_tgid_base_inode_operations; inode->i_fop =3D &proc_tgid_base_operations; inode->i_flags|=3DS_IMMUTABLE; -@@ -2777,7 +2902,14 @@ struct dentry *proc_pid_lookup(struct in +@@ -2746,7 +2871,14 @@ struct dentry *proc_pid_lookup(struct in if (!task) goto out; =20 @@ -49002,7 +49038,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c put_task_struct(task); out: return result; -@@ -2842,6 +2974,11 @@ int proc_pid_readdir(struct file * filp, +@@ -2811,6 +2943,11 @@ int proc_pid_readdir(struct file * filp, { unsigned int nr; struct task_struct *reaper; @@ -49014,7 +49050,7 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux-2= .6.32.48/fs/proc/base.c struct tgid_iter iter; struct pid_namespace *ns; =20 -@@ -2865,8 +3002,27 @@ int proc_pid_readdir(struct file * filp, +@@ -2834,8 +2971,27 @@ int proc_pid_readdir(struct file * filp, for (iter =3D next_tgid(ns, iter); iter.task; iter.tgid +=3D 1, iter =3D next_tgid(ns, iter)) { @@ -49043,16 +49079,16 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux= -2.6.32.48/fs/proc/base.c put_task_struct(iter.task); goto out; } -@@ -2892,7 +3048,7 @@ static const struct pid_entry tid_base_s +@@ -2861,7 +3017,7 @@ static const struct pid_entry tid_base_s #ifdef CONFIG_SCHED_DEBUG REG("sched", S_IRUGO|S_IWUSR, proc_pid_sched_operations), #endif -#ifdef CONFIG_HAVE_ARCH_TRACEHOOK +#if defined(CONFIG_HAVE_ARCH_TRACEHOOK) && !defined(CONFIG_GRKERNSEC_PR= OC_MEMMAP) - INF("syscall", S_IRUGO, proc_pid_syscall), + INF("syscall", S_IRUSR, proc_pid_syscall), #endif INF("cmdline", S_IRUGO, proc_pid_cmdline), -@@ -2916,10 +3072,10 @@ static const struct pid_entry tid_base_s +@@ -2885,10 +3041,10 @@ static const struct pid_entry tid_base_s #ifdef CONFIG_SECURITY DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc= _attr_dir_operations), #endif @@ -49062,12 +49098,12 @@ diff -urNp linux-2.6.32.48/fs/proc/base.c linux= -2.6.32.48/fs/proc/base.c #endif -#ifdef CONFIG_STACKTRACE +#if defined(CONFIG_STACKTRACE) && !defined(CONFIG_GRKERNSEC_HIDESYM) - ONE("stack", S_IRUGO, proc_pid_stack), + ONE("stack", S_IRUSR, proc_pid_stack), #endif #ifdef CONFIG_SCHEDSTATS -diff -urNp linux-2.6.32.48/fs/proc/cmdline.c linux-2.6.32.48/fs/proc/cmd= line.c ---- linux-2.6.32.48/fs/proc/cmdline.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/fs/proc/cmdline.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/proc/cmdline.c linux-2.6.32.46/fs/proc/cmd= line.c +--- linux-2.6.32.46/fs/proc/cmdline.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/proc/cmdline.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -23,7 +23,11 @@ static const struct file_operations cmdl =20 static int __init proc_cmdline_init(void) @@ -49080,9 +49116,9 @@ diff -urNp linux-2.6.32.48/fs/proc/cmdline.c linu= x-2.6.32.48/fs/proc/cmdline.c return 0; } module_init(proc_cmdline_init); -diff -urNp linux-2.6.32.48/fs/proc/devices.c linux-2.6.32.48/fs/proc/dev= ices.c ---- linux-2.6.32.48/fs/proc/devices.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/fs/proc/devices.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/proc/devices.c linux-2.6.32.46/fs/proc/dev= ices.c +--- linux-2.6.32.46/fs/proc/devices.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/proc/devices.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -64,7 +64,11 @@ static const struct file_operations proc =20 static int __init proc_devices_init(void) @@ -49095,9 +49131,9 @@ diff -urNp linux-2.6.32.48/fs/proc/devices.c linu= x-2.6.32.48/fs/proc/devices.c return 0; } module_init(proc_devices_init); -diff -urNp linux-2.6.32.48/fs/proc/inode.c linux-2.6.32.48/fs/proc/inode= .c ---- linux-2.6.32.48/fs/proc/inode.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/proc/inode.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/proc/inode.c linux-2.6.32.46/fs/proc/inode= .c +--- linux-2.6.32.46/fs/proc/inode.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/proc/inode.c 2011-10-19 04:08:02.000000000 -0400 @@ -18,12 +18,19 @@ #include #include @@ -49144,9 +49180,9 @@ diff -urNp linux-2.6.32.48/fs/proc/inode.c linux-= 2.6.32.48/fs/proc/inode.c } if (de->size) inode->i_size =3D de->size; -diff -urNp linux-2.6.32.48/fs/proc/internal.h linux-2.6.32.48/fs/proc/in= ternal.h ---- linux-2.6.32.48/fs/proc/internal.h 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/fs/proc/internal.h 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/proc/internal.h linux-2.6.32.46/fs/proc/in= ternal.h +--- linux-2.6.32.46/fs/proc/internal.h 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/proc/internal.h 2011-04-17 15:56:46.000000000 -04= 00 @@ -51,6 +51,9 @@ extern int proc_pid_status(struct seq_fi struct pid *pid, struct task_struct *task); extern int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns, @@ -49157,9 +49193,9 @@ diff -urNp linux-2.6.32.48/fs/proc/internal.h lin= ux-2.6.32.48/fs/proc/internal.h extern loff_t mem_lseek(struct file *file, loff_t offset, int orig); =20 extern const struct file_operations proc_maps_operations; -diff -urNp linux-2.6.32.48/fs/proc/Kconfig linux-2.6.32.48/fs/proc/Kconf= ig ---- linux-2.6.32.48/fs/proc/Kconfig 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/proc/Kconfig 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/proc/Kconfig linux-2.6.32.46/fs/proc/Kconf= ig +--- linux-2.6.32.46/fs/proc/Kconfig 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/proc/Kconfig 2011-04-17 15:56:46.000000000 -0400 @@ -30,12 +30,12 @@ config PROC_FS =20 config PROC_KCORE @@ -49187,9 +49223,9 @@ diff -urNp linux-2.6.32.48/fs/proc/Kconfig linux-= 2.6.32.48/fs/proc/Kconfig bool "Enable /proc page monitoring" if EMBEDDED help Various /proc files exist to monitor process memory utilization: -diff -urNp linux-2.6.32.48/fs/proc/kcore.c linux-2.6.32.48/fs/proc/kcore= .c ---- linux-2.6.32.48/fs/proc/kcore.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/proc/kcore.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/proc/kcore.c linux-2.6.32.46/fs/proc/kcore= .c +--- linux-2.6.32.46/fs/proc/kcore.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/proc/kcore.c 2011-05-16 21:46:57.000000000 -0400 @@ -320,6 +320,8 @@ static void elf_kcore_store_hdr(char *bu off_t offset =3D 0; struct kcore_list *m; @@ -49257,9 +49293,9 @@ diff -urNp linux-2.6.32.48/fs/proc/kcore.c linux-= 2.6.32.48/fs/proc/kcore.c if (!capable(CAP_SYS_RAWIO)) return -EPERM; if (kcore_need_update) -diff -urNp linux-2.6.32.48/fs/proc/meminfo.c linux-2.6.32.48/fs/proc/mem= info.c ---- linux-2.6.32.48/fs/proc/meminfo.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/fs/proc/meminfo.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/proc/meminfo.c linux-2.6.32.46/fs/proc/mem= info.c +--- linux-2.6.32.46/fs/proc/meminfo.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/proc/meminfo.c 2011-05-16 21:46:57.000000000 -040= 0 @@ -29,6 +29,8 @@ static int meminfo_proc_show(struct seq_ unsigned long pages[NR_LRU_LISTS]; int lru; @@ -49278,9 +49314,9 @@ diff -urNp linux-2.6.32.48/fs/proc/meminfo.c linu= x-2.6.32.48/fs/proc/meminfo.c #endif ); =20 -diff -urNp linux-2.6.32.48/fs/proc/nommu.c linux-2.6.32.48/fs/proc/nommu= .c ---- linux-2.6.32.48/fs/proc/nommu.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/proc/nommu.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/proc/nommu.c linux-2.6.32.46/fs/proc/nommu= .c +--- linux-2.6.32.46/fs/proc/nommu.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/proc/nommu.c 2011-04-17 15:56:46.000000000 -0400 @@ -67,7 +67,7 @@ static int nommu_region_show(struct seq_ if (len < 1) len =3D 1; @@ -49290,9 +49326,9 @@ diff -urNp linux-2.6.32.48/fs/proc/nommu.c linux-= 2.6.32.48/fs/proc/nommu.c } =20 seq_putc(m, '\n'); -diff -urNp linux-2.6.32.48/fs/proc/proc_net.c linux-2.6.32.48/fs/proc/pr= oc_net.c ---- linux-2.6.32.48/fs/proc/proc_net.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/fs/proc/proc_net.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/proc/proc_net.c linux-2.6.32.46/fs/proc/pr= oc_net.c +--- linux-2.6.32.46/fs/proc/proc_net.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/proc/proc_net.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -104,6 +104,17 @@ static struct net *get_proc_task_net(str struct task_struct *task; struct nsproxy *ns; @@ -49311,9 +49347,9 @@ diff -urNp linux-2.6.32.48/fs/proc/proc_net.c lin= ux-2.6.32.48/fs/proc/proc_net.c =20 rcu_read_lock(); task =3D pid_task(proc_pid(dir), PIDTYPE_PID); -diff -urNp linux-2.6.32.48/fs/proc/proc_sysctl.c linux-2.6.32.48/fs/proc= /proc_sysctl.c ---- linux-2.6.32.48/fs/proc/proc_sysctl.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/fs/proc/proc_sysctl.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/fs/proc/proc_sysctl.c linux-2.6.32.46/fs/proc= /proc_sysctl.c +--- linux-2.6.32.46/fs/proc/proc_sysctl.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/fs/proc/proc_sysctl.c 2011-10-19 04:08:51.000000000 = -0400 @@ -7,11 +7,13 @@ #include #include "internal.h" @@ -49396,9 +49432,9 @@ diff -urNp linux-2.6.32.48/fs/proc/proc_sysctl.c = linux-2.6.32.48/fs/proc/proc_sy .lookup =3D proc_sys_lookup, .permission =3D proc_sys_permission, .setattr =3D proc_sys_setattr, -diff -urNp linux-2.6.32.48/fs/proc/root.c linux-2.6.32.48/fs/proc/root.c ---- linux-2.6.32.48/fs/proc/root.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/proc/root.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/proc/root.c linux-2.6.32.46/fs/proc/root.c +--- linux-2.6.32.46/fs/proc/root.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/proc/root.c 2011-04-17 15:56:46.000000000 -0400 @@ -134,7 +134,15 @@ void __init proc_root_init(void) #ifdef CONFIG_PROC_DEVICETREE proc_device_tree_init(); @@ -49415,9 +49451,9 @@ diff -urNp linux-2.6.32.48/fs/proc/root.c linux-2= .6.32.48/fs/proc/root.c proc_sys_init(); } =20 -diff -urNp linux-2.6.32.48/fs/proc/task_mmu.c linux-2.6.32.48/fs/proc/ta= sk_mmu.c ---- linux-2.6.32.48/fs/proc/task_mmu.c 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/fs/proc/task_mmu.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/proc/task_mmu.c linux-2.6.32.46/fs/proc/ta= sk_mmu.c +--- linux-2.6.32.46/fs/proc/task_mmu.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/proc/task_mmu.c 2011-04-23 13:38:09.000000000 -04= 00 @@ -46,15 +46,26 @@ void task_mem(struct seq_file *m, struct "VmStk:\t%8lu kB\n" "VmExe:\t%8lu kB\n" @@ -49563,9 +49599,9 @@ diff -urNp linux-2.6.32.48/fs/proc/task_mmu.c lin= ux-2.6.32.48/fs/proc/task_mmu.c mss.resident >> 10, (unsigned long)(mss.pss >> (10 + PSS_SHIFT)), mss.shared_clean >> 10, -diff -urNp linux-2.6.32.48/fs/proc/task_nommu.c linux-2.6.32.48/fs/proc/= task_nommu.c ---- linux-2.6.32.48/fs/proc/task_nommu.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/proc/task_nommu.c 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/proc/task_nommu.c linux-2.6.32.46/fs/proc/= task_nommu.c +--- linux-2.6.32.46/fs/proc/task_nommu.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/proc/task_nommu.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -50,7 +50,7 @@ void task_mem(struct seq_file *m, struct else bytes +=3D kobjsize(mm); @@ -49584,9 +49620,9 @@ diff -urNp linux-2.6.32.48/fs/proc/task_nommu.c l= inux-2.6.32.48/fs/proc/task_nom } =20 seq_putc(m, '\n'); -diff -urNp linux-2.6.32.48/fs/readdir.c linux-2.6.32.48/fs/readdir.c ---- linux-2.6.32.48/fs/readdir.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/readdir.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/readdir.c linux-2.6.32.46/fs/readdir.c +--- linux-2.6.32.46/fs/readdir.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/readdir.c 2011-10-06 09:37:14.000000000 -0400 @@ -16,6 +16,7 @@ #include #include @@ -49685,9 +49721,9 @@ diff -urNp linux-2.6.32.48/fs/readdir.c linux-2.6= .32.48/fs/readdir.c if (__put_user(d_off, &lastdirent->d_off)) error =3D -EFAULT; else -diff -urNp linux-2.6.32.48/fs/reiserfs/dir.c linux-2.6.32.48/fs/reiserfs= /dir.c ---- linux-2.6.32.48/fs/reiserfs/dir.c 2011-11-12 12:44:30.000000000 -050= 0 -+++ linux-2.6.32.48/fs/reiserfs/dir.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/reiserfs/dir.c linux-2.6.32.46/fs/reiserfs= /dir.c +--- linux-2.6.32.46/fs/reiserfs/dir.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/reiserfs/dir.c 2011-05-16 21:46:57.000000000 -040= 0 @@ -66,6 +66,8 @@ int reiserfs_readdir_dentry(struct dentr struct reiserfs_dir_entry de; int ret =3D 0; @@ -49697,9 +49733,9 @@ diff -urNp linux-2.6.32.48/fs/reiserfs/dir.c linu= x-2.6.32.48/fs/reiserfs/dir.c reiserfs_write_lock(inode->i_sb); =20 reiserfs_check_lock_depth(inode->i_sb, "readdir"); -diff -urNp linux-2.6.32.48/fs/reiserfs/do_balan.c linux-2.6.32.48/fs/rei= serfs/do_balan.c ---- linux-2.6.32.48/fs/reiserfs/do_balan.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/fs/reiserfs/do_balan.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/fs/reiserfs/do_balan.c linux-2.6.32.46/fs/rei= serfs/do_balan.c +--- linux-2.6.32.46/fs/reiserfs/do_balan.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/fs/reiserfs/do_balan.c 2011-04-17 15:56:46.000000000= -0400 @@ -2058,7 +2058,7 @@ void do_balance(struct tree_balance *tb, return; } @@ -49709,9 +49745,9 @@ diff -urNp linux-2.6.32.48/fs/reiserfs/do_balan.c= linux-2.6.32.48/fs/reiserfs/do do_balance_starts(tb); =20 /* balance leaf returns 0 except if combining L R and S into -diff -urNp linux-2.6.32.48/fs/reiserfs/item_ops.c linux-2.6.32.48/fs/rei= serfs/item_ops.c ---- linux-2.6.32.48/fs/reiserfs/item_ops.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/fs/reiserfs/item_ops.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/fs/reiserfs/item_ops.c linux-2.6.32.46/fs/rei= serfs/item_ops.c +--- linux-2.6.32.46/fs/reiserfs/item_ops.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/fs/reiserfs/item_ops.c 2011-04-17 15:56:46.000000000= -0400 @@ -102,7 +102,7 @@ static void sd_print_vi(struct virtual_i vi->vi_index, vi->vi_type, vi->vi_ih); } @@ -49766,9 +49802,9 @@ diff -urNp linux-2.6.32.48/fs/reiserfs/item_ops.c= linux-2.6.32.48/fs/reiserfs/it &stat_data_ops, &indirect_ops, &direct_ops, -diff -urNp linux-2.6.32.48/fs/reiserfs/journal.c linux-2.6.32.48/fs/reis= erfs/journal.c ---- linux-2.6.32.48/fs/reiserfs/journal.c 2011-11-12 12:44:30.000000000 = -0500 -+++ linux-2.6.32.48/fs/reiserfs/journal.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/fs/reiserfs/journal.c linux-2.6.32.46/fs/reis= erfs/journal.c +--- linux-2.6.32.46/fs/reiserfs/journal.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/fs/reiserfs/journal.c 2011-05-16 21:46:57.000000000 = -0400 @@ -2329,6 +2329,8 @@ static struct buffer_head *reiserfs_brea struct buffer_head *bh; int i, j; @@ -49778,9 +49814,9 @@ diff -urNp linux-2.6.32.48/fs/reiserfs/journal.c = linux-2.6.32.48/fs/reiserfs/jou bh =3D __getblk(dev, block, bufsize); if (buffer_uptodate(bh)) return (bh); -diff -urNp linux-2.6.32.48/fs/reiserfs/namei.c linux-2.6.32.48/fs/reiser= fs/namei.c ---- linux-2.6.32.48/fs/reiserfs/namei.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/fs/reiserfs/namei.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/reiserfs/namei.c linux-2.6.32.46/fs/reiser= fs/namei.c +--- linux-2.6.32.46/fs/reiserfs/namei.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/reiserfs/namei.c 2011-05-16 21:46:57.000000000 -0= 400 @@ -1214,6 +1214,8 @@ static int reiserfs_rename(struct inode=20 unsigned long savelink =3D 1; struct timespec ctime; @@ -49790,9 +49826,9 @@ diff -urNp linux-2.6.32.48/fs/reiserfs/namei.c li= nux-2.6.32.48/fs/reiserfs/namei /* three balancings: (1) old name removal, (2) new name insertion and (3) maybe "save" link insertion stat data updates: (1) old directory, -diff -urNp linux-2.6.32.48/fs/reiserfs/procfs.c linux-2.6.32.48/fs/reise= rfs/procfs.c ---- linux-2.6.32.48/fs/reiserfs/procfs.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/reiserfs/procfs.c 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/reiserfs/procfs.c linux-2.6.32.46/fs/reise= rfs/procfs.c +--- linux-2.6.32.46/fs/reiserfs/procfs.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/reiserfs/procfs.c 2011-05-16 21:46:57.000000000 -= 0400 @@ -123,7 +123,7 @@ static int show_super(struct seq_file *m "SMALL_TAILS " : "NO_TAILS ", replay_only(sb) ? "REPLAY_ONLY " : "", @@ -49811,9 +49847,9 @@ diff -urNp linux-2.6.32.48/fs/reiserfs/procfs.c l= inux-2.6.32.48/fs/reiserfs/proc seq_printf(m, /* on-disk fields */ "jp_journal_1st_block: \t%i\n" "jp_journal_dev: \t%s[%x]\n" -diff -urNp linux-2.6.32.48/fs/reiserfs/stree.c linux-2.6.32.48/fs/reiser= fs/stree.c ---- linux-2.6.32.48/fs/reiserfs/stree.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/fs/reiserfs/stree.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/reiserfs/stree.c linux-2.6.32.46/fs/reiser= fs/stree.c +--- linux-2.6.32.46/fs/reiserfs/stree.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/reiserfs/stree.c 2011-05-16 21:46:57.000000000 -0= 400 @@ -1159,6 +1159,8 @@ int reiserfs_delete_item(struct reiserfs int iter =3D 0; #endif @@ -49859,9 +49895,9 @@ diff -urNp linux-2.6.32.48/fs/reiserfs/stree.c li= nux-2.6.32.48/fs/reiserfs/stree BUG_ON(!th->t_trans_id); =20 if (inode) { /* Do we count quotas for item? */ -diff -urNp linux-2.6.32.48/fs/reiserfs/super.c linux-2.6.32.48/fs/reiser= fs/super.c ---- linux-2.6.32.48/fs/reiserfs/super.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/fs/reiserfs/super.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/fs/reiserfs/super.c linux-2.6.32.46/fs/reiser= fs/super.c +--- linux-2.6.32.46/fs/reiserfs/super.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/fs/reiserfs/super.c 2011-05-16 21:46:57.000000000 -0= 400 @@ -912,6 +912,8 @@ static int reiserfs_parse_options(struct {.option_name =3D NULL} }; @@ -49871,9 +49907,9 @@ diff -urNp linux-2.6.32.48/fs/reiserfs/super.c li= nux-2.6.32.48/fs/reiserfs/super *blocks =3D 0; if (!options || !*options) /* use default configuration: create tails, journaling on, no -diff -urNp linux-2.6.32.48/fs/select.c linux-2.6.32.48/fs/select.c ---- linux-2.6.32.48/fs/select.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/select.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/select.c linux-2.6.32.46/fs/select.c +--- linux-2.6.32.46/fs/select.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/select.c 2011-05-16 21:46:57.000000000 -0400 @@ -20,6 +20,7 @@ #include #include @@ -49910,9 +49946,9 @@ diff -urNp linux-2.6.32.48/fs/select.c linux-2.6.= 32.48/fs/select.c if (nfds > current->signal->rlim[RLIMIT_NOFILE].rlim_cur) return -EINVAL; =20 -diff -urNp linux-2.6.32.48/fs/seq_file.c linux-2.6.32.48/fs/seq_file.c ---- linux-2.6.32.48/fs/seq_file.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/seq_file.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/seq_file.c linux-2.6.32.46/fs/seq_file.c +--- linux-2.6.32.46/fs/seq_file.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/seq_file.c 2011-08-23 21:22:32.000000000 -0400 @@ -76,7 +76,8 @@ static int traverse(struct seq_file *m,=20 return 0; } @@ -49962,9 +49998,9 @@ diff -urNp linux-2.6.32.48/fs/seq_file.c linux-2.= 6.32.48/fs/seq_file.c int res =3D -ENOMEM; =20 if (op) { -diff -urNp linux-2.6.32.48/fs/smbfs/proc.c linux-2.6.32.48/fs/smbfs/proc= .c ---- linux-2.6.32.48/fs/smbfs/proc.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/smbfs/proc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/smbfs/proc.c linux-2.6.32.46/fs/smbfs/proc= .c +--- linux-2.6.32.46/fs/smbfs/proc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/smbfs/proc.c 2011-08-05 20:33:55.000000000 -0400 @@ -266,9 +266,9 @@ int smb_setcodepage(struct smb_sb_info * =20 out: @@ -49998,9 +50034,9 @@ diff -urNp linux-2.6.32.48/fs/smbfs/proc.c linux-= 2.6.32.48/fs/smbfs/proc.c } =20 /* < LANMAN2 */ -diff -urNp linux-2.6.32.48/fs/smbfs/symlink.c linux-2.6.32.48/fs/smbfs/s= ymlink.c ---- linux-2.6.32.48/fs/smbfs/symlink.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/fs/smbfs/symlink.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/smbfs/symlink.c linux-2.6.32.46/fs/smbfs/s= ymlink.c +--- linux-2.6.32.46/fs/smbfs/symlink.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/smbfs/symlink.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -55,7 +55,7 @@ static void *smb_follow_link(struct dent =20 static void smb_put_link(struct dentry *dentry, struct nameidata *nd, v= oid *p) @@ -50010,9 +50046,9 @@ diff -urNp linux-2.6.32.48/fs/smbfs/symlink.c lin= ux-2.6.32.48/fs/smbfs/symlink.c if (!IS_ERR(s)) __putname(s); } -diff -urNp linux-2.6.32.48/fs/splice.c linux-2.6.32.48/fs/splice.c ---- linux-2.6.32.48/fs/splice.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/splice.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/splice.c linux-2.6.32.46/fs/splice.c +--- linux-2.6.32.46/fs/splice.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/splice.c 2011-10-06 09:37:14.000000000 -0400 @@ -185,7 +185,7 @@ ssize_t splice_to_pipe(struct pipe_inode pipe_lock(pipe); =20 @@ -50101,7 +50137,7 @@ diff -urNp linux-2.6.32.48/fs/splice.c linux-2.6.= 32.48/fs/splice.c =20 current->splice_pipe =3D pipe; } -@@ -1593,6 +1597,8 @@ static long vmsplice_to_pipe(struct file +@@ -1592,6 +1596,8 @@ static long vmsplice_to_pipe(struct file .spd_release =3D spd_release_page, }; =20 @@ -50110,7 +50146,7 @@ diff -urNp linux-2.6.32.48/fs/splice.c linux-2.6.= 32.48/fs/splice.c pipe =3D pipe_info(file->f_path.dentry->d_inode); if (!pipe) return -EBADF; -@@ -1701,9 +1707,9 @@ static int ipipe_prep(struct pipe_inode_ +@@ -1700,9 +1706,9 @@ static int ipipe_prep(struct pipe_inode_ ret =3D -ERESTARTSYS; break; } @@ -50122,7 +50158,7 @@ diff -urNp linux-2.6.32.48/fs/splice.c linux-2.6.= 32.48/fs/splice.c if (flags & SPLICE_F_NONBLOCK) { ret =3D -EAGAIN; break; -@@ -1735,7 +1741,7 @@ static int opipe_prep(struct pipe_inode_ +@@ -1734,7 +1740,7 @@ static int opipe_prep(struct pipe_inode_ pipe_lock(pipe); =20 while (pipe->nrbufs >=3D PIPE_BUFFERS) { @@ -50131,7 +50167,7 @@ diff -urNp linux-2.6.32.48/fs/splice.c linux-2.6.= 32.48/fs/splice.c send_sig(SIGPIPE, current, 0); ret =3D -EPIPE; break; -@@ -1748,9 +1754,9 @@ static int opipe_prep(struct pipe_inode_ +@@ -1747,9 +1753,9 @@ static int opipe_prep(struct pipe_inode_ ret =3D -ERESTARTSYS; break; } @@ -50143,7 +50179,7 @@ diff -urNp linux-2.6.32.48/fs/splice.c linux-2.6.= 32.48/fs/splice.c } =20 pipe_unlock(pipe); -@@ -1786,14 +1792,14 @@ retry: +@@ -1785,14 +1791,14 @@ retry: pipe_double_lock(ipipe, opipe); =20 do { @@ -50160,7 +50196,7 @@ diff -urNp linux-2.6.32.48/fs/splice.c linux-2.6.= 32.48/fs/splice.c break; =20 /* -@@ -1893,7 +1899,7 @@ static int link_pipe(struct pipe_inode_i +@@ -1892,7 +1898,7 @@ static int link_pipe(struct pipe_inode_i pipe_double_lock(ipipe, opipe); =20 do { @@ -50169,7 +50205,7 @@ diff -urNp linux-2.6.32.48/fs/splice.c linux-2.6.= 32.48/fs/splice.c send_sig(SIGPIPE, current, 0); if (!ret) ret =3D -EPIPE; -@@ -1938,7 +1944,7 @@ static int link_pipe(struct pipe_inode_i +@@ -1937,7 +1943,7 @@ static int link_pipe(struct pipe_inode_i * return EAGAIN if we have the potential of some data in the * future, otherwise just return 0 */ @@ -50178,9 +50214,9 @@ diff -urNp linux-2.6.32.48/fs/splice.c linux-2.6.= 32.48/fs/splice.c ret =3D -EAGAIN; =20 pipe_unlock(ipipe); -diff -urNp linux-2.6.32.48/fs/sysfs/file.c linux-2.6.32.48/fs/sysfs/file= .c ---- linux-2.6.32.48/fs/sysfs/file.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/fs/sysfs/file.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/sysfs/file.c linux-2.6.32.46/fs/sysfs/file= .c +--- linux-2.6.32.46/fs/sysfs/file.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/sysfs/file.c 2011-05-04 17:56:20.000000000 -0400 @@ -44,7 +44,7 @@ static DEFINE_SPINLOCK(sysfs_open_dirent =20 struct sysfs_open_dirent { @@ -50262,9 +50298,9 @@ diff -urNp linux-2.6.32.48/fs/sysfs/file.c linux-= 2.6.32.48/fs/sysfs/file.c wake_up_interruptible(&od->poll); } =20 -diff -urNp linux-2.6.32.48/fs/sysfs/mount.c linux-2.6.32.48/fs/sysfs/mou= nt.c ---- linux-2.6.32.48/fs/sysfs/mount.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/sysfs/mount.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/sysfs/mount.c linux-2.6.32.46/fs/sysfs/mou= nt.c +--- linux-2.6.32.46/fs/sysfs/mount.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/sysfs/mount.c 2011-04-17 15:56:46.000000000 -0400 @@ -36,7 +36,11 @@ struct sysfs_dirent sysfs_root =3D { .s_name =3D "", .s_count =3D ATOMIC_INIT(1), @@ -50277,9 +50313,9 @@ diff -urNp linux-2.6.32.48/fs/sysfs/mount.c linux= -2.6.32.48/fs/sysfs/mount.c .s_ino =3D 1, }; =20 -diff -urNp linux-2.6.32.48/fs/sysfs/symlink.c linux-2.6.32.48/fs/sysfs/s= ymlink.c ---- linux-2.6.32.48/fs/sysfs/symlink.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/fs/sysfs/symlink.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/fs/sysfs/symlink.c linux-2.6.32.46/fs/sysfs/s= ymlink.c +--- linux-2.6.32.46/fs/sysfs/symlink.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/fs/sysfs/symlink.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -204,7 +204,7 @@ static void *sysfs_follow_link(struct de =20 static void sysfs_put_link(struct dentry *dentry, struct nameidata *nd,= void *cookie) @@ -50289,9 +50325,9 @@ diff -urNp linux-2.6.32.48/fs/sysfs/symlink.c lin= ux-2.6.32.48/fs/sysfs/symlink.c if (!IS_ERR(page)) free_page((unsigned long)page); } -diff -urNp linux-2.6.32.48/fs/udf/balloc.c linux-2.6.32.48/fs/udf/balloc= .c ---- linux-2.6.32.48/fs/udf/balloc.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/udf/balloc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/udf/balloc.c linux-2.6.32.46/fs/udf/balloc= .c +--- linux-2.6.32.46/fs/udf/balloc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/udf/balloc.c 2011-04-17 15:56:46.000000000 -0400 @@ -172,9 +172,7 @@ static void udf_bitmap_free_blocks(struc =20 mutex_lock(&sbi->s_alloc_mutex); @@ -50314,9 +50350,9 @@ diff -urNp linux-2.6.32.48/fs/udf/balloc.c linux-= 2.6.32.48/fs/udf/balloc.c udf_debug("%d < %d || %d + %d > %d\n", bloc.logicalBlockNum, 0, bloc.logicalBlockNum, count, partmap->s_partition_len); -diff -urNp linux-2.6.32.48/fs/udf/inode.c linux-2.6.32.48/fs/udf/inode.c ---- linux-2.6.32.48/fs/udf/inode.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/udf/inode.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/udf/inode.c linux-2.6.32.46/fs/udf/inode.c +--- linux-2.6.32.46/fs/udf/inode.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/udf/inode.c 2011-05-16 21:46:57.000000000 -0400 @@ -484,6 +484,8 @@ static struct buffer_head *inode_getblk( int goal =3D 0, pgoal =3D iinfo->i_location.logicalBlockNum; int lastblock =3D 0; @@ -50326,9 +50362,9 @@ diff -urNp linux-2.6.32.48/fs/udf/inode.c linux-2= .6.32.48/fs/udf/inode.c prev_epos.offset =3D udf_file_entry_alloc_offset(inode); prev_epos.block =3D iinfo->i_location; prev_epos.bh =3D NULL; -diff -urNp linux-2.6.32.48/fs/udf/misc.c linux-2.6.32.48/fs/udf/misc.c ---- linux-2.6.32.48/fs/udf/misc.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/udf/misc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/udf/misc.c linux-2.6.32.46/fs/udf/misc.c +--- linux-2.6.32.46/fs/udf/misc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/udf/misc.c 2011-04-23 12:56:11.000000000 -0400 @@ -286,7 +286,7 @@ void udf_new_tag(char *data, uint16_t id =20 u8 udf_tag_checksum(const struct tag *t) @@ -50338,9 +50374,9 @@ diff -urNp linux-2.6.32.48/fs/udf/misc.c linux-2.= 6.32.48/fs/udf/misc.c u8 checksum =3D 0; int i; for (i =3D 0; i < sizeof(struct tag); ++i) -diff -urNp linux-2.6.32.48/fs/utimes.c linux-2.6.32.48/fs/utimes.c ---- linux-2.6.32.48/fs/utimes.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/utimes.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/utimes.c linux-2.6.32.46/fs/utimes.c +--- linux-2.6.32.46/fs/utimes.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/utimes.c 2011-04-17 15:56:46.000000000 -0400 @@ -1,6 +1,7 @@ #include #include @@ -50362,9 +50398,9 @@ diff -urNp linux-2.6.32.48/fs/utimes.c linux-2.6.= 32.48/fs/utimes.c mutex_lock(&inode->i_mutex); error =3D notify_change(path->dentry, &newattrs); mutex_unlock(&inode->i_mutex); -diff -urNp linux-2.6.32.48/fs/xattr_acl.c linux-2.6.32.48/fs/xattr_acl.c ---- linux-2.6.32.48/fs/xattr_acl.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/xattr_acl.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/xattr_acl.c linux-2.6.32.46/fs/xattr_acl.c +--- linux-2.6.32.46/fs/xattr_acl.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/xattr_acl.c 2011-04-17 15:56:46.000000000 -0400 @@ -17,8 +17,8 @@ struct posix_acl * posix_acl_from_xattr(const void *value, size_t size) @@ -50376,9 +50412,9 @@ diff -urNp linux-2.6.32.48/fs/xattr_acl.c linux-2= .6.32.48/fs/xattr_acl.c int count; struct posix_acl *acl; struct posix_acl_entry *acl_e; -diff -urNp linux-2.6.32.48/fs/xattr.c linux-2.6.32.48/fs/xattr.c ---- linux-2.6.32.48/fs/xattr.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/fs/xattr.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/fs/xattr.c linux-2.6.32.46/fs/xattr.c +--- linux-2.6.32.46/fs/xattr.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/fs/xattr.c 2011-04-17 15:56:46.000000000 -0400 @@ -247,7 +247,7 @@ EXPORT_SYMBOL_GPL(vfs_removexattr); * Extended attribute SET operations */ @@ -50441,9 +50477,9 @@ diff -urNp linux-2.6.32.48/fs/xattr.c linux-2.6.3= 2.48/fs/xattr.c mnt_drop_write(f->f_path.mnt); } fput(f); -diff -urNp linux-2.6.32.48/fs/xfs/linux-2.6/xfs_ioctl32.c linux-2.6.32.4= 8/fs/xfs/linux-2.6/xfs_ioctl32.c ---- linux-2.6.32.48/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-11-12 12:44:30.0= 00000000 -0500 -+++ linux-2.6.32.48/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-11-12 12:46:47.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/fs/xfs/linux-2.6/xfs_ioctl32.c linux-2.6.32.4= 6/fs/xfs/linux-2.6/xfs_ioctl32.c +--- linux-2.6.32.46/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -75,6 +75,7 @@ xfs_compat_ioc_fsgeometry_v1( xfs_fsop_geom_t fsgeo; int error; @@ -50452,9 +50488,9 @@ diff -urNp linux-2.6.32.48/fs/xfs/linux-2.6/xfs_i= octl32.c linux-2.6.32.48/fs/xfs error =3D xfs_fs_geometry(mp, &fsgeo, 3); if (error) return -error; -diff -urNp linux-2.6.32.48/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.32.48/= fs/xfs/linux-2.6/xfs_ioctl.c ---- linux-2.6.32.48/fs/xfs/linux-2.6/xfs_ioctl.c 2011-11-12 12:44:30.000= 000000 -0500 -+++ linux-2.6.32.48/fs/xfs/linux-2.6/xfs_ioctl.c 2011-11-12 12:46:47.000= 000000 -0500 +diff -urNp linux-2.6.32.46/fs/xfs/linux-2.6/xfs_ioctl.c linux-2.6.32.46/= fs/xfs/linux-2.6/xfs_ioctl.c +--- linux-2.6.32.46/fs/xfs/linux-2.6/xfs_ioctl.c 2011-04-17 17:00:52.000= 000000 -0400 ++++ linux-2.6.32.46/fs/xfs/linux-2.6/xfs_ioctl.c 2011-04-17 20:07:09.000= 000000 -0400 @@ -134,7 +134,7 @@ xfs_find_handle( } =20 @@ -50482,9 +50518,9 @@ diff -urNp linux-2.6.32.48/fs/xfs/linux-2.6/xfs_i= octl.c linux-2.6.32.48/fs/xfs/l int error; =20 error =3D xfs_fs_geometry(mp, &fsgeo, 3); -diff -urNp linux-2.6.32.48/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.32.48/f= s/xfs/linux-2.6/xfs_iops.c ---- linux-2.6.32.48/fs/xfs/linux-2.6/xfs_iops.c 2011-11-12 12:44:30.0000= 00000 -0500 -+++ linux-2.6.32.48/fs/xfs/linux-2.6/xfs_iops.c 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.32.46/f= s/xfs/linux-2.6/xfs_iops.c +--- linux-2.6.32.46/fs/xfs/linux-2.6/xfs_iops.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/fs/xfs/linux-2.6/xfs_iops.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -468,7 +468,7 @@ xfs_vn_put_link( struct nameidata *nd, void *p) @@ -50494,9 +50530,9 @@ diff -urNp linux-2.6.32.48/fs/xfs/linux-2.6/xfs_i= ops.c linux-2.6.32.48/fs/xfs/li =20 if (!IS_ERR(s)) kfree(s); -diff -urNp linux-2.6.32.48/fs/xfs/xfs_bmap.c linux-2.6.32.48/fs/xfs/xfs_= bmap.c ---- linux-2.6.32.48/fs/xfs/xfs_bmap.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/fs/xfs/xfs_bmap.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/fs/xfs/xfs_bmap.c linux-2.6.32.46/fs/xfs/xfs_= bmap.c +--- linux-2.6.32.46/fs/xfs/xfs_bmap.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/fs/xfs/xfs_bmap.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -360,7 +360,7 @@ xfs_bmap_validate_ret( int nmap, int ret_nmap); @@ -50506,9 +50542,9 @@ diff -urNp linux-2.6.32.48/fs/xfs/xfs_bmap.c linu= x-2.6.32.48/fs/xfs/xfs_bmap.c #endif /* DEBUG */ =20 #if defined(XFS_RW_TRACE) -diff -urNp linux-2.6.32.48/fs/xfs/xfs_dir2_sf.c linux-2.6.32.48/fs/xfs/x= fs_dir2_sf.c ---- linux-2.6.32.48/fs/xfs/xfs_dir2_sf.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/fs/xfs/xfs_dir2_sf.c 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/fs/xfs/xfs_dir2_sf.c linux-2.6.32.46/fs/xfs/x= fs_dir2_sf.c +--- linux-2.6.32.46/fs/xfs/xfs_dir2_sf.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/fs/xfs/xfs_dir2_sf.c 2011-04-18 22:07:30.000000000 -= 0400 @@ -779,7 +779,15 @@ xfs_dir2_sf_getdents( } =20 @@ -50526,9 +50562,9 @@ diff -urNp linux-2.6.32.48/fs/xfs/xfs_dir2_sf.c l= inux-2.6.32.48/fs/xfs/xfs_dir2_ off & 0x7fffffff, ino, DT_UNKNOWN)) { *offset =3D off & 0x7fffffff; return 0; -diff -urNp linux-2.6.32.48/grsecurity/gracl_alloc.c linux-2.6.32.48/grse= curity/gracl_alloc.c ---- linux-2.6.32.48/grsecurity/gracl_alloc.c 1969-12-31 19:00:00.0000000= 00 -0500 -+++ linux-2.6.32.48/grsecurity/gracl_alloc.c 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/grsecurity/gracl_alloc.c linux-2.6.32.46/grse= curity/gracl_alloc.c +--- linux-2.6.32.46/grsecurity/gracl_alloc.c 1969-12-31 19:00:00.0000000= 00 -0500 ++++ linux-2.6.32.46/grsecurity/gracl_alloc.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -0,0 +1,105 @@ +#include +#include @@ -50635,9 +50671,9 @@ diff -urNp linux-2.6.32.48/grsecurity/gracl_alloc= .c linux-2.6.32.48/grsecurity/g + else + return 1; +} -diff -urNp linux-2.6.32.48/grsecurity/gracl.c linux-2.6.32.48/grsecurity= /gracl.c ---- linux-2.6.32.48/grsecurity/gracl.c 1969-12-31 19:00:00.000000000 -05= 00 -+++ linux-2.6.32.48/grsecurity/gracl.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/grsecurity/gracl.c linux-2.6.32.46/grsecurity= /gracl.c +--- linux-2.6.32.46/grsecurity/gracl.c 1969-12-31 19:00:00.000000000 -05= 00 ++++ linux-2.6.32.46/grsecurity/gracl.c 2011-10-17 07:04:31.000000000 -04= 00 @@ -0,0 +1,4140 @@ +#include +#include @@ -54779,9 +54815,9 @@ diff -urNp linux-2.6.32.48/grsecurity/gracl.c lin= ux-2.6.32.48/grsecurity/gracl.c +EXPORT_SYMBOL(gr_check_group_change); +#endif + -diff -urNp linux-2.6.32.48/grsecurity/gracl_cap.c linux-2.6.32.48/grsecu= rity/gracl_cap.c ---- linux-2.6.32.48/grsecurity/gracl_cap.c 1969-12-31 19:00:00.000000000= -0500 -+++ linux-2.6.32.48/grsecurity/gracl_cap.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/grsecurity/gracl_cap.c linux-2.6.32.46/grsecu= rity/gracl_cap.c +--- linux-2.6.32.46/grsecurity/gracl_cap.c 1969-12-31 19:00:00.000000000= -0500 ++++ linux-2.6.32.46/grsecurity/gracl_cap.c 2011-09-14 08:53:50.000000000= -0400 @@ -0,0 +1,101 @@ +#include +#include @@ -54884,9 +54920,9 @@ diff -urNp linux-2.6.32.48/grsecurity/gracl_cap.c= linux-2.6.32.48/grsecurity/gra + return 0; +} + -diff -urNp linux-2.6.32.48/grsecurity/gracl_fs.c linux-2.6.32.48/grsecur= ity/gracl_fs.c ---- linux-2.6.32.48/grsecurity/gracl_fs.c 1969-12-31 19:00:00.000000000 = -0500 -+++ linux-2.6.32.48/grsecurity/gracl_fs.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/grsecurity/gracl_fs.c linux-2.6.32.46/grsecur= ity/gracl_fs.c +--- linux-2.6.32.46/grsecurity/gracl_fs.c 1969-12-31 19:00:00.000000000 = -0500 ++++ linux-2.6.32.46/grsecurity/gracl_fs.c 2011-10-17 02:16:34.000000000 = -0400 @@ -0,0 +1,431 @@ +#include +#include @@ -55319,9 +55355,9 @@ diff -urNp linux-2.6.32.48/grsecurity/gracl_fs.c = linux-2.6.32.48/grsecurity/grac + + return 0; +} -diff -urNp linux-2.6.32.48/grsecurity/gracl_ip.c linux-2.6.32.48/grsecur= ity/gracl_ip.c ---- linux-2.6.32.48/grsecurity/gracl_ip.c 1969-12-31 19:00:00.000000000 = -0500 -+++ linux-2.6.32.48/grsecurity/gracl_ip.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/grsecurity/gracl_ip.c linux-2.6.32.46/grsecur= ity/gracl_ip.c +--- linux-2.6.32.46/grsecurity/gracl_ip.c 1969-12-31 19:00:00.000000000 = -0500 ++++ linux-2.6.32.46/grsecurity/gracl_ip.c 2011-04-17 15:56:46.000000000 = -0400 @@ -0,0 +1,382 @@ +#include +#include @@ -55705,9 +55741,9 @@ diff -urNp linux-2.6.32.48/grsecurity/gracl_ip.c = linux-2.6.32.48/grsecurity/grac + + return gr_search_connectbind(GR_CONNECT | GR_CONNECTOVERRIDE, sk, &sin= , SOCK_DGRAM); +} -diff -urNp linux-2.6.32.48/grsecurity/gracl_learn.c linux-2.6.32.48/grse= curity/gracl_learn.c ---- linux-2.6.32.48/grsecurity/gracl_learn.c 1969-12-31 19:00:00.0000000= 00 -0500 -+++ linux-2.6.32.48/grsecurity/gracl_learn.c 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/grsecurity/gracl_learn.c linux-2.6.32.46/grse= curity/gracl_learn.c +--- linux-2.6.32.46/grsecurity/gracl_learn.c 1969-12-31 19:00:00.0000000= 00 -0500 ++++ linux-2.6.32.46/grsecurity/gracl_learn.c 2011-07-14 21:02:03.0000000= 00 -0400 @@ -0,0 +1,208 @@ +#include +#include @@ -55917,9 +55953,9 @@ diff -urNp linux-2.6.32.48/grsecurity/gracl_learn= .c linux-2.6.32.48/grsecurity/g + .release =3D close_learn, + .poll =3D poll_learn, +}; -diff -urNp linux-2.6.32.48/grsecurity/gracl_res.c linux-2.6.32.48/grsecu= rity/gracl_res.c ---- linux-2.6.32.48/grsecurity/gracl_res.c 1969-12-31 19:00:00.000000000= -0500 -+++ linux-2.6.32.48/grsecurity/gracl_res.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/grsecurity/gracl_res.c linux-2.6.32.46/grsecu= rity/gracl_res.c +--- linux-2.6.32.46/grsecurity/gracl_res.c 1969-12-31 19:00:00.000000000= -0500 ++++ linux-2.6.32.46/grsecurity/gracl_res.c 2011-04-17 15:56:46.000000000= -0400 @@ -0,0 +1,67 @@ +#include +#include @@ -55988,9 +56024,9 @@ diff -urNp linux-2.6.32.48/grsecurity/gracl_res.c= linux-2.6.32.48/grsecurity/gra + rcu_read_unlock(); + return; +} -diff -urNp linux-2.6.32.48/grsecurity/gracl_segv.c linux-2.6.32.48/grsec= urity/gracl_segv.c ---- linux-2.6.32.48/grsecurity/gracl_segv.c 1969-12-31 19:00:00.00000000= 0 -0500 -+++ linux-2.6.32.48/grsecurity/gracl_segv.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/grsecurity/gracl_segv.c linux-2.6.32.46/grsec= urity/gracl_segv.c +--- linux-2.6.32.46/grsecurity/gracl_segv.c 1969-12-31 19:00:00.00000000= 0 -0500 ++++ linux-2.6.32.46/grsecurity/gracl_segv.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -0,0 +1,284 @@ +#include +#include @@ -56276,9 +56312,9 @@ diff -urNp linux-2.6.32.48/grsecurity/gracl_segv.= c linux-2.6.32.48/grsecurity/gr + + return; +} -diff -urNp linux-2.6.32.48/grsecurity/gracl_shm.c linux-2.6.32.48/grsecu= rity/gracl_shm.c ---- linux-2.6.32.48/grsecurity/gracl_shm.c 1969-12-31 19:00:00.000000000= -0500 -+++ linux-2.6.32.48/grsecurity/gracl_shm.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/grsecurity/gracl_shm.c linux-2.6.32.46/grsecu= rity/gracl_shm.c +--- linux-2.6.32.46/grsecurity/gracl_shm.c 1969-12-31 19:00:00.000000000= -0500 ++++ linux-2.6.32.46/grsecurity/gracl_shm.c 2011-04-17 15:56:46.000000000= -0400 @@ -0,0 +1,40 @@ +#include +#include @@ -56320,9 +56356,9 @@ diff -urNp linux-2.6.32.48/grsecurity/gracl_shm.c= linux-2.6.32.48/grsecurity/gra + + return 1; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_chdir.c linux-2.6.32.48/grse= curity/grsec_chdir.c ---- linux-2.6.32.48/grsecurity/grsec_chdir.c 1969-12-31 19:00:00.0000000= 00 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_chdir.c 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_chdir.c linux-2.6.32.46/grse= curity/grsec_chdir.c +--- linux-2.6.32.46/grsecurity/grsec_chdir.c 1969-12-31 19:00:00.0000000= 00 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_chdir.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -0,0 +1,19 @@ +#include +#include @@ -56343,9 +56379,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_chdir= .c linux-2.6.32.48/grsecurity/g +#endif + return; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_chroot.c linux-2.6.32.48/grs= ecurity/grsec_chroot.c ---- linux-2.6.32.48/grsecurity/grsec_chroot.c 1969-12-31 19:00:00.000000= 000 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_chroot.c 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_chroot.c linux-2.6.32.46/grs= ecurity/grsec_chroot.c +--- linux-2.6.32.46/grsecurity/grsec_chroot.c 1969-12-31 19:00:00.000000= 000 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_chroot.c 2011-09-15 06:48:16.000000= 000 -0400 @@ -0,0 +1,386 @@ +#include +#include @@ -56733,9 +56769,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_chroo= t.c linux-2.6.32.48/grsecurity/ +#endif + return 0; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_disabled.c linux-2.6.32.48/g= rsecurity/grsec_disabled.c ---- linux-2.6.32.48/grsecurity/grsec_disabled.c 1969-12-31 19:00:00.0000= 00000 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_disabled.c 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_disabled.c linux-2.6.32.46/g= rsecurity/grsec_disabled.c +--- linux-2.6.32.46/grsecurity/grsec_disabled.c 1969-12-31 19:00:00.0000= 00000 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_disabled.c 2011-10-25 09:16:40.0000= 00000 -0400 @@ -0,0 +1,439 @@ +#include +#include @@ -57176,9 +57212,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_disab= led.c linux-2.6.32.48/grsecurit +EXPORT_SYMBOL(gr_check_user_change); +EXPORT_SYMBOL(gr_check_group_change); +#endif -diff -urNp linux-2.6.32.48/grsecurity/grsec_exec.c linux-2.6.32.48/grsec= urity/grsec_exec.c ---- linux-2.6.32.48/grsecurity/grsec_exec.c 1969-12-31 19:00:00.00000000= 0 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_exec.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_exec.c linux-2.6.32.46/grsec= urity/grsec_exec.c +--- linux-2.6.32.46/grsecurity/grsec_exec.c 1969-12-31 19:00:00.00000000= 0 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_exec.c 2011-09-13 22:54:27.00000000= 0 -0400 @@ -0,0 +1,204 @@ +#include +#include @@ -57384,9 +57420,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_exec.= c linux-2.6.32.48/grsecurity/gr + +EXPORT_SYMBOL(gr_is_capable); +EXPORT_SYMBOL(gr_is_capable_nolog); -diff -urNp linux-2.6.32.48/grsecurity/grsec_fifo.c linux-2.6.32.48/grsec= urity/grsec_fifo.c ---- linux-2.6.32.48/grsecurity/grsec_fifo.c 1969-12-31 19:00:00.00000000= 0 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_fifo.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_fifo.c linux-2.6.32.46/grsec= urity/grsec_fifo.c +--- linux-2.6.32.46/grsecurity/grsec_fifo.c 1969-12-31 19:00:00.00000000= 0 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_fifo.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -0,0 +1,24 @@ +#include +#include @@ -57412,9 +57448,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_fifo.= c linux-2.6.32.48/grsecurity/gr +#endif + return 0; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_fork.c linux-2.6.32.48/grsec= urity/grsec_fork.c ---- linux-2.6.32.48/grsecurity/grsec_fork.c 1969-12-31 19:00:00.00000000= 0 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_fork.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_fork.c linux-2.6.32.46/grsec= urity/grsec_fork.c +--- linux-2.6.32.46/grsecurity/grsec_fork.c 1969-12-31 19:00:00.00000000= 0 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_fork.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -0,0 +1,23 @@ +#include +#include @@ -57439,9 +57475,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_fork.= c linux-2.6.32.48/grsecurity/gr +#endif + return; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_init.c linux-2.6.32.48/grsec= urity/grsec_init.c ---- linux-2.6.32.48/grsecurity/grsec_init.c 1969-12-31 19:00:00.00000000= 0 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_init.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_init.c linux-2.6.32.46/grsec= urity/grsec_init.c +--- linux-2.6.32.46/grsecurity/grsec_init.c 1969-12-31 19:00:00.00000000= 0 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_init.c 2011-08-11 19:57:42.00000000= 0 -0400 @@ -0,0 +1,270 @@ +#include +#include @@ -57713,9 +57749,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_init.= c linux-2.6.32.48/grsecurity/gr + + return; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_link.c linux-2.6.32.48/grsec= urity/grsec_link.c ---- linux-2.6.32.48/grsecurity/grsec_link.c 1969-12-31 19:00:00.00000000= 0 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_link.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_link.c linux-2.6.32.46/grsec= urity/grsec_link.c +--- linux-2.6.32.46/grsecurity/grsec_link.c 1969-12-31 19:00:00.00000000= 0 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_link.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -0,0 +1,43 @@ +#include +#include @@ -57760,9 +57796,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_link.= c linux-2.6.32.48/grsecurity/gr +#endif + return 0; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_log.c linux-2.6.32.48/grsecu= rity/grsec_log.c ---- linux-2.6.32.48/grsecurity/grsec_log.c 1969-12-31 19:00:00.000000000= -0500 -+++ linux-2.6.32.48/grsecurity/grsec_log.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_log.c linux-2.6.32.46/grsecu= rity/grsec_log.c +--- linux-2.6.32.46/grsecurity/grsec_log.c 1969-12-31 19:00:00.000000000= -0500 ++++ linux-2.6.32.46/grsecurity/grsec_log.c 2011-09-26 10:44:49.000000000= -0400 @@ -0,0 +1,315 @@ +#include +#include @@ -58079,9 +58115,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_log.c= linux-2.6.32.48/grsecurity/grs + gr_log_end(audit); + END_LOCKS(audit); +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_mem.c linux-2.6.32.48/grsecu= rity/grsec_mem.c ---- linux-2.6.32.48/grsecurity/grsec_mem.c 1969-12-31 19:00:00.000000000= -0500 -+++ linux-2.6.32.48/grsecurity/grsec_mem.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_mem.c linux-2.6.32.46/grsecu= rity/grsec_mem.c +--- linux-2.6.32.46/grsecurity/grsec_mem.c 1969-12-31 19:00:00.000000000= -0500 ++++ linux-2.6.32.46/grsecurity/grsec_mem.c 2011-04-17 15:56:46.000000000= -0400 @@ -0,0 +1,33 @@ +#include +#include @@ -58116,9 +58152,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_mem.c= linux-2.6.32.48/grsecurity/grs + gr_log_noargs(GR_DONT_AUDIT, GR_VM86_MSG); + return; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_mount.c linux-2.6.32.48/grse= curity/grsec_mount.c ---- linux-2.6.32.48/grsecurity/grsec_mount.c 1969-12-31 19:00:00.0000000= 00 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_mount.c 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_mount.c linux-2.6.32.46/grse= curity/grsec_mount.c +--- linux-2.6.32.46/grsecurity/grsec_mount.c 1969-12-31 19:00:00.0000000= 00 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_mount.c 2011-06-20 19:47:03.0000000= 00 -0400 @@ -0,0 +1,62 @@ +#include +#include @@ -58182,9 +58218,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_mount= .c linux-2.6.32.48/grsecurity/g +#endif + return 0; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_pax.c linux-2.6.32.48/grsecu= rity/grsec_pax.c ---- linux-2.6.32.48/grsecurity/grsec_pax.c 1969-12-31 19:00:00.000000000= -0500 -+++ linux-2.6.32.48/grsecurity/grsec_pax.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_pax.c linux-2.6.32.46/grsecu= rity/grsec_pax.c +--- linux-2.6.32.46/grsecurity/grsec_pax.c 1969-12-31 19:00:00.000000000= -0500 ++++ linux-2.6.32.46/grsecurity/grsec_pax.c 2011-04-17 15:56:46.000000000= -0400 @@ -0,0 +1,36 @@ +#include +#include @@ -58222,9 +58258,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_pax.c= linux-2.6.32.48/grsecurity/grs +#endif + return; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_ptrace.c linux-2.6.32.48/grs= ecurity/grsec_ptrace.c ---- linux-2.6.32.48/grsecurity/grsec_ptrace.c 1969-12-31 19:00:00.000000= 000 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_ptrace.c 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_ptrace.c linux-2.6.32.46/grs= ecurity/grsec_ptrace.c +--- linux-2.6.32.46/grsecurity/grsec_ptrace.c 1969-12-31 19:00:00.000000= 000 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_ptrace.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -0,0 +1,14 @@ +#include +#include @@ -58240,9 +58276,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_ptrac= e.c linux-2.6.32.48/grsecurity/ +#endif + return; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_sig.c linux-2.6.32.48/grsecu= rity/grsec_sig.c ---- linux-2.6.32.48/grsecurity/grsec_sig.c 1969-12-31 19:00:00.000000000= -0500 -+++ linux-2.6.32.48/grsecurity/grsec_sig.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_sig.c linux-2.6.32.46/grsecu= rity/grsec_sig.c +--- linux-2.6.32.46/grsecurity/grsec_sig.c 1969-12-31 19:00:00.000000000= -0500 ++++ linux-2.6.32.46/grsecurity/grsec_sig.c 2011-06-29 19:40:31.000000000= -0400 @@ -0,0 +1,205 @@ +#include +#include @@ -58449,9 +58485,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_sig.c= linux-2.6.32.48/grsecurity/grs +#endif + return 0; +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_sock.c linux-2.6.32.48/grsec= urity/grsec_sock.c ---- linux-2.6.32.48/grsecurity/grsec_sock.c 1969-12-31 19:00:00.00000000= 0 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_sock.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_sock.c linux-2.6.32.46/grsec= urity/grsec_sock.c +--- linux-2.6.32.46/grsecurity/grsec_sock.c 1969-12-31 19:00:00.00000000= 0 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_sock.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -0,0 +1,275 @@ +#include +#include @@ -58728,9 +58764,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_sock.= c linux-2.6.32.48/grsecurity/gr + return current_cap(); +#endif +} -diff -urNp linux-2.6.32.48/grsecurity/grsec_sysctl.c linux-2.6.32.48/grs= ecurity/grsec_sysctl.c ---- linux-2.6.32.48/grsecurity/grsec_sysctl.c 1969-12-31 19:00:00.000000= 000 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_sysctl.c 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_sysctl.c linux-2.6.32.46/grs= ecurity/grsec_sysctl.c +--- linux-2.6.32.46/grsecurity/grsec_sysctl.c 1969-12-31 19:00:00.000000= 000 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_sysctl.c 2011-08-11 19:57:54.000000= 000 -0400 @@ -0,0 +1,479 @@ +#include +#include @@ -59211,9 +59247,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_sysct= l.c linux-2.6.32.48/grsecurity/ + { .ctl_name =3D 0 } +}; +#endif -diff -urNp linux-2.6.32.48/grsecurity/grsec_time.c linux-2.6.32.48/grsec= urity/grsec_time.c ---- linux-2.6.32.48/grsecurity/grsec_time.c 1969-12-31 19:00:00.00000000= 0 -0500 -+++ linux-2.6.32.48/grsecurity/grsec_time.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_time.c linux-2.6.32.46/grsec= urity/grsec_time.c +--- linux-2.6.32.46/grsecurity/grsec_time.c 1969-12-31 19:00:00.00000000= 0 -0500 ++++ linux-2.6.32.46/grsecurity/grsec_time.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -0,0 +1,16 @@ +#include +#include @@ -59231,9 +59267,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_time.= c linux-2.6.32.48/grsecurity/gr +} + +EXPORT_SYMBOL(gr_log_timechange); -diff -urNp linux-2.6.32.48/grsecurity/grsec_tpe.c linux-2.6.32.48/grsecu= rity/grsec_tpe.c ---- linux-2.6.32.48/grsecurity/grsec_tpe.c 1969-12-31 19:00:00.000000000= -0500 -+++ linux-2.6.32.48/grsecurity/grsec_tpe.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/grsecurity/grsec_tpe.c linux-2.6.32.46/grsecu= rity/grsec_tpe.c +--- linux-2.6.32.46/grsecurity/grsec_tpe.c 1969-12-31 19:00:00.000000000= -0500 ++++ linux-2.6.32.46/grsecurity/grsec_tpe.c 2011-04-17 15:56:46.000000000= -0400 @@ -0,0 +1,39 @@ +#include +#include @@ -59274,9 +59310,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsec_tpe.c= linux-2.6.32.48/grsecurity/grs +#endif + return 1; +} -diff -urNp linux-2.6.32.48/grsecurity/grsum.c linux-2.6.32.48/grsecurity= /grsum.c ---- linux-2.6.32.48/grsecurity/grsum.c 1969-12-31 19:00:00.000000000 -05= 00 -+++ linux-2.6.32.48/grsecurity/grsum.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/grsecurity/grsum.c linux-2.6.32.46/grsecurity= /grsum.c +--- linux-2.6.32.46/grsecurity/grsum.c 1969-12-31 19:00:00.000000000 -05= 00 ++++ linux-2.6.32.46/grsecurity/grsum.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -0,0 +1,61 @@ +#include +#include @@ -59339,9 +59375,9 @@ diff -urNp linux-2.6.32.48/grsecurity/grsum.c lin= ux-2.6.32.48/grsecurity/grsum.c + + return retval; +} -diff -urNp linux-2.6.32.48/grsecurity/Kconfig linux-2.6.32.48/grsecurity= /Kconfig ---- linux-2.6.32.48/grsecurity/Kconfig 1969-12-31 19:00:00.000000000 -05= 00 -+++ linux-2.6.32.48/grsecurity/Kconfig 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/grsecurity/Kconfig linux-2.6.32.46/grsecurity= /Kconfig +--- linux-2.6.32.46/grsecurity/Kconfig 1969-12-31 19:00:00.000000000 -05= 00 ++++ linux-2.6.32.46/grsecurity/Kconfig 2011-09-15 00:00:38.000000000 -04= 00 @@ -0,0 +1,1037 @@ +# +# grecurity configuration @@ -60380,9 +60416,9 @@ diff -urNp linux-2.6.32.48/grsecurity/Kconfig lin= ux-2.6.32.48/grsecurity/Kconfig +endmenu + +endmenu -diff -urNp linux-2.6.32.48/grsecurity/Makefile linux-2.6.32.48/grsecurit= y/Makefile ---- linux-2.6.32.48/grsecurity/Makefile 1969-12-31 19:00:00.000000000 -0= 500 -+++ linux-2.6.32.48/grsecurity/Makefile 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/grsecurity/Makefile linux-2.6.32.46/grsecurit= y/Makefile +--- linux-2.6.32.46/grsecurity/Makefile 1969-12-31 19:00:00.000000000 -0= 500 ++++ linux-2.6.32.46/grsecurity/Makefile 2011-10-17 06:48:36.000000000 -0= 400 @@ -0,0 +1,36 @@ +# grsecurity's ACL system was originally written in 2001 by Michael Dal= ton +# during 2001-2009 it has been completely redesigned by Brad Spengler @@ -60420,9 +60456,9 @@ diff -urNp linux-2.6.32.48/grsecurity/Makefile li= nux-2.6.32.48/grsecurity/Makefi + @-chmod -f 700 . + @echo ' grsec: protected kernel image paths' +endif -diff -urNp linux-2.6.32.48/include/acpi/acpi_bus.h linux-2.6.32.48/inclu= de/acpi/acpi_bus.h ---- linux-2.6.32.48/include/acpi/acpi_bus.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/include/acpi/acpi_bus.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/acpi/acpi_bus.h linux-2.6.32.46/inclu= de/acpi/acpi_bus.h +--- linux-2.6.32.46/include/acpi/acpi_bus.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/acpi/acpi_bus.h 2011-08-05 20:33:55.00000000= 0 -0400 @@ -107,7 +107,7 @@ struct acpi_device_ops { acpi_op_bind bind; acpi_op_unbind unbind; @@ -60432,9 +60468,9 @@ diff -urNp linux-2.6.32.48/include/acpi/acpi_bus.= h linux-2.6.32.48/include/acpi/ =20 #define ACPI_DRIVER_ALL_NOTIFY_EVENTS 0x1 /* system AND device events *= / =20 -diff -urNp linux-2.6.32.48/include/acpi/acpi_drivers.h linux-2.6.32.48/i= nclude/acpi/acpi_drivers.h ---- linux-2.6.32.48/include/acpi/acpi_drivers.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/acpi/acpi_drivers.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/acpi/acpi_drivers.h linux-2.6.32.46/i= nclude/acpi/acpi_drivers.h +--- linux-2.6.32.46/include/acpi/acpi_drivers.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/acpi/acpi_drivers.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -119,8 +119,8 @@ int acpi_processor_set_thermal_limit(acp Dock Station ---------------------------------------------------------------------= ----- */ @@ -60464,9 +60500,9 @@ diff -urNp linux-2.6.32.48/include/acpi/acpi_driv= ers.h linux-2.6.32.48/include/a void *context) { return -ENODEV; -diff -urNp linux-2.6.32.48/include/asm-generic/atomic-long.h linux-2.6.3= 2.48/include/asm-generic/atomic-long.h ---- linux-2.6.32.48/include/asm-generic/atomic-long.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/include/asm-generic/atomic-long.h 2011-11-12 12:46:4= 7.000000000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/atomic-long.h linux-2.6.3= 2.46/include/asm-generic/atomic-long.h +--- linux-2.6.32.46/include/asm-generic/atomic-long.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/include/asm-generic/atomic-long.h 2011-07-13 22:21:2= 5.000000000 -0400 @@ -22,6 +22,12 @@ =20 typedef atomic64_t atomic_long_t; @@ -60733,9 +60769,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/at= omic-long.h linux-2.6.32.48/inc +#endif + #endif /* _ASM_GENERIC_ATOMIC_LONG_H */ -diff -urNp linux-2.6.32.48/include/asm-generic/bug.h linux-2.6.32.48/inc= lude/asm-generic/bug.h ---- linux-2.6.32.48/include/asm-generic/bug.h 2011-11-12 12:44:30.000000= 000 -0500 -+++ linux-2.6.32.48/include/asm-generic/bug.h 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/bug.h linux-2.6.32.46/inc= lude/asm-generic/bug.h +--- linux-2.6.32.46/include/asm-generic/bug.h 2011-07-13 17:23:04.000000= 000 -0400 ++++ linux-2.6.32.46/include/asm-generic/bug.h 2011-08-21 17:56:07.000000= 000 -0400 @@ -105,11 +105,11 @@ extern void warn_slowpath_null(const cha =20 #else /* !CONFIG_BUG */ @@ -60750,9 +60786,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/bu= g.h linux-2.6.32.48/include/asm #endif =20 #ifndef HAVE_ARCH_WARN_ON -diff -urNp linux-2.6.32.48/include/asm-generic/cache.h linux-2.6.32.48/i= nclude/asm-generic/cache.h ---- linux-2.6.32.48/include/asm-generic/cache.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/asm-generic/cache.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/cache.h linux-2.6.32.46/i= nclude/asm-generic/cache.h +--- linux-2.6.32.46/include/asm-generic/cache.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/asm-generic/cache.h 2011-07-06 19:53:33.0000= 00000 -0400 @@ -6,7 +6,7 @@ * cache lines need to provide their own cache.h. */ @@ -60763,9 +60799,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/ca= che.h linux-2.6.32.48/include/a +#define L1_CACHE_BYTES (1UL << L1_CACHE_SHIFT) =20 #endif /* __ASM_GENERIC_CACHE_H */ -diff -urNp linux-2.6.32.48/include/asm-generic/dma-mapping-common.h linu= x-2.6.32.48/include/asm-generic/dma-mapping-common.h ---- linux-2.6.32.48/include/asm-generic/dma-mapping-common.h 2011-11-12 = 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/include/asm-generic/dma-mapping-common.h 2011-11-12 = 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/dma-mapping-common.h linu= x-2.6.32.46/include/asm-generic/dma-mapping-common.h +--- linux-2.6.32.46/include/asm-generic/dma-mapping-common.h 2011-03-27 = 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/include/asm-generic/dma-mapping-common.h 2011-04-17 = 15:56:46.000000000 -0400 @@ -11,7 +11,7 @@ static inline dma_addr_t dma_map_single_ enum dma_data_direction dir, struct dma_attrs *attrs) @@ -60874,9 +60910,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/dm= a-mapping-common.h linux-2.6.32 =20 BUG_ON(!valid_dma_direction(dir)); if (ops->sync_sg_for_device) -diff -urNp linux-2.6.32.48/include/asm-generic/emergency-restart.h linux= -2.6.32.48/include/asm-generic/emergency-restart.h ---- linux-2.6.32.48/include/asm-generic/emergency-restart.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/include/asm-generic/emergency-restart.h 2011-11-12 1= 2:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/emergency-restart.h linux= -2.6.32.46/include/asm-generic/emergency-restart.h +--- linux-2.6.32.46/include/asm-generic/emergency-restart.h 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/include/asm-generic/emergency-restart.h 2011-08-21 1= 9:17:17.000000000 -0400 @@ -1,7 +1,7 @@ #ifndef _ASM_GENERIC_EMERGENCY_RESTART_H #define _ASM_GENERIC_EMERGENCY_RESTART_H @@ -60886,9 +60922,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/em= ergency-restart.h linux-2.6.32. { machine_restart(NULL); } -diff -urNp linux-2.6.32.48/include/asm-generic/futex.h linux-2.6.32.48/i= nclude/asm-generic/futex.h ---- linux-2.6.32.48/include/asm-generic/futex.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/asm-generic/futex.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/futex.h linux-2.6.32.46/i= nclude/asm-generic/futex.h +--- linux-2.6.32.46/include/asm-generic/futex.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/asm-generic/futex.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -6,7 +6,7 @@ #include =20 @@ -60907,9 +60943,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/fu= tex.h linux-2.6.32.48/include/a { return -ENOSYS; } -diff -urNp linux-2.6.32.48/include/asm-generic/int-l64.h linux-2.6.32.48= /include/asm-generic/int-l64.h ---- linux-2.6.32.48/include/asm-generic/int-l64.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/include/asm-generic/int-l64.h 2011-11-12 12:46:47.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/int-l64.h linux-2.6.32.46= /include/asm-generic/int-l64.h +--- linux-2.6.32.46/include/asm-generic/int-l64.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/include/asm-generic/int-l64.h 2011-04-17 15:56:46.00= 0000000 -0400 @@ -46,6 +46,8 @@ typedef unsigned int u32; typedef signed long s64; typedef unsigned long u64; @@ -60919,9 +60955,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/in= t-l64.h linux-2.6.32.48/include #define S8_C(x) x #define U8_C(x) x ## U #define S16_C(x) x -diff -urNp linux-2.6.32.48/include/asm-generic/int-ll64.h linux-2.6.32.4= 8/include/asm-generic/int-ll64.h ---- linux-2.6.32.48/include/asm-generic/int-ll64.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/include/asm-generic/int-ll64.h 2011-11-12 12:46:47.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/int-ll64.h linux-2.6.32.4= 6/include/asm-generic/int-ll64.h +--- linux-2.6.32.46/include/asm-generic/int-ll64.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/include/asm-generic/int-ll64.h 2011-04-17 15:56:46.0= 00000000 -0400 @@ -51,6 +51,8 @@ typedef unsigned int u32; typedef signed long long s64; typedef unsigned long long u64; @@ -60931,9 +60967,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/in= t-ll64.h linux-2.6.32.48/includ #define S8_C(x) x #define U8_C(x) x ## U #define S16_C(x) x -diff -urNp linux-2.6.32.48/include/asm-generic/kmap_types.h linux-2.6.32= .48/include/asm-generic/kmap_types.h ---- linux-2.6.32.48/include/asm-generic/kmap_types.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/include/asm-generic/kmap_types.h 2011-11-12 12:46:47= .000000000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/kmap_types.h linux-2.6.32= .46/include/asm-generic/kmap_types.h +--- linux-2.6.32.46/include/asm-generic/kmap_types.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/include/asm-generic/kmap_types.h 2011-04-17 15:56:46= .000000000 -0400 @@ -28,7 +28,8 @@ KMAP_D(15) KM_UML_USERCOPY, KMAP_D(16) KM_IRQ_PTE, KMAP_D(17) KM_NMI, @@ -60944,9 +60980,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/km= ap_types.h linux-2.6.32.48/incl }; =20 #undef KMAP_D -diff -urNp linux-2.6.32.48/include/asm-generic/pgtable.h linux-2.6.32.48= /include/asm-generic/pgtable.h ---- linux-2.6.32.48/include/asm-generic/pgtable.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/include/asm-generic/pgtable.h 2011-11-12 12:46:47.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/pgtable.h linux-2.6.32.46= /include/asm-generic/pgtable.h +--- linux-2.6.32.46/include/asm-generic/pgtable.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/include/asm-generic/pgtable.h 2011-04-17 15:56:46.00= 0000000 -0400 @@ -344,6 +344,14 @@ extern void untrack_pfn_vma(struct vm_ar unsigned long size); #endif @@ -60962,9 +60998,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/pg= table.h linux-2.6.32.48/include #endif /* !__ASSEMBLY__ */ =20 #endif /* _ASM_GENERIC_PGTABLE_H */ -diff -urNp linux-2.6.32.48/include/asm-generic/pgtable-nopmd.h linux-2.6= .32.48/include/asm-generic/pgtable-nopmd.h ---- linux-2.6.32.48/include/asm-generic/pgtable-nopmd.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/include/asm-generic/pgtable-nopmd.h 2011-11-12 12:46= :47.000000000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/pgtable-nopmd.h linux-2.6= .32.46/include/asm-generic/pgtable-nopmd.h +--- linux-2.6.32.46/include/asm-generic/pgtable-nopmd.h 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/include/asm-generic/pgtable-nopmd.h 2011-04-17 15:56= :46.000000000 -0400 @@ -1,14 +1,19 @@ #ifndef _PGTABLE_NOPMD_H #define _PGTABLE_NOPMD_H @@ -61001,9 +61037,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/pg= table-nopmd.h linux-2.6.32.48/i /* * The "pud_xxx()" functions here are trivial for a folded two-level * setup: the pmd is never bad, and a pmd always exists (as it's folded -diff -urNp linux-2.6.32.48/include/asm-generic/pgtable-nopud.h linux-2.6= .32.48/include/asm-generic/pgtable-nopud.h ---- linux-2.6.32.48/include/asm-generic/pgtable-nopud.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/include/asm-generic/pgtable-nopud.h 2011-11-12 12:46= :47.000000000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/pgtable-nopud.h linux-2.6= .32.46/include/asm-generic/pgtable-nopud.h +--- linux-2.6.32.46/include/asm-generic/pgtable-nopud.h 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/include/asm-generic/pgtable-nopud.h 2011-04-17 15:56= :46.000000000 -0400 @@ -1,10 +1,15 @@ #ifndef _PGTABLE_NOPUD_H #define _PGTABLE_NOPUD_H @@ -61034,9 +61070,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/pg= table-nopud.h linux-2.6.32.48/i /* * The "pgd_xxx()" functions here are trivial for a folded two-level * setup: the pud is never bad, and a pud always exists (as it's folded -diff -urNp linux-2.6.32.48/include/asm-generic/vmlinux.lds.h linux-2.6.3= 2.48/include/asm-generic/vmlinux.lds.h ---- linux-2.6.32.48/include/asm-generic/vmlinux.lds.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/include/asm-generic/vmlinux.lds.h 2011-11-12 12:46:4= 7.000000000 -0500 +diff -urNp linux-2.6.32.46/include/asm-generic/vmlinux.lds.h linux-2.6.3= 2.46/include/asm-generic/vmlinux.lds.h +--- linux-2.6.32.46/include/asm-generic/vmlinux.lds.h 2011-03-27 14:31:4= 7.000000000 -0400 ++++ linux-2.6.32.46/include/asm-generic/vmlinux.lds.h 2011-04-17 15:56:4= 6.000000000 -0400 @@ -199,6 +199,7 @@ .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \ VMLINUX_SYMBOL(__start_rodata) =3D .; \ @@ -61075,9 +61111,9 @@ diff -urNp linux-2.6.32.48/include/asm-generic/vm= linux.lds.h linux-2.6.32.48/inc =20 /** * PERCPU - define output section for percpu area, simple version -diff -urNp linux-2.6.32.48/include/drm/drm_crtc_helper.h linux-2.6.32.48= /include/drm/drm_crtc_helper.h ---- linux-2.6.32.48/include/drm/drm_crtc_helper.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/include/drm/drm_crtc_helper.h 2011-11-12 12:46:47.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/include/drm/drm_crtc_helper.h linux-2.6.32.46= /include/drm/drm_crtc_helper.h +--- linux-2.6.32.46/include/drm/drm_crtc_helper.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/include/drm/drm_crtc_helper.h 2011-08-05 20:33:55.00= 0000000 -0400 @@ -64,7 +64,7 @@ struct drm_crtc_helper_funcs { =20 /* reload the current crtc LUT */ @@ -61096,9 +61132,9 @@ diff -urNp linux-2.6.32.48/include/drm/drm_crtc_h= elper.h linux-2.6.32.48/include =20 struct drm_connector_helper_funcs { int (*get_modes)(struct drm_connector *connector); -diff -urNp linux-2.6.32.48/include/drm/drmP.h linux-2.6.32.48/include/dr= m/drmP.h ---- linux-2.6.32.48/include/drm/drmP.h 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/include/drm/drmP.h 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/include/drm/drmP.h linux-2.6.32.46/include/dr= m/drmP.h +--- linux-2.6.32.46/include/drm/drmP.h 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/include/drm/drmP.h 2011-04-17 15:56:46.000000000 -04= 00 @@ -71,6 +71,7 @@ #include #include @@ -61158,9 +61194,9 @@ diff -urNp linux-2.6.32.48/include/drm/drmP.h lin= ux-2.6.32.48/include/drm/drmP.h uint32_t gtt_total; uint32_t invalidate_domains; /* domains pending invalidation */ uint32_t flush_domains; /* domains pending flush */ -diff -urNp linux-2.6.32.48/include/drm/ttm/ttm_memory.h linux-2.6.32.48/= include/drm/ttm/ttm_memory.h ---- linux-2.6.32.48/include/drm/ttm/ttm_memory.h 2011-11-12 12:44:30.000= 000000 -0500 -+++ linux-2.6.32.48/include/drm/ttm/ttm_memory.h 2011-11-12 12:46:47.000= 000000 -0500 +diff -urNp linux-2.6.32.46/include/drm/ttm/ttm_memory.h linux-2.6.32.46/= include/drm/ttm/ttm_memory.h +--- linux-2.6.32.46/include/drm/ttm/ttm_memory.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/include/drm/ttm/ttm_memory.h 2011-08-05 20:33:55.000= 000000 -0400 @@ -47,7 +47,7 @@ =20 struct ttm_mem_shrink { @@ -61170,9 +61206,9 @@ diff -urNp linux-2.6.32.48/include/drm/ttm/ttm_me= mory.h linux-2.6.32.48/include/ =20 /** * struct ttm_mem_global - Global memory accounting structure. -diff -urNp linux-2.6.32.48/include/linux/a.out.h linux-2.6.32.48/include= /linux/a.out.h ---- linux-2.6.32.48/include/linux/a.out.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/a.out.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/a.out.h linux-2.6.32.46/include= /linux/a.out.h +--- linux-2.6.32.46/include/linux/a.out.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/linux/a.out.h 2011-04-17 15:56:46.000000000 = -0400 @@ -39,6 +39,14 @@ enum machine_type { M_MIPS2 =3D 152 /* MIPS R6000/R4000 binary */ }; @@ -61188,9 +61224,9 @@ diff -urNp linux-2.6.32.48/include/linux/a.out.h = linux-2.6.32.48/include/linux/a #if !defined (N_MAGIC) #define N_MAGIC(exec) ((exec).a_info & 0xffff) #endif -diff -urNp linux-2.6.32.48/include/linux/atmdev.h linux-2.6.32.48/includ= e/linux/atmdev.h ---- linux-2.6.32.48/include/linux/atmdev.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/linux/atmdev.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/atmdev.h linux-2.6.32.46/includ= e/linux/atmdev.h +--- linux-2.6.32.46/include/linux/atmdev.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/atmdev.h 2011-04-17 15:56:46.000000000= -0400 @@ -237,7 +237,7 @@ struct compat_atm_iobuf { #endif =20 @@ -61200,9 +61236,9 @@ diff -urNp linux-2.6.32.48/include/linux/atmdev.h= linux-2.6.32.48/include/linux/ __AAL_STAT_ITEMS #undef __HANDLE_ITEM }; -diff -urNp linux-2.6.32.48/include/linux/backlight.h linux-2.6.32.48/inc= lude/linux/backlight.h ---- linux-2.6.32.48/include/linux/backlight.h 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/include/linux/backlight.h 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/include/linux/backlight.h linux-2.6.32.46/inc= lude/linux/backlight.h +--- linux-2.6.32.46/include/linux/backlight.h 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/include/linux/backlight.h 2011-04-17 15:56:46.000000= 000 -0400 @@ -36,18 +36,18 @@ struct backlight_device; struct fb_info; =20 @@ -61244,9 +61280,9 @@ diff -urNp linux-2.6.32.48/include/linux/backligh= t.h linux-2.6.32.48/include/lin extern void backlight_device_unregister(struct backlight_device *bd); extern void backlight_force_update(struct backlight_device *bd, enum backlight_update_reason reason); -diff -urNp linux-2.6.32.48/include/linux/binfmts.h linux-2.6.32.48/inclu= de/linux/binfmts.h ---- linux-2.6.32.48/include/linux/binfmts.h 2011-11-12 12:44:30.00000000= 0 -0500 -+++ linux-2.6.32.48/include/linux/binfmts.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/linux/binfmts.h linux-2.6.32.46/inclu= de/linux/binfmts.h +--- linux-2.6.32.46/include/linux/binfmts.h 2011-04-17 17:00:52.00000000= 0 -0400 ++++ linux-2.6.32.46/include/linux/binfmts.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -83,6 +83,7 @@ struct linux_binfmt { int (*load_binary)(struct linux_binprm *, struct pt_regs * regs); int (*load_shlib)(struct file *); @@ -61255,9 +61291,9 @@ diff -urNp linux-2.6.32.48/include/linux/binfmts.= h linux-2.6.32.48/include/linux unsigned long min_coredump; /* minimal dump size */ int hasvdso; }; -diff -urNp linux-2.6.32.48/include/linux/blkdev.h linux-2.6.32.48/includ= e/linux/blkdev.h ---- linux-2.6.32.48/include/linux/blkdev.h 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/include/linux/blkdev.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/blkdev.h linux-2.6.32.46/includ= e/linux/blkdev.h +--- linux-2.6.32.46/include/linux/blkdev.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/blkdev.h 2011-08-26 20:27:21.000000000= -0400 @@ -1278,7 +1278,7 @@ struct block_device_operations { int (*revalidate_disk) (struct gendisk *); int (*getgeo)(struct block_device *, struct hd_geometry *); @@ -61267,9 +61303,9 @@ diff -urNp linux-2.6.32.48/include/linux/blkdev.h= linux-2.6.32.48/include/linux/ =20 extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsign= ed int, unsigned long); -diff -urNp linux-2.6.32.48/include/linux/blktrace_api.h linux-2.6.32.48/= include/linux/blktrace_api.h ---- linux-2.6.32.48/include/linux/blktrace_api.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/include/linux/blktrace_api.h 2011-11-12 12:46:47.000= 000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/blktrace_api.h linux-2.6.32.46/= include/linux/blktrace_api.h +--- linux-2.6.32.46/include/linux/blktrace_api.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/include/linux/blktrace_api.h 2011-05-04 17:56:28.000= 000000 -0400 @@ -160,7 +160,7 @@ struct blk_trace { struct dentry *dir; struct dentry *dropped_file; @@ -61279,9 +61315,9 @@ diff -urNp linux-2.6.32.48/include/linux/blktrace= _api.h linux-2.6.32.48/include/ }; =20 extern int blk_trace_ioctl(struct block_device *, unsigned, char __user= *); -diff -urNp linux-2.6.32.48/include/linux/byteorder/little_endian.h linux= -2.6.32.48/include/linux/byteorder/little_endian.h ---- linux-2.6.32.48/include/linux/byteorder/little_endian.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/include/linux/byteorder/little_endian.h 2011-11-12 1= 2:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/byteorder/little_endian.h linux= -2.6.32.46/include/linux/byteorder/little_endian.h +--- linux-2.6.32.46/include/linux/byteorder/little_endian.h 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/include/linux/byteorder/little_endian.h 2011-04-17 1= 5:56:46.000000000 -0400 @@ -42,51 +42,51 @@ =20 static inline __le64 __cpu_to_le64p(const __u64 *p) @@ -61346,9 +61382,9 @@ diff -urNp linux-2.6.32.48/include/linux/byteorde= r/little_endian.h linux-2.6.32. } #define __cpu_to_le64s(x) do { (void)(x); } while (0) #define __le64_to_cpus(x) do { (void)(x); } while (0) -diff -urNp linux-2.6.32.48/include/linux/cache.h linux-2.6.32.48/include= /linux/cache.h ---- linux-2.6.32.48/include/linux/cache.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/cache.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/cache.h linux-2.6.32.46/include= /linux/cache.h +--- linux-2.6.32.46/include/linux/cache.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/linux/cache.h 2011-04-17 15:56:46.000000000 = -0400 @@ -16,6 +16,10 @@ #define __read_mostly #endif @@ -61360,9 +61396,9 @@ diff -urNp linux-2.6.32.48/include/linux/cache.h = linux-2.6.32.48/include/linux/c #ifndef ____cacheline_aligned #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTE= S))) #endif -diff -urNp linux-2.6.32.48/include/linux/capability.h linux-2.6.32.48/in= clude/linux/capability.h ---- linux-2.6.32.48/include/linux/capability.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/include/linux/capability.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/linux/capability.h linux-2.6.32.46/in= clude/linux/capability.h +--- linux-2.6.32.46/include/linux/capability.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/include/linux/capability.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -563,6 +563,7 @@ extern const kernel_cap_t __cap_init_eff (security_real_capable_noaudit((t), (cap)) =3D=3D 0) =20 @@ -61371,9 +61407,9 @@ diff -urNp linux-2.6.32.48/include/linux/capabili= ty.h linux-2.6.32.48/include/li =20 /* audit system wants to get cap info from files as well */ struct dentry; -diff -urNp linux-2.6.32.48/include/linux/compiler-gcc4.h linux-2.6.32.48= /include/linux/compiler-gcc4.h ---- linux-2.6.32.48/include/linux/compiler-gcc4.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/include/linux/compiler-gcc4.h 2011-11-12 12:46:47.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/compiler-gcc4.h linux-2.6.32.46= /include/linux/compiler-gcc4.h +--- linux-2.6.32.46/include/linux/compiler-gcc4.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/include/linux/compiler-gcc4.h 2011-08-26 20:19:09.00= 0000000 -0400 @@ -36,4 +36,16 @@ the kernel context */ #define __cold __attribute__((__cold__)) @@ -61391,9 +61427,9 @@ diff -urNp linux-2.6.32.48/include/linux/compiler= -gcc4.h linux-2.6.32.48/include +#endif + #endif -diff -urNp linux-2.6.32.48/include/linux/compiler.h linux-2.6.32.48/incl= ude/linux/compiler.h ---- linux-2.6.32.48/include/linux/compiler.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/compiler.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/compiler.h linux-2.6.32.46/incl= ude/linux/compiler.h +--- linux-2.6.32.46/include/linux/compiler.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/compiler.h 2011-10-06 09:37:14.0000000= 00 -0400 @@ -5,11 +5,14 @@ =20 #ifdef __CHECKER__ @@ -61491,9 +61527,9 @@ diff -urNp linux-2.6.32.48/include/linux/compiler= .h linux-2.6.32.48/include/linu +#define ACCESS_ONCE_RW(x) (*(volatile typeof(x) *)&(x)) =20 #endif /* __LINUX_COMPILER_H */ -diff -urNp linux-2.6.32.48/include/linux/crypto.h linux-2.6.32.48/includ= e/linux/crypto.h ---- linux-2.6.32.48/include/linux/crypto.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/linux/crypto.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/crypto.h linux-2.6.32.46/includ= e/linux/crypto.h +--- linux-2.6.32.46/include/linux/crypto.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/crypto.h 2011-08-05 20:33:55.000000000= -0400 @@ -394,7 +394,7 @@ struct cipher_tfm { const u8 *key, unsigned int keylen); void (*cit_encrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src= ); @@ -61519,9 +61555,9 @@ diff -urNp linux-2.6.32.48/include/linux/crypto.h= linux-2.6.32.48/include/linux/ =20 #define crt_ablkcipher crt_u.ablkcipher #define crt_aead crt_u.aead -diff -urNp linux-2.6.32.48/include/linux/dcache.h linux-2.6.32.48/includ= e/linux/dcache.h ---- linux-2.6.32.48/include/linux/dcache.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/linux/dcache.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/dcache.h linux-2.6.32.46/includ= e/linux/dcache.h +--- linux-2.6.32.46/include/linux/dcache.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/dcache.h 2011-04-23 13:34:46.000000000= -0400 @@ -119,6 +119,8 @@ struct dentry { unsigned char d_iname[DNAME_INLINE_LEN_MIN]; /* small names */ }; @@ -61531,9 +61567,9 @@ diff -urNp linux-2.6.32.48/include/linux/dcache.h= linux-2.6.32.48/include/linux/ /* * dentry->d_lock spinlock nesting subclasses: * -diff -urNp linux-2.6.32.48/include/linux/decompress/mm.h linux-2.6.32.48= /include/linux/decompress/mm.h ---- linux-2.6.32.48/include/linux/decompress/mm.h 2011-11-12 12:44:30.00= 0000000 -0500 -+++ linux-2.6.32.48/include/linux/decompress/mm.h 2011-11-12 12:46:47.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/decompress/mm.h linux-2.6.32.46= /include/linux/decompress/mm.h +--- linux-2.6.32.46/include/linux/decompress/mm.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/include/linux/decompress/mm.h 2011-04-17 15:56:46.00= 0000000 -0400 @@ -78,7 +78,7 @@ static void free(void *where) * warnings when not needed (indeed large_malloc / large_free are not * needed by inflate */ @@ -61543,9 +61579,9 @@ diff -urNp linux-2.6.32.48/include/linux/decompre= ss/mm.h linux-2.6.32.48/include #define free(a) kfree(a) =20 #define large_malloc(a) vmalloc(a) -diff -urNp linux-2.6.32.48/include/linux/dma-mapping.h linux-2.6.32.48/i= nclude/linux/dma-mapping.h ---- linux-2.6.32.48/include/linux/dma-mapping.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/linux/dma-mapping.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/linux/dma-mapping.h linux-2.6.32.46/i= nclude/linux/dma-mapping.h +--- linux-2.6.32.46/include/linux/dma-mapping.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/linux/dma-mapping.h 2011-08-26 20:19:09.0000= 00000 -0400 @@ -16,51 +16,51 @@ enum dma_data_direction { }; =20 @@ -61613,9 +61649,9 @@ diff -urNp linux-2.6.32.48/include/linux/dma-mapp= ing.h linux-2.6.32.48/include/l =20 #define DMA_BIT_MASK(n) (((n) =3D=3D 64) ? ~0ULL : ((1ULL<<(n))-1)) =20 -diff -urNp linux-2.6.32.48/include/linux/dst.h linux-2.6.32.48/include/l= inux/dst.h ---- linux-2.6.32.48/include/linux/dst.h 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/include/linux/dst.h 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/include/linux/dst.h linux-2.6.32.46/include/l= inux/dst.h +--- linux-2.6.32.46/include/linux/dst.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/include/linux/dst.h 2011-04-17 15:56:46.000000000 -0= 400 @@ -380,7 +380,7 @@ struct dst_node struct thread_pool *pool; =20 @@ -61625,9 +61661,9 @@ diff -urNp linux-2.6.32.48/include/linux/dst.h li= nux-2.6.32.48/include/linux/dst =20 /* * How frequently and how many times transaction -diff -urNp linux-2.6.32.48/include/linux/elf.h linux-2.6.32.48/include/l= inux/elf.h ---- linux-2.6.32.48/include/linux/elf.h 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/include/linux/elf.h 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/include/linux/elf.h linux-2.6.32.46/include/l= inux/elf.h +--- linux-2.6.32.46/include/linux/elf.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/include/linux/elf.h 2011-04-17 15:56:46.000000000 -0= 400 @@ -49,6 +49,17 @@ typedef __s64 Elf64_Sxword; #define PT_GNU_EH_FRAME 0x6474e550 =20 @@ -61700,9 +61736,9 @@ diff -urNp linux-2.6.32.48/include/linux/elf.h li= nux-2.6.32.48/include/linux/elf =20 #endif =20 -diff -urNp linux-2.6.32.48/include/linux/fscache-cache.h linux-2.6.32.48= /include/linux/fscache-cache.h ---- linux-2.6.32.48/include/linux/fscache-cache.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/include/linux/fscache-cache.h 2011-11-12 12:46:47.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/fscache-cache.h linux-2.6.32.46= /include/linux/fscache-cache.h +--- linux-2.6.32.46/include/linux/fscache-cache.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/include/linux/fscache-cache.h 2011-05-04 17:56:28.00= 0000000 -0400 @@ -116,7 +116,7 @@ struct fscache_operation { #endif }; @@ -61721,9 +61757,9 @@ diff -urNp linux-2.6.32.48/include/linux/fscache-= cache.h linux-2.6.32.48/include op->release =3D release; INIT_LIST_HEAD(&op->pend_link); fscache_set_op_state(op, "Init"); -diff -urNp linux-2.6.32.48/include/linux/fs.h linux-2.6.32.48/include/li= nux/fs.h ---- linux-2.6.32.48/include/linux/fs.h 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/include/linux/fs.h 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/include/linux/fs.h linux-2.6.32.46/include/li= nux/fs.h +--- linux-2.6.32.46/include/linux/fs.h 2011-07-13 17:23:04.000000000 -04= 00 ++++ linux-2.6.32.46/include/linux/fs.h 2011-08-26 20:19:09.000000000 -04= 00 @@ -90,6 +90,11 @@ struct inodes_stat_t { /* Expect random access pattern */ #define FMODE_RANDOM ((__force fmode_t)4096) @@ -61895,9 +61931,9 @@ diff -urNp linux-2.6.32.48/include/linux/fs.h lin= ux-2.6.32.48/include/linux/fs.h }; =20 /* -diff -urNp linux-2.6.32.48/include/linux/fs_struct.h linux-2.6.32.48/inc= lude/linux/fs_struct.h ---- linux-2.6.32.48/include/linux/fs_struct.h 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/include/linux/fs_struct.h 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/include/linux/fs_struct.h linux-2.6.32.46/inc= lude/linux/fs_struct.h +--- linux-2.6.32.46/include/linux/fs_struct.h 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/include/linux/fs_struct.h 2011-04-17 15:56:46.000000= 000 -0400 @@ -4,7 +4,7 @@ #include =20 @@ -61907,9 +61943,9 @@ diff -urNp linux-2.6.32.48/include/linux/fs_struc= t.h linux-2.6.32.48/include/lin rwlock_t lock; int umask; int in_exec; -diff -urNp linux-2.6.32.48/include/linux/ftrace_event.h linux-2.6.32.48/= include/linux/ftrace_event.h ---- linux-2.6.32.48/include/linux/ftrace_event.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/include/linux/ftrace_event.h 2011-11-12 12:46:47.000= 000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/ftrace_event.h linux-2.6.32.46/= include/linux/ftrace_event.h +--- linux-2.6.32.46/include/linux/ftrace_event.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/include/linux/ftrace_event.h 2011-05-04 17:56:28.000= 000000 -0400 @@ -163,7 +163,7 @@ extern int trace_define_field(struct ftr int filter_type); extern int trace_define_common_fields(struct ftrace_event_call *call); @@ -61919,9 +61955,9 @@ diff -urNp linux-2.6.32.48/include/linux/ftrace_e= vent.h linux-2.6.32.48/include/ =20 int trace_set_clr_event(const char *system, const char *event, int set)= ; =20 -diff -urNp linux-2.6.32.48/include/linux/genhd.h linux-2.6.32.48/include= /linux/genhd.h ---- linux-2.6.32.48/include/linux/genhd.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/genhd.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/genhd.h linux-2.6.32.46/include= /linux/genhd.h +--- linux-2.6.32.46/include/linux/genhd.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/linux/genhd.h 2011-04-17 15:56:46.000000000 = -0400 @@ -161,7 +161,7 @@ struct gendisk { =20 struct timer_rand_state *random; @@ -61931,9 +61967,9 @@ diff -urNp linux-2.6.32.48/include/linux/genhd.h = linux-2.6.32.48/include/linux/g struct work_struct async_notify; #ifdef CONFIG_BLK_DEV_INTEGRITY struct blk_integrity *integrity; -diff -urNp linux-2.6.32.48/include/linux/gracl.h linux-2.6.32.48/include= /linux/gracl.h ---- linux-2.6.32.48/include/linux/gracl.h 1969-12-31 19:00:00.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/gracl.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/gracl.h linux-2.6.32.46/include= /linux/gracl.h +--- linux-2.6.32.46/include/linux/gracl.h 1969-12-31 19:00:00.000000000 = -0500 ++++ linux-2.6.32.46/include/linux/gracl.h 2011-04-17 15:56:46.000000000 = -0400 @@ -0,0 +1,317 @@ +#ifndef GR_ACL_H +#define GR_ACL_H @@ -62252,9 +62288,9 @@ diff -urNp linux-2.6.32.48/include/linux/gracl.h = linux-2.6.32.48/include/linux/g + +#endif + -diff -urNp linux-2.6.32.48/include/linux/gralloc.h linux-2.6.32.48/inclu= de/linux/gralloc.h ---- linux-2.6.32.48/include/linux/gralloc.h 1969-12-31 19:00:00.00000000= 0 -0500 -+++ linux-2.6.32.48/include/linux/gralloc.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/linux/gralloc.h linux-2.6.32.46/inclu= de/linux/gralloc.h +--- linux-2.6.32.46/include/linux/gralloc.h 1969-12-31 19:00:00.00000000= 0 -0500 ++++ linux-2.6.32.46/include/linux/gralloc.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -0,0 +1,9 @@ +#ifndef __GRALLOC_H +#define __GRALLOC_H @@ -62265,9 +62301,9 @@ diff -urNp linux-2.6.32.48/include/linux/gralloc.= h linux-2.6.32.48/include/linux +void *acl_alloc_num(unsigned long num, unsigned long len); + +#endif -diff -urNp linux-2.6.32.48/include/linux/grdefs.h linux-2.6.32.48/includ= e/linux/grdefs.h ---- linux-2.6.32.48/include/linux/grdefs.h 1969-12-31 19:00:00.000000000= -0500 -+++ linux-2.6.32.48/include/linux/grdefs.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/grdefs.h linux-2.6.32.46/includ= e/linux/grdefs.h +--- linux-2.6.32.46/include/linux/grdefs.h 1969-12-31 19:00:00.000000000= -0500 ++++ linux-2.6.32.46/include/linux/grdefs.h 2011-06-11 16:20:26.000000000= -0400 @@ -0,0 +1,140 @@ +#ifndef GRDEFS_H +#define GRDEFS_H @@ -62409,9 +62445,9 @@ diff -urNp linux-2.6.32.48/include/linux/grdefs.h= linux-2.6.32.48/include/linux/ +}; + +#endif -diff -urNp linux-2.6.32.48/include/linux/grinternal.h linux-2.6.32.48/in= clude/linux/grinternal.h ---- linux-2.6.32.48/include/linux/grinternal.h 1969-12-31 19:00:00.00000= 0000 -0500 -+++ linux-2.6.32.48/include/linux/grinternal.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/linux/grinternal.h linux-2.6.32.46/in= clude/linux/grinternal.h +--- linux-2.6.32.46/include/linux/grinternal.h 1969-12-31 19:00:00.00000= 0000 -0500 ++++ linux-2.6.32.46/include/linux/grinternal.h 2011-10-20 00:48:45.00000= 0000 -0400 @@ -0,0 +1,218 @@ +#ifndef __GRINTERNAL_H +#define __GRINTERNAL_H @@ -62631,9 +62667,9 @@ diff -urNp linux-2.6.32.48/include/linux/grintern= al.h linux-2.6.32.48/include/li +#endif + +#endif -diff -urNp linux-2.6.32.48/include/linux/grmsg.h linux-2.6.32.48/include= /linux/grmsg.h ---- linux-2.6.32.48/include/linux/grmsg.h 1969-12-31 19:00:00.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/grmsg.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/grmsg.h linux-2.6.32.46/include= /linux/grmsg.h +--- linux-2.6.32.46/include/linux/grmsg.h 1969-12-31 19:00:00.000000000 = -0500 ++++ linux-2.6.32.46/include/linux/grmsg.h 2011-09-13 15:44:53.000000000 = -0400 @@ -0,0 +1,108 @@ +#define DEFAULTSECMSG "%.256s[%.16s:%d] uid/euid:%u/%u gid/egid:%u/%u, = parent %.256s[%.16s:%d] uid/euid:%u/%u gid/egid:%u/%u" +#define GR_ACL_PROCACCT_MSG "%.256s[%.16s:%d] IP:%pI4 TTY:%.64s uid/eui= d:%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" @@ -62743,9 +62779,9 @@ diff -urNp linux-2.6.32.48/include/linux/grmsg.h = linux-2.6.32.48/include/linux/g +#define GR_VM86_MSG "denied use of vm86 by " +#define GR_PTRACE_AUDIT_MSG "process %.950s(%.16s:%d) attached to via p= trace by " +#define GR_INIT_TRANSFER_MSG "persistent special role transferred privi= lege to init by " -diff -urNp linux-2.6.32.48/include/linux/grsecurity.h linux-2.6.32.48/in= clude/linux/grsecurity.h ---- linux-2.6.32.48/include/linux/grsecurity.h 1969-12-31 19:00:00.00000= 0000 -0500 -+++ linux-2.6.32.48/include/linux/grsecurity.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/linux/grsecurity.h linux-2.6.32.46/in= clude/linux/grsecurity.h +--- linux-2.6.32.46/include/linux/grsecurity.h 1969-12-31 19:00:00.00000= 0000 -0500 ++++ linux-2.6.32.46/include/linux/grsecurity.h 2011-10-17 06:48:36.00000= 0000 -0400 @@ -0,0 +1,218 @@ +#ifndef GR_SECURITY_H +#define GR_SECURITY_H @@ -62965,9 +63001,9 @@ diff -urNp linux-2.6.32.48/include/linux/grsecuri= ty.h linux-2.6.32.48/include/li +#endif + +#endif -diff -urNp linux-2.6.32.48/include/linux/hdpu_features.h linux-2.6.32.48= /include/linux/hdpu_features.h ---- linux-2.6.32.48/include/linux/hdpu_features.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/include/linux/hdpu_features.h 2011-11-12 12:46:47.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/hdpu_features.h linux-2.6.32.46= /include/linux/hdpu_features.h +--- linux-2.6.32.46/include/linux/hdpu_features.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/include/linux/hdpu_features.h 2011-04-17 15:56:46.00= 0000000 -0400 @@ -3,7 +3,7 @@ struct cpustate_t { spinlock_t lock; @@ -62977,9 +63013,9 @@ diff -urNp linux-2.6.32.48/include/linux/hdpu_fea= tures.h linux-2.6.32.48/include unsigned char cached_val; int inited; unsigned long *set_addr; -diff -urNp linux-2.6.32.48/include/linux/highmem.h linux-2.6.32.48/inclu= de/linux/highmem.h ---- linux-2.6.32.48/include/linux/highmem.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/include/linux/highmem.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/linux/highmem.h linux-2.6.32.46/inclu= de/linux/highmem.h +--- linux-2.6.32.46/include/linux/highmem.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/linux/highmem.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -137,6 +137,18 @@ static inline void clear_highpage(struct kunmap_atomic(kaddr, KM_USER0); } @@ -62999,9 +63035,9 @@ diff -urNp linux-2.6.32.48/include/linux/highmem.= h linux-2.6.32.48/include/linux static inline void zero_user_segments(struct page *page, unsigned start1, unsigned end1, unsigned start2, unsigned end2) -diff -urNp linux-2.6.32.48/include/linux/i2c.h linux-2.6.32.48/include/l= inux/i2c.h ---- linux-2.6.32.48/include/linux/i2c.h 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/include/linux/i2c.h 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/include/linux/i2c.h linux-2.6.32.46/include/l= inux/i2c.h +--- linux-2.6.32.46/include/linux/i2c.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/include/linux/i2c.h 2011-08-23 21:22:38.000000000 -0= 400 @@ -325,6 +325,7 @@ struct i2c_algorithm { /* To determine what the adapter supports */ u32 (*functionality) (struct i2c_adapter *); @@ -63010,9 +63046,9 @@ diff -urNp linux-2.6.32.48/include/linux/i2c.h li= nux-2.6.32.48/include/linux/i2c =20 /* * i2c_adapter is the structure used to identify a physical i2c bus alo= ng -diff -urNp linux-2.6.32.48/include/linux/i2o.h linux-2.6.32.48/include/l= inux/i2o.h ---- linux-2.6.32.48/include/linux/i2o.h 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/include/linux/i2o.h 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/include/linux/i2o.h linux-2.6.32.46/include/l= inux/i2o.h +--- linux-2.6.32.46/include/linux/i2o.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/include/linux/i2o.h 2011-05-04 17:56:28.000000000 -0= 400 @@ -564,7 +564,7 @@ struct i2o_controller { struct i2o_device *exec; /* Executive */ #if BITS_PER_LONG =3D=3D 64 @@ -63022,9 +63058,9 @@ diff -urNp linux-2.6.32.48/include/linux/i2o.h li= nux-2.6.32.48/include/linux/i2o struct list_head context_list; /* list of context id's and pointers */ #endif -diff -urNp linux-2.6.32.48/include/linux/init_task.h linux-2.6.32.48/inc= lude/linux/init_task.h ---- linux-2.6.32.48/include/linux/init_task.h 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/include/linux/init_task.h 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/include/linux/init_task.h linux-2.6.32.46/inc= lude/linux/init_task.h +--- linux-2.6.32.46/include/linux/init_task.h 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/include/linux/init_task.h 2011-05-18 20:44:59.000000= 000 -0400 @@ -83,6 +83,12 @@ extern struct group_info init_groups; #define INIT_IDS #endif @@ -63046,9 +63082,9 @@ diff -urNp linux-2.6.32.48/include/linux/init_tas= k.h linux-2.6.32.48/include/lin .fs =3D &init_fs, \ .files =3D &init_files, \ .signal =3D &init_signals, \ -diff -urNp linux-2.6.32.48/include/linux/intel-iommu.h linux-2.6.32.48/i= nclude/linux/intel-iommu.h ---- linux-2.6.32.48/include/linux/intel-iommu.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/linux/intel-iommu.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/linux/intel-iommu.h linux-2.6.32.46/i= nclude/linux/intel-iommu.h +--- linux-2.6.32.46/include/linux/intel-iommu.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/linux/intel-iommu.h 2011-08-05 20:33:55.0000= 00000 -0400 @@ -296,7 +296,7 @@ struct iommu_flush { u8 fm, u64 type); void (*flush_iotlb)(struct intel_iommu *iommu, u16 did, u64 addr, @@ -63058,9 +63094,9 @@ diff -urNp linux-2.6.32.48/include/linux/intel-io= mmu.h linux-2.6.32.48/include/l =20 enum { SR_DMAR_FECTL_REG, -diff -urNp linux-2.6.32.48/include/linux/interrupt.h linux-2.6.32.48/inc= lude/linux/interrupt.h ---- linux-2.6.32.48/include/linux/interrupt.h 2011-11-12 12:44:30.000000= 000 -0500 -+++ linux-2.6.32.48/include/linux/interrupt.h 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/include/linux/interrupt.h linux-2.6.32.46/inc= lude/linux/interrupt.h +--- linux-2.6.32.46/include/linux/interrupt.h 2011-06-25 12:55:35.000000= 000 -0400 ++++ linux-2.6.32.46/include/linux/interrupt.h 2011-06-25 12:56:37.000000= 000 -0400 @@ -363,7 +363,7 @@ enum /* map softirq index to softirq name. update 'softirq_to_name' in * kernel/softirq.c when adding a new softirq. @@ -63085,9 +63121,9 @@ diff -urNp linux-2.6.32.48/include/linux/interrup= t.h linux-2.6.32.48/include/lin extern void softirq_init(void); #define __raise_softirq_irqoff(nr) do { or_softirq_pending(1UL << (nr))= ; } while (0) extern void raise_softirq_irqoff(unsigned int nr); -diff -urNp linux-2.6.32.48/include/linux/irq.h linux-2.6.32.48/include/l= inux/irq.h ---- linux-2.6.32.48/include/linux/irq.h 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/include/linux/irq.h 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/include/linux/irq.h linux-2.6.32.46/include/l= inux/irq.h +--- linux-2.6.32.46/include/linux/irq.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/include/linux/irq.h 2011-04-17 15:56:46.000000000 -0= 400 @@ -438,12 +438,12 @@ extern int set_irq_msi(unsigned int irq, static inline bool alloc_desc_masks(struct irq_desc *desc, int node, bool boot) @@ -63102,9 +63138,9 @@ diff -urNp linux-2.6.32.48/include/linux/irq.h li= nux-2.6.32.48/include/linux/irq if (!alloc_cpumask_var_node(&desc->affinity, gfp, node)) return false; =20 -diff -urNp linux-2.6.32.48/include/linux/kallsyms.h linux-2.6.32.48/incl= ude/linux/kallsyms.h ---- linux-2.6.32.48/include/linux/kallsyms.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/kallsyms.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/kallsyms.h linux-2.6.32.46/incl= ude/linux/kallsyms.h +--- linux-2.6.32.46/include/linux/kallsyms.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/kallsyms.h 2011-04-17 15:56:46.0000000= 00 -0400 @@ -15,7 +15,8 @@ =20 struct module; @@ -63131,9 +63167,9 @@ diff -urNp linux-2.6.32.48/include/linux/kallsyms= .h linux-2.6.32.48/include/linu =20 /* This macro allows us to keep printk typechecking */ static void __check_printsym_format(const char *fmt, ...) -diff -urNp linux-2.6.32.48/include/linux/kgdb.h linux-2.6.32.48/include/= linux/kgdb.h ---- linux-2.6.32.48/include/linux/kgdb.h 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/include/linux/kgdb.h 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/include/linux/kgdb.h linux-2.6.32.46/include/= linux/kgdb.h +--- linux-2.6.32.46/include/linux/kgdb.h 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/include/linux/kgdb.h 2011-08-26 20:25:20.000000000 -= 0400 @@ -74,8 +74,8 @@ void kgdb_breakpoint(void); =20 extern int kgdb_connected; @@ -63173,9 +63209,9 @@ diff -urNp linux-2.6.32.48/include/linux/kgdb.h l= inux-2.6.32.48/include/linux/kg =20 extern int kgdb_hex2long(char **ptr, unsigned long *long_val); extern int kgdb_mem2hex(char *mem, char *buf, int count); -diff -urNp linux-2.6.32.48/include/linux/kmod.h linux-2.6.32.48/include/= linux/kmod.h ---- linux-2.6.32.48/include/linux/kmod.h 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/include/linux/kmod.h 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/include/linux/kmod.h linux-2.6.32.46/include/= linux/kmod.h +--- linux-2.6.32.46/include/linux/kmod.h 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/include/linux/kmod.h 2011-04-17 15:56:46.000000000 -= 0400 @@ -31,6 +31,8 @@ * usually useless though. */ extern int __request_module(bool wait, const char *name, ...) \ @@ -63185,9 +63221,9 @@ diff -urNp linux-2.6.32.48/include/linux/kmod.h l= inux-2.6.32.48/include/linux/km #define request_module(mod...) __request_module(true, mod) #define request_module_nowait(mod...) __request_module(false, mod) #define try_then_request_module(x, mod...) \ -diff -urNp linux-2.6.32.48/include/linux/kobject.h linux-2.6.32.48/inclu= de/linux/kobject.h ---- linux-2.6.32.48/include/linux/kobject.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/include/linux/kobject.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/linux/kobject.h linux-2.6.32.46/inclu= de/linux/kobject.h +--- linux-2.6.32.46/include/linux/kobject.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/linux/kobject.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -106,7 +106,7 @@ extern char *kobject_get_path(struct kob =20 struct kobj_type { @@ -63236,9 +63272,9 @@ diff -urNp linux-2.6.32.48/include/linux/kobject.= h linux-2.6.32.48/include/linux struct kobject *parent_kobj); =20 static inline struct kset *to_kset(struct kobject *kobj) -diff -urNp linux-2.6.32.48/include/linux/kvm_host.h linux-2.6.32.48/incl= ude/linux/kvm_host.h ---- linux-2.6.32.48/include/linux/kvm_host.h 2011-11-12 12:44:30.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/kvm_host.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/kvm_host.h linux-2.6.32.46/incl= ude/linux/kvm_host.h +--- linux-2.6.32.46/include/linux/kvm_host.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/kvm_host.h 2011-04-17 15:56:46.0000000= 00 -0400 @@ -210,7 +210,7 @@ void kvm_vcpu_uninit(struct kvm_vcpu *vc void vcpu_load(struct kvm_vcpu *vcpu); void vcpu_put(struct kvm_vcpu *vcpu); @@ -63257,9 +63293,9 @@ diff -urNp linux-2.6.32.48/include/linux/kvm_host= .h linux-2.6.32.48/include/linu void kvm_arch_exit(void); =20 int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu); -diff -urNp linux-2.6.32.48/include/linux/libata.h linux-2.6.32.48/includ= e/linux/libata.h ---- linux-2.6.32.48/include/linux/libata.h 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/include/linux/libata.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/libata.h linux-2.6.32.46/includ= e/linux/libata.h +--- linux-2.6.32.46/include/linux/libata.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/libata.h 2011-08-26 20:19:09.000000000= -0400 @@ -525,11 +525,11 @@ struct ata_ioports { =20 struct ata_host { @@ -63319,9 +63355,9 @@ diff -urNp linux-2.6.32.48/include/linux/libata.h= linux-2.6.32.48/include/linux/ extern int ata_scsi_detect(struct scsi_host_template *sht); extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user= *arg); extern int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct= scsi_cmnd *)); -diff -urNp linux-2.6.32.48/include/linux/lockd/bind.h linux-2.6.32.48/in= clude/linux/lockd/bind.h ---- linux-2.6.32.48/include/linux/lockd/bind.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/include/linux/lockd/bind.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/linux/lockd/bind.h linux-2.6.32.46/in= clude/linux/lockd/bind.h +--- linux-2.6.32.46/include/linux/lockd/bind.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/include/linux/lockd/bind.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -23,13 +23,13 @@ struct svc_rqst; * This is the set of functions for lockd->nfsd communication */ @@ -63339,9 +63375,9 @@ diff -urNp linux-2.6.32.48/include/linux/lockd/bi= nd.h linux-2.6.32.48/include/li =20 /* * Similar to nfs_client_initdata, but without the NFS-specific -diff -urNp linux-2.6.32.48/include/linux/mca.h linux-2.6.32.48/include/l= inux/mca.h ---- linux-2.6.32.48/include/linux/mca.h 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/include/linux/mca.h 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/include/linux/mca.h linux-2.6.32.46/include/l= inux/mca.h +--- linux-2.6.32.46/include/linux/mca.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/include/linux/mca.h 2011-08-05 20:33:55.000000000 -0= 400 @@ -80,7 +80,7 @@ struct mca_bus_accessor_functions { int region); void * (*mca_transform_memory)(struct mca_device *, @@ -63351,9 +63387,9 @@ diff -urNp linux-2.6.32.48/include/linux/mca.h li= nux-2.6.32.48/include/linux/mca =20 struct mca_bus { u64 default_dma_mask; -diff -urNp linux-2.6.32.48/include/linux/memory.h linux-2.6.32.48/includ= e/linux/memory.h ---- linux-2.6.32.48/include/linux/memory.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/linux/memory.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/memory.h linux-2.6.32.46/includ= e/linux/memory.h +--- linux-2.6.32.46/include/linux/memory.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/memory.h 2011-08-05 20:33:55.000000000= -0400 @@ -108,7 +108,7 @@ struct memory_accessor { size_t count); ssize_t (*write)(struct memory_accessor *, const char *buf, @@ -63363,9 +63399,9 @@ diff -urNp linux-2.6.32.48/include/linux/memory.h= linux-2.6.32.48/include/linux/ =20 /* * Kernel text modification mutex, used for code patching. Users of thi= s lock -diff -urNp linux-2.6.32.48/include/linux/mm.h linux-2.6.32.48/include/li= nux/mm.h ---- linux-2.6.32.48/include/linux/mm.h 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/include/linux/mm.h 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/include/linux/mm.h linux-2.6.32.46/include/li= nux/mm.h +--- linux-2.6.32.46/include/linux/mm.h 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/include/linux/mm.h 2011-04-17 15:56:46.000000000 -04= 00 @@ -106,7 +106,14 @@ extern unsigned int kobjsize(const void=20 =20 #define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pag= es */ @@ -63445,9 +63481,9 @@ diff -urNp linux-2.6.32.48/include/linux/mm.h lin= ux-2.6.32.48/include/linux/mm.h =20 #endif /* __KERNEL__ */ #endif /* _LINUX_MM_H */ -diff -urNp linux-2.6.32.48/include/linux/mm_types.h linux-2.6.32.48/incl= ude/linux/mm_types.h ---- linux-2.6.32.48/include/linux/mm_types.h 2011-11-12 12:44:30.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/mm_types.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/mm_types.h linux-2.6.32.46/incl= ude/linux/mm_types.h +--- linux-2.6.32.46/include/linux/mm_types.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/mm_types.h 2011-04-17 15:56:46.0000000= 00 -0400 @@ -186,6 +186,8 @@ struct vm_area_struct { #ifdef CONFIG_NUMA struct mempolicy *vm_policy; /* NUMA policy for the VMA */ @@ -63482,9 +63518,9 @@ diff -urNp linux-2.6.32.48/include/linux/mm_types= .h linux-2.6.32.48/include/linu }; =20 /* Future-safe accessor for struct mm_struct's cpu_vm_mask. */ -diff -urNp linux-2.6.32.48/include/linux/mmu_notifier.h linux-2.6.32.48/= include/linux/mmu_notifier.h ---- linux-2.6.32.48/include/linux/mmu_notifier.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/include/linux/mmu_notifier.h 2011-11-12 12:46:47.000= 000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/mmu_notifier.h linux-2.6.32.46/= include/linux/mmu_notifier.h +--- linux-2.6.32.46/include/linux/mmu_notifier.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/include/linux/mmu_notifier.h 2011-04-17 15:56:46.000= 000000 -0400 @@ -235,12 +235,12 @@ static inline void mmu_notifier_mm_destr */ #define ptep_clear_flush_notify(__vma, __address, __ptep) \ @@ -63501,9 +63537,9 @@ diff -urNp linux-2.6.32.48/include/linux/mmu_noti= fier.h linux-2.6.32.48/include/ }) =20 #define ptep_clear_flush_young_notify(__vma, __address, __ptep) \ -diff -urNp linux-2.6.32.48/include/linux/mmzone.h linux-2.6.32.48/includ= e/linux/mmzone.h ---- linux-2.6.32.48/include/linux/mmzone.h 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/include/linux/mmzone.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/mmzone.h linux-2.6.32.46/includ= e/linux/mmzone.h +--- linux-2.6.32.46/include/linux/mmzone.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/mmzone.h 2011-04-17 15:56:46.000000000= -0400 @@ -350,7 +350,7 @@ struct zone { unsigned long flags; /* zone flags, see below */ =20 @@ -63513,9 +63549,9 @@ diff -urNp linux-2.6.32.48/include/linux/mmzone.h= linux-2.6.32.48/include/linux/ =20 /* * prev_priority holds the scanning priority for this zone. It is -diff -urNp linux-2.6.32.48/include/linux/mod_devicetable.h linux-2.6.32.= 48/include/linux/mod_devicetable.h ---- linux-2.6.32.48/include/linux/mod_devicetable.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/include/linux/mod_devicetable.h 2011-11-12 12:46:47.= 000000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/mod_devicetable.h linux-2.6.32.= 46/include/linux/mod_devicetable.h +--- linux-2.6.32.46/include/linux/mod_devicetable.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/include/linux/mod_devicetable.h 2011-04-17 15:56:46.= 000000000 -0400 @@ -12,7 +12,7 @@ typedef unsigned long kernel_ulong_t; #endif @@ -63534,9 +63570,9 @@ diff -urNp linux-2.6.32.48/include/linux/mod_devi= cetable.h linux-2.6.32.48/inclu =20 struct hid_device_id { __u16 bus; -diff -urNp linux-2.6.32.48/include/linux/module.h linux-2.6.32.48/includ= e/linux/module.h ---- linux-2.6.32.48/include/linux/module.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/linux/module.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/module.h linux-2.6.32.46/includ= e/linux/module.h +--- linux-2.6.32.46/include/linux/module.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/module.h 2011-08-05 20:33:55.000000000= -0400 @@ -16,6 +16,7 @@ #include #include @@ -63628,9 +63664,9 @@ diff -urNp linux-2.6.32.48/include/linux/module.h= linux-2.6.32.48/include/linux/ } =20 /* Search for module by name: must hold module_mutex. */ -diff -urNp linux-2.6.32.48/include/linux/moduleloader.h linux-2.6.32.48/= include/linux/moduleloader.h ---- linux-2.6.32.48/include/linux/moduleloader.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/include/linux/moduleloader.h 2011-11-12 12:46:47.000= 000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/moduleloader.h linux-2.6.32.46/= include/linux/moduleloader.h +--- linux-2.6.32.46/include/linux/moduleloader.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/include/linux/moduleloader.h 2011-04-17 15:56:46.000= 000000 -0400 @@ -20,9 +20,21 @@ unsigned int arch_mod_section_prepend(st sections. Returns NULL on failure. */ void *module_alloc(unsigned long size); @@ -63653,9 +63689,9 @@ diff -urNp linux-2.6.32.48/include/linux/modulelo= ader.h linux-2.6.32.48/include/ /* Apply the given relocation to the (simplified) ELF. Return -error or 0. */ int apply_relocate(Elf_Shdr *sechdrs, -diff -urNp linux-2.6.32.48/include/linux/moduleparam.h linux-2.6.32.48/i= nclude/linux/moduleparam.h ---- linux-2.6.32.48/include/linux/moduleparam.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/linux/moduleparam.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/linux/moduleparam.h linux-2.6.32.46/i= nclude/linux/moduleparam.h +--- linux-2.6.32.46/include/linux/moduleparam.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/linux/moduleparam.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -132,7 +132,7 @@ struct kparam_array =20 /* Actually copy string: maxlen param is usually sizeof(string). */ @@ -63674,9 +63710,9 @@ diff -urNp linux-2.6.32.48/include/linux/modulepa= ram.h linux-2.6.32.48/include/l =3D { ARRAY_SIZE(array), nump, param_set_##type, param_get_##type,\ sizeof(array[0]), array }; \ __module_param_call(MODULE_PARAM_PREFIX, name, \ -diff -urNp linux-2.6.32.48/include/linux/mutex.h linux-2.6.32.48/include= /linux/mutex.h ---- linux-2.6.32.48/include/linux/mutex.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/mutex.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/mutex.h linux-2.6.32.46/include= /linux/mutex.h +--- linux-2.6.32.46/include/linux/mutex.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/linux/mutex.h 2011-04-17 15:56:46.000000000 = -0400 @@ -51,7 +51,7 @@ struct mutex { spinlock_t wait_lock; struct list_head wait_list; @@ -63686,9 +63722,9 @@ diff -urNp linux-2.6.32.48/include/linux/mutex.h = linux-2.6.32.48/include/linux/m #endif #ifdef CONFIG_DEBUG_MUTEXES const char *name; -diff -urNp linux-2.6.32.48/include/linux/namei.h linux-2.6.32.48/include= /linux/namei.h ---- linux-2.6.32.48/include/linux/namei.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/namei.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/namei.h linux-2.6.32.46/include= /linux/namei.h +--- linux-2.6.32.46/include/linux/namei.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/linux/namei.h 2011-04-17 15:56:46.000000000 = -0400 @@ -22,7 +22,7 @@ struct nameidata { unsigned int flags; int last_type; @@ -63713,9 +63749,9 @@ diff -urNp linux-2.6.32.48/include/linux/namei.h = linux-2.6.32.48/include/linux/n { return nd->saved_names[nd->depth]; } -diff -urNp linux-2.6.32.48/include/linux/netdevice.h linux-2.6.32.48/inc= lude/linux/netdevice.h ---- linux-2.6.32.48/include/linux/netdevice.h 2011-11-12 12:44:30.000000= 000 -0500 -+++ linux-2.6.32.48/include/linux/netdevice.h 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/include/linux/netdevice.h linux-2.6.32.46/inc= lude/linux/netdevice.h +--- linux-2.6.32.46/include/linux/netdevice.h 2011-08-09 18:35:30.000000= 000 -0400 ++++ linux-2.6.32.46/include/linux/netdevice.h 2011-08-23 21:22:38.000000= 000 -0400 @@ -637,6 +637,7 @@ struct net_device_ops { u16 xid); #endif @@ -63724,9 +63760,9 @@ diff -urNp linux-2.6.32.48/include/linux/netdevic= e.h linux-2.6.32.48/include/lin =20 /* * The DEVICE structure. -diff -urNp linux-2.6.32.48/include/linux/netfilter/xt_gradm.h linux-2.6.= 32.48/include/linux/netfilter/xt_gradm.h ---- linux-2.6.32.48/include/linux/netfilter/xt_gradm.h 1969-12-31 19:00:= 00.000000000 -0500 -+++ linux-2.6.32.48/include/linux/netfilter/xt_gradm.h 2011-11-12 12:46:= 47.000000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/netfilter/xt_gradm.h linux-2.6.= 32.46/include/linux/netfilter/xt_gradm.h +--- linux-2.6.32.46/include/linux/netfilter/xt_gradm.h 1969-12-31 19:00:= 00.000000000 -0500 ++++ linux-2.6.32.46/include/linux/netfilter/xt_gradm.h 2011-04-17 15:56:= 46.000000000 -0400 @@ -0,0 +1,9 @@ +#ifndef _LINUX_NETFILTER_XT_GRADM_H +#define _LINUX_NETFILTER_XT_GRADM_H 1 @@ -63737,9 +63773,9 @@ diff -urNp linux-2.6.32.48/include/linux/netfilte= r/xt_gradm.h linux-2.6.32.48/in +}; + +#endif -diff -urNp linux-2.6.32.48/include/linux/nodemask.h linux-2.6.32.48/incl= ude/linux/nodemask.h ---- linux-2.6.32.48/include/linux/nodemask.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/nodemask.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/nodemask.h linux-2.6.32.46/incl= ude/linux/nodemask.h +--- linux-2.6.32.46/include/linux/nodemask.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/nodemask.h 2011-04-17 15:56:46.0000000= 00 -0400 @@ -464,11 +464,11 @@ static inline int num_node_state(enum no =20 #define any_online_node(mask) \ @@ -63756,9 +63792,9 @@ diff -urNp linux-2.6.32.48/include/linux/nodemask= .h linux-2.6.32.48/include/linu }) =20 #define num_online_nodes() num_node_state(N_ONLINE) -diff -urNp linux-2.6.32.48/include/linux/oprofile.h linux-2.6.32.48/incl= ude/linux/oprofile.h ---- linux-2.6.32.48/include/linux/oprofile.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/oprofile.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/oprofile.h linux-2.6.32.46/incl= ude/linux/oprofile.h +--- linux-2.6.32.46/include/linux/oprofile.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/oprofile.h 2011-04-17 15:56:46.0000000= 00 -0400 @@ -129,9 +129,9 @@ int oprofilefs_create_ulong(struct super int oprofilefs_create_ro_ulong(struct super_block * sb, struct dentry *= root, char const * name, ulong * val); @@ -63771,9 +63807,9 @@ diff -urNp linux-2.6.32.48/include/linux/oprofile= .h linux-2.6.32.48/include/linu =20 /** create a directory */ struct dentry * oprofilefs_mkdir(struct super_block * sb, struct dentry= * root, -diff -urNp linux-2.6.32.48/include/linux/pagemap.h linux-2.6.32.48/inclu= de/linux/pagemap.h ---- linux-2.6.32.48/include/linux/pagemap.h 2011-11-12 12:44:30.00000000= 0 -0500 -+++ linux-2.6.32.48/include/linux/pagemap.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/linux/pagemap.h linux-2.6.32.46/inclu= de/linux/pagemap.h +--- linux-2.6.32.46/include/linux/pagemap.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/linux/pagemap.h 2011-08-17 19:36:28.00000000= 0 -0400 @@ -425,6 +425,7 @@ static inline int fault_in_pages_readabl if (((unsigned long)uaddr & PAGE_MASK) !=3D ((unsigned long)end & PAGE_MASK)) @@ -63782,9 +63818,9 @@ diff -urNp linux-2.6.32.48/include/linux/pagemap.= h linux-2.6.32.48/include/linux } return ret; } -diff -urNp linux-2.6.32.48/include/linux/perf_event.h linux-2.6.32.48/in= clude/linux/perf_event.h ---- linux-2.6.32.48/include/linux/perf_event.h 2011-11-12 12:44:30.00000= 0000 -0500 -+++ linux-2.6.32.48/include/linux/perf_event.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/linux/perf_event.h linux-2.6.32.46/in= clude/linux/perf_event.h +--- linux-2.6.32.46/include/linux/perf_event.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/include/linux/perf_event.h 2011-05-04 17:56:28.00000= 0000 -0400 @@ -476,7 +476,7 @@ struct hw_perf_event { struct hrtimer hrtimer; }; @@ -63814,9 +63850,9 @@ diff -urNp linux-2.6.32.48/include/linux/perf_eve= nt.h linux-2.6.32.48/include/li =20 /* * Protect attach/detach and child_list: -diff -urNp linux-2.6.32.48/include/linux/pipe_fs_i.h linux-2.6.32.48/inc= lude/linux/pipe_fs_i.h ---- linux-2.6.32.48/include/linux/pipe_fs_i.h 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/include/linux/pipe_fs_i.h 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/include/linux/pipe_fs_i.h linux-2.6.32.46/inc= lude/linux/pipe_fs_i.h +--- linux-2.6.32.46/include/linux/pipe_fs_i.h 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/include/linux/pipe_fs_i.h 2011-04-17 15:56:46.000000= 000 -0400 @@ -46,9 +46,9 @@ struct pipe_inode_info { wait_queue_head_t wait; unsigned int nrbufs, curbuf; @@ -63830,9 +63866,9 @@ diff -urNp linux-2.6.32.48/include/linux/pipe_fs_= i.h linux-2.6.32.48/include/lin unsigned int r_counter; unsigned int w_counter; struct fasync_struct *fasync_readers; -diff -urNp linux-2.6.32.48/include/linux/poison.h linux-2.6.32.48/includ= e/linux/poison.h ---- linux-2.6.32.48/include/linux/poison.h 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/include/linux/poison.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/poison.h linux-2.6.32.46/includ= e/linux/poison.h +--- linux-2.6.32.46/include/linux/poison.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/poison.h 2011-04-17 15:56:46.000000000= -0400 @@ -19,8 +19,8 @@ * under normal circumstances, used to verify that nobody uses * non-initialized list entries. @@ -63844,9 +63880,9 @@ diff -urNp linux-2.6.32.48/include/linux/poison.h= linux-2.6.32.48/include/linux/ =20 /********** include/linux/timer.h **********/ /* -diff -urNp linux-2.6.32.48/include/linux/posix-timers.h linux-2.6.32.48/= include/linux/posix-timers.h ---- linux-2.6.32.48/include/linux/posix-timers.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/include/linux/posix-timers.h 2011-11-12 12:46:47.000= 000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/posix-timers.h linux-2.6.32.46/= include/linux/posix-timers.h +--- linux-2.6.32.46/include/linux/posix-timers.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/include/linux/posix-timers.h 2011-08-05 20:33:55.000= 000000 -0400 @@ -67,7 +67,7 @@ struct k_itimer { }; =20 @@ -63856,9 +63892,9 @@ diff -urNp linux-2.6.32.48/include/linux/posix-ti= mers.h linux-2.6.32.48/include/ int (*clock_getres) (const clockid_t which_clock, struct timespec *tp)= ; int (*clock_set) (const clockid_t which_clock, struct timespec * tp); int (*clock_get) (const clockid_t which_clock, struct timespec * tp); -diff -urNp linux-2.6.32.48/include/linux/preempt.h linux-2.6.32.48/inclu= de/linux/preempt.h ---- linux-2.6.32.48/include/linux/preempt.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/include/linux/preempt.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/linux/preempt.h linux-2.6.32.46/inclu= de/linux/preempt.h +--- linux-2.6.32.46/include/linux/preempt.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/linux/preempt.h 2011-08-05 20:33:55.00000000= 0 -0400 @@ -110,7 +110,7 @@ struct preempt_ops { void (*sched_in)(struct preempt_notifier *notifier, int cpu); void (*sched_out)(struct preempt_notifier *notifier, @@ -63868,9 +63904,9 @@ diff -urNp linux-2.6.32.48/include/linux/preempt.= h linux-2.6.32.48/include/linux =20 /** * preempt_notifier - key for installing preemption notifiers -diff -urNp linux-2.6.32.48/include/linux/proc_fs.h linux-2.6.32.48/inclu= de/linux/proc_fs.h ---- linux-2.6.32.48/include/linux/proc_fs.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/include/linux/proc_fs.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/linux/proc_fs.h linux-2.6.32.46/inclu= de/linux/proc_fs.h +--- linux-2.6.32.46/include/linux/proc_fs.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/linux/proc_fs.h 2011-08-05 20:33:55.00000000= 0 -0400 @@ -155,6 +155,19 @@ static inline struct proc_dir_entry *pro return proc_create_data(name, mode, parent, proc_fops, NULL); } @@ -63900,9 +63936,9 @@ diff -urNp linux-2.6.32.48/include/linux/proc_fs.= h linux-2.6.32.48/include/linux =20 struct ctl_table_header; struct ctl_table; -diff -urNp linux-2.6.32.48/include/linux/ptrace.h linux-2.6.32.48/includ= e/linux/ptrace.h ---- linux-2.6.32.48/include/linux/ptrace.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/linux/ptrace.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/ptrace.h linux-2.6.32.46/includ= e/linux/ptrace.h +--- linux-2.6.32.46/include/linux/ptrace.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/ptrace.h 2011-04-17 15:56:46.000000000= -0400 @@ -96,10 +96,10 @@ extern void __ptrace_unlink(struct task_ extern void exit_ptrace(struct task_struct *tracer); #define PTRACE_MODE_READ 1 @@ -63916,9 +63952,9 @@ diff -urNp linux-2.6.32.48/include/linux/ptrace.h= linux-2.6.32.48/include/linux/ =20 static inline int ptrace_reparented(struct task_struct *child) { -diff -urNp linux-2.6.32.48/include/linux/random.h linux-2.6.32.48/includ= e/linux/random.h ---- linux-2.6.32.48/include/linux/random.h 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/include/linux/random.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/random.h linux-2.6.32.46/includ= e/linux/random.h +--- linux-2.6.32.46/include/linux/random.h 2011-08-16 20:37:25.000000000= -0400 ++++ linux-2.6.32.46/include/linux/random.h 2011-08-07 19:48:09.000000000= -0400 @@ -63,6 +63,11 @@ unsigned long randomize_range(unsigned l u32 random32(void); void srandom32(u32 seed); @@ -63931,9 +63967,9 @@ diff -urNp linux-2.6.32.48/include/linux/random.h= linux-2.6.32.48/include/linux/ #endif /* __KERNEL___ */ =20 #endif /* _LINUX_RANDOM_H */ -diff -urNp linux-2.6.32.48/include/linux/reboot.h linux-2.6.32.48/includ= e/linux/reboot.h ---- linux-2.6.32.48/include/linux/reboot.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/linux/reboot.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/reboot.h linux-2.6.32.46/includ= e/linux/reboot.h +--- linux-2.6.32.46/include/linux/reboot.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/reboot.h 2011-05-22 23:02:06.000000000= -0400 @@ -47,9 +47,9 @@ extern int unregister_reboot_notifier(st * Architecture-specific implementations of sys_reboot commands. */ @@ -63969,9 +64005,9 @@ diff -urNp linux-2.6.32.48/include/linux/reboot.h= linux-2.6.32.48/include/linux/ #include =20 #endif -diff -urNp linux-2.6.32.48/include/linux/reiserfs_fs.h linux-2.6.32.48/i= nclude/linux/reiserfs_fs.h ---- linux-2.6.32.48/include/linux/reiserfs_fs.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/linux/reiserfs_fs.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/linux/reiserfs_fs.h linux-2.6.32.46/i= nclude/linux/reiserfs_fs.h +--- linux-2.6.32.46/include/linux/reiserfs_fs.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/linux/reiserfs_fs.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -1326,7 +1326,7 @@ static inline loff_t max_reiserfs_offset #define REISERFS_USER_MEM 1 /* reiserfs user memory mode */ =20 @@ -64018,9 +64054,9 @@ diff -urNp linux-2.6.32.48/include/linux/reiserfs= _fs.h linux-2.6.32.48/include/l =20 #define op_bytes_number(ih,bsize) item_ops[le_ih_k_t= ype (ih)]->bytes_number (ih, bsize) #define op_is_left_mergeable(key,bsize) item_ops[le_key_k_= type (le_key_version (key), key)]->is_left_mergeable (key, bsize) -diff -urNp linux-2.6.32.48/include/linux/reiserfs_fs_sb.h linux-2.6.32.4= 8/include/linux/reiserfs_fs_sb.h ---- linux-2.6.32.48/include/linux/reiserfs_fs_sb.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/include/linux/reiserfs_fs_sb.h 2011-11-12 12:46:47.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/reiserfs_fs_sb.h linux-2.6.32.4= 6/include/linux/reiserfs_fs_sb.h +--- linux-2.6.32.46/include/linux/reiserfs_fs_sb.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/include/linux/reiserfs_fs_sb.h 2011-04-17 15:56:46.0= 00000000 -0400 @@ -377,7 +377,7 @@ struct reiserfs_sb_info { /* Comment? -Hans */ wait_queue_head_t s_wait; @@ -64030,9 +64066,9 @@ diff -urNp linux-2.6.32.48/include/linux/reiserfs= _fs_sb.h linux-2.6.32.48/includ // tree gets re-balanced unsigned long s_properties; /* File system properties. Currently holds on-disk FS format */ -diff -urNp linux-2.6.32.48/include/linux/relay.h linux-2.6.32.48/include= /linux/relay.h ---- linux-2.6.32.48/include/linux/relay.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/relay.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/relay.h linux-2.6.32.46/include= /linux/relay.h +--- linux-2.6.32.46/include/linux/relay.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/linux/relay.h 2011-08-05 20:33:55.000000000 = -0400 @@ -159,7 +159,7 @@ struct rchan_callbacks * The callback should return 0 if successful, negative if not. */ @@ -64042,9 +64078,9 @@ diff -urNp linux-2.6.32.48/include/linux/relay.h = linux-2.6.32.48/include/linux/r =20 /* * CONFIG_RELAY kernel API, kernel/relay.c -diff -urNp linux-2.6.32.48/include/linux/rfkill.h linux-2.6.32.48/includ= e/linux/rfkill.h ---- linux-2.6.32.48/include/linux/rfkill.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/linux/rfkill.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/rfkill.h linux-2.6.32.46/includ= e/linux/rfkill.h +--- linux-2.6.32.46/include/linux/rfkill.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/rfkill.h 2011-08-23 21:22:38.000000000= -0400 @@ -144,6 +144,7 @@ struct rfkill_ops { void (*query)(struct rfkill *rfkill, void *data); int (*set_block)(void *data, bool blocked); @@ -64053,9 +64089,9 @@ diff -urNp linux-2.6.32.48/include/linux/rfkill.h= linux-2.6.32.48/include/linux/ =20 #if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE) /** -diff -urNp linux-2.6.32.48/include/linux/sched.h linux-2.6.32.48/include= /linux/sched.h ---- linux-2.6.32.48/include/linux/sched.h 2011-11-12 12:44:30.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/sched.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/sched.h linux-2.6.32.46/include= /linux/sched.h +--- linux-2.6.32.46/include/linux/sched.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/linux/sched.h 2011-08-11 19:48:55.000000000 = -0400 @@ -101,6 +101,7 @@ struct bio; struct fs_struct; struct bts_context; @@ -64316,9 +64352,9 @@ diff -urNp linux-2.6.32.48/include/linux/sched.h = linux-2.6.32.48/include/linux/s extern void thread_info_cache_init(void); =20 #ifdef CONFIG_DEBUG_STACK_USAGE -diff -urNp linux-2.6.32.48/include/linux/screen_info.h linux-2.6.32.48/i= nclude/linux/screen_info.h ---- linux-2.6.32.48/include/linux/screen_info.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/linux/screen_info.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/linux/screen_info.h linux-2.6.32.46/i= nclude/linux/screen_info.h +--- linux-2.6.32.46/include/linux/screen_info.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/linux/screen_info.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -42,7 +42,8 @@ struct screen_info { __u16 pages; /* 0x32 */ __u16 vesa_attributes; /* 0x34 */ @@ -64329,9 +64365,9 @@ diff -urNp linux-2.6.32.48/include/linux/screen_i= nfo.h linux-2.6.32.48/include/l } __attribute__((packed)); =20 #define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ -diff -urNp linux-2.6.32.48/include/linux/security.h linux-2.6.32.48/incl= ude/linux/security.h ---- linux-2.6.32.48/include/linux/security.h 2011-11-12 12:44:30.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/security.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/security.h linux-2.6.32.46/incl= ude/linux/security.h +--- linux-2.6.32.46/include/linux/security.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/security.h 2011-04-17 15:56:46.0000000= 00 -0400 @@ -34,6 +34,7 @@ #include #include @@ -64340,9 +64376,9 @@ diff -urNp linux-2.6.32.48/include/linux/security= .h linux-2.6.32.48/include/linu #include =20 /* Maximum number of letters for an LSM name string */ -diff -urNp linux-2.6.32.48/include/linux/seq_file.h linux-2.6.32.48/incl= ude/linux/seq_file.h ---- linux-2.6.32.48/include/linux/seq_file.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/seq_file.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/seq_file.h linux-2.6.32.46/incl= ude/linux/seq_file.h +--- linux-2.6.32.46/include/linux/seq_file.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/seq_file.h 2011-08-23 21:22:38.0000000= 00 -0400 @@ -32,6 +32,7 @@ struct seq_operations { void * (*next) (struct seq_file *m, void *v, loff_t *pos); int (*show) (struct seq_file *m, void *v); @@ -64351,9 +64387,9 @@ diff -urNp linux-2.6.32.48/include/linux/seq_file= .h linux-2.6.32.48/include/linu =20 #define SEQ_SKIP 1 =20 -diff -urNp linux-2.6.32.48/include/linux/shm.h linux-2.6.32.48/include/l= inux/shm.h ---- linux-2.6.32.48/include/linux/shm.h 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/include/linux/shm.h 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/include/linux/shm.h linux-2.6.32.46/include/l= inux/shm.h +--- linux-2.6.32.46/include/linux/shm.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/include/linux/shm.h 2011-04-17 15:56:46.000000000 -0= 400 @@ -95,6 +95,10 @@ struct shmid_kernel /* private to the ke pid_t shm_cprid; pid_t shm_lprid; @@ -64365,9 +64401,9 @@ diff -urNp linux-2.6.32.48/include/linux/shm.h li= nux-2.6.32.48/include/linux/shm }; =20 /* shm_mode upper byte flags */ -diff -urNp linux-2.6.32.48/include/linux/skbuff.h linux-2.6.32.48/includ= e/linux/skbuff.h ---- linux-2.6.32.48/include/linux/skbuff.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/linux/skbuff.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/skbuff.h linux-2.6.32.46/includ= e/linux/skbuff.h +--- linux-2.6.32.46/include/linux/skbuff.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/skbuff.h 2011-08-21 15:27:56.000000000= -0400 @@ -14,6 +14,7 @@ #ifndef _LINUX_SKBUFF_H #define _LINUX_SKBUFF_H @@ -64412,9 +64448,9 @@ diff -urNp linux-2.6.32.48/include/linux/skbuff.h= linux-2.6.32.48/include/linux/ #endif =20 extern int ___pskb_trim(struct sk_buff *skb, unsigned int len); -diff -urNp linux-2.6.32.48/include/linux/slab_def.h linux-2.6.32.48/incl= ude/linux/slab_def.h ---- linux-2.6.32.48/include/linux/slab_def.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/slab_def.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/slab_def.h linux-2.6.32.46/incl= ude/linux/slab_def.h +--- linux-2.6.32.46/include/linux/slab_def.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/slab_def.h 2011-05-04 17:56:28.0000000= 00 -0400 @@ -69,10 +69,10 @@ struct kmem_cache { unsigned long node_allocs; unsigned long node_frees; @@ -64430,9 +64466,9 @@ diff -urNp linux-2.6.32.48/include/linux/slab_def= .h linux-2.6.32.48/include/linu =20 /* * If debugging is enabled, then the allocator can add additional -diff -urNp linux-2.6.32.48/include/linux/slab.h linux-2.6.32.48/include/= linux/slab.h ---- linux-2.6.32.48/include/linux/slab.h 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/include/linux/slab.h 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/include/linux/slab.h linux-2.6.32.46/include/= linux/slab.h +--- linux-2.6.32.46/include/linux/slab.h 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/include/linux/slab.h 2011-04-17 15:56:46.000000000 -= 0400 @@ -11,12 +11,20 @@ =20 #include @@ -64517,9 +64553,9 @@ diff -urNp linux-2.6.32.48/include/linux/slab.h l= inux-2.6.32.48/include/linux/sl +}) + #endif /* _LINUX_SLAB_H */ -diff -urNp linux-2.6.32.48/include/linux/slub_def.h linux-2.6.32.48/incl= ude/linux/slub_def.h ---- linux-2.6.32.48/include/linux/slub_def.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/slub_def.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/slub_def.h linux-2.6.32.46/incl= ude/linux/slub_def.h +--- linux-2.6.32.46/include/linux/slub_def.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/slub_def.h 2011-08-05 20:33:55.0000000= 00 -0400 @@ -86,7 +86,7 @@ struct kmem_cache { struct kmem_cache_order_objects max; struct kmem_cache_order_objects min; @@ -64538,9 +64574,9 @@ diff -urNp linux-2.6.32.48/include/linux/slub_def= .h linux-2.6.32.48/include/linu =20 #ifdef CONFIG_KMEMTRACE extern void *kmem_cache_alloc_notrace(struct kmem_cache *s, gfp_t gfpfl= ags); -diff -urNp linux-2.6.32.48/include/linux/sonet.h linux-2.6.32.48/include= /linux/sonet.h ---- linux-2.6.32.48/include/linux/sonet.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/sonet.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/sonet.h linux-2.6.32.46/include= /linux/sonet.h +--- linux-2.6.32.46/include/linux/sonet.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/linux/sonet.h 2011-04-17 15:56:46.000000000 = -0400 @@ -61,7 +61,7 @@ struct sonet_stats { #include =20 @@ -64550,9 +64586,9 @@ diff -urNp linux-2.6.32.48/include/linux/sonet.h = linux-2.6.32.48/include/linux/s __SONET_ITEMS #undef __HANDLE_ITEM }; -diff -urNp linux-2.6.32.48/include/linux/sunrpc/cache.h linux-2.6.32.48/= include/linux/sunrpc/cache.h ---- linux-2.6.32.48/include/linux/sunrpc/cache.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/include/linux/sunrpc/cache.h 2011-11-12 12:46:47.000= 000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/sunrpc/cache.h linux-2.6.32.46/= include/linux/sunrpc/cache.h +--- linux-2.6.32.46/include/linux/sunrpc/cache.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/include/linux/sunrpc/cache.h 2011-08-05 20:33:55.000= 000000 -0400 @@ -125,7 +125,7 @@ struct cache_detail { */ struct cache_req { @@ -64562,9 +64598,9 @@ diff -urNp linux-2.6.32.48/include/linux/sunrpc/c= ache.h linux-2.6.32.48/include/ /* this must be embedded in a deferred_request that is being * delayed awaiting cache-fill */ -diff -urNp linux-2.6.32.48/include/linux/sunrpc/clnt.h linux-2.6.32.48/i= nclude/linux/sunrpc/clnt.h ---- linux-2.6.32.48/include/linux/sunrpc/clnt.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/linux/sunrpc/clnt.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/linux/sunrpc/clnt.h linux-2.6.32.46/i= nclude/linux/sunrpc/clnt.h +--- linux-2.6.32.46/include/linux/sunrpc/clnt.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/linux/sunrpc/clnt.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -167,9 +167,9 @@ static inline unsigned short rpc_get_por { switch (sap->sa_family) { @@ -64595,9 +64631,9 @@ diff -urNp linux-2.6.32.48/include/linux/sunrpc/c= lnt.h linux-2.6.32.48/include/l } =20 #endif /* __KERNEL__ */ -diff -urNp linux-2.6.32.48/include/linux/sunrpc/svc_rdma.h linux-2.6.32.= 48/include/linux/sunrpc/svc_rdma.h ---- linux-2.6.32.48/include/linux/sunrpc/svc_rdma.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/include/linux/sunrpc/svc_rdma.h 2011-11-12 12:46:47.= 000000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/sunrpc/svc_rdma.h linux-2.6.32.= 46/include/linux/sunrpc/svc_rdma.h +--- linux-2.6.32.46/include/linux/sunrpc/svc_rdma.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/include/linux/sunrpc/svc_rdma.h 2011-05-04 17:56:28.= 000000000 -0400 @@ -53,15 +53,15 @@ extern unsigned int svcrdma_ord; extern unsigned int svcrdma_max_requests; extern unsigned int svcrdma_max_req_size; @@ -64623,9 +64659,9 @@ diff -urNp linux-2.6.32.48/include/linux/sunrpc/s= vc_rdma.h linux-2.6.32.48/inclu =20 #define RPCRDMA_VERSION 1 =20 -diff -urNp linux-2.6.32.48/include/linux/suspend.h linux-2.6.32.48/inclu= de/linux/suspend.h ---- linux-2.6.32.48/include/linux/suspend.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/include/linux/suspend.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/linux/suspend.h linux-2.6.32.46/inclu= de/linux/suspend.h +--- linux-2.6.32.46/include/linux/suspend.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/linux/suspend.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -104,15 +104,15 @@ typedef int __bitwise suspend_state_t; * which require special recovery actions in that situation. */ @@ -64714,9 +64750,9 @@ diff -urNp linux-2.6.32.48/include/linux/suspend.= h linux-2.6.32.48/include/linux static inline int hibernate(void) { return -ENOSYS; } static inline bool system_entering_hibernation(void) { return false; } #endif /* CONFIG_HIBERNATION */ -diff -urNp linux-2.6.32.48/include/linux/sysctl.h linux-2.6.32.48/includ= e/linux/sysctl.h ---- linux-2.6.32.48/include/linux/sysctl.h 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/include/linux/sysctl.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/sysctl.h linux-2.6.32.46/includ= e/linux/sysctl.h +--- linux-2.6.32.46/include/linux/sysctl.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/sysctl.h 2011-04-17 15:56:46.000000000= -0400 @@ -164,7 +164,11 @@ enum KERN_PANIC_ON_NMI=3D76, /* int: whether we will panic on an unrecovere= d */ }; @@ -64747,9 +64783,9 @@ diff -urNp linux-2.6.32.48/include/linux/sysctl.h= linux-2.6.32.48/include/linux/ extern ctl_handler sysctl_intvec; extern ctl_handler sysctl_jiffies; extern ctl_handler sysctl_ms_jiffies; -diff -urNp linux-2.6.32.48/include/linux/sysfs.h linux-2.6.32.48/include= /linux/sysfs.h ---- linux-2.6.32.48/include/linux/sysfs.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/sysfs.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/sysfs.h linux-2.6.32.46/include= /linux/sysfs.h +--- linux-2.6.32.46/include/linux/sysfs.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/linux/sysfs.h 2011-04-17 15:56:46.000000000 = -0400 @@ -75,8 +75,8 @@ struct bin_attribute { }; =20 @@ -64761,9 +64797,9 @@ diff -urNp linux-2.6.32.48/include/linux/sysfs.h = linux-2.6.32.48/include/linux/s }; =20 struct sysfs_dirent; -diff -urNp linux-2.6.32.48/include/linux/thread_info.h linux-2.6.32.48/i= nclude/linux/thread_info.h ---- linux-2.6.32.48/include/linux/thread_info.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/linux/thread_info.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/linux/thread_info.h linux-2.6.32.46/i= nclude/linux/thread_info.h +--- linux-2.6.32.46/include/linux/thread_info.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/linux/thread_info.h 2011-04-17 15:56:46.0000= 00000 -0400 @@ -23,7 +23,7 @@ struct restart_block { }; /* For futex_wait and futex_wait_requeue_pi */ @@ -64773,9 +64809,9 @@ diff -urNp linux-2.6.32.48/include/linux/thread_i= nfo.h linux-2.6.32.48/include/l u32 val; u32 flags; u32 bitset; -diff -urNp linux-2.6.32.48/include/linux/tty.h linux-2.6.32.48/include/l= inux/tty.h ---- linux-2.6.32.48/include/linux/tty.h 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/include/linux/tty.h 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/include/linux/tty.h linux-2.6.32.46/include/l= inux/tty.h +--- linux-2.6.32.46/include/linux/tty.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/include/linux/tty.h 2011-08-05 20:33:55.000000000 -0= 400 @@ -493,7 +493,6 @@ extern void tty_ldisc_begin(void); /* This last one is just for the tty layer internals and shouldn't be u= sed elsewhere */ extern void tty_ldisc_enable(struct tty_struct *tty); @@ -64784,9 +64820,9 @@ diff -urNp linux-2.6.32.48/include/linux/tty.h li= nux-2.6.32.48/include/linux/tty /* n_tty.c */ extern struct tty_ldisc_ops tty_ldisc_N_TTY; =20 -diff -urNp linux-2.6.32.48/include/linux/tty_ldisc.h linux-2.6.32.48/inc= lude/linux/tty_ldisc.h ---- linux-2.6.32.48/include/linux/tty_ldisc.h 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/include/linux/tty_ldisc.h 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/include/linux/tty_ldisc.h linux-2.6.32.46/inc= lude/linux/tty_ldisc.h +--- linux-2.6.32.46/include/linux/tty_ldisc.h 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/include/linux/tty_ldisc.h 2011-04-17 15:56:46.000000= 000 -0400 @@ -139,7 +139,7 @@ struct tty_ldisc_ops { =20 struct module *owner; @@ -64796,9 +64832,9 @@ diff -urNp linux-2.6.32.48/include/linux/tty_ldis= c.h linux-2.6.32.48/include/lin }; =20 struct tty_ldisc { -diff -urNp linux-2.6.32.48/include/linux/types.h linux-2.6.32.48/include= /linux/types.h ---- linux-2.6.32.48/include/linux/types.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/include/linux/types.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/linux/types.h linux-2.6.32.46/include= /linux/types.h +--- linux-2.6.32.46/include/linux/types.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/linux/types.h 2011-04-17 15:56:46.000000000 = -0400 @@ -191,10 +191,26 @@ typedef struct { volatile int counter; } atomic_t; @@ -64826,9 +64862,9 @@ diff -urNp linux-2.6.32.48/include/linux/types.h = linux-2.6.32.48/include/linux/t #endif =20 struct ustat { -diff -urNp linux-2.6.32.48/include/linux/uaccess.h linux-2.6.32.48/inclu= de/linux/uaccess.h ---- linux-2.6.32.48/include/linux/uaccess.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/include/linux/uaccess.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/linux/uaccess.h linux-2.6.32.46/inclu= de/linux/uaccess.h +--- linux-2.6.32.46/include/linux/uaccess.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/linux/uaccess.h 2011-10-06 09:37:14.00000000= 0 -0400 @@ -76,11 +76,11 @@ static inline unsigned long __copy_from_ long ret; \ mm_segment_t old_fs =3D get_fs(); \ @@ -64861,9 +64897,9 @@ diff -urNp linux-2.6.32.48/include/linux/uaccess.= h linux-2.6.32.48/include/linux +extern long probe_kernel_write(void *dst, const void *src, size_t size)= ; =20 #endif /* __LINUX_UACCESS_H__ */ -diff -urNp linux-2.6.32.48/include/linux/unaligned/access_ok.h linux-2.6= .32.48/include/linux/unaligned/access_ok.h ---- linux-2.6.32.48/include/linux/unaligned/access_ok.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/include/linux/unaligned/access_ok.h 2011-11-12 12:46= :47.000000000 -0500 +diff -urNp linux-2.6.32.46/include/linux/unaligned/access_ok.h linux-2.6= .32.46/include/linux/unaligned/access_ok.h +--- linux-2.6.32.46/include/linux/unaligned/access_ok.h 2011-03-27 14:31= :47.000000000 -0400 ++++ linux-2.6.32.46/include/linux/unaligned/access_ok.h 2011-04-17 15:56= :46.000000000 -0400 @@ -6,32 +6,32 @@ =20 static inline u16 get_unaligned_le16(const void *p) @@ -64903,9 +64939,9 @@ diff -urNp linux-2.6.32.48/include/linux/unaligne= d/access_ok.h linux-2.6.32.48/i } =20 static inline void put_unaligned_le16(u16 val, void *p) -diff -urNp linux-2.6.32.48/include/linux/vermagic.h linux-2.6.32.48/incl= ude/linux/vermagic.h ---- linux-2.6.32.48/include/linux/vermagic.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/include/linux/vermagic.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/linux/vermagic.h linux-2.6.32.46/incl= ude/linux/vermagic.h +--- linux-2.6.32.46/include/linux/vermagic.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/linux/vermagic.h 2011-10-08 08:17:48.0000000= 00 -0400 @@ -26,9 +26,28 @@ #define MODULE_ARCH_VERMAGIC "" #endif @@ -64936,9 +64972,9 @@ diff -urNp linux-2.6.32.48/include/linux/vermagic= .h linux-2.6.32.48/include/linu + MODULE_ARCH_VERMAGIC \ + MODULE_PAX_REFCOUNT MODULE_CONSTIFY_PLUGIN MODULE_GRSEC =20 -diff -urNp linux-2.6.32.48/include/linux/vmalloc.h linux-2.6.32.48/inclu= de/linux/vmalloc.h ---- linux-2.6.32.48/include/linux/vmalloc.h 2011-11-12 12:44:30.00000000= 0 -0500 -+++ linux-2.6.32.48/include/linux/vmalloc.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/linux/vmalloc.h linux-2.6.32.46/inclu= de/linux/vmalloc.h +--- linux-2.6.32.46/include/linux/vmalloc.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/linux/vmalloc.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -13,6 +13,11 @@ struct vm_area_struct; /* vma defining=20 #define VM_MAP 0x00000004 /* vmap()ed pages */ #define VM_USERMAP 0x00000008 /* suitable for remap_vmalloc_range */ @@ -65033,9 +65069,9 @@ diff -urNp linux-2.6.32.48/include/linux/vmalloc.= h linux-2.6.32.48/include/linux +}) + #endif /* _LINUX_VMALLOC_H */ -diff -urNp linux-2.6.32.48/include/linux/vmstat.h linux-2.6.32.48/includ= e/linux/vmstat.h ---- linux-2.6.32.48/include/linux/vmstat.h 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/include/linux/vmstat.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/linux/vmstat.h linux-2.6.32.46/includ= e/linux/vmstat.h +--- linux-2.6.32.46/include/linux/vmstat.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/linux/vmstat.h 2011-04-17 15:56:46.000000000= -0400 @@ -136,18 +136,18 @@ static inline void vm_events_fold_cpu(in /* * Zone based page accounting with per cpu differentials. @@ -65099,9 +65135,9 @@ diff -urNp linux-2.6.32.48/include/linux/vmstat.h= linux-2.6.32.48/include/linux/ } =20 static inline void __dec_zone_page_state(struct page *page, -diff -urNp linux-2.6.32.48/include/media/saa7146_vv.h linux-2.6.32.48/in= clude/media/saa7146_vv.h ---- linux-2.6.32.48/include/media/saa7146_vv.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/include/media/saa7146_vv.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/media/saa7146_vv.h linux-2.6.32.46/in= clude/media/saa7146_vv.h +--- linux-2.6.32.46/include/media/saa7146_vv.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/include/media/saa7146_vv.h 2011-08-23 21:22:38.00000= 0000 -0400 @@ -167,7 +167,7 @@ struct saa7146_ext_vv int (*std_callback)(struct saa7146_dev*, struct saa7146_standard *); =20 @@ -65111,9 +65147,9 @@ diff -urNp linux-2.6.32.48/include/media/saa7146_= vv.h linux-2.6.32.48/include/me /* pointer to the saa7146 core ops */ const struct v4l2_ioctl_ops *core_ops; =20 -diff -urNp linux-2.6.32.48/include/media/v4l2-dev.h linux-2.6.32.48/incl= ude/media/v4l2-dev.h ---- linux-2.6.32.48/include/media/v4l2-dev.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/include/media/v4l2-dev.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/media/v4l2-dev.h linux-2.6.32.46/incl= ude/media/v4l2-dev.h +--- linux-2.6.32.46/include/media/v4l2-dev.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/media/v4l2-dev.h 2011-10-08 08:14:40.0000000= 00 -0400 @@ -34,7 +34,7 @@ struct v4l2_device; #define V4L2_FL_UNREGISTERED (0) =20 @@ -65131,9 +65167,9 @@ diff -urNp linux-2.6.32.48/include/media/v4l2-dev= .h linux-2.6.32.48/include/medi =20 /* * Newer version of video_device, handled by videodev2.c -diff -urNp linux-2.6.32.48/include/media/v4l2-device.h linux-2.6.32.48/i= nclude/media/v4l2-device.h ---- linux-2.6.32.48/include/media/v4l2-device.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/media/v4l2-device.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/media/v4l2-device.h linux-2.6.32.46/i= nclude/media/v4l2-device.h +--- linux-2.6.32.46/include/media/v4l2-device.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/media/v4l2-device.h 2011-05-04 17:56:28.0000= 00000 -0400 @@ -71,7 +71,7 @@ int __must_check v4l2_device_register(st this function returns 0. If the name ends with a digit (e.g. cx18), then the name will be set to cx18-0 since cx180 looks really odd. */ @@ -65143,9 +65179,9 @@ diff -urNp linux-2.6.32.48/include/media/v4l2-dev= ice.h linux-2.6.32.48/include/m =20 /* Set v4l2_dev->dev to NULL. Call when the USB parent disconnects. Since the parent disappears this ensures that v4l2_dev doesn't have = an -diff -urNp linux-2.6.32.48/include/media/v4l2-ioctl.h linux-2.6.32.48/in= clude/media/v4l2-ioctl.h ---- linux-2.6.32.48/include/media/v4l2-ioctl.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/include/media/v4l2-ioctl.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/media/v4l2-ioctl.h linux-2.6.32.46/in= clude/media/v4l2-ioctl.h +--- linux-2.6.32.46/include/media/v4l2-ioctl.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/include/media/v4l2-ioctl.h 2011-08-23 21:22:38.00000= 0000 -0400 @@ -243,6 +243,7 @@ struct v4l2_ioctl_ops { long (*vidioc_default) (struct file *file, void *fh, int cmd, void *arg); @@ -65154,9 +65190,9 @@ diff -urNp linux-2.6.32.48/include/media/v4l2-ioc= tl.h linux-2.6.32.48/include/me =20 =20 /* v4l debugging and diagnostics */ -diff -urNp linux-2.6.32.48/include/net/flow.h linux-2.6.32.48/include/ne= t/flow.h ---- linux-2.6.32.48/include/net/flow.h 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/include/net/flow.h 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/include/net/flow.h linux-2.6.32.46/include/ne= t/flow.h +--- linux-2.6.32.46/include/net/flow.h 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/include/net/flow.h 2011-05-04 17:56:28.000000000 -04= 00 @@ -92,7 +92,7 @@ typedef int (*flow_resolve_t)(struct net extern void *flow_cache_lookup(struct net *net, struct flowi *key, u16 = family, u8 dir, flow_resolve_t resolver); @@ -65166,9 +65202,9 @@ diff -urNp linux-2.6.32.48/include/net/flow.h lin= ux-2.6.32.48/include/net/flow.h =20 static inline int flow_cache_uli_match(struct flowi *fl1, struct flowi = *fl2) { -diff -urNp linux-2.6.32.48/include/net/inetpeer.h linux-2.6.32.48/includ= e/net/inetpeer.h ---- linux-2.6.32.48/include/net/inetpeer.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/net/inetpeer.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/net/inetpeer.h linux-2.6.32.46/includ= e/net/inetpeer.h +--- linux-2.6.32.46/include/net/inetpeer.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/net/inetpeer.h 2011-04-17 15:56:46.000000000= -0400 @@ -24,7 +24,7 @@ struct inet_peer __u32 dtime; /* the time of last use of not * referenced entries */ @@ -65178,9 +65214,9 @@ diff -urNp linux-2.6.32.48/include/net/inetpeer.h= linux-2.6.32.48/include/net/in __u32 tcp_ts; unsigned long tcp_ts_stamp; }; -diff -urNp linux-2.6.32.48/include/net/ip_vs.h linux-2.6.32.48/include/n= et/ip_vs.h ---- linux-2.6.32.48/include/net/ip_vs.h 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/include/net/ip_vs.h 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/include/net/ip_vs.h linux-2.6.32.46/include/n= et/ip_vs.h +--- linux-2.6.32.46/include/net/ip_vs.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/include/net/ip_vs.h 2011-05-04 17:56:28.000000000 -0= 400 @@ -365,7 +365,7 @@ struct ip_vs_conn { struct ip_vs_conn *control; /* Master control connection *= / atomic_t n_control; /* Number of controlled ones *= / @@ -65199,9 +65235,9 @@ diff -urNp linux-2.6.32.48/include/net/ip_vs.h li= nux-2.6.32.48/include/net/ip_vs atomic_t weight; /* server weight */ =20 atomic_t refcnt; /* reference counter */ -diff -urNp linux-2.6.32.48/include/net/irda/ircomm_core.h linux-2.6.32.4= 8/include/net/irda/ircomm_core.h ---- linux-2.6.32.48/include/net/irda/ircomm_core.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/include/net/irda/ircomm_core.h 2011-11-12 12:46:47.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/include/net/irda/ircomm_core.h linux-2.6.32.4= 6/include/net/irda/ircomm_core.h +--- linux-2.6.32.46/include/net/irda/ircomm_core.h 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/include/net/irda/ircomm_core.h 2011-08-05 20:33:55.0= 00000000 -0400 @@ -51,7 +51,7 @@ typedef struct { int (*connect_response)(struct ircomm_cb *, struct sk_buff *); int (*disconnect_request)(struct ircomm_cb *, struct sk_buff *,=20 @@ -65211,9 +65247,9 @@ diff -urNp linux-2.6.32.48/include/net/irda/ircom= m_core.h linux-2.6.32.48/includ =20 struct ircomm_cb { irda_queue_t queue; -diff -urNp linux-2.6.32.48/include/net/irda/ircomm_tty.h linux-2.6.32.48= /include/net/irda/ircomm_tty.h ---- linux-2.6.32.48/include/net/irda/ircomm_tty.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/include/net/irda/ircomm_tty.h 2011-11-12 12:46:47.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/include/net/irda/ircomm_tty.h linux-2.6.32.46= /include/net/irda/ircomm_tty.h +--- linux-2.6.32.46/include/net/irda/ircomm_tty.h 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/include/net/irda/ircomm_tty.h 2011-04-17 15:56:46.00= 0000000 -0400 @@ -35,6 +35,7 @@ #include #include @@ -65233,9 +65269,9 @@ diff -urNp linux-2.6.32.48/include/net/irda/ircom= m_tty.h linux-2.6.32.48/include =20 /* Protect concurent access to : * o self->open_count -diff -urNp linux-2.6.32.48/include/net/iucv/af_iucv.h linux-2.6.32.48/in= clude/net/iucv/af_iucv.h ---- linux-2.6.32.48/include/net/iucv/af_iucv.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/include/net/iucv/af_iucv.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/net/iucv/af_iucv.h linux-2.6.32.46/in= clude/net/iucv/af_iucv.h +--- linux-2.6.32.46/include/net/iucv/af_iucv.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/include/net/iucv/af_iucv.h 2011-05-04 17:56:28.00000= 0000 -0400 @@ -87,7 +87,7 @@ struct iucv_sock { struct iucv_sock_list { struct hlist_head head; @@ -65245,9 +65281,9 @@ diff -urNp linux-2.6.32.48/include/net/iucv/af_iu= cv.h linux-2.6.32.48/include/ne }; =20 unsigned int iucv_sock_poll(struct file *file, struct socket *sock, -diff -urNp linux-2.6.32.48/include/net/lapb.h linux-2.6.32.48/include/ne= t/lapb.h ---- linux-2.6.32.48/include/net/lapb.h 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/include/net/lapb.h 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/include/net/lapb.h linux-2.6.32.46/include/ne= t/lapb.h +--- linux-2.6.32.46/include/net/lapb.h 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/include/net/lapb.h 2011-08-05 20:33:55.000000000 -04= 00 @@ -95,7 +95,7 @@ struct lapb_cb { struct sk_buff_head write_queue; struct sk_buff_head ack_queue; @@ -65257,9 +65293,9 @@ diff -urNp linux-2.6.32.48/include/net/lapb.h lin= ux-2.6.32.48/include/net/lapb.h =20 /* FRMR control information */ struct lapb_frame frmr_data; -diff -urNp linux-2.6.32.48/include/net/neighbour.h linux-2.6.32.48/inclu= de/net/neighbour.h ---- linux-2.6.32.48/include/net/neighbour.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/include/net/neighbour.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/net/neighbour.h linux-2.6.32.46/inclu= de/net/neighbour.h +--- linux-2.6.32.46/include/net/neighbour.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/net/neighbour.h 2011-08-26 20:29:08.00000000= 0 -0400 @@ -131,7 +131,7 @@ struct neigh_ops int (*connected_output)(struct sk_buff*); int (*hh_output)(struct sk_buff*); @@ -65269,9 +65305,9 @@ diff -urNp linux-2.6.32.48/include/net/neighbour.= h linux-2.6.32.48/include/net/n =20 struct pneigh_entry { -diff -urNp linux-2.6.32.48/include/net/netlink.h linux-2.6.32.48/include= /net/netlink.h ---- linux-2.6.32.48/include/net/netlink.h 2011-11-12 12:44:30.000000000 = -0500 -+++ linux-2.6.32.48/include/net/netlink.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/net/netlink.h linux-2.6.32.46/include= /net/netlink.h +--- linux-2.6.32.46/include/net/netlink.h 2011-07-13 17:23:04.000000000 = -0400 ++++ linux-2.6.32.46/include/net/netlink.h 2011-08-21 18:08:11.000000000 = -0400 @@ -335,7 +335,7 @@ static inline int nlmsg_ok(const struct=20 { return (remaining >=3D (int) sizeof(struct nlmsghdr) && @@ -65290,9 +65326,9 @@ diff -urNp linux-2.6.32.48/include/net/netlink.h = linux-2.6.32.48/include/net/net } =20 /** -diff -urNp linux-2.6.32.48/include/net/netns/ipv4.h linux-2.6.32.48/incl= ude/net/netns/ipv4.h ---- linux-2.6.32.48/include/net/netns/ipv4.h 2011-11-12 12:44:30.0000000= 00 -0500 -+++ linux-2.6.32.48/include/net/netns/ipv4.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/net/netns/ipv4.h linux-2.6.32.46/incl= ude/net/netns/ipv4.h +--- linux-2.6.32.46/include/net/netns/ipv4.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/net/netns/ipv4.h 2011-05-04 17:56:28.0000000= 00 -0400 @@ -54,7 +54,7 @@ struct netns_ipv4 { int current_rt_cache_rebuild_count; =20 @@ -65302,9 +65338,9 @@ diff -urNp linux-2.6.32.48/include/net/netns/ipv4= .h linux-2.6.32.48/include/net/ =20 #ifdef CONFIG_IP_MROUTE struct sock *mroute_sk; -diff -urNp linux-2.6.32.48/include/net/sctp/sctp.h linux-2.6.32.48/inclu= de/net/sctp/sctp.h ---- linux-2.6.32.48/include/net/sctp/sctp.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/include/net/sctp/sctp.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/net/sctp/sctp.h linux-2.6.32.46/inclu= de/net/sctp/sctp.h +--- linux-2.6.32.46/include/net/sctp/sctp.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/net/sctp/sctp.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -305,8 +305,8 @@ extern int sctp_debug_flag; =20 #else /* SCTP_DEBUG */ @@ -65316,9 +65352,9 @@ diff -urNp linux-2.6.32.48/include/net/sctp/sctp.= h linux-2.6.32.48/include/net/s #define SCTP_ENABLE_DEBUG #define SCTP_DISABLE_DEBUG #define SCTP_ASSERT(expr, str, func) -diff -urNp linux-2.6.32.48/include/net/secure_seq.h linux-2.6.32.48/incl= ude/net/secure_seq.h ---- linux-2.6.32.48/include/net/secure_seq.h 2011-11-12 12:44:30.0000000= 00 -0500 -+++ linux-2.6.32.48/include/net/secure_seq.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/net/secure_seq.h linux-2.6.32.46/incl= ude/net/secure_seq.h +--- linux-2.6.32.46/include/net/secure_seq.h 2011-08-16 20:37:25.0000000= 00 -0400 ++++ linux-2.6.32.46/include/net/secure_seq.h 2011-08-07 19:48:09.0000000= 00 -0400 @@ -7,14 +7,14 @@ extern __u32 secure_ip_id(__be32 daddr); extern __u32 secure_ipv6_id(const __be32 daddr[4]); extern u32 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be1= 6 dport); @@ -65338,9 +65374,9 @@ diff -urNp linux-2.6.32.48/include/net/secure_seq= .h linux-2.6.32.48/include/net/ + __be16 sport, __be16 dport); =20 #endif /* _NET_SECURE_SEQ */ -diff -urNp linux-2.6.32.48/include/net/sock.h linux-2.6.32.48/include/ne= t/sock.h ---- linux-2.6.32.48/include/net/sock.h 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/include/net/sock.h 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/include/net/sock.h linux-2.6.32.46/include/ne= t/sock.h +--- linux-2.6.32.46/include/net/sock.h 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/include/net/sock.h 2011-08-21 17:24:37.000000000 -04= 00 @@ -272,7 +272,7 @@ struct sock { rwlock_t sk_callback_lock; int sk_err, @@ -65359,9 +65395,9 @@ diff -urNp linux-2.6.32.48/include/net/sock.h lin= ux-2.6.32.48/include/net/sock.h int inc) { } -diff -urNp linux-2.6.32.48/include/net/tcp.h linux-2.6.32.48/include/net= /tcp.h ---- linux-2.6.32.48/include/net/tcp.h 2011-11-12 12:44:30.000000000 -050= 0 -+++ linux-2.6.32.48/include/net/tcp.h 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/include/net/tcp.h linux-2.6.32.46/include/net= /tcp.h +--- linux-2.6.32.46/include/net/tcp.h 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/include/net/tcp.h 2011-08-23 21:29:10.000000000 -040= 0 @@ -1444,8 +1444,8 @@ enum tcp_seq_states { struct tcp_seq_afinfo { char *name; @@ -65373,9 +65409,9 @@ diff -urNp linux-2.6.32.48/include/net/tcp.h linu= x-2.6.32.48/include/net/tcp.h }; =20 struct tcp_iter_state { -diff -urNp linux-2.6.32.48/include/net/udp.h linux-2.6.32.48/include/net= /udp.h ---- linux-2.6.32.48/include/net/udp.h 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/include/net/udp.h 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/include/net/udp.h linux-2.6.32.46/include/net= /udp.h +--- linux-2.6.32.46/include/net/udp.h 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/include/net/udp.h 2011-08-23 21:29:34.000000000 -040= 0 @@ -187,8 +187,8 @@ struct udp_seq_afinfo { char *name; sa_family_t family; @@ -65387,9 +65423,9 @@ diff -urNp linux-2.6.32.48/include/net/udp.h linu= x-2.6.32.48/include/net/udp.h }; =20 struct udp_iter_state { -diff -urNp linux-2.6.32.48/include/rdma/iw_cm.h linux-2.6.32.48/include/= rdma/iw_cm.h ---- linux-2.6.32.48/include/rdma/iw_cm.h 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/include/rdma/iw_cm.h 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/include/rdma/iw_cm.h linux-2.6.32.46/include/= rdma/iw_cm.h +--- linux-2.6.32.46/include/rdma/iw_cm.h 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/include/rdma/iw_cm.h 2011-08-05 20:33:55.000000000 -= 0400 @@ -129,7 +129,7 @@ struct iw_cm_verbs { int backlog); =20 @@ -65399,9 +65435,9 @@ diff -urNp linux-2.6.32.48/include/rdma/iw_cm.h l= inux-2.6.32.48/include/rdma/iw_ =20 /** * iw_create_cm_id - Create an IW CM identifier. -diff -urNp linux-2.6.32.48/include/scsi/libfc.h linux-2.6.32.48/include/= scsi/libfc.h ---- linux-2.6.32.48/include/scsi/libfc.h 2011-11-12 12:44:30.000000000 -= 0500 -+++ linux-2.6.32.48/include/scsi/libfc.h 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/include/scsi/libfc.h linux-2.6.32.46/include/= scsi/libfc.h +--- linux-2.6.32.46/include/scsi/libfc.h 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/include/scsi/libfc.h 2011-08-23 21:22:38.000000000 -= 0400 @@ -675,6 +675,7 @@ struct libfc_function_template { */ void (*disc_stop_final) (struct fc_lport *); @@ -65419,9 +65455,9 @@ diff -urNp linux-2.6.32.48/include/scsi/libfc.h l= inux-2.6.32.48/include/scsi/lib u8 link_up; u8 qfull; enum fc_lport_state state; -diff -urNp linux-2.6.32.48/include/scsi/scsi_device.h linux-2.6.32.48/in= clude/scsi/scsi_device.h ---- linux-2.6.32.48/include/scsi/scsi_device.h 2011-11-12 12:44:30.00000= 0000 -0500 -+++ linux-2.6.32.48/include/scsi/scsi_device.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/scsi/scsi_device.h linux-2.6.32.46/in= clude/scsi/scsi_device.h +--- linux-2.6.32.46/include/scsi/scsi_device.h 2011-04-17 17:00:52.00000= 0000 -0400 ++++ linux-2.6.32.46/include/scsi/scsi_device.h 2011-05-04 17:56:28.00000= 0000 -0400 @@ -156,9 +156,9 @@ struct scsi_device { unsigned int max_device_blocked; /* what device_blocked counts down fr= om */ #define SCSI_DEFAULT_DEVICE_BLOCKED 3 @@ -65435,9 +65471,9 @@ diff -urNp linux-2.6.32.48/include/scsi/scsi_devi= ce.h linux-2.6.32.48/include/sc =20 struct device sdev_gendev, sdev_dev; -diff -urNp linux-2.6.32.48/include/scsi/scsi_transport_fc.h linux-2.6.32= .48/include/scsi/scsi_transport_fc.h ---- linux-2.6.32.48/include/scsi/scsi_transport_fc.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/include/scsi/scsi_transport_fc.h 2011-11-12 12:46:47= .000000000 -0500 +diff -urNp linux-2.6.32.46/include/scsi/scsi_transport_fc.h linux-2.6.32= .46/include/scsi/scsi_transport_fc.h +--- linux-2.6.32.46/include/scsi/scsi_transport_fc.h 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/include/scsi/scsi_transport_fc.h 2011-08-26 20:19:09= .000000000 -0400 @@ -708,7 +708,7 @@ struct fc_function_template { unsigned long show_host_system_hostname:1; =20 @@ -65447,9 +65483,9 @@ diff -urNp linux-2.6.32.48/include/scsi/scsi_tran= sport_fc.h linux-2.6.32.48/incl =20 =20 /** -diff -urNp linux-2.6.32.48/include/sound/ac97_codec.h linux-2.6.32.48/in= clude/sound/ac97_codec.h ---- linux-2.6.32.48/include/sound/ac97_codec.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/include/sound/ac97_codec.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/sound/ac97_codec.h linux-2.6.32.46/in= clude/sound/ac97_codec.h +--- linux-2.6.32.46/include/sound/ac97_codec.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/include/sound/ac97_codec.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -419,15 +419,15 @@ struct snd_ac97; =20 @@ -65482,9 +65518,9 @@ diff -urNp linux-2.6.32.48/include/sound/ac97_cod= ec.h linux-2.6.32.48/include/so void *private_data; void (*private_free) (struct snd_ac97 *ac97); /* --- */ -diff -urNp linux-2.6.32.48/include/sound/ak4xxx-adda.h linux-2.6.32.48/i= nclude/sound/ak4xxx-adda.h ---- linux-2.6.32.48/include/sound/ak4xxx-adda.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/include/sound/ak4xxx-adda.h 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/include/sound/ak4xxx-adda.h linux-2.6.32.46/i= nclude/sound/ak4xxx-adda.h +--- linux-2.6.32.46/include/sound/ak4xxx-adda.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/include/sound/ak4xxx-adda.h 2011-08-05 20:33:55.0000= 00000 -0400 @@ -35,7 +35,7 @@ struct snd_ak4xxx_ops { void (*write)(struct snd_akm4xxx *ak, int chip, unsigned char reg, unsigned char val); @@ -65494,9 +65530,9 @@ diff -urNp linux-2.6.32.48/include/sound/ak4xxx-a= dda.h linux-2.6.32.48/include/s =20 #define AK4XXX_IMAGE_SIZE (AK4XXX_MAX_CHIPS * 16) /* 64 bytes */ =20 -diff -urNp linux-2.6.32.48/include/sound/hwdep.h linux-2.6.32.48/include= /sound/hwdep.h ---- linux-2.6.32.48/include/sound/hwdep.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/include/sound/hwdep.h 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/include/sound/hwdep.h linux-2.6.32.46/include= /sound/hwdep.h +--- linux-2.6.32.46/include/sound/hwdep.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/include/sound/hwdep.h 2011-08-05 20:33:55.000000000 = -0400 @@ -49,7 +49,7 @@ struct snd_hwdep_ops { struct snd_hwdep_dsp_status *status); int (*dsp_load)(struct snd_hwdep *hw, @@ -65506,9 +65542,9 @@ diff -urNp linux-2.6.32.48/include/sound/hwdep.h = linux-2.6.32.48/include/sound/h =20 struct snd_hwdep { struct snd_card *card; -diff -urNp linux-2.6.32.48/include/sound/info.h linux-2.6.32.48/include/= sound/info.h ---- linux-2.6.32.48/include/sound/info.h 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/include/sound/info.h 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/include/sound/info.h linux-2.6.32.46/include/= sound/info.h +--- linux-2.6.32.46/include/sound/info.h 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/include/sound/info.h 2011-08-05 20:33:55.000000000 -= 0400 @@ -44,7 +44,7 @@ struct snd_info_entry_text { struct snd_info_buffer *buffer); void (*write)(struct snd_info_entry *entry, @@ -65518,9 +65554,9 @@ diff -urNp linux-2.6.32.48/include/sound/info.h l= inux-2.6.32.48/include/sound/in =20 struct snd_info_entry_ops { int (*open)(struct snd_info_entry *entry, -diff -urNp linux-2.6.32.48/include/sound/pcm.h linux-2.6.32.48/include/s= ound/pcm.h ---- linux-2.6.32.48/include/sound/pcm.h 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/include/sound/pcm.h 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/include/sound/pcm.h linux-2.6.32.46/include/s= ound/pcm.h +--- linux-2.6.32.46/include/sound/pcm.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/include/sound/pcm.h 2011-08-23 21:22:38.000000000 -0= 400 @@ -80,6 +80,7 @@ struct snd_pcm_ops { int (*mmap)(struct snd_pcm_substream *substream, struct vm_area_struct= *vma); int (*ack)(struct snd_pcm_substream *substream); @@ -65529,9 +65565,9 @@ diff -urNp linux-2.6.32.48/include/sound/pcm.h li= nux-2.6.32.48/include/sound/pcm =20 /* * -diff -urNp linux-2.6.32.48/include/sound/sb16_csp.h linux-2.6.32.48/incl= ude/sound/sb16_csp.h ---- linux-2.6.32.48/include/sound/sb16_csp.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/include/sound/sb16_csp.h 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/include/sound/sb16_csp.h linux-2.6.32.46/incl= ude/sound/sb16_csp.h +--- linux-2.6.32.46/include/sound/sb16_csp.h 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/include/sound/sb16_csp.h 2011-08-05 20:33:55.0000000= 00 -0400 @@ -139,7 +139,7 @@ struct snd_sb_csp_ops { int (*csp_start) (struct snd_sb_csp * p, int sample_width, int channel= s); int (*csp_stop) (struct snd_sb_csp * p); @@ -65541,9 +65577,9 @@ diff -urNp linux-2.6.32.48/include/sound/sb16_csp= .h linux-2.6.32.48/include/soun =20 /* * CSP private data -diff -urNp linux-2.6.32.48/include/sound/ymfpci.h linux-2.6.32.48/includ= e/sound/ymfpci.h ---- linux-2.6.32.48/include/sound/ymfpci.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/include/sound/ymfpci.h 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/include/sound/ymfpci.h linux-2.6.32.46/includ= e/sound/ymfpci.h +--- linux-2.6.32.46/include/sound/ymfpci.h 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/include/sound/ymfpci.h 2011-05-04 17:56:28.000000000= -0400 @@ -358,7 +358,7 @@ struct snd_ymfpci { spinlock_t reg_lock; spinlock_t voice_lock; @@ -65553,9 +65589,9 @@ diff -urNp linux-2.6.32.48/include/sound/ymfpci.h= linux-2.6.32.48/include/sound/ struct snd_info_entry *proc_entry; const struct firmware *dsp_microcode; const struct firmware *controller_microcode; -diff -urNp linux-2.6.32.48/include/trace/events/irq.h linux-2.6.32.48/in= clude/trace/events/irq.h ---- linux-2.6.32.48/include/trace/events/irq.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/include/trace/events/irq.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/include/trace/events/irq.h linux-2.6.32.46/in= clude/trace/events/irq.h +--- linux-2.6.32.46/include/trace/events/irq.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/include/trace/events/irq.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -34,7 +34,7 @@ */ TRACE_EVENT(irq_handler_entry, @@ -65592,9 +65628,9 @@ diff -urNp linux-2.6.32.48/include/trace/events/i= rq.h linux-2.6.32.48/include/tr =20 TP_ARGS(h, vec), =20 -diff -urNp linux-2.6.32.48/include/video/uvesafb.h linux-2.6.32.48/inclu= de/video/uvesafb.h ---- linux-2.6.32.48/include/video/uvesafb.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/include/video/uvesafb.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/include/video/uvesafb.h linux-2.6.32.46/inclu= de/video/uvesafb.h +--- linux-2.6.32.46/include/video/uvesafb.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/include/video/uvesafb.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -177,6 +177,7 @@ struct uvesafb_par { u8 ypan; /* 0 - nothing, 1 - ypan, 2 - ywrap */ u8 pmi_setpal; /* PMI for palette changes */ @@ -65603,9 +65639,9 @@ diff -urNp linux-2.6.32.48/include/video/uvesafb.= h linux-2.6.32.48/include/video void *pmi_start; void *pmi_pal; u8 *vbe_state_orig; /* -diff -urNp linux-2.6.32.48/init/do_mounts.c linux-2.6.32.48/init/do_moun= ts.c ---- linux-2.6.32.48/init/do_mounts.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/init/do_mounts.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/init/do_mounts.c linux-2.6.32.46/init/do_moun= ts.c +--- linux-2.6.32.46/init/do_mounts.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/init/do_mounts.c 2011-04-17 15:56:46.000000000 -0400 @@ -216,11 +216,11 @@ static void __init get_fs_names(char *pa =20 static int __init do_mount_root(char *name, char *fs, int flags, void *= data) @@ -65651,9 +65687,9 @@ diff -urNp linux-2.6.32.48/init/do_mounts.c linux= -2.6.32.48/init/do_mounts.c + sys_mount((__force char __user *)".", (__force char __user *)"/", NULL= , MS_MOVE, NULL); + sys_chroot((__force char __user *)"."); } -diff -urNp linux-2.6.32.48/init/do_mounts.h linux-2.6.32.48/init/do_moun= ts.h ---- linux-2.6.32.48/init/do_mounts.h 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/init/do_mounts.h 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/init/do_mounts.h linux-2.6.32.46/init/do_moun= ts.h +--- linux-2.6.32.46/init/do_mounts.h 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/init/do_mounts.h 2011-10-06 09:37:14.000000000 -0400 @@ -15,15 +15,15 @@ extern int root_mountflags; =20 static inline int create_dev(char *name, dev_t dev) @@ -65682,9 +65718,9 @@ diff -urNp linux-2.6.32.48/init/do_mounts.h linux= -2.6.32.48/init/do_mounts.h return 0; if (!S_ISBLK(stat.st_mode)) return 0; -diff -urNp linux-2.6.32.48/init/do_mounts_initrd.c linux-2.6.32.48/init/= do_mounts_initrd.c ---- linux-2.6.32.48/init/do_mounts_initrd.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/init/do_mounts_initrd.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/init/do_mounts_initrd.c linux-2.6.32.46/init/= do_mounts_initrd.c +--- linux-2.6.32.46/init/do_mounts_initrd.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/init/do_mounts_initrd.c 2011-10-06 09:37:14.00000000= 0 -0400 @@ -32,7 +32,7 @@ static int __init do_linuxrc(void * shel sys_close(old_fd);sys_close(root_fd); sys_close(0);sys_close(1);sys_close(2); @@ -65768,9 +65804,9 @@ diff -urNp linux-2.6.32.48/init/do_mounts_initrd.= c linux-2.6.32.48/init/do_mount + sys_unlink((const char __force_user *)"/initrd.image"); return 0; } -diff -urNp linux-2.6.32.48/init/do_mounts_md.c linux-2.6.32.48/init/do_m= ounts_md.c ---- linux-2.6.32.48/init/do_mounts_md.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/init/do_mounts_md.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/init/do_mounts_md.c linux-2.6.32.46/init/do_m= ounts_md.c +--- linux-2.6.32.46/init/do_mounts_md.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/init/do_mounts_md.c 2011-10-06 09:37:14.000000000 -0= 400 @@ -170,7 +170,7 @@ static void __init md_setup_drive(void) partitioned ? "_d" : "", minor, md_setup_args[ent].device_names); @@ -65798,9 +65834,9 @@ diff -urNp linux-2.6.32.48/init/do_mounts_md.c li= nux-2.6.32.48/init/do_mounts_md if (fd >=3D 0) { sys_ioctl(fd, RAID_AUTORUN, raid_autopart); sys_close(fd); -diff -urNp linux-2.6.32.48/init/initramfs.c linux-2.6.32.48/init/initram= fs.c ---- linux-2.6.32.48/init/initramfs.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/init/initramfs.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/init/initramfs.c linux-2.6.32.46/init/initram= fs.c +--- linux-2.6.32.46/init/initramfs.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/init/initramfs.c 2011-10-06 09:37:14.000000000 -0400 @@ -74,7 +74,7 @@ static void __init free_hash(void) } } @@ -65909,9 +65945,9 @@ diff -urNp linux-2.6.32.48/init/initramfs.c linux= -2.6.32.48/init/initramfs.c state =3D SkipIt; next_state =3D Reset; return 0; -diff -urNp linux-2.6.32.48/init/Kconfig linux-2.6.32.48/init/Kconfig ---- linux-2.6.32.48/init/Kconfig 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/init/Kconfig 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/init/Kconfig linux-2.6.32.46/init/Kconfig +--- linux-2.6.32.46/init/Kconfig 2011-05-10 22:12:01.000000000 -0400 ++++ linux-2.6.32.46/init/Kconfig 2011-05-10 22:12:34.000000000 -0400 @@ -1004,7 +1004,7 @@ config SLUB_DEBUG =20 config COMPAT_BRK @@ -65921,9 +65957,9 @@ diff -urNp linux-2.6.32.48/init/Kconfig linux-2.6= .32.48/init/Kconfig help Randomizing heap placement makes heap exploits harder, but it also breaks ancient binaries (including anything libc5 based). -diff -urNp linux-2.6.32.48/init/main.c linux-2.6.32.48/init/main.c ---- linux-2.6.32.48/init/main.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/init/main.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/init/main.c linux-2.6.32.46/init/main.c +--- linux-2.6.32.46/init/main.c 2011-05-10 22:12:01.000000000 -0400 ++++ linux-2.6.32.46/init/main.c 2011-10-06 09:37:14.000000000 -0400 @@ -97,6 +97,7 @@ static inline void mark_rodata_ro(void)=20 #ifdef CONFIG_TC extern void tc_init(void); @@ -66067,9 +66103,9 @@ diff -urNp linux-2.6.32.48/init/main.c linux-2.6.= 32.48/init/main.c /* * Ok, we have completed the initial bootup, and * we're essentially up and running. Get rid of the -diff -urNp linux-2.6.32.48/init/noinitramfs.c linux-2.6.32.48/init/noini= tramfs.c ---- linux-2.6.32.48/init/noinitramfs.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/init/noinitramfs.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/init/noinitramfs.c linux-2.6.32.46/init/noini= tramfs.c +--- linux-2.6.32.46/init/noinitramfs.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/init/noinitramfs.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -29,7 +29,7 @@ static int __init default_rootfs(void) { int err; @@ -66088,9 +66124,9 @@ diff -urNp linux-2.6.32.48/init/noinitramfs.c lin= ux-2.6.32.48/init/noinitramfs.c if (err < 0) goto out; =20 -diff -urNp linux-2.6.32.48/ipc/mqueue.c linux-2.6.32.48/ipc/mqueue.c ---- linux-2.6.32.48/ipc/mqueue.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/ipc/mqueue.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/ipc/mqueue.c linux-2.6.32.46/ipc/mqueue.c +--- linux-2.6.32.46/ipc/mqueue.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/ipc/mqueue.c 2011-04-17 15:56:46.000000000 -0400 @@ -150,6 +150,7 @@ static struct inode *mqueue_get_inode(st mq_bytes =3D (mq_msg_tblsz + (info->attr.mq_maxmsg * info->attr.mq_msgsize)); @@ -66099,9 +66135,9 @@ diff -urNp linux-2.6.32.48/ipc/mqueue.c linux-2.6= .32.48/ipc/mqueue.c spin_lock(&mq_lock); if (u->mq_bytes + mq_bytes < u->mq_bytes || u->mq_bytes + mq_bytes > -diff -urNp linux-2.6.32.48/ipc/msg.c linux-2.6.32.48/ipc/msg.c ---- linux-2.6.32.48/ipc/msg.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/ipc/msg.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/ipc/msg.c linux-2.6.32.46/ipc/msg.c +--- linux-2.6.32.46/ipc/msg.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/ipc/msg.c 2011-08-05 20:33:55.000000000 -0400 @@ -310,18 +310,19 @@ static inline int msg_security(struct ke return security_msg_queue_associate(msq, msgflg); } @@ -66127,9 +66163,9 @@ diff -urNp linux-2.6.32.48/ipc/msg.c linux-2.6.32= .48/ipc/msg.c msg_params.key =3D key; msg_params.flg =3D msgflg; =20 -diff -urNp linux-2.6.32.48/ipc/sem.c linux-2.6.32.48/ipc/sem.c ---- linux-2.6.32.48/ipc/sem.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/ipc/sem.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/ipc/sem.c linux-2.6.32.46/ipc/sem.c +--- linux-2.6.32.46/ipc/sem.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/ipc/sem.c 2011-08-05 20:33:55.000000000 -0400 @@ -309,10 +309,15 @@ static inline int sem_more_checks(struct return 0; } @@ -66176,9 +66212,9 @@ diff -urNp linux-2.6.32.48/ipc/sem.c linux-2.6.32= .48/ipc/sem.c ns =3D current->nsproxy->ipc_ns; =20 if (nsops < 1 || semid < 0) -diff -urNp linux-2.6.32.48/ipc/shm.c linux-2.6.32.48/ipc/shm.c ---- linux-2.6.32.48/ipc/shm.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/ipc/shm.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/ipc/shm.c linux-2.6.32.46/ipc/shm.c +--- linux-2.6.32.46/ipc/shm.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/ipc/shm.c 2011-08-05 20:33:55.000000000 -0400 @@ -70,6 +70,14 @@ static void shm_destroy (struct ipc_name static int sysvipc_shm_proc_show(struct seq_file *s, void *it); #endif @@ -66256,9 +66292,9 @@ diff -urNp linux-2.6.32.48/ipc/shm.c linux-2.6.32= .48/ipc/shm.c size =3D i_size_read(path.dentry->d_inode); shm_unlock(shp); =20 -diff -urNp linux-2.6.32.48/kernel/acct.c linux-2.6.32.48/kernel/acct.c ---- linux-2.6.32.48/kernel/acct.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/acct.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/acct.c linux-2.6.32.46/kernel/acct.c +--- linux-2.6.32.46/kernel/acct.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/acct.c 2011-10-06 09:37:14.000000000 -0400 @@ -579,7 +579,7 @@ static void do_acct_process(struct bsd_a */ flim =3D current->signal->rlim[RLIMIT_FSIZE].rlim_cur; @@ -66268,9 +66304,9 @@ diff -urNp linux-2.6.32.48/kernel/acct.c linux-2.= 6.32.48/kernel/acct.c sizeof(acct_t), &file->f_pos); current->signal->rlim[RLIMIT_FSIZE].rlim_cur =3D flim; set_fs(fs); -diff -urNp linux-2.6.32.48/kernel/audit.c linux-2.6.32.48/kernel/audit.c ---- linux-2.6.32.48/kernel/audit.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/kernel/audit.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/audit.c linux-2.6.32.46/kernel/audit.c +--- linux-2.6.32.46/kernel/audit.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/audit.c 2011-05-04 17:56:28.000000000 -0400 @@ -110,7 +110,7 @@ u32 audit_sig_sid =3D 0; 3) suppressed due to audit_rate_limit 4) suppressed due to audit_backlog_limit @@ -66320,9 +66356,9 @@ diff -urNp linux-2.6.32.48/kernel/audit.c linux-2= .6.32.48/kernel/audit.c break; } case AUDIT_TTY_SET: { -diff -urNp linux-2.6.32.48/kernel/auditsc.c linux-2.6.32.48/kernel/audit= sc.c ---- linux-2.6.32.48/kernel/auditsc.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/kernel/auditsc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/auditsc.c linux-2.6.32.46/kernel/audit= sc.c +--- linux-2.6.32.46/kernel/auditsc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/auditsc.c 2011-05-04 17:56:28.000000000 -0400 @@ -2113,7 +2113,7 @@ int auditsc_get_stamp(struct audit_conte } =20 @@ -66341,9 +66377,9 @@ diff -urNp linux-2.6.32.48/kernel/auditsc.c linux= -2.6.32.48/kernel/auditsc.c struct audit_context *context =3D task->audit_context; =20 if (context && context->in_syscall) { -diff -urNp linux-2.6.32.48/kernel/capability.c linux-2.6.32.48/kernel/ca= pability.c ---- linux-2.6.32.48/kernel/capability.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/kernel/capability.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/kernel/capability.c linux-2.6.32.46/kernel/ca= pability.c +--- linux-2.6.32.46/kernel/capability.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/kernel/capability.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -305,10 +305,26 @@ int capable(int cap) BUG(); } @@ -66372,9 +66408,9 @@ diff -urNp linux-2.6.32.48/kernel/capability.c li= nux-2.6.32.48/kernel/capability + EXPORT_SYMBOL(capable); +EXPORT_SYMBOL(capable_nolog); -diff -urNp linux-2.6.32.48/kernel/cgroup.c linux-2.6.32.48/kernel/cgroup= .c ---- linux-2.6.32.48/kernel/cgroup.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/cgroup.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/cgroup.c linux-2.6.32.46/kernel/cgroup= .c +--- linux-2.6.32.46/kernel/cgroup.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/cgroup.c 2011-05-16 21:46:57.000000000 -0400 @@ -536,6 +536,8 @@ static struct css_set *find_css_set( struct hlist_head *hhead; struct cg_cgroup_link *link; @@ -66384,9 +66420,9 @@ diff -urNp linux-2.6.32.48/kernel/cgroup.c linux-= 2.6.32.48/kernel/cgroup.c /* First see if we already have a cgroup group that matches * the desired set */ read_lock(&css_set_lock); -diff -urNp linux-2.6.32.48/kernel/compat.c linux-2.6.32.48/kernel/compat= .c ---- linux-2.6.32.48/kernel/compat.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/compat.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/compat.c linux-2.6.32.46/kernel/compat= .c +--- linux-2.6.32.46/kernel/compat.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/compat.c 2011-10-06 09:37:14.000000000 -0400 @@ -108,7 +108,7 @@ static long compat_nanosleep_restart(str mm_segment_t oldfs; long ret; @@ -66535,9 +66571,9 @@ diff -urNp linux-2.6.32.48/kernel/compat.c linux-= 2.6.32.48/kernel/compat.c set_fs(oldfs); =20 if ((err =3D=3D -ERESTART_RESTARTBLOCK) && rmtp && -diff -urNp linux-2.6.32.48/kernel/configs.c linux-2.6.32.48/kernel/confi= gs.c ---- linux-2.6.32.48/kernel/configs.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/kernel/configs.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/configs.c linux-2.6.32.46/kernel/confi= gs.c +--- linux-2.6.32.46/kernel/configs.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/configs.c 2011-04-17 15:56:46.000000000 -0400 @@ -73,8 +73,19 @@ static int __init ikconfig_init(void) struct proc_dir_entry *entry; =20 @@ -66558,9 +66594,9 @@ diff -urNp linux-2.6.32.48/kernel/configs.c linux= -2.6.32.48/kernel/configs.c if (!entry) return -ENOMEM; =20 -diff -urNp linux-2.6.32.48/kernel/cpu.c linux-2.6.32.48/kernel/cpu.c ---- linux-2.6.32.48/kernel/cpu.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/cpu.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/cpu.c linux-2.6.32.46/kernel/cpu.c +--- linux-2.6.32.46/kernel/cpu.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/cpu.c 2011-04-17 15:56:46.000000000 -0400 @@ -19,7 +19,7 @@ /* Serializes the updates to cpu_online_mask, cpu_present_mask */ static DEFINE_MUTEX(cpu_add_remove_lock); @@ -66570,9 +66606,9 @@ diff -urNp linux-2.6.32.48/kernel/cpu.c linux-2.6= .32.48/kernel/cpu.c =20 /* If set, cpu_up and cpu_down will return -EBUSY and do nothing. * Should always be manipulated under cpu_add_remove_lock -diff -urNp linux-2.6.32.48/kernel/cred.c linux-2.6.32.48/kernel/cred.c ---- linux-2.6.32.48/kernel/cred.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/cred.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/cred.c linux-2.6.32.46/kernel/cred.c +--- linux-2.6.32.46/kernel/cred.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/cred.c 2011-08-11 19:49:38.000000000 -0400 @@ -160,6 +160,8 @@ static void put_cred_rcu(struct rcu_head */ void __put_cred(struct cred *cred) @@ -66721,9 +66757,9 @@ diff -urNp linux-2.6.32.48/kernel/cred.c linux-2.= 6.32.48/kernel/cred.c ret =3D security_secctx_to_secid(secctx, strlen(secctx), &secid); if (ret < 0) return ret; -diff -urNp linux-2.6.32.48/kernel/exit.c linux-2.6.32.48/kernel/exit.c ---- linux-2.6.32.48/kernel/exit.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/exit.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/exit.c linux-2.6.32.46/kernel/exit.c +--- linux-2.6.32.46/kernel/exit.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/exit.c 2011-08-17 19:19:50.000000000 -0400 @@ -55,6 +55,10 @@ #include #include @@ -66854,9 +66890,9 @@ diff -urNp linux-2.6.32.48/kernel/exit.c linux-2.= 6.32.48/kernel/exit.c =20 get_task_struct(p); read_unlock(&tasklist_lock); -diff -urNp linux-2.6.32.48/kernel/fork.c linux-2.6.32.48/kernel/fork.c ---- linux-2.6.32.48/kernel/fork.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/fork.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/fork.c linux-2.6.32.46/kernel/fork.c +--- linux-2.6.32.46/kernel/fork.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/fork.c 2011-08-11 19:50:07.000000000 -0400 @@ -253,7 +253,7 @@ static struct task_struct *dup_task_stru *stackend =3D STACK_END_MAGIC; /* for overflow detection */ =20 @@ -66998,9 +67034,9 @@ diff -urNp linux-2.6.32.48/kernel/fork.c linux-2.= 6.32.48/kernel/fork.c new_fs =3D NULL; else new_fs =3D fs; -diff -urNp linux-2.6.32.48/kernel/futex.c linux-2.6.32.48/kernel/futex.c ---- linux-2.6.32.48/kernel/futex.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/futex.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/futex.c linux-2.6.32.46/kernel/futex.c +--- linux-2.6.32.46/kernel/futex.c 2011-08-29 22:24:44.000000000 -0400 ++++ linux-2.6.32.46/kernel/futex.c 2011-08-29 22:25:07.000000000 -0400 @@ -54,6 +54,7 @@ #include #include @@ -67103,9 +67139,9 @@ diff -urNp linux-2.6.32.48/kernel/futex.c linux-2= .6.32.48/kernel/futex.c if (curval =3D=3D -EFAULT) futex_cmpxchg_enabled =3D 1; =20 -diff -urNp linux-2.6.32.48/kernel/futex_compat.c linux-2.6.32.48/kernel/= futex_compat.c ---- linux-2.6.32.48/kernel/futex_compat.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/kernel/futex_compat.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/kernel/futex_compat.c linux-2.6.32.46/kernel/= futex_compat.c +--- linux-2.6.32.46/kernel/futex_compat.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/kernel/futex_compat.c 2011-04-17 15:56:46.000000000 = -0400 @@ -10,6 +10,7 @@ #include #include @@ -67143,9 +67179,9 @@ diff -urNp linux-2.6.32.48/kernel/futex_compat.c = linux-2.6.32.48/kernel/futex_co head =3D p->compat_robust_list; read_unlock(&tasklist_lock); } -diff -urNp linux-2.6.32.48/kernel/gcov/base.c linux-2.6.32.48/kernel/gco= v/base.c ---- linux-2.6.32.48/kernel/gcov/base.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/kernel/gcov/base.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/kernel/gcov/base.c linux-2.6.32.46/kernel/gco= v/base.c +--- linux-2.6.32.46/kernel/gcov/base.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/kernel/gcov/base.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -102,11 +102,6 @@ void gcov_enable_events(void) } =20 @@ -67167,9 +67203,9 @@ diff -urNp linux-2.6.32.48/kernel/gcov/base.c lin= ux-2.6.32.48/kernel/gcov/base.c if (prev) prev->next =3D info->next; else -diff -urNp linux-2.6.32.48/kernel/hrtimer.c linux-2.6.32.48/kernel/hrtim= er.c ---- linux-2.6.32.48/kernel/hrtimer.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/hrtimer.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/hrtimer.c linux-2.6.32.46/kernel/hrtim= er.c +--- linux-2.6.32.46/kernel/hrtimer.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/hrtimer.c 2011-04-17 15:56:46.000000000 -0400 @@ -1391,7 +1391,7 @@ void hrtimer_peek_ahead_timers(void) local_irq_restore(flags); } @@ -67179,9 +67215,9 @@ diff -urNp linux-2.6.32.48/kernel/hrtimer.c linux= -2.6.32.48/kernel/hrtimer.c { hrtimer_peek_ahead_timers(); } -diff -urNp linux-2.6.32.48/kernel/kallsyms.c linux-2.6.32.48/kernel/kall= syms.c ---- linux-2.6.32.48/kernel/kallsyms.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/kernel/kallsyms.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/kernel/kallsyms.c linux-2.6.32.46/kernel/kall= syms.c +--- linux-2.6.32.46/kernel/kallsyms.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/kernel/kallsyms.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -11,6 +11,9 @@ * Changed the compression method from stem compression to "table = lookup" * compression (see scripts/kallsyms.c for a more complete descrip= tion) @@ -67284,9 +67320,9 @@ diff -urNp linux-2.6.32.48/kernel/kallsyms.c linu= x-2.6.32.48/kernel/kallsyms.c if (!iter) return -ENOMEM; reset_iter(iter, 0); -diff -urNp linux-2.6.32.48/kernel/kexec.c linux-2.6.32.48/kernel/kexec.c ---- linux-2.6.32.48/kernel/kexec.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/kernel/kexec.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/kexec.c linux-2.6.32.46/kernel/kexec.c +--- linux-2.6.32.46/kernel/kexec.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/kexec.c 2011-10-06 09:37:14.000000000 -0400 @@ -1028,7 +1028,8 @@ asmlinkage long compat_sys_kexec_load(un unsigned long flags) { @@ -67297,9 +67333,9 @@ diff -urNp linux-2.6.32.48/kernel/kexec.c linux-2= .6.32.48/kernel/kexec.c unsigned long i, result; =20 /* Don't allow clients that don't understand the native -diff -urNp linux-2.6.32.48/kernel/kgdb.c linux-2.6.32.48/kernel/kgdb.c ---- linux-2.6.32.48/kernel/kgdb.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/kgdb.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/kgdb.c linux-2.6.32.46/kernel/kgdb.c +--- linux-2.6.32.46/kernel/kgdb.c 2011-04-17 17:00:52.000000000 -0400 ++++ linux-2.6.32.46/kernel/kgdb.c 2011-05-04 17:56:20.000000000 -0400 @@ -86,7 +86,7 @@ static int kgdb_io_module_registered; /* Guard for recursive entry */ static int exception_level; @@ -67379,9 +67415,9 @@ diff -urNp linux-2.6.32.48/kernel/kgdb.c linux-2.= 6.32.48/kernel/kgdb.c } EXPORT_SYMBOL_GPL(kgdb_breakpoint); =20 -diff -urNp linux-2.6.32.48/kernel/kmod.c linux-2.6.32.48/kernel/kmod.c ---- linux-2.6.32.48/kernel/kmod.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/kmod.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/kmod.c linux-2.6.32.46/kernel/kmod.c +--- linux-2.6.32.46/kernel/kmod.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/kmod.c 2011-10-06 09:37:14.000000000 -0400 @@ -65,13 +65,12 @@ char modprobe_path[KMOD_PATH_LEN] =3D "/sb * If module auto-loading support is disabled then this function * becomes a no-operation. @@ -67426,7 +67462,7 @@ diff -urNp linux-2.6.32.48/kernel/kmod.c linux-2.= 6.32.48/kernel/kmod.c /* If modprobe needs a service that is in a module, we get a recursive * loop. Limit the number of running kmod threads to max_threads/2 or * MAX_KMOD_CONCURRENT, whichever is the smaller. A cleaner method -@@ -123,6 +134,48 @@ int __request_module(bool wait, const ch +@@ -121,6 +132,48 @@ int __request_module(bool wait, const ch atomic_dec(&kmod_concurrent); return ret; } @@ -67475,7 +67511,7 @@ diff -urNp linux-2.6.32.48/kernel/kmod.c linux-2.= 6.32.48/kernel/kmod.c EXPORT_SYMBOL(__request_module); #endif /* CONFIG_MODULES */ =20 -@@ -228,7 +281,7 @@ static int wait_for_helper(void *data) +@@ -226,7 +279,7 @@ static int wait_for_helper(void *data) * * Thus the __user pointer cast is valid here. */ @@ -67484,9 +67520,9 @@ diff -urNp linux-2.6.32.48/kernel/kmod.c linux-2.= 6.32.48/kernel/kmod.c =20 /* * If ret is 0, either ____call_usermodehelper failed and the -diff -urNp linux-2.6.32.48/kernel/kprobes.c linux-2.6.32.48/kernel/kprob= es.c ---- linux-2.6.32.48/kernel/kprobes.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/kernel/kprobes.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/kprobes.c linux-2.6.32.46/kernel/kprob= es.c +--- linux-2.6.32.46/kernel/kprobes.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/kprobes.c 2011-04-17 15:56:46.000000000 -0400 @@ -183,7 +183,7 @@ static kprobe_opcode_t __kprobes *__get_ * kernel image and loaded module images reside. This is required * so x86_64 can correctly handle the %rip-relative fixups. @@ -67523,9 +67559,9 @@ diff -urNp linux-2.6.32.48/kernel/kprobes.c linux= -2.6.32.48/kernel/kprobes.c =20 head =3D &kprobe_table[i]; preempt_disable(); -diff -urNp linux-2.6.32.48/kernel/lockdep.c linux-2.6.32.48/kernel/lockd= ep.c ---- linux-2.6.32.48/kernel/lockdep.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/lockdep.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/lockdep.c linux-2.6.32.46/kernel/lockd= ep.c +--- linux-2.6.32.46/kernel/lockdep.c 2011-06-25 12:55:35.000000000 -0400 ++++ linux-2.6.32.46/kernel/lockdep.c 2011-06-25 12:56:37.000000000 -0400 @@ -421,20 +421,20 @@ static struct stack_trace lockdep_init_t /* * Various lockdep statistics: @@ -67599,9 +67635,9 @@ diff -urNp linux-2.6.32.48/kernel/lockdep.c linux= -2.6.32.48/kernel/lockdep.c if (very_verbose(class)) { printk("\nacquire class [%p] %s", class->key, class->name); if (class->name_version > 1) -diff -urNp linux-2.6.32.48/kernel/lockdep_internals.h linux-2.6.32.48/ke= rnel/lockdep_internals.h ---- linux-2.6.32.48/kernel/lockdep_internals.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/kernel/lockdep_internals.h 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/kernel/lockdep_internals.h linux-2.6.32.46/ke= rnel/lockdep_internals.h +--- linux-2.6.32.46/kernel/lockdep_internals.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/kernel/lockdep_internals.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -113,26 +113,26 @@ lockdep_count_backward_deps(struct lock_ /* * Various lockdep statistics: @@ -67649,9 +67685,9 @@ diff -urNp linux-2.6.32.48/kernel/lockdep_interna= ls.h linux-2.6.32.48/kernel/loc #else # define debug_atomic_inc(ptr) do { } while (0) # define debug_atomic_dec(ptr) do { } while (0) -diff -urNp linux-2.6.32.48/kernel/lockdep_proc.c linux-2.6.32.48/kernel/= lockdep_proc.c ---- linux-2.6.32.48/kernel/lockdep_proc.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/kernel/lockdep_proc.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/kernel/lockdep_proc.c linux-2.6.32.46/kernel/= lockdep_proc.c +--- linux-2.6.32.46/kernel/lockdep_proc.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/kernel/lockdep_proc.c 2011-04-17 15:56:46.000000000 = -0400 @@ -39,7 +39,7 @@ static void l_stop(struct seq_file *m, v =20 static void print_name(struct seq_file *m, struct lock_class *class) @@ -67661,9 +67697,9 @@ diff -urNp linux-2.6.32.48/kernel/lockdep_proc.c = linux-2.6.32.48/kernel/lockdep_ const char *name =3D class->name; =20 if (!name) { -diff -urNp linux-2.6.32.48/kernel/module.c linux-2.6.32.48/kernel/module= .c ---- linux-2.6.32.48/kernel/module.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/module.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/module.c linux-2.6.32.46/kernel/module= .c +--- linux-2.6.32.46/kernel/module.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/module.c 2011-04-29 18:52:40.000000000 -0400 @@ -55,6 +55,7 @@ #include #include @@ -68304,9 +68340,9 @@ diff -urNp linux-2.6.32.48/kernel/module.c linux-= 2.6.32.48/kernel/module.c mod =3D NULL; } return mod; -diff -urNp linux-2.6.32.48/kernel/mutex.c linux-2.6.32.48/kernel/mutex.c ---- linux-2.6.32.48/kernel/mutex.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/mutex.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/mutex.c linux-2.6.32.46/kernel/mutex.c +--- linux-2.6.32.46/kernel/mutex.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/mutex.c 2011-04-17 15:56:46.000000000 -0400 @@ -169,7 +169,7 @@ __mutex_lock_common(struct mutex *lock,=20 */ =20 @@ -68344,9 +68380,9 @@ diff -urNp linux-2.6.32.48/kernel/mutex.c linux-2= .6.32.48/kernel/mutex.c mutex_set_owner(lock); =20 /* set it to 0 if there are no waiters left: */ -diff -urNp linux-2.6.32.48/kernel/mutex-debug.c linux-2.6.32.48/kernel/m= utex-debug.c ---- linux-2.6.32.48/kernel/mutex-debug.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/kernel/mutex-debug.c 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/kernel/mutex-debug.c linux-2.6.32.46/kernel/m= utex-debug.c +--- linux-2.6.32.46/kernel/mutex-debug.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/kernel/mutex-debug.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -49,21 +49,21 @@ void debug_mutex_free_waiter(struct mute } =20 @@ -68384,9 +68420,9 @@ diff -urNp linux-2.6.32.48/kernel/mutex-debug.c l= inux-2.6.32.48/kernel/mutex-deb DEBUG_LOCKS_WARN_ON(!lock->wait_list.prev && !lock->wait_list.next); mutex_clear_owner(lock); } -diff -urNp linux-2.6.32.48/kernel/mutex-debug.h linux-2.6.32.48/kernel/m= utex-debug.h ---- linux-2.6.32.48/kernel/mutex-debug.h 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/kernel/mutex-debug.h 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/kernel/mutex-debug.h linux-2.6.32.46/kernel/m= utex-debug.h +--- linux-2.6.32.46/kernel/mutex-debug.h 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/kernel/mutex-debug.h 2011-04-17 15:56:46.000000000 -= 0400 @@ -20,16 +20,16 @@ extern void debug_mutex_wake_waiter(stru extern void debug_mutex_free_waiter(struct mutex_waiter *waiter); extern void debug_mutex_add_waiter(struct mutex *lock, @@ -68407,9 +68443,9 @@ diff -urNp linux-2.6.32.48/kernel/mutex-debug.h l= inux-2.6.32.48/kernel/mutex-deb } =20 static inline void mutex_clear_owner(struct mutex *lock) -diff -urNp linux-2.6.32.48/kernel/mutex.h linux-2.6.32.48/kernel/mutex.h ---- linux-2.6.32.48/kernel/mutex.h 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/kernel/mutex.h 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/mutex.h linux-2.6.32.46/kernel/mutex.h +--- linux-2.6.32.46/kernel/mutex.h 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/mutex.h 2011-04-17 15:56:46.000000000 -0400 @@ -19,7 +19,7 @@ #ifdef CONFIG_SMP static inline void mutex_set_owner(struct mutex *lock) @@ -68419,9 +68455,9 @@ diff -urNp linux-2.6.32.48/kernel/mutex.h linux-2= .6.32.48/kernel/mutex.h } =20 static inline void mutex_clear_owner(struct mutex *lock) -diff -urNp linux-2.6.32.48/kernel/panic.c linux-2.6.32.48/kernel/panic.c ---- linux-2.6.32.48/kernel/panic.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/kernel/panic.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/panic.c linux-2.6.32.46/kernel/panic.c +--- linux-2.6.32.46/kernel/panic.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/panic.c 2011-04-17 15:56:46.000000000 -0400 @@ -352,7 +352,7 @@ static void warn_slowpath_common(const c const char *board; =20 @@ -68441,9 +68477,9 @@ diff -urNp linux-2.6.32.48/kernel/panic.c linux-2= .6.32.48/kernel/panic.c __builtin_return_address(0)); } EXPORT_SYMBOL(__stack_chk_fail); -diff -urNp linux-2.6.32.48/kernel/params.c linux-2.6.32.48/kernel/params= .c ---- linux-2.6.32.48/kernel/params.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/kernel/params.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/params.c linux-2.6.32.46/kernel/params= .c +--- linux-2.6.32.46/kernel/params.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/params.c 2011-04-17 15:56:46.000000000 -0400 @@ -725,7 +725,7 @@ static ssize_t module_attr_store(struct=20 return ret; } @@ -68462,9 +68498,9 @@ diff -urNp linux-2.6.32.48/kernel/params.c linux-= 2.6.32.48/kernel/params.c .filter =3D uevent_filter, }; =20 -diff -urNp linux-2.6.32.48/kernel/perf_event.c linux-2.6.32.48/kernel/pe= rf_event.c ---- linux-2.6.32.48/kernel/perf_event.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/kernel/perf_event.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/kernel/perf_event.c linux-2.6.32.46/kernel/pe= rf_event.c +--- linux-2.6.32.46/kernel/perf_event.c 2011-08-09 18:35:30.000000000 -0= 400 ++++ linux-2.6.32.46/kernel/perf_event.c 2011-10-06 09:37:14.000000000 -0= 400 @@ -77,7 +77,7 @@ int sysctl_perf_event_mlock __read_mostl */ int sysctl_perf_event_sample_rate __read_mostly =3D 100000; @@ -68685,9 +68721,9 @@ diff -urNp linux-2.6.32.48/kernel/perf_event.c li= nux-2.6.32.48/kernel/perf_event &parent_event->child_total_time_running); =20 /* -diff -urNp linux-2.6.32.48/kernel/pid.c linux-2.6.32.48/kernel/pid.c ---- linux-2.6.32.48/kernel/pid.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/pid.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/pid.c linux-2.6.32.46/kernel/pid.c +--- linux-2.6.32.46/kernel/pid.c 2011-04-22 19:16:29.000000000 -0400 ++++ linux-2.6.32.46/kernel/pid.c 2011-08-21 19:11:29.000000000 -0400 @@ -33,6 +33,7 @@ #include #include @@ -68733,9 +68769,9 @@ diff -urNp linux-2.6.32.48/kernel/pid.c linux-2.6= .32.48/kernel/pid.c struct pid *get_task_pid(struct task_struct *task, enum pid_type type) { struct pid *pid; -diff -urNp linux-2.6.32.48/kernel/posix-cpu-timers.c linux-2.6.32.48/ker= nel/posix-cpu-timers.c ---- linux-2.6.32.48/kernel/posix-cpu-timers.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/kernel/posix-cpu-timers.c 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/kernel/posix-cpu-timers.c linux-2.6.32.46/ker= nel/posix-cpu-timers.c +--- linux-2.6.32.46/kernel/posix-cpu-timers.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/kernel/posix-cpu-timers.c 2011-08-06 09:33:44.000000= 000 -0400 @@ -6,6 +6,7 @@ #include #include @@ -68762,9 +68798,9 @@ diff -urNp linux-2.6.32.48/kernel/posix-cpu-timer= s.c linux-2.6.32.48/kernel/posi .clock_getres =3D thread_cpu_clock_getres, .clock_get =3D thread_cpu_clock_get, .clock_set =3D do_posix_clock_nosettime, -diff -urNp linux-2.6.32.48/kernel/posix-timers.c linux-2.6.32.48/kernel/= posix-timers.c ---- linux-2.6.32.48/kernel/posix-timers.c 2011-11-12 12:44:30.000000000 = -0500 -+++ linux-2.6.32.48/kernel/posix-timers.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/kernel/posix-timers.c linux-2.6.32.46/kernel/= posix-timers.c +--- linux-2.6.32.46/kernel/posix-timers.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/kernel/posix-timers.c 2011-08-23 20:22:38.000000000 = -0400 @@ -42,6 +42,7 @@ #include #include @@ -68883,9 +68919,9 @@ diff -urNp linux-2.6.32.48/kernel/posix-timers.c = linux-2.6.32.48/kernel/posix-ti return CLOCK_DISPATCH(which_clock, clock_set, (which_clock, &new_tp)); } =20 -diff -urNp linux-2.6.32.48/kernel/power/hibernate.c linux-2.6.32.48/kern= el/power/hibernate.c ---- linux-2.6.32.48/kernel/power/hibernate.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/kernel/power/hibernate.c 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/kernel/power/hibernate.c linux-2.6.32.46/kern= el/power/hibernate.c +--- linux-2.6.32.46/kernel/power/hibernate.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/kernel/power/hibernate.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -48,14 +48,14 @@ enum { =20 static int hibernation_mode =3D HIBERNATION_SHUTDOWN; @@ -68903,9 +68939,9 @@ diff -urNp linux-2.6.32.48/kernel/power/hibernate= .c linux-2.6.32.48/kernel/power { if (ops && !(ops->begin && ops->end && ops->pre_snapshot && ops->prepare && ops->finish && ops->enter && ops->pre_restore -diff -urNp linux-2.6.32.48/kernel/power/poweroff.c linux-2.6.32.48/kerne= l/power/poweroff.c ---- linux-2.6.32.48/kernel/power/poweroff.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/kernel/power/poweroff.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/kernel/power/poweroff.c linux-2.6.32.46/kerne= l/power/poweroff.c +--- linux-2.6.32.46/kernel/power/poweroff.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/kernel/power/poweroff.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -37,7 +37,7 @@ static struct sysrq_key_op sysrq_powerof .enable_mask =3D SYSRQ_ENABLE_BOOT, }; @@ -68915,9 +68951,9 @@ diff -urNp linux-2.6.32.48/kernel/power/poweroff.= c linux-2.6.32.48/kernel/power/ { register_sysrq_key('o', &sysrq_poweroff_op); return 0; -diff -urNp linux-2.6.32.48/kernel/power/process.c linux-2.6.32.48/kernel= /power/process.c ---- linux-2.6.32.48/kernel/power/process.c 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/kernel/power/process.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/kernel/power/process.c linux-2.6.32.46/kernel= /power/process.c +--- linux-2.6.32.46/kernel/power/process.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/kernel/power/process.c 2011-04-17 15:56:46.000000000= -0400 @@ -37,12 +37,15 @@ static int try_to_freeze_tasks(bool sig_ struct timeval start, end; u64 elapsed_csecs64; @@ -68957,9 +68993,9 @@ diff -urNp linux-2.6.32.48/kernel/power/process.c= linux-2.6.32.48/kernel/power/p =20 do_gettimeofday(&end); elapsed_csecs64 =3D timeval_to_ns(&end) - timeval_to_ns(&start); -diff -urNp linux-2.6.32.48/kernel/power/suspend.c linux-2.6.32.48/kernel= /power/suspend.c ---- linux-2.6.32.48/kernel/power/suspend.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/kernel/power/suspend.c 2011-11-12 12:46:47.000000000= -0500 +diff -urNp linux-2.6.32.46/kernel/power/suspend.c linux-2.6.32.46/kernel= /power/suspend.c +--- linux-2.6.32.46/kernel/power/suspend.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/kernel/power/suspend.c 2011-04-17 15:56:46.000000000= -0400 @@ -23,13 +23,13 @@ const char *const pm_states[PM_SUSPEND_M [PM_SUSPEND_MEM] =3D "mem", }; @@ -68976,9 +69012,9 @@ diff -urNp linux-2.6.32.48/kernel/power/suspend.c= linux-2.6.32.48/kernel/power/s { mutex_lock(&pm_mutex); suspend_ops =3D ops; -diff -urNp linux-2.6.32.48/kernel/printk.c linux-2.6.32.48/kernel/printk= .c ---- linux-2.6.32.48/kernel/printk.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/printk.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/printk.c linux-2.6.32.46/kernel/printk= .c +--- linux-2.6.32.46/kernel/printk.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/printk.c 2011-04-17 15:56:46.000000000 -0400 @@ -278,6 +278,11 @@ int do_syslog(int type, char __user *buf char c; int error =3D 0; @@ -68991,9 +69027,9 @@ diff -urNp linux-2.6.32.48/kernel/printk.c linux-= 2.6.32.48/kernel/printk.c error =3D security_syslog(type); if (error) return error; -diff -urNp linux-2.6.32.48/kernel/profile.c linux-2.6.32.48/kernel/profi= le.c ---- linux-2.6.32.48/kernel/profile.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/profile.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/profile.c linux-2.6.32.46/kernel/profi= le.c +--- linux-2.6.32.46/kernel/profile.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/profile.c 2011-05-04 17:56:28.000000000 -0400 @@ -39,7 +39,7 @@ struct profile_hit { /* Oprofile timer tick hook */ static int (*timer_hook)(struct pt_regs *) __read_mostly; @@ -69051,9 +69087,9 @@ diff -urNp linux-2.6.32.48/kernel/profile.c linux= -2.6.32.48/kernel/profile.c return count; } =20 -diff -urNp linux-2.6.32.48/kernel/ptrace.c linux-2.6.32.48/kernel/ptrace= .c ---- linux-2.6.32.48/kernel/ptrace.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/ptrace.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/ptrace.c linux-2.6.32.46/kernel/ptrace= .c +--- linux-2.6.32.46/kernel/ptrace.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/ptrace.c 2011-05-22 23:02:06.000000000 -0400 @@ -117,7 +117,8 @@ int ptrace_check_attach(struct task_stru return ret; } @@ -69235,9 +69271,9 @@ diff -urNp linux-2.6.32.48/kernel/ptrace.c linux-= 2.6.32.48/kernel/ptrace.c goto out_put_task_struct; } =20 -diff -urNp linux-2.6.32.48/kernel/rcutorture.c linux-2.6.32.48/kernel/rc= utorture.c ---- linux-2.6.32.48/kernel/rcutorture.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/kernel/rcutorture.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/kernel/rcutorture.c linux-2.6.32.46/kernel/rc= utorture.c +--- linux-2.6.32.46/kernel/rcutorture.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/kernel/rcutorture.c 2011-05-04 17:56:28.000000000 -0= 400 @@ -118,12 +118,12 @@ static DEFINE_PER_CPU(long [RCU_TORTURE_ { 0 }; static DEFINE_PER_CPU(long [RCU_TORTURE_PIPE_LEN + 1], rcu_torture_batc= h) =3D @@ -69387,9 +69423,9 @@ diff -urNp linux-2.6.32.48/kernel/rcutorture.c li= nux-2.6.32.48/kernel/rcutorture for_each_possible_cpu(cpu) { for (i =3D 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) { per_cpu(rcu_torture_count, cpu)[i] =3D 0; -diff -urNp linux-2.6.32.48/kernel/rcutree.c linux-2.6.32.48/kernel/rcutr= ee.c ---- linux-2.6.32.48/kernel/rcutree.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/rcutree.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/rcutree.c linux-2.6.32.46/kernel/rcutr= ee.c +--- linux-2.6.32.46/kernel/rcutree.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/rcutree.c 2011-04-17 15:56:46.000000000 -0400 @@ -1303,7 +1303,7 @@ __rcu_process_callbacks(struct rcu_state /* * Do softirq processing for the current CPU. @@ -69399,9 +69435,9 @@ diff -urNp linux-2.6.32.48/kernel/rcutree.c linux= -2.6.32.48/kernel/rcutree.c { /* * Memory references from any prior RCU read-side critical sections -diff -urNp linux-2.6.32.48/kernel/rcutree_plugin.h linux-2.6.32.48/kerne= l/rcutree_plugin.h ---- linux-2.6.32.48/kernel/rcutree_plugin.h 2011-11-12 12:44:30.00000000= 0 -0500 -+++ linux-2.6.32.48/kernel/rcutree_plugin.h 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/kernel/rcutree_plugin.h linux-2.6.32.46/kerne= l/rcutree_plugin.h +--- linux-2.6.32.46/kernel/rcutree_plugin.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/kernel/rcutree_plugin.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -145,7 +145,7 @@ static void rcu_preempt_note_context_swi */ void __rcu_read_lock(void) @@ -69420,9 +69456,9 @@ diff -urNp linux-2.6.32.48/kernel/rcutree_plugin.= h linux-2.6.32.48/kernel/rcutre unlikely(ACCESS_ONCE(t->rcu_read_unlock_special))) rcu_read_unlock_special(t); } -diff -urNp linux-2.6.32.48/kernel/relay.c linux-2.6.32.48/kernel/relay.c ---- linux-2.6.32.48/kernel/relay.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/kernel/relay.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/relay.c linux-2.6.32.46/kernel/relay.c +--- linux-2.6.32.46/kernel/relay.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/relay.c 2011-05-16 21:46:57.000000000 -0400 @@ -1222,7 +1222,7 @@ static int subbuf_splice_actor(struct fi unsigned int flags, int *nonpad_ret) @@ -69442,9 +69478,9 @@ diff -urNp linux-2.6.32.48/kernel/relay.c linux-2= .6.32.48/kernel/relay.c =20 if (rbuf->subbufs_produced =3D=3D rbuf->subbufs_consumed) return 0; -diff -urNp linux-2.6.32.48/kernel/resource.c linux-2.6.32.48/kernel/reso= urce.c ---- linux-2.6.32.48/kernel/resource.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/kernel/resource.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/kernel/resource.c linux-2.6.32.46/kernel/reso= urce.c +--- linux-2.6.32.46/kernel/resource.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/kernel/resource.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -132,8 +132,18 @@ static const struct file_operations proc =20 static int __init ioresources_init(void) @@ -69464,9 +69500,9 @@ diff -urNp linux-2.6.32.48/kernel/resource.c linu= x-2.6.32.48/kernel/resource.c return 0; } __initcall(ioresources_init); -diff -urNp linux-2.6.32.48/kernel/rtmutex.c linux-2.6.32.48/kernel/rtmut= ex.c ---- linux-2.6.32.48/kernel/rtmutex.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/kernel/rtmutex.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/rtmutex.c linux-2.6.32.46/kernel/rtmut= ex.c +--- linux-2.6.32.46/kernel/rtmutex.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/rtmutex.c 2011-04-17 15:56:46.000000000 -0400 @@ -511,7 +511,7 @@ static void wakeup_next_waiter(struct rt */ spin_lock_irqsave(&pendowner->pi_lock, flags); @@ -69476,9 +69512,9 @@ diff -urNp linux-2.6.32.48/kernel/rtmutex.c linux= -2.6.32.48/kernel/rtmutex.c WARN_ON(pendowner->pi_blocked_on !=3D waiter); WARN_ON(pendowner->pi_blocked_on->lock !=3D lock); =20 -diff -urNp linux-2.6.32.48/kernel/rtmutex-tester.c linux-2.6.32.48/kerne= l/rtmutex-tester.c ---- linux-2.6.32.48/kernel/rtmutex-tester.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/kernel/rtmutex-tester.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/kernel/rtmutex-tester.c linux-2.6.32.46/kerne= l/rtmutex-tester.c +--- linux-2.6.32.46/kernel/rtmutex-tester.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/kernel/rtmutex-tester.c 2011-05-04 17:56:28.00000000= 0 -0400 @@ -21,7 +21,7 @@ #define MAX_RT_TEST_MUTEXES 8 =20 @@ -69569,9 +69605,9 @@ diff -urNp linux-2.6.32.48/kernel/rtmutex-tester.= c linux-2.6.32.48/kernel/rtmute return; =20 case RTTEST_LOCKBKL: -diff -urNp linux-2.6.32.48/kernel/sched.c linux-2.6.32.48/kernel/sched.c ---- linux-2.6.32.48/kernel/sched.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/sched.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/sched.c linux-2.6.32.46/kernel/sched.c +--- linux-2.6.32.46/kernel/sched.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/sched.c 2011-08-21 19:29:25.000000000 -0400 @@ -2764,9 +2764,10 @@ void wake_up_new_task(struct task_struct { unsigned long flags; @@ -69661,9 +69697,9 @@ diff -urNp linux-2.6.32.48/kernel/sched.c linux-2= .6.32.48/kernel/sched.c =20 if (cpu !=3D group_first_cpu(sd->groups)) return; -diff -urNp linux-2.6.32.48/kernel/signal.c linux-2.6.32.48/kernel/signal= .c ---- linux-2.6.32.48/kernel/signal.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/signal.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/signal.c linux-2.6.32.46/kernel/signal= .c +--- linux-2.6.32.46/kernel/signal.c 2011-04-17 17:00:52.000000000 -0400 ++++ linux-2.6.32.46/kernel/signal.c 2011-08-16 21:15:58.000000000 -0400 @@ -41,12 +41,12 @@ =20 static struct kmem_cache *sigqueue_cachep; @@ -69796,9 +69832,9 @@ diff -urNp linux-2.6.32.48/kernel/signal.c linux-= 2.6.32.48/kernel/signal.c if (p && (tgid <=3D 0 || task_tgid_vnr(p) =3D=3D tgid)) { error =3D check_kill_permission(sig, info, p); /* -diff -urNp linux-2.6.32.48/kernel/smp.c linux-2.6.32.48/kernel/smp.c ---- linux-2.6.32.48/kernel/smp.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/smp.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/smp.c linux-2.6.32.46/kernel/smp.c +--- linux-2.6.32.46/kernel/smp.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/smp.c 2011-04-17 15:56:46.000000000 -0400 @@ -522,22 +522,22 @@ int smp_call_function(void (*func)(void=20 } EXPORT_SYMBOL(smp_call_function); @@ -69826,9 +69862,9 @@ diff -urNp linux-2.6.32.48/kernel/smp.c linux-2.6= .32.48/kernel/smp.c { spin_unlock_irq(&call_function.lock); } -diff -urNp linux-2.6.32.48/kernel/softirq.c linux-2.6.32.48/kernel/softi= rq.c ---- linux-2.6.32.48/kernel/softirq.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/softirq.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/softirq.c linux-2.6.32.46/kernel/softi= rq.c +--- linux-2.6.32.46/kernel/softirq.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/softirq.c 2011-08-05 20:33:55.000000000 -0400 @@ -56,7 +56,7 @@ static struct softirq_action softirq_vec =20 static DEFINE_PER_CPU(struct task_struct *, ksoftirqd); @@ -69888,9 +69924,9 @@ diff -urNp linux-2.6.32.48/kernel/softirq.c linux= -2.6.32.48/kernel/softirq.c { struct tasklet_struct *list; =20 -diff -urNp linux-2.6.32.48/kernel/sys.c linux-2.6.32.48/kernel/sys.c ---- linux-2.6.32.48/kernel/sys.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/sys.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/sys.c linux-2.6.32.46/kernel/sys.c +--- linux-2.6.32.46/kernel/sys.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/sys.c 2011-08-11 19:51:54.000000000 -0400 @@ -133,6 +133,12 @@ static int set_one_prio(struct task_stru error =3D -EACCES; goto out; @@ -70050,9 +70086,9 @@ diff -urNp linux-2.6.32.48/kernel/sys.c linux-2.6= .32.48/kernel/sys.c error =3D -EINVAL; break; } -diff -urNp linux-2.6.32.48/kernel/sysctl.c linux-2.6.32.48/kernel/sysctl= .c ---- linux-2.6.32.48/kernel/sysctl.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/sysctl.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/sysctl.c linux-2.6.32.46/kernel/sysctl= .c +--- linux-2.6.32.46/kernel/sysctl.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/sysctl.c 2011-04-17 15:56:46.000000000 -0400 @@ -63,6 +63,13 @@ static int deprecated_sysctl_warning(struct __sysctl_args *args); =20 @@ -70284,9 +70320,9 @@ diff -urNp linux-2.6.32.48/kernel/sysctl.c linux-= 2.6.32.48/kernel/sysctl.c +EXPORT_SYMBOL(sysctl_string_modpriv); EXPORT_SYMBOL(sysctl_data); EXPORT_SYMBOL(unregister_sysctl_table); -diff -urNp linux-2.6.32.48/kernel/sysctl_check.c linux-2.6.32.48/kernel/= sysctl_check.c ---- linux-2.6.32.48/kernel/sysctl_check.c 2011-11-12 12:44:30.000000000 = -0500 -+++ linux-2.6.32.48/kernel/sysctl_check.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/kernel/sysctl_check.c linux-2.6.32.46/kernel/= sysctl_check.c +--- linux-2.6.32.46/kernel/sysctl_check.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/kernel/sysctl_check.c 2011-04-17 15:56:46.000000000 = -0400 @@ -1489,10 +1489,12 @@ int sysctl_check_table(struct nsproxy *n } else { if ((table->strategy =3D=3D sysctl_data) || @@ -70300,9 +70336,9 @@ diff -urNp linux-2.6.32.48/kernel/sysctl_check.c = linux-2.6.32.48/kernel/sysctl_c (table->proc_handler =3D=3D proc_dointvec) || (table->proc_handler =3D=3D proc_dointvec_minmax) || (table->proc_handler =3D=3D proc_dointvec_jiffies) || -diff -urNp linux-2.6.32.48/kernel/taskstats.c linux-2.6.32.48/kernel/tas= kstats.c ---- linux-2.6.32.48/kernel/taskstats.c 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/kernel/taskstats.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/kernel/taskstats.c linux-2.6.32.46/kernel/tas= kstats.c +--- linux-2.6.32.46/kernel/taskstats.c 2011-07-13 17:23:04.000000000 -04= 00 ++++ linux-2.6.32.46/kernel/taskstats.c 2011-07-13 17:23:19.000000000 -04= 00 @@ -26,9 +26,12 @@ #include #include @@ -70326,9 +70362,9 @@ diff -urNp linux-2.6.32.48/kernel/taskstats.c lin= ux-2.6.32.48/kernel/taskstats.c if (!alloc_cpumask_var(&mask, GFP_KERNEL)) return -ENOMEM; =20 -diff -urNp linux-2.6.32.48/kernel/time/tick-broadcast.c linux-2.6.32.48/= kernel/time/tick-broadcast.c ---- linux-2.6.32.48/kernel/time/tick-broadcast.c 2011-11-12 12:44:30.000= 000000 -0500 -+++ linux-2.6.32.48/kernel/time/tick-broadcast.c 2011-11-12 12:46:47.000= 000000 -0500 +diff -urNp linux-2.6.32.46/kernel/time/tick-broadcast.c linux-2.6.32.46/= kernel/time/tick-broadcast.c +--- linux-2.6.32.46/kernel/time/tick-broadcast.c 2011-05-23 16:56:59.000= 000000 -0400 ++++ linux-2.6.32.46/kernel/time/tick-broadcast.c 2011-05-23 16:57:13.000= 000000 -0400 @@ -116,7 +116,7 @@ int tick_device_uses_broadcast(struct cl * then clear the broadcast bit. */ @@ -70338,9 +70374,9 @@ diff -urNp linux-2.6.32.48/kernel/time/tick-broad= cast.c linux-2.6.32.48/kernel/t =20 cpumask_clear_cpu(cpu, tick_get_broadcast_mask()); tick_broadcast_clear_oneshot(cpu); -diff -urNp linux-2.6.32.48/kernel/time/timekeeping.c linux-2.6.32.48/ker= nel/time/timekeeping.c ---- linux-2.6.32.48/kernel/time/timekeeping.c 2011-11-12 12:44:30.000000= 000 -0500 -+++ linux-2.6.32.48/kernel/time/timekeeping.c 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/kernel/time/timekeeping.c linux-2.6.32.46/ker= nel/time/timekeeping.c +--- linux-2.6.32.46/kernel/time/timekeeping.c 2011-06-25 12:55:35.000000= 000 -0400 ++++ linux-2.6.32.46/kernel/time/timekeeping.c 2011-06-25 12:56:37.000000= 000 -0400 @@ -14,6 +14,7 @@ #include #include @@ -70367,9 +70403,9 @@ diff -urNp linux-2.6.32.48/kernel/time/timekeepin= g.c linux-2.6.32.48/kernel/time write_seqlock_irqsave(&xtime_lock, flags); =20 timekeeping_forward_now(); -diff -urNp linux-2.6.32.48/kernel/time/timer_list.c linux-2.6.32.48/kern= el/time/timer_list.c ---- linux-2.6.32.48/kernel/time/timer_list.c 2011-11-12 12:44:30.0000000= 00 -0500 -+++ linux-2.6.32.48/kernel/time/timer_list.c 2011-11-12 12:46:47.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/kernel/time/timer_list.c linux-2.6.32.46/kern= el/time/timer_list.c +--- linux-2.6.32.46/kernel/time/timer_list.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/kernel/time/timer_list.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -38,12 +38,16 @@ DECLARE_PER_CPU(struct hrtimer_cpu_base, =20 static void print_name_offset(struct seq_file *m, void *sym) @@ -70411,9 +70447,9 @@ diff -urNp linux-2.6.32.48/kernel/time/timer_list= .c linux-2.6.32.48/kernel/time/ if (!pe) return -ENOMEM; return 0; -diff -urNp linux-2.6.32.48/kernel/time/timer_stats.c linux-2.6.32.48/ker= nel/time/timer_stats.c ---- linux-2.6.32.48/kernel/time/timer_stats.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/kernel/time/timer_stats.c 2011-11-12 12:46:47.000000= 000 -0500 +diff -urNp linux-2.6.32.46/kernel/time/timer_stats.c linux-2.6.32.46/ker= nel/time/timer_stats.c +--- linux-2.6.32.46/kernel/time/timer_stats.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/kernel/time/timer_stats.c 2011-05-04 17:56:28.000000= 000 -0400 @@ -116,7 +116,7 @@ static ktime_t time_start, time_stop; static unsigned long nr_entries; static struct entry entries[MAX_ENTRIES]; @@ -70482,9 +70518,9 @@ diff -urNp linux-2.6.32.48/kernel/time/timer_stat= s.c linux-2.6.32.48/kernel/time if (!pe) return -ENOMEM; return 0; -diff -urNp linux-2.6.32.48/kernel/time.c linux-2.6.32.48/kernel/time.c ---- linux-2.6.32.48/kernel/time.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/time.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/time.c linux-2.6.32.46/kernel/time.c +--- linux-2.6.32.46/kernel/time.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/time.c 2011-04-17 15:56:46.000000000 -0400 @@ -165,6 +165,11 @@ int do_sys_settimeofday(struct timespec=20 return error; =20 @@ -70515,9 +70551,9 @@ diff -urNp linux-2.6.32.48/kernel/time.c linux-2.= 6.32.48/kernel/time.c { #if HZ <=3D USEC_PER_SEC && !(USEC_PER_SEC % HZ) return (USEC_PER_SEC / HZ) * j; -diff -urNp linux-2.6.32.48/kernel/timer.c linux-2.6.32.48/kernel/timer.c ---- linux-2.6.32.48/kernel/timer.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/timer.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/timer.c linux-2.6.32.46/kernel/timer.c +--- linux-2.6.32.46/kernel/timer.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/timer.c 2011-04-17 15:56:46.000000000 -0400 @@ -1213,7 +1213,7 @@ void update_process_times(int user_tick) /* * This function runs timers and the timer-tq in bottom half context. @@ -70527,9 +70563,9 @@ diff -urNp linux-2.6.32.48/kernel/timer.c linux-2= .6.32.48/kernel/timer.c { struct tvec_base *base =3D __get_cpu_var(tvec_bases); =20 -diff -urNp linux-2.6.32.48/kernel/trace/blktrace.c linux-2.6.32.48/kerne= l/trace/blktrace.c ---- linux-2.6.32.48/kernel/trace/blktrace.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/kernel/trace/blktrace.c 2011-11-12 12:46:47.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/kernel/trace/blktrace.c linux-2.6.32.46/kerne= l/trace/blktrace.c +--- linux-2.6.32.46/kernel/trace/blktrace.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/kernel/trace/blktrace.c 2011-05-04 17:56:28.00000000= 0 -0400 @@ -313,7 +313,7 @@ static ssize_t blk_dropped_read(struct f struct blk_trace *bt =3D filp->private_data; char buf[16]; @@ -70557,9 +70593,9 @@ diff -urNp linux-2.6.32.48/kernel/trace/blktrace.= c linux-2.6.32.48/kernel/trace/ =20 ret =3D -EIO; bt->dropped_file =3D debugfs_create_file("dropped", 0444, dir, bt, -diff -urNp linux-2.6.32.48/kernel/trace/ftrace.c linux-2.6.32.48/kernel/= trace/ftrace.c ---- linux-2.6.32.48/kernel/trace/ftrace.c 2011-11-12 12:44:30.000000000 = -0500 -+++ linux-2.6.32.48/kernel/trace/ftrace.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/kernel/trace/ftrace.c linux-2.6.32.46/kernel/= trace/ftrace.c +--- linux-2.6.32.46/kernel/trace/ftrace.c 2011-06-25 12:55:35.000000000 = -0400 ++++ linux-2.6.32.46/kernel/trace/ftrace.c 2011-06-25 12:56:37.000000000 = -0400 @@ -1100,13 +1100,18 @@ ftrace_code_disable(struct module *mod,=20 =20 ip =3D rec->ip; @@ -70581,9 +70617,9 @@ diff -urNp linux-2.6.32.48/kernel/trace/ftrace.c = linux-2.6.32.48/kernel/trace/ft } =20 /* -diff -urNp linux-2.6.32.48/kernel/trace/ring_buffer.c linux-2.6.32.48/ke= rnel/trace/ring_buffer.c ---- linux-2.6.32.48/kernel/trace/ring_buffer.c 2011-11-12 12:44:30.00000= 0000 -0500 -+++ linux-2.6.32.48/kernel/trace/ring_buffer.c 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/kernel/trace/ring_buffer.c linux-2.6.32.46/ke= rnel/trace/ring_buffer.c +--- linux-2.6.32.46/kernel/trace/ring_buffer.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/kernel/trace/ring_buffer.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -606,7 +606,7 @@ static struct list_head *rb_list_head(st * the reader page). But if the next page is a header page, * its flags will be non zero. @@ -70593,9 +70629,9 @@ diff -urNp linux-2.6.32.48/kernel/trace/ring_buff= er.c linux-2.6.32.48/kernel/tra rb_is_head_page(struct ring_buffer_per_cpu *cpu_buffer, struct buffer_page *page, struct list_head *list) { -diff -urNp linux-2.6.32.48/kernel/trace/trace.c linux-2.6.32.48/kernel/t= race/trace.c ---- linux-2.6.32.48/kernel/trace/trace.c 2011-11-12 12:44:30.000000000 -= 0500 -+++ linux-2.6.32.48/kernel/trace/trace.c 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/kernel/trace/trace.c linux-2.6.32.46/kernel/t= race/trace.c +--- linux-2.6.32.46/kernel/trace/trace.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/kernel/trace/trace.c 2011-05-16 21:46:57.000000000 -= 0400 @@ -3193,6 +3193,8 @@ static ssize_t tracing_splice_read_pipe( size_t rem; unsigned int i; @@ -70638,9 +70674,9 @@ diff -urNp linux-2.6.32.48/kernel/trace/trace.c l= inux-2.6.32.48/kernel/trace/tra static int once; struct dentry *d_tracer; =20 -diff -urNp linux-2.6.32.48/kernel/trace/trace_events.c linux-2.6.32.48/k= ernel/trace/trace_events.c ---- linux-2.6.32.48/kernel/trace/trace_events.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/kernel/trace/trace_events.c 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/kernel/trace/trace_events.c linux-2.6.32.46/k= ernel/trace/trace_events.c +--- linux-2.6.32.46/kernel/trace/trace_events.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/kernel/trace/trace_events.c 2011-08-05 20:33:55.0000= 00000 -0400 @@ -951,13 +951,10 @@ static LIST_HEAD(ftrace_module_file_list * Modules must own their file_operations to keep up with * reference counting. @@ -70691,9 +70727,9 @@ diff -urNp linux-2.6.32.48/kernel/trace/trace_eve= nts.c linux-2.6.32.48/kernel/tr } } =20 -diff -urNp linux-2.6.32.48/kernel/trace/trace_mmiotrace.c linux-2.6.32.4= 8/kernel/trace/trace_mmiotrace.c ---- linux-2.6.32.48/kernel/trace/trace_mmiotrace.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/kernel/trace/trace_mmiotrace.c 2011-11-12 12:46:47.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/kernel/trace/trace_mmiotrace.c linux-2.6.32.4= 6/kernel/trace/trace_mmiotrace.c +--- linux-2.6.32.46/kernel/trace/trace_mmiotrace.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/kernel/trace/trace_mmiotrace.c 2011-05-04 17:56:28.0= 00000000 -0400 @@ -23,7 +23,7 @@ struct header_iter { static struct trace_array *mmio_trace_array; static bool overrun_detected; @@ -70730,9 +70766,9 @@ diff -urNp linux-2.6.32.48/kernel/trace/trace_mmi= otrace.c linux-2.6.32.48/kernel return; } entry =3D ring_buffer_event_data(event); -diff -urNp linux-2.6.32.48/kernel/trace/trace_output.c linux-2.6.32.48/k= ernel/trace/trace_output.c ---- linux-2.6.32.48/kernel/trace/trace_output.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/kernel/trace/trace_output.c 2011-11-12 12:46:47.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/kernel/trace/trace_output.c linux-2.6.32.46/k= ernel/trace/trace_output.c +--- linux-2.6.32.46/kernel/trace/trace_output.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/kernel/trace/trace_output.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -237,7 +237,7 @@ int trace_seq_path(struct trace_seq *s,=20 return 0; p =3D d_path(path, s->buffer + s->len, PAGE_SIZE - s->len); @@ -70742,9 +70778,9 @@ diff -urNp linux-2.6.32.48/kernel/trace/trace_out= put.c linux-2.6.32.48/kernel/tr if (p) { s->len =3D p - s->buffer; return 1; -diff -urNp linux-2.6.32.48/kernel/trace/trace_stack.c linux-2.6.32.48/ke= rnel/trace/trace_stack.c ---- linux-2.6.32.48/kernel/trace/trace_stack.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/kernel/trace/trace_stack.c 2011-11-12 12:46:47.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/kernel/trace/trace_stack.c linux-2.6.32.46/ke= rnel/trace/trace_stack.c +--- linux-2.6.32.46/kernel/trace/trace_stack.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/kernel/trace/trace_stack.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -50,7 +50,7 @@ static inline void check_stack(void) return; =20 @@ -70754,9 +70790,9 @@ diff -urNp linux-2.6.32.48/kernel/trace/trace_sta= ck.c linux-2.6.32.48/kernel/tra return; =20 local_irq_save(flags); -diff -urNp linux-2.6.32.48/kernel/trace/trace_workqueue.c linux-2.6.32.4= 8/kernel/trace/trace_workqueue.c ---- linux-2.6.32.48/kernel/trace/trace_workqueue.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/kernel/trace/trace_workqueue.c 2011-11-12 12:46:47.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/kernel/trace/trace_workqueue.c linux-2.6.32.4= 6/kernel/trace/trace_workqueue.c +--- linux-2.6.32.46/kernel/trace/trace_workqueue.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/kernel/trace/trace_workqueue.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -21,7 +21,7 @@ struct cpu_workqueue_stats { int cpu; pid_t pid; @@ -70784,9 +70820,9 @@ diff -urNp linux-2.6.32.48/kernel/trace/trace_wor= kqueue.c linux-2.6.32.48/kernel tsk->comm); put_task_struct(tsk); } -diff -urNp linux-2.6.32.48/kernel/user.c linux-2.6.32.48/kernel/user.c ---- linux-2.6.32.48/kernel/user.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/kernel/user.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/kernel/user.c linux-2.6.32.46/kernel/user.c +--- linux-2.6.32.46/kernel/user.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/kernel/user.c 2011-04-17 15:56:46.000000000 -0400 @@ -159,6 +159,7 @@ struct user_struct *alloc_uid(struct use spin_lock_irq(&uidhash_lock); up =3D uid_hash_find(uid, hashent); @@ -70795,9 +70831,9 @@ diff -urNp linux-2.6.32.48/kernel/user.c linux-2.= 6.32.48/kernel/user.c key_put(new->uid_keyring); key_put(new->session_keyring); kmem_cache_free(uid_cachep, new); -diff -urNp linux-2.6.32.48/lib/bitmap.c linux-2.6.32.48/lib/bitmap.c ---- linux-2.6.32.48/lib/bitmap.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/lib/bitmap.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/bitmap.c linux-2.6.32.46/lib/bitmap.c +--- linux-2.6.32.46/lib/bitmap.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/bitmap.c 2011-10-06 09:37:14.000000000 -0400 @@ -341,7 +341,7 @@ int __bitmap_parse(const char *buf, unsi { int c, old_c, totaldigits, ndigits, nchunks, nbits; @@ -70816,9 +70852,9 @@ diff -urNp linux-2.6.32.48/lib/bitmap.c linux-2.6= .32.48/lib/bitmap.c } EXPORT_SYMBOL(bitmap_parse_user); =20 -diff -urNp linux-2.6.32.48/lib/bug.c linux-2.6.32.48/lib/bug.c ---- linux-2.6.32.48/lib/bug.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/lib/bug.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/bug.c linux-2.6.32.46/lib/bug.c +--- linux-2.6.32.46/lib/bug.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/bug.c 2011-04-17 15:56:46.000000000 -0400 @@ -135,6 +135,8 @@ enum bug_trap_type report_bug(unsigned l return BUG_TRAP_TYPE_NONE; =20 @@ -70828,9 +70864,9 @@ diff -urNp linux-2.6.32.48/lib/bug.c linux-2.6.32= .48/lib/bug.c =20 printk(KERN_EMERG "------------[ cut here ]------------\n"); =20 -diff -urNp linux-2.6.32.48/lib/debugobjects.c linux-2.6.32.48/lib/debugo= bjects.c ---- linux-2.6.32.48/lib/debugobjects.c 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/lib/debugobjects.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/lib/debugobjects.c linux-2.6.32.46/lib/debugo= bjects.c +--- linux-2.6.32.46/lib/debugobjects.c 2011-07-13 17:23:04.000000000 -04= 00 ++++ linux-2.6.32.46/lib/debugobjects.c 2011-07-13 17:23:19.000000000 -04= 00 @@ -277,7 +277,7 @@ static void debug_object_is_on_stack(voi if (limit > 4) return; @@ -70840,9 +70876,9 @@ diff -urNp linux-2.6.32.48/lib/debugobjects.c lin= ux-2.6.32.48/lib/debugobjects.c if (is_on_stack =3D=3D onstack) return; =20 -diff -urNp linux-2.6.32.48/lib/devres.c linux-2.6.32.48/lib/devres.c ---- linux-2.6.32.48/lib/devres.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/lib/devres.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/devres.c linux-2.6.32.46/lib/devres.c +--- linux-2.6.32.46/lib/devres.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/devres.c 2011-10-06 09:37:14.000000000 -0400 @@ -80,7 +80,7 @@ void devm_iounmap(struct device *dev, vo { iounmap(addr); @@ -70861,9 +70897,9 @@ diff -urNp linux-2.6.32.48/lib/devres.c linux-2.6= .32.48/lib/devres.c } EXPORT_SYMBOL(devm_ioport_unmap); =20 -diff -urNp linux-2.6.32.48/lib/dma-debug.c linux-2.6.32.48/lib/dma-debug= .c ---- linux-2.6.32.48/lib/dma-debug.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/lib/dma-debug.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/dma-debug.c linux-2.6.32.46/lib/dma-debug= .c +--- linux-2.6.32.46/lib/dma-debug.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/dma-debug.c 2011-04-17 15:56:46.000000000 -0400 @@ -861,7 +861,7 @@ out: =20 static void check_for_stack(struct device *dev, void *addr) @@ -70873,9 +70909,9 @@ diff -urNp linux-2.6.32.48/lib/dma-debug.c linux-= 2.6.32.48/lib/dma-debug.c err_printk(dev, NULL, "DMA-API: device driver maps memory from" "stack [addr=3D%p]\n", addr); } -diff -urNp linux-2.6.32.48/lib/idr.c linux-2.6.32.48/lib/idr.c ---- linux-2.6.32.48/lib/idr.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/lib/idr.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/idr.c linux-2.6.32.46/lib/idr.c +--- linux-2.6.32.46/lib/idr.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/idr.c 2011-04-17 15:56:46.000000000 -0400 @@ -156,7 +156,7 @@ static int sub_alloc(struct idr *idp, in id =3D (id | ((1 << (IDR_BITS * l)) - 1)) + 1; =20 @@ -70885,9 +70921,9 @@ diff -urNp linux-2.6.32.48/lib/idr.c linux-2.6.32= .48/lib/idr.c *starting_id =3D id; return IDR_NEED_TO_GROW; } -diff -urNp linux-2.6.32.48/lib/inflate.c linux-2.6.32.48/lib/inflate.c ---- linux-2.6.32.48/lib/inflate.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/lib/inflate.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/inflate.c linux-2.6.32.46/lib/inflate.c +--- linux-2.6.32.46/lib/inflate.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/inflate.c 2011-04-17 15:56:46.000000000 -0400 @@ -266,7 +266,7 @@ static void free(void *where) malloc_ptr =3D free_mem_ptr; } @@ -70897,9 +70933,9 @@ diff -urNp linux-2.6.32.48/lib/inflate.c linux-2.= 6.32.48/lib/inflate.c #define free(a) kfree(a) #endif =20 -diff -urNp linux-2.6.32.48/lib/Kconfig.debug linux-2.6.32.48/lib/Kconfig= .debug ---- linux-2.6.32.48/lib/Kconfig.debug 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/lib/Kconfig.debug 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/lib/Kconfig.debug linux-2.6.32.46/lib/Kconfig= .debug +--- linux-2.6.32.46/lib/Kconfig.debug 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/lib/Kconfig.debug 2011-04-17 15:56:46.000000000 -040= 0 @@ -905,7 +905,7 @@ config LATENCYTOP select STACKTRACE select SCHEDSTATS @@ -70909,9 +70945,9 @@ diff -urNp linux-2.6.32.48/lib/Kconfig.debug linu= x-2.6.32.48/lib/Kconfig.debug help Enable this option if you want to use the LatencyTOP tool to find out which userspace is blocking on what kernel operations. -diff -urNp linux-2.6.32.48/lib/kobject.c linux-2.6.32.48/lib/kobject.c ---- linux-2.6.32.48/lib/kobject.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/lib/kobject.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/kobject.c linux-2.6.32.46/lib/kobject.c +--- linux-2.6.32.46/lib/kobject.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/kobject.c 2011-04-17 15:56:46.000000000 -0400 @@ -700,7 +700,7 @@ static ssize_t kobj_attr_store(struct ko return ret; } @@ -70939,9 +70975,9 @@ diff -urNp linux-2.6.32.48/lib/kobject.c linux-2.= 6.32.48/lib/kobject.c struct kobject *parent_kobj) { struct kset *kset; -diff -urNp linux-2.6.32.48/lib/kobject_uevent.c linux-2.6.32.48/lib/kobj= ect_uevent.c ---- linux-2.6.32.48/lib/kobject_uevent.c 2011-11-12 12:44:30.000000000 -= 0500 -+++ linux-2.6.32.48/lib/kobject_uevent.c 2011-11-12 12:46:47.000000000 -= 0500 +diff -urNp linux-2.6.32.46/lib/kobject_uevent.c linux-2.6.32.46/lib/kobj= ect_uevent.c +--- linux-2.6.32.46/lib/kobject_uevent.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/lib/kobject_uevent.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -95,7 +95,7 @@ int kobject_uevent_env(struct kobject *k const char *subsystem; struct kobject *top_kobj; @@ -70951,9 +70987,9 @@ diff -urNp linux-2.6.32.48/lib/kobject_uevent.c l= inux-2.6.32.48/lib/kobject_ueve u64 seq; int i =3D 0; int retval =3D 0; -diff -urNp linux-2.6.32.48/lib/kref.c linux-2.6.32.48/lib/kref.c ---- linux-2.6.32.48/lib/kref.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/lib/kref.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/kref.c linux-2.6.32.46/lib/kref.c +--- linux-2.6.32.46/lib/kref.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/kref.c 2011-04-17 15:56:46.000000000 -0400 @@ -61,7 +61,7 @@ void kref_get(struct kref *kref) */ int kref_put(struct kref *kref, void (*release)(struct kref *kref)) @@ -70963,9 +70999,9 @@ diff -urNp linux-2.6.32.48/lib/kref.c linux-2.6.3= 2.48/lib/kref.c WARN_ON(release =3D=3D (void (*)(struct kref *))kfree); =20 if (atomic_dec_and_test(&kref->refcount)) { -diff -urNp linux-2.6.32.48/lib/parser.c linux-2.6.32.48/lib/parser.c ---- linux-2.6.32.48/lib/parser.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/lib/parser.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/parser.c linux-2.6.32.46/lib/parser.c +--- linux-2.6.32.46/lib/parser.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/parser.c 2011-04-17 15:56:46.000000000 -0400 @@ -126,7 +126,7 @@ static int match_number(substring_t *s,=20 char *buf; int ret; @@ -70975,9 +71011,9 @@ diff -urNp linux-2.6.32.48/lib/parser.c linux-2.6= .32.48/lib/parser.c if (!buf) return -ENOMEM; memcpy(buf, s->from, s->to - s->from); -diff -urNp linux-2.6.32.48/lib/radix-tree.c linux-2.6.32.48/lib/radix-tr= ee.c ---- linux-2.6.32.48/lib/radix-tree.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/lib/radix-tree.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/radix-tree.c linux-2.6.32.46/lib/radix-tr= ee.c +--- linux-2.6.32.46/lib/radix-tree.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/radix-tree.c 2011-04-17 15:56:46.000000000 -0400 @@ -81,7 +81,7 @@ struct radix_tree_preload { int nr; struct radix_tree_node *nodes[RADIX_TREE_MAX_PATH]; @@ -70987,9 +71023,9 @@ diff -urNp linux-2.6.32.48/lib/radix-tree.c linux= -2.6.32.48/lib/radix-tree.c =20 static inline gfp_t root_gfp_mask(struct radix_tree_root *root) { -diff -urNp linux-2.6.32.48/lib/random32.c linux-2.6.32.48/lib/random32.c ---- linux-2.6.32.48/lib/random32.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/lib/random32.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/random32.c linux-2.6.32.46/lib/random32.c +--- linux-2.6.32.46/lib/random32.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/random32.c 2011-04-17 15:56:46.000000000 -0400 @@ -61,7 +61,7 @@ static u32 __random32(struct rnd_state * */ static inline u32 __seed(u32 x, u32 m) @@ -70999,9 +71035,9 @@ diff -urNp linux-2.6.32.48/lib/random32.c linux-2= .6.32.48/lib/random32.c } =20 /** -diff -urNp linux-2.6.32.48/lib/vsprintf.c linux-2.6.32.48/lib/vsprintf.c ---- linux-2.6.32.48/lib/vsprintf.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/lib/vsprintf.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/lib/vsprintf.c linux-2.6.32.46/lib/vsprintf.c +--- linux-2.6.32.46/lib/vsprintf.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/lib/vsprintf.c 2011-04-17 15:56:46.000000000 -0400 @@ -16,6 +16,9 @@ * - scnprintf and vscnprintf */ @@ -71102,14 +71138,14 @@ diff -urNp linux-2.6.32.48/lib/vsprintf.c linux= -2.6.32.48/lib/vsprintf.c break; } =20 -diff -urNp linux-2.6.32.48/localversion-grsec linux-2.6.32.48/localversi= on-grsec ---- linux-2.6.32.48/localversion-grsec 1969-12-31 19:00:00.000000000 -05= 00 -+++ linux-2.6.32.48/localversion-grsec 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/localversion-grsec linux-2.6.32.46/localversi= on-grsec +--- linux-2.6.32.46/localversion-grsec 1969-12-31 19:00:00.000000000 -05= 00 ++++ linux-2.6.32.46/localversion-grsec 2011-04-17 15:56:46.000000000 -04= 00 @@ -0,0 +1 @@ +-grsec -diff -urNp linux-2.6.32.48/Makefile linux-2.6.32.48/Makefile ---- linux-2.6.32.48/Makefile 2011-11-12 12:44:28.000000000 -0500 -+++ linux-2.6.32.48/Makefile 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/Makefile linux-2.6.32.46/Makefile +--- linux-2.6.32.46/Makefile 2011-08-29 22:24:44.000000000 -0400 ++++ linux-2.6.32.46/Makefile 2011-10-08 08:14:40.000000000 -0400 @@ -221,8 +221,9 @@ CONFIG_SHELL :=3D $(shell if [ -x "$$BASH" =20 HOSTCC =3D gcc @@ -71326,9 +71362,9 @@ diff -urNp linux-2.6.32.48/Makefile linux-2.6.32.= 48/Makefile $(cmd_crmodverdir) $(Q)$(MAKE) KBUILD_MODULES=3D$(if $(CONFIG_MODULES),1) \ $(build)=3D$(build-dir) $(@:.ko=3D.o) -diff -urNp linux-2.6.32.48/mm/backing-dev.c linux-2.6.32.48/mm/backing-d= ev.c ---- linux-2.6.32.48/mm/backing-dev.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/mm/backing-dev.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/backing-dev.c linux-2.6.32.46/mm/backing-d= ev.c +--- linux-2.6.32.46/mm/backing-dev.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/backing-dev.c 2011-08-11 19:48:17.000000000 -0400 @@ -272,7 +272,7 @@ static void bdi_task_init(struct backing list_add_tail_rcu(&wb->list, &bdi->wb_list); spin_unlock(&bdi->wb_lock); @@ -71347,9 +71383,9 @@ diff -urNp linux-2.6.32.48/mm/backing-dev.c linux= -2.6.32.48/mm/backing-dev.c { if (!bdi_cap_writeback_dirty(bdi)) return; -diff -urNp linux-2.6.32.48/mm/filemap.c linux-2.6.32.48/mm/filemap.c ---- linux-2.6.32.48/mm/filemap.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/filemap.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/filemap.c linux-2.6.32.46/mm/filemap.c +--- linux-2.6.32.46/mm/filemap.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/filemap.c 2011-04-17 15:56:46.000000000 -0400 @@ -1631,7 +1631,7 @@ int generic_file_mmap(struct file * file struct address_space *mapping =3D file->f_mapping; =20 @@ -71367,9 +71403,9 @@ diff -urNp linux-2.6.32.48/mm/filemap.c linux-2.6= .32.48/mm/filemap.c if (*pos >=3D limit) { send_sig(SIGXFSZ, current, 0); return -EFBIG; -diff -urNp linux-2.6.32.48/mm/fremap.c linux-2.6.32.48/mm/fremap.c ---- linux-2.6.32.48/mm/fremap.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/mm/fremap.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/fremap.c linux-2.6.32.46/mm/fremap.c +--- linux-2.6.32.46/mm/fremap.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/fremap.c 2011-04-17 15:56:46.000000000 -0400 @@ -153,6 +153,11 @@ SYSCALL_DEFINE5(remap_file_pages, unsign retry: vma =3D find_vma(mm, start); @@ -71391,9 +71427,9 @@ diff -urNp linux-2.6.32.48/mm/fremap.c linux-2.6.= 32.48/mm/fremap.c munlock_vma_pages_range(vma, start, start + size); vma->vm_flags =3D saved_flags; } -diff -urNp linux-2.6.32.48/mm/highmem.c linux-2.6.32.48/mm/highmem.c ---- linux-2.6.32.48/mm/highmem.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/mm/highmem.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/highmem.c linux-2.6.32.46/mm/highmem.c +--- linux-2.6.32.46/mm/highmem.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/highmem.c 2011-04-17 15:56:46.000000000 -0400 @@ -116,9 +116,10 @@ static void flush_all_zero_pkmaps(void) * So no dangers, even with speculative execution. */ @@ -71419,9 +71455,9 @@ diff -urNp linux-2.6.32.48/mm/highmem.c linux-2.6= .32.48/mm/highmem.c pkmap_count[last_pkmap_nr] =3D 1; set_page_address(page, (void *)vaddr); =20 -diff -urNp linux-2.6.32.48/mm/hugetlb.c linux-2.6.32.48/mm/hugetlb.c ---- linux-2.6.32.48/mm/hugetlb.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/hugetlb.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/hugetlb.c linux-2.6.32.46/mm/hugetlb.c +--- linux-2.6.32.46/mm/hugetlb.c 2011-07-13 17:23:04.000000000 -0400 ++++ linux-2.6.32.46/mm/hugetlb.c 2011-07-13 17:23:19.000000000 -0400 @@ -1933,6 +1933,26 @@ static int unmap_ref_private(struct mm_s return 1; } @@ -71501,9 +71537,9 @@ diff -urNp linux-2.6.32.48/mm/hugetlb.c linux-2.6= .32.48/mm/hugetlb.c ptep =3D huge_pte_alloc(mm, address, huge_page_size(h)); if (!ptep) return VM_FAULT_OOM; -diff -urNp linux-2.6.32.48/mm/internal.h linux-2.6.32.48/mm/internal.h ---- linux-2.6.32.48/mm/internal.h 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/internal.h 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/internal.h linux-2.6.32.46/mm/internal.h +--- linux-2.6.32.46/mm/internal.h 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/internal.h 2011-07-09 09:13:08.000000000 -0400 @@ -49,6 +49,7 @@ extern void putback_lru_page(struct page * in mm/page_alloc.c */ @@ -71512,9 +71548,9 @@ diff -urNp linux-2.6.32.48/mm/internal.h linux-2.= 6.32.48/mm/internal.h extern void prep_compound_page(struct page *page, unsigned long order); =20 =20 -diff -urNp linux-2.6.32.48/mm/Kconfig linux-2.6.32.48/mm/Kconfig ---- linux-2.6.32.48/mm/Kconfig 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/Kconfig 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/Kconfig linux-2.6.32.46/mm/Kconfig +--- linux-2.6.32.46/mm/Kconfig 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/Kconfig 2011-04-17 15:56:46.000000000 -0400 @@ -228,7 +228,7 @@ config KSM config DEFAULT_MMAP_MIN_ADDR int "Low address space to protect from user allocation" @@ -71524,9 +71560,9 @@ diff -urNp linux-2.6.32.48/mm/Kconfig linux-2.6.3= 2.48/mm/Kconfig help This is the portion of low virtual memory which should be protected from userspace allocation. Keeping a user from writing to low pages -diff -urNp linux-2.6.32.48/mm/kmemleak.c linux-2.6.32.48/mm/kmemleak.c ---- linux-2.6.32.48/mm/kmemleak.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/kmemleak.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/kmemleak.c linux-2.6.32.46/mm/kmemleak.c +--- linux-2.6.32.46/mm/kmemleak.c 2011-06-25 12:55:35.000000000 -0400 ++++ linux-2.6.32.46/mm/kmemleak.c 2011-06-25 12:56:37.000000000 -0400 @@ -358,7 +358,7 @@ static void print_unreferenced(struct se =20 for (i =3D 0; i < object->trace_len; i++) { @@ -71536,9 +71572,9 @@ diff -urNp linux-2.6.32.48/mm/kmemleak.c linux-2.= 6.32.48/mm/kmemleak.c } } =20 -diff -urNp linux-2.6.32.48/mm/maccess.c linux-2.6.32.48/mm/maccess.c ---- linux-2.6.32.48/mm/maccess.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/mm/maccess.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/maccess.c linux-2.6.32.46/mm/maccess.c +--- linux-2.6.32.46/mm/maccess.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/maccess.c 2011-10-06 09:37:14.000000000 -0400 @@ -14,7 +14,7 @@ * Safely read from address @src to the buffer at @dst. If a kernel fa= ult * happens, handle that and return -EFAULT. @@ -71574,9 +71610,9 @@ diff -urNp linux-2.6.32.48/mm/maccess.c linux-2.6= .32.48/mm/maccess.c pagefault_enable(); set_fs(old_fs); =20 -diff -urNp linux-2.6.32.48/mm/madvise.c linux-2.6.32.48/mm/madvise.c ---- linux-2.6.32.48/mm/madvise.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/mm/madvise.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/madvise.c linux-2.6.32.46/mm/madvise.c +--- linux-2.6.32.46/mm/madvise.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/madvise.c 2011-04-17 15:56:46.000000000 -0400 @@ -44,6 +44,10 @@ static long madvise_behavior(struct vm_a pgoff_t pgoff; unsigned long new_flags =3D vma->vm_flags; @@ -71653,9 +71689,9 @@ diff -urNp linux-2.6.32.48/mm/madvise.c linux-2.6= .32.48/mm/madvise.c error =3D 0; if (end =3D=3D start) goto out; -diff -urNp linux-2.6.32.48/mm/memory.c linux-2.6.32.48/mm/memory.c ---- linux-2.6.32.48/mm/memory.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/memory.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/memory.c linux-2.6.32.46/mm/memory.c +--- linux-2.6.32.46/mm/memory.c 2011-07-13 17:23:04.000000000 -0400 ++++ linux-2.6.32.46/mm/memory.c 2011-07-13 17:23:23.000000000 -0400 @@ -187,8 +187,12 @@ static inline void free_pmd_range(struct return; =20 @@ -72185,9 +72221,9 @@ diff -urNp linux-2.6.32.48/mm/memory.c linux-2.6.= 32.48/mm/memory.c /* * Make sure the vDSO gets into every core dump. * Dumping its contents makes post-mortem fully interpretable later -diff -urNp linux-2.6.32.48/mm/memory-failure.c linux-2.6.32.48/mm/memory= -failure.c ---- linux-2.6.32.48/mm/memory-failure.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/mm/memory-failure.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/mm/memory-failure.c linux-2.6.32.46/mm/memory= -failure.c +--- linux-2.6.32.46/mm/memory-failure.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/mm/memory-failure.c 2011-10-06 09:37:14.000000000 -0= 400 @@ -46,7 +46,7 @@ int sysctl_memory_failure_early_kill __r =20 int sysctl_memory_failure_recovery __read_mostly =3D 1; @@ -72215,9 +72251,9 @@ diff -urNp linux-2.6.32.48/mm/memory-failure.c li= nux-2.6.32.48/mm/memory-failure =20 /* * We need/can do nothing about count=3D0 pages. -diff -urNp linux-2.6.32.48/mm/mempolicy.c linux-2.6.32.48/mm/mempolicy.c ---- linux-2.6.32.48/mm/mempolicy.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/mempolicy.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/mempolicy.c linux-2.6.32.46/mm/mempolicy.c +--- linux-2.6.32.46/mm/mempolicy.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/mempolicy.c 2011-04-17 15:56:46.000000000 -0400 @@ -573,6 +573,10 @@ static int mbind_range(struct vm_area_st struct vm_area_struct *next; int err; @@ -72298,9 +72334,9 @@ diff -urNp linux-2.6.32.48/mm/mempolicy.c linux-2= .6.32.48/mm/mempolicy.c } else if (vma->vm_start <=3D mm->brk && vma->vm_end >=3D mm->start_br= k) { seq_printf(m, " heap"); } else if (vma->vm_start <=3D mm->start_stack && -diff -urNp linux-2.6.32.48/mm/migrate.c linux-2.6.32.48/mm/migrate.c ---- linux-2.6.32.48/mm/migrate.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/migrate.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/migrate.c linux-2.6.32.46/mm/migrate.c +--- linux-2.6.32.46/mm/migrate.c 2011-07-13 17:23:04.000000000 -0400 ++++ linux-2.6.32.46/mm/migrate.c 2011-07-13 17:23:23.000000000 -0400 @@ -916,6 +916,8 @@ static int do_pages_move(struct mm_struc unsigned long chunk_start; int err; @@ -72335,9 +72371,9 @@ diff -urNp linux-2.6.32.48/mm/migrate.c linux-2.6= .32.48/mm/migrate.c rcu_read_unlock(); err =3D -EPERM; goto out; -diff -urNp linux-2.6.32.48/mm/mlock.c linux-2.6.32.48/mm/mlock.c ---- linux-2.6.32.48/mm/mlock.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/mlock.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/mlock.c linux-2.6.32.46/mm/mlock.c +--- linux-2.6.32.46/mm/mlock.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/mlock.c 2011-04-17 15:56:46.000000000 -0400 @@ -13,6 +13,7 @@ #include #include @@ -72448,9 +72484,9 @@ diff -urNp linux-2.6.32.48/mm/mlock.c linux-2.6.3= 2.48/mm/mlock.c if (!(flags & MCL_CURRENT) || (current->mm->total_vm <=3D lock_limit) = || capable(CAP_IPC_LOCK)) ret =3D do_mlockall(flags); -diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32.48/mm/mmap.c ---- linux-2.6.32.48/mm/mmap.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/mmap.c 2011-11-12 12:55:30.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/mmap.c linux-2.6.32.46/mm/mmap.c +--- linux-2.6.32.46/mm/mmap.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/mmap.c 2011-04-17 15:56:46.000000000 -0400 @@ -45,6 +45,16 @@ #define arch_rebalance_pgtables(addr, len) (addr) #endif @@ -73177,16 +73213,16 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.= 32.48/mm/mmap.c unsigned long size, grow; =20 size =3D address - vma->vm_start; -@@ -1643,6 +1903,8 @@ int expand_upwards(struct vm_area_struct - vma->vm_end =3D address; - } +@@ -1640,6 +1900,8 @@ int expand_upwards(struct vm_area_struct + if (!error) + vma->vm_end =3D address; } + if (locknext) + anon_vma_unlock(vma->vm_next); anon_vma_unlock(vma); return error; } -@@ -1655,6 +1917,8 @@ static int expand_downwards(struct vm_ar +@@ -1652,6 +1914,8 @@ static int expand_downwards(struct vm_ar unsigned long address) { int error; @@ -73195,7 +73231,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c =20 /* * We must make sure the anon_vma is allocated -@@ -1668,6 +1932,15 @@ static int expand_downwards(struct vm_ar +@@ -1665,6 +1929,15 @@ static int expand_downwards(struct vm_ar if (error) return error; =20 @@ -73211,7 +73247,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c anon_vma_lock(vma); =20 /* -@@ -1677,9 +1950,17 @@ static int expand_downwards(struct vm_ar +@@ -1674,9 +1947,17 @@ static int expand_downwards(struct vm_ar */ =20 /* Somebody else might have raced and expanded it already */ @@ -73230,21 +73266,19 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.= 32.48/mm/mmap.c size =3D vma->vm_end - address; grow =3D (vma->vm_start - address) >> PAGE_SHIFT; =20 -@@ -1689,10 +1970,22 @@ static int expand_downwards(struct vm_ar - if (!error) { - vma->vm_start =3D address; - vma->vm_pgoff -=3D grow; -+ track_exec_limit(vma->vm_mm, vma->vm_start, vma->vm_end, vma->vm_fl= ags); +@@ -1684,9 +1965,20 @@ static int expand_downwards(struct vm_ar + if (!error) { + vma->vm_start =3D address; + vma->vm_pgoff -=3D grow; ++ track_exec_limit(vma->vm_mm, vma->vm_start, vma->vm_end, vma->vm_fla= gs); + +#ifdef CONFIG_PAX_SEGMEXEC -+ if (vma_m) { -+ vma_m->vm_start -=3D grow << PAGE_SHIFT; -+ vma_m->vm_pgoff -=3D grow; -+ } ++ if (vma_m) { ++ vma_m->vm_start -=3D grow << PAGE_SHIFT; ++ vma_m->vm_pgoff -=3D grow; ++ } +#endif + -+ - } } } anon_vma_unlock(vma); @@ -73253,7 +73287,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c return error; } =20 -@@ -1768,6 +2061,13 @@ static void remove_vma_list(struct mm_st +@@ -1762,6 +2054,13 @@ static void remove_vma_list(struct mm_st do { long nrpages =3D vma_pages(vma); =20 @@ -73267,7 +73301,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c mm->total_vm -=3D nrpages; vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages); vma =3D remove_vma(vma); -@@ -1813,6 +2113,16 @@ detach_vmas_to_be_unmapped(struct mm_str +@@ -1807,6 +2106,16 @@ detach_vmas_to_be_unmapped(struct mm_str insertion_point =3D (prev ? &prev->vm_next : &mm->mmap); vma->vm_prev =3D NULL; do { @@ -73284,7 +73318,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c rb_erase(&vma->vm_rb, &mm->mm_rb); mm->map_count--; tail_vma =3D vma; -@@ -1840,10 +2150,25 @@ int split_vma(struct mm_struct * mm, str +@@ -1834,10 +2143,25 @@ int split_vma(struct mm_struct * mm, str struct mempolicy *pol; struct vm_area_struct *new; =20 @@ -73310,7 +73344,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c if (mm->map_count >=3D sysctl_max_map_count) return -ENOMEM; =20 -@@ -1851,6 +2176,16 @@ int split_vma(struct mm_struct * mm, str +@@ -1845,6 +2169,16 @@ int split_vma(struct mm_struct * mm, str if (!new) return -ENOMEM; =20 @@ -73327,7 +73361,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c /* most fields are the same, copy all, and then fixup */ *new =3D *vma; =20 -@@ -1861,8 +2196,29 @@ int split_vma(struct mm_struct * mm, str +@@ -1855,8 +2189,29 @@ int split_vma(struct mm_struct * mm, str new->vm_pgoff +=3D ((addr - vma->vm_start) >> PAGE_SHIFT); } =20 @@ -73357,7 +73391,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c kmem_cache_free(vm_area_cachep, new); return PTR_ERR(pol); } -@@ -1883,6 +2239,28 @@ int split_vma(struct mm_struct * mm, str +@@ -1877,6 +2232,28 @@ int split_vma(struct mm_struct * mm, str else vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); =20 @@ -73386,7 +73420,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c return 0; } =20 -@@ -1891,11 +2269,30 @@ int split_vma(struct mm_struct * mm, str +@@ -1885,11 +2262,30 @@ int split_vma(struct mm_struct * mm, str * work. This now handles partial unmappings. * Jeremy Fitzhardinge */ @@ -73417,7 +73451,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start= ) return -EINVAL; =20 -@@ -1959,6 +2356,8 @@ int do_munmap(struct mm_struct *mm, unsi +@@ -1953,6 +2349,8 @@ int do_munmap(struct mm_struct *mm, unsi /* Fix up all other VM information */ remove_vma_list(mm, vma); =20 @@ -73426,7 +73460,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c return 0; } =20 -@@ -1971,22 +2370,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, a +@@ -1965,22 +2363,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, a =20 profile_munmap(addr); =20 @@ -73455,7 +73489,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c /* * this is really a simplified "do_mmap". it only handles * anonymous maps. eventually we may be able to do some -@@ -2000,6 +2395,7 @@ unsigned long do_brk(unsigned long addr, +@@ -1994,6 +2388,7 @@ unsigned long do_brk(unsigned long addr, struct rb_node ** rb_link, * rb_parent; pgoff_t pgoff =3D addr >> PAGE_SHIFT; int error; @@ -73463,7 +73497,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c =20 len =3D PAGE_ALIGN(len); if (!len) -@@ -2011,16 +2407,30 @@ unsigned long do_brk(unsigned long addr, +@@ -2005,16 +2400,30 @@ unsigned long do_brk(unsigned long addr, =20 flags =3D VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; =20 @@ -73495,7 +73529,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c locked +=3D mm->locked_vm; lock_limit =3D current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur; lock_limit >>=3D PAGE_SHIFT; -@@ -2037,22 +2447,22 @@ unsigned long do_brk(unsigned long addr, +@@ -2031,22 +2440,22 @@ unsigned long do_brk(unsigned long addr, /* * Clear old maps. this also does some error checking for us */ @@ -73522,7 +73556,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c return -ENOMEM; =20 /* Can we just expand an old private anonymous mapping? */ -@@ -2066,7 +2476,7 @@ unsigned long do_brk(unsigned long addr, +@@ -2060,7 +2469,7 @@ unsigned long do_brk(unsigned long addr, */ vma =3D kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); if (!vma) { @@ -73531,7 +73565,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c return -ENOMEM; } =20 -@@ -2078,11 +2488,12 @@ unsigned long do_brk(unsigned long addr, +@@ -2072,11 +2481,12 @@ unsigned long do_brk(unsigned long addr, vma->vm_page_prot =3D vm_get_page_prot(flags); vma_link(mm, vma, prev, rb_link, rb_parent); out: @@ -73546,7 +73580,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c return addr; } =20 -@@ -2129,8 +2540,10 @@ void exit_mmap(struct mm_struct *mm) +@@ -2123,8 +2533,10 @@ void exit_mmap(struct mm_struct *mm) * Walk the list again, actually closing and freeing it, * with preemption enabled, without holding any MM locks. */ @@ -73558,7 +73592,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c =20 BUG_ON(mm->nr_ptes > (FIRST_USER_ADDRESS+PMD_SIZE-1)>>PMD_SHIFT); } -@@ -2144,6 +2557,10 @@ int insert_vm_struct(struct mm_struct *=20 +@@ -2138,6 +2550,10 @@ int insert_vm_struct(struct mm_struct *=20 struct vm_area_struct * __vma, * prev; struct rb_node ** rb_link, * rb_parent; =20 @@ -73569,7 +73603,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c /* * The vm_pgoff of a purely anonymous vma should be irrelevant * until its first write fault, when page's anon_vma and index -@@ -2166,7 +2583,22 @@ int insert_vm_struct(struct mm_struct *=20 +@@ -2160,7 +2576,22 @@ int insert_vm_struct(struct mm_struct *=20 if ((vma->vm_flags & VM_ACCOUNT) && security_vm_enough_memory_mm(mm, vma_pages(vma))) return -ENOMEM; @@ -73592,7 +73626,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c return 0; } =20 -@@ -2184,6 +2616,8 @@ struct vm_area_struct *copy_vma(struct v +@@ -2178,6 +2609,8 @@ struct vm_area_struct *copy_vma(struct v struct rb_node **rb_link, *rb_parent; struct mempolicy *pol; =20 @@ -73601,7 +73635,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c /* * If anonymous vma has not yet been faulted, update new pgoff * to match new location, to increase its chance of merging. -@@ -2227,6 +2661,35 @@ struct vm_area_struct *copy_vma(struct v +@@ -2221,6 +2654,35 @@ struct vm_area_struct *copy_vma(struct v return new_vma; } =20 @@ -73637,7 +73671,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c /* * Return true if the calling process may expand its vm space by the pa= ssed * number of pages -@@ -2237,7 +2700,7 @@ int may_expand_vm(struct mm_struct *mm,=20 +@@ -2231,7 +2693,7 @@ int may_expand_vm(struct mm_struct *mm,=20 unsigned long lim; =20 lim =3D current->signal->rlim[RLIMIT_AS].rlim_cur >> PAGE_SHIFT; @@ -73646,7 +73680,7 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c if (cur + npages > lim) return 0; return 1; -@@ -2307,6 +2770,22 @@ int install_special_mapping(struct mm_st +@@ -2301,6 +2763,22 @@ int install_special_mapping(struct mm_st vma->vm_start =3D addr; vma->vm_end =3D addr + len; =20 @@ -73669,9 +73703,9 @@ diff -urNp linux-2.6.32.48/mm/mmap.c linux-2.6.32= .48/mm/mmap.c vma->vm_flags =3D vm_flags | mm->def_flags | VM_DONTEXPAND; vma->vm_page_prot =3D vm_get_page_prot(vma->vm_flags); =20 -diff -urNp linux-2.6.32.48/mm/mprotect.c linux-2.6.32.48/mm/mprotect.c ---- linux-2.6.32.48/mm/mprotect.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/mprotect.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/mprotect.c linux-2.6.32.46/mm/mprotect.c +--- linux-2.6.32.46/mm/mprotect.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/mprotect.c 2011-04-17 15:56:46.000000000 -0400 @@ -24,10 +24,16 @@ #include #include @@ -73894,9 +73928,9 @@ diff -urNp linux-2.6.32.48/mm/mprotect.c linux-2.= 6.32.48/mm/mprotect.c nstart =3D tmp; =20 if (nstart < prev->vm_end) -diff -urNp linux-2.6.32.48/mm/mremap.c linux-2.6.32.48/mm/mremap.c ---- linux-2.6.32.48/mm/mremap.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/mremap.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/mremap.c linux-2.6.32.46/mm/mremap.c +--- linux-2.6.32.46/mm/mremap.c 2011-04-17 17:00:52.000000000 -0400 ++++ linux-2.6.32.46/mm/mremap.c 2011-04-17 17:03:58.000000000 -0400 @@ -112,6 +112,12 @@ static void move_ptes(struct vm_area_str continue; pte =3D ptep_clear_flush(vma, old_addr, old_pte); @@ -74001,9 +74035,9 @@ diff -urNp linux-2.6.32.48/mm/mremap.c linux-2.6.= 32.48/mm/mremap.c } out: if (ret & ~PAGE_MASK) -diff -urNp linux-2.6.32.48/mm/nommu.c linux-2.6.32.48/mm/nommu.c ---- linux-2.6.32.48/mm/nommu.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/nommu.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/nommu.c linux-2.6.32.46/mm/nommu.c +--- linux-2.6.32.46/mm/nommu.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/nommu.c 2011-04-17 15:56:46.000000000 -0400 @@ -67,7 +67,6 @@ int sysctl_overcommit_memory =3D OVERCOMMI int sysctl_overcommit_ratio =3D 50; /* default is 50% */ int sysctl_max_map_count =3D DEFAULT_MAX_MAP_COUNT; @@ -74028,9 +74062,9 @@ diff -urNp linux-2.6.32.48/mm/nommu.c linux-2.6.3= 2.48/mm/nommu.c * expand a stack to a given address * - not supported under NOMMU conditions */ -diff -urNp linux-2.6.32.48/mm/page_alloc.c linux-2.6.32.48/mm/page_alloc= .c ---- linux-2.6.32.48/mm/page_alloc.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/page_alloc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/page_alloc.c linux-2.6.32.46/mm/page_alloc= .c +--- linux-2.6.32.46/mm/page_alloc.c 2011-06-25 12:55:35.000000000 -0400 ++++ linux-2.6.32.46/mm/page_alloc.c 2011-07-09 09:13:08.000000000 -0400 @@ -289,7 +289,7 @@ out: * This usage means that zero-order pages may not be compound. */ @@ -74105,9 +74139,9 @@ diff -urNp linux-2.6.32.48/mm/page_alloc.c linux-= 2.6.32.48/mm/page_alloc.c struct zone *zone, unsigned long zonesize) {} #endif /* CONFIG_SPARSEMEM */ =20 -diff -urNp linux-2.6.32.48/mm/percpu.c linux-2.6.32.48/mm/percpu.c ---- linux-2.6.32.48/mm/percpu.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/percpu.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/percpu.c linux-2.6.32.46/mm/percpu.c +--- linux-2.6.32.46/mm/percpu.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/percpu.c 2011-04-17 15:56:46.000000000 -0400 @@ -115,7 +115,7 @@ static unsigned int pcpu_first_unit_cpu=20 static unsigned int pcpu_last_unit_cpu __read_mostly; =20 @@ -74117,9 +74151,9 @@ diff -urNp linux-2.6.32.48/mm/percpu.c linux-2.6.= 32.48/mm/percpu.c EXPORT_SYMBOL_GPL(pcpu_base_addr); =20 static const int *pcpu_unit_map __read_mostly; /* cpu -> unit */ -diff -urNp linux-2.6.32.48/mm/rmap.c linux-2.6.32.48/mm/rmap.c ---- linux-2.6.32.48/mm/rmap.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/mm/rmap.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/rmap.c linux-2.6.32.46/mm/rmap.c +--- linux-2.6.32.46/mm/rmap.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/rmap.c 2011-04-17 15:56:46.000000000 -0400 @@ -121,6 +121,17 @@ int anon_vma_prepare(struct vm_area_stru /* page_table_lock to protect against threads */ spin_lock(&mm->page_table_lock); @@ -74138,9 +74172,9 @@ diff -urNp linux-2.6.32.48/mm/rmap.c linux-2.6.32= .48/mm/rmap.c vma->anon_vma =3D anon_vma; list_add_tail(&vma->anon_vma_node, &anon_vma->head); allocated =3D NULL; -diff -urNp linux-2.6.32.48/mm/shmem.c linux-2.6.32.48/mm/shmem.c ---- linux-2.6.32.48/mm/shmem.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/shmem.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/shmem.c linux-2.6.32.46/mm/shmem.c +--- linux-2.6.32.46/mm/shmem.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/shmem.c 2011-05-18 20:09:37.000000000 -0400 @@ -31,7 +31,7 @@ #include #include @@ -74187,9 +74221,9 @@ diff -urNp linux-2.6.32.48/mm/shmem.c linux-2.6.3= 2.48/mm/shmem.c if (!sbinfo) return -ENOMEM; =20 -diff -urNp linux-2.6.32.48/mm/slab.c linux-2.6.32.48/mm/slab.c ---- linux-2.6.32.48/mm/slab.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/slab.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/slab.c linux-2.6.32.46/mm/slab.c +--- linux-2.6.32.46/mm/slab.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/slab.c 2011-05-04 17:56:20.000000000 -0400 @@ -174,7 +174,7 @@ =20 /* Legal flag mask for kmem_cache_create(). */ @@ -74352,9 +74386,9 @@ diff -urNp linux-2.6.32.48/mm/slab.c linux-2.6.32= .48/mm/slab.c /** * ksize - get the actual amount of memory allocated for a given object * @objp: Pointer to the object -diff -urNp linux-2.6.32.48/mm/slob.c linux-2.6.32.48/mm/slob.c ---- linux-2.6.32.48/mm/slob.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/mm/slob.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/slob.c linux-2.6.32.46/mm/slob.c +--- linux-2.6.32.46/mm/slob.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/slob.c 2011-07-06 19:53:33.000000000 -0400 @@ -29,7 +29,7 @@ * If kmalloc is asked for objects of PAGE_SIZE or larger, it calls * alloc_pages() directly, allocating compound pages so the page order @@ -74704,9 +74738,9 @@ diff -urNp linux-2.6.32.48/mm/slob.c linux-2.6.32= .48/mm/slob.c } EXPORT_SYMBOL(kmem_cache_free); =20 -diff -urNp linux-2.6.32.48/mm/slub.c linux-2.6.32.48/mm/slub.c ---- linux-2.6.32.48/mm/slub.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/mm/slub.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/slub.c linux-2.6.32.46/mm/slub.c +--- linux-2.6.32.46/mm/slub.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/slub.c 2011-09-25 22:23:01.000000000 -0400 @@ -201,7 +201,7 @@ struct track { =20 enum track_item { TRACK_ALLOC, TRACK_FREE }; @@ -74958,9 +74992,9 @@ diff -urNp linux-2.6.32.48/mm/slub.c linux-2.6.32= .48/mm/slub.c return 0; } module_init(slab_proc_init); -diff -urNp linux-2.6.32.48/mm/swap.c linux-2.6.32.48/mm/swap.c ---- linux-2.6.32.48/mm/swap.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/mm/swap.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/swap.c linux-2.6.32.46/mm/swap.c +--- linux-2.6.32.46/mm/swap.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/swap.c 2011-07-09 09:15:19.000000000 -0400 @@ -30,6 +30,7 @@ #include #include @@ -74978,9 +75012,9 @@ diff -urNp linux-2.6.32.48/mm/swap.c linux-2.6.32= .48/mm/swap.c (*dtor)(page); } } -diff -urNp linux-2.6.32.48/mm/util.c linux-2.6.32.48/mm/util.c ---- linux-2.6.32.48/mm/util.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/util.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/util.c linux-2.6.32.46/mm/util.c +--- linux-2.6.32.46/mm/util.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/util.c 2011-04-17 15:56:46.000000000 -0400 @@ -228,6 +228,12 @@ EXPORT_SYMBOL(strndup_user); void arch_pick_mmap_layout(struct mm_struct *mm) { @@ -74994,9 +75028,9 @@ diff -urNp linux-2.6.32.48/mm/util.c linux-2.6.32= .48/mm/util.c mm->get_unmapped_area =3D arch_get_unmapped_area; mm->unmap_area =3D arch_unmap_area; } -diff -urNp linux-2.6.32.48/mm/vmalloc.c linux-2.6.32.48/mm/vmalloc.c ---- linux-2.6.32.48/mm/vmalloc.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/vmalloc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/vmalloc.c linux-2.6.32.46/mm/vmalloc.c +--- linux-2.6.32.46/mm/vmalloc.c 2011-08-29 22:24:44.000000000 -0400 ++++ linux-2.6.32.46/mm/vmalloc.c 2011-08-29 22:25:07.000000000 -0400 @@ -40,8 +40,19 @@ static void vunmap_pte_range(pmd_t *pmd, =20 pte =3D pte_offset_kernel(pmd, addr); @@ -75233,9 +75267,9 @@ diff -urNp linux-2.6.32.48/mm/vmalloc.c linux-2.6= .32.48/mm/vmalloc.c if ((PAGE_SIZE-1) & (unsigned long)addr) return -EINVAL; =20 -diff -urNp linux-2.6.32.48/mm/vmstat.c linux-2.6.32.48/mm/vmstat.c ---- linux-2.6.32.48/mm/vmstat.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/mm/vmstat.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/mm/vmstat.c linux-2.6.32.46/mm/vmstat.c +--- linux-2.6.32.46/mm/vmstat.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/mm/vmstat.c 2011-04-17 15:56:46.000000000 -0400 @@ -74,7 +74,7 @@ void vm_events_fold_cpu(int cpu) * * vm_stat contains the global counters @@ -75288,9 +75322,9 @@ diff -urNp linux-2.6.32.48/mm/vmstat.c linux-2.6.= 32.48/mm/vmstat.c #endif return 0; } -diff -urNp linux-2.6.32.48/net/8021q/vlan.c linux-2.6.32.48/net/8021q/vl= an.c ---- linux-2.6.32.48/net/8021q/vlan.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/8021q/vlan.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/net/8021q/vlan.c linux-2.6.32.46/net/8021q/vl= an.c +--- linux-2.6.32.46/net/8021q/vlan.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/8021q/vlan.c 2011-04-17 15:56:46.000000000 -0400 @@ -622,8 +622,7 @@ static int vlan_ioctl_handler(struct net err =3D -EPERM; if (!capable(CAP_NET_ADMIN)) @@ -75301,9 +75335,9 @@ diff -urNp linux-2.6.32.48/net/8021q/vlan.c linux= -2.6.32.48/net/8021q/vlan.c struct vlan_net *vn; =20 vn =3D net_generic(net, vlan_net_id); -diff -urNp linux-2.6.32.48/net/9p/trans_fd.c linux-2.6.32.48/net/9p/tran= s_fd.c ---- linux-2.6.32.48/net/9p/trans_fd.c 2011-11-12 12:44:30.000000000 -050= 0 -+++ linux-2.6.32.48/net/9p/trans_fd.c 2011-11-12 12:46:47.000000000 -050= 0 +diff -urNp linux-2.6.32.46/net/9p/trans_fd.c linux-2.6.32.46/net/9p/tran= s_fd.c +--- linux-2.6.32.46/net/9p/trans_fd.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/net/9p/trans_fd.c 2011-10-06 09:37:14.000000000 -040= 0 @@ -419,7 +419,7 @@ static int p9_fd_write(struct p9_client=20 oldfs =3D get_fs(); set_fs(get_ds()); @@ -75313,9 +75347,9 @@ diff -urNp linux-2.6.32.48/net/9p/trans_fd.c linu= x-2.6.32.48/net/9p/trans_fd.c set_fs(oldfs); =20 if (ret <=3D 0 && ret !=3D -ERESTARTSYS && ret !=3D -EAGAIN) -diff -urNp linux-2.6.32.48/net/atm/atm_misc.c linux-2.6.32.48/net/atm/at= m_misc.c ---- linux-2.6.32.48/net/atm/atm_misc.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/net/atm/atm_misc.c 2011-11-12 12:46:47.000000000 -05= 00 +diff -urNp linux-2.6.32.46/net/atm/atm_misc.c linux-2.6.32.46/net/atm/at= m_misc.c +--- linux-2.6.32.46/net/atm/atm_misc.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/net/atm/atm_misc.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -19,7 +19,7 @@ int atm_charge(struct atm_vcc *vcc,int t if (atomic_read(&sk_atm(vcc)->sk_rmem_alloc) <=3D sk_atm(vcc)->sk_rcvb= uf) return 1; @@ -75352,9 +75386,9 @@ diff -urNp linux-2.6.32.48/net/atm/atm_misc.c lin= ux-2.6.32.48/net/atm/atm_misc.c __SONET_ITEMS #undef __HANDLE_ITEM } -diff -urNp linux-2.6.32.48/net/atm/lec.h linux-2.6.32.48/net/atm/lec.h ---- linux-2.6.32.48/net/atm/lec.h 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/atm/lec.h 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/net/atm/lec.h linux-2.6.32.46/net/atm/lec.h +--- linux-2.6.32.46/net/atm/lec.h 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/atm/lec.h 2011-08-05 20:33:55.000000000 -0400 @@ -48,7 +48,7 @@ struct lane2_ops { const u8 *tlvs, u32 sizeoftlvs); void (*associate_indicator) (struct net_device *dev, const u8 *mac_add= r, @@ -75364,9 +75398,9 @@ diff -urNp linux-2.6.32.48/net/atm/lec.h linux-2.= 6.32.48/net/atm/lec.h =20 /* * ATM LAN Emulation supports both LLC & Dix Ethernet EtherType -diff -urNp linux-2.6.32.48/net/atm/mpc.h linux-2.6.32.48/net/atm/mpc.h ---- linux-2.6.32.48/net/atm/mpc.h 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/atm/mpc.h 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/net/atm/mpc.h linux-2.6.32.46/net/atm/mpc.h +--- linux-2.6.32.46/net/atm/mpc.h 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/atm/mpc.h 2011-08-23 21:22:38.000000000 -0400 @@ -33,7 +33,7 @@ struct mpoa_client { struct mpc_parameters parameters; /* parameters for this client */ =20 @@ -75376,9 +75410,9 @@ diff -urNp linux-2.6.32.48/net/atm/mpc.h linux-2.= 6.32.48/net/atm/mpc.h }; =20 =20 -diff -urNp linux-2.6.32.48/net/atm/mpoa_caches.c linux-2.6.32.48/net/atm= /mpoa_caches.c ---- linux-2.6.32.48/net/atm/mpoa_caches.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/net/atm/mpoa_caches.c 2011-11-12 12:46:47.000000000 = -0500 +diff -urNp linux-2.6.32.46/net/atm/mpoa_caches.c linux-2.6.32.46/net/atm= /mpoa_caches.c +--- linux-2.6.32.46/net/atm/mpoa_caches.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/net/atm/mpoa_caches.c 2011-05-16 21:46:57.000000000 = -0400 @@ -498,6 +498,8 @@ static void clear_expired(struct mpoa_cl struct timeval now; struct k_message msg; @@ -75388,9 +75422,9 @@ diff -urNp linux-2.6.32.48/net/atm/mpoa_caches.c = linux-2.6.32.48/net/atm/mpoa_ca do_gettimeofday(&now); =20 write_lock_irq(&client->egress_lock); -diff -urNp linux-2.6.32.48/net/atm/proc.c linux-2.6.32.48/net/atm/proc.c ---- linux-2.6.32.48/net/atm/proc.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/atm/proc.c 2011-11-12 12:46:47.000000000 -0500 +diff -urNp linux-2.6.32.46/net/atm/proc.c linux-2.6.32.46/net/atm/proc.c +--- linux-2.6.32.46/net/atm/proc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/atm/proc.c 2011-04-17 15:56:46.000000000 -0400 @@ -43,9 +43,9 @@ static void add_stats(struct seq_file *s const struct k_atm_aal_stats *stats) { @@ -75429,9 +75463,9 @@ diff -urNp linux-2.6.32.48/net/atm/proc.c linux-2= .6.32.48/net/atm/proc.c else seq_printf(seq, "%3d %3d %5d ", vcc->dev->number, vcc->vpi, vcc->vci); -diff -urNp linux-2.6.32.48/net/atm/resources.c linux-2.6.32.48/net/atm/r= esources.c ---- linux-2.6.32.48/net/atm/resources.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/net/atm/resources.c 2011-11-12 12:46:47.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/atm/resources.c linux-2.6.32.46/net/atm/r= esources.c +--- linux-2.6.32.46/net/atm/resources.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/net/atm/resources.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -161,7 +161,7 @@ void atm_dev_deregister(struct atm_dev * static void copy_aal_stats(struct k_atm_aal_stats *from, struct atm_aal_stats *to) @@ -75450,9 +75484,41 @@ diff -urNp linux-2.6.32.48/net/atm/resources.c l= inux-2.6.32.48/net/atm/resources __AAL_STAT_ITEMS #undef __HANDLE_ITEM } -diff -urNp linux-2.6.32.48/net/bridge/br_private.h linux-2.6.32.48/net/b= ridge/br_private.h ---- linux-2.6.32.48/net/bridge/br_private.h 2011-11-12 12:44:30.00000000= 0 -0500 -+++ linux-2.6.32.48/net/bridge/br_private.h 2011-11-12 12:46:51.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/net/bluetooth/l2cap.c linux-2.6.32.46/net/blu= etooth/l2cap.c +--- linux-2.6.32.46/net/bluetooth/l2cap.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/net/bluetooth/l2cap.c 2011-06-25 14:36:21.000000000 = -0400 +@@ -1885,7 +1885,7 @@ static int l2cap_sock_getsockopt_old(str + err =3D -ENOTCONN; + break; + } +- ++ memset(&cinfo, 0, sizeof(cinfo)); + cinfo.hci_handle =3D l2cap_pi(sk)->conn->hcon->handle; + memcpy(cinfo.dev_class, l2cap_pi(sk)->conn->hcon->dev_class, 3); +=20 +@@ -2719,7 +2719,7 @@ static inline int l2cap_config_req(struc +=20 + /* Reject if config buffer is too small. */ + len =3D cmd_len - sizeof(*req); +- if (l2cap_pi(sk)->conf_len + len > sizeof(l2cap_pi(sk)->conf_req)) { ++ if (len < 0 || l2cap_pi(sk)->conf_len + len > sizeof(l2cap_pi(sk)->con= f_req)) { + l2cap_send_cmd(conn, cmd->ident, L2CAP_CONF_RSP, + l2cap_build_conf_rsp(sk, rsp, + L2CAP_CONF_REJECT, flags), rsp); +diff -urNp linux-2.6.32.46/net/bluetooth/rfcomm/sock.c linux-2.6.32.46/n= et/bluetooth/rfcomm/sock.c +--- linux-2.6.32.46/net/bluetooth/rfcomm/sock.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/net/bluetooth/rfcomm/sock.c 2011-06-12 06:35:00.0000= 00000 -0400 +@@ -878,6 +878,7 @@ static int rfcomm_sock_getsockopt_old(st +=20 + l2cap_sk =3D rfcomm_pi(sk)->dlc->session->sock->sk; +=20 ++ memset(&cinfo, 0, sizeof(cinfo)); + cinfo.hci_handle =3D l2cap_pi(l2cap_sk)->conn->hcon->handle; + memcpy(cinfo.dev_class, l2cap_pi(l2cap_sk)->conn->hcon->dev_class, 3)= ; +=20 +diff -urNp linux-2.6.32.46/net/bridge/br_private.h linux-2.6.32.46/net/b= ridge/br_private.h +--- linux-2.6.32.46/net/bridge/br_private.h 2011-08-09 18:35:30.00000000= 0 -0400 ++++ linux-2.6.32.46/net/bridge/br_private.h 2011-08-09 18:34:01.00000000= 0 -0400 @@ -255,7 +255,7 @@ extern void br_ifinfo_notify(int event,=20 =20 #ifdef CONFIG_SYSFS @@ -75462,9 +75528,9 @@ diff -urNp linux-2.6.32.48/net/bridge/br_private.= h linux-2.6.32.48/net/bridge/br extern int br_sysfs_addif(struct net_bridge_port *p); =20 /* br_sysfs_br.c */ -diff -urNp linux-2.6.32.48/net/bridge/br_stp_if.c linux-2.6.32.48/net/br= idge/br_stp_if.c ---- linux-2.6.32.48/net/bridge/br_stp_if.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/net/bridge/br_stp_if.c 2011-11-12 12:46:51.000000000= -0500 +diff -urNp linux-2.6.32.46/net/bridge/br_stp_if.c linux-2.6.32.46/net/br= idge/br_stp_if.c +--- linux-2.6.32.46/net/bridge/br_stp_if.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/net/bridge/br_stp_if.c 2011-04-17 15:56:46.000000000= -0400 @@ -146,7 +146,7 @@ static void br_stp_stop(struct net_bridg char *envp[] =3D { NULL }; =20 @@ -75474,9 +75540,9 @@ diff -urNp linux-2.6.32.48/net/bridge/br_stp_if.c= linux-2.6.32.48/net/bridge/br_ printk(KERN_INFO "%s: userspace STP stopped, return code %d\n", br->dev->name, r); =20 -diff -urNp linux-2.6.32.48/net/bridge/br_sysfs_if.c linux-2.6.32.48/net/= bridge/br_sysfs_if.c ---- linux-2.6.32.48/net/bridge/br_sysfs_if.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/net/bridge/br_sysfs_if.c 2011-11-12 12:46:51.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/net/bridge/br_sysfs_if.c linux-2.6.32.46/net/= bridge/br_sysfs_if.c +--- linux-2.6.32.46/net/bridge/br_sysfs_if.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/net/bridge/br_sysfs_if.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -220,7 +220,7 @@ static ssize_t brport_store(struct kobje return ret; } @@ -75486,9 +75552,9 @@ diff -urNp linux-2.6.32.48/net/bridge/br_sysfs_if= .c linux-2.6.32.48/net/bridge/b .show =3D brport_show, .store =3D brport_store, }; -diff -urNp linux-2.6.32.48/net/bridge/netfilter/ebtables.c linux-2.6.32.= 48/net/bridge/netfilter/ebtables.c ---- linux-2.6.32.48/net/bridge/netfilter/ebtables.c 2011-11-12 12:44:30.= 000000000 -0500 -+++ linux-2.6.32.48/net/bridge/netfilter/ebtables.c 2011-11-12 12:46:51.= 000000000 -0500 +diff -urNp linux-2.6.32.46/net/bridge/netfilter/ebtables.c linux-2.6.32.= 46/net/bridge/netfilter/ebtables.c +--- linux-2.6.32.46/net/bridge/netfilter/ebtables.c 2011-04-17 17:00:52.= 000000000 -0400 ++++ linux-2.6.32.46/net/bridge/netfilter/ebtables.c 2011-05-16 21:46:57.= 000000000 -0400 @@ -1337,6 +1337,8 @@ static int copy_everything_to_user(struc unsigned int entries_size, nentries; char *entries; @@ -75498,9 +75564,9 @@ diff -urNp linux-2.6.32.48/net/bridge/netfilter/e= btables.c linux-2.6.32.48/net/b if (cmd =3D=3D EBT_SO_GET_ENTRIES) { entries_size =3D t->private->entries_size; nentries =3D t->private->nentries; -diff -urNp linux-2.6.32.48/net/can/bcm.c linux-2.6.32.48/net/can/bcm.c ---- linux-2.6.32.48/net/can/bcm.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/can/bcm.c 2011-11-12 12:46:51.000000000 -0500 +diff -urNp linux-2.6.32.46/net/can/bcm.c linux-2.6.32.46/net/can/bcm.c +--- linux-2.6.32.46/net/can/bcm.c 2011-05-10 22:12:01.000000000 -0400 ++++ linux-2.6.32.46/net/can/bcm.c 2011-05-10 22:12:34.000000000 -0400 @@ -164,9 +164,15 @@ static int bcm_proc_show(struct seq_file struct bcm_sock *bo =3D bcm_sk(sk); struct bcm_op *op; @@ -75517,9 +75583,9 @@ diff -urNp linux-2.6.32.48/net/can/bcm.c linux-2.= 6.32.48/net/can/bcm.c seq_printf(m, " / dropped %lu", bo->dropped_usr_msgs); seq_printf(m, " / bound %s", bcm_proc_getifname(ifname, bo->ifindex)); seq_printf(m, " <<<\n"); -diff -urNp linux-2.6.32.48/net/compat.c linux-2.6.32.48/net/compat.c ---- linux-2.6.32.48/net/compat.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/compat.c 2011-11-12 12:46:51.000000000 -0500 +diff -urNp linux-2.6.32.46/net/compat.c linux-2.6.32.46/net/compat.c +--- linux-2.6.32.46/net/compat.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/compat.c 2011-10-06 09:37:14.000000000 -0400 @@ -69,9 +69,9 @@ int get_compat_msghdr(struct msghdr *kms __get_user(kmsg->msg_controllen, &umsg->msg_controllen) || __get_user(kmsg->msg_flags, &umsg->msg_flags)) @@ -75620,9 +75686,9 @@ diff -urNp linux-2.6.32.48/net/compat.c linux-2.6= .32.48/net/compat.c struct group_filter __user *kgf; u32 interface, fmode, numsrc; =20 -diff -urNp linux-2.6.32.48/net/core/dev.c linux-2.6.32.48/net/core/dev.c ---- linux-2.6.32.48/net/core/dev.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/core/dev.c 2011-11-12 12:46:51.000000000 -0500 +diff -urNp linux-2.6.32.46/net/core/dev.c linux-2.6.32.46/net/core/dev.c +--- linux-2.6.32.46/net/core/dev.c 2011-04-17 17:00:52.000000000 -0400 ++++ linux-2.6.32.46/net/core/dev.c 2011-08-05 20:33:55.000000000 -0400 @@ -1047,10 +1047,14 @@ void dev_load(struct net *net, const cha if (no_module && capable(CAP_NET_ADMIN)) no_module =3D request_module("netdev-%s", name); @@ -75665,9 +75731,9 @@ diff -urNp linux-2.6.32.48/net/core/dev.c linux-2= .6.32.48/net/core/dev.c { struct list_head *list =3D &__get_cpu_var(softnet_data).poll_list; unsigned long time_limit =3D jiffies + 2; -diff -urNp linux-2.6.32.48/net/core/flow.c linux-2.6.32.48/net/core/flow= .c ---- linux-2.6.32.48/net/core/flow.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/core/flow.c 2011-11-12 12:46:51.000000000 -0500 +diff -urNp linux-2.6.32.46/net/core/flow.c linux-2.6.32.46/net/core/flow= .c +--- linux-2.6.32.46/net/core/flow.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/core/flow.c 2011-05-04 17:56:20.000000000 -0400 @@ -35,11 +35,11 @@ struct flow_cache_entry { atomic_t *object_ref; }; @@ -75727,9 +75793,9 @@ diff -urNp linux-2.6.32.48/net/core/flow.c linux-= 2.6.32.48/net/core/flow.c =20 if (!fle->object || fle->genid =3D=3D genid) continue; -diff -urNp linux-2.6.32.48/net/core/rtnetlink.c linux-2.6.32.48/net/core= /rtnetlink.c ---- linux-2.6.32.48/net/core/rtnetlink.c 2011-11-12 12:44:30.000000000 -= 0500 -+++ linux-2.6.32.48/net/core/rtnetlink.c 2011-11-12 12:46:51.000000000 -= 0500 +diff -urNp linux-2.6.32.46/net/core/rtnetlink.c linux-2.6.32.46/net/core= /rtnetlink.c +--- linux-2.6.32.46/net/core/rtnetlink.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/net/core/rtnetlink.c 2011-08-05 20:33:55.000000000 -= 0400 @@ -57,7 +57,7 @@ struct rtnl_link { rtnl_doit_func doit; @@ -75739,10 +75805,10 @@ diff -urNp linux-2.6.32.48/net/core/rtnetlink.c= linux-2.6.32.48/net/core/rtnetli =20 static DEFINE_MUTEX(rtnl_mutex); =20 -diff -urNp linux-2.6.32.48/net/core/scm.c linux-2.6.32.48/net/core/scm.c ---- linux-2.6.32.48/net/core/scm.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/core/scm.c 2011-11-12 12:46:51.000000000 -0500 -@@ -191,7 +191,7 @@ error: +diff -urNp linux-2.6.32.46/net/core/scm.c linux-2.6.32.46/net/core/scm.c +--- linux-2.6.32.46/net/core/scm.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/core/scm.c 2011-10-06 09:37:14.000000000 -0400 +@@ -190,7 +190,7 @@ error: int put_cmsg(struct msghdr * msg, int level, int type, int len, void *d= ata) { struct cmsghdr __user *cm @@ -75751,7 +75817,7 @@ diff -urNp linux-2.6.32.48/net/core/scm.c linux-2= .6.32.48/net/core/scm.c struct cmsghdr cmhdr; int cmlen =3D CMSG_LEN(len); int err; -@@ -214,7 +214,7 @@ int put_cmsg(struct msghdr * msg, int le +@@ -213,7 +213,7 @@ int put_cmsg(struct msghdr * msg, int le err =3D -EFAULT; if (copy_to_user(cm, &cmhdr, sizeof cmhdr)) goto out; @@ -75760,7 +75826,7 @@ diff -urNp linux-2.6.32.48/net/core/scm.c linux-2= .6.32.48/net/core/scm.c goto out; cmlen =3D CMSG_SPACE(len); if (msg->msg_controllen < cmlen) -@@ -229,7 +229,7 @@ out: +@@ -228,7 +228,7 @@ out: void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm) { struct cmsghdr __user *cm @@ -75769,7 +75835,7 @@ diff -urNp linux-2.6.32.48/net/core/scm.c linux-2= .6.32.48/net/core/scm.c =20 int fdmax =3D 0; int fdnum =3D scm->fp->count; -@@ -249,7 +249,7 @@ void scm_detach_fds(struct msghdr *msg,=20 +@@ -248,7 +248,7 @@ void scm_detach_fds(struct msghdr *msg,=20 if (fdnum < fdmax) fdmax =3D fdnum; =20 @@ -75778,9 +75844,9 @@ diff -urNp linux-2.6.32.48/net/core/scm.c linux-2= .6.32.48/net/core/scm.c i++, cmfptr++) { int new_fd; -diff -urNp linux-2.6.32.48/net/core/secure_seq.c linux-2.6.32.48/net/cor= e/secure_seq.c ---- linux-2.6.32.48/net/core/secure_seq.c 2011-11-12 12:44:30.000000000 = -0500 -+++ linux-2.6.32.48/net/core/secure_seq.c 2011-11-12 12:46:51.000000000 = -0500 +diff -urNp linux-2.6.32.46/net/core/secure_seq.c linux-2.6.32.46/net/cor= e/secure_seq.c +--- linux-2.6.32.46/net/core/secure_seq.c 2011-08-16 20:37:25.000000000 = -0400 ++++ linux-2.6.32.46/net/core/secure_seq.c 2011-08-07 19:48:09.000000000 = -0400 @@ -57,7 +57,7 @@ __u32 secure_tcpv6_sequence_number(__be3 EXPORT_SYMBOL(secure_tcpv6_sequence_number); =20 @@ -75798,9 +75864,9 @@ diff -urNp linux-2.6.32.48/net/core/secure_seq.c = linux-2.6.32.48/net/core/secure return hash[0]; } #endif -diff -urNp linux-2.6.32.48/net/core/skbuff.c linux-2.6.32.48/net/core/sk= buff.c ---- linux-2.6.32.48/net/core/skbuff.c 2011-11-12 12:44:30.000000000 -050= 0 -+++ linux-2.6.32.48/net/core/skbuff.c 2011-11-12 12:46:51.000000000 -050= 0 +diff -urNp linux-2.6.32.46/net/core/skbuff.c linux-2.6.32.46/net/core/sk= buff.c +--- linux-2.6.32.46/net/core/skbuff.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/net/core/skbuff.c 2011-05-16 21:46:57.000000000 -040= 0 @@ -1544,6 +1544,8 @@ int skb_splice_bits(struct sk_buff *skb, struct sk_buff *frag_iter; struct sock *sk =3D skb->sk; @@ -75810,9 +75876,9 @@ diff -urNp linux-2.6.32.48/net/core/skbuff.c linu= x-2.6.32.48/net/core/skbuff.c /* * __skb_splice_bits() only fails if the output has no room left, * so no point in going over the frag_list for the error case. -diff -urNp linux-2.6.32.48/net/core/sock.c linux-2.6.32.48/net/core/sock= .c ---- linux-2.6.32.48/net/core/sock.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/core/sock.c 2011-11-12 12:46:51.000000000 -0500 +diff -urNp linux-2.6.32.46/net/core/sock.c linux-2.6.32.46/net/core/sock= .c +--- linux-2.6.32.46/net/core/sock.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/core/sock.c 2011-05-04 17:56:20.000000000 -0400 @@ -864,11 +864,15 @@ int sock_getsockopt(struct socket *sock, break; =20 @@ -75839,9 +75905,9 @@ diff -urNp linux-2.6.32.48/net/core/sock.c linux-= 2.6.32.48/net/core/sock.c } EXPORT_SYMBOL(sock_init_data); =20 -diff -urNp linux-2.6.32.48/net/decnet/sysctl_net_decnet.c linux-2.6.32.4= 8/net/decnet/sysctl_net_decnet.c ---- linux-2.6.32.48/net/decnet/sysctl_net_decnet.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/net/decnet/sysctl_net_decnet.c 2011-11-12 12:46:51.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/net/decnet/sysctl_net_decnet.c linux-2.6.32.4= 6/net/decnet/sysctl_net_decnet.c +--- linux-2.6.32.46/net/decnet/sysctl_net_decnet.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/net/decnet/sysctl_net_decnet.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -206,7 +206,7 @@ static int dn_node_address_handler(ctl_t =20 if (len > *lenp) len =3D *lenp; @@ -75860,9 +75926,9 @@ diff -urNp linux-2.6.32.48/net/decnet/sysctl_net_= decnet.c linux-2.6.32.48/net/de return -EFAULT; =20 *lenp =3D len; -diff -urNp linux-2.6.32.48/net/econet/Kconfig linux-2.6.32.48/net/econet= /Kconfig ---- linux-2.6.32.48/net/econet/Kconfig 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/net/econet/Kconfig 2011-11-12 12:46:51.000000000 -05= 00 +diff -urNp linux-2.6.32.46/net/econet/Kconfig linux-2.6.32.46/net/econet= /Kconfig +--- linux-2.6.32.46/net/econet/Kconfig 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/net/econet/Kconfig 2011-04-17 15:56:46.000000000 -04= 00 @@ -4,7 +4,7 @@ =20 config ECONET @@ -75872,9 +75938,9 @@ diff -urNp linux-2.6.32.48/net/econet/Kconfig lin= ux-2.6.32.48/net/econet/Kconfig ---help--- Econet is a fairly old and slow networking protocol mainly used by Acorn computers to access file and print servers. It uses native -diff -urNp linux-2.6.32.48/net/ieee802154/dgram.c linux-2.6.32.48/net/ie= ee802154/dgram.c ---- linux-2.6.32.48/net/ieee802154/dgram.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/net/ieee802154/dgram.c 2011-11-12 12:46:51.000000000= -0500 +diff -urNp linux-2.6.32.46/net/ieee802154/dgram.c linux-2.6.32.46/net/ie= ee802154/dgram.c +--- linux-2.6.32.46/net/ieee802154/dgram.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/net/ieee802154/dgram.c 2011-05-04 17:56:28.000000000= -0400 @@ -318,7 +318,7 @@ out: static int dgram_rcv_skb(struct sock *sk, struct sk_buff *skb) { @@ -75884,9 +75950,9 @@ diff -urNp linux-2.6.32.48/net/ieee802154/dgram.c= linux-2.6.32.48/net/ieee802154 kfree_skb(skb); return NET_RX_DROP; } -diff -urNp linux-2.6.32.48/net/ieee802154/raw.c linux-2.6.32.48/net/ieee= 802154/raw.c ---- linux-2.6.32.48/net/ieee802154/raw.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/net/ieee802154/raw.c 2011-11-12 12:46:51.000000000 -= 0500 +diff -urNp linux-2.6.32.46/net/ieee802154/raw.c linux-2.6.32.46/net/ieee= 802154/raw.c +--- linux-2.6.32.46/net/ieee802154/raw.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/net/ieee802154/raw.c 2011-05-04 17:56:28.000000000 -= 0400 @@ -206,7 +206,7 @@ out: static int raw_rcv_skb(struct sock *sk, struct sk_buff *skb) { @@ -75896,9 +75962,9 @@ diff -urNp linux-2.6.32.48/net/ieee802154/raw.c l= inux-2.6.32.48/net/ieee802154/r kfree_skb(skb); return NET_RX_DROP; } -diff -urNp linux-2.6.32.48/net/ipv4/inet_diag.c linux-2.6.32.48/net/ipv4= /inet_diag.c ---- linux-2.6.32.48/net/ipv4/inet_diag.c 2011-11-12 12:44:30.000000000 -= 0500 -+++ linux-2.6.32.48/net/ipv4/inet_diag.c 2011-11-12 12:46:51.000000000 -= 0500 +diff -urNp linux-2.6.32.46/net/ipv4/inet_diag.c linux-2.6.32.46/net/ipv4= /inet_diag.c +--- linux-2.6.32.46/net/ipv4/inet_diag.c 2011-07-13 17:23:04.000000000 -= 0400 ++++ linux-2.6.32.46/net/ipv4/inet_diag.c 2011-06-20 19:31:13.000000000 -= 0400 @@ -113,8 +113,13 @@ static int inet_csk_diag_fill(struct soc r->idiag_retrans =3D 0; =20 @@ -75959,9 +76025,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/inet_diag.c l= inux-2.6.32.48/net/ipv4/inet_di =20 tmo =3D req->expires - jiffies; if (tmo < 0) -diff -urNp linux-2.6.32.48/net/ipv4/inet_hashtables.c linux-2.6.32.48/ne= t/ipv4/inet_hashtables.c ---- linux-2.6.32.48/net/ipv4/inet_hashtables.c 2011-11-12 12:44:30.00000= 0000 -0500 -+++ linux-2.6.32.48/net/ipv4/inet_hashtables.c 2011-11-12 12:46:51.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/net/ipv4/inet_hashtables.c linux-2.6.32.46/ne= t/ipv4/inet_hashtables.c +--- linux-2.6.32.46/net/ipv4/inet_hashtables.c 2011-08-16 20:37:25.00000= 0000 -0400 ++++ linux-2.6.32.46/net/ipv4/inet_hashtables.c 2011-08-16 20:42:30.00000= 0000 -0400 @@ -18,12 +18,15 @@ #include #include @@ -75987,9 +76053,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/inet_hashtabl= es.c linux-2.6.32.48/net/ipv4/i if (tw) { inet_twsk_deschedule(tw, death_row); inet_twsk_put(tw); -diff -urNp linux-2.6.32.48/net/ipv4/inetpeer.c linux-2.6.32.48/net/ipv4/= inetpeer.c ---- linux-2.6.32.48/net/ipv4/inetpeer.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/net/ipv4/inetpeer.c 2011-11-12 12:46:51.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/ipv4/inetpeer.c linux-2.6.32.46/net/ipv4/= inetpeer.c +--- linux-2.6.32.46/net/ipv4/inetpeer.c 2011-08-16 20:37:25.000000000 -0= 400 ++++ linux-2.6.32.46/net/ipv4/inetpeer.c 2011-08-07 19:48:09.000000000 -0= 400 @@ -367,6 +367,8 @@ struct inet_peer *inet_getpeer(__be32 da struct inet_peer *p, *n; struct inet_peer **stack[PEER_MAXDEPTH], ***stackptr; @@ -76008,9 +76074,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/inetpeer.c li= nux-2.6.32.48/net/ipv4/inetpeer n->ip_id_count =3D secure_ip_id(daddr); n->tcp_ts_stamp =3D 0; =20 -diff -urNp linux-2.6.32.48/net/ipv4/ipconfig.c linux-2.6.32.48/net/ipv4/= ipconfig.c ---- linux-2.6.32.48/net/ipv4/ipconfig.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/net/ipv4/ipconfig.c 2011-11-12 12:46:51.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/ipv4/ipconfig.c linux-2.6.32.46/net/ipv4/= ipconfig.c +--- linux-2.6.32.46/net/ipv4/ipconfig.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/net/ipv4/ipconfig.c 2011-10-06 09:37:14.000000000 -0= 400 @@ -295,7 +295,7 @@ static int __init ic_devinet_ioctl(unsig =20 mm_segment_t oldfs =3D get_fs(); @@ -76038,9 +76104,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/ipconfig.c li= nux-2.6.32.48/net/ipv4/ipconfig set_fs(oldfs); return res; } -diff -urNp linux-2.6.32.48/net/ipv4/ip_fragment.c linux-2.6.32.48/net/ip= v4/ip_fragment.c ---- linux-2.6.32.48/net/ipv4/ip_fragment.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/net/ipv4/ip_fragment.c 2011-11-12 12:46:51.000000000= -0500 +diff -urNp linux-2.6.32.46/net/ipv4/ip_fragment.c linux-2.6.32.46/net/ip= v4/ip_fragment.c +--- linux-2.6.32.46/net/ipv4/ip_fragment.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/net/ipv4/ip_fragment.c 2011-04-17 15:56:46.000000000= -0400 @@ -255,7 +255,7 @@ static inline int ip_frag_too_far(struct return 0; =20 @@ -76050,9 +76116,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/ip_fragment.c= linux-2.6.32.48/net/ipv4/ip_fr qp->rid =3D end; =20 rc =3D qp->q.fragments && (end - start) > max; -diff -urNp linux-2.6.32.48/net/ipv4/ip_sockglue.c linux-2.6.32.48/net/ip= v4/ip_sockglue.c ---- linux-2.6.32.48/net/ipv4/ip_sockglue.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/net/ipv4/ip_sockglue.c 2011-11-12 12:46:51.000000000= -0500 +diff -urNp linux-2.6.32.46/net/ipv4/ip_sockglue.c linux-2.6.32.46/net/ip= v4/ip_sockglue.c +--- linux-2.6.32.46/net/ipv4/ip_sockglue.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/net/ipv4/ip_sockglue.c 2011-10-06 09:37:14.000000000= -0400 @@ -1015,6 +1015,8 @@ static int do_ip_getsockopt(struct sock=20 int val; int len; @@ -76071,9 +76137,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/ip_sockglue.c= linux-2.6.32.48/net/ipv4/ip_so msg.msg_controllen =3D len; msg.msg_flags =3D 0; =20 -diff -urNp linux-2.6.32.48/net/ipv4/netfilter/arp_tables.c linux-2.6.32.= 48/net/ipv4/netfilter/arp_tables.c ---- linux-2.6.32.48/net/ipv4/netfilter/arp_tables.c 2011-11-12 12:44:30.= 000000000 -0500 -+++ linux-2.6.32.48/net/ipv4/netfilter/arp_tables.c 2011-11-12 12:46:51.= 000000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv4/netfilter/arp_tables.c linux-2.6.32.= 46/net/ipv4/netfilter/arp_tables.c +--- linux-2.6.32.46/net/ipv4/netfilter/arp_tables.c 2011-04-17 17:00:52.= 000000000 -0400 ++++ linux-2.6.32.46/net/ipv4/netfilter/arp_tables.c 2011-04-17 17:04:18.= 000000000 -0400 @@ -934,6 +934,7 @@ static int get_info(struct net *net, voi private =3D &tmp; } @@ -76082,9 +76148,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/netfilter/arp= _tables.c linux-2.6.32.48/net/i info.valid_hooks =3D t->valid_hooks; memcpy(info.hook_entry, private->hook_entry, sizeof(info.hook_entry)); -diff -urNp linux-2.6.32.48/net/ipv4/netfilter/ip_queue.c linux-2.6.32.48= /net/ipv4/netfilter/ip_queue.c ---- linux-2.6.32.48/net/ipv4/netfilter/ip_queue.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/net/ipv4/netfilter/ip_queue.c 2011-11-12 12:46:51.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv4/netfilter/ip_queue.c linux-2.6.32.46= /net/ipv4/netfilter/ip_queue.c +--- linux-2.6.32.46/net/ipv4/netfilter/ip_queue.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/net/ipv4/netfilter/ip_queue.c 2011-08-21 18:42:53.00= 0000000 -0400 @@ -286,6 +286,9 @@ ipq_mangle_ipv4(ipq_verdict_msg_t *v, st =20 if (v->data_len < sizeof(*user_iph)) @@ -76105,9 +76171,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/netfilter/ip_= queue.c linux-2.6.32.48/net/ipv struct nlmsghdr *nlh; =20 skblen =3D skb->len; -diff -urNp linux-2.6.32.48/net/ipv4/netfilter/ip_tables.c linux-2.6.32.4= 8/net/ipv4/netfilter/ip_tables.c ---- linux-2.6.32.48/net/ipv4/netfilter/ip_tables.c 2011-11-12 12:44:30.0= 00000000 -0500 -+++ linux-2.6.32.48/net/ipv4/netfilter/ip_tables.c 2011-11-12 12:46:51.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv4/netfilter/ip_tables.c linux-2.6.32.4= 6/net/ipv4/netfilter/ip_tables.c +--- linux-2.6.32.46/net/ipv4/netfilter/ip_tables.c 2011-04-17 17:00:52.0= 00000000 -0400 ++++ linux-2.6.32.46/net/ipv4/netfilter/ip_tables.c 2011-04-17 17:04:18.0= 00000000 -0400 @@ -1141,6 +1141,7 @@ static int get_info(struct net *net, voi private =3D &tmp; } @@ -76116,9 +76182,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/netfilter/ip_= tables.c linux-2.6.32.48/net/ip info.valid_hooks =3D t->valid_hooks; memcpy(info.hook_entry, private->hook_entry, sizeof(info.hook_entry)); -diff -urNp linux-2.6.32.48/net/ipv4/netfilter/nf_nat_snmp_basic.c linux-= 2.6.32.48/net/ipv4/netfilter/nf_nat_snmp_basic.c ---- linux-2.6.32.48/net/ipv4/netfilter/nf_nat_snmp_basic.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-11-12 12= :46:51.000000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv4/netfilter/nf_nat_snmp_basic.c linux-= 2.6.32.46/net/ipv4/netfilter/nf_nat_snmp_basic.c +--- linux-2.6.32.46/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-03-27 14= :31:47.000000000 -0400 ++++ linux-2.6.32.46/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-04-17 15= :56:46.000000000 -0400 @@ -397,7 +397,7 @@ static unsigned char asn1_octets_decode( =20 *len =3D 0; @@ -76128,9 +76194,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/netfilter/nf_= nat_snmp_basic.c linux-2.6.32.4 if (*octets =3D=3D NULL) { if (net_ratelimit()) printk("OOM in bsalg (%d)\n", __LINE__); -diff -urNp linux-2.6.32.48/net/ipv4/raw.c linux-2.6.32.48/net/ipv4/raw.c ---- linux-2.6.32.48/net/ipv4/raw.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/ipv4/raw.c 2011-11-12 12:46:51.000000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv4/raw.c linux-2.6.32.46/net/ipv4/raw.c +--- linux-2.6.32.46/net/ipv4/raw.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/ipv4/raw.c 2011-08-14 11:46:51.000000000 -0400 @@ -292,7 +292,7 @@ static int raw_rcv_skb(struct sock * sk, /* Charge it to the socket. */ =20 @@ -76201,9 +76267,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/raw.c linux-2= .6.32.48/net/ipv4/raw.c } =20 static int raw_seq_show(struct seq_file *seq, void *v) -diff -urNp linux-2.6.32.48/net/ipv4/route.c linux-2.6.32.48/net/ipv4/rou= te.c ---- linux-2.6.32.48/net/ipv4/route.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/ipv4/route.c 2011-11-12 12:46:51.000000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv4/route.c linux-2.6.32.46/net/ipv4/rou= te.c +--- linux-2.6.32.46/net/ipv4/route.c 2011-08-16 20:37:25.000000000 -0400 ++++ linux-2.6.32.46/net/ipv4/route.c 2011-08-07 19:48:09.000000000 -0400 @@ -269,7 +269,7 @@ static inline unsigned int rt_hash(__be3 =20 static inline int rt_genid(struct net *net) @@ -76231,9 +76297,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/route.c linux= -2.6.32.48/net/ipv4/route.c (int) ((num_physpages ^ (num_physpages>>8)) ^ (jiffies ^ (jiffies >> 7)))); =20 -diff -urNp linux-2.6.32.48/net/ipv4/tcp.c linux-2.6.32.48/net/ipv4/tcp.c ---- linux-2.6.32.48/net/ipv4/tcp.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/ipv4/tcp.c 2011-11-12 12:46:51.000000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv4/tcp.c linux-2.6.32.46/net/ipv4/tcp.c +--- linux-2.6.32.46/net/ipv4/tcp.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/ipv4/tcp.c 2011-05-16 21:46:57.000000000 -0400 @@ -2085,6 +2085,8 @@ static int do_tcp_setsockopt(struct sock int val; int err =3D 0; @@ -76252,9 +76318,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/tcp.c linux-2= .6.32.48/net/ipv4/tcp.c if (get_user(len, optlen)) return -EFAULT; =20 -diff -urNp linux-2.6.32.48/net/ipv4/tcp_ipv4.c linux-2.6.32.48/net/ipv4/= tcp_ipv4.c ---- linux-2.6.32.48/net/ipv4/tcp_ipv4.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/net/ipv4/tcp_ipv4.c 2011-11-12 12:46:51.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/ipv4/tcp_ipv4.c linux-2.6.32.46/net/ipv4/= tcp_ipv4.c +--- linux-2.6.32.46/net/ipv4/tcp_ipv4.c 2011-08-16 20:37:25.000000000 -0= 400 ++++ linux-2.6.32.46/net/ipv4/tcp_ipv4.c 2011-08-23 21:22:32.000000000 -0= 400 @@ -85,6 +85,9 @@ int sysctl_tcp_tw_reuse __read_mostly; int sysctl_tcp_low_latency __read_mostly; @@ -76350,9 +76416,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/tcp_ipv4.c li= nux-2.6.32.48/net/ipv4/tcp_ipv4 } =20 #define TMPSZ 150 -diff -urNp linux-2.6.32.48/net/ipv4/tcp_minisocks.c linux-2.6.32.48/net/= ipv4/tcp_minisocks.c ---- linux-2.6.32.48/net/ipv4/tcp_minisocks.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/net/ipv4/tcp_minisocks.c 2011-11-12 12:46:51.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/net/ipv4/tcp_minisocks.c linux-2.6.32.46/net/= ipv4/tcp_minisocks.c +--- linux-2.6.32.46/net/ipv4/tcp_minisocks.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/net/ipv4/tcp_minisocks.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -26,6 +26,10 @@ #include #include @@ -76375,9 +76441,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/tcp_minisocks= .c linux-2.6.32.48/net/ipv4/tcp if (!(flg & TCP_FLAG_RST)) req->rsk_ops->send_reset(sk, skb); =20 -diff -urNp linux-2.6.32.48/net/ipv4/tcp_output.c linux-2.6.32.48/net/ipv= 4/tcp_output.c ---- linux-2.6.32.48/net/ipv4/tcp_output.c 2011-11-12 12:44:30.000000000 = -0500 -+++ linux-2.6.32.48/net/ipv4/tcp_output.c 2011-11-12 12:46:51.000000000 = -0500 +diff -urNp linux-2.6.32.46/net/ipv4/tcp_output.c linux-2.6.32.46/net/ipv= 4/tcp_output.c +--- linux-2.6.32.46/net/ipv4/tcp_output.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/net/ipv4/tcp_output.c 2011-05-16 21:46:57.000000000 = -0400 @@ -2234,6 +2234,8 @@ struct sk_buff *tcp_make_synack(struct s __u8 *md5_hash_location; int mss; @@ -76387,9 +76453,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/tcp_output.c = linux-2.6.32.48/net/ipv4/tcp_ou skb =3D sock_wmalloc(sk, MAX_TCP_HEADER + 15, 1, GFP_ATOMIC); if (skb =3D=3D NULL) return NULL; -diff -urNp linux-2.6.32.48/net/ipv4/tcp_probe.c linux-2.6.32.48/net/ipv4= /tcp_probe.c ---- linux-2.6.32.48/net/ipv4/tcp_probe.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/net/ipv4/tcp_probe.c 2011-11-12 12:46:51.000000000 -= 0500 +diff -urNp linux-2.6.32.46/net/ipv4/tcp_probe.c linux-2.6.32.46/net/ipv4= /tcp_probe.c +--- linux-2.6.32.46/net/ipv4/tcp_probe.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/net/ipv4/tcp_probe.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -200,7 +200,7 @@ static ssize_t tcpprobe_read(struct file if (cnt + width >=3D len) break; @@ -76399,9 +76465,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/tcp_probe.c l= inux-2.6.32.48/net/ipv4/tcp_pro return -EFAULT; cnt +=3D width; } -diff -urNp linux-2.6.32.48/net/ipv4/tcp_timer.c linux-2.6.32.48/net/ipv4= /tcp_timer.c ---- linux-2.6.32.48/net/ipv4/tcp_timer.c 2011-11-12 12:44:30.000000000 -= 0500 -+++ linux-2.6.32.48/net/ipv4/tcp_timer.c 2011-11-12 12:46:51.000000000 -= 0500 +diff -urNp linux-2.6.32.46/net/ipv4/tcp_timer.c linux-2.6.32.46/net/ipv4= /tcp_timer.c +--- linux-2.6.32.46/net/ipv4/tcp_timer.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/net/ipv4/tcp_timer.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -21,6 +21,10 @@ #include #include @@ -76427,9 +76493,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/tcp_timer.c l= inux-2.6.32.48/net/ipv4/tcp_tim if (retransmits_timed_out(sk, retry_until)) { /* Has it gone just too far? */ tcp_write_err(sk); -diff -urNp linux-2.6.32.48/net/ipv4/udp.c linux-2.6.32.48/net/ipv4/udp.c ---- linux-2.6.32.48/net/ipv4/udp.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/ipv4/udp.c 2011-11-12 12:46:51.000000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv4/udp.c linux-2.6.32.46/net/ipv4/udp.c +--- linux-2.6.32.46/net/ipv4/udp.c 2011-07-13 17:23:04.000000000 -0400 ++++ linux-2.6.32.46/net/ipv4/udp.c 2011-08-23 21:22:32.000000000 -0400 @@ -86,6 +86,7 @@ #include #include @@ -76524,9 +76590,9 @@ diff -urNp linux-2.6.32.48/net/ipv4/udp.c linux-2= .6.32.48/net/ipv4/udp.c } =20 int udp4_seq_show(struct seq_file *seq, void *v) -diff -urNp linux-2.6.32.48/net/ipv6/addrconf.c linux-2.6.32.48/net/ipv6/= addrconf.c ---- linux-2.6.32.48/net/ipv6/addrconf.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/net/ipv6/addrconf.c 2011-11-12 12:46:51.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/ipv6/addrconf.c linux-2.6.32.46/net/ipv6/= addrconf.c +--- linux-2.6.32.46/net/ipv6/addrconf.c 2011-05-10 22:12:02.000000000 -0= 400 ++++ linux-2.6.32.46/net/ipv6/addrconf.c 2011-10-06 09:37:14.000000000 -0= 400 @@ -2053,7 +2053,7 @@ int addrconf_set_dstaddr(struct net *net p.iph.ihl =3D 5; p.iph.protocol =3D IPPROTO_IPV6; @@ -76536,9 +76602,9 @@ diff -urNp linux-2.6.32.48/net/ipv6/addrconf.c li= nux-2.6.32.48/net/ipv6/addrconf =20 if (ops->ndo_do_ioctl) { mm_segment_t oldfs =3D get_fs(); -diff -urNp linux-2.6.32.48/net/ipv6/inet6_connection_sock.c linux-2.6.32= .48/net/ipv6/inet6_connection_sock.c ---- linux-2.6.32.48/net/ipv6/inet6_connection_sock.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/net/ipv6/inet6_connection_sock.c 2011-11-12 12:46:51= .000000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv6/inet6_connection_sock.c linux-2.6.32= .46/net/ipv6/inet6_connection_sock.c +--- linux-2.6.32.46/net/ipv6/inet6_connection_sock.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/net/ipv6/inet6_connection_sock.c 2011-05-04 17:56:28= .000000000 -0400 @@ -152,7 +152,7 @@ void __inet6_csk_dst_store(struct sock * #ifdef CONFIG_XFRM { @@ -76557,9 +76623,9 @@ diff -urNp linux-2.6.32.48/net/ipv6/inet6_connect= ion_sock.c linux-2.6.32.48/net/ sk->sk_dst_cache =3D NULL; dst_release(dst); dst =3D NULL; -diff -urNp linux-2.6.32.48/net/ipv6/inet6_hashtables.c linux-2.6.32.48/n= et/ipv6/inet6_hashtables.c ---- linux-2.6.32.48/net/ipv6/inet6_hashtables.c 2011-11-12 12:44:30.0000= 00000 -0500 -+++ linux-2.6.32.48/net/ipv6/inet6_hashtables.c 2011-11-12 12:46:51.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/net/ipv6/inet6_hashtables.c linux-2.6.32.46/n= et/ipv6/inet6_hashtables.c +--- linux-2.6.32.46/net/ipv6/inet6_hashtables.c 2011-08-16 20:37:25.0000= 00000 -0400 ++++ linux-2.6.32.46/net/ipv6/inet6_hashtables.c 2011-08-07 19:48:09.0000= 00000 -0400 @@ -119,7 +119,7 @@ out: } EXPORT_SYMBOL(__inet6_lookup_established); @@ -76569,9 +76635,30 @@ diff -urNp linux-2.6.32.48/net/ipv6/inet6_hashta= bles.c linux-2.6.32.48/net/ipv6/ const unsigned short hnum, const struct in6_addr *daddr, const int dif) -diff -urNp linux-2.6.32.48/net/ipv6/ipv6_sockglue.c linux-2.6.32.48/net/= ipv6/ipv6_sockglue.c ---- linux-2.6.32.48/net/ipv6/ipv6_sockglue.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/net/ipv6/ipv6_sockglue.c 2011-11-12 12:46:53.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/net/ipv6/ip6_tunnel.c linux-2.6.32.46/net/ipv= 6/ip6_tunnel.c +--- linux-2.6.32.46/net/ipv6/ip6_tunnel.c 2011-08-09 18:35:30.000000000 = -0400 ++++ linux-2.6.32.46/net/ipv6/ip6_tunnel.c 2011-08-24 18:52:25.000000000 = -0400 +@@ -1466,7 +1466,7 @@ static int __init ip6_tunnel_init(void) + { + int err; +=20 +- err =3D register_pernet_device(&ip6_tnl_net_ops); ++ err =3D register_pernet_gen_device(&ip6_tnl_net_id, &ip6_tnl_net_ops); + if (err < 0) + goto out_pernet; +=20 +@@ -1487,7 +1487,7 @@ static int __init ip6_tunnel_init(void) + out_ip6ip6: + xfrm6_tunnel_deregister(&ip4ip6_handler, AF_INET); + out_ip4ip6: +- unregister_pernet_device(&ip6_tnl_net_ops); ++ unregister_pernet_gen_device(ip6_tnl_net_id, &ip6_tnl_net_ops); + out_pernet: + return err; + } +diff -urNp linux-2.6.32.46/net/ipv6/ipv6_sockglue.c linux-2.6.32.46/net/= ipv6/ipv6_sockglue.c +--- linux-2.6.32.46/net/ipv6/ipv6_sockglue.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/net/ipv6/ipv6_sockglue.c 2011-10-06 09:37:16.0000000= 00 -0400 @@ -130,6 +130,8 @@ static int do_ipv6_setsockopt(struct soc int val, valbool; int retv =3D -ENOPROTOOPT; @@ -76599,9 +76686,9 @@ diff -urNp linux-2.6.32.48/net/ipv6/ipv6_sockglue= .c linux-2.6.32.48/net/ipv6/ipv msg.msg_controllen =3D len; msg.msg_flags =3D 0; =20 -diff -urNp linux-2.6.32.48/net/ipv6/netfilter/ip6_queue.c linux-2.6.32.4= 8/net/ipv6/netfilter/ip6_queue.c ---- linux-2.6.32.48/net/ipv6/netfilter/ip6_queue.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/net/ipv6/netfilter/ip6_queue.c 2011-11-12 12:46:53.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv6/netfilter/ip6_queue.c linux-2.6.32.4= 6/net/ipv6/netfilter/ip6_queue.c +--- linux-2.6.32.46/net/ipv6/netfilter/ip6_queue.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/net/ipv6/netfilter/ip6_queue.c 2011-08-21 18:43:32.0= 00000000 -0400 @@ -287,6 +287,9 @@ ipq_mangle_ipv6(ipq_verdict_msg_t *v, st =20 if (v->data_len < sizeof(*user_iph)) @@ -76622,9 +76709,9 @@ diff -urNp linux-2.6.32.48/net/ipv6/netfilter/ip6= _queue.c linux-2.6.32.48/net/ip struct nlmsghdr *nlh; =20 skblen =3D skb->len; -diff -urNp linux-2.6.32.48/net/ipv6/netfilter/ip6_tables.c linux-2.6.32.= 48/net/ipv6/netfilter/ip6_tables.c ---- linux-2.6.32.48/net/ipv6/netfilter/ip6_tables.c 2011-11-12 12:44:30.= 000000000 -0500 -+++ linux-2.6.32.48/net/ipv6/netfilter/ip6_tables.c 2011-11-12 12:46:53.= 000000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv6/netfilter/ip6_tables.c linux-2.6.32.= 46/net/ipv6/netfilter/ip6_tables.c +--- linux-2.6.32.46/net/ipv6/netfilter/ip6_tables.c 2011-04-17 17:00:52.= 000000000 -0400 ++++ linux-2.6.32.46/net/ipv6/netfilter/ip6_tables.c 2011-04-17 17:04:18.= 000000000 -0400 @@ -1173,6 +1173,7 @@ static int get_info(struct net *net, voi private =3D &tmp; } @@ -76633,9 +76720,9 @@ diff -urNp linux-2.6.32.48/net/ipv6/netfilter/ip6= _tables.c linux-2.6.32.48/net/i info.valid_hooks =3D t->valid_hooks; memcpy(info.hook_entry, private->hook_entry, sizeof(info.hook_entry)); -diff -urNp linux-2.6.32.48/net/ipv6/raw.c linux-2.6.32.48/net/ipv6/raw.c ---- linux-2.6.32.48/net/ipv6/raw.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/ipv6/raw.c 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv6/raw.c linux-2.6.32.46/net/ipv6/raw.c +--- linux-2.6.32.46/net/ipv6/raw.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/ipv6/raw.c 2011-08-14 11:48:20.000000000 -0400 @@ -375,14 +375,14 @@ static inline int rawv6_rcv_skb(struct s { if ((raw6_sk(sk)->checksum || sk->sk_filter) && @@ -76750,9 +76837,9 @@ diff -urNp linux-2.6.32.48/net/ipv6/raw.c linux-2= .6.32.48/net/ipv6/raw.c } =20 static int raw6_seq_show(struct seq_file *seq, void *v) -diff -urNp linux-2.6.32.48/net/ipv6/tcp_ipv6.c linux-2.6.32.48/net/ipv6/= tcp_ipv6.c ---- linux-2.6.32.48/net/ipv6/tcp_ipv6.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/net/ipv6/tcp_ipv6.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/ipv6/tcp_ipv6.c linux-2.6.32.46/net/ipv6/= tcp_ipv6.c +--- linux-2.6.32.46/net/ipv6/tcp_ipv6.c 2011-08-16 20:37:25.000000000 -0= 400 ++++ linux-2.6.32.46/net/ipv6/tcp_ipv6.c 2011-08-07 19:48:09.000000000 -0= 400 @@ -89,6 +89,10 @@ static struct tcp_md5sig_key *tcp_v6_md5 } #endif @@ -76852,9 +76939,9 @@ diff -urNp linux-2.6.32.48/net/ipv6/tcp_ipv6.c li= nux-2.6.32.48/net/ipv6/tcp_ipv6 } =20 static int tcp6_seq_show(struct seq_file *seq, void *v) -diff -urNp linux-2.6.32.48/net/ipv6/udp.c linux-2.6.32.48/net/ipv6/udp.c ---- linux-2.6.32.48/net/ipv6/udp.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/ipv6/udp.c 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/ipv6/udp.c linux-2.6.32.46/net/ipv6/udp.c +--- linux-2.6.32.46/net/ipv6/udp.c 2011-07-13 17:23:04.000000000 -0400 ++++ linux-2.6.32.46/net/ipv6/udp.c 2011-07-13 17:23:27.000000000 -0400 @@ -49,6 +49,10 @@ #include #include "udp_impl.h" @@ -76901,9 +76988,9 @@ diff -urNp linux-2.6.32.48/net/ipv6/udp.c linux-2= .6.32.48/net/ipv6/udp.c } =20 int udp6_seq_show(struct seq_file *seq, void *v) -diff -urNp linux-2.6.32.48/net/irda/ircomm/ircomm_tty.c linux-2.6.32.48/= net/irda/ircomm/ircomm_tty.c ---- linux-2.6.32.48/net/irda/ircomm/ircomm_tty.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/net/irda/ircomm/ircomm_tty.c 2011-11-12 12:46:53.000= 000000 -0500 +diff -urNp linux-2.6.32.46/net/irda/ircomm/ircomm_tty.c linux-2.6.32.46/= net/irda/ircomm/ircomm_tty.c +--- linux-2.6.32.46/net/irda/ircomm/ircomm_tty.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/net/irda/ircomm/ircomm_tty.c 2011-04-17 15:56:46.000= 000000 -0400 @@ -280,16 +280,16 @@ static int ircomm_tty_block_til_ready(st add_wait_queue(&self->open_wait, &wait); =20 @@ -77026,9 +77113,9 @@ diff -urNp linux-2.6.32.48/net/irda/ircomm/ircomm= _tty.c linux-2.6.32.48/net/irda seq_printf(m, "Max data size: %d\n", self->max_data_size); seq_printf(m, "Max header size: %d\n", self->max_header_size); =20 -diff -urNp linux-2.6.32.48/net/iucv/af_iucv.c linux-2.6.32.48/net/iucv/a= f_iucv.c ---- linux-2.6.32.48/net/iucv/af_iucv.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/net/iucv/af_iucv.c 2011-11-12 12:46:53.000000000 -05= 00 +diff -urNp linux-2.6.32.46/net/iucv/af_iucv.c linux-2.6.32.46/net/iucv/a= f_iucv.c +--- linux-2.6.32.46/net/iucv/af_iucv.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/net/iucv/af_iucv.c 2011-05-04 17:56:28.000000000 -04= 00 @@ -651,10 +651,10 @@ static int iucv_sock_autobind(struct soc =20 write_lock_bh(&iucv_sk_list.lock); @@ -77042,9 +77129,9 @@ diff -urNp linux-2.6.32.48/net/iucv/af_iucv.c lin= ux-2.6.32.48/net/iucv/af_iucv.c } =20 write_unlock_bh(&iucv_sk_list.lock); -diff -urNp linux-2.6.32.48/net/key/af_key.c linux-2.6.32.48/net/key/af_k= ey.c ---- linux-2.6.32.48/net/key/af_key.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/key/af_key.c 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/key/af_key.c linux-2.6.32.46/net/key/af_k= ey.c +--- linux-2.6.32.46/net/key/af_key.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/key/af_key.c 2011-05-16 21:46:57.000000000 -0400 @@ -2489,6 +2489,8 @@ static int pfkey_migrate(struct sock *sk struct xfrm_migrate m[XFRM_MAX_DEPTH]; struct xfrm_kmaddress k; @@ -77066,9 +77153,9 @@ diff -urNp linux-2.6.32.48/net/key/af_key.c linux= -2.6.32.48/net/key/af_key.c atomic_read(&s->sk_refcnt), sk_rmem_alloc_get(s), sk_wmem_alloc_get(s), -diff -urNp linux-2.6.32.48/net/lapb/lapb_iface.c linux-2.6.32.48/net/lap= b/lapb_iface.c ---- linux-2.6.32.48/net/lapb/lapb_iface.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/net/lapb/lapb_iface.c 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/net/lapb/lapb_iface.c linux-2.6.32.46/net/lap= b/lapb_iface.c +--- linux-2.6.32.46/net/lapb/lapb_iface.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/net/lapb/lapb_iface.c 2011-08-05 20:33:55.000000000 = -0400 @@ -157,7 +157,7 @@ int lapb_register(struct net_device *dev goto out; =20 @@ -77132,9 +77219,9 @@ diff -urNp linux-2.6.32.48/net/lapb/lapb_iface.c = linux-2.6.32.48/net/lapb/lapb_i used =3D 1; } =20 -diff -urNp linux-2.6.32.48/net/mac80211/cfg.c linux-2.6.32.48/net/mac802= 11/cfg.c ---- linux-2.6.32.48/net/mac80211/cfg.c 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/net/mac80211/cfg.c 2011-11-12 12:46:53.000000000 -05= 00 +diff -urNp linux-2.6.32.46/net/mac80211/cfg.c linux-2.6.32.46/net/mac802= 11/cfg.c +--- linux-2.6.32.46/net/mac80211/cfg.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/net/mac80211/cfg.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -1369,7 +1369,7 @@ static int ieee80211_set_bitrate_mask(st return err; } @@ -77144,9 +77231,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/cfg.c lin= ux-2.6.32.48/net/mac80211/cfg.c .add_virtual_intf =3D ieee80211_add_iface, .del_virtual_intf =3D ieee80211_del_iface, .change_virtual_intf =3D ieee80211_change_iface, -diff -urNp linux-2.6.32.48/net/mac80211/cfg.h linux-2.6.32.48/net/mac802= 11/cfg.h ---- linux-2.6.32.48/net/mac80211/cfg.h 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/net/mac80211/cfg.h 2011-11-12 12:46:53.000000000 -05= 00 +diff -urNp linux-2.6.32.46/net/mac80211/cfg.h linux-2.6.32.46/net/mac802= 11/cfg.h +--- linux-2.6.32.46/net/mac80211/cfg.h 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/net/mac80211/cfg.h 2011-04-17 15:56:46.000000000 -04= 00 @@ -4,6 +4,6 @@ #ifndef __CFG_H #define __CFG_H @@ -77155,9 +77242,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/cfg.h lin= ux-2.6.32.48/net/mac80211/cfg.h +extern const struct cfg80211_ops mac80211_config_ops; =20 #endif /* __CFG_H */ -diff -urNp linux-2.6.32.48/net/mac80211/debugfs_key.c linux-2.6.32.48/ne= t/mac80211/debugfs_key.c ---- linux-2.6.32.48/net/mac80211/debugfs_key.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/net/mac80211/debugfs_key.c 2011-11-12 12:46:53.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/net/mac80211/debugfs_key.c linux-2.6.32.46/ne= t/mac80211/debugfs_key.c +--- linux-2.6.32.46/net/mac80211/debugfs_key.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/net/mac80211/debugfs_key.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -211,9 +211,13 @@ static ssize_t key_key_read(struct file=20 size_t count, loff_t *ppos) { @@ -77173,9 +77260,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/debugfs_k= ey.c linux-2.6.32.48/net/mac802 =20 for (i =3D 0; i < key->conf.keylen; i++) p +=3D scnprintf(p, bufsize + buf - p, "%02x", key->conf.key[i]); -diff -urNp linux-2.6.32.48/net/mac80211/debugfs_sta.c linux-2.6.32.48/ne= t/mac80211/debugfs_sta.c ---- linux-2.6.32.48/net/mac80211/debugfs_sta.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/net/mac80211/debugfs_sta.c 2011-11-12 12:46:53.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/net/mac80211/debugfs_sta.c linux-2.6.32.46/ne= t/mac80211/debugfs_sta.c +--- linux-2.6.32.46/net/mac80211/debugfs_sta.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/net/mac80211/debugfs_sta.c 2011-05-16 21:46:57.00000= 0000 -0400 @@ -124,6 +124,8 @@ static ssize_t sta_agg_status_read(struc int i; struct sta_info *sta =3D file->private_data; @@ -77185,9 +77272,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/debugfs_s= ta.c linux-2.6.32.48/net/mac802 spin_lock_bh(&sta->lock); p +=3D scnprintf(p, sizeof(buf)+buf-p, "next dialog_token is %#02x\n", sta->ampdu_mlme.dialog_token_allocator + 1); -diff -urNp linux-2.6.32.48/net/mac80211/ieee80211_i.h linux-2.6.32.48/ne= t/mac80211/ieee80211_i.h ---- linux-2.6.32.48/net/mac80211/ieee80211_i.h 2011-11-12 12:44:30.00000= 0000 -0500 -+++ linux-2.6.32.48/net/mac80211/ieee80211_i.h 2011-11-12 12:46:53.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/net/mac80211/ieee80211_i.h linux-2.6.32.46/ne= t/mac80211/ieee80211_i.h +--- linux-2.6.32.46/net/mac80211/ieee80211_i.h 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/net/mac80211/ieee80211_i.h 2011-04-17 15:56:46.00000= 0000 -0400 @@ -25,6 +25,7 @@ #include #include @@ -77205,9 +77292,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/ieee80211= _i.h linux-2.6.32.48/net/mac802 int monitors, cooked_mntrs; /* number of interfaces with corresponding FIF_ flags */ int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll; -diff -urNp linux-2.6.32.48/net/mac80211/iface.c linux-2.6.32.48/net/mac8= 0211/iface.c ---- linux-2.6.32.48/net/mac80211/iface.c 2011-11-12 12:44:30.000000000 -= 0500 -+++ linux-2.6.32.48/net/mac80211/iface.c 2011-11-12 12:46:53.000000000 -= 0500 +diff -urNp linux-2.6.32.46/net/mac80211/iface.c linux-2.6.32.46/net/mac8= 0211/iface.c +--- linux-2.6.32.46/net/mac80211/iface.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/net/mac80211/iface.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -166,7 +166,7 @@ static int ieee80211_open(struct net_dev break; } @@ -77262,9 +77349,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/iface.c l= inux-2.6.32.48/net/mac80211/ifa ieee80211_clear_tx_pending(local); ieee80211_stop_device(local); =20 -diff -urNp linux-2.6.32.48/net/mac80211/main.c linux-2.6.32.48/net/mac80= 211/main.c ---- linux-2.6.32.48/net/mac80211/main.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/net/mac80211/main.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/mac80211/main.c linux-2.6.32.46/net/mac80= 211/main.c +--- linux-2.6.32.46/net/mac80211/main.c 2011-05-10 22:12:02.000000000 -0= 400 ++++ linux-2.6.32.46/net/mac80211/main.c 2011-05-10 22:12:34.000000000 -0= 400 @@ -145,7 +145,7 @@ int ieee80211_hw_config(struct ieee80211 local->hw.conf.power_level =3D power; } @@ -77274,9 +77361,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/main.c li= nux-2.6.32.48/net/mac80211/main ret =3D drv_config(local, changed); /* * Goal: -diff -urNp linux-2.6.32.48/net/mac80211/mlme.c linux-2.6.32.48/net/mac80= 211/mlme.c ---- linux-2.6.32.48/net/mac80211/mlme.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/net/mac80211/mlme.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/mac80211/mlme.c linux-2.6.32.46/net/mac80= 211/mlme.c +--- linux-2.6.32.46/net/mac80211/mlme.c 2011-08-09 18:35:30.000000000 -0= 400 ++++ linux-2.6.32.46/net/mac80211/mlme.c 2011-08-09 18:34:01.000000000 -0= 400 @@ -1438,6 +1438,8 @@ ieee80211_rx_mgmt_assoc_resp(struct ieee bool have_higher_than_11mbit =3D false, newsta =3D false; u16 ap_ht_cap_flags; @@ -77286,9 +77373,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/mlme.c li= nux-2.6.32.48/net/mac80211/mlme /* * AssocResp and ReassocResp have identical structure, so process both * of them in this function. -diff -urNp linux-2.6.32.48/net/mac80211/pm.c linux-2.6.32.48/net/mac8021= 1/pm.c ---- linux-2.6.32.48/net/mac80211/pm.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/net/mac80211/pm.c 2011-11-12 12:46:53.000000000 -050= 0 +diff -urNp linux-2.6.32.46/net/mac80211/pm.c linux-2.6.32.46/net/mac8021= 1/pm.c +--- linux-2.6.32.46/net/mac80211/pm.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/net/mac80211/pm.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -107,7 +107,7 @@ int __ieee80211_suspend(struct ieee80211 } =20 @@ -77298,9 +77385,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/pm.c linu= x-2.6.32.48/net/mac80211/pm.c ieee80211_stop_device(local); =20 local->suspended =3D true; -diff -urNp linux-2.6.32.48/net/mac80211/rate.c linux-2.6.32.48/net/mac80= 211/rate.c ---- linux-2.6.32.48/net/mac80211/rate.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/net/mac80211/rate.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/mac80211/rate.c linux-2.6.32.46/net/mac80= 211/rate.c +--- linux-2.6.32.46/net/mac80211/rate.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/net/mac80211/rate.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -287,7 +287,7 @@ int ieee80211_init_rate_ctrl_alg(struct=20 struct rate_control_ref *ref, *old; =20 @@ -77310,9 +77397,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/rate.c li= nux-2.6.32.48/net/mac80211/rate return -EBUSY; =20 ref =3D rate_control_alloc(name, local); -diff -urNp linux-2.6.32.48/net/mac80211/tx.c linux-2.6.32.48/net/mac8021= 1/tx.c ---- linux-2.6.32.48/net/mac80211/tx.c 2011-11-12 12:44:30.000000000 -050= 0 -+++ linux-2.6.32.48/net/mac80211/tx.c 2011-11-12 12:46:53.000000000 -050= 0 +diff -urNp linux-2.6.32.46/net/mac80211/tx.c linux-2.6.32.46/net/mac8021= 1/tx.c +--- linux-2.6.32.46/net/mac80211/tx.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/net/mac80211/tx.c 2011-04-17 15:56:46.000000000 -040= 0 @@ -173,7 +173,7 @@ static __le16 ieee80211_duration(struct=20 return cpu_to_le16(dur); } @@ -77322,9 +77409,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/tx.c linu= x-2.6.32.48/net/mac80211/tx.c struct net_device *dev) { return local =3D=3D wdev_priv(dev->ieee80211_ptr); -diff -urNp linux-2.6.32.48/net/mac80211/util.c linux-2.6.32.48/net/mac80= 211/util.c ---- linux-2.6.32.48/net/mac80211/util.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/net/mac80211/util.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/mac80211/util.c linux-2.6.32.46/net/mac80= 211/util.c +--- linux-2.6.32.46/net/mac80211/util.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/net/mac80211/util.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -1042,7 +1042,7 @@ int ieee80211_reconfig(struct ieee80211_ local->resuming =3D true; =20 @@ -77334,9 +77421,9 @@ diff -urNp linux-2.6.32.48/net/mac80211/util.c li= nux-2.6.32.48/net/mac80211/util /* * Upon resume hardware can sometimes be goofy due to * various platform / driver / bus issues, so restarting -diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_vs_app.c linux-2.6.32.4= 8/net/netfilter/ipvs/ip_vs_app.c ---- linux-2.6.32.48/net/netfilter/ipvs/ip_vs_app.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/net/netfilter/ipvs/ip_vs_app.c 2011-11-12 12:46:53.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/net/netfilter/ipvs/ip_vs_app.c linux-2.6.32.4= 6/net/netfilter/ipvs/ip_vs_app.c +--- linux-2.6.32.46/net/netfilter/ipvs/ip_vs_app.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/net/netfilter/ipvs/ip_vs_app.c 2011-05-17 19:26:34.0= 00000000 -0400 @@ -564,7 +564,7 @@ static const struct file_operations ip_v .open =3D ip_vs_app_open, .read =3D seq_read, @@ -77346,9 +77433,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_= vs_app.c linux-2.6.32.48/net/ne }; #endif =20 -diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_vs_conn.c linux-2.6.32.= 48/net/netfilter/ipvs/ip_vs_conn.c ---- linux-2.6.32.48/net/netfilter/ipvs/ip_vs_conn.c 2011-11-12 12:44:30.= 000000000 -0500 -+++ linux-2.6.32.48/net/netfilter/ipvs/ip_vs_conn.c 2011-11-12 12:46:53.= 000000000 -0500 +diff -urNp linux-2.6.32.46/net/netfilter/ipvs/ip_vs_conn.c linux-2.6.32.= 46/net/netfilter/ipvs/ip_vs_conn.c +--- linux-2.6.32.46/net/netfilter/ipvs/ip_vs_conn.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/net/netfilter/ipvs/ip_vs_conn.c 2011-05-17 19:26:34.= 000000000 -0400 @@ -453,10 +453,10 @@ ip_vs_bind_dest(struct ip_vs_conn *cp, s /* if the connection is not template and is created * by sync, preserve the activity flag. @@ -77398,9 +77485,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_= vs_conn.c linux-2.6.32.48/net/n if (i > 8 || i < 0) return 0; =20 if (!todrop_rate[i]) return 0; -diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_vs_core.c linux-2.6.32.= 48/net/netfilter/ipvs/ip_vs_core.c ---- linux-2.6.32.48/net/netfilter/ipvs/ip_vs_core.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/net/netfilter/ipvs/ip_vs_core.c 2011-11-12 12:46:53.= 000000000 -0500 +diff -urNp linux-2.6.32.46/net/netfilter/ipvs/ip_vs_core.c linux-2.6.32.= 46/net/netfilter/ipvs/ip_vs_core.c +--- linux-2.6.32.46/net/netfilter/ipvs/ip_vs_core.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/net/netfilter/ipvs/ip_vs_core.c 2011-05-04 17:56:28.= 000000000 -0400 @@ -485,7 +485,7 @@ int ip_vs_leave(struct ip_vs_service *sv ret =3D cp->packet_xmit(skb, cp, pp); /* do not touch skb anymore */ @@ -77419,9 +77506,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_= vs_core.c linux-2.6.32.48/net/n if (af =3D=3D AF_INET && (ip_vs_sync_state & IP_VS_STATE_MASTER) && (((cp->protocol !=3D IPPROTO_TCP || -diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_vs_ctl.c linux-2.6.32.4= 8/net/netfilter/ipvs/ip_vs_ctl.c ---- linux-2.6.32.48/net/netfilter/ipvs/ip_vs_ctl.c 2011-11-12 12:44:30.0= 00000000 -0500 -+++ linux-2.6.32.48/net/netfilter/ipvs/ip_vs_ctl.c 2011-11-12 12:46:53.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/net/netfilter/ipvs/ip_vs_ctl.c linux-2.6.32.4= 6/net/netfilter/ipvs/ip_vs_ctl.c +--- linux-2.6.32.46/net/netfilter/ipvs/ip_vs_ctl.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/net/netfilter/ipvs/ip_vs_ctl.c 2011-05-17 19:26:34.0= 00000000 -0400 @@ -792,7 +792,7 @@ __ip_vs_update_dest(struct ip_vs_service ip_vs_rs_hash(dest); write_unlock_bh(&__ip_vs_rs_lock); @@ -77494,9 +77581,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_= vs_ctl.c linux-2.6.32.48/net/ne NLA_PUT_U32(skb, IPVS_DEST_ATTR_WEIGHT, atomic_read(&dest->weight)); NLA_PUT_U32(skb, IPVS_DEST_ATTR_U_THRESH, dest->u_threshold); NLA_PUT_U32(skb, IPVS_DEST_ATTR_L_THRESH, dest->l_threshold); -diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_vs_sync.c linux-2.6.32.= 48/net/netfilter/ipvs/ip_vs_sync.c ---- linux-2.6.32.48/net/netfilter/ipvs/ip_vs_sync.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/net/netfilter/ipvs/ip_vs_sync.c 2011-11-12 12:46:53.= 000000000 -0500 +diff -urNp linux-2.6.32.46/net/netfilter/ipvs/ip_vs_sync.c linux-2.6.32.= 46/net/netfilter/ipvs/ip_vs_sync.c +--- linux-2.6.32.46/net/netfilter/ipvs/ip_vs_sync.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/net/netfilter/ipvs/ip_vs_sync.c 2011-05-04 17:56:28.= 000000000 -0400 @@ -438,7 +438,7 @@ static void ip_vs_process_message(const=20 =20 if (opt) @@ -77506,9 +77593,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_= vs_sync.c linux-2.6.32.48/net/n cp->state =3D state; cp->old_state =3D cp->state; /* -diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_vs_xmit.c linux-2.6.32.= 48/net/netfilter/ipvs/ip_vs_xmit.c ---- linux-2.6.32.48/net/netfilter/ipvs/ip_vs_xmit.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/net/netfilter/ipvs/ip_vs_xmit.c 2011-11-12 12:46:53.= 000000000 -0500 +diff -urNp linux-2.6.32.46/net/netfilter/ipvs/ip_vs_xmit.c linux-2.6.32.= 46/net/netfilter/ipvs/ip_vs_xmit.c +--- linux-2.6.32.46/net/netfilter/ipvs/ip_vs_xmit.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/net/netfilter/ipvs/ip_vs_xmit.c 2011-05-04 17:56:28.= 000000000 -0400 @@ -875,7 +875,7 @@ ip_vs_icmp_xmit(struct sk_buff *skb, str else rc =3D NF_ACCEPT; @@ -77527,9 +77614,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/ipvs/ip_= vs_xmit.c linux-2.6.32.48/net/n goto out; } =20 -diff -urNp linux-2.6.32.48/net/netfilter/Kconfig linux-2.6.32.48/net/net= filter/Kconfig ---- linux-2.6.32.48/net/netfilter/Kconfig 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/net/netfilter/Kconfig 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/net/netfilter/Kconfig linux-2.6.32.46/net/net= filter/Kconfig +--- linux-2.6.32.46/net/netfilter/Kconfig 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/net/netfilter/Kconfig 2011-04-17 15:56:46.000000000 = -0400 @@ -635,6 +635,16 @@ config NETFILTER_XT_MATCH_ESP =20 To compile it as a module, choose M here. If unsure, say N. @@ -77547,9 +77634,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/Kconfig = linux-2.6.32.48/net/netfilter/K config NETFILTER_XT_MATCH_HASHLIMIT tristate '"hashlimit" match support' depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=3Dn) -diff -urNp linux-2.6.32.48/net/netfilter/Makefile linux-2.6.32.48/net/ne= tfilter/Makefile ---- linux-2.6.32.48/net/netfilter/Makefile 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/net/netfilter/Makefile 2011-11-12 12:46:53.000000000= -0500 +diff -urNp linux-2.6.32.46/net/netfilter/Makefile linux-2.6.32.46/net/ne= tfilter/Makefile +--- linux-2.6.32.46/net/netfilter/Makefile 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/net/netfilter/Makefile 2011-04-17 15:56:46.000000000= -0400 @@ -68,6 +68,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_CONNTRAC obj-$(CONFIG_NETFILTER_XT_MATCH_DCCP) +=3D xt_dccp.o obj-$(CONFIG_NETFILTER_XT_MATCH_DSCP) +=3D xt_dscp.o @@ -77558,9 +77645,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/Makefile= linux-2.6.32.48/net/netfilter/ obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) +=3D xt_hashlimit.o obj-$(CONFIG_NETFILTER_XT_MATCH_HELPER) +=3D xt_helper.o obj-$(CONFIG_NETFILTER_XT_MATCH_HL) +=3D xt_hl.o -diff -urNp linux-2.6.32.48/net/netfilter/nf_conntrack_netlink.c linux-2.= 6.32.48/net/netfilter/nf_conntrack_netlink.c ---- linux-2.6.32.48/net/netfilter/nf_conntrack_netlink.c 2011-11-12 12:4= 4:30.000000000 -0500 -+++ linux-2.6.32.48/net/netfilter/nf_conntrack_netlink.c 2011-11-12 12:4= 6:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/netfilter/nf_conntrack_netlink.c linux-2.= 6.32.46/net/netfilter/nf_conntrack_netlink.c +--- linux-2.6.32.46/net/netfilter/nf_conntrack_netlink.c 2011-03-27 14:3= 1:47.000000000 -0400 ++++ linux-2.6.32.46/net/netfilter/nf_conntrack_netlink.c 2011-04-17 15:5= 6:46.000000000 -0400 @@ -706,7 +706,7 @@ ctnetlink_parse_tuple_proto(struct nlatt static int ctnetlink_parse_tuple(const struct nlattr * const cda[], @@ -77570,9 +77657,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/nf_connt= rack_netlink.c linux-2.6.32.48/ { struct nlattr *tb[CTA_TUPLE_MAX+1]; int err; -diff -urNp linux-2.6.32.48/net/netfilter/nfnetlink_log.c linux-2.6.32.48= /net/netfilter/nfnetlink_log.c ---- linux-2.6.32.48/net/netfilter/nfnetlink_log.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/net/netfilter/nfnetlink_log.c 2011-11-12 12:46:53.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/net/netfilter/nfnetlink_log.c linux-2.6.32.46= /net/netfilter/nfnetlink_log.c +--- linux-2.6.32.46/net/netfilter/nfnetlink_log.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/net/netfilter/nfnetlink_log.c 2011-05-04 17:56:28.00= 0000000 -0400 @@ -68,7 +68,7 @@ struct nfulnl_instance { }; =20 @@ -77591,9 +77678,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/nfnetlin= k_log.c linux-2.6.32.48/net/net =20 if (data_len) { struct nlattr *nla; -diff -urNp linux-2.6.32.48/net/netfilter/xt_gradm.c linux-2.6.32.48/net/= netfilter/xt_gradm.c ---- linux-2.6.32.48/net/netfilter/xt_gradm.c 1969-12-31 19:00:00.0000000= 00 -0500 -+++ linux-2.6.32.48/net/netfilter/xt_gradm.c 2011-11-12 12:46:53.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/net/netfilter/xt_gradm.c linux-2.6.32.46/net/= netfilter/xt_gradm.c +--- linux-2.6.32.46/net/netfilter/xt_gradm.c 1969-12-31 19:00:00.0000000= 00 -0500 ++++ linux-2.6.32.46/net/netfilter/xt_gradm.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -0,0 +1,51 @@ +/* + * gradm match for netfilter @@ -77646,9 +77733,9 @@ diff -urNp linux-2.6.32.48/net/netfilter/xt_gradm= .c linux-2.6.32.48/net/netfilte +MODULE_LICENSE("GPL"); +MODULE_ALIAS("ipt_gradm"); +MODULE_ALIAS("ip6t_gradm"); -diff -urNp linux-2.6.32.48/net/netlink/af_netlink.c linux-2.6.32.48/net/= netlink/af_netlink.c ---- linux-2.6.32.48/net/netlink/af_netlink.c 2011-11-12 12:44:30.0000000= 00 -0500 -+++ linux-2.6.32.48/net/netlink/af_netlink.c 2011-11-12 12:46:53.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/net/netlink/af_netlink.c linux-2.6.32.46/net/= netlink/af_netlink.c +--- linux-2.6.32.46/net/netlink/af_netlink.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/net/netlink/af_netlink.c 2011-05-04 17:56:28.0000000= 00 -0400 @@ -733,7 +733,7 @@ static void netlink_overrun(struct sock=20 sk->sk_error_report(sk); } @@ -77683,9 +77770,9 @@ diff -urNp linux-2.6.32.48/net/netlink/af_netlink= .c linux-2.6.32.48/net/netlink/ ); =20 } -diff -urNp linux-2.6.32.48/net/netrom/af_netrom.c linux-2.6.32.48/net/ne= trom/af_netrom.c ---- linux-2.6.32.48/net/netrom/af_netrom.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/net/netrom/af_netrom.c 2011-11-12 12:46:53.000000000= -0500 +diff -urNp linux-2.6.32.46/net/netrom/af_netrom.c linux-2.6.32.46/net/ne= trom/af_netrom.c +--- linux-2.6.32.46/net/netrom/af_netrom.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/net/netrom/af_netrom.c 2011-04-17 15:56:46.000000000= -0400 @@ -838,6 +838,7 @@ static int nr_getname(struct socket *soc struct sock *sk =3D sock->sk; struct nr_sock *nr =3D nr_sk(sk); @@ -77702,9 +77789,9 @@ diff -urNp linux-2.6.32.48/net/netrom/af_netrom.c= linux-2.6.32.48/net/netrom/af_ sax->fsa_ax25.sax25_call =3D nr->source_addr; *uaddr_len =3D sizeof(struct sockaddr_ax25); } -diff -urNp linux-2.6.32.48/net/packet/af_packet.c linux-2.6.32.48/net/pa= cket/af_packet.c ---- linux-2.6.32.48/net/packet/af_packet.c 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/net/packet/af_packet.c 2011-11-12 12:46:53.000000000= -0500 +diff -urNp linux-2.6.32.46/net/packet/af_packet.c linux-2.6.32.46/net/pa= cket/af_packet.c +--- linux-2.6.32.46/net/packet/af_packet.c 2011-07-13 17:23:04.000000000= -0400 ++++ linux-2.6.32.46/net/packet/af_packet.c 2011-07-13 17:23:27.000000000= -0400 @@ -2429,7 +2429,11 @@ static int packet_seq_show(struct seq_fi =20 seq_printf(seq, @@ -77717,9 +77804,9 @@ diff -urNp linux-2.6.32.48/net/packet/af_packet.c= linux-2.6.32.48/net/packet/af_ atomic_read(&s->sk_refcnt), s->sk_type, ntohs(po->num), -diff -urNp linux-2.6.32.48/net/phonet/af_phonet.c linux-2.6.32.48/net/ph= onet/af_phonet.c ---- linux-2.6.32.48/net/phonet/af_phonet.c 2011-11-12 12:44:30.000000000= -0500 -+++ linux-2.6.32.48/net/phonet/af_phonet.c 2011-11-12 12:46:53.000000000= -0500 +diff -urNp linux-2.6.32.46/net/phonet/af_phonet.c linux-2.6.32.46/net/ph= onet/af_phonet.c +--- linux-2.6.32.46/net/phonet/af_phonet.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/net/phonet/af_phonet.c 2011-04-17 15:56:46.000000000= -0400 @@ -41,7 +41,7 @@ static struct phonet_protocol *phonet_pr { struct phonet_protocol *pp; @@ -77738,9 +77825,9 @@ diff -urNp linux-2.6.32.48/net/phonet/af_phonet.c= linux-2.6.32.48/net/phonet/af_ return -EINVAL; =20 err =3D proto_register(pp->prot, 1); -diff -urNp linux-2.6.32.48/net/phonet/datagram.c linux-2.6.32.48/net/pho= net/datagram.c ---- linux-2.6.32.48/net/phonet/datagram.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/net/phonet/datagram.c 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/net/phonet/datagram.c linux-2.6.32.46/net/pho= net/datagram.c +--- linux-2.6.32.46/net/phonet/datagram.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/net/phonet/datagram.c 2011-05-04 17:56:28.000000000 = -0400 @@ -162,7 +162,7 @@ static int pn_backlog_rcv(struct sock *s if (err < 0) { kfree_skb(skb); @@ -77750,9 +77837,9 @@ diff -urNp linux-2.6.32.48/net/phonet/datagram.c = linux-2.6.32.48/net/phonet/data } return err ? NET_RX_DROP : NET_RX_SUCCESS; } -diff -urNp linux-2.6.32.48/net/phonet/pep.c linux-2.6.32.48/net/phonet/p= ep.c ---- linux-2.6.32.48/net/phonet/pep.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/phonet/pep.c 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/phonet/pep.c linux-2.6.32.46/net/phonet/p= ep.c +--- linux-2.6.32.46/net/phonet/pep.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/phonet/pep.c 2011-05-04 17:56:28.000000000 -0400 @@ -348,7 +348,7 @@ static int pipe_do_rcv(struct sock *sk,=20 =20 case PNS_PEP_CTRL_REQ: @@ -77777,9 +77864,9 @@ diff -urNp linux-2.6.32.48/net/phonet/pep.c linux= -2.6.32.48/net/phonet/pep.c err =3D -ENOBUFS; break; } -diff -urNp linux-2.6.32.48/net/phonet/socket.c linux-2.6.32.48/net/phone= t/socket.c ---- linux-2.6.32.48/net/phonet/socket.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/net/phonet/socket.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/phonet/socket.c linux-2.6.32.46/net/phone= t/socket.c +--- linux-2.6.32.46/net/phonet/socket.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/net/phonet/socket.c 2011-05-04 17:57:07.000000000 -0= 400 @@ -482,8 +482,13 @@ static int pn_sock_seq_show(struct seq_f sk->sk_state, sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk), @@ -77796,9 +77883,9 @@ diff -urNp linux-2.6.32.48/net/phonet/socket.c li= nux-2.6.32.48/net/phonet/socket } seq_printf(seq, "%*s\n", 127 - len, ""); return 0; -diff -urNp linux-2.6.32.48/net/rds/cong.c linux-2.6.32.48/net/rds/cong.c ---- linux-2.6.32.48/net/rds/cong.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/rds/cong.c 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/rds/cong.c linux-2.6.32.46/net/rds/cong.c +--- linux-2.6.32.46/net/rds/cong.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/rds/cong.c 2011-05-04 17:56:28.000000000 -0400 @@ -77,7 +77,7 @@ * finds that the saved generation number is smaller than the global ge= neration * number, it wakes up the process. @@ -77826,9 +77913,9 @@ diff -urNp linux-2.6.32.48/net/rds/cong.c linux-2= .6.32.48/net/rds/cong.c =20 if (likely(*recent =3D=3D gen)) return 0; -diff -urNp linux-2.6.32.48/net/rds/iw_rdma.c linux-2.6.32.48/net/rds/iw_= rdma.c ---- linux-2.6.32.48/net/rds/iw_rdma.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/net/rds/iw_rdma.c 2011-11-12 12:46:53.000000000 -050= 0 +diff -urNp linux-2.6.32.46/net/rds/iw_rdma.c linux-2.6.32.46/net/rds/iw_= rdma.c +--- linux-2.6.32.46/net/rds/iw_rdma.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/net/rds/iw_rdma.c 2011-05-16 21:46:57.000000000 -040= 0 @@ -181,6 +181,8 @@ int rds_iw_update_cm_id(struct rds_iw_de struct rdma_cm_id *pcm_id; int rc; @@ -77838,9 +77925,9 @@ diff -urNp linux-2.6.32.48/net/rds/iw_rdma.c linu= x-2.6.32.48/net/rds/iw_rdma.c src_addr =3D (struct sockaddr_in *)&cm_id->route.addr.src_addr; dst_addr =3D (struct sockaddr_in *)&cm_id->route.addr.dst_addr; =20 -diff -urNp linux-2.6.32.48/net/rds/Kconfig linux-2.6.32.48/net/rds/Kconf= ig ---- linux-2.6.32.48/net/rds/Kconfig 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/rds/Kconfig 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/rds/Kconfig linux-2.6.32.46/net/rds/Kconf= ig +--- linux-2.6.32.46/net/rds/Kconfig 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/rds/Kconfig 2011-04-17 15:56:46.000000000 -0400 @@ -1,7 +1,7 @@ =20 config RDS @@ -77850,9 +77937,9 @@ diff -urNp linux-2.6.32.48/net/rds/Kconfig linux-= 2.6.32.48/net/rds/Kconfig ---help--- The RDS (Reliable Datagram Sockets) protocol provides reliable, sequenced delivery of datagrams over Infiniband, iWARP, -diff -urNp linux-2.6.32.48/net/rds/tcp.c linux-2.6.32.48/net/rds/tcp.c ---- linux-2.6.32.48/net/rds/tcp.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/rds/tcp.c 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/rds/tcp.c linux-2.6.32.46/net/rds/tcp.c +--- linux-2.6.32.46/net/rds/tcp.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/rds/tcp.c 2011-10-06 09:37:16.000000000 -0400 @@ -57,7 +57,7 @@ void rds_tcp_nonagle(struct socket *sock int val =3D 1; =20 @@ -77862,9 +77949,9 @@ diff -urNp linux-2.6.32.48/net/rds/tcp.c linux-2.= 6.32.48/net/rds/tcp.c sizeof(val)); set_fs(oldfs); } -diff -urNp linux-2.6.32.48/net/rds/tcp_send.c linux-2.6.32.48/net/rds/tc= p_send.c ---- linux-2.6.32.48/net/rds/tcp_send.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/net/rds/tcp_send.c 2011-11-12 12:46:53.000000000 -05= 00 +diff -urNp linux-2.6.32.46/net/rds/tcp_send.c linux-2.6.32.46/net/rds/tc= p_send.c +--- linux-2.6.32.46/net/rds/tcp_send.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/net/rds/tcp_send.c 2011-10-06 09:37:16.000000000 -04= 00 @@ -43,7 +43,7 @@ static void rds_tcp_cork(struct socket * =20 oldfs =3D get_fs(); @@ -77874,9 +77961,9 @@ diff -urNp linux-2.6.32.48/net/rds/tcp_send.c lin= ux-2.6.32.48/net/rds/tcp_send.c sizeof(val)); set_fs(oldfs); } -diff -urNp linux-2.6.32.48/net/rxrpc/af_rxrpc.c linux-2.6.32.48/net/rxrp= c/af_rxrpc.c ---- linux-2.6.32.48/net/rxrpc/af_rxrpc.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/net/rxrpc/af_rxrpc.c 2011-11-12 12:46:53.000000000 -= 0500 +diff -urNp linux-2.6.32.46/net/rxrpc/af_rxrpc.c linux-2.6.32.46/net/rxrp= c/af_rxrpc.c +--- linux-2.6.32.46/net/rxrpc/af_rxrpc.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/net/rxrpc/af_rxrpc.c 2011-05-04 17:56:28.000000000 -= 0400 @@ -38,7 +38,7 @@ static const struct proto_ops rxrpc_rpc_ __be32 rxrpc_epoch; =20 @@ -77886,9 +77973,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/af_rxrpc.c l= inux-2.6.32.48/net/rxrpc/af_rxr =20 /* count of skbs currently in use */ atomic_t rxrpc_n_skbs; -diff -urNp linux-2.6.32.48/net/rxrpc/ar-ack.c linux-2.6.32.48/net/rxrpc/= ar-ack.c ---- linux-2.6.32.48/net/rxrpc/ar-ack.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/net/rxrpc/ar-ack.c 2011-11-12 12:46:53.000000000 -05= 00 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-ack.c linux-2.6.32.46/net/rxrpc/= ar-ack.c +--- linux-2.6.32.46/net/rxrpc/ar-ack.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/net/rxrpc/ar-ack.c 2011-05-16 21:46:57.000000000 -04= 00 @@ -174,7 +174,7 @@ static void rxrpc_resend(struct rxrpc_ca =20 _enter("{%d,%d,%d,%d},", @@ -77961,9 +78048,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-ack.c lin= ux-2.6.32.48/net/rxrpc/ar-ack.c _proto("Tx %s %%%u", rxrpc_pkts[hdr.type], ntohl(hdr.serial)); send_message_2: =20 -diff -urNp linux-2.6.32.48/net/rxrpc/ar-call.c linux-2.6.32.48/net/rxrpc= /ar-call.c ---- linux-2.6.32.48/net/rxrpc/ar-call.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/net/rxrpc/ar-call.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-call.c linux-2.6.32.46/net/rxrpc= /ar-call.c +--- linux-2.6.32.46/net/rxrpc/ar-call.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/net/rxrpc/ar-call.c 2011-05-04 17:56:28.000000000 -0= 400 @@ -82,7 +82,7 @@ static struct rxrpc_call *rxrpc_alloc_ca spin_lock_init(&call->lock); rwlock_init(&call->state_lock); @@ -77973,9 +78060,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-call.c li= nux-2.6.32.48/net/rxrpc/ar-call call->state =3D RXRPC_CALL_CLIENT_SEND_REQUEST; =20 memset(&call->sock_node, 0xed, sizeof(call->sock_node)); -diff -urNp linux-2.6.32.48/net/rxrpc/ar-connection.c linux-2.6.32.48/net= /rxrpc/ar-connection.c ---- linux-2.6.32.48/net/rxrpc/ar-connection.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/net/rxrpc/ar-connection.c 2011-11-12 12:46:53.000000= 000 -0500 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-connection.c linux-2.6.32.46/net= /rxrpc/ar-connection.c +--- linux-2.6.32.46/net/rxrpc/ar-connection.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/net/rxrpc/ar-connection.c 2011-05-04 17:56:28.000000= 000 -0400 @@ -205,7 +205,7 @@ static struct rxrpc_connection *rxrpc_al rwlock_init(&conn->lock); spin_lock_init(&conn->state_lock); @@ -77985,9 +78072,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-connectio= n.c linux-2.6.32.48/net/rxrpc/a conn->avail_calls =3D RXRPC_MAXCALLS; conn->size_align =3D 4; conn->header_size =3D sizeof(struct rxrpc_header); -diff -urNp linux-2.6.32.48/net/rxrpc/ar-connevent.c linux-2.6.32.48/net/= rxrpc/ar-connevent.c ---- linux-2.6.32.48/net/rxrpc/ar-connevent.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/net/rxrpc/ar-connevent.c 2011-11-12 12:46:53.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-connevent.c linux-2.6.32.46/net/= rxrpc/ar-connevent.c +--- linux-2.6.32.46/net/rxrpc/ar-connevent.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/net/rxrpc/ar-connevent.c 2011-05-04 17:56:28.0000000= 00 -0400 @@ -109,7 +109,7 @@ static int rxrpc_abort_connection(struct =20 len =3D iov[0].iov_len + iov[1].iov_len; @@ -77997,9 +78084,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-connevent= .c linux-2.6.32.48/net/rxrpc/ar _proto("Tx CONN ABORT %%%u { %d }", ntohl(hdr.serial), abort_code); =20 ret =3D kernel_sendmsg(conn->trans->local->socket, &msg, iov, 2, len); -diff -urNp linux-2.6.32.48/net/rxrpc/ar-input.c linux-2.6.32.48/net/rxrp= c/ar-input.c ---- linux-2.6.32.48/net/rxrpc/ar-input.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/net/rxrpc/ar-input.c 2011-11-12 12:46:53.000000000 -= 0500 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-input.c linux-2.6.32.46/net/rxrp= c/ar-input.c +--- linux-2.6.32.46/net/rxrpc/ar-input.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/net/rxrpc/ar-input.c 2011-05-04 17:56:28.000000000 -= 0400 @@ -339,9 +339,9 @@ void rxrpc_fast_process_packet(struct rx /* track the latest serial number on this connection for ACK packet * information */ @@ -78012,9 +78099,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-input.c l= inux-2.6.32.48/net/rxrpc/ar-inp serial); =20 /* request ACK generation for any ACK or DATA packet that requests -diff -urNp linux-2.6.32.48/net/rxrpc/ar-internal.h linux-2.6.32.48/net/r= xrpc/ar-internal.h ---- linux-2.6.32.48/net/rxrpc/ar-internal.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/net/rxrpc/ar-internal.h 2011-11-12 12:46:53.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-internal.h linux-2.6.32.46/net/r= xrpc/ar-internal.h +--- linux-2.6.32.46/net/rxrpc/ar-internal.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/net/rxrpc/ar-internal.h 2011-05-04 17:56:28.00000000= 0 -0400 @@ -272,8 +272,8 @@ struct rxrpc_connection { int error; /* error code for local abort */ int debug_id; /* debug ID for printks */ @@ -78044,9 +78131,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-internal.= h linux-2.6.32.48/net/rxrpc/ar- extern struct workqueue_struct *rxrpc_workqueue; =20 /* -diff -urNp linux-2.6.32.48/net/rxrpc/ar-key.c linux-2.6.32.48/net/rxrpc/= ar-key.c ---- linux-2.6.32.48/net/rxrpc/ar-key.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/net/rxrpc/ar-key.c 2011-11-12 12:46:53.000000000 -05= 00 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-key.c linux-2.6.32.46/net/rxrpc/= ar-key.c +--- linux-2.6.32.46/net/rxrpc/ar-key.c 2011-03-27 14:31:47.000000000 -04= 00 ++++ linux-2.6.32.46/net/rxrpc/ar-key.c 2011-04-17 15:56:46.000000000 -04= 00 @@ -88,11 +88,11 @@ static int rxrpc_instantiate_xdr_rxkad(s return ret; =20 @@ -78074,9 +78161,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-key.c lin= ux-2.6.32.48/net/rxrpc/ar-key.c if (!token->kad) goto error_free; =20 -diff -urNp linux-2.6.32.48/net/rxrpc/ar-local.c linux-2.6.32.48/net/rxrp= c/ar-local.c ---- linux-2.6.32.48/net/rxrpc/ar-local.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/net/rxrpc/ar-local.c 2011-11-12 12:46:53.000000000 -= 0500 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-local.c linux-2.6.32.46/net/rxrp= c/ar-local.c +--- linux-2.6.32.46/net/rxrpc/ar-local.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/net/rxrpc/ar-local.c 2011-05-04 17:56:28.000000000 -= 0400 @@ -44,7 +44,7 @@ struct rxrpc_local *rxrpc_alloc_local(st spin_lock_init(&local->lock); rwlock_init(&local->services_lock); @@ -78086,9 +78173,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-local.c l= inux-2.6.32.48/net/rxrpc/ar-loc memcpy(&local->srx, srx, sizeof(*srx)); } =20 -diff -urNp linux-2.6.32.48/net/rxrpc/ar-output.c linux-2.6.32.48/net/rxr= pc/ar-output.c ---- linux-2.6.32.48/net/rxrpc/ar-output.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/net/rxrpc/ar-output.c 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-output.c linux-2.6.32.46/net/rxr= pc/ar-output.c +--- linux-2.6.32.46/net/rxrpc/ar-output.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/net/rxrpc/ar-output.c 2011-05-04 17:56:28.000000000 = -0400 @@ -680,9 +680,9 @@ static int rxrpc_send_data(struct kiocb=20 sp->hdr.cid =3D call->cid; sp->hdr.callNumber =3D call->call_id; @@ -78101,9 +78188,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-output.c = linux-2.6.32.48/net/rxrpc/ar-ou sp->hdr.type =3D RXRPC_PACKET_TYPE_DATA; sp->hdr.userStatus =3D 0; sp->hdr.securityIndex =3D conn->security_ix; -diff -urNp linux-2.6.32.48/net/rxrpc/ar-peer.c linux-2.6.32.48/net/rxrpc= /ar-peer.c ---- linux-2.6.32.48/net/rxrpc/ar-peer.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/net/rxrpc/ar-peer.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-peer.c linux-2.6.32.46/net/rxrpc= /ar-peer.c +--- linux-2.6.32.46/net/rxrpc/ar-peer.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/net/rxrpc/ar-peer.c 2011-05-04 17:56:28.000000000 -0= 400 @@ -86,7 +86,7 @@ static struct rxrpc_peer *rxrpc_alloc_pe INIT_LIST_HEAD(&peer->error_targets); spin_lock_init(&peer->lock); @@ -78113,9 +78200,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-peer.c li= nux-2.6.32.48/net/rxrpc/ar-peer memcpy(&peer->srx, srx, sizeof(*srx)); =20 rxrpc_assess_MTU_size(peer); -diff -urNp linux-2.6.32.48/net/rxrpc/ar-proc.c linux-2.6.32.48/net/rxrpc= /ar-proc.c ---- linux-2.6.32.48/net/rxrpc/ar-proc.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/net/rxrpc/ar-proc.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-proc.c linux-2.6.32.46/net/rxrpc= /ar-proc.c +--- linux-2.6.32.46/net/rxrpc/ar-proc.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/net/rxrpc/ar-proc.c 2011-05-04 17:56:28.000000000 -0= 400 @@ -164,8 +164,8 @@ static int rxrpc_connection_seq_show(str atomic_read(&conn->usage), rxrpc_conn_states[conn->state], @@ -78127,9 +78214,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-proc.c li= nux-2.6.32.48/net/rxrpc/ar-proc =20 return 0; } -diff -urNp linux-2.6.32.48/net/rxrpc/ar-transport.c linux-2.6.32.48/net/= rxrpc/ar-transport.c ---- linux-2.6.32.48/net/rxrpc/ar-transport.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/net/rxrpc/ar-transport.c 2011-11-12 12:46:53.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/net/rxrpc/ar-transport.c linux-2.6.32.46/net/= rxrpc/ar-transport.c +--- linux-2.6.32.46/net/rxrpc/ar-transport.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/net/rxrpc/ar-transport.c 2011-05-04 17:56:28.0000000= 00 -0400 @@ -46,7 +46,7 @@ static struct rxrpc_transport *rxrpc_all spin_lock_init(&trans->client_lock); rwlock_init(&trans->conn_lock); @@ -78139,9 +78226,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/ar-transport= .c linux-2.6.32.48/net/rxrpc/ar =20 if (peer->srx.transport.family =3D=3D AF_INET) { switch (peer->srx.transport_type) { -diff -urNp linux-2.6.32.48/net/rxrpc/rxkad.c linux-2.6.32.48/net/rxrpc/r= xkad.c ---- linux-2.6.32.48/net/rxrpc/rxkad.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/net/rxrpc/rxkad.c 2011-11-12 12:46:53.000000000 -050= 0 +diff -urNp linux-2.6.32.46/net/rxrpc/rxkad.c linux-2.6.32.46/net/rxrpc/r= xkad.c +--- linux-2.6.32.46/net/rxrpc/rxkad.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/net/rxrpc/rxkad.c 2011-05-16 21:46:57.000000000 -040= 0 @@ -210,6 +210,8 @@ static int rxkad_secure_packet_encrypt(c u16 check; int nsg; @@ -78178,9 +78265,9 @@ diff -urNp linux-2.6.32.48/net/rxrpc/rxkad.c linu= x-2.6.32.48/net/rxrpc/rxkad.c _proto("Tx RESPONSE %%%u", ntohl(hdr->serial)); =20 ret =3D kernel_sendmsg(conn->trans->local->socket, &msg, iov, 3, len); -diff -urNp linux-2.6.32.48/net/sctp/proc.c linux-2.6.32.48/net/sctp/proc= .c ---- linux-2.6.32.48/net/sctp/proc.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/sctp/proc.c 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/sctp/proc.c linux-2.6.32.46/net/sctp/proc= .c +--- linux-2.6.32.46/net/sctp/proc.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/sctp/proc.c 2011-04-17 15:56:46.000000000 -0400 @@ -213,7 +213,12 @@ static int sctp_eps_seq_show(struct seq_ sctp_for_each_hentry(epb, node, &head->chain) { ep =3D sctp_ep(epb); @@ -78209,9 +78296,9 @@ diff -urNp linux-2.6.32.48/net/sctp/proc.c linux-= 2.6.32.48/net/sctp/proc.c assoc->state, hash, assoc->assoc_id, assoc->sndbuf_used, -diff -urNp linux-2.6.32.48/net/sctp/socket.c linux-2.6.32.48/net/sctp/so= cket.c ---- linux-2.6.32.48/net/sctp/socket.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/net/sctp/socket.c 2011-11-12 12:46:53.000000000 -050= 0 +diff -urNp linux-2.6.32.46/net/sctp/socket.c linux-2.6.32.46/net/sctp/so= cket.c +--- linux-2.6.32.46/net/sctp/socket.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/net/sctp/socket.c 2011-04-23 12:56:11.000000000 -040= 0 @@ -5802,7 +5802,6 @@ pp_found: */ int reuse =3D sk->sk_reuse; @@ -78220,9 +78307,9 @@ diff -urNp linux-2.6.32.48/net/sctp/socket.c linu= x-2.6.32.48/net/sctp/socket.c =20 SCTP_DEBUG_PRINTK("sctp_get_port() found a possible match\n"); if (pp->fastreuse && sk->sk_reuse && -diff -urNp linux-2.6.32.48/net/socket.c linux-2.6.32.48/net/socket.c ---- linux-2.6.32.48/net/socket.c 2011-11-12 12:44:30.000000000 -0500 -+++ linux-2.6.32.48/net/socket.c 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/socket.c linux-2.6.32.46/net/socket.c +--- linux-2.6.32.46/net/socket.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/socket.c 2011-10-06 09:37:16.000000000 -0400 @@ -87,6 +87,7 @@ #include #include @@ -78404,9 +78491,9 @@ diff -urNp linux-2.6.32.48/net/socket.c linux-2.6= .32.48/net/socket.c uaddr_len =3D COMPAT_NAMELEN(msg); if (MSG_CMSG_COMPAT & flags) { err =3D verify_compat_iovec(&msg_sys, iov, -diff -urNp linux-2.6.32.48/net/sunrpc/sched.c linux-2.6.32.48/net/sunrpc= /sched.c ---- linux-2.6.32.48/net/sunrpc/sched.c 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/net/sunrpc/sched.c 2011-11-12 12:46:53.000000000 -05= 00 +diff -urNp linux-2.6.32.46/net/sunrpc/sched.c linux-2.6.32.46/net/sunrpc= /sched.c +--- linux-2.6.32.46/net/sunrpc/sched.c 2011-08-09 18:35:30.000000000 -04= 00 ++++ linux-2.6.32.46/net/sunrpc/sched.c 2011-08-09 18:34:01.000000000 -04= 00 @@ -234,10 +234,10 @@ static int rpc_wait_bit_killable(void *w #ifdef RPC_DEBUG static void rpc_task_set_debuginfo(struct rpc_task *task) @@ -78420,9 +78507,9 @@ diff -urNp linux-2.6.32.48/net/sunrpc/sched.c lin= ux-2.6.32.48/net/sunrpc/sched.c } #else static inline void rpc_task_set_debuginfo(struct rpc_task *task) -diff -urNp linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma.c linux-2.6.32.4= 8/net/sunrpc/xprtrdma/svc_rdma.c ---- linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma.c 2011-11-12 12:46:53.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma.c linux-2.6.32.4= 6/net/sunrpc/xprtrdma/svc_rdma.c +--- linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma.c 2011-05-04 17:56:20.0= 00000000 -0400 @@ -59,15 +59,15 @@ unsigned int svcrdma_max_req_size =3D RPCR static unsigned int min_max_inline =3D 4096; static unsigned int max_max_inline =3D 65536; @@ -78530,9 +78617,9 @@ diff -urNp linux-2.6.32.48/net/sunrpc/xprtrdma/sv= c_rdma.c linux-2.6.32.48/net/su .mode =3D 0644, .proc_handler =3D &read_reset_stat, }, -diff -urNp linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c linux= -2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c ---- linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-11-12 1= 2:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c linux= -2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c +--- linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-03-27 1= 4:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-05-04 1= 7:56:28.000000000 -0400 @@ -495,7 +495,7 @@ next_sge: svc_rdma_put_context(ctxt, 0); goto out; @@ -78560,9 +78647,9 @@ diff -urNp linux-2.6.32.48/net/sunrpc/xprtrdma/sv= c_rdma_recvfrom.c linux-2.6.32. =20 /* Build up the XDR from the receive buffers. */ rdma_build_arg_xdr(rqstp, ctxt, ctxt->byte_len); -diff -urNp linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_sendto.c linux-2= .6.32.48/net/sunrpc/xprtrdma/svc_rdma_sendto.c ---- linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-11-12 12:= 46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_sendto.c linux-2= .6.32.46/net/sunrpc/xprtrdma/svc_rdma_sendto.c +--- linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-03-27 14:= 31:47.000000000 -0400 ++++ linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-05-04 17:= 56:28.000000000 -0400 @@ -328,7 +328,7 @@ static int send_write(struct svcxprt_rdm write_wr.wr.rdma.remote_addr =3D to; =20 @@ -78572,9 +78659,9 @@ diff -urNp linux-2.6.32.48/net/sunrpc/xprtrdma/sv= c_rdma_sendto.c linux-2.6.32.48 if (svc_rdma_send(xprt, &write_wr)) goto err; return 0; -diff -urNp linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_transport.c linu= x-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_transport.c ---- linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_transport.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-11-12 = 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_transport.c linu= x-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_transport.c +--- linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-03-27 = 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-05-04 = 17:56:28.000000000 -0400 @@ -292,7 +292,7 @@ static void rq_cq_reap(struct svcxprt_rd return; =20 @@ -78620,9 +78707,9 @@ diff -urNp linux-2.6.32.48/net/sunrpc/xprtrdma/sv= c_rdma_transport.c linux-2.6.32 =20 /* See if we can opportunistically reap SQ WR to make room */ sq_cq_reap(xprt); -diff -urNp linux-2.6.32.48/net/sysctl_net.c linux-2.6.32.48/net/sysctl_n= et.c ---- linux-2.6.32.48/net/sysctl_net.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/sysctl_net.c 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/sysctl_net.c linux-2.6.32.46/net/sysctl_n= et.c +--- linux-2.6.32.46/net/sysctl_net.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/sysctl_net.c 2011-04-17 15:56:46.000000000 -0400 @@ -46,7 +46,7 @@ static int net_ctl_permissions(struct ct struct ctl_table *table) { @@ -78632,9 +78719,9 @@ diff -urNp linux-2.6.32.48/net/sysctl_net.c linux= -2.6.32.48/net/sysctl_net.c int mode =3D (table->mode >> 6) & 7; return (mode << 6) | (mode << 3) | mode; } -diff -urNp linux-2.6.32.48/net/tipc/link.c linux-2.6.32.48/net/tipc/link= .c ---- linux-2.6.32.48/net/tipc/link.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/net/tipc/link.c 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/net/tipc/link.c linux-2.6.32.46/net/tipc/link= .c +--- linux-2.6.32.46/net/tipc/link.c 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/net/tipc/link.c 2011-10-06 09:37:16.000000000 -0400 @@ -1418,7 +1418,7 @@ again: =20 if (!sect_rest) { @@ -78653,9 +78740,9 @@ diff -urNp linux-2.6.32.48/net/tipc/link.c linux-= 2.6.32.48/net/tipc/link.c sect_crs +=3D sz; sect_rest -=3D sz; fragm_crs +=3D sz; -diff -urNp linux-2.6.32.48/net/tipc/subscr.c linux-2.6.32.48/net/tipc/su= bscr.c ---- linux-2.6.32.48/net/tipc/subscr.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/net/tipc/subscr.c 2011-11-12 12:46:53.000000000 -050= 0 +diff -urNp linux-2.6.32.46/net/tipc/subscr.c linux-2.6.32.46/net/tipc/su= bscr.c +--- linux-2.6.32.46/net/tipc/subscr.c 2011-03-27 14:31:47.000000000 -040= 0 ++++ linux-2.6.32.46/net/tipc/subscr.c 2011-10-06 09:37:16.000000000 -040= 0 @@ -104,7 +104,7 @@ static void subscr_send_event(struct sub { struct iovec msg_sect; @@ -78665,9 +78752,9 @@ diff -urNp linux-2.6.32.48/net/tipc/subscr.c linu= x-2.6.32.48/net/tipc/subscr.c msg_sect.iov_len =3D sizeof(struct tipc_event); =20 sub->evt.event =3D htohl(event, sub->swap); -diff -urNp linux-2.6.32.48/net/unix/af_unix.c linux-2.6.32.48/net/unix/a= f_unix.c ---- linux-2.6.32.48/net/unix/af_unix.c 2011-11-12 12:44:30.000000000 -05= 00 -+++ linux-2.6.32.48/net/unix/af_unix.c 2011-11-12 12:46:53.000000000 -05= 00 +diff -urNp linux-2.6.32.46/net/unix/af_unix.c linux-2.6.32.46/net/unix/a= f_unix.c +--- linux-2.6.32.46/net/unix/af_unix.c 2011-05-10 22:12:02.000000000 -04= 00 ++++ linux-2.6.32.46/net/unix/af_unix.c 2011-07-18 18:17:33.000000000 -04= 00 @@ -745,6 +745,12 @@ static struct sock *unix_find_other(stru err =3D -ECONNREFUSED; if (!S_ISSOCK(inode->i_mode)) @@ -78726,9 +78813,9 @@ diff -urNp linux-2.6.32.48/net/unix/af_unix.c lin= ux-2.6.32.48/net/unix/af_unix.c atomic_read(&s->sk_refcnt), 0, s->sk_state =3D=3D TCP_LISTEN ? __SO_ACCEPTCON : 0, -diff -urNp linux-2.6.32.48/net/wireless/core.h linux-2.6.32.48/net/wirel= ess/core.h ---- linux-2.6.32.48/net/wireless/core.h 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/net/wireless/core.h 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/wireless/core.h linux-2.6.32.46/net/wirel= ess/core.h +--- linux-2.6.32.46/net/wireless/core.h 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/net/wireless/core.h 2011-08-23 21:22:38.000000000 -0= 400 @@ -27,7 +27,7 @@ struct cfg80211_registered_device { struct mutex mtx; =20 @@ -78738,9 +78825,9 @@ diff -urNp linux-2.6.32.48/net/wireless/core.h li= nux-2.6.32.48/net/wireless/core struct rfkill *rfkill; struct work_struct rfkill_sync; =20 -diff -urNp linux-2.6.32.48/net/wireless/wext.c linux-2.6.32.48/net/wirel= ess/wext.c ---- linux-2.6.32.48/net/wireless/wext.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/net/wireless/wext.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/net/wireless/wext.c linux-2.6.32.46/net/wirel= ess/wext.c +--- linux-2.6.32.46/net/wireless/wext.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/net/wireless/wext.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -816,8 +816,7 @@ static int ioctl_standard_iw_point(struc */ =20 @@ -78774,9 +78861,9 @@ diff -urNp linux-2.6.32.48/net/wireless/wext.c li= nux-2.6.32.48/net/wireless/wext err =3D handler(dev, info, (union iwreq_data *) iwp, extra); =20 iwp->length +=3D essid_compat; -diff -urNp linux-2.6.32.48/net/xfrm/xfrm_policy.c linux-2.6.32.48/net/xf= rm/xfrm_policy.c ---- linux-2.6.32.48/net/xfrm/xfrm_policy.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/net/xfrm/xfrm_policy.c 2011-11-12 12:46:53.000000000= -0500 +diff -urNp linux-2.6.32.46/net/xfrm/xfrm_policy.c linux-2.6.32.46/net/xf= rm/xfrm_policy.c +--- linux-2.6.32.46/net/xfrm/xfrm_policy.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/net/xfrm/xfrm_policy.c 2011-05-04 17:56:20.000000000= -0400 @@ -586,7 +586,7 @@ int xfrm_policy_insert(int dir, struct x hlist_add_head(&policy->bydst, chain); xfrm_pol_hold(policy); @@ -78867,9 +78954,9 @@ diff -urNp linux-2.6.32.48/net/xfrm/xfrm_policy.c= linux-2.6.32.48/net/xfrm/xfrm_ xfrm_pols_put(pols, npols); goto restart; } -diff -urNp linux-2.6.32.48/net/xfrm/xfrm_user.c linux-2.6.32.48/net/xfrm= /xfrm_user.c ---- linux-2.6.32.48/net/xfrm/xfrm_user.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/net/xfrm/xfrm_user.c 2011-11-12 12:46:53.000000000 -= 0500 +diff -urNp linux-2.6.32.46/net/xfrm/xfrm_user.c linux-2.6.32.46/net/xfrm= /xfrm_user.c +--- linux-2.6.32.46/net/xfrm/xfrm_user.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/net/xfrm/xfrm_user.c 2011-05-16 21:46:57.000000000 -= 0400 @@ -1169,6 +1169,8 @@ static int copy_to_user_tmpl(struct xfrm struct xfrm_user_tmpl vec[XFRM_MAX_DEPTH]; int i; @@ -78888,9 +78975,9 @@ diff -urNp linux-2.6.32.48/net/xfrm/xfrm_user.c l= inux-2.6.32.48/net/xfrm/xfrm_us if (attrs[XFRMA_MIGRATE] =3D=3D NULL) return -EINVAL; =20 -diff -urNp linux-2.6.32.48/samples/kobject/kset-example.c linux-2.6.32.4= 8/samples/kobject/kset-example.c ---- linux-2.6.32.48/samples/kobject/kset-example.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/samples/kobject/kset-example.c 2011-11-12 12:46:53.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/samples/kobject/kset-example.c linux-2.6.32.4= 6/samples/kobject/kset-example.c +--- linux-2.6.32.46/samples/kobject/kset-example.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/samples/kobject/kset-example.c 2011-04-17 15:56:46.0= 00000000 -0400 @@ -87,7 +87,7 @@ static ssize_t foo_attr_store(struct kob } =20 @@ -78900,9 +78987,9 @@ diff -urNp linux-2.6.32.48/samples/kobject/kset-e= xample.c linux-2.6.32.48/sample .show =3D foo_attr_show, .store =3D foo_attr_store, }; -diff -urNp linux-2.6.32.48/scripts/basic/fixdep.c linux-2.6.32.48/script= s/basic/fixdep.c ---- linux-2.6.32.48/scripts/basic/fixdep.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/scripts/basic/fixdep.c 2011-11-12 12:46:53.000000000= -0500 +diff -urNp linux-2.6.32.46/scripts/basic/fixdep.c linux-2.6.32.46/script= s/basic/fixdep.c +--- linux-2.6.32.46/scripts/basic/fixdep.c 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/scripts/basic/fixdep.c 2011-10-06 09:37:14.000000000= -0400 @@ -162,7 +162,7 @@ static void grow_config(int len) /* * Lookup a value in the configuration string. @@ -78942,15 +79029,15 @@ diff -urNp linux-2.6.32.48/scripts/basic/fixdep= .c linux-2.6.32.48/scripts/basic/ =20 if (*p !=3D INT_CONF) { fprintf(stderr, "fixdep: sizeof(int) !=3D 4 or wrong endianess? %#x\n= ", -diff -urNp linux-2.6.32.48/scripts/gcc-plugin.sh linux-2.6.32.48/scripts= /gcc-plugin.sh ---- linux-2.6.32.48/scripts/gcc-plugin.sh 1969-12-31 19:00:00.000000000 = -0500 -+++ linux-2.6.32.48/scripts/gcc-plugin.sh 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/scripts/gcc-plugin.sh linux-2.6.32.46/scripts= /gcc-plugin.sh +--- linux-2.6.32.46/scripts/gcc-plugin.sh 1969-12-31 19:00:00.000000000 = -0500 ++++ linux-2.6.32.46/scripts/gcc-plugin.sh 2011-10-06 09:37:14.000000000 = -0400 @@ -0,0 +1,2 @@ +#!/bin/sh +echo "#include \"gcc-plugin.h\"\n#include \"rtl.h\"" | $1 -x c -shared = - -o /dev/null -I`$2 -print-file-name=3Dplugin`/include >/dev/null 2>&1 &= & echo "y" -diff -urNp linux-2.6.32.48/scripts/Makefile.build linux-2.6.32.48/script= s/Makefile.build ---- linux-2.6.32.48/scripts/Makefile.build 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/scripts/Makefile.build 2011-11-12 12:46:53.000000000= -0500 +diff -urNp linux-2.6.32.46/scripts/Makefile.build linux-2.6.32.46/script= s/Makefile.build +--- linux-2.6.32.46/scripts/Makefile.build 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/scripts/Makefile.build 2011-08-23 20:45:11.000000000= -0400 @@ -59,7 +59,7 @@ endif endif =20 @@ -78960,9 +79047,9 @@ diff -urNp linux-2.6.32.48/scripts/Makefile.build= linux-2.6.32.48/scripts/Makefi include scripts/Makefile.host endif =20 -diff -urNp linux-2.6.32.48/scripts/Makefile.clean linux-2.6.32.48/script= s/Makefile.clean ---- linux-2.6.32.48/scripts/Makefile.clean 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/scripts/Makefile.clean 2011-11-12 12:46:53.000000000= -0500 +diff -urNp linux-2.6.32.46/scripts/Makefile.clean linux-2.6.32.46/script= s/Makefile.clean +--- linux-2.6.32.46/scripts/Makefile.clean 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/scripts/Makefile.clean 2011-06-04 20:47:19.000000000= -0400 @@ -43,7 +43,8 @@ subdir-ymn :=3D $(addprefix $(obj)/,$(subd __clean-files :=3D $(extra-y) $(always) \ $(targets) $(clean-files) \ @@ -78973,9 +79060,9 @@ diff -urNp linux-2.6.32.48/scripts/Makefile.clean= linux-2.6.32.48/scripts/Makefi =20 # as clean-files is given relative to the current directory, this adds # a $(obj) prefix, except for absolute paths -diff -urNp linux-2.6.32.48/scripts/Makefile.host linux-2.6.32.48/scripts= /Makefile.host ---- linux-2.6.32.48/scripts/Makefile.host 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/scripts/Makefile.host 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/scripts/Makefile.host linux-2.6.32.46/scripts= /Makefile.host +--- linux-2.6.32.46/scripts/Makefile.host 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/scripts/Makefile.host 2011-06-04 20:48:22.000000000 = -0400 @@ -31,6 +31,7 @@ # Note: Shared libraries consisting of C++ files are not supported =20 @@ -78992,9 +79079,9 @@ diff -urNp linux-2.6.32.48/scripts/Makefile.host = linux-2.6.32.48/scripts/Makefil # Remove .so files from "xxx-objs" host-cobjs :=3D $(filter-out %.so,$(host-cobjs)) =20 -diff -urNp linux-2.6.32.48/scripts/mod/file2alias.c linux-2.6.32.48/scri= pts/mod/file2alias.c ---- linux-2.6.32.48/scripts/mod/file2alias.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/scripts/mod/file2alias.c 2011-11-12 12:46:53.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/scripts/mod/file2alias.c linux-2.6.32.46/scri= pts/mod/file2alias.c +--- linux-2.6.32.46/scripts/mod/file2alias.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/scripts/mod/file2alias.c 2011-10-06 09:37:14.0000000= 00 -0400 @@ -72,7 +72,7 @@ static void device_id_check(const char * unsigned long size, unsigned long id_size, void *symval) @@ -79058,9 +79145,9 @@ diff -urNp linux-2.6.32.48/scripts/mod/file2alias= .c linux-2.6.32.48/scripts/mod/ =20 sprintf(alias, "dmi*"); =20 -diff -urNp linux-2.6.32.48/scripts/mod/modpost.c linux-2.6.32.48/scripts= /mod/modpost.c ---- linux-2.6.32.48/scripts/mod/modpost.c 2011-11-12 12:44:30.000000000 = -0500 -+++ linux-2.6.32.48/scripts/mod/modpost.c 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/scripts/mod/modpost.c linux-2.6.32.46/scripts= /mod/modpost.c +--- linux-2.6.32.46/scripts/mod/modpost.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/scripts/mod/modpost.c 2011-07-06 19:53:33.000000000 = -0400 @@ -835,6 +835,7 @@ enum mismatch { INIT_TO_EXIT, EXIT_TO_INIT, @@ -79137,9 +79224,9 @@ diff -urNp linux-2.6.32.48/scripts/mod/modpost.c = linux-2.6.32.48/scripts/mod/mod goto close_write; =20 tmp =3D NOFAIL(malloc(b->pos)); -diff -urNp linux-2.6.32.48/scripts/mod/modpost.h linux-2.6.32.48/scripts= /mod/modpost.h ---- linux-2.6.32.48/scripts/mod/modpost.h 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/scripts/mod/modpost.h 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/scripts/mod/modpost.h linux-2.6.32.46/scripts= /mod/modpost.h +--- linux-2.6.32.46/scripts/mod/modpost.h 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/scripts/mod/modpost.h 2011-04-17 15:56:46.000000000 = -0400 @@ -92,15 +92,15 @@ void *do_nofail(void *ptr, const char *e =20 struct buffer { @@ -79159,9 +79246,9 @@ diff -urNp linux-2.6.32.48/scripts/mod/modpost.h = linux-2.6.32.48/scripts/mod/mod =20 struct module { struct module *next; -diff -urNp linux-2.6.32.48/scripts/mod/sumversion.c linux-2.6.32.48/scri= pts/mod/sumversion.c ---- linux-2.6.32.48/scripts/mod/sumversion.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/scripts/mod/sumversion.c 2011-11-12 12:46:53.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/scripts/mod/sumversion.c linux-2.6.32.46/scri= pts/mod/sumversion.c +--- linux-2.6.32.46/scripts/mod/sumversion.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/scripts/mod/sumversion.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -455,7 +455,7 @@ static void write_version(const char *fi goto out; } @@ -79171,9 +79258,9 @@ diff -urNp linux-2.6.32.48/scripts/mod/sumversion= .c linux-2.6.32.48/scripts/mod/ warn("writing sum in %s failed: %s\n", filename, strerror(errno)); goto out; -diff -urNp linux-2.6.32.48/scripts/package/mkspec linux-2.6.32.48/script= s/package/mkspec ---- linux-2.6.32.48/scripts/package/mkspec 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/scripts/package/mkspec 2011-11-12 12:46:53.000000000= -0500 +diff -urNp linux-2.6.32.46/scripts/package/mkspec linux-2.6.32.46/script= s/package/mkspec +--- linux-2.6.32.46/scripts/package/mkspec 2011-03-27 14:31:47.000000000= -0400 ++++ linux-2.6.32.46/scripts/package/mkspec 2011-07-19 18:19:12.000000000= -0400 @@ -70,7 +70,7 @@ echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' echo "%endif" @@ -79183,9 +79270,9 @@ diff -urNp linux-2.6.32.48/scripts/package/mkspec= linux-2.6.32.48/scripts/packag echo "%ifarch ia64" echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEAS= E" echo 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/" -diff -urNp linux-2.6.32.48/scripts/pnmtologo.c linux-2.6.32.48/scripts/p= nmtologo.c ---- linux-2.6.32.48/scripts/pnmtologo.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/scripts/pnmtologo.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/scripts/pnmtologo.c linux-2.6.32.46/scripts/p= nmtologo.c +--- linux-2.6.32.46/scripts/pnmtologo.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/scripts/pnmtologo.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -237,14 +237,14 @@ static void write_header(void) fprintf(out, " * Linux logo %s\n", logoname); fputs(" */\n\n", out); @@ -79212,9 +79299,9 @@ diff -urNp linux-2.6.32.48/scripts/pnmtologo.c li= nux-2.6.32.48/scripts/pnmtologo logoname); write_hex_cnt =3D 0; for (i =3D 0; i < logo_clutsize; i++) { -diff -urNp linux-2.6.32.48/scripts/tags.sh linux-2.6.32.48/scripts/tags.= sh ---- linux-2.6.32.48/scripts/tags.sh 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/scripts/tags.sh 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/scripts/tags.sh linux-2.6.32.46/scripts/tags.= sh +--- linux-2.6.32.46/scripts/tags.sh 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/scripts/tags.sh 2011-06-07 18:06:04.000000000 -0400 @@ -93,6 +93,11 @@ docscope() cscope -b -f cscope.out } @@ -79238,9 +79325,9 @@ diff -urNp linux-2.6.32.48/scripts/tags.sh linux-= 2.6.32.48/scripts/tags.sh "tags") rm -f tags xtags ctags -diff -urNp linux-2.6.32.48/security/capability.c linux-2.6.32.48/securit= y/capability.c ---- linux-2.6.32.48/security/capability.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/security/capability.c 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/security/capability.c linux-2.6.32.46/securit= y/capability.c +--- linux-2.6.32.46/security/capability.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/security/capability.c 2011-04-17 15:56:46.000000000 = -0400 @@ -890,7 +890,7 @@ static void cap_audit_rule_free(void *ls } #endif /* CONFIG_AUDIT */ @@ -79250,9 +79337,9 @@ diff -urNp linux-2.6.32.48/security/capability.c = linux-2.6.32.48/security/capabi .name =3D "default", }; =20 -diff -urNp linux-2.6.32.48/security/commoncap.c linux-2.6.32.48/security= /commoncap.c ---- linux-2.6.32.48/security/commoncap.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/security/commoncap.c 2011-11-12 12:46:53.000000000 -= 0500 +diff -urNp linux-2.6.32.46/security/commoncap.c linux-2.6.32.46/security= /commoncap.c +--- linux-2.6.32.46/security/commoncap.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/security/commoncap.c 2011-08-17 19:22:13.000000000 -= 0400 @@ -27,7 +27,7 @@ #include #include @@ -79291,9 +79378,9 @@ diff -urNp linux-2.6.32.48/security/commoncap.c l= inux-2.6.32.48/security/commonc if (cred->uid !=3D 0) { if (bprm->cap_effective) return 1; -diff -urNp linux-2.6.32.48/security/integrity/ima/ima_api.c linux-2.6.32= .48/security/integrity/ima/ima_api.c ---- linux-2.6.32.48/security/integrity/ima/ima_api.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/security/integrity/ima/ima_api.c 2011-11-12 12:46:53= .000000000 -0500 +diff -urNp linux-2.6.32.46/security/integrity/ima/ima_api.c linux-2.6.32= .46/security/integrity/ima/ima_api.c +--- linux-2.6.32.46/security/integrity/ima/ima_api.c 2011-03-27 14:31:47= .000000000 -0400 ++++ linux-2.6.32.46/security/integrity/ima/ima_api.c 2011-04-17 15:56:46= .000000000 -0400 @@ -74,7 +74,7 @@ void ima_add_violation(struct inode *ino int result; =20 @@ -79303,9 +79390,9 @@ diff -urNp linux-2.6.32.48/security/integrity/ima= /ima_api.c linux-2.6.32.48/secu =20 entry =3D kmalloc(sizeof(*entry), GFP_KERNEL); if (!entry) { -diff -urNp linux-2.6.32.48/security/integrity/ima/ima_fs.c linux-2.6.32.= 48/security/integrity/ima/ima_fs.c ---- linux-2.6.32.48/security/integrity/ima/ima_fs.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/security/integrity/ima/ima_fs.c 2011-11-12 12:46:53.= 000000000 -0500 +diff -urNp linux-2.6.32.46/security/integrity/ima/ima_fs.c linux-2.6.32.= 46/security/integrity/ima/ima_fs.c +--- linux-2.6.32.46/security/integrity/ima/ima_fs.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/security/integrity/ima/ima_fs.c 2011-04-17 15:56:46.= 000000000 -0400 @@ -27,12 +27,12 @@ static int valid_policy =3D 1; #define TMPBUFLEN 12 @@ -79321,9 +79408,9 @@ diff -urNp linux-2.6.32.48/security/integrity/ima= /ima_fs.c linux-2.6.32.48/secur return simple_read_from_buffer(buf, count, ppos, tmpbuf, len); } =20 -diff -urNp linux-2.6.32.48/security/integrity/ima/ima.h linux-2.6.32.48/= security/integrity/ima/ima.h ---- linux-2.6.32.48/security/integrity/ima/ima.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/security/integrity/ima/ima.h 2011-11-12 12:46:53.000= 000000 -0500 +diff -urNp linux-2.6.32.46/security/integrity/ima/ima.h linux-2.6.32.46/= security/integrity/ima/ima.h +--- linux-2.6.32.46/security/integrity/ima/ima.h 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/security/integrity/ima/ima.h 2011-04-17 15:56:46.000= 000000 -0400 @@ -84,8 +84,8 @@ void ima_add_violation(struct inode *ino extern spinlock_t ima_queue_lock; =20 @@ -79335,9 +79422,9 @@ diff -urNp linux-2.6.32.48/security/integrity/ima= /ima.h linux-2.6.32.48/security struct hlist_head queue[IMA_MEASURE_HTABLE_SIZE]; }; extern struct ima_h_table ima_htable; -diff -urNp linux-2.6.32.48/security/integrity/ima/ima_queue.c linux-2.6.= 32.48/security/integrity/ima/ima_queue.c ---- linux-2.6.32.48/security/integrity/ima/ima_queue.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/security/integrity/ima/ima_queue.c 2011-11-12 12:46:= 53.000000000 -0500 +diff -urNp linux-2.6.32.46/security/integrity/ima/ima_queue.c linux-2.6.= 32.46/security/integrity/ima/ima_queue.c +--- linux-2.6.32.46/security/integrity/ima/ima_queue.c 2011-03-27 14:31:= 47.000000000 -0400 ++++ linux-2.6.32.46/security/integrity/ima/ima_queue.c 2011-04-17 15:56:= 46.000000000 -0400 @@ -78,7 +78,7 @@ static int ima_add_digest_entry(struct i INIT_LIST_HEAD(&qe->later); list_add_tail_rcu(&qe->later, &ima_measurements); @@ -79347,9 +79434,9 @@ diff -urNp linux-2.6.32.48/security/integrity/ima= /ima_queue.c linux-2.6.32.48/se key =3D ima_hash_key(entry->digest); hlist_add_head_rcu(&qe->hnext, &ima_htable.queue[key]); return 0; -diff -urNp linux-2.6.32.48/security/Kconfig linux-2.6.32.48/security/Kco= nfig ---- linux-2.6.32.48/security/Kconfig 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/security/Kconfig 2011-11-12 12:46:53.000000000 -0500 +diff -urNp linux-2.6.32.46/security/Kconfig linux-2.6.32.46/security/Kco= nfig +--- linux-2.6.32.46/security/Kconfig 2011-03-27 14:31:47.000000000 -0400 ++++ linux-2.6.32.46/security/Kconfig 2011-10-06 09:38:20.000000000 -0400 @@ -4,6 +4,559 @@ =20 menu "Security options" @@ -79919,9 +80006,9 @@ diff -urNp linux-2.6.32.48/security/Kconfig linux= -2.6.32.48/security/Kconfig help This is the portion of low virtual memory which should be protected from userspace allocation. Keeping a user from writing to low pages -diff -urNp linux-2.6.32.48/security/keys/keyring.c linux-2.6.32.48/secur= ity/keys/keyring.c ---- linux-2.6.32.48/security/keys/keyring.c 2011-11-12 12:44:30.00000000= 0 -0500 -+++ linux-2.6.32.48/security/keys/keyring.c 2011-11-12 12:46:53.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/security/keys/keyring.c linux-2.6.32.46/secur= ity/keys/keyring.c +--- linux-2.6.32.46/security/keys/keyring.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/security/keys/keyring.c 2011-04-18 22:03:00.00000000= 0 -0400 @@ -214,15 +214,15 @@ static long keyring_read(const struct ke ret =3D -EFAULT; =20 @@ -79941,9 +80028,9 @@ diff -urNp linux-2.6.32.48/security/keys/keyring.= c linux-2.6.32.48/security/keys goto error; =20 buflen -=3D tmp; -diff -urNp linux-2.6.32.48/security/min_addr.c linux-2.6.32.48/security/= min_addr.c ---- linux-2.6.32.48/security/min_addr.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/security/min_addr.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/security/min_addr.c linux-2.6.32.46/security/= min_addr.c +--- linux-2.6.32.46/security/min_addr.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/security/min_addr.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -14,6 +14,7 @@ unsigned long dac_mmap_min_addr =3D CONFIG */ static void update_mmap_min_addr(void) @@ -79960,9 +80047,9 @@ diff -urNp linux-2.6.32.48/security/min_addr.c li= nux-2.6.32.48/security/min_addr } =20 /* -diff -urNp linux-2.6.32.48/security/root_plug.c linux-2.6.32.48/security= /root_plug.c ---- linux-2.6.32.48/security/root_plug.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/security/root_plug.c 2011-11-12 12:46:53.000000000 -= 0500 +diff -urNp linux-2.6.32.46/security/root_plug.c linux-2.6.32.46/security= /root_plug.c +--- linux-2.6.32.46/security/root_plug.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/security/root_plug.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -70,7 +70,7 @@ static int rootplug_bprm_check_security=20 return 0; } @@ -79972,9 +80059,9 @@ diff -urNp linux-2.6.32.48/security/root_plug.c l= inux-2.6.32.48/security/root_pl .bprm_check_security =3D rootplug_bprm_check_security, }; =20 -diff -urNp linux-2.6.32.48/security/security.c linux-2.6.32.48/security/= security.c ---- linux-2.6.32.48/security/security.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/security/security.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/security/security.c linux-2.6.32.46/security/= security.c +--- linux-2.6.32.46/security/security.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/security/security.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -24,7 +24,7 @@ static __initdata char chosen_lsm[SECURI extern struct security_operations default_security_ops; extern void security_fixup_ops(struct security_operations *ops); @@ -79993,9 +80080,9 @@ diff -urNp linux-2.6.32.48/security/security.c li= nux-2.6.32.48/security/security { if (verify(ops)) { printk(KERN_DEBUG "%s could not verify " -diff -urNp linux-2.6.32.48/security/selinux/hooks.c linux-2.6.32.48/secu= rity/selinux/hooks.c ---- linux-2.6.32.48/security/selinux/hooks.c 2011-11-12 12:44:30.0000000= 00 -0500 -+++ linux-2.6.32.48/security/selinux/hooks.c 2011-11-12 12:46:53.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/security/selinux/hooks.c linux-2.6.32.46/secu= rity/selinux/hooks.c +--- linux-2.6.32.46/security/selinux/hooks.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/security/selinux/hooks.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -131,7 +131,7 @@ int selinux_enabled =3D 1; * Minimal support for a secondary security module, * just to allow the use of the capability module. @@ -80024,9 +80111,9 @@ diff -urNp linux-2.6.32.48/security/selinux/hooks= .c linux-2.6.32.48/security/sel =20 /* Unregister netfilter hooks. */ selinux_nf_ip_exit(); -diff -urNp linux-2.6.32.48/security/selinux/include/xfrm.h linux-2.6.32.= 48/security/selinux/include/xfrm.h ---- linux-2.6.32.48/security/selinux/include/xfrm.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/security/selinux/include/xfrm.h 2011-11-12 12:46:53.= 000000000 -0500 +diff -urNp linux-2.6.32.46/security/selinux/include/xfrm.h linux-2.6.32.= 46/security/selinux/include/xfrm.h +--- linux-2.6.32.46/security/selinux/include/xfrm.h 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/security/selinux/include/xfrm.h 2011-05-18 20:09:37.= 000000000 -0400 @@ -48,7 +48,7 @@ int selinux_xfrm_decode_session(struct s =20 static inline void selinux_xfrm_notify_policyload(void) @@ -80036,9 +80123,9 @@ diff -urNp linux-2.6.32.48/security/selinux/inclu= de/xfrm.h linux-2.6.32.48/secur } #else static inline int selinux_xfrm_enabled(void) -diff -urNp linux-2.6.32.48/security/selinux/ss/services.c linux-2.6.32.4= 8/security/selinux/ss/services.c ---- linux-2.6.32.48/security/selinux/ss/services.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/security/selinux/ss/services.c 2011-11-12 12:46:53.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/security/selinux/ss/services.c linux-2.6.32.4= 6/security/selinux/ss/services.c +--- linux-2.6.32.46/security/selinux/ss/services.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/security/selinux/ss/services.c 2011-05-16 21:46:57.0= 00000000 -0400 @@ -1715,6 +1715,8 @@ int security_load_policy(void *data, siz int rc =3D 0; struct policy_file file =3D { data, len }, *fp =3D &file; @@ -80048,9 +80135,9 @@ diff -urNp linux-2.6.32.48/security/selinux/ss/se= rvices.c linux-2.6.32.48/securi if (!ss_initialized) { avtab_cache_init(); if (policydb_read(&policydb, fp)) { -diff -urNp linux-2.6.32.48/security/smack/smack_lsm.c linux-2.6.32.48/se= curity/smack/smack_lsm.c ---- linux-2.6.32.48/security/smack/smack_lsm.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/security/smack/smack_lsm.c 2011-11-12 12:46:53.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/security/smack/smack_lsm.c linux-2.6.32.46/se= curity/smack/smack_lsm.c +--- linux-2.6.32.46/security/smack/smack_lsm.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/security/smack/smack_lsm.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -3073,7 +3073,7 @@ static int smack_inode_getsecctx(struct=20 return 0; } @@ -80060,9 +80147,9 @@ diff -urNp linux-2.6.32.48/security/smack/smack_l= sm.c linux-2.6.32.48/security/s .name =3D "smack", =20 .ptrace_access_check =3D smack_ptrace_access_check, -diff -urNp linux-2.6.32.48/security/tomoyo/tomoyo.c linux-2.6.32.48/secu= rity/tomoyo/tomoyo.c ---- linux-2.6.32.48/security/tomoyo/tomoyo.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/security/tomoyo/tomoyo.c 2011-11-12 12:46:53.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/security/tomoyo/tomoyo.c linux-2.6.32.46/secu= rity/tomoyo/tomoyo.c +--- linux-2.6.32.46/security/tomoyo/tomoyo.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/security/tomoyo/tomoyo.c 2011-04-17 15:56:46.0000000= 00 -0400 @@ -275,7 +275,7 @@ static int tomoyo_dentry_open(struct fil * tomoyo_security_ops is a "struct security_operations" which is used = for * registering TOMOYO. @@ -80072,9 +80159,9 @@ diff -urNp linux-2.6.32.48/security/tomoyo/tomoyo= .c linux-2.6.32.48/security/tom .name =3D "tomoyo", .cred_alloc_blank =3D tomoyo_cred_alloc_blank, .cred_prepare =3D tomoyo_cred_prepare, -diff -urNp linux-2.6.32.48/sound/aoa/codecs/onyx.c linux-2.6.32.48/sound= /aoa/codecs/onyx.c ---- linux-2.6.32.48/sound/aoa/codecs/onyx.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/sound/aoa/codecs/onyx.c 2011-11-12 12:46:53.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/sound/aoa/codecs/onyx.c linux-2.6.32.46/sound= /aoa/codecs/onyx.c +--- linux-2.6.32.46/sound/aoa/codecs/onyx.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/sound/aoa/codecs/onyx.c 2011-04-17 15:56:46.00000000= 0 -0400 @@ -53,7 +53,7 @@ struct onyx { spdif_locked:1, analog_locked:1, @@ -80103,9 +80190,9 @@ diff -urNp linux-2.6.32.48/sound/aoa/codecs/onyx.= c linux-2.6.32.48/sound/aoa/cod onyx->spdif_locked =3D onyx->analog_locked =3D 0; mutex_unlock(&onyx->mutex); =20 -diff -urNp linux-2.6.32.48/sound/aoa/codecs/onyx.h linux-2.6.32.48/sound= /aoa/codecs/onyx.h ---- linux-2.6.32.48/sound/aoa/codecs/onyx.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/sound/aoa/codecs/onyx.h 2011-11-12 12:46:53.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/sound/aoa/codecs/onyx.h linux-2.6.32.46/sound= /aoa/codecs/onyx.h +--- linux-2.6.32.46/sound/aoa/codecs/onyx.h 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/sound/aoa/codecs/onyx.h 2011-04-17 15:56:46.00000000= 0 -0400 @@ -11,6 +11,7 @@ #include #include @@ -80114,9 +80201,9 @@ diff -urNp linux-2.6.32.48/sound/aoa/codecs/onyx.= h linux-2.6.32.48/sound/aoa/cod =20 /* PCM3052 register definitions */ =20 -diff -urNp linux-2.6.32.48/sound/core/oss/pcm_oss.c linux-2.6.32.48/soun= d/core/oss/pcm_oss.c ---- linux-2.6.32.48/sound/core/oss/pcm_oss.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/sound/core/oss/pcm_oss.c 2011-11-12 12:46:53.0000000= 00 -0500 +diff -urNp linux-2.6.32.46/sound/core/oss/pcm_oss.c linux-2.6.32.46/soun= d/core/oss/pcm_oss.c +--- linux-2.6.32.46/sound/core/oss/pcm_oss.c 2011-03-27 14:31:47.0000000= 00 -0400 ++++ linux-2.6.32.46/sound/core/oss/pcm_oss.c 2011-10-06 09:37:16.0000000= 00 -0400 @@ -1395,7 +1395,7 @@ static ssize_t snd_pcm_oss_write1(struct } } else { @@ -80135,9 +80222,9 @@ diff -urNp linux-2.6.32.48/sound/core/oss/pcm_oss= .c linux-2.6.32.48/sound/core/o runtime->oss.period_bytes, 0); if (tmp <=3D 0) goto err; -diff -urNp linux-2.6.32.48/sound/core/pcm_compat.c linux-2.6.32.48/sound= /core/pcm_compat.c ---- linux-2.6.32.48/sound/core/pcm_compat.c 2011-11-12 12:44:30.00000000= 0 -0500 -+++ linux-2.6.32.48/sound/core/pcm_compat.c 2011-11-12 12:46:53.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/sound/core/pcm_compat.c linux-2.6.32.46/sound= /core/pcm_compat.c +--- linux-2.6.32.46/sound/core/pcm_compat.c 2011-08-09 18:35:30.00000000= 0 -0400 ++++ linux-2.6.32.46/sound/core/pcm_compat.c 2011-10-06 09:37:16.00000000= 0 -0400 @@ -30,7 +30,7 @@ static int snd_pcm_ioctl_delay_compat(st int err; =20 @@ -80147,9 +80234,9 @@ diff -urNp linux-2.6.32.48/sound/core/pcm_compat.= c linux-2.6.32.48/sound/core/pc snd_leave_user(fs); if (err < 0) return err; -diff -urNp linux-2.6.32.48/sound/core/pcm_native.c linux-2.6.32.48/sound= /core/pcm_native.c ---- linux-2.6.32.48/sound/core/pcm_native.c 2011-11-12 12:44:30.00000000= 0 -0500 -+++ linux-2.6.32.48/sound/core/pcm_native.c 2011-11-12 12:46:53.00000000= 0 -0500 +diff -urNp linux-2.6.32.46/sound/core/pcm_native.c linux-2.6.32.46/sound= /core/pcm_native.c +--- linux-2.6.32.46/sound/core/pcm_native.c 2011-03-27 14:31:47.00000000= 0 -0400 ++++ linux-2.6.32.46/sound/core/pcm_native.c 2011-10-06 09:37:16.00000000= 0 -0400 @@ -2747,11 +2747,11 @@ int snd_pcm_kernel_ioctl(struct snd_pcm_ switch (substream->stream) { case SNDRV_PCM_STREAM_PLAYBACK: @@ -80164,9 +80251,9 @@ diff -urNp linux-2.6.32.48/sound/core/pcm_native.= c linux-2.6.32.48/sound/core/pc break; default: result =3D -EINVAL; -diff -urNp linux-2.6.32.48/sound/core/seq/seq_device.c linux-2.6.32.48/s= ound/core/seq/seq_device.c ---- linux-2.6.32.48/sound/core/seq/seq_device.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/sound/core/seq/seq_device.c 2011-11-12 12:46:53.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/sound/core/seq/seq_device.c linux-2.6.32.46/s= ound/core/seq/seq_device.c +--- linux-2.6.32.46/sound/core/seq/seq_device.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/sound/core/seq/seq_device.c 2011-08-05 20:33:55.0000= 00000 -0400 @@ -63,7 +63,7 @@ struct ops_list { int argsize; /* argument size */ =20 @@ -80203,9 +80290,9 @@ diff -urNp linux-2.6.32.48/sound/core/seq/seq_dev= ice.c linux-2.6.32.48/sound/cor dev->status =3D SNDRV_SEQ_DEVICE_FREE; dev->driver_data =3D NULL; ops->num_init_devices--; -diff -urNp linux-2.6.32.48/sound/drivers/mts64.c linux-2.6.32.48/sound/d= rivers/mts64.c ---- linux-2.6.32.48/sound/drivers/mts64.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/sound/drivers/mts64.c 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/sound/drivers/mts64.c linux-2.6.32.46/sound/d= rivers/mts64.c +--- linux-2.6.32.46/sound/drivers/mts64.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/sound/drivers/mts64.c 2011-04-17 15:56:46.000000000 = -0400 @@ -27,6 +27,7 @@ #include #include @@ -80262,9 +80349,9 @@ diff -urNp linux-2.6.32.48/sound/drivers/mts64.c = linux-2.6.32.48/sound/drivers/m =20 return 0; } -diff -urNp linux-2.6.32.48/sound/drivers/opl4/opl4_lib.c linux-2.6.32.48= /sound/drivers/opl4/opl4_lib.c ---- linux-2.6.32.48/sound/drivers/opl4/opl4_lib.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/sound/drivers/opl4/opl4_lib.c 2011-11-12 12:46:53.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/sound/drivers/opl4/opl4_lib.c linux-2.6.32.46= /sound/drivers/opl4/opl4_lib.c +--- linux-2.6.32.46/sound/drivers/opl4/opl4_lib.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/sound/drivers/opl4/opl4_lib.c 2011-08-05 20:33:55.00= 0000000 -0400 @@ -27,7 +27,7 @@ MODULE_AUTHOR("Clemens Ladisch fm_port) & OPL4_STATUS_BUSY) && --timeout > 0) -diff -urNp linux-2.6.32.48/sound/drivers/portman2x4.c linux-2.6.32.48/so= und/drivers/portman2x4.c ---- linux-2.6.32.48/sound/drivers/portman2x4.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/sound/drivers/portman2x4.c 2011-11-12 12:46:53.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/sound/drivers/portman2x4.c linux-2.6.32.46/so= und/drivers/portman2x4.c +--- linux-2.6.32.46/sound/drivers/portman2x4.c 2011-03-27 14:31:47.00000= 0000 -0400 ++++ linux-2.6.32.46/sound/drivers/portman2x4.c 2011-04-17 15:56:46.00000= 0000 -0400 @@ -46,6 +46,7 @@ #include #include @@ -80294,9 +80381,9 @@ diff -urNp linux-2.6.32.48/sound/drivers/portman2= x4.c linux-2.6.32.48/sound/driv int mode[PORTMAN_NUM_INPUT_PORTS]; struct snd_rawmidi_substream *midi_input[PORTMAN_NUM_INPUT_PORTS]; }; -diff -urNp linux-2.6.32.48/sound/isa/cmi8330.c linux-2.6.32.48/sound/isa= /cmi8330.c ---- linux-2.6.32.48/sound/isa/cmi8330.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/sound/isa/cmi8330.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/sound/isa/cmi8330.c linux-2.6.32.46/sound/isa= /cmi8330.c +--- linux-2.6.32.46/sound/isa/cmi8330.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/sound/isa/cmi8330.c 2011-08-23 21:22:32.000000000 -0= 400 @@ -173,7 +173,7 @@ struct snd_cmi8330 { =20 struct snd_pcm *pcm; @@ -80306,9 +80393,9 @@ diff -urNp linux-2.6.32.48/sound/isa/cmi8330.c li= nux-2.6.32.48/sound/isa/cmi8330 snd_pcm_open_callback_t open; void *private_data; /* sb or wss */ } streams[2]; -diff -urNp linux-2.6.32.48/sound/oss/sb_audio.c linux-2.6.32.48/sound/os= s/sb_audio.c ---- linux-2.6.32.48/sound/oss/sb_audio.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/sound/oss/sb_audio.c 2011-11-12 12:46:53.000000000 -= 0500 +diff -urNp linux-2.6.32.46/sound/oss/sb_audio.c linux-2.6.32.46/sound/os= s/sb_audio.c +--- linux-2.6.32.46/sound/oss/sb_audio.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/sound/oss/sb_audio.c 2011-04-17 15:56:46.000000000 -= 0400 @@ -901,7 +901,7 @@ sb16_copy_from_user(int dev, buf16 =3D (signed short *)(localbuf + localoffs); while (c) @@ -80318,9 +80405,9 @@ diff -urNp linux-2.6.32.48/sound/oss/sb_audio.c l= inux-2.6.32.48/sound/oss/sb_aud if (copy_from_user(lbuf8, userbuf+useroffs + p, locallen)) -diff -urNp linux-2.6.32.48/sound/oss/swarm_cs4297a.c linux-2.6.32.48/sou= nd/oss/swarm_cs4297a.c ---- linux-2.6.32.48/sound/oss/swarm_cs4297a.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/sound/oss/swarm_cs4297a.c 2011-11-12 12:46:53.000000= 000 -0500 +diff -urNp linux-2.6.32.46/sound/oss/swarm_cs4297a.c linux-2.6.32.46/sou= nd/oss/swarm_cs4297a.c +--- linux-2.6.32.46/sound/oss/swarm_cs4297a.c 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/sound/oss/swarm_cs4297a.c 2011-04-17 15:56:46.000000= 000 -0400 @@ -2577,7 +2577,6 @@ static int __init cs4297a_init(void) { struct cs4297a_state *s; @@ -80355,9 +80442,9 @@ diff -urNp linux-2.6.32.48/sound/oss/swarm_cs4297= a.c linux-2.6.32.48/sound/oss/s =20 list_add(&s->list, &cs4297a_devs); =20 -diff -urNp linux-2.6.32.48/sound/pci/ac97/ac97_codec.c linux-2.6.32.48/s= ound/pci/ac97/ac97_codec.c ---- linux-2.6.32.48/sound/pci/ac97/ac97_codec.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/sound/pci/ac97/ac97_codec.c 2011-11-12 12:46:53.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/sound/pci/ac97/ac97_codec.c linux-2.6.32.46/s= ound/pci/ac97/ac97_codec.c +--- linux-2.6.32.46/sound/pci/ac97/ac97_codec.c 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/sound/pci/ac97/ac97_codec.c 2011-04-17 15:56:46.0000= 00000 -0400 @@ -1952,7 +1952,7 @@ static int snd_ac97_dev_disconnect(struc } =20 @@ -80367,9 +80454,9 @@ diff -urNp linux-2.6.32.48/sound/pci/ac97/ac97_co= dec.c linux-2.6.32.48/sound/pci =20 #ifdef CONFIG_SND_AC97_POWER_SAVE static void do_update_power(struct work_struct *work) -diff -urNp linux-2.6.32.48/sound/pci/ac97/ac97_patch.c linux-2.6.32.48/s= ound/pci/ac97/ac97_patch.c ---- linux-2.6.32.48/sound/pci/ac97/ac97_patch.c 2011-11-12 12:44:30.0000= 00000 -0500 -+++ linux-2.6.32.48/sound/pci/ac97/ac97_patch.c 2011-11-12 12:46:53.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/sound/pci/ac97/ac97_patch.c linux-2.6.32.46/s= ound/pci/ac97/ac97_patch.c +--- linux-2.6.32.46/sound/pci/ac97/ac97_patch.c 2011-08-29 22:24:44.0000= 00000 -0400 ++++ linux-2.6.32.46/sound/pci/ac97/ac97_patch.c 2011-08-29 22:25:07.0000= 00000 -0400 @@ -371,7 +371,7 @@ static int patch_yamaha_ymf743_build_spd return 0; } @@ -80658,9 +80745,9 @@ diff -urNp linux-2.6.32.48/sound/pci/ac97/ac97_pa= tch.c linux-2.6.32.48/sound/pci .build_specific =3D patch_ucb1400_specific, }; =20 -diff -urNp linux-2.6.32.48/sound/pci/hda/hda_codec.h linux-2.6.32.48/sou= nd/pci/hda/hda_codec.h ---- linux-2.6.32.48/sound/pci/hda/hda_codec.h 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/sound/pci/hda/hda_codec.h 2011-11-12 12:46:53.000000= 000 -0500 +diff -urNp linux-2.6.32.46/sound/pci/hda/hda_codec.h linux-2.6.32.46/sou= nd/pci/hda/hda_codec.h +--- linux-2.6.32.46/sound/pci/hda/hda_codec.h 2011-03-27 14:31:47.000000= 000 -0400 ++++ linux-2.6.32.46/sound/pci/hda/hda_codec.h 2011-08-23 21:22:32.000000= 000 -0400 @@ -580,7 +580,7 @@ struct hda_bus_ops { /* notify power-up/down from codec to controller */ void (*pm_notify)(struct hda_bus *bus); @@ -80696,9 +80783,9 @@ diff -urNp linux-2.6.32.48/sound/pci/hda/hda_code= c.h linux-2.6.32.48/sound/pci/h =20 /* PCM to create, set by patch_ops.build_pcms callback */ unsigned int num_pcms; -diff -urNp linux-2.6.32.48/sound/pci/hda/patch_atihdmi.c linux-2.6.32.48= /sound/pci/hda/patch_atihdmi.c ---- linux-2.6.32.48/sound/pci/hda/patch_atihdmi.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/sound/pci/hda/patch_atihdmi.c 2011-11-12 12:46:53.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/sound/pci/hda/patch_atihdmi.c linux-2.6.32.46= /sound/pci/hda/patch_atihdmi.c +--- linux-2.6.32.46/sound/pci/hda/patch_atihdmi.c 2011-03-27 14:31:47.00= 0000000 -0400 ++++ linux-2.6.32.46/sound/pci/hda/patch_atihdmi.c 2011-08-05 20:33:55.00= 0000000 -0400 @@ -177,7 +177,7 @@ static int patch_atihdmi(struct hda_code */ spec->multiout.dig_out_nid =3D CVT_NID; @@ -80708,9 +80795,9 @@ diff -urNp linux-2.6.32.48/sound/pci/hda/patch_at= ihdmi.c linux-2.6.32.48/sound/p =20 return 0; } -diff -urNp linux-2.6.32.48/sound/pci/hda/patch_intelhdmi.c linux-2.6.32.= 48/sound/pci/hda/patch_intelhdmi.c ---- linux-2.6.32.48/sound/pci/hda/patch_intelhdmi.c 2011-11-12 12:44:30.= 000000000 -0500 -+++ linux-2.6.32.48/sound/pci/hda/patch_intelhdmi.c 2011-11-12 12:46:53.= 000000000 -0500 +diff -urNp linux-2.6.32.46/sound/pci/hda/patch_intelhdmi.c linux-2.6.32.= 46/sound/pci/hda/patch_intelhdmi.c +--- linux-2.6.32.46/sound/pci/hda/patch_intelhdmi.c 2011-03-27 14:31:47.= 000000000 -0400 ++++ linux-2.6.32.46/sound/pci/hda/patch_intelhdmi.c 2011-08-05 20:33:55.= 000000000 -0400 @@ -511,10 +511,10 @@ static void hdmi_non_intrinsic_event(str cp_ready); =20 @@ -80735,9 +80822,9 @@ diff -urNp linux-2.6.32.48/sound/pci/hda/patch_in= telhdmi.c linux-2.6.32.48/sound =20 snd_hda_eld_proc_new(codec, &spec->sink_eld); =20 -diff -urNp linux-2.6.32.48/sound/pci/hda/patch_nvhdmi.c linux-2.6.32.48/= sound/pci/hda/patch_nvhdmi.c ---- linux-2.6.32.48/sound/pci/hda/patch_nvhdmi.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/sound/pci/hda/patch_nvhdmi.c 2011-11-12 12:46:53.000= 000000 -0500 +diff -urNp linux-2.6.32.46/sound/pci/hda/patch_nvhdmi.c linux-2.6.32.46/= sound/pci/hda/patch_nvhdmi.c +--- linux-2.6.32.46/sound/pci/hda/patch_nvhdmi.c 2011-03-27 14:31:47.000= 000000 -0400 ++++ linux-2.6.32.46/sound/pci/hda/patch_nvhdmi.c 2011-08-05 20:33:55.000= 000000 -0400 @@ -367,7 +367,7 @@ static int patch_nvhdmi_8ch(struct hda_c spec->multiout.max_channels =3D 8; spec->multiout.dig_out_nid =3D Nv_Master_Convert_nid; @@ -80756,9 +80843,9 @@ diff -urNp linux-2.6.32.48/sound/pci/hda/patch_nv= hdmi.c linux-2.6.32.48/sound/pc =20 return 0; } -diff -urNp linux-2.6.32.48/sound/pci/hda/patch_sigmatel.c linux-2.6.32.4= 8/sound/pci/hda/patch_sigmatel.c ---- linux-2.6.32.48/sound/pci/hda/patch_sigmatel.c 2011-11-12 12:44:30.0= 00000000 -0500 -+++ linux-2.6.32.48/sound/pci/hda/patch_sigmatel.c 2011-11-12 12:46:53.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/sound/pci/hda/patch_sigmatel.c linux-2.6.32.4= 6/sound/pci/hda/patch_sigmatel.c +--- linux-2.6.32.46/sound/pci/hda/patch_sigmatel.c 2011-06-25 12:55:35.0= 00000000 -0400 ++++ linux-2.6.32.46/sound/pci/hda/patch_sigmatel.c 2011-08-23 21:22:32.0= 00000000 -0400 @@ -5220,7 +5220,7 @@ again: snd_hda_codec_write_cache(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, num_dacs); @@ -80777,9 +80864,9 @@ diff -urNp linux-2.6.32.48/sound/pci/hda/patch_si= gmatel.c linux-2.6.32.48/sound/ spec->num_pins =3D STAC92HD71BXX_NUM_PINS; switch (codec->vendor_id) { case 0x111d76b6: -diff -urNp linux-2.6.32.48/sound/pci/ice1712/ice1712.h linux-2.6.32.48/s= ound/pci/ice1712/ice1712.h ---- linux-2.6.32.48/sound/pci/ice1712/ice1712.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/sound/pci/ice1712/ice1712.h 2011-11-12 12:46:53.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/sound/pci/ice1712/ice1712.h linux-2.6.32.46/s= ound/pci/ice1712/ice1712.h +--- linux-2.6.32.46/sound/pci/ice1712/ice1712.h 2011-03-27 14:31:47.0000= 00000 -0400 ++++ linux-2.6.32.46/sound/pci/ice1712/ice1712.h 2011-08-05 20:33:55.0000= 00000 -0400 @@ -269,7 +269,7 @@ struct snd_ak4xxx_private { unsigned int mask_flags; /* total mask bits */ struct snd_akm4xxx_ops { @@ -80798,9 +80885,9 @@ diff -urNp linux-2.6.32.48/sound/pci/ice1712/ice1= 712.h linux-2.6.32.48/sound/pci }; =20 =20 -diff -urNp linux-2.6.32.48/sound/pci/intel8x0m.c linux-2.6.32.48/sound/p= ci/intel8x0m.c ---- linux-2.6.32.48/sound/pci/intel8x0m.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/sound/pci/intel8x0m.c 2011-11-12 12:46:53.000000000 = -0500 +diff -urNp linux-2.6.32.46/sound/pci/intel8x0m.c linux-2.6.32.46/sound/p= ci/intel8x0m.c +--- linux-2.6.32.46/sound/pci/intel8x0m.c 2011-03-27 14:31:47.000000000 = -0400 ++++ linux-2.6.32.46/sound/pci/intel8x0m.c 2011-04-23 12:56:12.000000000 = -0400 @@ -1264,7 +1264,7 @@ static struct shortname_table { { 0x5455, "ALi M5455" }, { 0x746d, "AMD AMD8111" }, @@ -80810,9 +80897,9 @@ diff -urNp linux-2.6.32.48/sound/pci/intel8x0m.c = linux-2.6.32.48/sound/pci/intel }; =20 static int __devinit snd_intel8x0m_probe(struct pci_dev *pci, -diff -urNp linux-2.6.32.48/sound/pci/ymfpci/ymfpci_main.c linux-2.6.32.4= 8/sound/pci/ymfpci/ymfpci_main.c ---- linux-2.6.32.48/sound/pci/ymfpci/ymfpci_main.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/sound/pci/ymfpci/ymfpci_main.c 2011-11-12 12:46:53.0= 00000000 -0500 +diff -urNp linux-2.6.32.46/sound/pci/ymfpci/ymfpci_main.c linux-2.6.32.4= 6/sound/pci/ymfpci/ymfpci_main.c +--- linux-2.6.32.46/sound/pci/ymfpci/ymfpci_main.c 2011-03-27 14:31:47.0= 00000000 -0400 ++++ linux-2.6.32.46/sound/pci/ymfpci/ymfpci_main.c 2011-05-04 17:56:28.0= 00000000 -0400 @@ -202,8 +202,8 @@ static void snd_ymfpci_hw_stop(struct sn if ((snd_ymfpci_readl(chip, YDSXGR_STATUS) & 2) =3D=3D 0) break; @@ -80853,9 +80940,9 @@ diff -urNp linux-2.6.32.48/sound/pci/ymfpci/ymfpc= i_main.c linux-2.6.32.48/sound/ chip->card =3D card; chip->pci =3D pci; chip->irq =3D -1; -diff -urNp linux-2.6.32.48/sound/soc/soc-core.c linux-2.6.32.48/sound/so= c/soc-core.c ---- linux-2.6.32.48/sound/soc/soc-core.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/sound/soc/soc-core.c 2011-11-12 12:46:53.000000000 -= 0500 +diff -urNp linux-2.6.32.46/sound/soc/soc-core.c linux-2.6.32.46/sound/so= c/soc-core.c +--- linux-2.6.32.46/sound/soc/soc-core.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/sound/soc/soc-core.c 2011-08-23 21:22:32.000000000 -= 0400 @@ -609,7 +609,7 @@ static int soc_pcm_trigger(struct snd_pc } =20 @@ -80865,9 +80952,9 @@ diff -urNp linux-2.6.32.48/sound/soc/soc-core.c l= inux-2.6.32.48/sound/soc/soc-co .open =3D soc_pcm_open, .close =3D soc_codec_close, .hw_params =3D soc_pcm_hw_params, -diff -urNp linux-2.6.32.48/sound/usb/usbaudio.c linux-2.6.32.48/sound/us= b/usbaudio.c ---- linux-2.6.32.48/sound/usb/usbaudio.c 2011-11-12 12:44:30.000000000 -= 0500 -+++ linux-2.6.32.48/sound/usb/usbaudio.c 2011-11-12 12:46:53.000000000 -= 0500 +diff -urNp linux-2.6.32.46/sound/usb/usbaudio.c linux-2.6.32.46/sound/us= b/usbaudio.c +--- linux-2.6.32.46/sound/usb/usbaudio.c 2011-03-27 14:31:47.000000000 -= 0400 ++++ linux-2.6.32.46/sound/usb/usbaudio.c 2011-08-05 20:33:55.000000000 -= 0400 @@ -963,12 +963,12 @@ static int snd_usb_pcm_playback_trigger( switch (cmd) { case SNDRV_PCM_TRIGGER_START: @@ -80929,9 +81016,9 @@ diff -urNp linux-2.6.32.48/sound/usb/usbaudio.c l= inux-2.6.32.48/sound/usb/usbaud break; } } -diff -urNp linux-2.6.32.48/tools/gcc/checker_plugin.c linux-2.6.32.48/to= ols/gcc/checker_plugin.c ---- linux-2.6.32.48/tools/gcc/checker_plugin.c 1969-12-31 19:00:00.00000= 0000 -0500 -+++ linux-2.6.32.48/tools/gcc/checker_plugin.c 2011-11-12 12:46:53.00000= 0000 -0500 +diff -urNp linux-2.6.32.46/tools/gcc/checker_plugin.c linux-2.6.32.46/to= ols/gcc/checker_plugin.c +--- linux-2.6.32.46/tools/gcc/checker_plugin.c 1969-12-31 19:00:00.00000= 0000 -0500 ++++ linux-2.6.32.46/tools/gcc/checker_plugin.c 2011-10-06 09:37:16.00000= 0000 -0400 @@ -0,0 +1,169 @@ +/* + * Copyright 2011 by the PaX Team @@ -81102,9 +81189,9 @@ diff -urNp linux-2.6.32.48/tools/gcc/checker_plug= in.c linux-2.6.32.48/tools/gcc/ + + return 0; +} -diff -urNp linux-2.6.32.48/tools/gcc/constify_plugin.c linux-2.6.32.48/t= ools/gcc/constify_plugin.c ---- linux-2.6.32.48/tools/gcc/constify_plugin.c 1969-12-31 19:00:00.0000= 00000 -0500 -+++ linux-2.6.32.48/tools/gcc/constify_plugin.c 2011-11-12 12:46:53.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/tools/gcc/constify_plugin.c linux-2.6.32.46/t= ools/gcc/constify_plugin.c +--- linux-2.6.32.46/tools/gcc/constify_plugin.c 1969-12-31 19:00:00.0000= 00000 -0500 ++++ linux-2.6.32.46/tools/gcc/constify_plugin.c 2011-08-30 18:19:52.0000= 00000 -0400 @@ -0,0 +1,293 @@ +/* + * Copyright 2011 by Emese Revfy @@ -81399,9 +81486,9 @@ diff -urNp linux-2.6.32.48/tools/gcc/constify_plu= gin.c linux-2.6.32.48/tools/gcc + + return 0; +} -diff -urNp linux-2.6.32.48/tools/gcc/kallocstat_plugin.c linux-2.6.32.48= /tools/gcc/kallocstat_plugin.c ---- linux-2.6.32.48/tools/gcc/kallocstat_plugin.c 1969-12-31 19:00:00.00= 0000000 -0500 -+++ linux-2.6.32.48/tools/gcc/kallocstat_plugin.c 2011-11-12 12:46:53.00= 0000000 -0500 +diff -urNp linux-2.6.32.46/tools/gcc/kallocstat_plugin.c linux-2.6.32.46= /tools/gcc/kallocstat_plugin.c +--- linux-2.6.32.46/tools/gcc/kallocstat_plugin.c 1969-12-31 19:00:00.00= 0000000 -0500 ++++ linux-2.6.32.46/tools/gcc/kallocstat_plugin.c 2011-10-06 09:37:16.00= 0000000 -0400 @@ -0,0 +1,165 @@ +/* + * Copyright 2011 by the PaX Team @@ -81568,9 +81655,9 @@ diff -urNp linux-2.6.32.48/tools/gcc/kallocstat_p= lugin.c linux-2.6.32.48/tools/g + + return 0; +} -diff -urNp linux-2.6.32.48/tools/gcc/kernexec_plugin.c linux-2.6.32.48/t= ools/gcc/kernexec_plugin.c ---- linux-2.6.32.48/tools/gcc/kernexec_plugin.c 1969-12-31 19:00:00.0000= 00000 -0500 -+++ linux-2.6.32.48/tools/gcc/kernexec_plugin.c 2011-11-12 12:46:53.0000= 00000 -0500 +diff -urNp linux-2.6.32.46/tools/gcc/kernexec_plugin.c linux-2.6.32.46/t= ools/gcc/kernexec_plugin.c +--- linux-2.6.32.46/tools/gcc/kernexec_plugin.c 1969-12-31 19:00:00.0000= 00000 -0500 ++++ linux-2.6.32.46/tools/gcc/kernexec_plugin.c 2011-10-06 09:37:16.0000= 00000 -0400 @@ -0,0 +1,273 @@ +/* + * Copyright 2011 by the PaX Team @@ -81845,9 +81932,9 @@ diff -urNp linux-2.6.32.48/tools/gcc/kernexec_plu= gin.c linux-2.6.32.48/tools/gcc + + return 0; +} -diff -urNp linux-2.6.32.48/tools/gcc/Makefile linux-2.6.32.48/tools/gcc/= Makefile ---- linux-2.6.32.48/tools/gcc/Makefile 1969-12-31 19:00:00.000000000 -05= 00 -+++ linux-2.6.32.48/tools/gcc/Makefile 2011-11-12 12:46:53.000000000 -05= 00 +diff -urNp linux-2.6.32.46/tools/gcc/Makefile linux-2.6.32.46/tools/gcc/= Makefile +--- linux-2.6.32.46/tools/gcc/Makefile 1969-12-31 19:00:00.000000000 -05= 00 ++++ linux-2.6.32.46/tools/gcc/Makefile 2011-10-06 09:37:14.000000000 -04= 00 @@ -0,0 +1,21 @@ +#CC :=3D gcc +#PLUGIN_SOURCE_FILES :=3D pax_plugin.c @@ -81870,9 +81957,9 @@ diff -urNp linux-2.6.32.48/tools/gcc/Makefile lin= ux-2.6.32.48/tools/gcc/Makefile +kallocstat_plugin-objs :=3D kallocstat_plugin.o +kernexec_plugin-objs :=3D kernexec_plugin.o +checker_plugin-objs :=3D checker_plugin.o -diff -urNp linux-2.6.32.48/tools/gcc/stackleak_plugin.c linux-2.6.32.48/= tools/gcc/stackleak_plugin.c ---- linux-2.6.32.48/tools/gcc/stackleak_plugin.c 1969-12-31 19:00:00.000= 000000 -0500 -+++ linux-2.6.32.48/tools/gcc/stackleak_plugin.c 2011-11-12 12:46:53.000= 000000 -0500 +diff -urNp linux-2.6.32.46/tools/gcc/stackleak_plugin.c linux-2.6.32.46/= tools/gcc/stackleak_plugin.c +--- linux-2.6.32.46/tools/gcc/stackleak_plugin.c 1969-12-31 19:00:00.000= 000000 -0500 ++++ linux-2.6.32.46/tools/gcc/stackleak_plugin.c 2011-10-06 09:37:14.000= 000000 -0400 @@ -0,0 +1,251 @@ +/* + * Copyright 2011 by the PaX Team @@ -82125,9 +82212,9 @@ diff -urNp linux-2.6.32.48/tools/gcc/stackleak_pl= ugin.c linux-2.6.32.48/tools/gc + + return 0; +} -diff -urNp linux-2.6.32.48/usr/gen_init_cpio.c linux-2.6.32.48/usr/gen_i= nit_cpio.c ---- linux-2.6.32.48/usr/gen_init_cpio.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/usr/gen_init_cpio.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/usr/gen_init_cpio.c linux-2.6.32.46/usr/gen_i= nit_cpio.c +--- linux-2.6.32.46/usr/gen_init_cpio.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/usr/gen_init_cpio.c 2011-04-17 15:56:46.000000000 -0= 400 @@ -299,7 +299,7 @@ static int cpio_mkfile(const char *name, int retval; int rc =3D -1; @@ -82150,9 +82237,9 @@ diff -urNp linux-2.6.32.48/usr/gen_init_cpio.c li= nux-2.6.32.48/usr/gen_init_cpio } else break; } -diff -urNp linux-2.6.32.48/virt/kvm/kvm_main.c linux-2.6.32.48/virt/kvm/= kvm_main.c ---- linux-2.6.32.48/virt/kvm/kvm_main.c 2011-11-12 12:44:30.000000000 -0= 500 -+++ linux-2.6.32.48/virt/kvm/kvm_main.c 2011-11-12 12:46:53.000000000 -0= 500 +diff -urNp linux-2.6.32.46/virt/kvm/kvm_main.c linux-2.6.32.46/virt/kvm/= kvm_main.c +--- linux-2.6.32.46/virt/kvm/kvm_main.c 2011-03-27 14:31:47.000000000 -0= 400 ++++ linux-2.6.32.46/virt/kvm/kvm_main.c 2011-08-05 20:33:55.000000000 -0= 400 @@ -2494,7 +2494,7 @@ asmlinkage void kvm_handle_fault_on_rebo if (kvm_rebooting) /* spin while reset goes on */ diff --git a/2.6.32/0000_README b/3.0.8/0000_README similarity index 89% copy from 2.6.32/0000_README copy to 3.0.8/0000_README index 5e969f0..1680d79 100644 --- a/2.6.32/0000_README +++ b/3.0.8/0000_README @@ -3,7 +3,15 @@ README =20 Individual Patch Descriptions: ------------------------------------------------------------------------= ----- -Patch: 4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch +Patch: 1007_linux-3.0.8.patch +From: http://www.kernel.org +Desc: Linux 3.0.8 + +Patch: 1008_linux-3.0.9.patch +From: http://www.kernel.org +Desc: Linux 3.0.9 + +Patch: 4420_grsecurity-2.2.2-3.0.8-201111010529.patch From: http://www.grsecurity.net Desc: hardened-sources base patch from upstream grsecurity =20 @@ -46,7 +54,3 @@ Patch: 4445_disable-compat_vdso.patch From: Gordon Malm Kerin Millar Desc: Disables VDSO_COMPAT operation completely - -Patch: 4450_check_ssp_fix.patch -From: Magnus Granberg -Desc: Fixes kernel check script for ssp diff --git a/3.0.8/1007_linux-3.0.8.patch b/3.0.8/1007_linux-3.0.8.patch new file mode 100644 index 0000000..62a4bb6 --- /dev/null +++ b/3.0.8/1007_linux-3.0.8.patch @@ -0,0 +1,1472 @@ +diff --git a/Makefile b/Makefile +index 11c4249..9f6e3cd 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,6 +1,6 @@ + VERSION =3D 3 + PATCHLEVEL =3D 0 +-SUBLEVEL =3D 7 ++SUBLEVEL =3D 8 + EXTRAVERSION =3D + NAME =3D Sneaky Weasel +=20 +diff --git a/arch/arm/kernel/perf_event_v7.c b/arch/arm/kernel/perf_even= t_v7.c +index 4960686..4372763 100644 +--- a/arch/arm/kernel/perf_event_v7.c ++++ b/arch/arm/kernel/perf_event_v7.c +@@ -264,8 +264,8 @@ static const unsigned armv7_a9_perf_map[PERF_COUNT_H= W_MAX] =3D { + [PERF_COUNT_HW_CPU_CYCLES] =3D ARMV7_PERFCTR_CPU_CYCLES, + [PERF_COUNT_HW_INSTRUCTIONS] =3D + ARMV7_PERFCTR_INST_OUT_OF_RENAME_STAGE, +- [PERF_COUNT_HW_CACHE_REFERENCES] =3D ARMV7_PERFCTR_COHERENT_LINE_HI= T, +- [PERF_COUNT_HW_CACHE_MISSES] =3D ARMV7_PERFCTR_COHERENT_LINE_MISS, ++ [PERF_COUNT_HW_CACHE_REFERENCES] =3D ARMV7_PERFCTR_DCACHE_ACCESS, ++ [PERF_COUNT_HW_CACHE_MISSES] =3D ARMV7_PERFCTR_DCACHE_REFILL, + [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] =3D ARMV7_PERFCTR_PC_WRITE, + [PERF_COUNT_HW_BRANCH_MISSES] =3D ARMV7_PERFCTR_PC_BRANCH_MIS_PRED= , + [PERF_COUNT_HW_BUS_CYCLES] =3D ARMV7_PERFCTR_CLOCK_CYCLES, +diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c +index c19571c..4a4eba5 100644 +--- a/arch/arm/mm/init.c ++++ b/arch/arm/mm/init.c +@@ -473,6 +473,13 @@ static void __init free_unused_memmap(struct meminf= o *mi) + */ + bank_start =3D min(bank_start, + ALIGN(prev_bank_end, PAGES_PER_SECTION)); ++#else ++ /* ++ * Align down here since the VM subsystem insists that the ++ * memmap entries are valid from the bank start aligned to ++ * MAX_ORDER_NR_PAGES. ++ */ ++ bank_start =3D round_down(bank_start, MAX_ORDER_NR_PAGES); + #endif + /* + * If we had a previous bank, and there is a space +diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c +index 3032644..87488b9 100644 +--- a/arch/x86/mm/init.c ++++ b/arch/x86/mm/init.c +@@ -63,9 +63,8 @@ static void __init find_early_table_space(unsigned lon= g end, int use_pse, + #ifdef CONFIG_X86_32 + /* for fixmap */ + tables +=3D roundup(__end_of_fixed_addresses * sizeof(pte_t), PAGE_SIZ= E); +- +- good_end =3D max_pfn_mapped << PAGE_SHIFT; + #endif ++ good_end =3D max_pfn_mapped << PAGE_SHIFT; +=20 + base =3D memblock_find_in_range(start, good_end, tables, PAGE_SIZE); + if (base =3D=3D MEMBLOCK_ERROR) +diff --git a/crypto/ghash-generic.c b/crypto/ghash-generic.c +index be44256..7835b8f 100644 +--- a/crypto/ghash-generic.c ++++ b/crypto/ghash-generic.c +@@ -67,6 +67,9 @@ static int ghash_update(struct shash_desc *desc, + struct ghash_ctx *ctx =3D crypto_shash_ctx(desc->tfm); + u8 *dst =3D dctx->buffer; +=20 ++ if (!ctx->gf128) ++ return -ENOKEY; ++ + if (dctx->bytes) { + int n =3D min(srclen, dctx->bytes); + u8 *pos =3D dst + (GHASH_BLOCK_SIZE - dctx->bytes); +@@ -119,6 +122,9 @@ static int ghash_final(struct shash_desc *desc, u8 *= dst) + struct ghash_ctx *ctx =3D crypto_shash_ctx(desc->tfm); + u8 *buf =3D dctx->buffer; +=20 ++ if (!ctx->gf128) ++ return -ENOKEY; ++ + ghash_flush(ctx, dctx); + memcpy(dst, buf, GHASH_BLOCK_SIZE); +=20 +diff --git a/drivers/firewire/sbp2.c b/drivers/firewire/sbp2.c +index 41841a3..17cef86 100644 +--- a/drivers/firewire/sbp2.c ++++ b/drivers/firewire/sbp2.c +@@ -1198,6 +1198,10 @@ static int sbp2_remove(struct device *dev) + { + struct fw_unit *unit =3D fw_unit(dev); + struct sbp2_target *tgt =3D dev_get_drvdata(&unit->device); ++ struct sbp2_logical_unit *lu; ++ ++ list_for_each_entry(lu, &tgt->lu_list, link) ++ cancel_delayed_work_sync(&lu->work); +=20 + sbp2_target_put(tgt); + return 0; +diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom= .c +index ebdb0fd..9a0aee2 100644 +--- a/drivers/gpu/drm/radeon/atom.c ++++ b/drivers/gpu/drm/radeon/atom.c +@@ -277,7 +277,12 @@ static uint32_t atom_get_src_int(atom_exec_context = *ctx, uint8_t attr, + case ATOM_ARG_FB: + idx =3D U8(*ptr); + (*ptr)++; +- val =3D gctx->scratch[((gctx->fb_base + idx) / 4)]; ++ if ((gctx->fb_base + (idx * 4)) > gctx->scratch_size_bytes) { ++ DRM_ERROR("ATOM: fb read beyond scratch region: %d vs. %d\n", ++ gctx->fb_base + (idx * 4), gctx->scratch_size_bytes); ++ val =3D 0; ++ } else ++ val =3D gctx->scratch[(gctx->fb_base / 4) + idx]; + if (print) + DEBUG("FB[0x%02X]", idx); + break; +@@ -531,7 +536,11 @@ static void atom_put_dst(atom_exec_context *ctx, in= t arg, uint8_t attr, + case ATOM_ARG_FB: + idx =3D U8(*ptr); + (*ptr)++; +- gctx->scratch[((gctx->fb_base + idx) / 4)] =3D val; ++ if ((gctx->fb_base + (idx * 4)) > gctx->scratch_size_bytes) { ++ DRM_ERROR("ATOM: fb write beyond scratch region: %d vs. %d\n", ++ gctx->fb_base + (idx * 4), gctx->scratch_size_bytes); ++ } else ++ gctx->scratch[(gctx->fb_base / 4) + idx] =3D val; + DEBUG("FB[0x%02X]", idx); + break; + case ATOM_ARG_PLL: +@@ -1367,11 +1376,13 @@ int atom_allocate_fb_scratch(struct atom_context= *ctx) +=20 + usage_bytes =3D firmware_usage->asFirmwareVramReserveInfo[0].usFirmwa= reUseInKb * 1024; + } ++ ctx->scratch_size_bytes =3D 0; + if (usage_bytes =3D=3D 0) + usage_bytes =3D 20 * 1024; + /* allocate some scratch memory */ + ctx->scratch =3D kzalloc(usage_bytes, GFP_KERNEL); + if (!ctx->scratch) + return -ENOMEM; ++ ctx->scratch_size_bytes =3D usage_bytes; + return 0; + } +diff --git a/drivers/gpu/drm/radeon/atom.h b/drivers/gpu/drm/radeon/atom= .h +index a589a55..93cfe20 100644 +--- a/drivers/gpu/drm/radeon/atom.h ++++ b/drivers/gpu/drm/radeon/atom.h +@@ -137,6 +137,7 @@ struct atom_context { + int cs_equal, cs_above; + int io_mode; + uint32_t *scratch; ++ int scratch_size_bytes; + }; +=20 + extern int atom_debug; +diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c +index b7f0726..e2b2d78 100644 +--- a/drivers/gpu/drm/ttm/ttm_bo.c ++++ b/drivers/gpu/drm/ttm/ttm_bo.c +@@ -392,10 +392,12 @@ static int ttm_bo_handle_move_mem(struct ttm_buffe= r_object *bo, + * Create and bind a ttm if required. + */ +=20 +- if (!(new_man->flags & TTM_MEMTYPE_FLAG_FIXED) && (bo->ttm =3D=3D NULL= )) { +- ret =3D ttm_bo_add_ttm(bo, false); +- if (ret) +- goto out_err; ++ if (!(new_man->flags & TTM_MEMTYPE_FLAG_FIXED)) { ++ if (bo->ttm =3D=3D NULL) { ++ ret =3D ttm_bo_add_ttm(bo, false); ++ if (ret) ++ goto out_err; ++ } +=20 + ret =3D ttm_tt_set_placement_caching(bo->ttm, mem->placement); + if (ret) +diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm= _bo_util.c +index 77dbf40..ae3c6f5 100644 +--- a/drivers/gpu/drm/ttm/ttm_bo_util.c ++++ b/drivers/gpu/drm/ttm/ttm_bo_util.c +@@ -635,13 +635,13 @@ int ttm_bo_move_accel_cleanup(struct ttm_buffer_ob= ject *bo, + if (ret) + return ret; +=20 +- ttm_bo_free_old_node(bo); + if ((man->flags & TTM_MEMTYPE_FLAG_FIXED) && + (bo->ttm !=3D NULL)) { + ttm_tt_unbind(bo->ttm); + ttm_tt_destroy(bo->ttm); + bo->ttm =3D NULL; + } ++ ttm_bo_free_old_node(bo); + } else { + /** + * This should help pipeline ordinary buffer moves. +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index a756ee6..c946d90 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -568,6 +568,9 @@ + #define USB_DEVICE_ID_SAMSUNG_IR_REMOTE 0x0001 + #define USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE 0x0600 +=20 ++#define USB_VENDOR_ID_SIGMA_MICRO 0x1c4f ++#define USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD 0x0002 ++ + #define USB_VENDOR_ID_SKYCABLE 0x1223 + #define USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER 0x3F07 +=20 +diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c +index 0ec91c1..56d0539 100644 +--- a/drivers/hid/hid-magicmouse.c ++++ b/drivers/hid/hid-magicmouse.c +@@ -501,9 +501,17 @@ static int magicmouse_probe(struct hid_device *hdev= , + } + report->size =3D 6; +=20 ++ /* ++ * Some devices repond with 'invalid report id' when feature ++ * report switching it into multitouch mode is sent to it. ++ * ++ * This results in -EIO from the _raw low-level transport callback, ++ * but there seems to be no other way of switching the mode. ++ * Thus the super-ugly hacky success check below. ++ */ + ret =3D hdev->hid_output_raw_report(hdev, feature, sizeof(feature), + HID_FEATURE_REPORT); +- if (ret !=3D sizeof(feature)) { ++ if (ret !=3D -EIO && ret !=3D sizeof(feature)) { + hid_err(hdev, "unable to request touch data (%d)\n", ret); + goto err_stop_hw; + } +diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-qu= irks.c +index 621959d..4bdb5d4 100644 +--- a/drivers/hid/usbhid/hid-quirks.c ++++ b/drivers/hid/usbhid/hid-quirks.c +@@ -89,6 +89,7 @@ static const struct hid_blacklist { +=20 + { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH, HID_QUIRK_= MULTI_INPUT }, + { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS, HID_QUIRK_MUL= TI_INPUT }, ++ { USB_VENDOR_ID_SIGMA_MICRO, USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD, HID_Q= UIRK_NO_INIT_REPORTS }, + { 0, 0 } + }; +=20 +diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c +index f2b377c..36d7f27 100644 +--- a/drivers/hwmon/w83627ehf.c ++++ b/drivers/hwmon/w83627ehf.c +@@ -390,7 +390,7 @@ temp_from_reg(u16 reg, s16 regval) + { + if (is_word_sized(reg)) + return LM75_TEMP_FROM_REG(regval); +- return regval * 1000; ++ return ((s8)regval) * 1000; + } +=20 + static inline u16 +@@ -398,7 +398,8 @@ temp_to_reg(u16 reg, long temp) + { + if (is_word_sized(reg)) + return LM75_TEMP_TO_REG(temp); +- return DIV_ROUND_CLOSEST(SENSORS_LIMIT(temp, -127000, 128000), 1000); ++ return (s8)DIV_ROUND_CLOSEST(SENSORS_LIMIT(temp, -127000, 128000), ++ 1000); + } +=20 + /* Some of analog inputs have internal scaling (2x), 8mV is ADC LSB */ +@@ -1715,7 +1716,8 @@ static void w83627ehf_device_remove_files(struct d= evice *dev) + } +=20 + /* Get the monitoring functions started */ +-static inline void __devinit w83627ehf_init_device(struct w83627ehf_dat= a *data) ++static inline void __devinit w83627ehf_init_device(struct w83627ehf_dat= a *data, ++ enum kinds kind) + { + int i; + u8 tmp, diode; +@@ -1746,10 +1748,16 @@ static inline void __devinit w83627ehf_init_devi= ce(struct w83627ehf_data *data) + w83627ehf_write_value(data, W83627EHF_REG_VBAT, tmp | 0x01); +=20 + /* Get thermal sensor types */ +- diode =3D w83627ehf_read_value(data, W83627EHF_REG_DIODE); ++ switch (kind) { ++ case w83627ehf: ++ diode =3D w83627ehf_read_value(data, W83627EHF_REG_DIODE); ++ break; ++ default: ++ diode =3D 0x70; ++ } + for (i =3D 0; i < 3; i++) { + if ((tmp & (0x02 << i))) +- data->temp_type[i] =3D (diode & (0x10 << i)) ? 1 : 2; ++ data->temp_type[i] =3D (diode & (0x10 << i)) ? 1 : 3; + else + data->temp_type[i] =3D 4; /* thermistor */ + } +@@ -2016,7 +2024,7 @@ static int __devinit w83627ehf_probe(struct platfo= rm_device *pdev) + } +=20 + /* Initialize the chip */ +- w83627ehf_init_device(data); ++ w83627ehf_init_device(data, sio_data->kind); +=20 + data->vrm =3D vid_which_vrm(); + superio_enter(sio_data->sioreg); +diff --git a/drivers/media/video/uvc/uvc_entity.c b/drivers/media/video/= uvc/uvc_entity.c +index 48fea37..29e2399 100644 +--- a/drivers/media/video/uvc/uvc_entity.c ++++ b/drivers/media/video/uvc/uvc_entity.c +@@ -49,7 +49,7 @@ static int uvc_mc_register_entity(struct uvc_video_cha= in *chain, + if (remote =3D=3D NULL) + return -EINVAL; +=20 +- source =3D (UVC_ENTITY_TYPE(remote) !=3D UVC_TT_STREAMING) ++ source =3D (UVC_ENTITY_TYPE(remote) =3D=3D UVC_TT_STREAMING) + ? (remote->vdev ? &remote->vdev->entity : NULL) + : &remote->subdev.entity; + if (source =3D=3D NULL) +diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x8= 6/samsung-laptop.c +index d347116..1658575 100644 +--- a/drivers/platform/x86/samsung-laptop.c ++++ b/drivers/platform/x86/samsung-laptop.c +@@ -601,6 +601,16 @@ static struct dmi_system_id __initdata samsung_dmi_= table[] =3D { + .callback =3D dmi_check_cb, + }, + { ++ .ident =3D "N150/N210/N220", ++ .matches =3D { ++ DMI_MATCH(DMI_SYS_VENDOR, ++ "SAMSUNG ELECTRONICS CO., LTD."), ++ DMI_MATCH(DMI_PRODUCT_NAME, "N150/N210/N220"), ++ DMI_MATCH(DMI_BOARD_NAME, "N150/N210/N220"), ++ }, ++ .callback =3D dmi_check_cb, ++ }, ++ { + .ident =3D "N150/N210/N220/N230", + .matches =3D { + DMI_MATCH(DMI_SYS_VENDOR, +diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c +index fc7e57b..53e7d72 100644 +--- a/fs/cifs/cifsfs.c ++++ b/fs/cifs/cifsfs.c +@@ -566,6 +566,12 @@ cifs_get_root(struct smb_vol *vol, struct super_blo= ck *sb) + struct inode *dir =3D dentry->d_inode; + struct dentry *child; +=20 ++ if (!dir) { ++ dput(dentry); ++ dentry =3D ERR_PTR(-ENOENT); ++ break; ++ } ++ + /* skip separators */ + while (*s =3D=3D sep) + s++; +@@ -581,10 +587,6 @@ cifs_get_root(struct smb_vol *vol, struct super_blo= ck *sb) + mutex_unlock(&dir->i_mutex); + dput(dentry); + dentry =3D child; +- if (!dentry->d_inode) { +- dput(dentry); +- dentry =3D ERR_PTR(-ENOENT); +- } + } while (!IS_ERR(dentry)); + _FreeXid(xid); + kfree(full_path); +diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c +index 168a80f..5cb8614 100644 +--- a/fs/fuse/dev.c ++++ b/fs/fuse/dev.c +@@ -258,10 +258,14 @@ void fuse_queue_forget(struct fuse_conn *fc, struc= t fuse_forget_link *forget, + forget->forget_one.nlookup =3D nlookup; +=20 + spin_lock(&fc->lock); +- fc->forget_list_tail->next =3D forget; +- fc->forget_list_tail =3D forget; +- wake_up(&fc->waitq); +- kill_fasync(&fc->fasync, SIGIO, POLL_IN); ++ if (fc->connected) { ++ fc->forget_list_tail->next =3D forget; ++ fc->forget_list_tail =3D forget; ++ wake_up(&fc->waitq); ++ kill_fasync(&fc->fasync, SIGIO, POLL_IN); ++ } else { ++ kfree(forget); ++ } + spin_unlock(&fc->lock); + } +=20 +diff --git a/fs/hfsplus/hfsplus_fs.h b/fs/hfsplus/hfsplus_fs.h +index d685752..4e7f64b 100644 +--- a/fs/hfsplus/hfsplus_fs.h ++++ b/fs/hfsplus/hfsplus_fs.h +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + #include "hfsplus_raw.h" +=20 + #define DBG_BNODE_REFS 0x00000001 +@@ -110,7 +111,9 @@ struct hfsplus_vh; + struct hfs_btree; +=20 + struct hfsplus_sb_info { ++ void *s_vhdr_buf; + struct hfsplus_vh *s_vhdr; ++ void *s_backup_vhdr_buf; + struct hfsplus_vh *s_backup_vhdr; + struct hfs_btree *ext_tree; + struct hfs_btree *cat_tree; +@@ -258,6 +261,15 @@ struct hfsplus_readdir_data { + struct hfsplus_cat_key key; + }; +=20 ++/* ++ * Find minimum acceptible I/O size for an hfsplus sb. ++ */ ++static inline unsigned short hfsplus_min_io_size(struct super_block *sb= ) ++{ ++ return max_t(unsigned short, bdev_logical_block_size(sb->s_bdev), ++ HFSPLUS_SECTOR_SIZE); ++} ++ + #define hfs_btree_open hfsplus_btree_open + #define hfs_btree_close hfsplus_btree_close + #define hfs_btree_write hfsplus_btree_write +@@ -436,8 +448,8 @@ int hfsplus_compare_dentry(const struct dentry *pare= nt, + /* wrapper.c */ + int hfsplus_read_wrapper(struct super_block *); + int hfs_part_find(struct super_block *, sector_t *, sector_t *); +-int hfsplus_submit_bio(struct block_device *bdev, sector_t sector, +- void *data, int rw); ++int hfsplus_submit_bio(struct super_block *sb, sector_t sector, ++ void *buf, void **data, int rw); +=20 + /* time macros */ + #define __hfsp_mt2ut(t) (be32_to_cpu(t) - 2082844800U) +diff --git a/fs/hfsplus/part_tbl.c b/fs/hfsplus/part_tbl.c +index 40ad88c..eb355d8 100644 +--- a/fs/hfsplus/part_tbl.c ++++ b/fs/hfsplus/part_tbl.c +@@ -88,11 +88,12 @@ static int hfs_parse_old_pmap(struct super_block *sb= , struct old_pmap *pm, + return -ENOENT; + } +=20 +-static int hfs_parse_new_pmap(struct super_block *sb, struct new_pmap *= pm, +- sector_t *part_start, sector_t *part_size) ++static int hfs_parse_new_pmap(struct super_block *sb, void *buf, ++ struct new_pmap *pm, sector_t *part_start, sector_t *part_size) + { + struct hfsplus_sb_info *sbi =3D HFSPLUS_SB(sb); + int size =3D be32_to_cpu(pm->pmMapBlkCnt); ++ int buf_size =3D hfsplus_min_io_size(sb); + int res; + int i =3D 0; +=20 +@@ -107,11 +108,14 @@ static int hfs_parse_new_pmap(struct super_block *= sb, struct new_pmap *pm, + if (++i >=3D size) + return -ENOENT; +=20 +- res =3D hfsplus_submit_bio(sb->s_bdev, +- *part_start + HFS_PMAP_BLK + i, +- pm, READ); +- if (res) +- return res; ++ pm =3D (struct new_pmap *)((u8 *)pm + HFSPLUS_SECTOR_SIZE); ++ if ((u8 *)pm - (u8 *)buf >=3D buf_size) { ++ res =3D hfsplus_submit_bio(sb, ++ *part_start + HFS_PMAP_BLK + i, ++ buf, (void **)&pm, READ); ++ if (res) ++ return res; ++ } + } while (pm->pmSig =3D=3D cpu_to_be16(HFS_NEW_PMAP_MAGIC)); +=20 + return -ENOENT; +@@ -124,15 +128,15 @@ static int hfs_parse_new_pmap(struct super_block *= sb, struct new_pmap *pm, + int hfs_part_find(struct super_block *sb, + sector_t *part_start, sector_t *part_size) + { +- void *data; ++ void *buf, *data; + int res; +=20 +- data =3D kmalloc(HFSPLUS_SECTOR_SIZE, GFP_KERNEL); +- if (!data) ++ buf =3D kmalloc(hfsplus_min_io_size(sb), GFP_KERNEL); ++ if (!buf) + return -ENOMEM; +=20 +- res =3D hfsplus_submit_bio(sb->s_bdev, *part_start + HFS_PMAP_BLK, +- data, READ); ++ res =3D hfsplus_submit_bio(sb, *part_start + HFS_PMAP_BLK, ++ buf, &data, READ); + if (res) + goto out; +=20 +@@ -141,13 +145,13 @@ int hfs_part_find(struct super_block *sb, + res =3D hfs_parse_old_pmap(sb, data, part_start, part_size); + break; + case HFS_NEW_PMAP_MAGIC: +- res =3D hfs_parse_new_pmap(sb, data, part_start, part_size); ++ res =3D hfs_parse_new_pmap(sb, buf, data, part_start, part_size); + break; + default: + res =3D -ENOENT; + break; + } + out: +- kfree(data); ++ kfree(buf); + return res; + } +diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c +index 84a47b7..c3a76fd 100644 +--- a/fs/hfsplus/super.c ++++ b/fs/hfsplus/super.c +@@ -197,17 +197,17 @@ int hfsplus_sync_fs(struct super_block *sb, int wa= it) + write_backup =3D 1; + } +=20 +- error2 =3D hfsplus_submit_bio(sb->s_bdev, ++ error2 =3D hfsplus_submit_bio(sb, + sbi->part_start + HFSPLUS_VOLHEAD_SECTOR, +- sbi->s_vhdr, WRITE_SYNC); ++ sbi->s_vhdr_buf, NULL, WRITE_SYNC); + if (!error) + error =3D error2; + if (!write_backup) + goto out; +=20 +- error2 =3D hfsplus_submit_bio(sb->s_bdev, ++ error2 =3D hfsplus_submit_bio(sb, + sbi->part_start + sbi->sect_count - 2, +- sbi->s_backup_vhdr, WRITE_SYNC); ++ sbi->s_backup_vhdr_buf, NULL, WRITE_SYNC); + if (!error) + error2 =3D error; + out: +@@ -251,8 +251,8 @@ static void hfsplus_put_super(struct super_block *sb= ) + hfs_btree_close(sbi->ext_tree); + iput(sbi->alloc_file); + iput(sbi->hidden_dir); +- kfree(sbi->s_vhdr); +- kfree(sbi->s_backup_vhdr); ++ kfree(sbi->s_vhdr_buf); ++ kfree(sbi->s_backup_vhdr_buf); + unload_nls(sbi->nls); + kfree(sb->s_fs_info); + sb->s_fs_info =3D NULL; +@@ -508,8 +508,8 @@ out_close_cat_tree: + out_close_ext_tree: + hfs_btree_close(sbi->ext_tree); + out_free_vhdr: +- kfree(sbi->s_vhdr); +- kfree(sbi->s_backup_vhdr); ++ kfree(sbi->s_vhdr_buf); ++ kfree(sbi->s_backup_vhdr_buf); + out_unload_nls: + unload_nls(sbi->nls); + unload_nls(nls); +diff --git a/fs/hfsplus/wrapper.c b/fs/hfsplus/wrapper.c +index 4ac88ff..7b8112d 100644 +--- a/fs/hfsplus/wrapper.c ++++ b/fs/hfsplus/wrapper.c +@@ -31,25 +31,67 @@ static void hfsplus_end_io_sync(struct bio *bio, int= err) + complete(bio->bi_private); + } +=20 +-int hfsplus_submit_bio(struct block_device *bdev, sector_t sector, +- void *data, int rw) ++/* ++ * hfsplus_submit_bio - Perfrom block I/O ++ * @sb: super block of volume for I/O ++ * @sector: block to read or write, for blocks of HFSPLUS_SECTOR_SIZE b= ytes ++ * @buf: buffer for I/O ++ * @data: output pointer for location of requested data ++ * @rw: direction of I/O ++ * ++ * The unit of I/O is hfsplus_min_io_size(sb), which may be bigger than ++ * HFSPLUS_SECTOR_SIZE, and @buf must be sized accordingly. On reads ++ * @data will return a pointer to the start of the requested sector, ++ * which may not be the same location as @buf. ++ * ++ * If @sector is not aligned to the bdev logical block size it will ++ * be rounded down. For writes this means that @buf should contain data ++ * that starts at the rounded-down address. As long as the data was ++ * read using hfsplus_submit_bio() and the same buffer is used things ++ * will work correctly. ++ */ ++int hfsplus_submit_bio(struct super_block *sb, sector_t sector, ++ void *buf, void **data, int rw) + { + DECLARE_COMPLETION_ONSTACK(wait); + struct bio *bio; + int ret =3D 0; ++ unsigned int io_size; ++ loff_t start; ++ int offset; ++ ++ /* ++ * Align sector to hardware sector size and find offset. We ++ * assume that io_size is a power of two, which _should_ ++ * be true. ++ */ ++ io_size =3D hfsplus_min_io_size(sb); ++ start =3D (loff_t)sector << HFSPLUS_SECTOR_SHIFT; ++ offset =3D start & (io_size - 1); ++ sector &=3D ~((io_size >> HFSPLUS_SECTOR_SHIFT) - 1); +=20 + bio =3D bio_alloc(GFP_NOIO, 1); + bio->bi_sector =3D sector; +- bio->bi_bdev =3D bdev; ++ bio->bi_bdev =3D sb->s_bdev; + bio->bi_end_io =3D hfsplus_end_io_sync; + bio->bi_private =3D &wait; +=20 +- /* +- * We always submit one sector at a time, so bio_add_page must not fai= l. +- */ +- if (bio_add_page(bio, virt_to_page(data), HFSPLUS_SECTOR_SIZE, +- offset_in_page(data)) !=3D HFSPLUS_SECTOR_SIZE) +- BUG(); ++ if (!(rw & WRITE) && data) ++ *data =3D (u8 *)buf + offset; ++ ++ while (io_size > 0) { ++ unsigned int page_offset =3D offset_in_page(buf); ++ unsigned int len =3D min_t(unsigned int, PAGE_SIZE - page_offset, ++ io_size); ++ ++ ret =3D bio_add_page(bio, virt_to_page(buf), len, page_offset); ++ if (ret !=3D len) { ++ ret =3D -EIO; ++ goto out; ++ } ++ io_size -=3D len; ++ buf =3D (u8 *)buf + len; ++ } +=20 + submit_bio(rw, bio); + wait_for_completion(&wait); +@@ -57,8 +99,9 @@ int hfsplus_submit_bio(struct block_device *bdev, sect= or_t sector, + if (!bio_flagged(bio, BIO_UPTODATE)) + ret =3D -EIO; +=20 ++out: + bio_put(bio); +- return ret; ++ return ret < 0 ? ret : 0; + } +=20 + static int hfsplus_read_mdb(void *bufptr, struct hfsplus_wd *wd) +@@ -147,17 +190,17 @@ int hfsplus_read_wrapper(struct super_block *sb) + } +=20 + error =3D -ENOMEM; +- sbi->s_vhdr =3D kmalloc(HFSPLUS_SECTOR_SIZE, GFP_KERNEL); +- if (!sbi->s_vhdr) ++ sbi->s_vhdr_buf =3D kmalloc(hfsplus_min_io_size(sb), GFP_KERNEL); ++ if (!sbi->s_vhdr_buf) + goto out; +- sbi->s_backup_vhdr =3D kmalloc(HFSPLUS_SECTOR_SIZE, GFP_KERNEL); +- if (!sbi->s_backup_vhdr) ++ sbi->s_backup_vhdr_buf =3D kmalloc(hfsplus_min_io_size(sb), GFP_KERNEL= ); ++ if (!sbi->s_backup_vhdr_buf) + goto out_free_vhdr; +=20 + reread: +- error =3D hfsplus_submit_bio(sb->s_bdev, +- part_start + HFSPLUS_VOLHEAD_SECTOR, +- sbi->s_vhdr, READ); ++ error =3D hfsplus_submit_bio(sb, part_start + HFSPLUS_VOLHEAD_SECTOR, ++ sbi->s_vhdr_buf, (void **)&sbi->s_vhdr, ++ READ); + if (error) + goto out_free_backup_vhdr; +=20 +@@ -186,9 +229,9 @@ reread: + goto reread; + } +=20 +- error =3D hfsplus_submit_bio(sb->s_bdev, +- part_start + part_size - 2, +- sbi->s_backup_vhdr, READ); ++ error =3D hfsplus_submit_bio(sb, part_start + part_size - 2, ++ sbi->s_backup_vhdr_buf, ++ (void **)&sbi->s_backup_vhdr, READ); + if (error) + goto out_free_backup_vhdr; +=20 +@@ -232,9 +275,9 @@ reread: + return 0; +=20 + out_free_backup_vhdr: +- kfree(sbi->s_backup_vhdr); ++ kfree(sbi->s_backup_vhdr_buf); + out_free_vhdr: +- kfree(sbi->s_vhdr); ++ kfree(sbi->s_vhdr_buf); + out: + return error; + } +diff --git a/fs/xfs/linux-2.6/xfs_linux.h b/fs/xfs/linux-2.6/xfs_linux.h +index 8633521..8731516 100644 +--- a/fs/xfs/linux-2.6/xfs_linux.h ++++ b/fs/xfs/linux-2.6/xfs_linux.h +@@ -70,6 +70,8 @@ + #include + #include + #include ++#include ++#include + #include +=20 + #include +diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c +index a1a881e..347cae9 100644 +--- a/fs/xfs/linux-2.6/xfs_super.c ++++ b/fs/xfs/linux-2.6/xfs_super.c +@@ -1412,37 +1412,35 @@ xfs_fs_fill_super( + sb->s_time_gran =3D 1; + set_posix_acl_flag(sb); +=20 +- error =3D xfs_syncd_init(mp); +- if (error) +- goto out_filestream_unmount; +- + xfs_inode_shrinker_register(mp); +=20 + error =3D xfs_mountfs(mp); + if (error) +- goto out_syncd_stop; ++ goto out_filestream_unmount; ++ ++ error =3D xfs_syncd_init(mp); ++ if (error) ++ goto out_unmount; +=20 + root =3D igrab(VFS_I(mp->m_rootip)); + if (!root) { + error =3D ENOENT; +- goto fail_unmount; ++ goto out_syncd_stop; + } + if (is_bad_inode(root)) { + error =3D EINVAL; +- goto fail_vnrele; ++ goto out_syncd_stop; + } + sb->s_root =3D d_alloc_root(root); + if (!sb->s_root) { + error =3D ENOMEM; +- goto fail_vnrele; ++ goto out_iput; + } +=20 + return 0; +=20 +- out_syncd_stop: +- xfs_inode_shrinker_unregister(mp); +- xfs_syncd_stop(mp); + out_filestream_unmount: ++ xfs_inode_shrinker_unregister(mp); + xfs_filestream_unmount(mp); + out_free_sb: + xfs_freesb(mp); +@@ -1456,17 +1454,12 @@ xfs_fs_fill_super( + out: + return -error; +=20 +- fail_vnrele: +- if (sb->s_root) { +- dput(sb->s_root); +- sb->s_root =3D NULL; +- } else { +- iput(root); +- } +- +- fail_unmount: +- xfs_inode_shrinker_unregister(mp); ++ out_iput: ++ iput(root); ++ out_syncd_stop: + xfs_syncd_stop(mp); ++ out_unmount: ++ xfs_inode_shrinker_unregister(mp); +=20 + /* + * Blow away any referenced inode in the filestreams cache. +@@ -1667,24 +1660,13 @@ xfs_init_workqueues(void) + */ + xfs_syncd_wq =3D alloc_workqueue("xfssyncd", WQ_CPU_INTENSIVE, 8); + if (!xfs_syncd_wq) +- goto out; +- +- xfs_ail_wq =3D alloc_workqueue("xfsail", WQ_CPU_INTENSIVE, 8); +- if (!xfs_ail_wq) +- goto out_destroy_syncd; +- ++ return -ENOMEM; + return 0; +- +-out_destroy_syncd: +- destroy_workqueue(xfs_syncd_wq); +-out: +- return -ENOMEM; + } +=20 + STATIC void + xfs_destroy_workqueues(void) + { +- destroy_workqueue(xfs_ail_wq); + destroy_workqueue(xfs_syncd_wq); + } +=20 +diff --git a/fs/xfs/quota/xfs_dquot_item.c b/fs/xfs/quota/xfs_dquot_item= .c +index 9e0e2fa..8126fc2 100644 +--- a/fs/xfs/quota/xfs_dquot_item.c ++++ b/fs/xfs/quota/xfs_dquot_item.c +@@ -183,13 +183,14 @@ xfs_qm_dqunpin_wait( + * search the buffer cache can be a time consuming thing, and AIL lock = is a + * spinlock. + */ +-STATIC void ++STATIC bool + xfs_qm_dquot_logitem_pushbuf( + struct xfs_log_item *lip) + { + struct xfs_dq_logitem *qlip =3D DQUOT_ITEM(lip); + struct xfs_dquot *dqp =3D qlip->qli_dquot; + struct xfs_buf *bp; ++ bool ret =3D true; +=20 + ASSERT(XFS_DQ_IS_LOCKED(dqp)); +=20 +@@ -201,17 +202,20 @@ xfs_qm_dquot_logitem_pushbuf( + if (completion_done(&dqp->q_flush) || + !(lip->li_flags & XFS_LI_IN_AIL)) { + xfs_dqunlock(dqp); +- return; ++ return true; + } +=20 + bp =3D xfs_incore(dqp->q_mount->m_ddev_targp, qlip->qli_format.qlf_blk= no, + dqp->q_mount->m_quotainfo->qi_dqchunklen, XBF_TRYLOCK); + xfs_dqunlock(dqp); + if (!bp) +- return; ++ return true; + if (XFS_BUF_ISDELAYWRITE(bp)) + xfs_buf_delwri_promote(bp); ++ if (XFS_BUF_ISPINNED(bp)) ++ ret =3D false; + xfs_buf_relse(bp); ++ return ret; + } +=20 + /* +diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c +index 7b7e005..a7342e8 100644 +--- a/fs/xfs/xfs_buf_item.c ++++ b/fs/xfs/xfs_buf_item.c +@@ -632,7 +632,7 @@ xfs_buf_item_push( + * the xfsbufd to get this buffer written. We have to unlock the buffer + * to allow the xfsbufd to write it, too. + */ +-STATIC void ++STATIC bool + xfs_buf_item_pushbuf( + struct xfs_log_item *lip) + { +@@ -646,6 +646,7 @@ xfs_buf_item_pushbuf( +=20 + xfs_buf_delwri_promote(bp); + xfs_buf_relse(bp); ++ return true; + } +=20 + STATIC void +diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c +index b1e88d5..391044c 100644 +--- a/fs/xfs/xfs_inode_item.c ++++ b/fs/xfs/xfs_inode_item.c +@@ -713,13 +713,14 @@ xfs_inode_item_committed( + * marked delayed write. If that's the case, we'll promote it and that = will + * allow the caller to write the buffer by triggering the xfsbufd to ru= n. + */ +-STATIC void ++STATIC bool + xfs_inode_item_pushbuf( + struct xfs_log_item *lip) + { + struct xfs_inode_log_item *iip =3D INODE_ITEM(lip); + struct xfs_inode *ip =3D iip->ili_inode; + struct xfs_buf *bp; ++ bool ret =3D true; +=20 + ASSERT(xfs_isilocked(ip, XFS_ILOCK_SHARED)); +=20 +@@ -730,7 +731,7 @@ xfs_inode_item_pushbuf( + if (completion_done(&ip->i_flush) || + !(lip->li_flags & XFS_LI_IN_AIL)) { + xfs_iunlock(ip, XFS_ILOCK_SHARED); +- return; ++ return true; + } +=20 + bp =3D xfs_incore(ip->i_mount->m_ddev_targp, iip->ili_format.ilf_blkno= , +@@ -738,10 +739,13 @@ xfs_inode_item_pushbuf( +=20 + xfs_iunlock(ip, XFS_ILOCK_SHARED); + if (!bp) +- return; ++ return true; + if (XFS_BUF_ISDELAYWRITE(bp)) + xfs_buf_delwri_promote(bp); ++ if (XFS_BUF_ISPINNED(bp)) ++ ret =3D false; + xfs_buf_relse(bp); ++ return ret; + } +=20 + /* +diff --git a/fs/xfs/xfs_trans.c b/fs/xfs/xfs_trans.c +index c83f63b..efc147f 100644 +--- a/fs/xfs/xfs_trans.c ++++ b/fs/xfs/xfs_trans.c +@@ -1426,6 +1426,7 @@ xfs_trans_committed( + static inline void + xfs_log_item_batch_insert( + struct xfs_ail *ailp, ++ struct xfs_ail_cursor *cur, + struct xfs_log_item **log_items, + int nr_items, + xfs_lsn_t commit_lsn) +@@ -1434,7 +1435,7 @@ xfs_log_item_batch_insert( +=20 + spin_lock(&ailp->xa_lock); + /* xfs_trans_ail_update_bulk drops ailp->xa_lock */ +- xfs_trans_ail_update_bulk(ailp, log_items, nr_items, commit_lsn); ++ xfs_trans_ail_update_bulk(ailp, cur, log_items, nr_items, commit_lsn); +=20 + for (i =3D 0; i < nr_items; i++) + IOP_UNPIN(log_items[i], 0); +@@ -1452,6 +1453,13 @@ xfs_log_item_batch_insert( + * as an iclog write error even though we haven't started any IO yet. H= ence in + * this case all we need to do is IOP_COMMITTED processing, followed by= an + * IOP_UNPIN(aborted) call. ++ * ++ * The AIL cursor is used to optimise the insert process. If commit_lsn= is not ++ * at the end of the AIL, the insert cursor avoids the need to walk ++ * the AIL to find the insertion point on every xfs_log_item_batch_inse= rt() ++ * call. This saves a lot of needless list walking and is a net win, ev= en ++ * though it slightly increases that amount of AIL lock traffic to set = it up ++ * and tear it down. + */ + void + xfs_trans_committed_bulk( +@@ -1463,8 +1471,13 @@ xfs_trans_committed_bulk( + #define LOG_ITEM_BATCH_SIZE 32 + struct xfs_log_item *log_items[LOG_ITEM_BATCH_SIZE]; + struct xfs_log_vec *lv; ++ struct xfs_ail_cursor cur; + int i =3D 0; +=20 ++ spin_lock(&ailp->xa_lock); ++ xfs_trans_ail_cursor_last(ailp, &cur, commit_lsn); ++ spin_unlock(&ailp->xa_lock); ++ + /* unpin all the log items */ + for (lv =3D log_vector; lv; lv =3D lv->lv_next ) { + struct xfs_log_item *lip =3D lv->lv_item; +@@ -1493,7 +1506,9 @@ xfs_trans_committed_bulk( + /* + * Not a bulk update option due to unusual item_lsn. + * Push into AIL immediately, rechecking the lsn once +- * we have the ail lock. Then unpin the item. ++ * we have the ail lock. Then unpin the item. This does ++ * not affect the AIL cursor the bulk insert path is ++ * using. + */ + spin_lock(&ailp->xa_lock); + if (XFS_LSN_CMP(item_lsn, lip->li_lsn) > 0) +@@ -1507,7 +1522,7 @@ xfs_trans_committed_bulk( + /* Item is a candidate for bulk AIL insert. */ + log_items[i++] =3D lv->lv_item; + if (i >=3D LOG_ITEM_BATCH_SIZE) { +- xfs_log_item_batch_insert(ailp, log_items, ++ xfs_log_item_batch_insert(ailp, &cur, log_items, + LOG_ITEM_BATCH_SIZE, commit_lsn); + i =3D 0; + } +@@ -1515,7 +1530,11 @@ xfs_trans_committed_bulk( +=20 + /* make sure we insert the remainder! */ + if (i) +- xfs_log_item_batch_insert(ailp, log_items, i, commit_lsn); ++ xfs_log_item_batch_insert(ailp, &cur, log_items, i, commit_lsn); ++ ++ spin_lock(&ailp->xa_lock); ++ xfs_trans_ail_cursor_done(ailp, &cur); ++ spin_unlock(&ailp->xa_lock); + } +=20 + /* +diff --git a/fs/xfs/xfs_trans.h b/fs/xfs/xfs_trans.h +index 06a9759..53597f4 100644 +--- a/fs/xfs/xfs_trans.h ++++ b/fs/xfs/xfs_trans.h +@@ -350,7 +350,7 @@ typedef struct xfs_item_ops { + void (*iop_unlock)(xfs_log_item_t *); + xfs_lsn_t (*iop_committed)(xfs_log_item_t *, xfs_lsn_t); + void (*iop_push)(xfs_log_item_t *); +- void (*iop_pushbuf)(xfs_log_item_t *); ++ bool (*iop_pushbuf)(xfs_log_item_t *); + void (*iop_committing)(xfs_log_item_t *, xfs_lsn_t); + } xfs_item_ops_t; +=20 +diff --git a/fs/xfs/xfs_trans_ail.c b/fs/xfs/xfs_trans_ail.c +index 5fc2380..a4c281b 100644 +--- a/fs/xfs/xfs_trans_ail.c ++++ b/fs/xfs/xfs_trans_ail.c +@@ -28,8 +28,6 @@ + #include "xfs_trans_priv.h" + #include "xfs_error.h" +=20 +-struct workqueue_struct *xfs_ail_wq; /* AIL workqueue */ +- + #ifdef DEBUG + /* + * Check that the list is sorted as it should be. +@@ -272,9 +270,9 @@ xfs_trans_ail_cursor_clear( + } +=20 + /* +- * Return the item in the AIL with the current lsn. +- * Return the current tree generation number for use +- * in calls to xfs_trans_next_ail(). ++ * Initialise the cursor to the first item in the AIL with the given @l= sn. ++ * This searches the list from lowest LSN to highest. Pass a @lsn of ze= ro ++ * to initialise the cursor to the first item in the AIL. + */ + xfs_log_item_t * + xfs_trans_ail_cursor_first( +@@ -300,31 +298,97 @@ out: + } +=20 + /* +- * splice the log item list into the AIL at the given LSN. ++ * Initialise the cursor to the last item in the AIL with the given @ls= n. ++ * This searches the list from highest LSN to lowest. If there is no it= em with ++ * the value of @lsn, then it sets the cursor to the last item with an = LSN lower ++ * than @lsn. ++ */ ++static struct xfs_log_item * ++__xfs_trans_ail_cursor_last( ++ struct xfs_ail *ailp, ++ xfs_lsn_t lsn) ++{ ++ xfs_log_item_t *lip; ++ ++ list_for_each_entry_reverse(lip, &ailp->xa_ail, li_ail) { ++ if (XFS_LSN_CMP(lip->li_lsn, lsn) <=3D 0) ++ return lip; ++ } ++ return NULL; ++} ++ ++/* ++ * Initialise the cursor to the last item in the AIL with the given @ls= n. ++ * This searches the list from highest LSN to lowest. ++ */ ++struct xfs_log_item * ++xfs_trans_ail_cursor_last( ++ struct xfs_ail *ailp, ++ struct xfs_ail_cursor *cur, ++ xfs_lsn_t lsn) ++{ ++ xfs_trans_ail_cursor_init(ailp, cur); ++ cur->item =3D __xfs_trans_ail_cursor_last(ailp, lsn); ++ return cur->item; ++} ++ ++/* ++ * splice the log item list into the AIL at the given LSN. We splice to= the ++ * tail of the given LSN to maintain insert order for push traversals. = The ++ * cursor is optional, allowing repeated updates to the same LSN to avo= id ++ * repeated traversals. + */ + static void + xfs_ail_splice( +- struct xfs_ail *ailp, +- struct list_head *list, +- xfs_lsn_t lsn) ++ struct xfs_ail *ailp, ++ struct xfs_ail_cursor *cur, ++ struct list_head *list, ++ xfs_lsn_t lsn) + { +- xfs_log_item_t *next_lip; ++ struct xfs_log_item *lip =3D cur ? cur->item : NULL; ++ struct xfs_log_item *next_lip; +=20 +- /* If the list is empty, just insert the item. */ +- if (list_empty(&ailp->xa_ail)) { +- list_splice(list, &ailp->xa_ail); +- return; ++ /* ++ * Get a new cursor if we don't have a placeholder or the existing one ++ * has been invalidated. ++ */ ++ if (!lip || (__psint_t)lip & 1) { ++ lip =3D __xfs_trans_ail_cursor_last(ailp, lsn); ++ ++ if (!lip) { ++ /* The list is empty, so just splice and return. */ ++ if (cur) ++ cur->item =3D NULL; ++ list_splice(list, &ailp->xa_ail); ++ return; ++ } + } +=20 +- list_for_each_entry_reverse(next_lip, &ailp->xa_ail, li_ail) { +- if (XFS_LSN_CMP(next_lip->li_lsn, lsn) <=3D 0) +- break; ++ /* ++ * Our cursor points to the item we want to insert _after_, so we have ++ * to update the cursor to point to the end of the list we are splicin= g ++ * in so that it points to the correct location for the next splice. ++ * i.e. before the splice ++ * ++ * lsn -> lsn -> lsn + x -> lsn + x ... ++ * ^ ++ * | cursor points here ++ * ++ * After the splice we have: ++ * ++ * lsn -> lsn -> lsn -> lsn -> .... -> lsn -> lsn + x -> lsn + x ... ++ * ^ ^ ++ * | cursor points here | needs to move here ++ * ++ * So we set the cursor to the last item in the list to be spliced ++ * before we execute the splice, resulting in the cursor pointing to ++ * the correct item after the splice occurs. ++ */ ++ if (cur) { ++ next_lip =3D list_entry(list->prev, struct xfs_log_item, li_ail); ++ cur->item =3D next_lip; + } +- +- ASSERT(&next_lip->li_ail =3D=3D &ailp->xa_ail || +- XFS_LSN_CMP(next_lip->li_lsn, lsn) <=3D 0); +- +- list_splice_init(list, &next_lip->li_ail); ++ list_splice(list, &lip->li_ail); + } +=20 + /* +@@ -340,16 +404,10 @@ xfs_ail_delete( + xfs_trans_ail_cursor_clear(ailp, lip); + } +=20 +-/* +- * xfs_ail_worker does the work of pushing on the AIL. It will requeue = itself +- * to run at a later time if there is more work to do to complete the p= ush. +- */ +-STATIC void +-xfs_ail_worker( +- struct work_struct *work) ++static long ++xfsaild_push( ++ struct xfs_ail *ailp) + { +- struct xfs_ail *ailp =3D container_of(to_delayed_work(work), +- struct xfs_ail, xa_work); + xfs_mount_t *mp =3D ailp->xa_mount; + struct xfs_ail_cursor *cur =3D &ailp->xa_cursors; + xfs_log_item_t *lip; +@@ -412,8 +470,13 @@ xfs_ail_worker( +=20 + case XFS_ITEM_PUSHBUF: + XFS_STATS_INC(xs_push_ail_pushbuf); +- IOP_PUSHBUF(lip); +- ailp->xa_last_pushed_lsn =3D lsn; ++ ++ if (!IOP_PUSHBUF(lip)) { ++ stuck++; ++ flush_log =3D 1; ++ } else { ++ ailp->xa_last_pushed_lsn =3D lsn; ++ } + push_xfsbufd =3D 1; + break; +=20 +@@ -425,7 +488,6 @@ xfs_ail_worker( +=20 + case XFS_ITEM_LOCKED: + XFS_STATS_INC(xs_push_ail_locked); +- ailp->xa_last_pushed_lsn =3D lsn; + stuck++; + break; +=20 +@@ -486,20 +548,6 @@ out_done: + /* We're past our target or empty, so idle */ + ailp->xa_last_pushed_lsn =3D 0; +=20 +- /* +- * We clear the XFS_AIL_PUSHING_BIT first before checking +- * whether the target has changed. If the target has changed, +- * this pushes the requeue race directly onto the result of the +- * atomic test/set bit, so we are guaranteed that either the +- * the pusher that changed the target or ourselves will requeue +- * the work (but not both). +- */ +- clear_bit(XFS_AIL_PUSHING_BIT, &ailp->xa_flags); +- smp_rmb(); +- if (XFS_LSN_CMP(ailp->xa_target, target) =3D=3D 0 || +- test_and_set_bit(XFS_AIL_PUSHING_BIT, &ailp->xa_flags)) +- return; +- + tout =3D 50; + } else if (XFS_LSN_CMP(lsn, target) >=3D 0) { + /* +@@ -522,9 +570,30 @@ out_done: + tout =3D 20; + } +=20 +- /* There is more to do, requeue us. */ +- queue_delayed_work(xfs_syncd_wq, &ailp->xa_work, +- msecs_to_jiffies(tout)); ++ return tout; ++} ++ ++static int ++xfsaild( ++ void *data) ++{ ++ struct xfs_ail *ailp =3D data; ++ long tout =3D 0; /* milliseconds */ ++ ++ while (!kthread_should_stop()) { ++ if (tout && tout <=3D 20) ++ __set_current_state(TASK_KILLABLE); ++ else ++ __set_current_state(TASK_INTERRUPTIBLE); ++ schedule_timeout(tout ? ++ msecs_to_jiffies(tout) : MAX_SCHEDULE_TIMEOUT); ++ ++ try_to_freeze(); ++ ++ tout =3D xfsaild_push(ailp); ++ } ++ ++ return 0; + } +=20 + /* +@@ -559,8 +628,9 @@ xfs_ail_push( + */ + smp_wmb(); + xfs_trans_ail_copy_lsn(ailp, &ailp->xa_target, &threshold_lsn); +- if (!test_and_set_bit(XFS_AIL_PUSHING_BIT, &ailp->xa_flags)) +- queue_delayed_work(xfs_syncd_wq, &ailp->xa_work, 0); ++ smp_wmb(); ++ ++ wake_up_process(ailp->xa_task); + } +=20 + /* +@@ -645,6 +715,7 @@ xfs_trans_unlocked_item( + void + xfs_trans_ail_update_bulk( + struct xfs_ail *ailp, ++ struct xfs_ail_cursor *cur, + struct xfs_log_item **log_items, + int nr_items, + xfs_lsn_t lsn) __releases(ailp->xa_lock) +@@ -674,7 +745,7 @@ xfs_trans_ail_update_bulk( + list_add(&lip->li_ail, &tmp); + } +=20 +- xfs_ail_splice(ailp, &tmp, lsn); ++ xfs_ail_splice(ailp, cur, &tmp, lsn); +=20 + if (!mlip_changed) { + spin_unlock(&ailp->xa_lock); +@@ -794,9 +865,18 @@ xfs_trans_ail_init( + ailp->xa_mount =3D mp; + INIT_LIST_HEAD(&ailp->xa_ail); + spin_lock_init(&ailp->xa_lock); +- INIT_DELAYED_WORK(&ailp->xa_work, xfs_ail_worker); ++ ++ ailp->xa_task =3D kthread_run(xfsaild, ailp, "xfsaild/%s", ++ ailp->xa_mount->m_fsname); ++ if (IS_ERR(ailp->xa_task)) ++ goto out_free_ailp; ++ + mp->m_ail =3D ailp; + return 0; ++ ++out_free_ailp: ++ kmem_free(ailp); ++ return ENOMEM; + } +=20 + void +@@ -805,6 +885,6 @@ xfs_trans_ail_destroy( + { + struct xfs_ail *ailp =3D mp->m_ail; +=20 +- cancel_delayed_work_sync(&ailp->xa_work); ++ kthread_stop(ailp->xa_task); + kmem_free(ailp); + } +diff --git a/fs/xfs/xfs_trans_priv.h b/fs/xfs/xfs_trans_priv.h +index 6b164e9..fe2e3cb 100644 +--- a/fs/xfs/xfs_trans_priv.h ++++ b/fs/xfs/xfs_trans_priv.h +@@ -64,24 +64,19 @@ struct xfs_ail_cursor { + */ + struct xfs_ail { + struct xfs_mount *xa_mount; ++ struct task_struct *xa_task; + struct list_head xa_ail; + xfs_lsn_t xa_target; + struct xfs_ail_cursor xa_cursors; + spinlock_t xa_lock; +- struct delayed_work xa_work; + xfs_lsn_t xa_last_pushed_lsn; +- unsigned long xa_flags; + }; +=20 +-#define XFS_AIL_PUSHING_BIT 0 +- + /* + * From xfs_trans_ail.c + */ +- +-extern struct workqueue_struct *xfs_ail_wq; /* AIL workqueue */ +- + void xfs_trans_ail_update_bulk(struct xfs_ail *ailp, ++ struct xfs_ail_cursor *cur, + struct xfs_log_item **log_items, int nr_items, + xfs_lsn_t lsn) __releases(ailp->xa_lock); + static inline void +@@ -90,7 +85,7 @@ xfs_trans_ail_update( + struct xfs_log_item *lip, + xfs_lsn_t lsn) __releases(ailp->xa_lock) + { +- xfs_trans_ail_update_bulk(ailp, &lip, 1, lsn); ++ xfs_trans_ail_update_bulk(ailp, NULL, &lip, 1, lsn); + } +=20 + void xfs_trans_ail_delete_bulk(struct xfs_ail *ailp, +@@ -111,10 +106,13 @@ xfs_lsn_t xfs_ail_min_lsn(struct xfs_ail *ailp); + void xfs_trans_unlocked_item(struct xfs_ail *, + xfs_log_item_t *); +=20 +-struct xfs_log_item *xfs_trans_ail_cursor_first(struct xfs_ail *ailp, ++struct xfs_log_item * xfs_trans_ail_cursor_first(struct xfs_ail *ailp, ++ struct xfs_ail_cursor *cur, ++ xfs_lsn_t lsn); ++struct xfs_log_item * xfs_trans_ail_cursor_last(struct xfs_ail *ailp, + struct xfs_ail_cursor *cur, + xfs_lsn_t lsn); +-struct xfs_log_item *xfs_trans_ail_cursor_next(struct xfs_ail *ailp, ++struct xfs_log_item * xfs_trans_ail_cursor_next(struct xfs_ail *ailp, + struct xfs_ail_cursor *cur); + void xfs_trans_ail_cursor_done(struct xfs_ail *ailp, + struct xfs_ail_cursor *cur); +diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c +index c8008dd..640ded8 100644 +--- a/kernel/posix-cpu-timers.c ++++ b/kernel/posix-cpu-timers.c +@@ -274,9 +274,7 @@ void thread_group_cputimer(struct task_struct *tsk, = struct task_cputime *times) + struct task_cputime sum; + unsigned long flags; +=20 +- spin_lock_irqsave(&cputimer->lock, flags); + if (!cputimer->running) { +- cputimer->running =3D 1; + /* + * The POSIX timer interface allows for absolute time expiry + * values through the TIMER_ABSTIME flag, therefore we have +@@ -284,8 +282,11 @@ void thread_group_cputimer(struct task_struct *tsk,= struct task_cputime *times) + * it. + */ + thread_group_cputime(tsk, &sum); ++ spin_lock_irqsave(&cputimer->lock, flags); ++ cputimer->running =3D 1; + update_gt_cputime(&cputimer->cputime, &sum); +- } ++ } else ++ spin_lock_irqsave(&cputimer->lock, flags); + *times =3D cputimer->cputime; + spin_unlock_irqrestore(&cputimer->lock, flags); + } +diff --git a/kernel/sys.c b/kernel/sys.c +index 5c942cf..f88dadc 100644 +--- a/kernel/sys.c ++++ b/kernel/sys.c +@@ -1135,7 +1135,7 @@ DECLARE_RWSEM(uts_sem); + static int override_release(char __user *release, int len) + { + int ret =3D 0; +- char buf[len]; ++ char buf[65]; +=20 + if (current->personality & UNAME26) { + char *rest =3D UTS_RELEASE; +diff --git a/mm/migrate.c b/mm/migrate.c +index 666e4e6..14d0a6a 100644 +--- a/mm/migrate.c ++++ b/mm/migrate.c +@@ -120,10 +120,10 @@ static int remove_migration_pte(struct page *new, = struct vm_area_struct *vma, +=20 + ptep =3D pte_offset_map(pmd, addr); +=20 +- if (!is_swap_pte(*ptep)) { +- pte_unmap(ptep); +- goto out; +- } ++ /* ++ * Peek to check is_swap_pte() before taking ptlock? No, we ++ * can race mremap's move_ptes(), which skips anon_vma lock. ++ */ +=20 + ptl =3D pte_lockptr(mm, pmd); + } +diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c +index 4680b1e..373e14f 100644 +--- a/net/x25/af_x25.c ++++ b/net/x25/af_x25.c +@@ -295,7 +295,8 @@ static struct sock *x25_find_listener(struct x25_add= ress *addr, + * Found a listening socket, now check the incoming + * call user data vs this sockets call user data + */ +- if(skb->len > 0 && x25_sk(s)->cudmatchlength > 0) { ++ if (x25_sk(s)->cudmatchlength > 0 && ++ skb->len >=3D x25_sk(s)->cudmatchlength) { + if((memcmp(x25_sk(s)->calluserdata.cuddata, + skb->data, + x25_sk(s)->cudmatchlength)) =3D=3D 0) { +diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c +index 486f6de..981b6fd 100644 +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -2352,6 +2352,7 @@ static struct snd_pci_quirk position_fix_list[] __= devinitdata =3D { + SND_PCI_QUIRK(0x1028, 0x01cc, "Dell D820", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1028, 0x01de, "Dell Precision 390", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1028, 0x01f6, "Dell Latitude 131L", POS_FIX_LPIB), ++ SND_PCI_QUIRK(0x1028, 0x02c6, "Dell Inspiron 1010", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1028, 0x0470, "Dell Inspiron 1120", POS_FIX_LPIB), + SND_PCI_QUIRK(0x103c, 0x306d, "HP dv3", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB), +diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexa= nt.c +index 7bbc5f2..cf1fa36 100644 +--- a/sound/pci/hda/patch_conexant.c ++++ b/sound/pci/hda/patch_conexant.c +@@ -3097,6 +3097,7 @@ static const struct snd_pci_quirk cxt5066_cfg_tbl[= ] =3D { + SND_PCI_QUIRK(0x17aa, 0x21c5, "Thinkpad Edge 13", CXT5066_THINKPAD), + SND_PCI_QUIRK(0x17aa, 0x21c6, "Thinkpad Edge 13", CXT5066_ASUS), + SND_PCI_QUIRK(0x17aa, 0x215e, "Lenovo Thinkpad", CXT5066_THINKPAD), ++ SND_PCI_QUIRK(0x17aa, 0x21cf, "Lenovo T520 & W520", CXT5066_AUTO), + SND_PCI_QUIRK(0x17aa, 0x21da, "Lenovo X220", CXT5066_THINKPAD), + SND_PCI_QUIRK(0x17aa, 0x21db, "Lenovo X220-tablet", CXT5066_THINKPAD), + SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo U350", CXT5066_ASUS), diff --git a/2.6.32/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch b/= 3.0.8/4420_grsecurity-2.2.2-3.0.8-201111010529.patch similarity index 65% rename from 2.6.32/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch rename to 3.0.8/4420_grsecurity-2.2.2-3.0.8-201111010529.patch index fa7931f..f64b14d 100644 --- a/2.6.32/4420_grsecurity-2.2.2-2.6.32.48-201111121310.patch +++ b/3.0.8/4420_grsecurity-2.2.2-3.0.8-201111010529.patch @@ -1,7 +1,7 @@ -diff -urNp linux-2.6.32.48/arch/alpha/include/asm/elf.h linux-2.6.32.48/= arch/alpha/include/asm/elf.h ---- linux-2.6.32.48/arch/alpha/include/asm/elf.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/alpha/include/asm/elf.h 2011-11-12 12:46:42.000= 000000 -0500 -@@ -91,6 +91,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N +diff -urNp linux-3.0.8/arch/alpha/include/asm/elf.h linux-3.0.8/arch/alp= ha/include/asm/elf.h +--- linux-3.0.8/arch/alpha/include/asm/elf.h 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/alpha/include/asm/elf.h 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -90,6 +90,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N =20 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x1000000) =20 @@ -15,9 +15,9 @@ diff -urNp linux-2.6.32.48/arch/alpha/include/asm/elf.h= linux-2.6.32.48/arch/alp /* $0 is set by ld.so to a pointer to a function which might be=20 registered using atexit. This provides a mean for the dynamic linker to call DT_FINI functions for shared libraries that have -diff -urNp linux-2.6.32.48/arch/alpha/include/asm/pgtable.h linux-2.6.32= .48/arch/alpha/include/asm/pgtable.h ---- linux-2.6.32.48/arch/alpha/include/asm/pgtable.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/alpha/include/asm/pgtable.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-3.0.8/arch/alpha/include/asm/pgtable.h linux-3.0.8/arch= /alpha/include/asm/pgtable.h +--- linux-3.0.8/arch/alpha/include/asm/pgtable.h 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/alpha/include/asm/pgtable.h 2011-08-23 21:47:55.000= 000000 -0400 @@ -101,6 +101,17 @@ struct vm_area_struct; #define PAGE_SHARED __pgprot(_PAGE_VALID | __ACCESS_BITS) #define PAGE_COPY __pgprot(_PAGE_VALID | __ACCESS_BITS | _PAGE_FOW) @@ -36,9 +36,9 @@ diff -urNp linux-2.6.32.48/arch/alpha/include/asm/pgtab= le.h linux-2.6.32.48/arch #define PAGE_KERNEL __pgprot(_PAGE_VALID | _PAGE_ASM | _PAGE_KRE | _PAG= E_KWE) =20 #define _PAGE_NORMAL(x) __pgprot(_PAGE_VALID | __ACCESS_BITS | (x)) -diff -urNp linux-2.6.32.48/arch/alpha/kernel/module.c linux-2.6.32.48/ar= ch/alpha/kernel/module.c ---- linux-2.6.32.48/arch/alpha/kernel/module.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/alpha/kernel/module.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/alpha/kernel/module.c linux-3.0.8/arch/alpha= /kernel/module.c +--- linux-3.0.8/arch/alpha/kernel/module.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/alpha/kernel/module.c 2011-08-23 21:47:55.000000000= -0400 @@ -182,7 +182,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs,=20 =20 /* The small sections were sorted to the end of the segment. @@ -48,10 +48,10 @@ diff -urNp linux-2.6.32.48/arch/alpha/kernel/module.c= linux-2.6.32.48/arch/alpha got =3D sechdrs[me->arch.gotsecindex].sh_addr; =20 for (i =3D 0; i < n; i++) { -diff -urNp linux-2.6.32.48/arch/alpha/kernel/osf_sys.c linux-2.6.32.48/a= rch/alpha/kernel/osf_sys.c ---- linux-2.6.32.48/arch/alpha/kernel/osf_sys.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/alpha/kernel/osf_sys.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -1172,7 +1172,7 @@ arch_get_unmapped_area_1(unsigned long a +diff -urNp linux-3.0.8/arch/alpha/kernel/osf_sys.c linux-3.0.8/arch/alph= a/kernel/osf_sys.c +--- linux-3.0.8/arch/alpha/kernel/osf_sys.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/alpha/kernel/osf_sys.c 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -1145,7 +1145,7 @@ arch_get_unmapped_area_1(unsigned long a /* At this point: (!vma || addr < vma->vm_end). */ if (limit - len < addr) return -ENOMEM; @@ -60,7 +60,7 @@ diff -urNp linux-2.6.32.48/arch/alpha/kernel/osf_sys.c = linux-2.6.32.48/arch/alph return addr; addr =3D vma->vm_end; vma =3D vma->vm_next; -@@ -1208,6 +1208,10 @@ arch_get_unmapped_area(struct file *filp +@@ -1181,6 +1181,10 @@ arch_get_unmapped_area(struct file *filp merely specific addresses, but regions of memory -- perhaps this feature should be incorporated into all ports? */ =20 @@ -71,7 +71,7 @@ diff -urNp linux-2.6.32.48/arch/alpha/kernel/osf_sys.c = linux-2.6.32.48/arch/alph if (addr) { addr =3D arch_get_unmapped_area_1 (PAGE_ALIGN(addr), len, limit); if (addr !=3D (unsigned long) -ENOMEM) -@@ -1215,8 +1219,8 @@ arch_get_unmapped_area(struct file *filp +@@ -1188,8 +1192,8 @@ arch_get_unmapped_area(struct file *filp } =20 /* Next, try allocating at TASK_UNMAPPED_BASE. */ @@ -82,9 +82,9 @@ diff -urNp linux-2.6.32.48/arch/alpha/kernel/osf_sys.c = linux-2.6.32.48/arch/alph if (addr !=3D (unsigned long) -ENOMEM) return addr; =20 -diff -urNp linux-2.6.32.48/arch/alpha/mm/fault.c linux-2.6.32.48/arch/al= pha/mm/fault.c ---- linux-2.6.32.48/arch/alpha/mm/fault.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/alpha/mm/fault.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-3.0.8/arch/alpha/mm/fault.c linux-3.0.8/arch/alpha/mm/f= ault.c +--- linux-3.0.8/arch/alpha/mm/fault.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/alpha/mm/fault.c 2011-08-23 21:47:55.000000000 -040= 0 @@ -54,6 +54,124 @@ __load_new_mm_context(struct mm_struct * __reload_thread(pcb); } @@ -241,10 +241,10 @@ diff -urNp linux-2.6.32.48/arch/alpha/mm/fault.c li= nux-2.6.32.48/arch/alpha/mm/f } else if (!cause) { /* Allow reads even for write-only mappings */ if (!(vma->vm_flags & (VM_READ | VM_WRITE))) -diff -urNp linux-2.6.32.48/arch/arm/include/asm/elf.h linux-2.6.32.48/ar= ch/arm/include/asm/elf.h ---- linux-2.6.32.48/arch/arm/include/asm/elf.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/arm/include/asm/elf.h 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -109,7 +109,14 @@ int dump_task_regs(struct task_struct *t +diff -urNp linux-3.0.8/arch/arm/include/asm/elf.h linux-3.0.8/arch/arm/i= nclude/asm/elf.h +--- linux-3.0.8/arch/arm/include/asm/elf.h 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/arm/include/asm/elf.h 2011-08-23 21:47:55.000000000= -0400 +@@ -116,7 +116,14 @@ int dump_task_regs(struct task_struct *t the loader. We need to make sure that it is out of the way of the p= rogram that it will "exec", and that there is sufficient room for the brk. = */ =20 @@ -260,20 +260,31 @@ diff -urNp linux-2.6.32.48/arch/arm/include/asm/elf= .h linux-2.6.32.48/arch/arm/i =20 /* When the program starts, a1 contains a pointer to a function to be=20 registered with atexit, as per the SVR4 ABI. A value of 0 means we=20 -diff -urNp linux-2.6.32.48/arch/arm/include/asm/kmap_types.h linux-2.6.3= 2.48/arch/arm/include/asm/kmap_types.h ---- linux-2.6.32.48/arch/arm/include/asm/kmap_types.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/arm/include/asm/kmap_types.h 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -19,6 +19,7 @@ enum km_type { - KM_SOFTIRQ0, - KM_SOFTIRQ1, +@@ -126,10 +133,6 @@ int dump_task_regs(struct task_struct *t + extern void elf_set_personality(const struct elf32_hdr *); + #define SET_PERSONALITY(ex) elf_set_personality(&(ex)) +=20 +-struct mm_struct; +-extern unsigned long arch_randomize_brk(struct mm_struct *mm); +-#define arch_randomize_brk arch_randomize_brk +- + extern int vectors_user_mapping(void); + #define arch_setup_additional_pages(bprm, uses_interp) vectors_user_map= ping() + #define ARCH_HAS_SETUP_ADDITIONAL_PAGES +diff -urNp linux-3.0.8/arch/arm/include/asm/kmap_types.h linux-3.0.8/arc= h/arm/include/asm/kmap_types.h +--- linux-3.0.8/arch/arm/include/asm/kmap_types.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/arm/include/asm/kmap_types.h 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -21,6 +21,7 @@ enum km_type { + KM_L1_CACHE, KM_L2_CACHE, + KM_KDB, + KM_CLEARPAGE, KM_TYPE_NR }; =20 -diff -urNp linux-2.6.32.48/arch/arm/include/asm/uaccess.h linux-2.6.32.4= 8/arch/arm/include/asm/uaccess.h ---- linux-2.6.32.48/arch/arm/include/asm/uaccess.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/arm/include/asm/uaccess.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-3.0.8/arch/arm/include/asm/uaccess.h linux-3.0.8/arch/a= rm/include/asm/uaccess.h +--- linux-3.0.8/arch/arm/include/asm/uaccess.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/arm/include/asm/uaccess.h 2011-08-23 21:47:55.00000= 0000 -0400 @@ -22,6 +22,8 @@ #define VERIFY_READ 0 #define VERIFY_WRITE 1 @@ -329,10 +340,10 @@ diff -urNp linux-2.6.32.48/arch/arm/include/asm/uac= cess.h linux-2.6.32.48/arch/a if (access_ok(VERIFY_WRITE, to, n)) n =3D __copy_to_user(to, from, n); return n; -diff -urNp linux-2.6.32.48/arch/arm/kernel/armksyms.c linux-2.6.32.48/ar= ch/arm/kernel/armksyms.c ---- linux-2.6.32.48/arch/arm/kernel/armksyms.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/arm/kernel/armksyms.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -118,8 +118,8 @@ EXPORT_SYMBOL(__strncpy_from_user); +diff -urNp linux-3.0.8/arch/arm/kernel/armksyms.c linux-3.0.8/arch/arm/k= ernel/armksyms.c +--- linux-3.0.8/arch/arm/kernel/armksyms.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/arm/kernel/armksyms.c 2011-08-23 21:47:55.000000000= -0400 +@@ -98,8 +98,8 @@ EXPORT_SYMBOL(__strncpy_from_user); #ifdef CONFIG_MMU EXPORT_SYMBOL(copy_page); =20 @@ -343,42 +354,55 @@ diff -urNp linux-2.6.32.48/arch/arm/kernel/armksyms= .c linux-2.6.32.48/arch/arm/k EXPORT_SYMBOL(__clear_user); =20 EXPORT_SYMBOL(__get_user_1); -diff -urNp linux-2.6.32.48/arch/arm/kernel/kgdb.c linux-2.6.32.48/arch/a= rm/kernel/kgdb.c ---- linux-2.6.32.48/arch/arm/kernel/kgdb.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/arm/kernel/kgdb.c 2011-11-12 12:46:42.000000000= -0500 -@@ -190,7 +190,7 @@ void kgdb_arch_exit(void) - * and we handle the normal undef case within the do_undefinstr - * handler. - */ --struct kgdb_arch arch_kgdb_ops =3D { -+const struct kgdb_arch arch_kgdb_ops =3D { - #ifndef __ARMEB__ - .gdb_bpt_instr =3D {0xfe, 0xde, 0xff, 0xe7} - #else /* ! __ARMEB__ */ -diff -urNp linux-2.6.32.48/arch/arm/kernel/traps.c linux-2.6.32.48/arch/= arm/kernel/traps.c ---- linux-2.6.32.48/arch/arm/kernel/traps.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/arm/kernel/traps.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -247,6 +247,8 @@ static void __die(const char *str, int e -=20 - DEFINE_SPINLOCK(die_lock); +diff -urNp linux-3.0.8/arch/arm/kernel/process.c linux-3.0.8/arch/arm/ke= rnel/process.c +--- linux-3.0.8/arch/arm/kernel/process.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/arm/kernel/process.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -28,7 +28,6 @@ + #include + #include + #include +-#include + #include +=20 + #include +@@ -479,12 +478,6 @@ unsigned long get_wchan(struct task_stru + return 0; + } +=20 +-unsigned long arch_randomize_brk(struct mm_struct *mm) +-{ +- unsigned long range_end =3D mm->brk + 0x02000000; +- return randomize_range(mm->brk, range_end, 0) ? : mm->brk; +-} +- + #ifdef CONFIG_MMU + /* + * The vectors page is always readable from user space for the +diff -urNp linux-3.0.8/arch/arm/kernel/traps.c linux-3.0.8/arch/arm/kern= el/traps.c +--- linux-3.0.8/arch/arm/kernel/traps.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/arm/kernel/traps.c 2011-08-23 21:48:14.000000000 -0= 400 +@@ -257,6 +257,8 @@ static int __die(const char *str, int er +=20 + static DEFINE_SPINLOCK(die_lock); =20 +extern void gr_handle_kernel_exploit(void); + /* * This function is protected against re-entrancy. */ -@@ -271,6 +273,8 @@ NORET_TYPE void die(const char *str, str +@@ -284,6 +286,9 @@ void die(const char *str, struct pt_regs + panic("Fatal exception in interrupt"); if (panic_on_oops) panic("Fatal exception"); -=20 ++ + gr_handle_kernel_exploit(); + - do_exit(SIGSEGV); + if (ret !=3D NOTIFY_STOP) + do_exit(SIGSEGV); } -=20 -diff -urNp linux-2.6.32.48/arch/arm/lib/copy_from_user.S linux-2.6.32.48= /arch/arm/lib/copy_from_user.S ---- linux-2.6.32.48/arch/arm/lib/copy_from_user.S 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/arm/lib/copy_from_user.S 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-3.0.8/arch/arm/lib/copy_from_user.S linux-3.0.8/arch/ar= m/lib/copy_from_user.S +--- linux-3.0.8/arch/arm/lib/copy_from_user.S 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/arm/lib/copy_from_user.S 2011-08-23 21:47:55.000000= 000 -0400 @@ -16,7 +16,7 @@ /* * Prototype: @@ -400,11 +424,11 @@ diff -urNp linux-2.6.32.48/arch/arm/lib/copy_from_u= ser.S linux-2.6.32.48/arch/ar -ENDPROC(__copy_from_user) +ENDPROC(___copy_from_user) =20 - .section .fixup,"ax" + .pushsection .fixup,"ax" .align 0 -diff -urNp linux-2.6.32.48/arch/arm/lib/copy_to_user.S linux-2.6.32.48/a= rch/arm/lib/copy_to_user.S ---- linux-2.6.32.48/arch/arm/lib/copy_to_user.S 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/arm/lib/copy_to_user.S 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/arm/lib/copy_to_user.S linux-3.0.8/arch/arm/= lib/copy_to_user.S +--- linux-3.0.8/arch/arm/lib/copy_to_user.S 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/arm/lib/copy_to_user.S 2011-08-23 21:47:55.00000000= 0 -0400 @@ -16,7 +16,7 @@ /* * Prototype: @@ -425,13 +449,13 @@ diff -urNp linux-2.6.32.48/arch/arm/lib/copy_to_use= r.S linux-2.6.32.48/arch/arm/ =20 -ENDPROC(__copy_to_user) +ENDPROC(___copy_to_user) + ENDPROC(__copy_to_user_std) =20 - .section .fixup,"ax" - .align 0 -diff -urNp linux-2.6.32.48/arch/arm/lib/uaccess.S linux-2.6.32.48/arch/a= rm/lib/uaccess.S ---- linux-2.6.32.48/arch/arm/lib/uaccess.S 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/arm/lib/uaccess.S 2011-11-12 12:46:42.000000000= -0500 -@@ -19,7 +19,7 @@ + .pushsection .fixup,"ax" +diff -urNp linux-3.0.8/arch/arm/lib/uaccess.S linux-3.0.8/arch/arm/lib/u= access.S +--- linux-3.0.8/arch/arm/lib/uaccess.S 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/arm/lib/uaccess.S 2011-08-23 21:47:55.000000000 -04= 00 +@@ -20,7 +20,7 @@ =20 #define PAGE_SHIFT 12 =20 @@ -440,7 +464,7 @@ diff -urNp linux-2.6.32.48/arch/arm/lib/uaccess.S lin= ux-2.6.32.48/arch/arm/lib/u * Purpose : copy a block to user memory from kernel memory * Params : to - user memory * : from - kernel memory -@@ -39,7 +39,7 @@ USER( strgtbt r3, [r0], #1) @ May fau +@@ -40,7 +40,7 @@ USER( T(strgtb) r3, [r0], #1) @ May f sub r2, r2, ip b .Lc2u_dest_aligned =20 @@ -449,24 +473,24 @@ diff -urNp linux-2.6.32.48/arch/arm/lib/uaccess.S l= inux-2.6.32.48/arch/arm/lib/u stmfd sp!, {r2, r4 - r7, lr} cmp r2, #4 blt .Lc2u_not_enough -@@ -277,14 +277,14 @@ USER( strgebt r3, [r0], #1) @ May fau +@@ -278,14 +278,14 @@ USER( T(strgeb) r3, [r0], #1) @ May f ldrgtb r3, [r1], #0 - USER( strgtbt r3, [r0], #1) @ May fault + USER( T(strgtb) r3, [r0], #1) @ May fault b .Lc2u_finished -ENDPROC(__copy_to_user) +ENDPROC(___copy_to_user) =20 - .section .fixup,"ax" + .pushsection .fixup,"ax" .align 0 9001: ldmfd sp!, {r0, r4 - r7, pc} - .previous + .popsection =20 -/* Prototype: unsigned long __copy_from_user(void *to,const void *from,= unsigned long n); +/* Prototype: unsigned long ___copy_from_user(void *to,const void *from= ,unsigned long n); * Purpose : copy a block from user memory to kernel memory * Params : to - kernel memory * : from - user memory -@@ -303,7 +303,7 @@ USER( ldrgtbt r3, [r1], #1) @ May fau +@@ -304,7 +304,7 @@ USER( T(ldrgtb) r3, [r1], #1) @ May f sub r2, r2, ip b .Lcfu_dest_aligned =20 @@ -475,19 +499,19 @@ diff -urNp linux-2.6.32.48/arch/arm/lib/uaccess.S l= inux-2.6.32.48/arch/arm/lib/u stmfd sp!, {r0, r2, r4 - r7, lr} cmp r2, #4 blt .Lcfu_not_enough -@@ -543,7 +543,7 @@ USER( ldrgebt r3, [r1], #1) @ May fau - USER( ldrgtbt r3, [r1], #1) @ May fault +@@ -544,7 +544,7 @@ USER( T(ldrgeb) r3, [r1], #1) @ May f + USER( T(ldrgtb) r3, [r1], #1) @ May fault strgtb r3, [r0], #1 b .Lcfu_finished -ENDPROC(__copy_from_user) +ENDPROC(___copy_from_user) =20 - .section .fixup,"ax" + .pushsection .fixup,"ax" .align 0 -diff -urNp linux-2.6.32.48/arch/arm/lib/uaccess_with_memcpy.c linux-2.6.= 32.48/arch/arm/lib/uaccess_with_memcpy.c ---- linux-2.6.32.48/arch/arm/lib/uaccess_with_memcpy.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/arm/lib/uaccess_with_memcpy.c 2011-11-12 12:46:= 42.000000000 -0500 -@@ -97,7 +97,7 @@ out: +diff -urNp linux-3.0.8/arch/arm/lib/uaccess_with_memcpy.c linux-3.0.8/ar= ch/arm/lib/uaccess_with_memcpy.c +--- linux-3.0.8/arch/arm/lib/uaccess_with_memcpy.c 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/arm/lib/uaccess_with_memcpy.c 2011-08-23 21:47:55.0= 00000000 -0400 +@@ -103,7 +103,7 @@ out: } =20 unsigned long @@ -496,106 +520,22 @@ diff -urNp linux-2.6.32.48/arch/arm/lib/uaccess_wi= th_memcpy.c linux-2.6.32.48/ar { /* * This test is stubbed out of the main function above to keep -diff -urNp linux-2.6.32.48/arch/arm/mach-at91/pm.c linux-2.6.32.48/arch/= arm/mach-at91/pm.c ---- linux-2.6.32.48/arch/arm/mach-at91/pm.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/arm/mach-at91/pm.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -348,7 +348,7 @@ static void at91_pm_end(void) - } -=20 -=20 --static struct platform_suspend_ops at91_pm_ops =3D{ -+static const struct platform_suspend_ops at91_pm_ops =3D{ - .valid =3D at91_pm_valid_state, - .begin =3D at91_pm_begin, - .enter =3D at91_pm_enter, -diff -urNp linux-2.6.32.48/arch/arm/mach-omap1/pm.c linux-2.6.32.48/arch= /arm/mach-omap1/pm.c ---- linux-2.6.32.48/arch/arm/mach-omap1/pm.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/arm/mach-omap1/pm.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -647,7 +647,7 @@ static struct irqaction omap_wakeup_irq=20 -=20 -=20 -=20 --static struct platform_suspend_ops omap_pm_ops =3D{ -+static const struct platform_suspend_ops omap_pm_ops =3D{ - .prepare =3D omap_pm_prepare, - .enter =3D omap_pm_enter, - .finish =3D omap_pm_finish, -diff -urNp linux-2.6.32.48/arch/arm/mach-omap2/pm24xx.c linux-2.6.32.48/= arch/arm/mach-omap2/pm24xx.c ---- linux-2.6.32.48/arch/arm/mach-omap2/pm24xx.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/arm/mach-omap2/pm24xx.c 2011-11-12 12:46:42.000= 000000 -0500 -@@ -326,7 +326,7 @@ static void omap2_pm_finish(void) - enable_hlt(); - } -=20 --static struct platform_suspend_ops omap_pm_ops =3D { -+static const struct platform_suspend_ops omap_pm_ops =3D { - .prepare =3D omap2_pm_prepare, - .enter =3D omap2_pm_enter, - .finish =3D omap2_pm_finish, -diff -urNp linux-2.6.32.48/arch/arm/mach-omap2/pm34xx.c linux-2.6.32.48/= arch/arm/mach-omap2/pm34xx.c ---- linux-2.6.32.48/arch/arm/mach-omap2/pm34xx.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/arm/mach-omap2/pm34xx.c 2011-11-12 12:46:42.000= 000000 -0500 -@@ -401,7 +401,7 @@ static void omap3_pm_end(void) - return; +diff -urNp linux-3.0.8/arch/arm/mach-ux500/mbox-db5500.c linux-3.0.8/arc= h/arm/mach-ux500/mbox-db5500.c +--- linux-3.0.8/arch/arm/mach-ux500/mbox-db5500.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/arm/mach-ux500/mbox-db5500.c 2011-08-23 21:48:14.00= 0000000 -0400 +@@ -168,7 +168,7 @@ static ssize_t mbox_read_fifo(struct dev + return sprintf(buf, "0x%X\n", mbox_value); } =20 --static struct platform_suspend_ops omap_pm_ops =3D { -+static const struct platform_suspend_ops omap_pm_ops =3D { - .begin =3D omap3_pm_begin, - .end =3D omap3_pm_end, - .prepare =3D omap3_pm_prepare, -diff -urNp linux-2.6.32.48/arch/arm/mach-pnx4008/pm.c linux-2.6.32.48/ar= ch/arm/mach-pnx4008/pm.c ---- linux-2.6.32.48/arch/arm/mach-pnx4008/pm.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/arm/mach-pnx4008/pm.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -116,7 +116,7 @@ static int pnx4008_pm_valid(suspend_stat - (state =3D=3D PM_SUSPEND_MEM); - } +-static DEVICE_ATTR(fifo, S_IWUGO | S_IRUGO, mbox_read_fifo, mbox_write_= fifo); ++static DEVICE_ATTR(fifo, S_IWUSR | S_IRUGO, mbox_read_fifo, mbox_write_= fifo); =20 --static struct platform_suspend_ops pnx4008_pm_ops =3D { -+static const struct platform_suspend_ops pnx4008_pm_ops =3D { - .enter =3D pnx4008_pm_enter, - .valid =3D pnx4008_pm_valid, - }; -diff -urNp linux-2.6.32.48/arch/arm/mach-pxa/pm.c linux-2.6.32.48/arch/a= rm/mach-pxa/pm.c ---- linux-2.6.32.48/arch/arm/mach-pxa/pm.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/arm/mach-pxa/pm.c 2011-11-12 12:46:42.000000000= -0500 -@@ -95,7 +95,7 @@ void pxa_pm_finish(void) - pxa_cpu_pm_fns->finish(); - } -=20 --static struct platform_suspend_ops pxa_pm_ops =3D { -+static const struct platform_suspend_ops pxa_pm_ops =3D { - .valid =3D pxa_pm_valid, - .enter =3D pxa_pm_enter, - .prepare =3D pxa_pm_prepare, -diff -urNp linux-2.6.32.48/arch/arm/mach-pxa/sharpsl_pm.c linux-2.6.32.4= 8/arch/arm/mach-pxa/sharpsl_pm.c ---- linux-2.6.32.48/arch/arm/mach-pxa/sharpsl_pm.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/arm/mach-pxa/sharpsl_pm.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -891,7 +891,7 @@ static void sharpsl_apm_get_power_status - } -=20 - #ifdef CONFIG_PM --static struct platform_suspend_ops sharpsl_pm_ops =3D { -+static const struct platform_suspend_ops sharpsl_pm_ops =3D { - .prepare =3D pxa_pm_prepare, - .finish =3D pxa_pm_finish, - .enter =3D corgi_pxa_pm_enter, -diff -urNp linux-2.6.32.48/arch/arm/mach-sa1100/pm.c linux-2.6.32.48/arc= h/arm/mach-sa1100/pm.c ---- linux-2.6.32.48/arch/arm/mach-sa1100/pm.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/arm/mach-sa1100/pm.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -120,7 +120,7 @@ unsigned long sleep_phys_sp(void *sp) - return virt_to_phys(sp); - } -=20 --static struct platform_suspend_ops sa11x0_pm_ops =3D { -+static const struct platform_suspend_ops sa11x0_pm_ops =3D { - .enter =3D sa11x0_pm_enter, - .valid =3D suspend_valid_only_mem, - }; -diff -urNp linux-2.6.32.48/arch/arm/mm/fault.c linux-2.6.32.48/arch/arm/= mm/fault.c ---- linux-2.6.32.48/arch/arm/mm/fault.c 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/arch/arm/mm/fault.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -166,6 +166,13 @@ __do_user_fault(struct task_struct *tsk, + static int mbox_show(struct seq_file *s, void *data) + { +diff -urNp linux-3.0.8/arch/arm/mm/fault.c linux-3.0.8/arch/arm/mm/fault= .c +--- linux-3.0.8/arch/arm/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/arm/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 +@@ -182,6 +182,13 @@ __do_user_fault(struct task_struct *tsk, } #endif =20 @@ -609,7 +549,7 @@ diff -urNp linux-2.6.32.48/arch/arm/mm/fault.c linux-= 2.6.32.48/arch/arm/mm/fault tsk->thread.address =3D addr; tsk->thread.error_code =3D fsr; tsk->thread.trap_no =3D 14; -@@ -357,6 +364,33 @@ do_page_fault(unsigned long addr, unsign +@@ -379,6 +386,33 @@ do_page_fault(unsigned long addr, unsign } #endif /* CONFIG_MMU */ =20 @@ -643,10 +583,10 @@ diff -urNp linux-2.6.32.48/arch/arm/mm/fault.c linu= x-2.6.32.48/arch/arm/mm/fault /* * First Level Translation Fault Handler * -diff -urNp linux-2.6.32.48/arch/arm/mm/mmap.c linux-2.6.32.48/arch/arm/m= m/mmap.c ---- linux-2.6.32.48/arch/arm/mm/mmap.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/arm/mm/mmap.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -63,6 +63,10 @@ arch_get_unmapped_area(struct file *filp +diff -urNp linux-3.0.8/arch/arm/mm/mmap.c linux-3.0.8/arch/arm/mm/mmap.c +--- linux-3.0.8/arch/arm/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/arm/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 +@@ -65,6 +65,10 @@ arch_get_unmapped_area(struct file *filp if (len > TASK_SIZE) return -ENOMEM; =20 @@ -657,7 +597,7 @@ diff -urNp linux-2.6.32.48/arch/arm/mm/mmap.c linux-2= .6.32.48/arch/arm/mm/mmap.c if (addr) { if (do_align) addr =3D COLOUR_ALIGN(addr, pgoff); -@@ -70,15 +74,14 @@ arch_get_unmapped_area(struct file *filp +@@ -72,15 +76,14 @@ arch_get_unmapped_area(struct file *filp addr =3D PAGE_ALIGN(addr); =20 vma =3D find_vma(mm, addr); @@ -675,9 +615,9 @@ diff -urNp linux-2.6.32.48/arch/arm/mm/mmap.c linux-2= .6.32.48/arch/arm/mm/mmap.c + start_addr =3D addr =3D mm->mmap_base; + mm->cached_hole_size =3D 0; } -=20 - full_search: -@@ -94,14 +97,14 @@ full_search: + /* 8 bits of randomness in 20 address space bits */ + if ((current->flags & PF_RANDOMIZE) && +@@ -100,14 +103,14 @@ full_search: * Start a new search - just in case we missed * some holes. */ @@ -695,22 +635,10 @@ diff -urNp linux-2.6.32.48/arch/arm/mm/mmap.c linux= -2.6.32.48/arch/arm/mm/mmap.c /* * Remember the place where we stopped the search: */ -diff -urNp linux-2.6.32.48/arch/arm/plat-s3c/pm.c linux-2.6.32.48/arch/a= rm/plat-s3c/pm.c ---- linux-2.6.32.48/arch/arm/plat-s3c/pm.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/arm/plat-s3c/pm.c 2011-11-12 12:46:42.000000000= -0500 -@@ -355,7 +355,7 @@ static void s3c_pm_finish(void) - s3c_pm_check_cleanup(); - } -=20 --static struct platform_suspend_ops s3c_pm_ops =3D { -+static const struct platform_suspend_ops s3c_pm_ops =3D { - .enter =3D s3c_pm_enter, - .prepare =3D s3c_pm_prepare, - .finish =3D s3c_pm_finish, -diff -urNp linux-2.6.32.48/arch/avr32/include/asm/elf.h linux-2.6.32.48/= arch/avr32/include/asm/elf.h ---- linux-2.6.32.48/arch/avr32/include/asm/elf.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/avr32/include/asm/elf.h 2011-11-12 12:46:42.000= 000000 -0500 -@@ -85,8 +85,14 @@ typedef struct user_fpu_struct elf_fpreg +diff -urNp linux-3.0.8/arch/avr32/include/asm/elf.h linux-3.0.8/arch/avr= 32/include/asm/elf.h +--- linux-3.0.8/arch/avr32/include/asm/elf.h 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/avr32/include/asm/elf.h 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -84,8 +84,14 @@ typedef struct user_fpu_struct elf_fpreg the loader. We need to make sure that it is out of the way of the p= rogram that it will "exec", and that there is sufficient room for the brk. = */ =20 @@ -726,9 +654,9 @@ diff -urNp linux-2.6.32.48/arch/avr32/include/asm/elf= .h linux-2.6.32.48/arch/avr =20 /* This yields a mask that user programs can use to figure out what instruction set this CPU supports. This could be done in user space= , -diff -urNp linux-2.6.32.48/arch/avr32/include/asm/kmap_types.h linux-2.6= .32.48/arch/avr32/include/asm/kmap_types.h ---- linux-2.6.32.48/arch/avr32/include/asm/kmap_types.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/avr32/include/asm/kmap_types.h 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-3.0.8/arch/avr32/include/asm/kmap_types.h linux-3.0.8/a= rch/avr32/include/asm/kmap_types.h +--- linux-3.0.8/arch/avr32/include/asm/kmap_types.h 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/arch/avr32/include/asm/kmap_types.h 2011-08-23 21:47:55.= 000000000 -0400 @@ -22,7 +22,8 @@ D(10) KM_IRQ0, D(11) KM_IRQ1, D(12) KM_SOFTIRQ0, @@ -739,21 +667,9 @@ diff -urNp linux-2.6.32.48/arch/avr32/include/asm/km= ap_types.h linux-2.6.32.48/a }; =20 #undef D -diff -urNp linux-2.6.32.48/arch/avr32/mach-at32ap/pm.c linux-2.6.32.48/a= rch/avr32/mach-at32ap/pm.c ---- linux-2.6.32.48/arch/avr32/mach-at32ap/pm.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/avr32/mach-at32ap/pm.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -176,7 +176,7 @@ out: - return 0; - } -=20 --static struct platform_suspend_ops avr32_pm_ops =3D { -+static const struct platform_suspend_ops avr32_pm_ops =3D { - .valid =3D avr32_pm_valid_state, - .enter =3D avr32_pm_enter, - }; -diff -urNp linux-2.6.32.48/arch/avr32/mm/fault.c linux-2.6.32.48/arch/av= r32/mm/fault.c ---- linux-2.6.32.48/arch/avr32/mm/fault.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/avr32/mm/fault.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-3.0.8/arch/avr32/mm/fault.c linux-3.0.8/arch/avr32/mm/f= ault.c +--- linux-3.0.8/arch/avr32/mm/fault.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/avr32/mm/fault.c 2011-08-23 21:47:55.000000000 -040= 0 @@ -41,6 +41,23 @@ static inline int notify_page_fault(stru =20 int exception_trace =3D 1; @@ -778,7 +694,7 @@ diff -urNp linux-2.6.32.48/arch/avr32/mm/fault.c linu= x-2.6.32.48/arch/avr32/mm/f /* * This routine handles page faults. It determines the address and the * problem, and then passes it off to one of the appropriate routines. -@@ -157,6 +174,16 @@ bad_area: +@@ -156,6 +173,16 @@ bad_area: up_read(&mm->mmap_sem); =20 if (user_mode(regs)) { @@ -795,33 +711,9 @@ diff -urNp linux-2.6.32.48/arch/avr32/mm/fault.c lin= ux-2.6.32.48/arch/avr32/mm/f if (exception_trace && printk_ratelimit()) printk("%s%s[%d]: segfault at %08lx pc %08lx " "sp %08lx ecr %lu\n", -diff -urNp linux-2.6.32.48/arch/blackfin/kernel/kgdb.c linux-2.6.32.48/a= rch/blackfin/kernel/kgdb.c ---- linux-2.6.32.48/arch/blackfin/kernel/kgdb.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/blackfin/kernel/kgdb.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -428,7 +428,7 @@ int kgdb_arch_handle_exception(int vecto - return -1; /* this means that we do not want to exit from the handler= */ - } -=20 --struct kgdb_arch arch_kgdb_ops =3D { -+const struct kgdb_arch arch_kgdb_ops =3D { - .gdb_bpt_instr =3D {0xa1}, - #ifdef CONFIG_SMP - .flags =3D KGDB_HW_BREAKPOINT|KGDB_THR_PROC_SWAP, -diff -urNp linux-2.6.32.48/arch/blackfin/mach-common/pm.c linux-2.6.32.4= 8/arch/blackfin/mach-common/pm.c ---- linux-2.6.32.48/arch/blackfin/mach-common/pm.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/blackfin/mach-common/pm.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -255,7 +255,7 @@ static int bfin_pm_enter(suspend_state_t - return 0; - } -=20 --struct platform_suspend_ops bfin_pm_ops =3D { -+const struct platform_suspend_ops bfin_pm_ops =3D { - .enter =3D bfin_pm_enter, - .valid =3D bfin_pm_valid, - }; -diff -urNp linux-2.6.32.48/arch/frv/include/asm/kmap_types.h linux-2.6.3= 2.48/arch/frv/include/asm/kmap_types.h ---- linux-2.6.32.48/arch/frv/include/asm/kmap_types.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/frv/include/asm/kmap_types.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-3.0.8/arch/frv/include/asm/kmap_types.h linux-3.0.8/arc= h/frv/include/asm/kmap_types.h +--- linux-3.0.8/arch/frv/include/asm/kmap_types.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/frv/include/asm/kmap_types.h 2011-08-23 21:47:55.00= 0000000 -0400 @@ -23,6 +23,7 @@ enum km_type { KM_IRQ1, KM_SOFTIRQ0, @@ -830,9 +722,9 @@ diff -urNp linux-2.6.32.48/arch/frv/include/asm/kmap_= types.h linux-2.6.32.48/arc KM_TYPE_NR }; =20 -diff -urNp linux-2.6.32.48/arch/frv/mm/elf-fdpic.c linux-2.6.32.48/arch/= frv/mm/elf-fdpic.c ---- linux-2.6.32.48/arch/frv/mm/elf-fdpic.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/frv/mm/elf-fdpic.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-3.0.8/arch/frv/mm/elf-fdpic.c linux-3.0.8/arch/frv/mm/e= lf-fdpic.c +--- linux-3.0.8/arch/frv/mm/elf-fdpic.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/frv/mm/elf-fdpic.c 2011-08-23 21:47:55.000000000 -0= 400 @@ -73,8 +73,7 @@ unsigned long arch_get_unmapped_area(str if (addr) { addr =3D PAGE_ALIGN(addr); @@ -861,134 +753,10 @@ diff -urNp linux-2.6.32.48/arch/frv/mm/elf-fdpic.c= linux-2.6.32.48/arch/frv/mm/e goto success; addr =3D vma->vm_end; } -diff -urNp linux-2.6.32.48/arch/ia64/hp/common/hwsw_iommu.c linux-2.6.32= .48/arch/ia64/hp/common/hwsw_iommu.c ---- linux-2.6.32.48/arch/ia64/hp/common/hwsw_iommu.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/hp/common/hwsw_iommu.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -17,7 +17,7 @@ - #include - #include -=20 --extern struct dma_map_ops sba_dma_ops, swiotlb_dma_ops; -+extern const struct dma_map_ops sba_dma_ops, swiotlb_dma_ops; -=20 - /* swiotlb declarations & definitions: */ - extern int swiotlb_late_init_with_default_size (size_t size); -@@ -33,7 +33,7 @@ static inline int use_swiotlb(struct dev - !sba_dma_ops.dma_supported(dev, *dev->dma_mask); - } -=20 --struct dma_map_ops *hwsw_dma_get_ops(struct device *dev) -+const struct dma_map_ops *hwsw_dma_get_ops(struct device *dev) - { - if (use_swiotlb(dev)) - return &swiotlb_dma_ops; -diff -urNp linux-2.6.32.48/arch/ia64/hp/common/sba_iommu.c linux-2.6.32.= 48/arch/ia64/hp/common/sba_iommu.c ---- linux-2.6.32.48/arch/ia64/hp/common/sba_iommu.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/hp/common/sba_iommu.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -2097,7 +2097,7 @@ static struct acpi_driver acpi_sba_ioc_d - }, - }; -=20 --extern struct dma_map_ops swiotlb_dma_ops; -+extern const struct dma_map_ops swiotlb_dma_ops; -=20 - static int __init - sba_init(void) -@@ -2211,7 +2211,7 @@ sba_page_override(char *str) -=20 - __setup("sbapagesize=3D",sba_page_override); -=20 --struct dma_map_ops sba_dma_ops =3D { -+const struct dma_map_ops sba_dma_ops =3D { - .alloc_coherent =3D sba_alloc_coherent, - .free_coherent =3D sba_free_coherent, - .map_page =3D sba_map_page, -diff -urNp linux-2.6.32.48/arch/ia64/ia32/binfmt_elf32.c linux-2.6.32.48= /arch/ia64/ia32/binfmt_elf32.c ---- linux-2.6.32.48/arch/ia64/ia32/binfmt_elf32.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/ia64/ia32/binfmt_elf32.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -45,6 +45,13 @@ randomize_stack_top(unsigned long stack_ -=20 - #define elf_read_implies_exec(ex, have_pt_gnu_stack) (!(have_pt_gnu_sta= ck)) -=20 -+#ifdef CONFIG_PAX_ASLR -+#define PAX_ELF_ET_DYN_BASE (current->personality =3D=3D PER_LINUX32 ? = 0x08048000UL : 0x4000000000000000UL) -+ -+#define PAX_DELTA_MMAP_LEN (current->personality =3D=3D PER_LINUX32 ? 1= 6 : 3*PAGE_SHIFT - 13) -+#define PAX_DELTA_STACK_LEN (current->personality =3D=3D PER_LINUX32 ? = 16 : 3*PAGE_SHIFT - 13) -+#endif -+ - /* Ugly but avoids duplication */ - #include "../../../fs/binfmt_elf.c" -=20 -diff -urNp linux-2.6.32.48/arch/ia64/ia32/ia32priv.h linux-2.6.32.48/arc= h/ia64/ia32/ia32priv.h ---- linux-2.6.32.48/arch/ia64/ia32/ia32priv.h 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/ia64/ia32/ia32priv.h 2011-11-12 12:46:42.000000= 000 -0500 -@@ -296,7 +296,14 @@ typedef struct compat_siginfo { - #define ELF_DATA ELFDATA2LSB - #define ELF_ARCH EM_386 -=20 --#define IA32_STACK_TOP IA32_PAGE_OFFSET -+#ifdef CONFIG_PAX_RANDUSTACK -+#define __IA32_DELTA_STACK (current->mm->delta_stack) -+#else -+#define __IA32_DELTA_STACK 0UL -+#endif -+ -+#define IA32_STACK_TOP (IA32_PAGE_OFFSET - __IA32_DELTA_STACK) -+ - #define IA32_GATE_OFFSET IA32_PAGE_OFFSET - #define IA32_GATE_END IA32_PAGE_OFFSET + PAGE_SIZE -=20 -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/dma-mapping.h linux-2.6= .32.48/arch/ia64/include/asm/dma-mapping.h ---- linux-2.6.32.48/arch/ia64/include/asm/dma-mapping.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/dma-mapping.h 2011-11-12 12:46= :42.000000000 -0500 -@@ -12,7 +12,7 @@ -=20 - #define ARCH_HAS_DMA_GET_REQUIRED_MASK -=20 --extern struct dma_map_ops *dma_ops; -+extern const struct dma_map_ops *dma_ops; - extern struct ia64_machine_vector ia64_mv; - extern void set_iommu_machvec(void); -=20 -@@ -24,7 +24,7 @@ extern void machvec_dma_sync_sg(struct d - static inline void *dma_alloc_coherent(struct device *dev, size_t size, - dma_addr_t *daddr, gfp_t gfp) - { -- struct dma_map_ops *ops =3D platform_dma_get_ops(dev); -+ const struct dma_map_ops *ops =3D platform_dma_get_ops(dev); - void *caddr; -=20 - caddr =3D ops->alloc_coherent(dev, size, daddr, gfp); -@@ -35,7 +35,7 @@ static inline void *dma_alloc_coherent(s - static inline void dma_free_coherent(struct device *dev, size_t size, - void *caddr, dma_addr_t daddr) - { -- struct dma_map_ops *ops =3D platform_dma_get_ops(dev); -+ const struct dma_map_ops *ops =3D platform_dma_get_ops(dev); - debug_dma_free_coherent(dev, size, caddr, daddr); - ops->free_coherent(dev, size, caddr, daddr); - } -@@ -49,13 +49,13 @@ static inline void dma_free_coherent(str -=20 - static inline int dma_mapping_error(struct device *dev, dma_addr_t dadd= r) - { -- struct dma_map_ops *ops =3D platform_dma_get_ops(dev); -+ const struct dma_map_ops *ops =3D platform_dma_get_ops(dev); - return ops->mapping_error(dev, daddr); - } -=20 - static inline int dma_supported(struct device *dev, u64 mask) - { -- struct dma_map_ops *ops =3D platform_dma_get_ops(dev); -+ const struct dma_map_ops *ops =3D platform_dma_get_ops(dev); - return ops->dma_supported(dev, mask); - } -=20 -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/elf.h linux-2.6.32.48/a= rch/ia64/include/asm/elf.h ---- linux-2.6.32.48/arch/ia64/include/asm/elf.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/elf.h 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -43,6 +43,13 @@ +diff -urNp linux-3.0.8/arch/ia64/include/asm/elf.h linux-3.0.8/arch/ia64= /include/asm/elf.h +--- linux-3.0.8/arch/ia64/include/asm/elf.h 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/ia64/include/asm/elf.h 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -42,6 +42,13 @@ */ #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x800000000UL) =20 @@ -1002,30 +770,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/include/asm/el= f.h linux-2.6.32.48/arch/ia64 #define PT_IA_64_UNWIND 0x70000001 =20 /* IA-64 relocations: */ -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/machvec.h linux-2.6.32.= 48/arch/ia64/include/asm/machvec.h ---- linux-2.6.32.48/arch/ia64/include/asm/machvec.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/machvec.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -45,7 +45,7 @@ typedef void ia64_mv_kernel_launch_event - /* DMA-mapping interface: */ - typedef void ia64_mv_dma_init (void); - typedef u64 ia64_mv_dma_get_required_mask (struct device *); --typedef struct dma_map_ops *ia64_mv_dma_get_ops(struct device *); -+typedef const struct dma_map_ops *ia64_mv_dma_get_ops(struct device *); -=20 - /* - * WARNING: The legacy I/O space is _architected_. Platforms are -@@ -251,7 +251,7 @@ extern void machvec_init_from_cmdline(co - # endif /* CONFIG_IA64_GENERIC */ -=20 - extern void swiotlb_dma_init(void); --extern struct dma_map_ops *dma_get_ops(struct device *); -+extern const struct dma_map_ops *dma_get_ops(struct device *); -=20 - /* - * Define default versions so we can extend machvec for new platforms w= ithout having -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/pgtable.h linux-2.6.32.= 48/arch/ia64/include/asm/pgtable.h ---- linux-2.6.32.48/arch/ia64/include/asm/pgtable.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/pgtable.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-3.0.8/arch/ia64/include/asm/pgtable.h linux-3.0.8/arch/= ia64/include/asm/pgtable.h +--- linux-3.0.8/arch/ia64/include/asm/pgtable.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/ia64/include/asm/pgtable.h 2011-08-23 21:47:55.0000= 00000 -0400 @@ -12,7 +12,7 @@ * David Mosberger-Tang */ @@ -1053,9 +800,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/include/asm/pgt= able.h linux-2.6.32.48/arch/ #define PAGE_GATE __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_X_RX) #define PAGE_KERNEL __pgprot(__DIRTY_BITS | _PAGE_PL_0 | _PAGE_AR_RWX) #define PAGE_KERNELRX __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_RX= ) -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/spinlock.h linux-2.6.32= .48/arch/ia64/include/asm/spinlock.h ---- linux-2.6.32.48/arch/ia64/include/asm/spinlock.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/spinlock.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-3.0.8/arch/ia64/include/asm/spinlock.h linux-3.0.8/arch= /ia64/include/asm/spinlock.h +--- linux-3.0.8/arch/ia64/include/asm/spinlock.h 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/ia64/include/asm/spinlock.h 2011-08-23 21:47:55.000= 000000 -0400 @@ -72,7 +72,7 @@ static __always_inline void __ticket_spi unsigned short *p =3D (unsigned short *)&lock->lock + 1, tmp; =20 @@ -1064,10 +811,10 @@ diff -urNp linux-2.6.32.48/arch/ia64/include/asm/s= pinlock.h linux-2.6.32.48/arch + ACCESS_ONCE_RW(*p) =3D (tmp + 2) & ~1; } =20 - static __always_inline void __ticket_spin_unlock_wait(raw_spinlock_t *l= ock) -diff -urNp linux-2.6.32.48/arch/ia64/include/asm/uaccess.h linux-2.6.32.= 48/arch/ia64/include/asm/uaccess.h ---- linux-2.6.32.48/arch/ia64/include/asm/uaccess.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/ia64/include/asm/uaccess.h 2011-11-12 12:46:42.= 000000000 -0500 + static __always_inline void __ticket_spin_unlock_wait(arch_spinlock_t *= lock) +diff -urNp linux-3.0.8/arch/ia64/include/asm/uaccess.h linux-3.0.8/arch/= ia64/include/asm/uaccess.h +--- linux-3.0.8/arch/ia64/include/asm/uaccess.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/ia64/include/asm/uaccess.h 2011-08-23 21:47:55.0000= 00000 -0400 @@ -257,7 +257,7 @@ __copy_from_user (void *to, const void _ const void *__cu_from =3D (from); \ long __cu_len =3D (n); \ @@ -1086,30 +833,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/include/asm/ua= ccess.h linux-2.6.32.48/arch/ __cu_len =3D __copy_user((__force void __user *) __cu_to, __cu_from, = __cu_len); \ __cu_len; \ }) -diff -urNp linux-2.6.32.48/arch/ia64/kernel/dma-mapping.c linux-2.6.32.4= 8/arch/ia64/kernel/dma-mapping.c ---- linux-2.6.32.48/arch/ia64/kernel/dma-mapping.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/dma-mapping.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -3,7 +3,7 @@ - /* Set this to 1 if there is a HW IOMMU in the system */ - int iommu_detected __read_mostly; -=20 --struct dma_map_ops *dma_ops; -+const struct dma_map_ops *dma_ops; - EXPORT_SYMBOL(dma_ops); -=20 - #define PREALLOC_DMA_DEBUG_ENTRIES (1 << 16) -@@ -16,7 +16,7 @@ static int __init dma_init(void) - } - fs_initcall(dma_init); -=20 --struct dma_map_ops *dma_get_ops(struct device *dev) -+const struct dma_map_ops *dma_get_ops(struct device *dev) - { - return dma_ops; - } -diff -urNp linux-2.6.32.48/arch/ia64/kernel/module.c linux-2.6.32.48/arc= h/ia64/kernel/module.c ---- linux-2.6.32.48/arch/ia64/kernel/module.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/module.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-3.0.8/arch/ia64/kernel/module.c linux-3.0.8/arch/ia64/k= ernel/module.c +--- linux-3.0.8/arch/ia64/kernel/module.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/ia64/kernel/module.c 2011-08-23 21:47:55.000000000 = -0400 @@ -315,8 +315,7 @@ module_alloc (unsigned long size) void module_free (struct module *mod, void *module_region) @@ -1198,75 +924,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/kernel/module.= c linux-2.6.32.48/arch/ia64/k mod->arch.gp =3D gp; DEBUGP("%s: placing gp at 0x%lx\n", __func__, gp); } -diff -urNp linux-2.6.32.48/arch/ia64/kernel/pci-dma.c linux-2.6.32.48/ar= ch/ia64/kernel/pci-dma.c ---- linux-2.6.32.48/arch/ia64/kernel/pci-dma.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/pci-dma.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -43,7 +43,7 @@ struct device fallback_dev =3D { - .dma_mask =3D &fallback_dev.coherent_dma_mask, - }; -=20 --extern struct dma_map_ops intel_dma_ops; -+extern const struct dma_map_ops intel_dma_ops; -=20 - static int __init pci_iommu_init(void) - { -@@ -96,15 +96,34 @@ int iommu_dma_supported(struct device *d - } - EXPORT_SYMBOL(iommu_dma_supported); -=20 -+extern void *intel_alloc_coherent(struct device *hwdev, size_t size, dm= a_addr_t *dma_handle, gfp_t flags); -+extern void intel_free_coherent(struct device *hwdev, size_t size, void= *vaddr, dma_addr_t dma_handle); -+extern int intel_map_sg(struct device *hwdev, struct scatterlist *sglis= t, int nelems, enum dma_data_direction dir, struct dma_attrs *attrs); -+extern void intel_unmap_sg(struct device *hwdev, struct scatterlist *sg= list, int nelems, enum dma_data_direction dir, struct dma_attrs *attrs); -+extern dma_addr_t intel_map_page(struct device *dev, struct page *page,= unsigned long offset, size_t size, enum dma_data_direction dir, struct d= ma_attrs *attrs); -+extern void intel_unmap_page(struct device *dev, dma_addr_t dev_addr, s= ize_t size, enum dma_data_direction dir, struct dma_attrs *attrs); -+extern int intel_mapping_error(struct device *dev, dma_addr_t dma_addr)= ; -+ -+static const struct dma_map_ops intel_iommu_dma_ops =3D { -+ /* from drivers/pci/intel-iommu.c:intel_dma_ops */ -+ .alloc_coherent =3D intel_alloc_coherent, -+ .free_coherent =3D intel_free_coherent, -+ .map_sg =3D intel_map_sg, -+ .unmap_sg =3D intel_unmap_sg, -+ .map_page =3D intel_map_page, -+ .unmap_page =3D intel_unmap_page, -+ .mapping_error =3D intel_mapping_error, -+ -+ .sync_single_for_cpu =3D machvec_dma_sync_single, -+ .sync_sg_for_cpu =3D machvec_dma_sync_sg, -+ .sync_single_for_device =3D machvec_dma_sync_single, -+ .sync_sg_for_device =3D machvec_dma_sync_sg, -+ .dma_supported =3D iommu_dma_supported, -+}; -+ - void __init pci_iommu_alloc(void) - { -- dma_ops =3D &intel_dma_ops; -- -- dma_ops->sync_single_for_cpu =3D machvec_dma_sync_single; -- dma_ops->sync_sg_for_cpu =3D machvec_dma_sync_sg; -- dma_ops->sync_single_for_device =3D machvec_dma_sync_single; -- dma_ops->sync_sg_for_device =3D machvec_dma_sync_sg; -- dma_ops->dma_supported =3D iommu_dma_supported; -+ dma_ops =3D &intel_iommu_dma_ops; -=20 - /* - * The order of these functions is important for -diff -urNp linux-2.6.32.48/arch/ia64/kernel/pci-swiotlb.c linux-2.6.32.4= 8/arch/ia64/kernel/pci-swiotlb.c ---- linux-2.6.32.48/arch/ia64/kernel/pci-swiotlb.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/pci-swiotlb.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -21,7 +21,7 @@ static void *ia64_swiotlb_alloc_coherent - return swiotlb_alloc_coherent(dev, size, dma_handle, gfp); - } -=20 --struct dma_map_ops swiotlb_dma_ops =3D { -+const struct dma_map_ops swiotlb_dma_ops =3D { - .alloc_coherent =3D ia64_swiotlb_alloc_coherent, - .free_coherent =3D swiotlb_free_coherent, - .map_page =3D swiotlb_map_page, -diff -urNp linux-2.6.32.48/arch/ia64/kernel/sys_ia64.c linux-2.6.32.48/a= rch/ia64/kernel/sys_ia64.c ---- linux-2.6.32.48/arch/ia64/kernel/sys_ia64.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/sys_ia64.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/ia64/kernel/sys_ia64.c linux-3.0.8/arch/ia64= /kernel/sys_ia64.c +--- linux-3.0.8/arch/ia64/kernel/sys_ia64.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/ia64/kernel/sys_ia64.c 2011-08-23 21:47:55.00000000= 0 -0400 @@ -43,6 +43,13 @@ arch_get_unmapped_area (struct file *fil if (REGION_NUMBER(addr) =3D=3D RGN_HPAGE) addr =3D 0; @@ -1299,34 +959,22 @@ diff -urNp linux-2.6.32.48/arch/ia64/kernel/sys_ia= 64.c linux-2.6.32.48/arch/ia64 /* Remember the address where we stopped this search: */ mm->free_area_cache =3D addr + len; return addr; -diff -urNp linux-2.6.32.48/arch/ia64/kernel/topology.c linux-2.6.32.48/a= rch/ia64/kernel/topology.c ---- linux-2.6.32.48/arch/ia64/kernel/topology.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/topology.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -282,7 +282,7 @@ static ssize_t cache_show(struct kobject - return ret; - } -=20 --static struct sysfs_ops cache_sysfs_ops =3D { -+static const struct sysfs_ops cache_sysfs_ops =3D { - .show =3D cache_show - }; -=20 -diff -urNp linux-2.6.32.48/arch/ia64/kernel/vmlinux.lds.S linux-2.6.32.4= 8/arch/ia64/kernel/vmlinux.lds.S ---- linux-2.6.32.48/arch/ia64/kernel/vmlinux.lds.S 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/ia64/kernel/vmlinux.lds.S 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -190,7 +190,7 @@ SECTIONS - /* Per-cpu data: */ - . =3D ALIGN(PERCPU_PAGE_SIZE); - PERCPU_VADDR(PERCPU_ADDR, :percpu) -- __phys_per_cpu_start =3D __per_cpu_load; -+ __phys_per_cpu_start =3D per_cpu_load; - . =3D __phys_per_cpu_start + PERCPU_PAGE_SIZE; /* ensure percpu data = fits - * into percpu page size - */ -diff -urNp linux-2.6.32.48/arch/ia64/mm/fault.c linux-2.6.32.48/arch/ia6= 4/mm/fault.c ---- linux-2.6.32.48/arch/ia64/mm/fault.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/arch/ia64/mm/fault.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -72,6 +72,23 @@ mapped_kernel_page_is_present (unsigned=20 +diff -urNp linux-3.0.8/arch/ia64/kernel/vmlinux.lds.S linux-3.0.8/arch/i= a64/kernel/vmlinux.lds.S +--- linux-3.0.8/arch/ia64/kernel/vmlinux.lds.S 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/ia64/kernel/vmlinux.lds.S 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -199,7 +199,7 @@ SECTIONS { + /* Per-cpu data: */ + . =3D ALIGN(PERCPU_PAGE_SIZE); + PERCPU_VADDR(SMP_CACHE_BYTES, PERCPU_ADDR, :percpu) +- __phys_per_cpu_start =3D __per_cpu_load; ++ __phys_per_cpu_start =3D per_cpu_load; + /* + * ensure percpu data fits + * into percpu page size +diff -urNp linux-3.0.8/arch/ia64/mm/fault.c linux-3.0.8/arch/ia64/mm/fau= lt.c +--- linux-3.0.8/arch/ia64/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/ia64/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 +@@ -73,6 +73,23 @@ mapped_kernel_page_is_present (unsigned=20 return pte_present(pte); } =20 @@ -1350,7 +998,7 @@ diff -urNp linux-2.6.32.48/arch/ia64/mm/fault.c linu= x-2.6.32.48/arch/ia64/mm/fau void __kprobes ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt= _regs *regs) { -@@ -145,9 +162,23 @@ ia64_do_page_fault (unsigned long addres +@@ -146,9 +163,23 @@ ia64_do_page_fault (unsigned long addres mask =3D ( (((isr >> IA64_ISR_X_BIT) & 1UL) << VM_EXEC_BIT) | (((isr >> IA64_ISR_W_BIT) & 1UL) << VM_WRITE_BIT)); =20 @@ -1372,13 +1020,13 @@ diff -urNp linux-2.6.32.48/arch/ia64/mm/fault.c l= inux-2.6.32.48/arch/ia64/mm/fau =20 + } + - survive: /* * If for any reason at all we couldn't handle the fault, make -diff -urNp linux-2.6.32.48/arch/ia64/mm/hugetlbpage.c linux-2.6.32.48/ar= ch/ia64/mm/hugetlbpage.c ---- linux-2.6.32.48/arch/ia64/mm/hugetlbpage.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/ia64/mm/hugetlbpage.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -172,7 +172,7 @@ unsigned long hugetlb_get_unmapped_area( + * sure we exit gracefully rather than endlessly redo the +diff -urNp linux-3.0.8/arch/ia64/mm/hugetlbpage.c linux-3.0.8/arch/ia64/= mm/hugetlbpage.c +--- linux-3.0.8/arch/ia64/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/ia64/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000= -0400 +@@ -171,7 +171,7 @@ unsigned long hugetlb_get_unmapped_area( /* At this point: (!vmm || addr < vmm->vm_end). */ if (REGION_OFFSET(addr) + len > RGN_MAP_LIMIT) return -ENOMEM; @@ -1387,10 +1035,10 @@ diff -urNp linux-2.6.32.48/arch/ia64/mm/hugetlbpa= ge.c linux-2.6.32.48/arch/ia64/ return addr; addr =3D ALIGN(vmm->vm_end, HPAGE_SIZE); } -diff -urNp linux-2.6.32.48/arch/ia64/mm/init.c linux-2.6.32.48/arch/ia64= /mm/init.c ---- linux-2.6.32.48/arch/ia64/mm/init.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/arch/ia64/mm/init.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -122,6 +122,19 @@ ia64_init_addr_space (void) +diff -urNp linux-3.0.8/arch/ia64/mm/init.c linux-3.0.8/arch/ia64/mm/init= .c +--- linux-3.0.8/arch/ia64/mm/init.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/ia64/mm/init.c 2011-08-23 21:47:55.000000000 -0400 +@@ -120,6 +120,19 @@ ia64_init_addr_space (void) vma->vm_start =3D current->thread.rbs_bot & PAGE_MASK; vma->vm_end =3D vma->vm_start + PAGE_SIZE; vma->vm_flags =3D VM_DATA_DEFAULT_FLAGS|VM_GROWSUP|VM_ACCOUNT; @@ -1410,21 +1058,9 @@ diff -urNp linux-2.6.32.48/arch/ia64/mm/init.c lin= ux-2.6.32.48/arch/ia64/mm/init vma->vm_page_prot =3D vm_get_page_prot(vma->vm_flags); down_write(¤t->mm->mmap_sem); if (insert_vm_struct(current->mm, vma)) { -diff -urNp linux-2.6.32.48/arch/ia64/sn/pci/pci_dma.c linux-2.6.32.48/ar= ch/ia64/sn/pci/pci_dma.c ---- linux-2.6.32.48/arch/ia64/sn/pci/pci_dma.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/ia64/sn/pci/pci_dma.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -464,7 +464,7 @@ int sn_pci_legacy_write(struct pci_bus * - return ret; - } -=20 --static struct dma_map_ops sn_dma_ops =3D { -+static const struct dma_map_ops sn_dma_ops =3D { - .alloc_coherent =3D sn_dma_alloc_coherent, - .free_coherent =3D sn_dma_free_coherent, - .map_page =3D sn_dma_map_page, -diff -urNp linux-2.6.32.48/arch/m32r/lib/usercopy.c linux-2.6.32.48/arch= /m32r/lib/usercopy.c ---- linux-2.6.32.48/arch/m32r/lib/usercopy.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/m32r/lib/usercopy.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-3.0.8/arch/m32r/lib/usercopy.c linux-3.0.8/arch/m32r/li= b/usercopy.c +--- linux-3.0.8/arch/m32r/lib/usercopy.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/m32r/lib/usercopy.c 2011-08-23 21:47:55.000000000 -= 0400 @@ -14,6 +14,9 @@ unsigned long __generic_copy_to_user(void __user *to, const void *from, unsigned long= n) @@ -1445,36 +1081,33 @@ diff -urNp linux-2.6.32.48/arch/m32r/lib/usercopy= .c linux-2.6.32.48/arch/m32r/li prefetchw(to); if (access_ok(VERIFY_READ, from, n)) __copy_user_zeroing(to,from,n); -diff -urNp linux-2.6.32.48/arch/mips/alchemy/devboards/pm.c linux-2.6.32= .48/arch/mips/alchemy/devboards/pm.c ---- linux-2.6.32.48/arch/mips/alchemy/devboards/pm.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/mips/alchemy/devboards/pm.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -78,7 +78,7 @@ static void db1x_pm_end(void) -=20 - } -=20 --static struct platform_suspend_ops db1x_pm_ops =3D { -+static const struct platform_suspend_ops db1x_pm_ops =3D { - .valid =3D suspend_valid_only_mem, - .begin =3D db1x_pm_begin, - .enter =3D db1x_pm_enter, -diff -urNp linux-2.6.32.48/arch/mips/include/asm/elf.h linux-2.6.32.48/a= rch/mips/include/asm/elf.h ---- linux-2.6.32.48/arch/mips/include/asm/elf.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/mips/include/asm/elf.h 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -368,4 +368,11 @@ extern int dump_task_fpu(struct task_str +diff -urNp linux-3.0.8/arch/mips/include/asm/elf.h linux-3.0.8/arch/mips= /include/asm/elf.h +--- linux-3.0.8/arch/mips/include/asm/elf.h 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/mips/include/asm/elf.h 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -372,13 +372,16 @@ extern const char *__elf_platform; #define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2) #endif =20 +#ifdef CONFIG_PAX_ASLR -+#define PAX_ELF_ET_DYN_BASE (test_thread_flag(TIF_32BIT_ADDR) ? 0x00400= 000UL : 0x00400000UL) ++#define PAX_ELF_ET_DYN_BASE (TASK_IS_32BIT_ADDR ? 0x00400000UL : 0x0040= 0000UL) + -+#define PAX_DELTA_MMAP_LEN (test_thread_flag(TIF_32BIT_ADDR) ? 27-PAGE_= SHIFT : 36-PAGE_SHIFT) -+#define PAX_DELTA_STACK_LEN (test_thread_flag(TIF_32BIT_ADDR) ? 27-PAGE= _SHIFT : 36-PAGE_SHIFT) ++#define PAX_DELTA_MMAP_LEN (TASK_IS_32BIT_ADDR ? 27-PAGE_SHIFT : 36-PAG= E_SHIFT) ++#define PAX_DELTA_STACK_LEN (TASK_IS_32BIT_ADDR ? 27-PAGE_SHIFT : 36-PA= GE_SHIFT) +#endif + + #define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1 + struct linux_binprm; + extern int arch_setup_additional_pages(struct linux_binprm *bprm, + int uses_interp); +=20 +-struct mm_struct; +-extern unsigned long arch_randomize_brk(struct mm_struct *mm); +-#define arch_randomize_brk arch_randomize_brk +- #endif /* _ASM_ELF_H */ -diff -urNp linux-2.6.32.48/arch/mips/include/asm/page.h linux-2.6.32.48/= arch/mips/include/asm/page.h ---- linux-2.6.32.48/arch/mips/include/asm/page.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/mips/include/asm/page.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-3.0.8/arch/mips/include/asm/page.h linux-3.0.8/arch/mip= s/include/asm/page.h +--- linux-3.0.8/arch/mips/include/asm/page.h 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/mips/include/asm/page.h 2011-08-23 21:47:55.0000000= 00 -0400 @@ -93,7 +93,7 @@ extern void copy_user_highpage(struct pa #ifdef CONFIG_CPU_MIPS32 typedef struct { unsigned long pte_low, pte_high; } pte_t; @@ -1484,22 +1117,9 @@ diff -urNp linux-2.6.32.48/arch/mips/include/asm/p= age.h linux-2.6.32.48/arch/mip #else typedef struct { unsigned long long pte; } pte_t; #define pte_val(x) ((x).pte) -diff -urNp linux-2.6.32.48/arch/mips/include/asm/reboot.h linux-2.6.32.4= 8/arch/mips/include/asm/reboot.h ---- linux-2.6.32.48/arch/mips/include/asm/reboot.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/mips/include/asm/reboot.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -9,7 +9,7 @@ - #ifndef _ASM_REBOOT_H - #define _ASM_REBOOT_H -=20 --extern void (*_machine_restart)(char *command); --extern void (*_machine_halt)(void); -+extern void (*__noreturn _machine_restart)(char *command); -+extern void (*__noreturn _machine_halt)(void); -=20 - #endif /* _ASM_REBOOT_H */ -diff -urNp linux-2.6.32.48/arch/mips/include/asm/system.h linux-2.6.32.4= 8/arch/mips/include/asm/system.h ---- linux-2.6.32.48/arch/mips/include/asm/system.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/mips/include/asm/system.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-3.0.8/arch/mips/include/asm/system.h linux-3.0.8/arch/m= ips/include/asm/system.h +--- linux-3.0.8/arch/mips/include/asm/system.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/mips/include/asm/system.h 2011-08-23 21:47:55.00000= 0000 -0400 @@ -230,6 +230,6 @@ extern void per_cpu_trap_init(void); */ #define __ARCH_WANT_UNLOCKED_CTXSW @@ -1508,55 +1128,44 @@ diff -urNp linux-2.6.32.48/arch/mips/include/asm/= system.h linux-2.6.32.48/arch/m +#define arch_align_stack(x) ((x) & ~0xfUL) =20 #endif /* _ASM_SYSTEM_H */ -diff -urNp linux-2.6.32.48/arch/mips/kernel/binfmt_elfn32.c linux-2.6.32= .48/arch/mips/kernel/binfmt_elfn32.c ---- linux-2.6.32.48/arch/mips/kernel/binfmt_elfn32.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/binfmt_elfn32.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-3.0.8/arch/mips/kernel/binfmt_elfn32.c linux-3.0.8/arch= /mips/kernel/binfmt_elfn32.c +--- linux-3.0.8/arch/mips/kernel/binfmt_elfn32.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/mips/kernel/binfmt_elfn32.c 2011-08-23 21:47:55.000= 000000 -0400 @@ -50,6 +50,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N #undef ELF_ET_DYN_BASE #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) =20 +#ifdef CONFIG_PAX_ASLR -+#define PAX_ELF_ET_DYN_BASE (test_thread_flag(TIF_32BIT_ADDR) ? 0x00400= 000UL : 0x00400000UL) ++#define PAX_ELF_ET_DYN_BASE (TASK_IS_32BIT_ADDR ? 0x00400000UL : 0x0040= 0000UL) + -+#define PAX_DELTA_MMAP_LEN (test_thread_flag(TIF_32BIT_ADDR) ? 27-PAGE_= SHIFT : 36-PAGE_SHIFT) -+#define PAX_DELTA_STACK_LEN (test_thread_flag(TIF_32BIT_ADDR) ? 27-PAGE= _SHIFT : 36-PAGE_SHIFT) ++#define PAX_DELTA_MMAP_LEN (TASK_IS_32BIT_ADDR ? 27-PAGE_SHIFT : 36-PAG= E_SHIFT) ++#define PAX_DELTA_STACK_LEN (TASK_IS_32BIT_ADDR ? 27-PAGE_SHIFT : 36-PA= GE_SHIFT) +#endif + #include #include #include -diff -urNp linux-2.6.32.48/arch/mips/kernel/binfmt_elfo32.c linux-2.6.32= .48/arch/mips/kernel/binfmt_elfo32.c ---- linux-2.6.32.48/arch/mips/kernel/binfmt_elfo32.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/binfmt_elfo32.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-3.0.8/arch/mips/kernel/binfmt_elfo32.c linux-3.0.8/arch= /mips/kernel/binfmt_elfo32.c +--- linux-3.0.8/arch/mips/kernel/binfmt_elfo32.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/mips/kernel/binfmt_elfo32.c 2011-08-23 21:47:55.000= 000000 -0400 @@ -52,6 +52,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N #undef ELF_ET_DYN_BASE #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) =20 +#ifdef CONFIG_PAX_ASLR -+#define PAX_ELF_ET_DYN_BASE (test_thread_flag(TIF_32BIT_ADDR) ? 0x00400= 000UL : 0x00400000UL) ++#define PAX_ELF_ET_DYN_BASE (TASK_IS_32BIT_ADDR ? 0x00400000UL : 0x0040= 0000UL) + -+#define PAX_DELTA_MMAP_LEN (test_thread_flag(TIF_32BIT_ADDR) ? 27-PAGE_= SHIFT : 36-PAGE_SHIFT) -+#define PAX_DELTA_STACK_LEN (test_thread_flag(TIF_32BIT_ADDR) ? 27-PAGE= _SHIFT : 36-PAGE_SHIFT) ++#define PAX_DELTA_MMAP_LEN (TASK_IS_32BIT_ADDR ? 27-PAGE_SHIFT : 36-PAG= E_SHIFT) ++#define PAX_DELTA_STACK_LEN (TASK_IS_32BIT_ADDR ? 27-PAGE_SHIFT : 36-PA= GE_SHIFT) +#endif + #include =20 /* -diff -urNp linux-2.6.32.48/arch/mips/kernel/kgdb.c linux-2.6.32.48/arch/= mips/kernel/kgdb.c ---- linux-2.6.32.48/arch/mips/kernel/kgdb.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/kgdb.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -245,6 +245,7 @@ int kgdb_arch_handle_exception(int vecto - return -1; - } -=20 -+/* cannot be const */ - struct kgdb_arch arch_kgdb_ops; -=20 - /* -diff -urNp linux-2.6.32.48/arch/mips/kernel/process.c linux-2.6.32.48/ar= ch/mips/kernel/process.c ---- linux-2.6.32.48/arch/mips/kernel/process.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/process.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -470,15 +470,3 @@ unsigned long get_wchan(struct task_stru +diff -urNp linux-3.0.8/arch/mips/kernel/process.c linux-3.0.8/arch/mips/= kernel/process.c +--- linux-3.0.8/arch/mips/kernel/process.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/mips/kernel/process.c 2011-08-23 21:47:55.000000000= -0400 +@@ -473,15 +473,3 @@ unsigned long get_wchan(struct task_stru out: return pc; } @@ -1572,44 +1181,37 @@ diff -urNp linux-2.6.32.48/arch/mips/kernel/proce= ss.c linux-2.6.32.48/arch/mips/ - - return sp & ALMASK; -} -diff -urNp linux-2.6.32.48/arch/mips/kernel/reset.c linux-2.6.32.48/arch= /mips/kernel/reset.c ---- linux-2.6.32.48/arch/mips/kernel/reset.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/reset.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -19,8 +19,8 @@ - * So handle all using function pointers to machine specific - * functions. - */ --void (*_machine_restart)(char *command); --void (*_machine_halt)(void); -+void (*__noreturn _machine_restart)(char *command); -+void (*__noreturn _machine_halt)(void); - void (*pm_power_off)(void); -=20 - EXPORT_SYMBOL(pm_power_off); -@@ -29,16 +29,19 @@ void machine_restart(char *command) - { - if (_machine_restart) - _machine_restart(command); -+ BUG(); - } -=20 - void machine_halt(void) - { - if (_machine_halt) - _machine_halt(); -+ BUG(); - } +diff -urNp linux-3.0.8/arch/mips/mm/fault.c linux-3.0.8/arch/mips/mm/fau= lt.c +--- linux-3.0.8/arch/mips/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/mips/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 +@@ -28,6 +28,23 @@ + #include /* For VMALLOC_END */ + #include =20 - void machine_power_off(void) - { - if (pm_power_off) - pm_power_off(); -+ BUG(); - } -diff -urNp linux-2.6.32.48/arch/mips/kernel/syscall.c linux-2.6.32.48/ar= ch/mips/kernel/syscall.c ---- linux-2.6.32.48/arch/mips/kernel/syscall.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/mips/kernel/syscall.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -102,17 +102,21 @@ unsigned long arch_get_unmapped_area(str ++#ifdef CONFIG_PAX_PAGEEXEC ++void pax_report_insns(void *pc, void *sp) ++{ ++ unsigned long i; ++ ++ printk(KERN_ERR "PAX: bytes at PC: "); ++ for (i =3D 0; i < 5; i++) { ++ unsigned int c; ++ if (get_user(c, (unsigned int *)pc+i)) ++ printk(KERN_CONT "???????? "); ++ else ++ printk(KERN_CONT "%08x ", c); ++ } ++ printk("\n"); ++} ++#endif ++ + /* + * This routine handles page faults. It determines the address, + * and the problem, and then passes it off to one of the appropriate +diff -urNp linux-3.0.8/arch/mips/mm/mmap.c linux-3.0.8/arch/mips/mm/mmap= .c +--- linux-3.0.8/arch/mips/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/mips/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 +@@ -48,14 +48,18 @@ unsigned long arch_get_unmapped_area(str do_color_align =3D 0; if (filp || (flags & MAP_SHARED)) do_color_align =3D 1; @@ -1624,68 +1226,56 @@ diff -urNp linux-2.6.32.48/arch/mips/kernel/sysca= ll.c linux-2.6.32.48/arch/mips/ else addr =3D PAGE_ALIGN(addr); vmm =3D find_vma(current->mm, addr); -- if (task_size - len >=3D addr && +- if (TASK_SIZE - len >=3D addr && - (!vmm || addr + len <=3D vmm->vm_start)) -+ if (task_size - len >=3D addr && check_heap_stack_gap(vmm, addr, len)= ) ++ if (TASK_SIZE - len >=3D addr && check_heap_stack_gap(vmm, addr, len)= ) return addr; } -- addr =3D TASK_UNMAPPED_BASE; -+ addr =3D current->mm->mmap_base; - if (do_color_align) - addr =3D COLOUR_ALIGN(addr, pgoff); - else -@@ -122,7 +126,7 @@ unsigned long arch_get_unmapped_area(str + addr =3D current->mm->mmap_base; +@@ -68,7 +72,7 @@ unsigned long arch_get_unmapped_area(str /* At this point: (!vmm || addr < vmm->vm_end). */ - if (task_size - len < addr) + if (TASK_SIZE - len < addr) return -ENOMEM; - if (!vmm || addr + len <=3D vmm->vm_start) + if (check_heap_stack_gap(vmm, addr, len)) return addr; addr =3D vmm->vm_end; if (do_color_align) -diff -urNp linux-2.6.32.48/arch/mips/Makefile linux-2.6.32.48/arch/mips/= Makefile ---- linux-2.6.32.48/arch/mips/Makefile 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/arch/mips/Makefile 2011-11-12 12:46:42.000000000 -05= 00 -@@ -51,6 +51,8 @@ endif - cflags-y :=3D -ffunction-sections - cflags-y +=3D $(call cc-option, -mno-check-zero-division) -=20 -+cflags-y +=3D -Wno-sign-compare -Wno-extra -+ - ifdef CONFIG_32BIT - ld-emul =3D $(32bit-emul) - vmlinux-32 =3D vmlinux -diff -urNp linux-2.6.32.48/arch/mips/mm/fault.c linux-2.6.32.48/arch/mip= s/mm/fault.c ---- linux-2.6.32.48/arch/mips/mm/fault.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/arch/mips/mm/fault.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -26,6 +26,23 @@ - #include - #include /* For VMALLOC_END */ -=20 -+#ifdef CONFIG_PAX_PAGEEXEC -+void pax_report_insns(void *pc, void *sp) -+{ -+ unsigned long i; -+ -+ printk(KERN_ERR "PAX: bytes at PC: "); -+ for (i =3D 0; i < 5; i++) { -+ unsigned int c; -+ if (get_user(c, (unsigned int *)pc+i)) -+ printk(KERN_CONT "???????? "); -+ else -+ printk(KERN_CONT "%08x ", c); -+ } -+ printk("\n"); -+} -+#endif -+ - /* - * This routine handles page faults. It determines the address, - * and the problem, and then passes it off to one of the appropriate -diff -urNp linux-2.6.32.48/arch/parisc/include/asm/elf.h linux-2.6.32.48= /arch/parisc/include/asm/elf.h ---- linux-2.6.32.48/arch/parisc/include/asm/elf.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/parisc/include/asm/elf.h 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -343,6 +343,13 @@ struct pt_regs; /* forward declaration.. +@@ -93,30 +97,3 @@ void arch_pick_mmap_layout(struct mm_str + mm->get_unmapped_area =3D arch_get_unmapped_area; + mm->unmap_area =3D arch_unmap_area; + } +- +-static inline unsigned long brk_rnd(void) +-{ +- unsigned long rnd =3D get_random_int(); +- +- rnd =3D rnd << PAGE_SHIFT; +- /* 8MB for 32bit, 256MB for 64bit */ +- if (TASK_IS_32BIT_ADDR) +- rnd =3D rnd & 0x7ffffful; +- else +- rnd =3D rnd & 0xffffffful; +- +- return rnd; +-} +- +-unsigned long arch_randomize_brk(struct mm_struct *mm) +-{ +- unsigned long base =3D mm->brk; +- unsigned long ret; +- +- ret =3D PAGE_ALIGN(base + brk_rnd()); +- +- if (ret < mm->brk) +- return mm->brk; +- +- return ret; +-} +diff -urNp linux-3.0.8/arch/parisc/include/asm/elf.h linux-3.0.8/arch/pa= risc/include/asm/elf.h +--- linux-3.0.8/arch/parisc/include/asm/elf.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/parisc/include/asm/elf.h 2011-08-23 21:47:55.000000= 000 -0400 +@@ -342,6 +342,13 @@ struct pt_regs; /* forward declaration.. =20 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x01000000) =20 @@ -1699,10 +1289,10 @@ diff -urNp linux-2.6.32.48/arch/parisc/include/as= m/elf.h linux-2.6.32.48/arch/pa /* This yields a mask that user programs can use to figure out what instruction set this CPU supports. This could be done in user space= , but it's not easy, and we've already done it here. */ -diff -urNp linux-2.6.32.48/arch/parisc/include/asm/pgtable.h linux-2.6.3= 2.48/arch/parisc/include/asm/pgtable.h ---- linux-2.6.32.48/arch/parisc/include/asm/pgtable.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/parisc/include/asm/pgtable.h 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -207,6 +207,17 @@ +diff -urNp linux-3.0.8/arch/parisc/include/asm/pgtable.h linux-3.0.8/arc= h/parisc/include/asm/pgtable.h +--- linux-3.0.8/arch/parisc/include/asm/pgtable.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/parisc/include/asm/pgtable.h 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -210,6 +210,17 @@ struct vm_area_struct; #define PAGE_EXECREAD __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_REA= D | _PAGE_EXEC |_PAGE_ACCESSED) #define PAGE_COPY PAGE_EXECREAD #define PAGE_RWX __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_REA= D | _PAGE_WRITE | _PAGE_EXEC |_PAGE_ACCESSED) @@ -1718,12 +1308,12 @@ diff -urNp linux-2.6.32.48/arch/parisc/include/as= m/pgtable.h linux-2.6.32.48/arc +#endif + #define PAGE_KERNEL __pgprot(_PAGE_KERNEL) - #define PAGE_KERNEL_RO __pgprot(_PAGE_KERNEL & ~_PAGE_WRITE) - #define PAGE_KERNEL_UNC __pgprot(_PAGE_KERNEL | _PAGE_NO_CACHE) -diff -urNp linux-2.6.32.48/arch/parisc/kernel/module.c linux-2.6.32.48/a= rch/parisc/kernel/module.c ---- linux-2.6.32.48/arch/parisc/kernel/module.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/parisc/kernel/module.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -95,16 +95,38 @@ + #define PAGE_KERNEL_EXEC __pgprot(_PAGE_KERNEL_EXEC) + #define PAGE_KERNEL_RWX __pgprot(_PAGE_KERNEL_RWX) +diff -urNp linux-3.0.8/arch/parisc/kernel/module.c linux-3.0.8/arch/pari= sc/kernel/module.c +--- linux-3.0.8/arch/parisc/kernel/module.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/parisc/kernel/module.c 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -98,16 +98,38 @@ =20 /* three functions to determine where in the module core * or init pieces the location is */ @@ -1766,7 +1356,7 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/modul= e.c linux-2.6.32.48/arch/pari } =20 static inline int in_local(struct module *me, void *loc) -@@ -364,13 +386,13 @@ int module_frob_arch_sections(CONST Elf_ +@@ -373,13 +395,13 @@ int module_frob_arch_sections(CONST Elf_ } =20 /* align things a bit */ @@ -1787,7 +1377,7 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/modul= e.c linux-2.6.32.48/arch/pari =20 me->arch.got_max =3D gots; me->arch.fdesc_max =3D fdescs; -@@ -388,7 +410,7 @@ static Elf64_Word get_got(struct module=20 +@@ -397,7 +419,7 @@ static Elf64_Word get_got(struct module=20 =20 BUG_ON(value =3D=3D 0); =20 @@ -1796,7 +1386,7 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/modul= e.c linux-2.6.32.48/arch/pari for (i =3D 0; got[i].addr; i++) if (got[i].addr =3D=3D value) goto out; -@@ -406,7 +428,7 @@ static Elf64_Word get_got(struct module=20 +@@ -415,7 +437,7 @@ static Elf64_Word get_got(struct module=20 #ifdef CONFIG_64BIT static Elf_Addr get_fdesc(struct module *me, unsigned long value) { @@ -1805,7 +1395,7 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/modul= e.c linux-2.6.32.48/arch/pari =20 if (!value) { printk(KERN_ERR "%s: zero OPD requested!\n", me->name); -@@ -424,7 +446,7 @@ static Elf_Addr get_fdesc(struct module=20 +@@ -433,7 +455,7 @@ static Elf_Addr get_fdesc(struct module=20 =20 /* Create new one */ fdesc->addr =3D value; @@ -1814,7 +1404,7 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/modul= e.c linux-2.6.32.48/arch/pari return (Elf_Addr)fdesc; } #endif /* CONFIG_64BIT */ -@@ -848,7 +870,7 @@ register_unwind_table(struct module *me, +@@ -857,7 +879,7 @@ register_unwind_table(struct module *me, =20 table =3D (unsigned char *)sechdrs[me->arch.unwind_section].sh_addr; end =3D table + sechdrs[me->arch.unwind_section].sh_size; @@ -1823,9 +1413,9 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/modul= e.c linux-2.6.32.48/arch/pari =20 DEBUGP("register_unwind_table(), sect =3D %d at 0x%p - 0x%p (gp=3D0x%l= x)\n", me->arch.unwind_section, table, end, gp); -diff -urNp linux-2.6.32.48/arch/parisc/kernel/sys_parisc.c linux-2.6.32.= 48/arch/parisc/kernel/sys_parisc.c ---- linux-2.6.32.48/arch/parisc/kernel/sys_parisc.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/parisc/kernel/sys_parisc.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-3.0.8/arch/parisc/kernel/sys_parisc.c linux-3.0.8/arch/= parisc/kernel/sys_parisc.c +--- linux-3.0.8/arch/parisc/kernel/sys_parisc.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/parisc/kernel/sys_parisc.c 2011-08-23 21:47:55.0000= 00000 -0400 @@ -43,7 +43,7 @@ static unsigned long get_unshared_area(u /* At this point: (!vma || addr < vma->vm_end). */ if (TASK_SIZE - len < addr) @@ -1853,9 +1443,9 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/sys_p= arisc.c linux-2.6.32.48/arch/ =20 if (filp) { addr =3D get_shared_area(filp->f_mapping, addr, len, pgoff); -diff -urNp linux-2.6.32.48/arch/parisc/kernel/traps.c linux-2.6.32.48/ar= ch/parisc/kernel/traps.c ---- linux-2.6.32.48/arch/parisc/kernel/traps.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/parisc/kernel/traps.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/parisc/kernel/traps.c linux-3.0.8/arch/paris= c/kernel/traps.c +--- linux-3.0.8/arch/parisc/kernel/traps.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/parisc/kernel/traps.c 2011-08-23 21:47:55.000000000= -0400 @@ -733,9 +733,7 @@ void notrace handle_interruption(int cod =20 down_read(¤t->mm->mmap_sem); @@ -1867,9 +1457,9 @@ diff -urNp linux-2.6.32.48/arch/parisc/kernel/traps= .c linux-2.6.32.48/arch/paris fault_address =3D regs->iaoq[0]; fault_space =3D regs->iasq[0]; =20 -diff -urNp linux-2.6.32.48/arch/parisc/mm/fault.c linux-2.6.32.48/arch/p= arisc/mm/fault.c ---- linux-2.6.32.48/arch/parisc/mm/fault.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/parisc/mm/fault.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-3.0.8/arch/parisc/mm/fault.c linux-3.0.8/arch/parisc/mm= /fault.c +--- linux-3.0.8/arch/parisc/mm/fault.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/parisc/mm/fault.c 2011-08-23 21:47:55.000000000 -04= 00 @@ -15,6 +15,7 @@ #include #include @@ -2039,91 +1629,10 @@ diff -urNp linux-2.6.32.48/arch/parisc/mm/fault.c= linux-2.6.32.48/arch/parisc/mm =20 /* * If for any reason at all we couldn't handle the fault, make -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/device.h linux-2.6.3= 2.48/arch/powerpc/include/asm/device.h ---- linux-2.6.32.48/arch/powerpc/include/asm/device.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/device.h 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -14,7 +14,7 @@ struct dev_archdata { - struct device_node *of_node; -=20 - /* DMA operations on that device */ -- struct dma_map_ops *dma_ops; -+ const struct dma_map_ops *dma_ops; -=20 - /* - * When an iommu is in use, dma_data is used as a ptr to the base of t= he -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/dma-mapping.h linux-= 2.6.32.48/arch/powerpc/include/asm/dma-mapping.h ---- linux-2.6.32.48/arch/powerpc/include/asm/dma-mapping.h 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/dma-mapping.h 2011-11-12 12= :46:42.000000000 -0500 -@@ -69,9 +69,9 @@ static inline unsigned long device_to_ma - #ifdef CONFIG_PPC64 - extern struct dma_map_ops dma_iommu_ops; - #endif --extern struct dma_map_ops dma_direct_ops; -+extern const struct dma_map_ops dma_direct_ops; -=20 --static inline struct dma_map_ops *get_dma_ops(struct device *dev) -+static inline const struct dma_map_ops *get_dma_ops(struct device *dev) - { - /* We don't handle the NULL dev case for ISA for now. We could - * do it via an out of line call but it is not needed for now. The -@@ -84,7 +84,7 @@ static inline struct dma_map_ops *get_dm - return dev->archdata.dma_ops; - } -=20 --static inline void set_dma_ops(struct device *dev, struct dma_map_ops *= ops) -+static inline void set_dma_ops(struct device *dev, const struct dma_map= _ops *ops) - { - dev->archdata.dma_ops =3D ops; - } -@@ -118,7 +118,7 @@ static inline void set_dma_offset(struct -=20 - static inline int dma_supported(struct device *dev, u64 mask) - { -- struct dma_map_ops *dma_ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *dma_ops =3D get_dma_ops(dev); -=20 - if (unlikely(dma_ops =3D=3D NULL)) - return 0; -@@ -132,7 +132,7 @@ static inline int dma_supported(struct d -=20 - static inline int dma_set_mask(struct device *dev, u64 dma_mask) - { -- struct dma_map_ops *dma_ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *dma_ops =3D get_dma_ops(dev); -=20 - if (unlikely(dma_ops =3D=3D NULL)) - return -EIO; -@@ -147,7 +147,7 @@ static inline int dma_set_mask(struct de - static inline void *dma_alloc_coherent(struct device *dev, size_t size, - dma_addr_t *dma_handle, gfp_t flag) - { -- struct dma_map_ops *dma_ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *dma_ops =3D get_dma_ops(dev); - void *cpu_addr; -=20 - BUG_ON(!dma_ops); -@@ -162,7 +162,7 @@ static inline void *dma_alloc_coherent(s - static inline void dma_free_coherent(struct device *dev, size_t size, - void *cpu_addr, dma_addr_t dma_handle) - { -- struct dma_map_ops *dma_ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *dma_ops =3D get_dma_ops(dev); -=20 - BUG_ON(!dma_ops); -=20 -@@ -173,7 +173,7 @@ static inline void dma_free_coherent(str -=20 - static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_= addr) - { -- struct dma_map_ops *dma_ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *dma_ops =3D get_dma_ops(dev); -=20 - if (dma_ops->mapping_error) - return dma_ops->mapping_error(dev, dma_addr); -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/elf.h linux-2.6.32.4= 8/arch/powerpc/include/asm/elf.h ---- linux-2.6.32.48/arch/powerpc/include/asm/elf.h 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/elf.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -179,8 +179,19 @@ typedef elf_fpreg_t elf_vsrreghalf_t32[E +diff -urNp linux-3.0.8/arch/powerpc/include/asm/elf.h linux-3.0.8/arch/p= owerpc/include/asm/elf.h +--- linux-3.0.8/arch/powerpc/include/asm/elf.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/powerpc/include/asm/elf.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -178,8 +178,19 @@ typedef elf_fpreg_t elf_vsrreghalf_t32[E the loader. We need to make sure that it is out of the way of the p= rogram that it will "exec", and that there is sufficient room for the brk. = */ =20 @@ -2135,8 +1644,8 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /elf.h linux-2.6.32.48/arch/p +#define PAX_ELF_ET_DYN_BASE (0x10000000UL) + +#ifdef __powerpc64__ -+#define PAX_DELTA_MMAP_LEN (test_thread_flag(TIF_32BIT) ? 16 : 28) -+#define PAX_DELTA_STACK_LEN (test_thread_flag(TIF_32BIT) ? 16 : 28) ++#define PAX_DELTA_MMAP_LEN (is_32bit_task() ? 16 : 28) ++#define PAX_DELTA_STACK_LEN (is_32bit_task() ? 16 : 28) +#else +#define PAX_DELTA_MMAP_LEN 15 +#define PAX_DELTA_STACK_LEN 15 @@ -2145,7 +1654,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /elf.h linux-2.6.32.48/arch/p =20 /* * Our registers are always unsigned longs, whether we're a 32 bit -@@ -275,9 +286,6 @@ extern int arch_setup_additional_pages(s +@@ -274,9 +285,6 @@ extern int arch_setup_additional_pages(s (0x7ff >> (PAGE_SHIFT - 12)) : \ (0x3ffff >> (PAGE_SHIFT - 12))) =20 @@ -2155,35 +1664,34 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/a= sm/elf.h linux-2.6.32.48/arch/p #endif /* __KERNEL__ */ =20 /* -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/iommu.h linux-2.6.32= .48/arch/powerpc/include/asm/iommu.h ---- linux-2.6.32.48/arch/powerpc/include/asm/iommu.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/iommu.h 2011-11-12 12:46:42= .000000000 -0500 -@@ -116,6 +116,9 @@ extern void iommu_init_early_iSeries(voi - extern void iommu_init_early_dart(void); - extern void iommu_init_early_pasemi(void); -=20 -+/* dma-iommu.c */ -+extern int dma_iommu_dma_supported(struct device *dev, u64 mask); -+ - #ifdef CONFIG_PCI - extern void pci_iommu_init(void); - extern void pci_direct_iommu_init(void); -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/kmap_types.h linux-2= .6.32.48/arch/powerpc/include/asm/kmap_types.h ---- linux-2.6.32.48/arch/powerpc/include/asm/kmap_types.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/kmap_types.h 2011-11-12 12:= 46:42.000000000 -0500 -@@ -26,6 +26,7 @@ enum km_type { - KM_SOFTIRQ1, +diff -urNp linux-3.0.8/arch/powerpc/include/asm/kmap_types.h linux-3.0.8= /arch/powerpc/include/asm/kmap_types.h +--- linux-3.0.8/arch/powerpc/include/asm/kmap_types.h 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/arch/powerpc/include/asm/kmap_types.h 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -27,6 +27,7 @@ enum km_type { KM_PPC_SYNC_PAGE, KM_PPC_SYNC_ICACHE, + KM_KDB, + KM_CLEARPAGE, KM_TYPE_NR }; =20 -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/page_64.h linux-2.6.= 32.48/arch/powerpc/include/asm/page_64.h ---- linux-2.6.32.48/arch/powerpc/include/asm/page_64.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/page_64.h 2011-11-12 12:46:= 42.000000000 -0500 -@@ -180,15 +180,18 @@ do { \ - * stack by default, so in the absense of a PT_GNU_STACK program header +diff -urNp linux-3.0.8/arch/powerpc/include/asm/mman.h linux-3.0.8/arch/= powerpc/include/asm/mman.h +--- linux-3.0.8/arch/powerpc/include/asm/mman.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/powerpc/include/asm/mman.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -44,7 +44,7 @@ static inline unsigned long arch_calc_vm + } + #define arch_calc_vm_prot_bits(prot) arch_calc_vm_prot_bits(prot) +=20 +-static inline pgprot_t arch_vm_get_page_prot(unsigned long vm_flags) ++static inline pgprot_t arch_vm_get_page_prot(vm_flags_t vm_flags) + { + return (vm_flags & VM_SAO) ? __pgprot(_PAGE_SAO) : __pgprot(0); + } +diff -urNp linux-3.0.8/arch/powerpc/include/asm/page_64.h linux-3.0.8/ar= ch/powerpc/include/asm/page_64.h +--- linux-3.0.8/arch/powerpc/include/asm/page_64.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/powerpc/include/asm/page_64.h 2011-08-23 21:47:55.0= 00000000 -0400 +@@ -155,15 +155,18 @@ do { \ + * stack by default, so in the absence of a PT_GNU_STACK program header * we turn execute permission off. */ -#define VM_STACK_DEFAULT_FLAGS32 (VM_READ | VM_WRITE | VM_EXEC | \ @@ -2197,16 +1705,16 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/a= sm/page_64.h linux-2.6.32.48/ar =20 +#ifndef CONFIG_PAX_PAGEEXEC #define VM_STACK_DEFAULT_FLAGS \ - (test_thread_flag(TIF_32BIT) ? \ + (is_32bit_task() ? \ VM_STACK_DEFAULT_FLAGS32 : VM_STACK_DEFAULT_FLAGS64) +#endif =20 #include =20 -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/page.h linux-2.6.32.= 48/arch/powerpc/include/asm/page.h ---- linux-2.6.32.48/arch/powerpc/include/asm/page.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/page.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -116,8 +116,9 @@ extern phys_addr_t kernstart_addr; +diff -urNp linux-3.0.8/arch/powerpc/include/asm/page.h linux-3.0.8/arch/= powerpc/include/asm/page.h +--- linux-3.0.8/arch/powerpc/include/asm/page.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/powerpc/include/asm/page.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -129,8 +129,9 @@ extern phys_addr_t kernstart_addr; * and needs to be executable. This means the whole heap ends * up being executable. */ @@ -2218,7 +1726,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /page.h linux-2.6.32.48/arch/ =20 #define VM_DATA_DEFAULT_FLAGS64 (VM_READ | VM_WRITE | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -@@ -145,6 +146,9 @@ extern phys_addr_t kernstart_addr; +@@ -158,6 +159,9 @@ extern phys_addr_t kernstart_addr; #define is_kernel_addr(x) ((x) >=3D PAGE_OFFSET) #endif =20 @@ -2228,23 +1736,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/as= m/page.h linux-2.6.32.48/arch/ #ifndef __ASSEMBLY__ =20 #undef STRICT_MM_TYPECHECKS -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/pci.h linux-2.6.32.4= 8/arch/powerpc/include/asm/pci.h ---- linux-2.6.32.48/arch/powerpc/include/asm/pci.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/pci.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -65,8 +65,8 @@ static inline int pci_get_legacy_ide_irq - } -=20 - #ifdef CONFIG_PCI --extern void set_pci_dma_ops(struct dma_map_ops *dma_ops); --extern struct dma_map_ops *get_pci_dma_ops(void); -+extern void set_pci_dma_ops(const struct dma_map_ops *dma_ops); -+extern const struct dma_map_ops *get_pci_dma_ops(void); - #else /* CONFIG_PCI */ - #define set_pci_dma_ops(d) - #define get_pci_dma_ops() NULL -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/pgtable.h linux-2.6.= 32.48/arch/powerpc/include/asm/pgtable.h ---- linux-2.6.32.48/arch/powerpc/include/asm/pgtable.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/pgtable.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-3.0.8/arch/powerpc/include/asm/pgtable.h linux-3.0.8/ar= ch/powerpc/include/asm/pgtable.h +--- linux-3.0.8/arch/powerpc/include/asm/pgtable.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/powerpc/include/asm/pgtable.h 2011-08-23 21:47:55.0= 00000000 -0400 @@ -2,6 +2,7 @@ #define _ASM_POWERPC_PGTABLE_H #ifdef __KERNEL__ @@ -2253,9 +1747,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /pgtable.h linux-2.6.32.48/ar #ifndef __ASSEMBLY__ #include /* For TASK_SIZE */ #include -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/pte-hash32.h linux-2= .6.32.48/arch/powerpc/include/asm/pte-hash32.h ---- linux-2.6.32.48/arch/powerpc/include/asm/pte-hash32.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/pte-hash32.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-3.0.8/arch/powerpc/include/asm/pte-hash32.h linux-3.0.8= /arch/powerpc/include/asm/pte-hash32.h +--- linux-3.0.8/arch/powerpc/include/asm/pte-hash32.h 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/arch/powerpc/include/asm/pte-hash32.h 2011-08-23 21:47:5= 5.000000000 -0400 @@ -21,6 +21,7 @@ #define _PAGE_FILE 0x004 /* when !present: nonlinear file mapping */ #define _PAGE_USER 0x004 /* usermode access allowed */ @@ -2264,22 +1758,10 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/a= sm/pte-hash32.h linux-2.6.32.48 #define _PAGE_COHERENT 0x010 /* M: enforce memory coherence (SMP system= s) */ #define _PAGE_NO_CACHE 0x020 /* I: cache inhibit */ #define _PAGE_WRITETHRU 0x040 /* W: cache write-through */ -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/ptrace.h linux-2.6.3= 2.48/arch/powerpc/include/asm/ptrace.h ---- linux-2.6.32.48/arch/powerpc/include/asm/ptrace.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/ptrace.h 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -103,7 +103,7 @@ extern unsigned long profile_pc(struct p - } while(0) -=20 - struct task_struct; --extern unsigned long ptrace_get_reg(struct task_struct *task, int regno= ); -+extern unsigned long ptrace_get_reg(struct task_struct *task, unsigned = int regno); - extern int ptrace_put_reg(struct task_struct *task, int regno, - unsigned long data); -=20 -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/reg.h linux-2.6.32.4= 8/arch/powerpc/include/asm/reg.h ---- linux-2.6.32.48/arch/powerpc/include/asm/reg.h 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/reg.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -191,6 +191,7 @@ +diff -urNp linux-3.0.8/arch/powerpc/include/asm/reg.h linux-3.0.8/arch/p= owerpc/include/asm/reg.h +--- linux-3.0.8/arch/powerpc/include/asm/reg.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/powerpc/include/asm/reg.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -209,6 +209,7 @@ #define SPRN_DBCR 0x136 /* e300 Data Breakpoint Control Reg */ #define SPRN_DSISR 0x012 /* Data Storage Interrupt Status Register */ #define DSISR_NOHPTE 0x40000000 /* no translation found */ @@ -2287,21 +1769,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/as= m/reg.h linux-2.6.32.48/arch/p #define DSISR_PROTFAULT 0x08000000 /* protection fault */ #define DSISR_ISSTORE 0x02000000 /* access was a store */ #define DSISR_DABRMATCH 0x00400000 /* hit data breakpoint */ -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/swiotlb.h linux-2.6.= 32.48/arch/powerpc/include/asm/swiotlb.h ---- linux-2.6.32.48/arch/powerpc/include/asm/swiotlb.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/swiotlb.h 2011-11-12 12:46:= 42.000000000 -0500 -@@ -13,7 +13,7 @@ -=20 - #include -=20 --extern struct dma_map_ops swiotlb_dma_ops; -+extern const struct dma_map_ops swiotlb_dma_ops; -=20 - static inline void dma_mark_clean(void *addr, size_t size) {} -=20 -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/system.h linux-2.6.3= 2.48/arch/powerpc/include/asm/system.h ---- linux-2.6.32.48/arch/powerpc/include/asm/system.h 2011-11-12 12:44:2= 8.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/system.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-3.0.8/arch/powerpc/include/asm/system.h linux-3.0.8/arc= h/powerpc/include/asm/system.h +--- linux-3.0.8/arch/powerpc/include/asm/system.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/powerpc/include/asm/system.h 2011-08-23 21:47:55.00= 0000000 -0400 @@ -531,7 +531,7 @@ __cmpxchg_local(volatile void *ptr, unsi #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o)= , (n)) #endif @@ -2311,9 +1781,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/asm= /system.h linux-2.6.32.48/arc =20 /* Used in very early kernel initialization. */ extern unsigned long reloc_offset(void); -diff -urNp linux-2.6.32.48/arch/powerpc/include/asm/uaccess.h linux-2.6.= 32.48/arch/powerpc/include/asm/uaccess.h ---- linux-2.6.32.48/arch/powerpc/include/asm/uaccess.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/include/asm/uaccess.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-3.0.8/arch/powerpc/include/asm/uaccess.h linux-3.0.8/ar= ch/powerpc/include/asm/uaccess.h +--- linux-3.0.8/arch/powerpc/include/asm/uaccess.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/powerpc/include/asm/uaccess.h 2011-08-23 21:47:55.0= 00000000 -0400 @@ -13,6 +13,8 @@ #define VERIFY_READ 0 #define VERIFY_WRITE 1 @@ -2491,58 +1961,10 @@ diff -urNp linux-2.6.32.48/arch/powerpc/include/a= sm/uaccess.h linux-2.6.32.48/ar extern unsigned long __clear_user(void __user *addr, unsigned long size= ); =20 static inline unsigned long clear_user(void __user *addr, unsigned long= size) -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/cacheinfo.c linux-2.6.32.= 48/arch/powerpc/kernel/cacheinfo.c ---- linux-2.6.32.48/arch/powerpc/kernel/cacheinfo.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/cacheinfo.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -642,7 +642,7 @@ static struct kobj_attribute *cache_inde - &cache_assoc_attr, - }; -=20 --static struct sysfs_ops cache_index_ops =3D { -+static const struct sysfs_ops cache_index_ops =3D { - .show =3D cache_index_show, - }; -=20 -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/dma.c linux-2.6.32.48/arc= h/powerpc/kernel/dma.c ---- linux-2.6.32.48/arch/powerpc/kernel/dma.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/dma.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -134,7 +134,7 @@ static inline void dma_direct_sync_singl - } - #endif -=20 --struct dma_map_ops dma_direct_ops =3D { -+const struct dma_map_ops dma_direct_ops =3D { - .alloc_coherent =3D dma_direct_alloc_coherent, - .free_coherent =3D dma_direct_free_coherent, - .map_sg =3D dma_direct_map_sg, -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/dma-iommu.c linux-2.6.32.= 48/arch/powerpc/kernel/dma-iommu.c ---- linux-2.6.32.48/arch/powerpc/kernel/dma-iommu.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/dma-iommu.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -70,7 +70,7 @@ static void dma_iommu_unmap_sg(struct de - } -=20 - /* We support DMA to/from any memory page via the iommu */ --static int dma_iommu_dma_supported(struct device *dev, u64 mask) -+int dma_iommu_dma_supported(struct device *dev, u64 mask) - { - struct iommu_table *tbl =3D get_iommu_table_base(dev); -=20 -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/dma-swiotlb.c linux-2.6.3= 2.48/arch/powerpc/kernel/dma-swiotlb.c ---- linux-2.6.32.48/arch/powerpc/kernel/dma-swiotlb.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/dma-swiotlb.c 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -31,7 +31,7 @@ unsigned int ppc_swiotlb_enable; - * map_page, and unmap_page on highmem, use normal dma_ops - * for everything else. - */ --struct dma_map_ops swiotlb_dma_ops =3D { -+const struct dma_map_ops swiotlb_dma_ops =3D { - .alloc_coherent =3D dma_direct_alloc_coherent, - .free_coherent =3D dma_direct_free_coherent, - .map_sg =3D swiotlb_map_sg_attrs, -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/exceptions-64e.S linux-2.= 6.32.48/arch/powerpc/kernel/exceptions-64e.S ---- linux-2.6.32.48/arch/powerpc/kernel/exceptions-64e.S 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/exceptions-64e.S 2011-11-12 12:4= 6:42.000000000 -0500 -@@ -455,6 +455,7 @@ storage_fault_common: +diff -urNp linux-3.0.8/arch/powerpc/kernel/exceptions-64e.S linux-3.0.8/= arch/powerpc/kernel/exceptions-64e.S +--- linux-3.0.8/arch/powerpc/kernel/exceptions-64e.S 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/arch/powerpc/kernel/exceptions-64e.S 2011-08-23 21:47:55= .000000000 -0400 +@@ -567,6 +567,7 @@ storage_fault_common: std r14,_DAR(r1) std r15,_DSISR(r1) addi r3,r1,STACK_FRAME_OVERHEAD @@ -2550,7 +1972,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/exce= ptions-64e.S linux-2.6.32.48/ mr r4,r14 mr r5,r15 ld r14,PACA_EXGEN+EX_R14(r13) -@@ -464,8 +465,7 @@ storage_fault_common: +@@ -576,8 +577,7 @@ storage_fault_common: cmpdi r3,0 bne- 1f b .ret_from_except_lite @@ -2560,10 +1982,10 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/ex= ceptions-64e.S linux-2.6.32.48/ addi r3,r1,STACK_FRAME_OVERHEAD ld r4,_DAR(r1) bl .bad_page_fault -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/exceptions-64s.S linux-2.= 6.32.48/arch/powerpc/kernel/exceptions-64s.S ---- linux-2.6.32.48/arch/powerpc/kernel/exceptions-64s.S 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/exceptions-64s.S 2011-11-12 12:4= 6:42.000000000 -0500 -@@ -818,10 +818,10 @@ handle_page_fault: +diff -urNp linux-3.0.8/arch/powerpc/kernel/exceptions-64s.S linux-3.0.8/= arch/powerpc/kernel/exceptions-64s.S +--- linux-3.0.8/arch/powerpc/kernel/exceptions-64s.S 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/arch/powerpc/kernel/exceptions-64s.S 2011-08-23 21:47:55= .000000000 -0400 +@@ -956,10 +956,10 @@ handle_page_fault: 11: ld r4,_DAR(r1) ld r5,_DSISR(r1) addi r3,r1,STACK_FRAME_OVERHEAD @@ -2575,42 +1997,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/exc= eptions-64s.S linux-2.6.32.48/ mr r5,r3 addi r3,r1,STACK_FRAME_OVERHEAD lwz r4,_DAR(r1) -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/ibmebus.c linux-2.6.32.48= /arch/powerpc/kernel/ibmebus.c ---- linux-2.6.32.48/arch/powerpc/kernel/ibmebus.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/ibmebus.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -127,7 +127,7 @@ static int ibmebus_dma_supported(struct=20 - return 1; - } -=20 --static struct dma_map_ops ibmebus_dma_ops =3D { -+static const struct dma_map_ops ibmebus_dma_ops =3D { - .alloc_coherent =3D ibmebus_alloc_coherent, - .free_coherent =3D ibmebus_free_coherent, - .map_sg =3D ibmebus_map_sg, -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/kgdb.c linux-2.6.32.48/ar= ch/powerpc/kernel/kgdb.c ---- linux-2.6.32.48/arch/powerpc/kernel/kgdb.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/kgdb.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -126,7 +126,7 @@ static int kgdb_handle_breakpoint(struct - if (kgdb_handle_exception(0, SIGTRAP, 0, regs) !=3D 0) - return 0; -=20 -- if (*(u32 *) (regs->nip) =3D=3D *(u32 *) (&arch_kgdb_ops.gdb_bpt_instr= )) -+ if (*(u32 *) (regs->nip) =3D=3D *(const u32 *) (&arch_kgdb_ops.gdb_bpt= _instr)) - regs->nip +=3D 4; -=20 - return 1; -@@ -353,7 +353,7 @@ int kgdb_arch_handle_exception(int vecto - /* - * Global data - */ --struct kgdb_arch arch_kgdb_ops =3D { -+const struct kgdb_arch arch_kgdb_ops =3D { - .gdb_bpt_instr =3D {0x7d, 0x82, 0x10, 0x08}, - }; -=20 -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/module_32.c linux-2.6.32.= 48/arch/powerpc/kernel/module_32.c ---- linux-2.6.32.48/arch/powerpc/kernel/module_32.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/module_32.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-3.0.8/arch/powerpc/kernel/module_32.c linux-3.0.8/arch/= powerpc/kernel/module_32.c +--- linux-3.0.8/arch/powerpc/kernel/module_32.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/powerpc/kernel/module_32.c 2011-08-23 21:47:55.0000= 00000 -0400 @@ -162,7 +162,7 @@ int module_frob_arch_sections(Elf32_Ehdr me->arch.core_plt_section =3D i; } @@ -2640,9 +2029,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/modu= le_32.c linux-2.6.32.48/arch/ =20 /* Find this entry, or if that fails, the next avail. entry */ while (entry->jump[0]) { -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/module.c linux-2.6.32.48/= arch/powerpc/kernel/module.c ---- linux-2.6.32.48/arch/powerpc/kernel/module.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/module.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-3.0.8/arch/powerpc/kernel/module.c linux-3.0.8/arch/pow= erpc/kernel/module.c +--- linux-3.0.8/arch/powerpc/kernel/module.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/powerpc/kernel/module.c 2011-08-23 21:47:55.0000000= 00 -0400 @@ -31,11 +31,24 @@ =20 LIST_HEAD(module_bug_list); @@ -2682,31 +2071,10 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/mo= dule.c linux-2.6.32.48/arch/pow static const Elf_Shdr *find_section(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, const char *name) -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/pci-common.c linux-2.6.32= .48/arch/powerpc/kernel/pci-common.c ---- linux-2.6.32.48/arch/powerpc/kernel/pci-common.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/pci-common.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -50,14 +50,14 @@ resource_size_t isa_mem_base; - unsigned int ppc_pci_flags =3D 0; -=20 -=20 --static struct dma_map_ops *pci_dma_ops =3D &dma_direct_ops; -+static const struct dma_map_ops *pci_dma_ops =3D &dma_direct_ops; -=20 --void set_pci_dma_ops(struct dma_map_ops *dma_ops) -+void set_pci_dma_ops(const struct dma_map_ops *dma_ops) - { - pci_dma_ops =3D dma_ops; - } -=20 --struct dma_map_ops *get_pci_dma_ops(void) -+const struct dma_map_ops *get_pci_dma_ops(void) - { - return pci_dma_ops; - } -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/process.c linux-2.6.32.48= /arch/powerpc/kernel/process.c ---- linux-2.6.32.48/arch/powerpc/kernel/process.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/process.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -539,8 +539,8 @@ void show_regs(struct pt_regs * regs) +diff -urNp linux-3.0.8/arch/powerpc/kernel/process.c linux-3.0.8/arch/po= werpc/kernel/process.c +--- linux-3.0.8/arch/powerpc/kernel/process.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/powerpc/kernel/process.c 2011-08-23 21:48:14.000000= 000 -0400 +@@ -676,8 +676,8 @@ void show_regs(struct pt_regs * regs) * Lookup NIP late so we have the best change of getting the * above info out without failing */ @@ -2717,7 +2085,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/proc= ess.c linux-2.6.32.48/arch/po #endif show_stack(current, (unsigned long *) regs->gpr[1]); if (!user_mode(regs)) -@@ -1034,10 +1034,10 @@ void show_stack(struct task_struct *tsk, +@@ -1183,10 +1183,10 @@ void show_stack(struct task_struct *tsk, newsp =3D stack[0]; ip =3D stack[STACK_FRAME_LR_SAVE]; if (!firstframe || ip !=3D lr) { @@ -2730,7 +2098,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/proc= ess.c linux-2.6.32.48/arch/po (void *)current->ret_stack[curr_frame].ret); curr_frame--; } -@@ -1057,7 +1057,7 @@ void show_stack(struct task_struct *tsk, +@@ -1206,7 +1206,7 @@ void show_stack(struct task_struct *tsk, struct pt_regs *regs =3D (struct pt_regs *) (sp + STACK_FRAME_OVERHEAD); lr =3D regs->link; @@ -2739,7 +2107,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/proc= ess.c linux-2.6.32.48/arch/po regs->trap, (void *)regs->nip, (void *)lr); firstframe =3D 1; } -@@ -1134,58 +1134,3 @@ void thread_info_cache_init(void) +@@ -1281,58 +1281,3 @@ void thread_info_cache_init(void) } =20 #endif /* THREAD_SHIFT < PAGE_SHIFT */ @@ -2798,31 +2166,10 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/pr= ocess.c linux-2.6.32.48/arch/po - - return ret; -} -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/ptrace.c linux-2.6.32.48/= arch/powerpc/kernel/ptrace.c ---- linux-2.6.32.48/arch/powerpc/kernel/ptrace.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/ptrace.c 2011-11-12 12:46:42.000= 000000 -0500 -@@ -86,7 +86,7 @@ static int set_user_trap(struct task_str - /* - * Get contents of register REGNO in task TASK. - */ --unsigned long ptrace_get_reg(struct task_struct *task, int regno) -+unsigned long ptrace_get_reg(struct task_struct *task, unsigned int reg= no) - { - if (task->thread.regs =3D=3D NULL) - return -EIO; -@@ -894,7 +894,7 @@ long arch_ptrace(struct task_struct *chi -=20 - CHECK_FULL_REGS(child->thread.regs); - if (index < PT_FPR0) { -- tmp =3D ptrace_get_reg(child, (int) index); -+ tmp =3D ptrace_get_reg(child, index); - } else { - flush_fp_to_thread(child); - tmp =3D ((unsigned long *)child->thread.fpr) -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/signal_32.c linux-2.6.32.= 48/arch/powerpc/kernel/signal_32.c ---- linux-2.6.32.48/arch/powerpc/kernel/signal_32.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/signal_32.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -857,7 +857,7 @@ int handle_rt_signal32(unsigned long sig +diff -urNp linux-3.0.8/arch/powerpc/kernel/signal_32.c linux-3.0.8/arch/= powerpc/kernel/signal_32.c +--- linux-3.0.8/arch/powerpc/kernel/signal_32.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/powerpc/kernel/signal_32.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -859,7 +859,7 @@ int handle_rt_signal32(unsigned long sig /* Save user registers on the stack */ frame =3D &rt_sf->uc.uc_mcontext; addr =3D frame; @@ -2831,10 +2178,10 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/si= gnal_32.c linux-2.6.32.48/arch/ if (save_user_regs(regs, frame, 0, 1)) goto badframe; regs->link =3D current->mm->context.vdso_base + vdso32_rt_sigtramp; -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/signal_64.c linux-2.6.32.= 48/arch/powerpc/kernel/signal_64.c ---- linux-2.6.32.48/arch/powerpc/kernel/signal_64.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/signal_64.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -429,7 +429,7 @@ int handle_rt_signal64(int signr, struct +diff -urNp linux-3.0.8/arch/powerpc/kernel/signal_64.c linux-3.0.8/arch/= powerpc/kernel/signal_64.c +--- linux-3.0.8/arch/powerpc/kernel/signal_64.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/powerpc/kernel/signal_64.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -430,7 +430,7 @@ int handle_rt_signal64(int signr, struct current->thread.fpscr.val =3D 0; =20 /* Set up to return from userspace. */ @@ -2843,26 +2190,10 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/si= gnal_64.c linux-2.6.32.48/arch/ regs->link =3D current->mm->context.vdso_base + vdso64_rt_sigtramp; } else { err |=3D setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]); -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/sys_ppc32.c linux-2.6.32.= 48/arch/powerpc/kernel/sys_ppc32.c ---- linux-2.6.32.48/arch/powerpc/kernel/sys_ppc32.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/sys_ppc32.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -563,10 +563,10 @@ asmlinkage long compat_sys_sysctl(struct - if (oldlenp) { - if (!error) { - if (get_user(oldlen, oldlenp) || -- put_user(oldlen, (compat_size_t __user *)compat_ptr(tmp.oldlenp)= )) -+ put_user(oldlen, (compat_size_t __user *)compat_ptr(tmp.oldlenp)= ) || -+ copy_to_user(args->__unused, tmp.__unused, sizeof(tmp.__unused))= ) - error =3D -EFAULT; - } -- copy_to_user(args->__unused, tmp.__unused, sizeof(tmp.__unused)); - } - return error; - } -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/traps.c linux-2.6.32.48/a= rch/powerpc/kernel/traps.c ---- linux-2.6.32.48/arch/powerpc/kernel/traps.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/traps.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -99,6 +99,8 @@ static void pmac_backlight_unblank(void) +diff -urNp linux-3.0.8/arch/powerpc/kernel/traps.c linux-3.0.8/arch/powe= rpc/kernel/traps.c +--- linux-3.0.8/arch/powerpc/kernel/traps.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/powerpc/kernel/traps.c 2011-08-23 21:48:14.00000000= 0 -0400 +@@ -98,6 +98,8 @@ static void pmac_backlight_unblank(void) static inline void pmac_backlight_unblank(void) { } #endif =20 @@ -2871,7 +2202,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/trap= s.c linux-2.6.32.48/arch/powe int die(const char *str, struct pt_regs *regs, long err) { static struct { -@@ -168,6 +170,8 @@ int die(const char *str, struct pt_regs=20 +@@ -171,6 +173,8 @@ int die(const char *str, struct pt_regs=20 if (panic_on_oops) panic("Fatal exception"); =20 @@ -2880,9 +2211,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/trap= s.c linux-2.6.32.48/arch/powe oops_exit(); do_exit(err); =20 -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/vdso.c linux-2.6.32.48/ar= ch/powerpc/kernel/vdso.c ---- linux-2.6.32.48/arch/powerpc/kernel/vdso.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/vdso.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/powerpc/kernel/vdso.c linux-3.0.8/arch/power= pc/kernel/vdso.c +--- linux-3.0.8/arch/powerpc/kernel/vdso.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/powerpc/kernel/vdso.c 2011-08-23 21:47:55.000000000= -0400 @@ -36,6 +36,7 @@ #include #include @@ -2909,34 +2240,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/kernel/vds= o.c linux-2.6.32.48/arch/power if (IS_ERR_VALUE(vdso_base)) { rc =3D vdso_base; goto fail_mmapsem; -diff -urNp linux-2.6.32.48/arch/powerpc/kernel/vio.c linux-2.6.32.48/arc= h/powerpc/kernel/vio.c ---- linux-2.6.32.48/arch/powerpc/kernel/vio.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/powerpc/kernel/vio.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -601,11 +601,12 @@ static void vio_dma_iommu_unmap_sg(struc - vio_cmo_dealloc(viodev, alloc_size); - } -=20 --struct dma_map_ops vio_dma_mapping_ops =3D { -+static const struct dma_map_ops vio_dma_mapping_ops =3D { - .alloc_coherent =3D vio_dma_iommu_alloc_coherent, - .free_coherent =3D vio_dma_iommu_free_coherent, - .map_sg =3D vio_dma_iommu_map_sg, - .unmap_sg =3D vio_dma_iommu_unmap_sg, -+ .dma_supported =3D dma_iommu_dma_supported, - .map_page =3D vio_dma_iommu_map_page, - .unmap_page =3D vio_dma_iommu_unmap_page, -=20 -@@ -857,7 +858,6 @@ static void vio_cmo_bus_remove(struct vi -=20 - static void vio_cmo_set_dma_ops(struct vio_dev *viodev) - { -- vio_dma_mapping_ops.dma_supported =3D dma_iommu_ops.dma_supported; - viodev->dev.archdata.dma_ops =3D &vio_dma_mapping_ops; - } -=20 -diff -urNp linux-2.6.32.48/arch/powerpc/lib/usercopy_64.c linux-2.6.32.4= 8/arch/powerpc/lib/usercopy_64.c ---- linux-2.6.32.48/arch/powerpc/lib/usercopy_64.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/lib/usercopy_64.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-3.0.8/arch/powerpc/lib/usercopy_64.c linux-3.0.8/arch/p= owerpc/lib/usercopy_64.c +--- linux-3.0.8/arch/powerpc/lib/usercopy_64.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/powerpc/lib/usercopy_64.c 2011-08-23 21:47:55.00000= 0000 -0400 @@ -9,22 +9,6 @@ #include #include @@ -2968,25 +2274,13 @@ diff -urNp linux-2.6.32.48/arch/powerpc/lib/userc= opy_64.c linux-2.6.32.48/arch/p -EXPORT_SYMBOL(copy_to_user); EXPORT_SYMBOL(copy_in_user); =20 -diff -urNp linux-2.6.32.48/arch/powerpc/Makefile linux-2.6.32.48/arch/po= werpc/Makefile ---- linux-2.6.32.48/arch/powerpc/Makefile 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/arch/powerpc/Makefile 2011-11-12 12:46:42.000000000 = -0500 -@@ -74,6 +74,8 @@ KBUILD_AFLAGS +=3D -Iarch/$(ARCH) - KBUILD_CFLAGS +=3D -msoft-float -pipe -Iarch/$(ARCH) $(CFLAGS-y) - CPP =3D $(CC) -E $(KBUILD_CFLAGS) -=20 -+cflags-y +=3D -Wno-sign-compare -Wno-extra -+ - CHECKFLAGS +=3D -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG= _WORD_SIZE)__ -=20 - ifeq ($(CONFIG_PPC64),y) -diff -urNp linux-2.6.32.48/arch/powerpc/mm/fault.c linux-2.6.32.48/arch/= powerpc/mm/fault.c ---- linux-2.6.32.48/arch/powerpc/mm/fault.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/powerpc/mm/fault.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -30,6 +30,10 @@ - #include - #include +diff -urNp linux-3.0.8/arch/powerpc/mm/fault.c linux-3.0.8/arch/powerpc/= mm/fault.c +--- linux-3.0.8/arch/powerpc/mm/fault.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/powerpc/mm/fault.c 2011-08-23 21:47:55.000000000 -0= 400 +@@ -32,6 +32,10 @@ #include + #include + #include +#include +#include +#include @@ -2994,15 +2288,15 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/fault.= c linux-2.6.32.48/arch/powerpc/ =20 #include #include -@@ -40,6 +44,7 @@ - #include +@@ -43,6 +47,7 @@ #include #include + #include +#include =20 -=20 #ifdef CONFIG_KPROBES -@@ -64,6 +69,33 @@ static inline int notify_page_fault(stru + static inline int notify_page_fault(struct pt_regs *regs) +@@ -66,6 +71,33 @@ static inline int notify_page_fault(stru } #endif =20 @@ -3036,7 +2330,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/fault.c = linux-2.6.32.48/arch/powerpc/ /* * Check whether the instruction at regs->nip is a store using * an update addressing form which will update r1. -@@ -134,7 +166,7 @@ int __kprobes do_page_fault(struct pt_re +@@ -136,7 +168,7 @@ int __kprobes do_page_fault(struct pt_re * indicate errors in DSISR but can validly be set in SRR1. */ if (trap =3D=3D 0x400) @@ -3045,7 +2339,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/fault.c = linux-2.6.32.48/arch/powerpc/ else is_write =3D error_code & DSISR_ISSTORE; #else -@@ -250,7 +282,7 @@ good_area: +@@ -259,7 +291,7 @@ good_area: * "undefined". Of those that can be set, this is the only * one which seems bad. */ @@ -3054,7 +2348,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/fault.c = linux-2.6.32.48/arch/powerpc/ /* Guarded storage error. */ goto bad_area; #endif /* CONFIG_8xx */ -@@ -265,7 +297,7 @@ good_area: +@@ -274,7 +306,7 @@ good_area: * processors use the same I/D cache coherency mechanism * as embedded. */ @@ -3063,7 +2357,7 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/fault.c = linux-2.6.32.48/arch/powerpc/ goto bad_area; #endif /* CONFIG_PPC_STD_MMU */ =20 -@@ -335,6 +367,23 @@ bad_area: +@@ -343,6 +375,23 @@ bad_area: bad_area_nosemaphore: /* User mode accesses cause a SIGSEGV */ if (user_mode(regs)) { @@ -3087,21 +2381,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/fault.c= linux-2.6.32.48/arch/powerpc/ _exception(SIGSEGV, regs, code, address); return 0; } -diff -urNp linux-2.6.32.48/arch/powerpc/mm/mem.c linux-2.6.32.48/arch/po= werpc/mm/mem.c ---- linux-2.6.32.48/arch/powerpc/mm/mem.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/powerpc/mm/mem.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -250,7 +250,7 @@ static int __init mark_nonram_nosave(voi - { - unsigned long lmb_next_region_start_pfn, - lmb_region_max_pfn; -- int i; -+ unsigned int i; -=20 - for (i =3D 0; i < lmb.memory.cnt - 1; i++) { - lmb_region_max_pfn =3D -diff -urNp linux-2.6.32.48/arch/powerpc/mm/mmap_64.c linux-2.6.32.48/arc= h/powerpc/mm/mmap_64.c ---- linux-2.6.32.48/arch/powerpc/mm/mmap_64.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/powerpc/mm/mmap_64.c 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-3.0.8/arch/powerpc/mm/mmap_64.c linux-3.0.8/arch/powerp= c/mm/mmap_64.c +--- linux-3.0.8/arch/powerpc/mm/mmap_64.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/powerpc/mm/mmap_64.c 2011-08-23 21:47:55.000000000 = -0400 @@ -99,10 +99,22 @@ void arch_pick_mmap_layout(struct mm_str */ if (mmap_is_legacy()) { @@ -3125,9 +2407,9 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/mmap_64.= c linux-2.6.32.48/arch/powerp mm->get_unmapped_area =3D arch_get_unmapped_area_topdown; mm->unmap_area =3D arch_unmap_area_topdown; } -diff -urNp linux-2.6.32.48/arch/powerpc/mm/slice.c linux-2.6.32.48/arch/= powerpc/mm/slice.c ---- linux-2.6.32.48/arch/powerpc/mm/slice.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/powerpc/mm/slice.c 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-3.0.8/arch/powerpc/mm/slice.c linux-3.0.8/arch/powerpc/= mm/slice.c +--- linux-3.0.8/arch/powerpc/mm/slice.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/powerpc/mm/slice.c 2011-08-23 21:47:55.000000000 -0= 400 @@ -98,7 +98,7 @@ static int slice_area_is_free(struct mm_ if ((mm->task_size - len) < addr) return 0; @@ -3194,127 +2476,50 @@ diff -urNp linux-2.6.32.48/arch/powerpc/mm/slice= .c linux-2.6.32.48/arch/powerpc/ /* If hint, make sure it matches our alignment restrictions */ if (!fixed && addr) { addr =3D _ALIGN_UP(addr, 1ul << pshift); -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/52xx/lite5200_pm.c lin= ux-2.6.32.48/arch/powerpc/platforms/52xx/lite5200_pm.c ---- linux-2.6.32.48/arch/powerpc/platforms/52xx/lite5200_pm.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/52xx/lite5200_pm.c 2011-11-12= 12:46:42.000000000 -0500 -@@ -235,7 +235,7 @@ static void lite5200_pm_end(void) - lite5200_pm_target_state =3D PM_SUSPEND_ON; - } -=20 --static struct platform_suspend_ops lite5200_pm_ops =3D { -+static const struct platform_suspend_ops lite5200_pm_ops =3D { - .valid =3D lite5200_pm_valid, - .begin =3D lite5200_pm_begin, - .prepare =3D lite5200_pm_prepare, -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/52xx/mpc52xx_pm.c linu= x-2.6.32.48/arch/powerpc/platforms/52xx/mpc52xx_pm.c ---- linux-2.6.32.48/arch/powerpc/platforms/52xx/mpc52xx_pm.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/52xx/mpc52xx_pm.c 2011-11-12 = 12:46:42.000000000 -0500 -@@ -180,7 +180,7 @@ void mpc52xx_pm_finish(void) - iounmap(mbar); - } -=20 --static struct platform_suspend_ops mpc52xx_pm_ops =3D { -+static const struct platform_suspend_ops mpc52xx_pm_ops =3D { - .valid =3D mpc52xx_pm_valid, - .prepare =3D mpc52xx_pm_prepare, - .enter =3D mpc52xx_pm_enter, -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/83xx/suspend.c linux-2= .6.32.48/arch/powerpc/platforms/83xx/suspend.c ---- linux-2.6.32.48/arch/powerpc/platforms/83xx/suspend.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/83xx/suspend.c 2011-11-12 12:= 46:42.000000000 -0500 -@@ -273,7 +273,7 @@ static int mpc83xx_is_pci_agent(void) - return ret; - } -=20 --static struct platform_suspend_ops mpc83xx_suspend_ops =3D { -+static const struct platform_suspend_ops mpc83xx_suspend_ops =3D { - .valid =3D mpc83xx_suspend_valid, - .begin =3D mpc83xx_suspend_begin, - .enter =3D mpc83xx_suspend_enter, -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/cell/iommu.c linux-2.6= .32.48/arch/powerpc/platforms/cell/iommu.c ---- linux-2.6.32.48/arch/powerpc/platforms/cell/iommu.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/cell/iommu.c 2011-11-12 12:46= :42.000000000 -0500 -@@ -642,7 +642,7 @@ static int dma_fixed_dma_supported(struc -=20 - static int dma_set_mask_and_switch(struct device *dev, u64 dma_mask); -=20 --struct dma_map_ops dma_iommu_fixed_ops =3D { -+const struct dma_map_ops dma_iommu_fixed_ops =3D { - .alloc_coherent =3D dma_fixed_alloc_coherent, - .free_coherent =3D dma_fixed_free_coherent, - .map_sg =3D dma_fixed_map_sg, -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/ps3/system-bus.c linux= -2.6.32.48/arch/powerpc/platforms/ps3/system-bus.c ---- linux-2.6.32.48/arch/powerpc/platforms/ps3/system-bus.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/ps3/system-bus.c 2011-11-12 1= 2:46:42.000000000 -0500 -@@ -694,7 +694,7 @@ static int ps3_dma_supported(struct devi - return mask >=3D DMA_BIT_MASK(32); - } -=20 --static struct dma_map_ops ps3_sb_dma_ops =3D { -+static const struct dma_map_ops ps3_sb_dma_ops =3D { - .alloc_coherent =3D ps3_alloc_coherent, - .free_coherent =3D ps3_free_coherent, - .map_sg =3D ps3_sb_map_sg, -@@ -704,7 +704,7 @@ static struct dma_map_ops ps3_sb_dma_ops - .unmap_page =3D ps3_unmap_page, - }; -=20 --static struct dma_map_ops ps3_ioc0_dma_ops =3D { -+static const struct dma_map_ops ps3_ioc0_dma_ops =3D { - .alloc_coherent =3D ps3_alloc_coherent, - .free_coherent =3D ps3_free_coherent, - .map_sg =3D ps3_ioc0_map_sg, -diff -urNp linux-2.6.32.48/arch/powerpc/platforms/pseries/Kconfig linux-= 2.6.32.48/arch/powerpc/platforms/pseries/Kconfig ---- linux-2.6.32.48/arch/powerpc/platforms/pseries/Kconfig 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/powerpc/platforms/pseries/Kconfig 2011-11-12 12= :46:42.000000000 -0500 -@@ -2,6 +2,8 @@ config PPC_PSERIES - depends on PPC64 && PPC_BOOK3S - bool "IBM pSeries & new (POWER5-based) iSeries" - select MPIC -+ select PCI_MSI -+ select XICS - select PPC_I8259 - select PPC_RTAS - select RTAS_ERROR_LOGGING -diff -urNp linux-2.6.32.48/arch/s390/include/asm/elf.h linux-2.6.32.48/a= rch/s390/include/asm/elf.h ---- linux-2.6.32.48/arch/s390/include/asm/elf.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/s390/include/asm/elf.h 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -164,6 +164,13 @@ extern unsigned int vdso_enabled; +diff -urNp linux-3.0.8/arch/s390/include/asm/elf.h linux-3.0.8/arch/s390= /include/asm/elf.h +--- linux-3.0.8/arch/s390/include/asm/elf.h 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/s390/include/asm/elf.h 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -162,8 +162,14 @@ extern unsigned int vdso_enabled; + the loader. We need to make sure that it is out of the way of the p= rogram that it will "exec", and that there is sufficient room for the brk. = */ - #define ELF_ET_DYN_BASE (STACK_TOP / 3 * 2) =20 +-extern unsigned long randomize_et_dyn(unsigned long base); +-#define ELF_ET_DYN_BASE (randomize_et_dyn(STACK_TOP / 3 * 2)) ++#define ELF_ET_DYN_BASE (STACK_TOP / 3 * 2) ++ +#ifdef CONFIG_PAX_ASLR +#define PAX_ELF_ET_DYN_BASE (test_thread_flag(TIF_31BIT) ? 0x10000UL : = 0x80000000UL) + +#define PAX_DELTA_MMAP_LEN (test_thread_flag(TIF_31BIT) ? 15 : 26 ) +#define PAX_DELTA_STACK_LEN (test_thread_flag(TIF_31BIT) ? 15 : 26 ) +#endif -+ +=20 /* This yields a mask that user programs can use to figure out what instruction set this CPU supports. */ +@@ -210,7 +216,4 @@ struct linux_binprm; + #define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1 + int arch_setup_additional_pages(struct linux_binprm *, int); =20 -diff -urNp linux-2.6.32.48/arch/s390/include/asm/setup.h linux-2.6.32.48= /arch/s390/include/asm/setup.h ---- linux-2.6.32.48/arch/s390/include/asm/setup.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/s390/include/asm/setup.h 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -50,13 +50,13 @@ extern unsigned long memory_end; - void detect_memory_layout(struct mem_chunk chunk[]); -=20 - #ifdef CONFIG_S390_SWITCH_AMODE --extern unsigned int switch_amode; -+#define switch_amode (1) - #else - #define switch_amode (0) +-extern unsigned long arch_randomize_brk(struct mm_struct *mm); +-#define arch_randomize_brk arch_randomize_brk +- #endif +diff -urNp linux-3.0.8/arch/s390/include/asm/system.h linux-3.0.8/arch/s= 390/include/asm/system.h +--- linux-3.0.8/arch/s390/include/asm/system.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/s390/include/asm/system.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -255,7 +255,7 @@ extern void (*_machine_restart)(char *co + extern void (*_machine_halt)(void); + extern void (*_machine_power_off)(void); =20 - #ifdef CONFIG_S390_EXEC_PROTECT --extern unsigned int s390_noexec; -+#define s390_noexec (1) - #else - #define s390_noexec (0) - #endif -diff -urNp linux-2.6.32.48/arch/s390/include/asm/uaccess.h linux-2.6.32.= 48/arch/s390/include/asm/uaccess.h ---- linux-2.6.32.48/arch/s390/include/asm/uaccess.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/s390/include/asm/uaccess.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -232,6 +232,10 @@ static inline unsigned long __must_check +-extern unsigned long arch_align_stack(unsigned long sp); ++#define arch_align_stack(x) ((x) & ~0xfUL) +=20 + static inline int tprot(unsigned long addr) + { +diff -urNp linux-3.0.8/arch/s390/include/asm/uaccess.h linux-3.0.8/arch/= s390/include/asm/uaccess.h +--- linux-3.0.8/arch/s390/include/asm/uaccess.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/s390/include/asm/uaccess.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -235,6 +235,10 @@ static inline unsigned long __must_check copy_to_user(void __user *to, const void *from, unsigned long n) { might_fault(); @@ -3325,7 +2530,7 @@ diff -urNp linux-2.6.32.48/arch/s390/include/asm/ua= ccess.h linux-2.6.32.48/arch/ if (access_ok(VERIFY_WRITE, to, n)) n =3D __copy_to_user(to, from, n); return n; -@@ -257,6 +261,9 @@ copy_to_user(void __user *to, const void +@@ -260,6 +264,9 @@ copy_to_user(void __user *to, const void static inline unsigned long __must_check __copy_from_user(void *to, const void __user *from, unsigned long n) { @@ -3335,61 +2540,21 @@ diff -urNp linux-2.6.32.48/arch/s390/include/asm/= uaccess.h linux-2.6.32.48/arch/ if (__builtin_constant_p(n) && (n <=3D 256)) return uaccess.copy_from_user_small(n, from, to); else -@@ -283,6 +290,10 @@ static inline unsigned long __must_check - copy_from_user(void *to, const void __user *from, unsigned long n) - { +@@ -294,6 +301,10 @@ copy_from_user(void *to, const void __us + unsigned int sz =3D __compiletime_object_size(to); +=20 might_fault(); + + if ((long)n < 0) + return n; + - if (access_ok(VERIFY_READ, from, n)) - n =3D __copy_from_user(to, from, n); - else -diff -urNp linux-2.6.32.48/arch/s390/Kconfig linux-2.6.32.48/arch/s390/K= config ---- linux-2.6.32.48/arch/s390/Kconfig 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/arch/s390/Kconfig 2011-11-12 12:46:42.000000000 -050= 0 -@@ -194,28 +194,26 @@ config AUDIT_ARCH -=20 - config S390_SWITCH_AMODE - bool "Switch kernel/user addressing modes" -+ default y - help - This option allows to switch the addressing modes of kernel and user -- space. The kernel parameter switch_amode=3Don will enable this featu= re, -- default is disabled. Enabling this (via kernel parameter) on machine= s -- earlier than IBM System z9-109 EC/BC will reduce system performance. -+ space. Enabling this on machines earlier than IBM System z9-109 EC/= BC -+ will reduce system performance. -=20 - Note that this option will also be selected by selecting the execute -- protection option below. Enabling the execute protection via the -- noexec kernel parameter will also switch the addressing modes, -- independent of the switch_amode kernel parameter. -+ protection option below. Enabling the execute protection will also -+ switch the addressing modes, independent of this option. -=20 -=20 - config S390_EXEC_PROTECT - bool "Data execute protection" -+ default y - select S390_SWITCH_AMODE - help - This option allows to enable a buffer overflow protection for user - space programs and it also selects the addressing mode option above. -- The kernel parameter noexec=3Don will enable this feature and also -- switch the addressing modes, default is disabled. Enabling this (via -- kernel parameter) on machines earlier than IBM System z9-109 EC/BC -- will reduce system performance. -+ Enabling this on machines earlier than IBM System z9-109 EC/BC will -+ reduce system performance. -=20 - comment "Code generation options" -=20 -diff -urNp linux-2.6.32.48/arch/s390/kernel/module.c linux-2.6.32.48/arc= h/s390/kernel/module.c ---- linux-2.6.32.48/arch/s390/kernel/module.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/s390/kernel/module.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -166,11 +166,11 @@ module_frob_arch_sections(Elf_Ehdr *hdr, + if (unlikely(sz !=3D -1 && sz < n)) { + copy_from_user_overflow(); + return n; +diff -urNp linux-3.0.8/arch/s390/kernel/module.c linux-3.0.8/arch/s390/k= ernel/module.c +--- linux-3.0.8/arch/s390/kernel/module.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/s390/kernel/module.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -168,11 +168,11 @@ module_frob_arch_sections(Elf_Ehdr *hdr, =20 /* Increase core size by size of got & plt and set start offsets for got and plt. */ @@ -3406,7 +2571,7 @@ diff -urNp linux-2.6.32.48/arch/s390/kernel/module.= c linux-2.6.32.48/arch/s390/k return 0; } =20 -@@ -256,7 +256,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base +@@ -258,7 +258,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base if (info->got_initialized =3D=3D 0) { Elf_Addr *gotent; =20 @@ -3415,7 +2580,7 @@ diff -urNp linux-2.6.32.48/arch/s390/kernel/module.= c linux-2.6.32.48/arch/s390/k info->got_offset; *gotent =3D val; info->got_initialized =3D 1; -@@ -280,7 +280,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base +@@ -282,7 +282,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base else if (r_type =3D=3D R_390_GOTENT || r_type =3D=3D R_390_GOTPLTENT) *(unsigned int *) loc =3D @@ -3424,7 +2589,7 @@ diff -urNp linux-2.6.32.48/arch/s390/kernel/module.= c linux-2.6.32.48/arch/s390/k else if (r_type =3D=3D R_390_GOT64 || r_type =3D=3D R_390_GOTPLT64) *(unsigned long *) loc =3D val; -@@ -294,7 +294,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base +@@ -296,7 +296,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base case R_390_PLTOFF64: /* 16 bit offset from GOT to PLT. */ if (info->plt_initialized =3D=3D 0) { unsigned int *ip; @@ -3433,7 +2598,7 @@ diff -urNp linux-2.6.32.48/arch/s390/kernel/module.= c linux-2.6.32.48/arch/s390/k info->plt_offset; #ifndef CONFIG_64BIT ip[0] =3D 0x0d105810; /* basr 1,0; l 1,6(1); br 1 */ -@@ -319,7 +319,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base +@@ -321,7 +321,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base val - loc + 0xffffUL < 0x1ffffeUL) || (r_type =3D=3D R_390_PLT32DBL && val - loc + 0xffffffffULL < 0x1fffffffeULL))) @@ -3442,7 +2607,7 @@ diff -urNp linux-2.6.32.48/arch/s390/kernel/module.= c linux-2.6.32.48/arch/s390/k me->arch.plt_offset + info->plt_offset; val +=3D rela->r_addend - loc; -@@ -341,7 +341,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base +@@ -343,7 +343,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base case R_390_GOTOFF32: /* 32 bit offset to GOT. */ case R_390_GOTOFF64: /* 64 bit offset to GOT. */ val =3D val + rela->r_addend - @@ -3451,7 +2616,7 @@ diff -urNp linux-2.6.32.48/arch/s390/kernel/module.= c linux-2.6.32.48/arch/s390/k if (r_type =3D=3D R_390_GOTOFF16) *(unsigned short *) loc =3D val; else if (r_type =3D=3D R_390_GOTOFF32) -@@ -351,7 +351,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base +@@ -353,7 +353,7 @@ apply_rela(Elf_Rela *rela, Elf_Addr base break; case R_390_GOTPC: /* 32 bit PC relative offset to GOT. */ case R_390_GOTPCDBL: /* 32 bit PC rel. off. to GOT shifted by 1. */ @@ -3460,66 +2625,65 @@ diff -urNp linux-2.6.32.48/arch/s390/kernel/modul= e.c linux-2.6.32.48/arch/s390/k rela->r_addend - loc; if (r_type =3D=3D R_390_GOTPC) *(unsigned int *) loc =3D val; -diff -urNp linux-2.6.32.48/arch/s390/kernel/setup.c linux-2.6.32.48/arch= /s390/kernel/setup.c ---- linux-2.6.32.48/arch/s390/kernel/setup.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/s390/kernel/setup.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -306,9 +306,6 @@ static int __init early_parse_mem(char * - early_param("mem", early_parse_mem); -=20 - #ifdef CONFIG_S390_SWITCH_AMODE --unsigned int switch_amode =3D 0; --EXPORT_SYMBOL_GPL(switch_amode); -- - static int set_amode_and_uaccess(unsigned long user_amode, - unsigned long user32_amode) - { -@@ -334,17 +331,6 @@ static int set_amode_and_uaccess(unsigne - return 0; +diff -urNp linux-3.0.8/arch/s390/kernel/process.c linux-3.0.8/arch/s390/= kernel/process.c +--- linux-3.0.8/arch/s390/kernel/process.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/s390/kernel/process.c 2011-08-23 21:47:55.000000000= -0400 +@@ -319,39 +319,3 @@ unsigned long get_wchan(struct task_stru } + return 0; } - --/* -- * Switch kernel/user addressing modes? -- */ --static int __init early_parse_switch_amode(char *p) +-unsigned long arch_align_stack(unsigned long sp) -{ -- switch_amode =3D 1; -- return 0; +- if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space) +- sp -=3D get_random_int() & ~PAGE_MASK; +- return sp & ~0xf; -} --early_param("switch_amode", early_parse_switch_amode); - - #else /* CONFIG_S390_SWITCH_AMODE */ - static inline int set_amode_and_uaccess(unsigned long user_amode, - unsigned long user32_amode) -@@ -353,24 +339,6 @@ static inline int set_amode_and_uaccess( - } - #endif /* CONFIG_S390_SWITCH_AMODE */ -=20 --#ifdef CONFIG_S390_EXEC_PROTECT --unsigned int s390_noexec =3D 0; --EXPORT_SYMBOL_GPL(s390_noexec); +-static inline unsigned long brk_rnd(void) +-{ +- /* 8MB for 32bit, 1GB for 64bit */ +- if (is_32bit_task()) +- return (get_random_int() & 0x7ffUL) << PAGE_SHIFT; +- else +- return (get_random_int() & 0x3ffffUL) << PAGE_SHIFT; +-} - --/* -- * Enable execute protection? -- */ --static int __init early_parse_noexec(char *p) +-unsigned long arch_randomize_brk(struct mm_struct *mm) -{ -- if (!strncmp(p, "off", 3)) -- return 0; -- switch_amode =3D 1; -- s390_noexec =3D 1; -- return 0; +- unsigned long ret =3D PAGE_ALIGN(mm->brk + brk_rnd()); +- +- if (ret < mm->brk) +- return mm->brk; +- return ret; -} --early_param("noexec", early_parse_noexec); --#endif /* CONFIG_S390_EXEC_PROTECT */ - - static void setup_addressing_mode(void) - { - if (s390_noexec) { -diff -urNp linux-2.6.32.48/arch/s390/mm/mmap.c linux-2.6.32.48/arch/s390= /mm/mmap.c ---- linux-2.6.32.48/arch/s390/mm/mmap.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/arch/s390/mm/mmap.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -78,10 +78,22 @@ void arch_pick_mmap_layout(struct mm_str +-unsigned long randomize_et_dyn(unsigned long base) +-{ +- unsigned long ret =3D PAGE_ALIGN(base + brk_rnd()); +- +- if (!(current->flags & PF_RANDOMIZE)) +- return base; +- if (ret < base) +- return base; +- return ret; +-} +diff -urNp linux-3.0.8/arch/s390/kernel/setup.c linux-3.0.8/arch/s390/ke= rnel/setup.c +--- linux-3.0.8/arch/s390/kernel/setup.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/s390/kernel/setup.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -271,7 +271,7 @@ static int __init early_parse_mem(char * + } + early_param("mem", early_parse_mem); +=20 +-unsigned int user_mode =3D HOME_SPACE_MODE; ++unsigned int user_mode =3D SECONDARY_SPACE_MODE; + EXPORT_SYMBOL_GPL(user_mode); +=20 + static int set_amode_and_uaccess(unsigned long user_amode, +diff -urNp linux-3.0.8/arch/s390/mm/mmap.c linux-3.0.8/arch/s390/mm/mmap= .c +--- linux-3.0.8/arch/s390/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/s390/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 +@@ -91,10 +91,22 @@ void arch_pick_mmap_layout(struct mm_str */ if (mmap_is_legacy()) { mm->mmap_base =3D TASK_UNMAPPED_BASE; @@ -3542,7 +2706,7 @@ diff -urNp linux-2.6.32.48/arch/s390/mm/mmap.c linu= x-2.6.32.48/arch/s390/mm/mmap mm->get_unmapped_area =3D arch_get_unmapped_area_topdown; mm->unmap_area =3D arch_unmap_area_topdown; } -@@ -153,10 +165,22 @@ void arch_pick_mmap_layout(struct mm_str +@@ -166,10 +178,22 @@ void arch_pick_mmap_layout(struct mm_str */ if (mmap_is_legacy()) { mm->mmap_base =3D TASK_UNMAPPED_BASE; @@ -3565,9 +2729,9 @@ diff -urNp linux-2.6.32.48/arch/s390/mm/mmap.c linu= x-2.6.32.48/arch/s390/mm/mmap mm->get_unmapped_area =3D s390_get_unmapped_area_topdown; mm->unmap_area =3D arch_unmap_area_topdown; } -diff -urNp linux-2.6.32.48/arch/score/include/asm/system.h linux-2.6.32.= 48/arch/score/include/asm/system.h ---- linux-2.6.32.48/arch/score/include/asm/system.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/score/include/asm/system.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-3.0.8/arch/score/include/asm/system.h linux-3.0.8/arch/= score/include/asm/system.h +--- linux-3.0.8/arch/score/include/asm/system.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/score/include/asm/system.h 2011-08-23 21:47:55.0000= 00000 -0400 @@ -17,7 +17,7 @@ do { \ #define finish_arch_switch(prev) do {} while (0) =20 @@ -3577,9 +2741,9 @@ diff -urNp linux-2.6.32.48/arch/score/include/asm/s= ystem.h linux-2.6.32.48/arch/ =20 #define mb() barrier() #define rmb() barrier() -diff -urNp linux-2.6.32.48/arch/score/kernel/process.c linux-2.6.32.48/a= rch/score/kernel/process.c ---- linux-2.6.32.48/arch/score/kernel/process.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/score/kernel/process.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/score/kernel/process.c linux-3.0.8/arch/scor= e/kernel/process.c +--- linux-3.0.8/arch/score/kernel/process.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/score/kernel/process.c 2011-08-23 21:47:55.00000000= 0 -0400 @@ -161,8 +161,3 @@ unsigned long get_wchan(struct task_stru =20 return task_pt_regs(task)->cp0_epc; @@ -3589,57 +2753,9 @@ diff -urNp linux-2.6.32.48/arch/score/kernel/proce= ss.c linux-2.6.32.48/arch/scor -{ - return sp; -} -diff -urNp linux-2.6.32.48/arch/sh/boards/mach-hp6xx/pm.c linux-2.6.32.4= 8/arch/sh/boards/mach-hp6xx/pm.c ---- linux-2.6.32.48/arch/sh/boards/mach-hp6xx/pm.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/sh/boards/mach-hp6xx/pm.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -143,7 +143,7 @@ static int hp6x0_pm_enter(suspend_state_ - return 0; - } -=20 --static struct platform_suspend_ops hp6x0_pm_ops =3D { -+static const struct platform_suspend_ops hp6x0_pm_ops =3D { - .enter =3D hp6x0_pm_enter, - .valid =3D suspend_valid_only_mem, - }; -diff -urNp linux-2.6.32.48/arch/sh/kernel/cpu/sh4/sq.c linux-2.6.32.48/a= rch/sh/kernel/cpu/sh4/sq.c ---- linux-2.6.32.48/arch/sh/kernel/cpu/sh4/sq.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/sh/kernel/cpu/sh4/sq.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -327,7 +327,7 @@ static struct attribute *sq_sysfs_attrs[ - NULL, - }; -=20 --static struct sysfs_ops sq_sysfs_ops =3D { -+static const struct sysfs_ops sq_sysfs_ops =3D { - .show =3D sq_sysfs_show, - .store =3D sq_sysfs_store, - }; -diff -urNp linux-2.6.32.48/arch/sh/kernel/cpu/shmobile/pm.c linux-2.6.32= .48/arch/sh/kernel/cpu/shmobile/pm.c ---- linux-2.6.32.48/arch/sh/kernel/cpu/shmobile/pm.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/sh/kernel/cpu/shmobile/pm.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -58,7 +58,7 @@ static int sh_pm_enter(suspend_state_t s - return 0; - } -=20 --static struct platform_suspend_ops sh_pm_ops =3D { -+static const struct platform_suspend_ops sh_pm_ops =3D { - .enter =3D sh_pm_enter, - .valid =3D suspend_valid_only_mem, - }; -diff -urNp linux-2.6.32.48/arch/sh/kernel/kgdb.c linux-2.6.32.48/arch/sh= /kernel/kgdb.c ---- linux-2.6.32.48/arch/sh/kernel/kgdb.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/sh/kernel/kgdb.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -271,7 +271,7 @@ void kgdb_arch_exit(void) - { - } -=20 --struct kgdb_arch arch_kgdb_ops =3D { -+const struct kgdb_arch arch_kgdb_ops =3D { - /* Breakpoint instruction: trapa #0x3c */ - #ifdef CONFIG_CPU_LITTLE_ENDIAN - .gdb_bpt_instr =3D { 0x3c, 0xc3 }, -diff -urNp linux-2.6.32.48/arch/sh/mm/mmap.c linux-2.6.32.48/arch/sh/mm/= mmap.c ---- linux-2.6.32.48/arch/sh/mm/mmap.c 2011-11-12 12:44:28.000000000 -050= 0 -+++ linux-2.6.32.48/arch/sh/mm/mmap.c 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-3.0.8/arch/sh/mm/mmap.c linux-3.0.8/arch/sh/mm/mmap.c +--- linux-3.0.8/arch/sh/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/sh/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 @@ -74,8 +74,7 @@ unsigned long arch_get_unmapped_area(str addr =3D PAGE_ALIGN(addr); =20 @@ -3714,18 +2830,18 @@ diff -urNp linux-2.6.32.48/arch/sh/mm/mmap.c linu= x-2.6.32.48/arch/sh/mm/mmap.c =20 bottomup: /* -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/atomic_64.h linux-2.6.= 32.48/arch/sparc/include/asm/atomic_64.h ---- linux-2.6.32.48/arch/sparc/include/asm/atomic_64.h 2011-11-12 12:44:= 28.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/atomic_64.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-3.0.8/arch/sparc/include/asm/atomic_64.h linux-3.0.8/ar= ch/sparc/include/asm/atomic_64.h +--- linux-3.0.8/arch/sparc/include/asm/atomic_64.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/atomic_64.h 2011-08-23 21:48:14.0= 00000000 -0400 @@ -14,18 +14,40 @@ #define ATOMIC64_INIT(i) { (i) } =20 - #define atomic_read(v) ((v)->counter) + #define atomic_read(v) (*(volatile int *)&(v)->counter) +static inline int atomic_read_unchecked(const atomic_unchecked_t *v) +{ + return v->counter; +} - #define atomic64_read(v) ((v)->counter) + #define atomic64_read(v) (*(volatile long *)&(v)->counter) +static inline long atomic64_read_unchecked(const atomic64_unchecked_t *= v) +{ + return v->counter; @@ -3909,56 +3025,22 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm= /atomic_64.h linux-2.6.32.48/ar } =20 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/cache.h linux-2.6.32.4= 8/arch/sparc/include/asm/cache.h ---- linux-2.6.32.48/arch/sparc/include/asm/cache.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/cache.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -8,7 +8,7 @@ - #define _SPARC_CACHE_H +diff -urNp linux-3.0.8/arch/sparc/include/asm/cache.h linux-3.0.8/arch/s= parc/include/asm/cache.h +--- linux-3.0.8/arch/sparc/include/asm/cache.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/cache.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -10,7 +10,7 @@ + #define ARCH_SLAB_MINALIGN __alignof__(unsigned long long) =20 #define L1_CACHE_SHIFT 5 -#define L1_CACHE_BYTES 32 +#define L1_CACHE_BYTES 32UL - #define L1_CACHE_ALIGN(x) ((((x)+(L1_CACHE_BYTES-1))&~(L1_CACHE_BYTES-1= ))) =20 #ifdef CONFIG_SPARC32 -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/dma-mapping.h linux-2.= 6.32.48/arch/sparc/include/asm/dma-mapping.h ---- linux-2.6.32.48/arch/sparc/include/asm/dma-mapping.h 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/dma-mapping.h 2011-11-12 12:4= 6:42.000000000 -0500 -@@ -14,10 +14,10 @@ extern int dma_set_mask(struct device *d - #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) - #define dma_is_consistent(d, h) (1) -=20 --extern struct dma_map_ops *dma_ops, pci32_dma_ops; -+extern const struct dma_map_ops *dma_ops, pci32_dma_ops; - extern struct bus_type pci_bus_type; -=20 --static inline struct dma_map_ops *get_dma_ops(struct device *dev) -+static inline const struct dma_map_ops *get_dma_ops(struct device *dev) - { - #if defined(CONFIG_SPARC32) && defined(CONFIG_PCI) - if (dev->bus =3D=3D &pci_bus_type) -@@ -31,7 +31,7 @@ static inline struct dma_map_ops *get_dm - static inline void *dma_alloc_coherent(struct device *dev, size_t size, - dma_addr_t *dma_handle, gfp_t flag) - { -- struct dma_map_ops *ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *ops =3D get_dma_ops(dev); - void *cpu_addr; -=20 - cpu_addr =3D ops->alloc_coherent(dev, size, dma_handle, flag); -@@ -42,7 +42,7 @@ static inline void *dma_alloc_coherent(s - static inline void dma_free_coherent(struct device *dev, size_t size, - void *cpu_addr, dma_addr_t dma_handle) - { -- struct dma_map_ops *ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *ops =3D get_dma_ops(dev); -=20 - debug_dma_free_coherent(dev, size, cpu_addr, dma_handle); - ops->free_coherent(dev, size, cpu_addr, dma_handle); -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/elf_32.h linux-2.6.32.= 48/arch/sparc/include/asm/elf_32.h ---- linux-2.6.32.48/arch/sparc/include/asm/elf_32.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/elf_32.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -116,6 +116,13 @@ typedef struct { + #define SMP_CACHE_BYTES_SHIFT 5 +diff -urNp linux-3.0.8/arch/sparc/include/asm/elf_32.h linux-3.0.8/arch/= sparc/include/asm/elf_32.h +--- linux-3.0.8/arch/sparc/include/asm/elf_32.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/elf_32.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -114,6 +114,13 @@ typedef struct { =20 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE) =20 @@ -3972,10 +3054,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm= /elf_32.h linux-2.6.32.48/arch/ /* This yields a mask that user programs can use to figure out what instruction set this cpu supports. This can NOT be done in userspac= e on Sparc. */ -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/elf_64.h linux-2.6.32.= 48/arch/sparc/include/asm/elf_64.h ---- linux-2.6.32.48/arch/sparc/include/asm/elf_64.h 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/elf_64.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -163,6 +163,12 @@ typedef struct { +diff -urNp linux-3.0.8/arch/sparc/include/asm/elf_64.h linux-3.0.8/arch/= sparc/include/asm/elf_64.h +--- linux-3.0.8/arch/sparc/include/asm/elf_64.h 2011-10-24 08:05:21.0000= 00000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/elf_64.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -180,6 +180,13 @@ typedef struct { #define ELF_ET_DYN_BASE 0x0000010000000000UL #define COMPAT_ELF_ET_DYN_BASE 0x0000000070000000UL =20 @@ -3985,13 +3067,14 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm= /elf_64.h linux-2.6.32.48/arch/ +#define PAX_DELTA_MMAP_LEN (test_thread_flag(TIF_32BIT) ? 14 : 28) +#define PAX_DELTA_STACK_LEN (test_thread_flag(TIF_32BIT) ? 15 : 29) +#endif ++ + extern unsigned long sparc64_elf_hwcap; + #define ELF_HWCAP sparc64_elf_hwcap =20 - /* This yields a mask that user programs can use to figure out what - instruction set this cpu supports. */ -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/pgtable_32.h linux-2.6= .32.48/arch/sparc/include/asm/pgtable_32.h ---- linux-2.6.32.48/arch/sparc/include/asm/pgtable_32.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/pgtable_32.h 2011-11-12 12:46= :42.000000000 -0500 -@@ -43,6 +43,13 @@ BTFIXUPDEF_SIMM13(user_ptrs_per_pgd) +diff -urNp linux-3.0.8/arch/sparc/include/asm/pgtable_32.h linux-3.0.8/a= rch/sparc/include/asm/pgtable_32.h +--- linux-3.0.8/arch/sparc/include/asm/pgtable_32.h 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/pgtable_32.h 2011-08-23 21:47:55.= 000000000 -0400 +@@ -45,6 +45,13 @@ BTFIXUPDEF_SIMM13(user_ptrs_per_pgd) BTFIXUPDEF_INT(page_none) BTFIXUPDEF_INT(page_copy) BTFIXUPDEF_INT(page_readonly) @@ -4005,7 +3088,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/p= gtable_32.h linux-2.6.32.48/a BTFIXUPDEF_INT(page_kernel) =20 #define PMD_SHIFT SUN4C_PMD_SHIFT -@@ -64,6 +71,16 @@ extern pgprot_t PAGE_SHARED; +@@ -66,6 +73,16 @@ extern pgprot_t PAGE_SHARED; #define PAGE_COPY __pgprot(BTFIXUP_INT(page_copy)) #define PAGE_READONLY __pgprot(BTFIXUP_INT(page_readonly)) =20 @@ -4022,9 +3105,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/p= gtable_32.h linux-2.6.32.48/a extern unsigned long page_kernel; =20 #ifdef MODULE -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/pgtsrmmu.h linux-2.6.3= 2.48/arch/sparc/include/asm/pgtsrmmu.h ---- linux-2.6.32.48/arch/sparc/include/asm/pgtsrmmu.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/pgtsrmmu.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-3.0.8/arch/sparc/include/asm/pgtsrmmu.h linux-3.0.8/arc= h/sparc/include/asm/pgtsrmmu.h +--- linux-3.0.8/arch/sparc/include/asm/pgtsrmmu.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/pgtsrmmu.h 2011-08-23 21:47:55.00= 0000000 -0400 @@ -115,6 +115,13 @@ SRMMU_EXEC | SRMMU_REF) #define SRMMU_PAGE_RDONLY __pgprot(SRMMU_VALID | SRMMU_CACHE | \ @@ -4039,15 +3122,15 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm= /pgtsrmmu.h linux-2.6.32.48/arc #define SRMMU_PAGE_KERNEL __pgprot(SRMMU_VALID | SRMMU_CACHE | SRMMU_P= RIV | \ SRMMU_DIRTY | SRMMU_REF) =20 -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/spinlock_64.h linux-2.= 6.32.48/arch/sparc/include/asm/spinlock_64.h ---- linux-2.6.32.48/arch/sparc/include/asm/spinlock_64.h 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/spinlock_64.h 2011-11-12 12:4= 6:42.000000000 -0500 -@@ -92,14 +92,19 @@ static inline void __raw_spin_lock_flags +diff -urNp linux-3.0.8/arch/sparc/include/asm/spinlock_64.h linux-3.0.8/= arch/sparc/include/asm/spinlock_64.h +--- linux-3.0.8/arch/sparc/include/asm/spinlock_64.h 2011-10-24 08:05:30= .000000000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/spinlock_64.h 2011-10-16 21:55:27= .000000000 -0400 +@@ -92,14 +92,19 @@ static inline void arch_spin_lock_flags( =20 /* Multi-reader locks, these are much saner than the 32-bit Sparc ones.= .. */ =20 --static void inline arch_read_lock(raw_rwlock_t *lock) -+static inline void arch_read_lock(raw_rwlock_t *lock) +-static void inline arch_read_lock(arch_rwlock_t *lock) ++static inline void arch_read_lock(arch_rwlock_t *lock) { unsigned long tmp1, tmp2; =20 @@ -4064,7 +3147,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/s= pinlock_64.h linux-2.6.32.48/ " cas [%2], %0, %1\n" " cmp %0, %1\n" " bne,pn %%icc, 1b\n" -@@ -112,10 +117,10 @@ static void inline arch_read_lock(raw_rw +@@ -112,10 +117,10 @@ static void inline arch_read_lock(arch_r " .previous" : "=3D&r" (tmp1), "=3D&r" (tmp2) : "r" (lock) @@ -4072,12 +3155,12 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm= /spinlock_64.h linux-2.6.32.48/ + : "memory", "cc"); } =20 --static int inline arch_read_trylock(raw_rwlock_t *lock) -+static inline int arch_read_trylock(raw_rwlock_t *lock) +-static int inline arch_read_trylock(arch_rwlock_t *lock) ++static inline int arch_read_trylock(arch_rwlock_t *lock) { int tmp1, tmp2; =20 -@@ -123,7 +128,12 @@ static int inline arch_read_trylock(raw_ +@@ -123,7 +128,12 @@ static int inline arch_read_trylock(arch "1: ldsw [%2], %0\n" " brlz,a,pn %0, 2f\n" " mov 0, %0\n" @@ -4091,12 +3174,12 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm= /spinlock_64.h linux-2.6.32.48/ " cas [%2], %0, %1\n" " cmp %0, %1\n" " bne,pn %%icc, 1b\n" -@@ -136,13 +146,18 @@ static int inline arch_read_trylock(raw_ +@@ -136,13 +146,18 @@ static int inline arch_read_trylock(arch return tmp1; } =20 --static void inline arch_read_unlock(raw_rwlock_t *lock) -+static inline void arch_read_unlock(raw_rwlock_t *lock) +-static void inline arch_read_unlock(arch_rwlock_t *lock) ++static inline void arch_read_unlock(arch_rwlock_t *lock) { unsigned long tmp1, tmp2; =20 @@ -4112,36 +3195,36 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm= /spinlock_64.h linux-2.6.32.48/ " cas [%2], %0, %1\n" " cmp %0, %1\n" " bne,pn %%xcc, 1b\n" -@@ -152,7 +167,7 @@ static void inline arch_read_unlock(raw_ +@@ -152,7 +167,7 @@ static void inline arch_read_unlock(arch : "memory"); } =20 --static void inline arch_write_lock(raw_rwlock_t *lock) -+static inline void arch_write_lock(raw_rwlock_t *lock) +-static void inline arch_write_lock(arch_rwlock_t *lock) ++static inline void arch_write_lock(arch_rwlock_t *lock) { unsigned long mask, tmp1, tmp2; =20 -@@ -177,7 +192,7 @@ static void inline arch_write_lock(raw_r +@@ -177,7 +192,7 @@ static void inline arch_write_lock(arch_ : "memory"); } =20 --static void inline arch_write_unlock(raw_rwlock_t *lock) -+static inline void arch_write_unlock(raw_rwlock_t *lock) +-static void inline arch_write_unlock(arch_rwlock_t *lock) ++static inline void arch_write_unlock(arch_rwlock_t *lock) { __asm__ __volatile__( " stw %%g0, [%0]" -@@ -186,7 +201,7 @@ static void inline arch_write_unlock(raw +@@ -186,7 +201,7 @@ static void inline arch_write_unlock(arc : "memory"); } =20 --static int inline arch_write_trylock(raw_rwlock_t *lock) -+static inline int arch_write_trylock(raw_rwlock_t *lock) +-static int inline arch_write_trylock(arch_rwlock_t *lock) ++static inline int arch_write_trylock(arch_rwlock_t *lock) { unsigned long mask, tmp1, tmp2, result; =20 -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/thread_info_32.h linux= -2.6.32.48/arch/sparc/include/asm/thread_info_32.h ---- linux-2.6.32.48/arch/sparc/include/asm/thread_info_32.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/thread_info_32.h 2011-11-12 1= 2:46:42.000000000 -0500 +diff -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 +--- linux-3.0.8/arch/sparc/include/asm/thread_info_32.h 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/thread_info_32.h 2011-08-23 21:47= :55.000000000 -0400 @@ -50,6 +50,8 @@ struct thread_info { unsigned long w_saved; =20 @@ -4151,10 +3234,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm= /thread_info_32.h linux-2.6.32. }; =20 /* -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/thread_info_64.h linux= -2.6.32.48/arch/sparc/include/asm/thread_info_64.h ---- linux-2.6.32.48/arch/sparc/include/asm/thread_info_64.h 2011-11-12 1= 2:44:28.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/thread_info_64.h 2011-11-12 1= 2:46:42.000000000 -0500 -@@ -68,6 +68,8 @@ struct thread_info { +diff -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 +--- linux-3.0.8/arch/sparc/include/asm/thread_info_64.h 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/thread_info_64.h 2011-08-23 21:47= :55.000000000 -0400 +@@ -63,6 +63,8 @@ struct thread_info { struct pt_regs *kern_una_regs; unsigned int kern_una_insn; =20 @@ -4163,9 +3246,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/t= hread_info_64.h linux-2.6.32. unsigned long fpregs[0] __attribute__ ((aligned(64))); }; =20 -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/uaccess_32.h linux-2.6= .32.48/arch/sparc/include/asm/uaccess_32.h ---- linux-2.6.32.48/arch/sparc/include/asm/uaccess_32.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/uaccess_32.h 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-3.0.8/arch/sparc/include/asm/uaccess_32.h linux-3.0.8/a= rch/sparc/include/asm/uaccess_32.h +--- linux-3.0.8/arch/sparc/include/asm/uaccess_32.h 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/uaccess_32.h 2011-08-23 21:47:55.= 000000000 -0400 @@ -249,27 +249,46 @@ extern unsigned long __copy_user(void __ =20 static inline unsigned long copy_to_user(void __user *to, const void *f= rom, unsigned long n) @@ -4217,10 +3300,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm= /uaccess_32.h linux-2.6.32.48/a return __copy_user((__force void __user *) to, from, n); } =20 -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/uaccess_64.h linux-2.6= .32.48/arch/sparc/include/asm/uaccess_64.h ---- linux-2.6.32.48/arch/sparc/include/asm/uaccess_64.h 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/uaccess_64.h 2011-11-12 12:46= :42.000000000 -0500 -@@ -9,6 +9,7 @@ +diff -urNp linux-3.0.8/arch/sparc/include/asm/uaccess_64.h linux-3.0.8/a= rch/sparc/include/asm/uaccess_64.h +--- linux-3.0.8/arch/sparc/include/asm/uaccess_64.h 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/uaccess_64.h 2011-08-23 21:47:55.= 000000000 -0400 +@@ -10,6 +10,7 @@ #include #include #include @@ -4228,7 +3311,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/u= access_64.h linux-2.6.32.48/a #include #include #include -@@ -212,8 +213,15 @@ extern unsigned long copy_from_user_fixu +@@ -213,8 +214,15 @@ extern unsigned long copy_from_user_fixu static inline unsigned long __must_check copy_from_user(void *to, const void __user *from, unsigned long size) { @@ -4244,8 +3327,8 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/u= access_64.h linux-2.6.32.48/a + ret =3D ___copy_from_user(to, from, size); if (unlikely(ret)) ret =3D copy_from_user_fixup(to, from, size); - return ret; -@@ -228,8 +236,15 @@ extern unsigned long copy_to_user_fixup( +=20 +@@ -230,8 +238,15 @@ extern unsigned long copy_to_user_fixup( static inline unsigned long __must_check copy_to_user(void __user *to, const void *from, unsigned long size) { @@ -4262,9 +3345,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/u= access_64.h linux-2.6.32.48/a if (unlikely(ret)) ret =3D copy_to_user_fixup(to, from, size); return ret; -diff -urNp linux-2.6.32.48/arch/sparc/include/asm/uaccess.h linux-2.6.32= .48/arch/sparc/include/asm/uaccess.h ---- linux-2.6.32.48/arch/sparc/include/asm/uaccess.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/include/asm/uaccess.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-3.0.8/arch/sparc/include/asm/uaccess.h linux-3.0.8/arch= /sparc/include/asm/uaccess.h +--- linux-3.0.8/arch/sparc/include/asm/uaccess.h 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/sparc/include/asm/uaccess.h 2011-08-23 21:47:55.000= 000000 -0400 @@ -1,5 +1,13 @@ #ifndef ___ASM_SPARC_UACCESS_H #define ___ASM_SPARC_UACCESS_H @@ -4279,84 +3362,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/include/asm/= uaccess.h linux-2.6.32.48/arch #if defined(__sparc__) && defined(__arch64__) #include #else -diff -urNp linux-2.6.32.48/arch/sparc/kernel/iommu.c linux-2.6.32.48/arc= h/sparc/kernel/iommu.c ---- linux-2.6.32.48/arch/sparc/kernel/iommu.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/iommu.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -826,7 +826,7 @@ static void dma_4u_sync_sg_for_cpu(struc - spin_unlock_irqrestore(&iommu->lock, flags); - } -=20 --static struct dma_map_ops sun4u_dma_ops =3D { -+static const struct dma_map_ops sun4u_dma_ops =3D { - .alloc_coherent =3D dma_4u_alloc_coherent, - .free_coherent =3D dma_4u_free_coherent, - .map_page =3D dma_4u_map_page, -@@ -837,7 +837,7 @@ static struct dma_map_ops sun4u_dma_ops=20 - .sync_sg_for_cpu =3D dma_4u_sync_sg_for_cpu, - }; -=20 --struct dma_map_ops *dma_ops =3D &sun4u_dma_ops; -+const struct dma_map_ops *dma_ops =3D &sun4u_dma_ops; - EXPORT_SYMBOL(dma_ops); -=20 - extern int pci64_dma_supported(struct pci_dev *pdev, u64 device_mask); -diff -urNp linux-2.6.32.48/arch/sparc/kernel/ioport.c linux-2.6.32.48/ar= ch/sparc/kernel/ioport.c ---- linux-2.6.32.48/arch/sparc/kernel/ioport.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/ioport.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -392,7 +392,7 @@ static void sbus_sync_sg_for_device(stru - BUG(); - } -=20 --struct dma_map_ops sbus_dma_ops =3D { -+const struct dma_map_ops sbus_dma_ops =3D { - .alloc_coherent =3D sbus_alloc_coherent, - .free_coherent =3D sbus_free_coherent, - .map_page =3D sbus_map_page, -@@ -403,7 +403,7 @@ struct dma_map_ops sbus_dma_ops =3D { - .sync_sg_for_device =3D sbus_sync_sg_for_device, - }; -=20 --struct dma_map_ops *dma_ops =3D &sbus_dma_ops; -+const struct dma_map_ops *dma_ops =3D &sbus_dma_ops; - EXPORT_SYMBOL(dma_ops); -=20 - static int __init sparc_register_ioport(void) -@@ -640,7 +640,7 @@ static void pci32_sync_sg_for_device(str - } - } -=20 --struct dma_map_ops pci32_dma_ops =3D { -+const struct dma_map_ops pci32_dma_ops =3D { - .alloc_coherent =3D pci32_alloc_coherent, - .free_coherent =3D pci32_free_coherent, - .map_page =3D pci32_map_page, -diff -urNp linux-2.6.32.48/arch/sparc/kernel/kgdb_32.c linux-2.6.32.48/a= rch/sparc/kernel/kgdb_32.c ---- linux-2.6.32.48/arch/sparc/kernel/kgdb_32.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/kgdb_32.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -158,7 +158,7 @@ void kgdb_arch_exit(void) - { - } -=20 --struct kgdb_arch arch_kgdb_ops =3D { -+const struct kgdb_arch arch_kgdb_ops =3D { - /* Breakpoint instruction: ta 0x7d */ - .gdb_bpt_instr =3D { 0x91, 0xd0, 0x20, 0x7d }, - }; -diff -urNp linux-2.6.32.48/arch/sparc/kernel/kgdb_64.c linux-2.6.32.48/a= rch/sparc/kernel/kgdb_64.c ---- linux-2.6.32.48/arch/sparc/kernel/kgdb_64.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/kgdb_64.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -180,7 +180,7 @@ void kgdb_arch_exit(void) - { - } -=20 --struct kgdb_arch arch_kgdb_ops =3D { -+const struct kgdb_arch arch_kgdb_ops =3D { - /* Breakpoint instruction: ta 0x72 */ - .gdb_bpt_instr =3D { 0x91, 0xd0, 0x20, 0x72 }, - }; -diff -urNp linux-2.6.32.48/arch/sparc/kernel/Makefile linux-2.6.32.48/ar= ch/sparc/kernel/Makefile ---- linux-2.6.32.48/arch/sparc/kernel/Makefile 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/Makefile 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/sparc/kernel/Makefile linux-3.0.8/arch/sparc= /kernel/Makefile +--- linux-3.0.8/arch/sparc/kernel/Makefile 2011-10-24 08:05:30.000000000= -0400 ++++ linux-3.0.8/arch/sparc/kernel/Makefile 2011-10-16 21:55:27.000000000= -0400 @@ -3,7 +3,7 @@ # =20 @@ -4366,22 +3374,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/Make= file linux-2.6.32.48/arch/sparc =20 extra-y :=3D head_$(BITS).o extra-y +=3D init_task.o -diff -urNp linux-2.6.32.48/arch/sparc/kernel/pci_sun4v.c linux-2.6.32.48= /arch/sparc/kernel/pci_sun4v.c ---- linux-2.6.32.48/arch/sparc/kernel/pci_sun4v.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/pci_sun4v.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -525,7 +525,7 @@ static void dma_4v_unmap_sg(struct devic - spin_unlock_irqrestore(&iommu->lock, flags); - } -=20 --static struct dma_map_ops sun4v_dma_ops =3D { -+static const struct dma_map_ops sun4v_dma_ops =3D { - .alloc_coherent =3D dma_4v_alloc_coherent, - .free_coherent =3D dma_4v_free_coherent, - .map_page =3D dma_4v_map_page, -diff -urNp linux-2.6.32.48/arch/sparc/kernel/process_32.c linux-2.6.32.4= 8/arch/sparc/kernel/process_32.c ---- linux-2.6.32.48/arch/sparc/kernel/process_32.c 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/process_32.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -196,7 +196,7 @@ void __show_backtrace(unsigned long fp) +diff -urNp linux-3.0.8/arch/sparc/kernel/process_32.c linux-3.0.8/arch/s= parc/kernel/process_32.c +--- linux-3.0.8/arch/sparc/kernel/process_32.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/sparc/kernel/process_32.c 2011-08-23 21:48:14.00000= 0000 -0400 +@@ -204,7 +204,7 @@ void __show_backtrace(unsigned long fp) rw->ins[4], rw->ins[5], rw->ins[6], rw->ins[7]); @@ -4390,7 +3386,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/proces= s_32.c linux-2.6.32.48/arch/s rw =3D (struct reg_window32 *) rw->ins[6]; } spin_unlock_irqrestore(&sparc_backtrace_lock, flags); -@@ -263,14 +263,14 @@ void show_regs(struct pt_regs *r) +@@ -271,14 +271,14 @@ void show_regs(struct pt_regs *r) =20 printk("PSR: %08lx PC: %08lx NPC: %08lx Y: %08lx %s\n", r->psr, r->pc, r->npc, r->y, print_tainted()); @@ -4407,7 +3403,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/proces= s_32.c linux-2.6.32.48/arch/s =20 printk("%%L: %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", rw->locals[0], rw->locals[1], rw->locals[2], rw->locals[3], -@@ -305,7 +305,7 @@ void show_stack(struct task_struct *tsk, +@@ -313,7 +313,7 @@ void show_stack(struct task_struct *tsk, rw =3D (struct reg_window32 *) fp; pc =3D rw->ins[7]; printk("[%08lx : ", pc); @@ -4416,9 +3412,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/proces= s_32.c linux-2.6.32.48/arch/s fp =3D rw->ins[6]; } while (++count < 16); printk("\n"); -diff -urNp linux-2.6.32.48/arch/sparc/kernel/process_64.c linux-2.6.32.4= 8/arch/sparc/kernel/process_64.c ---- linux-2.6.32.48/arch/sparc/kernel/process_64.c 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/process_64.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-3.0.8/arch/sparc/kernel/process_64.c linux-3.0.8/arch/s= parc/kernel/process_64.c +--- linux-3.0.8/arch/sparc/kernel/process_64.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/sparc/kernel/process_64.c 2011-08-23 21:48:14.00000= 0000 -0400 @@ -180,14 +180,14 @@ static void show_regwindow(struct pt_reg printk("i4: %016lx i5: %016lx i6: %016lx i7: %016lx\n", rwk->ins[4], rwk->ins[5], rwk->ins[6], rwk->ins[7]); @@ -4443,9 +3439,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/proces= s_64.c linux-2.6.32.48/arch/s - printk("RPC: <%pS>\n", (void *) regs->u_regs[15]); + printk("RPC: <%pA>\n", (void *) regs->u_regs[15]); show_regwindow(regs); + show_stack(current, (unsigned long *) regs->u_regs[UREG_FP]); } -=20 -@@ -284,7 +284,7 @@ void arch_trigger_all_cpu_backtrace(void +@@ -285,7 +285,7 @@ void arch_trigger_all_cpu_backtrace(void ((tp && tp->task) ? tp->task->pid : -1)); =20 if (gp->tstate & TSTATE_PRIV) { @@ -4454,10 +3450,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/proc= ess_64.c linux-2.6.32.48/arch/s (void *) gp->tpc, (void *) gp->o7, (void *) gp->i7, -diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sparc_32.c linux-2.6.32= .48/arch/sparc/kernel/sys_sparc_32.c ---- linux-2.6.32.48/arch/sparc/kernel/sys_sparc_32.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/sys_sparc_32.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -57,7 +57,7 @@ unsigned long arch_get_unmapped_area(str +diff -urNp linux-3.0.8/arch/sparc/kernel/sys_sparc_32.c linux-3.0.8/arch= /sparc/kernel/sys_sparc_32.c +--- linux-3.0.8/arch/sparc/kernel/sys_sparc_32.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/sparc/kernel/sys_sparc_32.c 2011-08-23 21:47:55.000= 000000 -0400 +@@ -56,7 +56,7 @@ unsigned long arch_get_unmapped_area(str if (ARCH_SUN4C && len > 0x20000000) return -ENOMEM; if (!addr) @@ -4466,7 +3462,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_32.c linux-2.6.32.48/arch =20 if (flags & MAP_SHARED) addr =3D COLOUR_ALIGN(addr); -@@ -72,7 +72,7 @@ unsigned long arch_get_unmapped_area(str +@@ -71,7 +71,7 @@ unsigned long arch_get_unmapped_area(str } if (TASK_SIZE - PAGE_SIZE - len < addr) return -ENOMEM; @@ -4475,10 +3471,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_= sparc_32.c linux-2.6.32.48/arch return addr; addr =3D vmm->vm_end; if (flags & MAP_SHARED) -diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sparc_64.c linux-2.6.32= .48/arch/sparc/kernel/sys_sparc_64.c ---- linux-2.6.32.48/arch/sparc/kernel/sys_sparc_64.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/sys_sparc_64.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -125,7 +125,7 @@ unsigned long arch_get_unmapped_area(str +diff -urNp linux-3.0.8/arch/sparc/kernel/sys_sparc_64.c linux-3.0.8/arch= /sparc/kernel/sys_sparc_64.c +--- linux-3.0.8/arch/sparc/kernel/sys_sparc_64.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/sparc/kernel/sys_sparc_64.c 2011-08-23 21:47:55.000= 000000 -0400 +@@ -124,7 +124,7 @@ unsigned long arch_get_unmapped_area(str /* We do not accept a shared mapping if it would violate * cache aliasing constraints. */ @@ -4487,7 +3483,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch ((addr - (pgoff << PAGE_SHIFT)) & (SHMLBA - 1))) return -EINVAL; return addr; -@@ -140,6 +140,10 @@ unsigned long arch_get_unmapped_area(str +@@ -139,6 +139,10 @@ unsigned long arch_get_unmapped_area(str if (filp || (flags & MAP_SHARED)) do_color_align =3D 1; =20 @@ -4498,7 +3494,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch if (addr) { if (do_color_align) addr =3D COLOUR_ALIGN(addr, pgoff); -@@ -147,15 +151,14 @@ unsigned long arch_get_unmapped_area(str +@@ -146,15 +150,14 @@ unsigned long arch_get_unmapped_area(str addr =3D PAGE_ALIGN(addr); =20 vma =3D find_vma(mm, addr); @@ -4517,7 +3513,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch mm->cached_hole_size =3D 0; } =20 -@@ -175,14 +178,14 @@ full_search: +@@ -174,14 +177,14 @@ full_search: vma =3D find_vma(mm, VA_EXCLUDE_END); } if (unlikely(task_size < addr)) { @@ -4535,7 +3531,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch /* * Remember the place where we stopped the search: */ -@@ -216,7 +219,7 @@ arch_get_unmapped_area_topdown(struct fi +@@ -215,7 +218,7 @@ arch_get_unmapped_area_topdown(struct fi /* We do not accept a shared mapping if it would violate * cache aliasing constraints. */ @@ -4544,7 +3540,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch ((addr - (pgoff << PAGE_SHIFT)) & (SHMLBA - 1))) return -EINVAL; return addr; -@@ -237,8 +240,7 @@ arch_get_unmapped_area_topdown(struct fi +@@ -236,8 +239,7 @@ arch_get_unmapped_area_topdown(struct fi addr =3D PAGE_ALIGN(addr); =20 vma =3D find_vma(mm, addr); @@ -4554,7 +3550,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch return addr; } =20 -@@ -259,7 +261,7 @@ arch_get_unmapped_area_topdown(struct fi +@@ -258,7 +260,7 @@ arch_get_unmapped_area_topdown(struct fi /* make sure it can fit in the remaining address space */ if (likely(addr > len)) { vma =3D find_vma(mm, addr-len); @@ -4563,7 +3559,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch /* remember the address as a hint for next time */ return (mm->free_area_cache =3D addr-len); } -@@ -268,18 +270,18 @@ arch_get_unmapped_area_topdown(struct fi +@@ -267,18 +269,18 @@ arch_get_unmapped_area_topdown(struct fi if (unlikely(mm->mmap_base < len)) goto bottomup; =20 @@ -4586,7 +3582,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch /* remember the address as a hint for next time */ return (mm->free_area_cache =3D addr); } -@@ -289,10 +291,8 @@ arch_get_unmapped_area_topdown(struct fi +@@ -288,10 +290,8 @@ arch_get_unmapped_area_topdown(struct fi mm->cached_hole_size =3D vma->vm_start - addr; =20 /* try just below the current vma->vm_start */ @@ -4599,8 +3595,8 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch =20 bottomup: /* -@@ -384,6 +384,12 @@ void arch_pick_mmap_layout(struct mm_str - current->signal->rlim[RLIMIT_STACK].rlim_cur =3D=3D RLIM_INFINITY = || +@@ -390,6 +390,12 @@ void arch_pick_mmap_layout(struct mm_str + gap =3D=3D RLIM_INFINITY || sysctl_legacy_va_layout) { mm->mmap_base =3D TASK_UNMAPPED_BASE + random_factor; + @@ -4612,7 +3608,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch mm->get_unmapped_area =3D arch_get_unmapped_area; mm->unmap_area =3D arch_unmap_area; } else { -@@ -398,6 +404,12 @@ void arch_pick_mmap_layout(struct mm_str +@@ -402,6 +408,12 @@ void arch_pick_mmap_layout(struct mm_str gap =3D (task_size / 6 * 5); =20 mm->mmap_base =3D PAGE_ALIGN(task_size - gap - random_factor); @@ -4625,9 +3621,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/sys_sp= arc_64.c linux-2.6.32.48/arch mm->get_unmapped_area =3D arch_get_unmapped_area_topdown; mm->unmap_area =3D arch_unmap_area_topdown; } -diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_32.c linux-2.6.32.48/= arch/sparc/kernel/traps_32.c ---- linux-2.6.32.48/arch/sparc/kernel/traps_32.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/traps_32.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-3.0.8/arch/sparc/kernel/traps_32.c linux-3.0.8/arch/spa= rc/kernel/traps_32.c +--- linux-3.0.8/arch/sparc/kernel/traps_32.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/sparc/kernel/traps_32.c 2011-08-23 21:48:14.0000000= 00 -0400 @@ -44,6 +44,8 @@ static void instruction_dump(unsigned lo #define __SAVE __asm__ __volatile__("save %sp, -0x40, %sp\n\t") #define __RESTORE __asm__ __volatile__("restore %g0, %g0, %g0\n\t") @@ -4657,10 +3653,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/trap= s_32.c linux-2.6.32.48/arch/spa do_exit(SIGSEGV); } =20 -diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_64.c linux-2.6.32.48/= arch/sparc/kernel/traps_64.c ---- linux-2.6.32.48/arch/sparc/kernel/traps_64.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/traps_64.c 2011-11-12 12:46:42.000= 000000 -0500 -@@ -73,7 +73,7 @@ static void dump_tl1_traplog(struct tl1_ +diff -urNp linux-3.0.8/arch/sparc/kernel/traps_64.c linux-3.0.8/arch/spa= rc/kernel/traps_64.c +--- linux-3.0.8/arch/sparc/kernel/traps_64.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/sparc/kernel/traps_64.c 2011-08-23 21:48:14.0000000= 00 -0400 +@@ -75,7 +75,7 @@ static void dump_tl1_traplog(struct tl1_ i + 1, p->trapstack[i].tstate, p->trapstack[i].tpc, p->trapstack[i].tnpc, p->trapstack[i].tt); @@ -4669,7 +3665,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_= 64.c linux-2.6.32.48/arch/spa } } =20 -@@ -93,6 +93,12 @@ void bad_trap(struct pt_regs *regs, long +@@ -95,6 +95,12 @@ void bad_trap(struct pt_regs *regs, long =20 lvl -=3D 0x100; if (regs->tstate & TSTATE_PRIV) { @@ -4682,7 +3678,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_= 64.c linux-2.6.32.48/arch/spa sprintf(buffer, "Kernel bad sw trap %lx", lvl); die_if_kernel(buffer, regs); } -@@ -111,11 +117,16 @@ void bad_trap(struct pt_regs *regs, long +@@ -113,11 +119,16 @@ void bad_trap(struct pt_regs *regs, long void bad_trap_tl1(struct pt_regs *regs, long lvl) { char buffer[32]; @@ -4700,7 +3696,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_= 64.c linux-2.6.32.48/arch/spa dump_tl1_traplog((struct tl1_traplog *)(regs + 1)); =20 sprintf (buffer, "Bad trap %lx at tl>0", lvl); -@@ -1139,7 +1150,7 @@ static void cheetah_log_errors(struct pt +@@ -1141,7 +1152,7 @@ static void cheetah_log_errors(struct pt regs->tpc, regs->tnpc, regs->u_regs[UREG_I7], regs->tstate); printk("%s" "ERROR(%d): ", (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id()); @@ -4709,7 +3705,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_= 64.c linux-2.6.32.48/arch/spa printk("%s" "ERROR(%d): M_SYND(%lx), E_SYND(%lx)%s%s\n", (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), (afsr & CHAFSR_M_SYNDROME) >> CHAFSR_M_SYNDROME_SHIFT, -@@ -1746,7 +1757,7 @@ void cheetah_plus_parity_error(int type, +@@ -1748,7 +1759,7 @@ void cheetah_plus_parity_error(int type, smp_processor_id(), (type & 0x1) ? 'I' : 'D', regs->tpc); @@ -4718,7 +3714,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_= 64.c linux-2.6.32.48/arch/spa panic("Irrecoverable Cheetah+ parity error."); } =20 -@@ -1754,7 +1765,7 @@ void cheetah_plus_parity_error(int type, +@@ -1756,7 +1767,7 @@ void cheetah_plus_parity_error(int type, smp_processor_id(), (type & 0x1) ? 'I' : 'D', regs->tpc); @@ -4727,7 +3723,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_= 64.c linux-2.6.32.48/arch/spa } =20 struct sun4v_error_entry { -@@ -1961,9 +1972,9 @@ void sun4v_itlb_error_report(struct pt_r +@@ -1963,9 +1974,9 @@ void sun4v_itlb_error_report(struct pt_r =20 printk(KERN_EMERG "SUN4V-ITLB: Error at TPC[%lx], tl %d\n", regs->tpc, tl); @@ -4739,7 +3735,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/traps_= 64.c linux-2.6.32.48/arch/spa (void *) regs->u_regs[UREG_I7]); printk(KERN_EMERG "SUN4V-ITLB: vaddr[%lx] ctx[%lx] " "pte[%lx] error[%lx]\n", -@@ -1985,9 +1996,9 @@ void sun4v_dtlb_error_report(struct pt_r +@@ -1987,9 +1998,9 @@ void sun4v_dtlb_error_report(struct pt_r =20 printk(KERN_EMERG "SUN4V-DTLB: Error at TPC[%lx], tl %d\n", regs->tpc, tl); @@ -4751,16 +3747,23 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/trap= s_64.c linux-2.6.32.48/arch/spa (void *) regs->u_regs[UREG_I7]); printk(KERN_EMERG "SUN4V-DTLB: vaddr[%lx] ctx[%lx] " "pte[%lx] error[%lx]\n", -@@ -2191,7 +2202,7 @@ void show_stack(struct task_struct *tsk, +@@ -2195,13 +2206,13 @@ void show_stack(struct task_struct *tsk, fp =3D (unsigned long)sf->fp + STACK_BIAS; } =20 - printk(" [%016lx] %pS\n", pc, (void *) pc); + printk(" [%016lx] %pA\n", pc, (void *) pc); - } while (++count < 16); - } -=20 -@@ -2233,6 +2244,8 @@ static inline struct reg_window *kernel_ + #ifdef CONFIG_FUNCTION_GRAPH_TRACER + if ((pc + 8UL) =3D=3D (unsigned long) &return_to_handler) { + int index =3D tsk->curr_ret_stack; + if (tsk->ret_stack && index >=3D graph) { + pc =3D tsk->ret_stack[index - graph].ret; +- printk(" [%016lx] %pS\n", pc, (void *) pc); ++ printk(" [%016lx] %pA\n", pc, (void *) pc); + graph++; + } + } +@@ -2226,6 +2237,8 @@ static inline struct reg_window *kernel_ return (struct reg_window *) (fp + STACK_BIAS); } =20 @@ -4769,55 +3772,42 @@ diff -urNp linux-2.6.32.48/arch/sparc/kernel/trap= s_64.c linux-2.6.32.48/arch/spa void die_if_kernel(char *str, struct pt_regs *regs) { static int die_counter; -@@ -2260,7 +2273,7 @@ void die_if_kernel(char *str, struct pt_ +@@ -2254,7 +2267,7 @@ void die_if_kernel(char *str, struct pt_ while (rw && - count++ < 30&& - is_kernel_stack(current, rw)) { + count++ < 30 && + kstack_valid(tp, (unsigned long) rw)) { - printk("Caller[%016lx]: %pS\n", rw->ins[7], + printk("Caller[%016lx]: %pA\n", rw->ins[7], (void *) rw->ins[7]); =20 rw =3D kernel_stack_up(rw); -@@ -2273,8 +2286,11 @@ void die_if_kernel(char *str, struct pt_ +@@ -2267,8 +2280,10 @@ void die_if_kernel(char *str, struct pt_ } user_instruction_dump ((unsigned int __user *) regs->tpc); } - if (regs->tstate & TSTATE_PRIV) + if (regs->tstate & TSTATE_PRIV) { -+ gr_handle_kernel_exploit(); =09 ++ gr_handle_kernel_exploit(); do_exit(SIGKILL); + } -+ do_exit(SIGSEGV); } EXPORT_SYMBOL(die_if_kernel); -diff -urNp linux-2.6.32.48/arch/sparc/kernel/una_asm_64.S linux-2.6.32.4= 8/arch/sparc/kernel/una_asm_64.S ---- linux-2.6.32.48/arch/sparc/kernel/una_asm_64.S 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/una_asm_64.S 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -127,7 +127,7 @@ do_int_load: - wr %o5, 0x0, %asi - retl - mov 0, %o0 -- .size __do_int_load, .-__do_int_load -+ .size do_int_load, .-do_int_load -=20 - .section __ex_table,"a" - .word 4b, __retl_efault -diff -urNp linux-2.6.32.48/arch/sparc/kernel/unaligned_64.c linux-2.6.32= .48/arch/sparc/kernel/unaligned_64.c ---- linux-2.6.32.48/arch/sparc/kernel/unaligned_64.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/sparc/kernel/unaligned_64.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -288,7 +288,7 @@ static void log_unaligned(struct pt_regs - if (count < 5) { - last_time =3D jiffies; - count++; +diff -urNp linux-3.0.8/arch/sparc/kernel/unaligned_64.c linux-3.0.8/arch= /sparc/kernel/unaligned_64.c +--- linux-3.0.8/arch/sparc/kernel/unaligned_64.c 2011-10-24 08:05:21.000= 000000 -0400 ++++ linux-3.0.8/arch/sparc/kernel/unaligned_64.c 2011-08-23 21:48:14.000= 000000 -0400 +@@ -279,7 +279,7 @@ static void log_unaligned(struct pt_regs + static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5); +=20 + if (__ratelimit(&ratelimit)) { - printk("Kernel unaligned access at TPC[%lx] %pS\n", + printk("Kernel unaligned access at TPC[%lx] %pA\n", regs->tpc, (void *) regs->tpc); } } -diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_64.S linux-2.6.32.48/ar= ch/sparc/lib/atomic_64.S ---- linux-2.6.32.48/arch/sparc/lib/atomic_64.S 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/sparc/lib/atomic_64.S 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/sparc/lib/atomic_64.S linux-3.0.8/arch/sparc= /lib/atomic_64.S +--- linux-3.0.8/arch/sparc/lib/atomic_64.S 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/sparc/lib/atomic_64.S 2011-08-23 21:47:55.000000000= -0400 @@ -18,7 +18,12 @@ atomic_add: /* %o0 =3D increment, %o1 =3D atomic_ptr */ BACKOFF_SETUP(%o2) @@ -4831,7 +3821,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_64= .S linux-2.6.32.48/arch/sparc + cas [%o1], %g1, %g7 cmp %g1, %g7 - bne,pn %icc, 2f + bne,pn %icc, BACKOFF_LABEL(2f, 1b) @@ -28,12 +33,32 @@ atomic_add: /* %o0 =3D increment, %o1 =3D at 2: BACKOFF_SPIN(%o2, %o3, 1b) .size atomic_add, .-atomic_add @@ -4865,7 +3855,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_64= .S linux-2.6.32.48/arch/sparc + cas [%o1], %g1, %g7 cmp %g1, %g7 - bne,pn %icc, 2f + bne,pn %icc, BACKOFF_LABEL(2f, 1b) @@ -43,12 +68,32 @@ atomic_sub: /* %o0 =3D decrement, %o1 =3D at 2: BACKOFF_SPIN(%o2, %o3, 1b) .size atomic_sub, .-atomic_sub @@ -4899,8 +3889,8 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_64= .S linux-2.6.32.48/arch/sparc + cas [%o1], %g1, %g7 cmp %g1, %g7 - bne,pn %icc, 2f -@@ -59,12 +104,33 @@ atomic_add_ret: /* %o0 =3D increment, %o1=20 + bne,pn %icc, BACKOFF_LABEL(2f, 1b) +@@ -58,12 +103,33 @@ atomic_add_ret: /* %o0 =3D increment, %o1=20 2: BACKOFF_SPIN(%o2, %o3, 1b) .size atomic_add_ret, .-atomic_add_ret =20 @@ -4934,8 +3924,8 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_64= .S linux-2.6.32.48/arch/sparc + cas [%o1], %g1, %g7 cmp %g1, %g7 - bne,pn %icc, 2f -@@ -80,7 +146,12 @@ atomic_sub_ret: /* %o0 =3D decrement, %o1=20 + bne,pn %icc, BACKOFF_LABEL(2f, 1b) +@@ -78,7 +144,12 @@ atomic_sub_ret: /* %o0 =3D decrement, %o1=20 atomic64_add: /* %o0 =3D increment, %o1 =3D atomic_ptr */ BACKOFF_SETUP(%o2) 1: ldx [%o1], %g1 @@ -4948,8 +3938,8 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_64= .S linux-2.6.32.48/arch/sparc + casx [%o1], %g1, %g7 cmp %g1, %g7 - bne,pn %xcc, 2f -@@ -90,12 +161,32 @@ atomic64_add: /* %o0 =3D increment, %o1 =3D=20 + bne,pn %xcc, BACKOFF_LABEL(2f, 1b) +@@ -88,12 +159,32 @@ atomic64_add: /* %o0 =3D increment, %o1 =3D=20 2: BACKOFF_SPIN(%o2, %o3, 1b) .size atomic64_add, .-atomic64_add =20 @@ -4982,8 +3972,8 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_64= .S linux-2.6.32.48/arch/sparc + casx [%o1], %g1, %g7 cmp %g1, %g7 - bne,pn %xcc, 2f -@@ -105,12 +196,32 @@ atomic64_sub: /* %o0 =3D decrement, %o1 =3D=20 + bne,pn %xcc, BACKOFF_LABEL(2f, 1b) +@@ -103,12 +194,32 @@ atomic64_sub: /* %o0 =3D decrement, %o1 =3D=20 2: BACKOFF_SPIN(%o2, %o3, 1b) .size atomic64_sub, .-atomic64_sub =20 @@ -5016,8 +4006,8 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_64= .S linux-2.6.32.48/arch/sparc + casx [%o1], %g1, %g7 cmp %g1, %g7 - bne,pn %xcc, 2f -@@ -121,12 +232,33 @@ atomic64_add_ret: /* %o0 =3D increment, %o + bne,pn %xcc, BACKOFF_LABEL(2f, 1b) +@@ -118,12 +229,33 @@ atomic64_add_ret: /* %o0 =3D increment, %o 2: BACKOFF_SPIN(%o2, %o3, 1b) .size atomic64_add_ret, .-atomic64_add_ret =20 @@ -5051,11 +4041,11 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/atomic_= 64.S linux-2.6.32.48/arch/sparc + casx [%o1], %g1, %g7 cmp %g1, %g7 - bne,pn %xcc, 2f -diff -urNp linux-2.6.32.48/arch/sparc/lib/ksyms.c linux-2.6.32.48/arch/s= parc/lib/ksyms.c ---- linux-2.6.32.48/arch/sparc/lib/ksyms.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/sparc/lib/ksyms.c 2011-11-12 12:46:42.000000000= -0500 -@@ -144,12 +144,18 @@ EXPORT_SYMBOL(__downgrade_write); + bne,pn %xcc, BACKOFF_LABEL(2f, 1b) +diff -urNp linux-3.0.8/arch/sparc/lib/ksyms.c linux-3.0.8/arch/sparc/lib= /ksyms.c +--- linux-3.0.8/arch/sparc/lib/ksyms.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/sparc/lib/ksyms.c 2011-08-23 21:48:14.000000000 -04= 00 +@@ -142,12 +142,18 @@ EXPORT_SYMBOL(__downgrade_write); =20 /* Atomic counter implementation. */ EXPORT_SYMBOL(atomic_add); @@ -5074,9 +4064,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/ksyms.c l= inux-2.6.32.48/arch/sparc/lib EXPORT_SYMBOL(atomic64_sub_ret); =20 /* Atomic bit operations. */ -diff -urNp linux-2.6.32.48/arch/sparc/lib/Makefile linux-2.6.32.48/arch/= sparc/lib/Makefile ---- linux-2.6.32.48/arch/sparc/lib/Makefile 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/sparc/lib/Makefile 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-3.0.8/arch/sparc/lib/Makefile linux-3.0.8/arch/sparc/li= b/Makefile +--- linux-3.0.8/arch/sparc/lib/Makefile 2011-10-24 08:05:21.000000000 -0= 400 ++++ linux-3.0.8/arch/sparc/lib/Makefile 2011-08-23 21:47:55.000000000 -0= 400 @@ -2,7 +2,7 @@ # =20 @@ -5086,110 +4076,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/lib/Makefil= e linux-2.6.32.48/arch/sparc/li =20 lib-$(CONFIG_SPARC32) +=3D mul.o rem.o sdiv.o udiv.o umul.o urem.o ashr= di3.o lib-$(CONFIG_SPARC32) +=3D memcpy.o memset.o -diff -urNp linux-2.6.32.48/arch/sparc/lib/rwsem_64.S linux-2.6.32.48/arc= h/sparc/lib/rwsem_64.S ---- linux-2.6.32.48/arch/sparc/lib/rwsem_64.S 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/sparc/lib/rwsem_64.S 2011-11-12 12:46:42.000000= 000 -0500 -@@ -11,7 +11,12 @@ - .globl __down_read - __down_read: - 1: lduw [%o0], %g1 -- add %g1, 1, %g7 -+ addcc %g1, 1, %g7 -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ tvs %icc, 6 -+#endif -+ - cas [%o0], %g1, %g7 - cmp %g1, %g7 - bne,pn %icc, 1b -@@ -33,7 +38,12 @@ __down_read: - .globl __down_read_trylock - __down_read_trylock: - 1: lduw [%o0], %g1 -- add %g1, 1, %g7 -+ addcc %g1, 1, %g7 -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ tvs %icc, 6 -+#endif -+ - cmp %g7, 0 - bl,pn %icc, 2f - mov 0, %o1 -@@ -51,7 +61,12 @@ __down_write: - or %g1, %lo(RWSEM_ACTIVE_WRITE_BIAS), %g1 - 1: - lduw [%o0], %g3 -- add %g3, %g1, %g7 -+ addcc %g3, %g1, %g7 -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ tvs %icc, 6 -+#endif -+ - cas [%o0], %g3, %g7 - cmp %g3, %g7 - bne,pn %icc, 1b -@@ -77,7 +92,12 @@ __down_write_trylock: - cmp %g3, 0 - bne,pn %icc, 2f - mov 0, %o1 -- add %g3, %g1, %g7 -+ addcc %g3, %g1, %g7 -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ tvs %icc, 6 -+#endif -+ - cas [%o0], %g3, %g7 - cmp %g3, %g7 - bne,pn %icc, 1b -@@ -90,7 +110,12 @@ __down_write_trylock: - __up_read: - 1: - lduw [%o0], %g1 -- sub %g1, 1, %g7 -+ subcc %g1, 1, %g7 -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ tvs %icc, 6 -+#endif -+ - cas [%o0], %g1, %g7 - cmp %g1, %g7 - bne,pn %icc, 1b -@@ -118,7 +143,12 @@ __up_write: - or %g1, %lo(RWSEM_ACTIVE_WRITE_BIAS), %g1 - 1: - lduw [%o0], %g3 -- sub %g3, %g1, %g7 -+ subcc %g3, %g1, %g7 -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ tvs %icc, 6 -+#endif -+ - cas [%o0], %g3, %g7 - cmp %g3, %g7 - bne,pn %icc, 1b -@@ -143,7 +173,12 @@ __downgrade_write: - or %g1, %lo(RWSEM_WAITING_BIAS), %g1 - 1: - lduw [%o0], %g3 -- sub %g3, %g1, %g7 -+ subcc %g3, %g1, %g7 -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ tvs %icc, 6 -+#endif -+ - cas [%o0], %g3, %g7 - cmp %g3, %g7 - bne,pn %icc, 1b -diff -urNp linux-2.6.32.48/arch/sparc/Makefile linux-2.6.32.48/arch/spar= c/Makefile ---- linux-2.6.32.48/arch/sparc/Makefile 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/arch/sparc/Makefile 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-3.0.8/arch/sparc/Makefile linux-3.0.8/arch/sparc/Makefi= le +--- linux-3.0.8/arch/sparc/Makefile 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/sparc/Makefile 2011-08-23 21:48:14.000000000 -0400 @@ -75,7 +75,7 @@ drivers-$(CONFIG_OPROFILE) +=3D arch/sparc # Export what is needed by arch/sparc/boot/Makefile export VMLINUX_INIT VMLINUX_MAIN @@ -5199,10 +4088,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/Makefile li= nux-2.6.32.48/arch/sparc/Makefi VMLINUX_MAIN +=3D $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y) VMLINUX_MAIN +=3D $(drivers-y) $(net-y) =20 -diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_32.c linux-2.6.32.48/arch= /sparc/mm/fault_32.c ---- linux-2.6.32.48/arch/sparc/mm/fault_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/sparc/mm/fault_32.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -21,6 +21,9 @@ +diff -urNp linux-3.0.8/arch/sparc/mm/fault_32.c linux-3.0.8/arch/sparc/m= m/fault_32.c +--- linux-3.0.8/arch/sparc/mm/fault_32.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/sparc/mm/fault_32.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -22,6 +22,9 @@ #include #include #include @@ -5212,7 +4101,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_32.c= linux-2.6.32.48/arch/sparc/m =20 #include #include -@@ -167,6 +170,267 @@ static unsigned long compute_si_addr(str +@@ -209,6 +212,268 @@ static unsigned long compute_si_addr(str return safe_compute_effective_address(regs, insn); } =20 @@ -5248,6 +4137,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_32.c= linux-2.6.32.48/arch/sparc/m +{ + int ret; + ++ INIT_LIST_HEAD(&vma->anon_vma_chain); + vma->vm_mm =3D current->mm; + vma->vm_start =3D addr; + vma->vm_end =3D addr + PAGE_SIZE; @@ -5477,10 +4367,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_32= .c linux-2.6.32.48/arch/sparc/m +} +#endif + - asmlinkage void do_sparc_fault(struct pt_regs *regs, int text_fault, in= t write, - unsigned long address) + static noinline void do_fault_siginfo(int code, int sig, struct pt_regs= *regs, + int text_fault) { -@@ -231,6 +495,24 @@ good_area: +@@ -281,6 +546,24 @@ good_area: if(!(vma->vm_flags & VM_WRITE)) goto bad_area; } else { @@ -5505,10 +4395,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_32= .c linux-2.6.32.48/arch/sparc/m /* Allow reads even for write-only mappings */ if(!(vma->vm_flags & (VM_READ | VM_EXEC))) goto bad_area; -diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_64.c linux-2.6.32.48/arch= /sparc/mm/fault_64.c ---- linux-2.6.32.48/arch/sparc/mm/fault_64.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/sparc/mm/fault_64.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -20,6 +20,9 @@ +diff -urNp linux-3.0.8/arch/sparc/mm/fault_64.c linux-3.0.8/arch/sparc/m= m/fault_64.c +--- linux-3.0.8/arch/sparc/mm/fault_64.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/sparc/mm/fault_64.c 2011-08-23 21:48:14.000000000 -= 0400 +@@ -21,6 +21,9 @@ #include #include #include @@ -5518,7 +4408,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_64.c= linux-2.6.32.48/arch/sparc/m =20 #include #include -@@ -78,7 +81,7 @@ static void bad_kernel_pc(struct pt_regs +@@ -74,7 +77,7 @@ static void __kprobes bad_kernel_pc(stru printk(KERN_CRIT "OOPS: Bogus kernel PC [%016lx] in fault handler\n", regs->tpc); printk(KERN_CRIT "OOPS: RPC [%016lx]\n", regs->u_regs[15]); @@ -5527,7 +4417,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_64.c= linux-2.6.32.48/arch/sparc/m printk(KERN_CRIT "OOPS: Fault was to vaddr[%lx]\n", vaddr); dump_stack(); unhandled_fault(regs->tpc, current, regs); -@@ -249,6 +252,456 @@ static void noinline bogus_32bit_fault_a +@@ -272,6 +275,457 @@ static void noinline __kprobes bogus_32b show_regs(regs); } =20 @@ -5563,6 +4453,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_64.c= linux-2.6.32.48/arch/sparc/m +{ + int ret; + ++ INIT_LIST_HEAD(&vma->anon_vma_chain); + vma->vm_mm =3D current->mm; + vma->vm_start =3D addr; + vma->vm_end =3D addr + PAGE_SIZE; @@ -5984,7 +4875,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_64.c= linux-2.6.32.48/arch/sparc/m asmlinkage void __kprobes do_sparc64_fault(struct pt_regs *regs) { struct mm_struct *mm =3D current->mm; -@@ -315,6 +768,29 @@ asmlinkage void __kprobes do_sparc64_fau +@@ -340,6 +794,29 @@ asmlinkage void __kprobes do_sparc64_fau if (!vma) goto bad_area; =20 @@ -6014,10 +4905,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/fault_64= .c linux-2.6.32.48/arch/sparc/m /* Pure DTLB misses do not tell us whether the fault causing * load/store/atomic was a write or not, it only says that there * was no match. So in such a case we (carefully) read the -diff -urNp linux-2.6.32.48/arch/sparc/mm/hugetlbpage.c linux-2.6.32.48/a= rch/sparc/mm/hugetlbpage.c ---- linux-2.6.32.48/arch/sparc/mm/hugetlbpage.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/sparc/mm/hugetlbpage.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -69,7 +69,7 @@ full_search: +diff -urNp linux-3.0.8/arch/sparc/mm/hugetlbpage.c linux-3.0.8/arch/spar= c/mm/hugetlbpage.c +--- linux-3.0.8/arch/sparc/mm/hugetlbpage.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/sparc/mm/hugetlbpage.c 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -68,7 +68,7 @@ full_search: } return -ENOMEM; } @@ -6026,7 +4917,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/hugetlbpag= e.c linux-2.6.32.48/arch/spar /* * Remember the place where we stopped the search: */ -@@ -108,7 +108,7 @@ hugetlb_get_unmapped_area_topdown(struct +@@ -107,7 +107,7 @@ hugetlb_get_unmapped_area_topdown(struct /* make sure it can fit in the remaining address space */ if (likely(addr > len)) { vma =3D find_vma(mm, addr-len); @@ -6035,7 +4926,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/hugetlbpag= e.c linux-2.6.32.48/arch/spar /* remember the address as a hint for next time */ return (mm->free_area_cache =3D addr-len); } -@@ -117,16 +117,17 @@ hugetlb_get_unmapped_area_topdown(struct +@@ -116,16 +116,17 @@ hugetlb_get_unmapped_area_topdown(struct if (unlikely(mm->mmap_base < len)) goto bottomup; =20 @@ -6055,7 +4946,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/hugetlbpag= e.c linux-2.6.32.48/arch/spar /* remember the address as a hint for next time */ return (mm->free_area_cache =3D addr); } -@@ -136,8 +137,8 @@ hugetlb_get_unmapped_area_topdown(struct +@@ -135,8 +136,8 @@ hugetlb_get_unmapped_area_topdown(struct mm->cached_hole_size =3D vma->vm_start - addr; =20 /* try just below the current vma->vm_start */ @@ -6066,7 +4957,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/hugetlbpag= e.c linux-2.6.32.48/arch/spar =20 bottomup: /* -@@ -183,8 +184,7 @@ hugetlb_get_unmapped_area(struct file *f +@@ -182,8 +183,7 @@ hugetlb_get_unmapped_area(struct file *f if (addr) { addr =3D ALIGN(addr, HPAGE_SIZE); vma =3D find_vma(mm, addr); @@ -6076,10 +4967,10 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/hugetlbp= age.c linux-2.6.32.48/arch/spar return addr; } if (mm->get_unmapped_area =3D=3D arch_get_unmapped_area) -diff -urNp linux-2.6.32.48/arch/sparc/mm/init_32.c linux-2.6.32.48/arch/= sparc/mm/init_32.c ---- linux-2.6.32.48/arch/sparc/mm/init_32.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/sparc/mm/init_32.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -317,6 +317,9 @@ extern void device_scan(void); +diff -urNp linux-3.0.8/arch/sparc/mm/init_32.c linux-3.0.8/arch/sparc/mm= /init_32.c +--- linux-3.0.8/arch/sparc/mm/init_32.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/sparc/mm/init_32.c 2011-08-23 21:47:55.000000000 -0= 400 +@@ -316,6 +316,9 @@ extern void device_scan(void); pgprot_t PAGE_SHARED __read_mostly; EXPORT_SYMBOL(PAGE_SHARED); =20 @@ -6089,7 +4980,7 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/init_32.c = linux-2.6.32.48/arch/sparc/mm void __init paging_init(void) { switch(sparc_cpu_model) { -@@ -345,17 +348,17 @@ void __init paging_init(void) +@@ -344,17 +347,17 @@ void __init paging_init(void) =20 /* Initialize the protection map with non-constant, MMU dependent valu= es. */ protection_map[0] =3D PAGE_NONE; @@ -6113,9 +5004,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/init_32.c = linux-2.6.32.48/arch/sparc/mm protection_map[12] =3D PAGE_READONLY; protection_map[13] =3D PAGE_READONLY; protection_map[14] =3D PAGE_SHARED; -diff -urNp linux-2.6.32.48/arch/sparc/mm/Makefile linux-2.6.32.48/arch/s= parc/mm/Makefile ---- linux-2.6.32.48/arch/sparc/mm/Makefile 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/sparc/mm/Makefile 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-3.0.8/arch/sparc/mm/Makefile linux-3.0.8/arch/sparc/mm/= Makefile +--- linux-3.0.8/arch/sparc/mm/Makefile 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/sparc/mm/Makefile 2011-08-23 21:47:55.000000000 -04= 00 @@ -2,7 +2,7 @@ # =20 @@ -6125,9 +5016,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/Makefile l= inux-2.6.32.48/arch/sparc/mm/ =20 obj-$(CONFIG_SPARC64) +=3D ultra.o tlb.o tsb.o obj-y +=3D fault_$(BITS).o -diff -urNp linux-2.6.32.48/arch/sparc/mm/srmmu.c linux-2.6.32.48/arch/sp= arc/mm/srmmu.c ---- linux-2.6.32.48/arch/sparc/mm/srmmu.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/sparc/mm/srmmu.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-3.0.8/arch/sparc/mm/srmmu.c linux-3.0.8/arch/sparc/mm/s= rmmu.c +--- linux-3.0.8/arch/sparc/mm/srmmu.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/sparc/mm/srmmu.c 2011-08-23 21:47:55.000000000 -040= 0 @@ -2200,6 +2200,13 @@ void __init ld_mmu_srmmu(void) PAGE_SHARED =3D pgprot_val(SRMMU_PAGE_SHARED); BTFIXUPSET_INT(page_copy, pgprot_val(SRMMU_PAGE_COPY)); @@ -6142,9 +5033,9 @@ diff -urNp linux-2.6.32.48/arch/sparc/mm/srmmu.c li= nux-2.6.32.48/arch/sparc/mm/s BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL)); page_kernel =3D pgprot_val(SRMMU_PAGE_KERNEL); =20 -diff -urNp linux-2.6.32.48/arch/um/include/asm/kmap_types.h linux-2.6.32= .48/arch/um/include/asm/kmap_types.h ---- linux-2.6.32.48/arch/um/include/asm/kmap_types.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/um/include/asm/kmap_types.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-3.0.8/arch/um/include/asm/kmap_types.h linux-3.0.8/arch= /um/include/asm/kmap_types.h +--- linux-3.0.8/arch/um/include/asm/kmap_types.h 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/um/include/asm/kmap_types.h 2011-08-23 21:47:55.000= 000000 -0400 @@ -23,6 +23,7 @@ enum km_type { KM_IRQ1, KM_SOFTIRQ0, @@ -6153,9 +5044,9 @@ diff -urNp linux-2.6.32.48/arch/um/include/asm/kmap= _types.h linux-2.6.32.48/arch KM_TYPE_NR }; =20 -diff -urNp linux-2.6.32.48/arch/um/include/asm/page.h linux-2.6.32.48/ar= ch/um/include/asm/page.h ---- linux-2.6.32.48/arch/um/include/asm/page.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/um/include/asm/page.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/um/include/asm/page.h linux-3.0.8/arch/um/in= clude/asm/page.h +--- linux-3.0.8/arch/um/include/asm/page.h 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/um/include/asm/page.h 2011-08-23 21:47:55.000000000= -0400 @@ -14,6 +14,9 @@ #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) @@ -6166,10 +5057,10 @@ diff -urNp linux-2.6.32.48/arch/um/include/asm/pa= ge.h linux-2.6.32.48/arch/um/in #ifndef __ASSEMBLY__ =20 struct page; -diff -urNp linux-2.6.32.48/arch/um/kernel/process.c linux-2.6.32.48/arch= /um/kernel/process.c ---- linux-2.6.32.48/arch/um/kernel/process.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/um/kernel/process.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -393,22 +393,6 @@ int singlestepping(void * t) +diff -urNp linux-3.0.8/arch/um/kernel/process.c linux-3.0.8/arch/um/kern= el/process.c +--- linux-3.0.8/arch/um/kernel/process.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/um/kernel/process.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -404,22 +404,6 @@ int singlestepping(void * t) return 2; } =20 @@ -6192,9 +5083,35 @@ diff -urNp linux-2.6.32.48/arch/um/kernel/process.= c linux-2.6.32.48/arch/um/kern unsigned long get_wchan(struct task_struct *p) { unsigned long stack_page, sp, ip; -diff -urNp linux-2.6.32.48/arch/um/sys-i386/syscalls.c linux-2.6.32.48/a= rch/um/sys-i386/syscalls.c ---- linux-2.6.32.48/arch/um/sys-i386/syscalls.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/um/sys-i386/syscalls.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/um/Makefile linux-3.0.8/arch/um/Makefile +--- linux-3.0.8/arch/um/Makefile 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/um/Makefile 2011-10-20 04:46:01.000000000 -0400 +@@ -49,6 +49,10 @@ USER_CFLAGS =3D $(patsubst $(KERNEL_DEFINE + $(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \ + $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=3D64 +=20 ++ifdef CONSTIFY_PLUGIN ++USER_CFLAGS +=3D $(CONSTIFY_PLUGIN) -fplugin-arg-constify_plugin-no-con= stify ++endif ++ + include $(srctree)/$(ARCH_DIR)/Makefile-$(SUBARCH) +=20 + #This will adjust *FLAGS accordingly to the platform. +diff -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 +--- linux-3.0.8/arch/um/sys-i386/shared/sysdep/system.h 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/arch/um/sys-i386/shared/sysdep/system.h 2011-10-20 04:46= :01.000000000 -0400 +@@ -17,7 +17,7 @@ + # define AT_VECTOR_SIZE_ARCH 1 + #endif +=20 +-extern unsigned long arch_align_stack(unsigned long sp); ++#define arch_align_stack(x) ((x) & ~0xfUL) +=20 + void default_idle(void); +=20 +diff -urNp linux-3.0.8/arch/um/sys-i386/syscalls.c linux-3.0.8/arch/um/s= ys-i386/syscalls.c +--- linux-3.0.8/arch/um/sys-i386/syscalls.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/um/sys-i386/syscalls.c 2011-08-23 21:47:55.00000000= 0 -0400 @@ -11,6 +11,21 @@ #include "asm/uaccess.h" #include "asm/unistd.h" @@ -6215,11 +5132,23 @@ diff -urNp linux-2.6.32.48/arch/um/sys-i386/sysca= lls.c linux-2.6.32.48/arch/um/s +} + /* - * Perform the select(nd, in, out, ex, tv) and mmap() system - * calls. Linux/i386 didn't use to be able to handle more than -diff -urNp linux-2.6.32.48/arch/x86/boot/bitops.h linux-2.6.32.48/arch/x= 86/boot/bitops.h ---- linux-2.6.32.48/arch/x86/boot/bitops.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/boot/bitops.h 2011-11-12 12:46:42.000000000= -0500 + * The prototype on i386 is: + * +diff -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 +--- linux-3.0.8/arch/um/sys-x86_64/shared/sysdep/system.h 2011-07-21 22:= 17:23.000000000 -0400 ++++ linux-3.0.8/arch/um/sys-x86_64/shared/sysdep/system.h 2011-10-20 04:= 46:01.000000000 -0400 +@@ -17,7 +17,7 @@ + # define AT_VECTOR_SIZE_ARCH 1 + #endif +=20 +-extern unsigned long arch_align_stack(unsigned long sp); ++#define arch_align_stack(x) ((x) & ~0xfUL) +=20 + void default_idle(void); +=20 +diff -urNp linux-3.0.8/arch/x86/boot/bitops.h linux-3.0.8/arch/x86/boot/= bitops.h +--- linux-3.0.8/arch/x86/boot/bitops.h 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/boot/bitops.h 2011-08-23 21:47:55.000000000 -04= 00 @@ -26,7 +26,7 @@ static inline int variable_test_bit(int=20 u8 v; const u32 *p =3D (const u32 *)addr; @@ -6238,10 +5167,10 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/bitops.h= linux-2.6.32.48/arch/x86/boot/ } =20 #endif /* BOOT_BITOPS_H */ -diff -urNp linux-2.6.32.48/arch/x86/boot/boot.h linux-2.6.32.48/arch/x86= /boot/boot.h ---- linux-2.6.32.48/arch/x86/boot/boot.h 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/arch/x86/boot/boot.h 2011-11-12 12:46:42.000000000 -= 0500 -@@ -82,7 +82,7 @@ static inline void io_delay(void) +diff -urNp linux-3.0.8/arch/x86/boot/boot.h linux-3.0.8/arch/x86/boot/bo= ot.h +--- linux-3.0.8/arch/x86/boot/boot.h 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/boot/boot.h 2011-08-23 21:47:55.000000000 -0400 +@@ -85,7 +85,7 @@ static inline void io_delay(void) static inline u16 ds(void) { u16 seg; @@ -6250,7 +5179,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/boot.h lin= ux-2.6.32.48/arch/x86/boot/bo return seg; } =20 -@@ -178,7 +178,7 @@ static inline void wrgs32(u32 v, addr_t=20 +@@ -181,7 +181,7 @@ static inline void wrgs32(u32 v, addr_t=20 static inline int memcmp(const void *s1, const void *s2, size_t len) { u8 diff; @@ -6259,9 +5188,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/boot.h lin= ux-2.6.32.48/arch/x86/boot/bo : "=3Dqm" (diff), "+D" (s1), "+S" (s2), "+c" (len)); return diff; } -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/head_32.S linux-2.6.= 32.48/arch/x86/boot/compressed/head_32.S ---- linux-2.6.32.48/arch/x86/boot/compressed/head_32.S 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/head_32.S 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/boot/compressed/head_32.S linux-3.0.8/ar= ch/x86/boot/compressed/head_32.S +--- linux-3.0.8/arch/x86/boot/compressed/head_32.S 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/x86/boot/compressed/head_32.S 2011-08-23 21:47:55.0= 00000000 -0400 @@ -76,7 +76,7 @@ ENTRY(startup_32) notl %eax andl %eax, %ebx @@ -6271,7 +5200,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /head_32.S linux-2.6.32.48/ar #endif =20 /* Target address to relocate to for decompression */ -@@ -149,7 +149,7 @@ relocated: +@@ -162,7 +162,7 @@ relocated: * and where it was actually loaded. */ movl %ebp, %ebx @@ -6280,7 +5209,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /head_32.S linux-2.6.32.48/ar jz 2f /* Nothing to be done if loaded at compiled addr. */ /* * Process relocations. -@@ -157,8 +157,7 @@ relocated: +@@ -170,8 +170,7 @@ relocated: =20 1: subl $4, %edi movl (%edi), %ecx @@ -6290,9 +5219,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /head_32.S linux-2.6.32.48/ar addl %ebx, -__PAGE_OFFSET(%ebx, %ecx) jmp 1b 2: -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/head_64.S linux-2.6.= 32.48/arch/x86/boot/compressed/head_64.S ---- linux-2.6.32.48/arch/x86/boot/compressed/head_64.S 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/head_64.S 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/boot/compressed/head_64.S linux-3.0.8/ar= ch/x86/boot/compressed/head_64.S +--- linux-3.0.8/arch/x86/boot/compressed/head_64.S 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/x86/boot/compressed/head_64.S 2011-08-23 21:47:55.0= 00000000 -0400 @@ -91,7 +91,7 @@ ENTRY(startup_32) notl %eax andl %eax, %ebx @@ -6302,16 +5231,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compresse= d/head_64.S linux-2.6.32.48/ar #endif =20 /* Target address to relocate to for decompression */ -@@ -183,7 +183,7 @@ no_longmode: - hlt - jmp 1b -=20 --#include "../../kernel/verify_cpu_64.S" -+#include "../../kernel/verify_cpu.S" -=20 - /* - * Be careful here startup_64 needs to be at a predictable -@@ -234,7 +234,7 @@ ENTRY(startup_64) +@@ -233,7 +233,7 @@ ENTRY(startup_64) notq %rax andq %rax, %rbp #else @@ -6320,10 +5240,10 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compress= ed/head_64.S linux-2.6.32.48/ar #endif =20 /* Target address to relocate to for decompression */ -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/Makefile linux-2.6.3= 2.48/arch/x86/boot/compressed/Makefile ---- linux-2.6.32.48/arch/x86/boot/compressed/Makefile 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/Makefile 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -13,6 +13,9 @@ cflags-$(CONFIG_X86_64) :=3D -mcmodel=3Dsmal +diff -urNp linux-3.0.8/arch/x86/boot/compressed/Makefile linux-3.0.8/arc= h/x86/boot/compressed/Makefile +--- linux-3.0.8/arch/x86/boot/compressed/Makefile 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/boot/compressed/Makefile 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -14,6 +14,9 @@ cflags-$(CONFIG_X86_64) :=3D -mcmodel=3Dsmal KBUILD_CFLAGS +=3D $(cflags-y) KBUILD_CFLAGS +=3D $(call cc-option,-ffreestanding) KBUILD_CFLAGS +=3D $(call cc-option,-fno-stack-protector) @@ -6333,10 +5253,10 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compress= ed/Makefile linux-2.6.32.48/arc =20 KBUILD_AFLAGS :=3D $(KBUILD_CFLAGS) -D__ASSEMBLY__ GCOV_PROFILE :=3D n -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/misc.c linux-2.6.32.= 48/arch/x86/boot/compressed/misc.c ---- linux-2.6.32.48/arch/x86/boot/compressed/misc.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/misc.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -288,7 +288,7 @@ static void parse_elf(void *output) +diff -urNp linux-3.0.8/arch/x86/boot/compressed/misc.c linux-3.0.8/arch/= x86/boot/compressed/misc.c +--- linux-3.0.8/arch/x86/boot/compressed/misc.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/boot/compressed/misc.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -310,7 +310,7 @@ static void parse_elf(void *output) case PT_LOAD: #ifdef CONFIG_RELOCATABLE dest =3D output; @@ -6345,7 +5265,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /misc.c linux-2.6.32.48/arch/ #else dest =3D (void *)(phdr->p_paddr); #endif -@@ -335,7 +335,7 @@ asmlinkage void decompress_kernel(void * +@@ -363,7 +363,7 @@ asmlinkage void decompress_kernel(void * error("Destination address too large"); #endif #ifndef CONFIG_RELOCATABLE @@ -6354,26 +5274,14 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compress= ed/misc.c linux-2.6.32.48/arch/ error("Wrong destination address"); #endif =20 -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/mkpiggy.c linux-2.6.= 32.48/arch/x86/boot/compressed/mkpiggy.c ---- linux-2.6.32.48/arch/x86/boot/compressed/mkpiggy.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/mkpiggy.c 2011-11-12 12:46:= 42.000000000 -0500 -@@ -74,7 +74,7 @@ int main(int argc, char *argv[]) +diff -urNp linux-3.0.8/arch/x86/boot/compressed/relocs.c linux-3.0.8/arc= h/x86/boot/compressed/relocs.c +--- linux-3.0.8/arch/x86/boot/compressed/relocs.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/boot/compressed/relocs.c 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -13,8 +13,11 @@ =20 - offs =3D (olen > ilen) ? olen - ilen : 0; - offs +=3D olen >> 12; /* Add 8 bytes for each 32K block */ -- offs +=3D 32*1024 + 18; /* Add 32K + 18 bytes slack */ -+ offs +=3D 64*1024; /* Add 64K bytes slack */ - offs =3D (offs+4095) & ~4095; /* Round to a 4K boundary */ + static void die(char *fmt, ...); =20 - printf(".section \".rodata.compressed\",\"a\",@progbits\n"); -diff -urNp linux-2.6.32.48/arch/x86/boot/compressed/relocs.c linux-2.6.3= 2.48/arch/x86/boot/compressed/relocs.c ---- linux-2.6.32.48/arch/x86/boot/compressed/relocs.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/compressed/relocs.c 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -10,8 +10,11 @@ - #define USE_BSD - #include -=20 -+#include "../../../../include/linux/autoconf.h" ++#include "../../../../include/generated/autoconf.h" + #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) static Elf32_Ehdr ehdr; @@ -6381,16 +5289,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compresse= d/relocs.c linux-2.6.32.48/arc static unsigned long reloc_count, reloc_idx; static unsigned long *relocs; =20 -@@ -37,7 +40,7 @@ static const char* safe_abs_relocs[] =3D { -=20 - static int is_safe_abs_reloc(const char* sym_name) - { -- int i; -+ unsigned int i; -=20 - for (i =3D 0; i < ARRAY_SIZE(safe_abs_relocs); i++) { - if (!strcmp(sym_name, safe_abs_relocs[i])) -@@ -245,9 +248,39 @@ static void read_ehdr(FILE *fp) +@@ -270,9 +273,39 @@ static void read_ehdr(FILE *fp) } } =20 @@ -6431,7 +5330,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /relocs.c linux-2.6.32.48/arc Elf32_Shdr shdr; =20 secs =3D calloc(ehdr.e_shnum, sizeof(struct section)); -@@ -282,7 +315,7 @@ static void read_shdrs(FILE *fp) +@@ -307,7 +340,7 @@ static void read_shdrs(FILE *fp) =20 static void read_strtabs(FILE *fp) { @@ -6440,7 +5339,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /relocs.c linux-2.6.32.48/arc for (i =3D 0; i < ehdr.e_shnum; i++) { struct section *sec =3D &secs[i]; if (sec->shdr.sh_type !=3D SHT_STRTAB) { -@@ -307,7 +340,7 @@ static void read_strtabs(FILE *fp) +@@ -332,7 +365,7 @@ static void read_strtabs(FILE *fp) =20 static void read_symtabs(FILE *fp) { @@ -6449,7 +5348,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /relocs.c linux-2.6.32.48/arc for (i =3D 0; i < ehdr.e_shnum; i++) { struct section *sec =3D &secs[i]; if (sec->shdr.sh_type !=3D SHT_SYMTAB) { -@@ -340,7 +373,9 @@ static void read_symtabs(FILE *fp) +@@ -365,7 +398,9 @@ static void read_symtabs(FILE *fp) =20 static void read_relocs(FILE *fp) { @@ -6460,7 +5359,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /relocs.c linux-2.6.32.48/arc for (i =3D 0; i < ehdr.e_shnum; i++) { struct section *sec =3D &secs[i]; if (sec->shdr.sh_type !=3D SHT_REL) { -@@ -360,9 +395,18 @@ static void read_relocs(FILE *fp) +@@ -385,9 +420,18 @@ static void read_relocs(FILE *fp) die("Cannot read symbol table: %s\n", strerror(errno)); } @@ -6480,7 +5379,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /relocs.c linux-2.6.32.48/arc rel->r_info =3D elf32_to_cpu(rel->r_info); } } -@@ -371,14 +415,14 @@ static void read_relocs(FILE *fp) +@@ -396,14 +440,14 @@ static void read_relocs(FILE *fp) =20 static void print_absolute_symbols(void) { @@ -6497,7 +5396,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /relocs.c linux-2.6.32.48/arc =20 if (sec->shdr.sh_type !=3D SHT_SYMTAB) { continue; -@@ -406,14 +450,14 @@ static void print_absolute_symbols(void) +@@ -431,14 +475,14 @@ static void print_absolute_symbols(void) =20 static void print_absolute_relocs(void) { @@ -6514,7 +5413,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /relocs.c linux-2.6.32.48/arc if (sec->shdr.sh_type !=3D SHT_REL) { continue; } -@@ -474,13 +518,13 @@ static void print_absolute_relocs(void) +@@ -499,13 +543,13 @@ static void print_absolute_relocs(void) =20 static void walk_relocs(void (*visit)(Elf32_Rel *rel, Elf32_Sym *sym)) { @@ -6530,12 +5429,12 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compress= ed/relocs.c linux-2.6.32.48/arc struct section *sec =3D &secs[i]; =20 if (sec->shdr.sh_type !=3D SHT_REL) { -@@ -504,6 +548,21 @@ static void walk_relocs(void (*visit)(El - if (sym->st_shndx =3D=3D SHN_ABS) { +@@ -530,6 +574,22 @@ static void walk_relocs(void (*visit)(El + !is_rel_reloc(sym_name(sym_strtab, sym))) { continue; } + /* Don't relocate actual per-cpu variables, they are absolute indice= s, not addresses */ -+ if (!strcmp(sec_name(sym->st_shndx), ".data.percpu") && strcmp(sym_n= ame(sym_strtab, sym), "__per_cpu_load")) ++ if (!strcmp(sec_name(sym->st_shndx), ".data..percpu") && strcmp(sym_= name(sym_strtab, sym), "__per_cpu_load")) + continue; + +#if defined(CONFIG_PAX_KERNEXEC) && defined(CONFIG_X86_32) @@ -6549,10 +5448,11 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compress= ed/relocs.c linux-2.6.32.48/arc + if (!strcmp(sec_name(sym->st_shndx), ".text") && strcmp(sym_name(sym= _strtab, sym), "__LOAD_PHYSICAL_ADDR")) + continue; +#endif - if (r_type =3D=3D R_386_NONE || r_type =3D=3D R_386_PC32) { - /* - * NONE can be ignored and and PC relative -@@ -541,7 +600,7 @@ static int cmp_relocs(const void *va, co ++ + switch (r_type) { + case R_386_NONE: + case R_386_PC32: +@@ -571,7 +631,7 @@ static int cmp_relocs(const void *va, co =20 static void emit_relocs(int as_text) { @@ -6561,7 +5461,7 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /relocs.c linux-2.6.32.48/arc /* Count how many relocations I have and allocate space for them. */ reloc_count =3D 0; walk_relocs(count_reloc); -@@ -634,6 +693,7 @@ int main(int argc, char **argv) +@@ -665,6 +725,7 @@ int main(int argc, char **argv) fname, strerror(errno)); } read_ehdr(fp); @@ -6569,9 +5469,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/compressed= /relocs.c linux-2.6.32.48/arc read_shdrs(fp); read_strtabs(fp); read_symtabs(fp); -diff -urNp linux-2.6.32.48/arch/x86/boot/cpucheck.c linux-2.6.32.48/arch= /x86/boot/cpucheck.c ---- linux-2.6.32.48/arch/x86/boot/cpucheck.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/boot/cpucheck.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-3.0.8/arch/x86/boot/cpucheck.c linux-3.0.8/arch/x86/boo= t/cpucheck.c +--- linux-3.0.8/arch/x86/boot/cpucheck.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/boot/cpucheck.c 2011-08-23 21:47:55.000000000 -= 0400 @@ -74,7 +74,7 @@ static int has_fpu(void) u16 fcw =3D -1, fsw =3D -1; u32 cr0; @@ -6667,9 +5567,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/cpucheck.c= linux-2.6.32.48/arch/x86/boo =20 err =3D check_flags(); } -diff -urNp linux-2.6.32.48/arch/x86/boot/header.S linux-2.6.32.48/arch/x= 86/boot/header.S ---- linux-2.6.32.48/arch/x86/boot/header.S 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/boot/header.S 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-3.0.8/arch/x86/boot/header.S linux-3.0.8/arch/x86/boot/= header.S +--- linux-3.0.8/arch/x86/boot/header.S 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/boot/header.S 2011-08-23 21:47:55.000000000 -04= 00 @@ -224,7 +224,7 @@ setup_data: .quad 0 # 64-bit physical # single linked list of # struct setup_data @@ -6679,9 +5579,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/header.S l= inux-2.6.32.48/arch/x86/boot/ =20 #define ZO_INIT_SIZE (ZO__end - ZO_startup_32 + ZO_z_extract_offset) #define VO_INIT_SIZE (VO__end - VO__text) -diff -urNp linux-2.6.32.48/arch/x86/boot/Makefile linux-2.6.32.48/arch/x= 86/boot/Makefile ---- linux-2.6.32.48/arch/x86/boot/Makefile 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/boot/Makefile 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-3.0.8/arch/x86/boot/Makefile linux-3.0.8/arch/x86/boot/= Makefile +--- linux-3.0.8/arch/x86/boot/Makefile 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/boot/Makefile 2011-08-23 21:47:55.000000000 -04= 00 @@ -69,6 +69,9 @@ KBUILD_CFLAGS :=3D $(LINUXINCLUDE) -g -Os=20 $(call cc-option, -fno-stack-protector) \ $(call cc-option, -mpreferred-stack-boundary=3D2) @@ -6692,9 +5592,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/Makefile l= inux-2.6.32.48/arch/x86/boot/ KBUILD_AFLAGS :=3D $(KBUILD_CFLAGS) -D__ASSEMBLY__ GCOV_PROFILE :=3D n =20 -diff -urNp linux-2.6.32.48/arch/x86/boot/memory.c linux-2.6.32.48/arch/x= 86/boot/memory.c ---- linux-2.6.32.48/arch/x86/boot/memory.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/boot/memory.c 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-3.0.8/arch/x86/boot/memory.c linux-3.0.8/arch/x86/boot/= memory.c +--- linux-3.0.8/arch/x86/boot/memory.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/boot/memory.c 2011-08-23 21:47:55.000000000 -04= 00 @@ -19,7 +19,7 @@ =20 static int detect_memory_e820(void) @@ -6704,10 +5604,10 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/memory.c= linux-2.6.32.48/arch/x86/boot/ struct biosregs ireg, oreg; struct e820entry *desc =3D boot_params.e820_map; static struct e820entry buf; /* static so it is zeroed */ -diff -urNp linux-2.6.32.48/arch/x86/boot/video.c linux-2.6.32.48/arch/x8= 6/boot/video.c ---- linux-2.6.32.48/arch/x86/boot/video.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/boot/video.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -90,7 +90,7 @@ static void store_mode_params(void) +diff -urNp linux-3.0.8/arch/x86/boot/video.c linux-3.0.8/arch/x86/boot/v= ideo.c +--- linux-3.0.8/arch/x86/boot/video.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/boot/video.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -96,7 +96,7 @@ static void store_mode_params(void) static unsigned int get_entry(void) { char entry_buf[4]; @@ -6716,9 +5616,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/video.c li= nux-2.6.32.48/arch/x86/boot/v int key; unsigned int v; =20 -diff -urNp linux-2.6.32.48/arch/x86/boot/video-vesa.c linux-2.6.32.48/ar= ch/x86/boot/video-vesa.c ---- linux-2.6.32.48/arch/x86/boot/video-vesa.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/boot/video-vesa.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/x86/boot/video-vesa.c linux-3.0.8/arch/x86/b= oot/video-vesa.c +--- linux-3.0.8/arch/x86/boot/video-vesa.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/boot/video-vesa.c 2011-08-23 21:47:55.000000000= -0400 @@ -200,6 +200,7 @@ static void vesa_store_pm_info(void) =20 boot_params.screen_info.vesapm_seg =3D oreg.es; @@ -6727,9 +5627,9 @@ diff -urNp linux-2.6.32.48/arch/x86/boot/video-vesa= .c linux-2.6.32.48/arch/x86/b } =20 /* -diff -urNp linux-2.6.32.48/arch/x86/crypto/aes-x86_64-asm_64.S linux-2.6= .32.48/arch/x86/crypto/aes-x86_64-asm_64.S ---- linux-2.6.32.48/arch/x86/crypto/aes-x86_64-asm_64.S 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/crypto/aes-x86_64-asm_64.S 2011-11-12 12:46= :42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/crypto/aes-x86_64-asm_64.S linux-3.0.8/a= rch/x86/crypto/aes-x86_64-asm_64.S +--- linux-3.0.8/arch/x86/crypto/aes-x86_64-asm_64.S 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/arch/x86/crypto/aes-x86_64-asm_64.S 2011-10-06 04:17:55.= 000000000 -0400 @@ -8,6 +8,8 @@ * including this sentence is retained in full. */ @@ -6748,9 +5648,9 @@ diff -urNp linux-2.6.32.48/arch/x86/crypto/aes-x86_= 64-asm_64.S linux-2.6.32.48/a #define epilogue(r1,r2,r3,r4,r5,r6,r7,r8,r9) \ movq r1,r2; \ movq r3,r4; \ -diff -urNp linux-2.6.32.48/arch/x86/crypto/salsa20-x86_64-asm_64.S linux= -2.6.32.48/arch/x86/crypto/salsa20-x86_64-asm_64.S ---- linux-2.6.32.48/arch/x86/crypto/salsa20-x86_64-asm_64.S 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-11-12 1= 2:46:42.000000000 -0500 +diff -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 +--- linux-3.0.8/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-10-06 04:17= :55.000000000 -0400 @@ -1,3 +1,5 @@ +#include + @@ -6779,9 +5679,9 @@ diff -urNp linux-2.6.32.48/arch/x86/crypto/salsa20-= x86_64-asm_64.S linux-2.6.32. mov %rsi,%rdx + pax_force_retaddr ret -diff -urNp linux-2.6.32.48/arch/x86/crypto/twofish-x86_64-asm_64.S linux= -2.6.32.48/arch/x86/crypto/twofish-x86_64-asm_64.S ---- linux-2.6.32.48/arch/x86/crypto/twofish-x86_64-asm_64.S 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-11-12 1= 2:46:42.000000000 -0500 +diff -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 +--- linux-3.0.8/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-10-06 04:17= :55.000000000 -0400 @@ -21,6 +21,7 @@ .text =20 @@ -6804,10 +5704,10 @@ diff -urNp linux-2.6.32.48/arch/x86/crypto/twofis= h-x86_64-asm_64.S linux-2.6.32. movq $1,%rax + pax_force_retaddr ret -diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32_aout.c linux-2.6.32.48/arc= h/x86/ia32/ia32_aout.c ---- linux-2.6.32.48/arch/x86/ia32/ia32_aout.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/ia32/ia32_aout.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -169,6 +169,8 @@ static int aout_core_dump(long signr, st +diff -urNp linux-3.0.8/arch/x86/ia32/ia32_aout.c linux-3.0.8/arch/x86/ia= 32/ia32_aout.c +--- linux-3.0.8/arch/x86/ia32/ia32_aout.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/ia32/ia32_aout.c 2011-08-23 21:48:14.000000000 = -0400 +@@ -162,6 +162,8 @@ static int aout_core_dump(long signr, st unsigned long dump_start, dump_size; struct user32 dump; =20 @@ -6816,31 +5716,20 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32_aou= t.c linux-2.6.32.48/arch/x86/ia fs =3D get_fs(); set_fs(KERNEL_DS); has_dumped =3D 1; -@@ -218,12 +220,6 @@ static int aout_core_dump(long signr, st - dump_size =3D dump.u_ssize << PAGE_SHIFT; - DUMP_WRITE(dump_start, dump_size); - } -- /* -- * Finally dump the task struct. Not be used by gdb, but -- * could be useful -- */ -- set_fs(KERNEL_DS); -- DUMP_WRITE(current, sizeof(*current)); - end_coredump: - set_fs(fs); - return has_dumped; -diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.S linux-2.6.32.48/arc= h/x86/ia32/ia32entry.S ---- linux-2.6.32.48/arch/x86/ia32/ia32entry.S 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/ia32/ia32entry.S 2011-11-12 12:46:42.000000= 000 -0500 -@@ -13,6 +13,7 @@ +diff -urNp linux-3.0.8/arch/x86/ia32/ia32entry.S linux-3.0.8/arch/x86/ia= 32/ia32entry.S +--- linux-3.0.8/arch/x86/ia32/ia32entry.S 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/ia32/ia32entry.S 2011-10-11 10:44:33.000000000 = -0400 +@@ -13,7 +13,9 @@ #include =09 #include #include +#include #include ++#include =20 /* Avoid __ASSEMBLER__'ifying just for this. */ -@@ -93,6 +94,29 @@ ENTRY(native_irq_enable_sysexit) + #include +@@ -95,6 +97,29 @@ ENTRY(native_irq_enable_sysexit) ENDPROC(native_irq_enable_sysexit) #endif =20 @@ -6861,16 +5750,16 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entr= y.S linux-2.6.32.48/arch/x86/ia +#endif + .endm + -+.macro pax_erase_kstack ++ .macro pax_erase_kstack +#ifdef CONFIG_PAX_MEMORY_STACKLEAK + call pax_erase_kstack +#endif -+.endm ++ .endm + /* * 32bit SYSENTER instruction entry. * -@@ -119,7 +143,7 @@ ENTRY(ia32_sysenter_target) +@@ -121,7 +146,7 @@ ENTRY(ia32_sysenter_target) CFI_REGISTER rsp,rbp SWAPGS_UNSAFE_STACK movq PER_CPU_VAR(kernel_stack), %rsp @@ -6879,17 +5768,17 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entr= y.S linux-2.6.32.48/arch/x86/ia /* * No need to follow this irqs on/off section: the syscall * disabled irqs, here we enable it straight after entry: -@@ -135,7 +159,8 @@ ENTRY(ia32_sysenter_target) - pushfq - CFI_ADJUST_CFA_OFFSET 8 +@@ -134,7 +159,8 @@ ENTRY(ia32_sysenter_target) + CFI_REL_OFFSET rsp,0 + pushfq_cfi /*CFI_REL_OFFSET rflags,0*/ - movl 8*3-THREAD_SIZE+TI_sysenter_return(%rsp), %r10d + GET_THREAD_INFO(%r10) + movl TI_sysenter_return(%r10), %r10d CFI_REGISTER rip,r10 - pushq $__USER32_CS - CFI_ADJUST_CFA_OFFSET 8 -@@ -150,6 +175,12 @@ ENTRY(ia32_sysenter_target) + pushq_cfi $__USER32_CS + /*CFI_REL_OFFSET cs,0*/ +@@ -146,6 +172,12 @@ ENTRY(ia32_sysenter_target) SAVE_ARGS 0,0,1 /* no need to do an access_ok check here because rbp has been 32bit zero extended */=20 @@ -6902,7 +5791,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.= S linux-2.6.32.48/arch/x86/ia 1: movl (%rbp),%ebp .section __ex_table,"a" .quad 1b,ia32_badarg -@@ -172,6 +203,8 @@ sysenter_dispatch: +@@ -168,6 +200,8 @@ sysenter_dispatch: testl $_TIF_ALLWORK_MASK,TI_flags(%r10) jnz sysexit_audit sysexit_from_sys_call: @@ -6911,7 +5800,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.= S linux-2.6.32.48/arch/x86/ia andl $~TS_COMPAT,TI_status(%r10) /* clear IF, that popfq doesn't enable interrupts early */ andl $~0x200,EFLAGS-R11(%rsp)=20 -@@ -200,6 +233,9 @@ sysexit_from_sys_call: +@@ -194,6 +228,9 @@ sysexit_from_sys_call: movl %eax,%esi /* 2nd arg: syscall number */ movl $AUDIT_ARCH_I386,%edi /* 1st arg: audit arch */ call audit_syscall_entry @@ -6921,7 +5810,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.= S linux-2.6.32.48/arch/x86/ia movl RAX-ARGOFFSET(%rsp),%eax /* reload syscall number */ cmpq $(IA32_NR_syscalls-1),%rax ja ia32_badsys -@@ -252,6 +288,9 @@ sysenter_tracesys: +@@ -246,6 +283,9 @@ sysenter_tracesys: movq $-ENOSYS,RAX(%rsp)/* ptrace can change this for a bad syscall */ movq %rsp,%rdi /* &pt_regs -> arg1 */ call syscall_trace_enter @@ -6931,7 +5820,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.= S linux-2.6.32.48/arch/x86/ia LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace change= d it */ RESTORE_REST cmpq $(IA32_NR_syscalls-1),%rax -@@ -283,19 +322,24 @@ ENDPROC(ia32_sysenter_target) +@@ -277,19 +317,24 @@ ENDPROC(ia32_sysenter_target) ENTRY(ia32_cstar_target) CFI_STARTPROC32 simple CFI_SIGNAL_FRAME @@ -6958,7 +5847,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.= S linux-2.6.32.48/arch/x86/ia movl %eax,%eax /* zero extension */ movq %rax,ORIG_RAX-ARGOFFSET(%rsp) movq %rcx,RIP-ARGOFFSET(%rsp) -@@ -311,6 +355,12 @@ ENTRY(ia32_cstar_target) +@@ -305,6 +350,12 @@ ENTRY(ia32_cstar_target) /* no need to do an access_ok check here because r8 has been 32bit zero extended */=20 /* hardware stack frame is complete now */=09 @@ -6971,7 +5860,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.= S linux-2.6.32.48/arch/x86/ia 1: movl (%r8),%r9d .section __ex_table,"a" .quad 1b,ia32_badarg -@@ -333,6 +383,8 @@ cstar_dispatch: +@@ -327,6 +378,8 @@ cstar_dispatch: testl $_TIF_ALLWORK_MASK,TI_flags(%r10) jnz sysretl_audit sysretl_from_sys_call: @@ -6980,7 +5869,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.= S linux-2.6.32.48/arch/x86/ia andl $~TS_COMPAT,TI_status(%r10) RESTORE_ARGS 1,-ARG_SKIP,1,1,1 movl RIP-ARGOFFSET(%rsp),%ecx -@@ -370,6 +422,9 @@ cstar_tracesys: +@@ -364,6 +417,9 @@ cstar_tracesys: movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */ movq %rsp,%rdi /* &pt_regs -> arg1 */ call syscall_trace_enter @@ -6990,7 +5879,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.= S linux-2.6.32.48/arch/x86/ia LOAD_ARGS32 ARGOFFSET, 1 /* reload args from stack in case ptrace cha= nged it */ RESTORE_REST xchgl %ebp,%r9d -@@ -415,6 +470,7 @@ ENTRY(ia32_syscall) +@@ -409,6 +465,7 @@ ENTRY(ia32_syscall) CFI_REL_OFFSET rip,RIP-RIP PARAVIRT_ADJUST_EXCEPTION_FRAME SWAPGS @@ -6998,7 +5887,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry.= S linux-2.6.32.48/arch/x86/ia /* * No need to follow this irqs on/off section: the syscall * disabled irqs and here we enable it straight after entry: -@@ -448,6 +504,9 @@ ia32_tracesys: =20 +@@ -441,6 +498,9 @@ ia32_tracesys: =20 movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */ movq %rsp,%rdi /* &pt_regs -> arg1 */ call syscall_trace_enter @@ -7008,9 +5897,17 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32entry= .S linux-2.6.32.48/arch/x86/ia LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace change= d it */ RESTORE_REST cmpq $(IA32_NR_syscalls-1),%rax -diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32_signal.c linux-2.6.32.48/a= rch/x86/ia32/ia32_signal.c ---- linux-2.6.32.48/arch/x86/ia32/ia32_signal.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/ia32/ia32_signal.c 2011-11-12 12:46:42.0000= 00000 -0500 +@@ -455,6 +515,7 @@ ia32_badsys: +=20 + quiet_ni_syscall: + movq $-ENOSYS,%rax ++ pax_force_retaddr + ret + CFI_ENDPROC + =09 +diff -urNp linux-3.0.8/arch/x86/ia32/ia32_signal.c linux-3.0.8/arch/x86/= ia32/ia32_signal.c +--- linux-3.0.8/arch/x86/ia32/ia32_signal.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/ia32/ia32_signal.c 2011-10-06 04:17:55.00000000= 0 -0400 @@ -167,7 +167,7 @@ asmlinkage long sys32_sigaltstack(const=20 } seg =3D get_fs(); @@ -7087,9 +5984,9 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/ia32_signa= l.c linux-2.6.32.48/arch/x86/ } put_user_catch(err); =20 if (err) -diff -urNp linux-2.6.32.48/arch/x86/ia32/sys_ia32.c linux-2.6.32.48/arch= /x86/ia32/sys_ia32.c ---- linux-2.6.32.48/arch/x86/ia32/sys_ia32.c 2011-11-12 12:44:28.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/ia32/sys_ia32.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-3.0.8/arch/x86/ia32/sys_ia32.c linux-3.0.8/arch/x86/ia3= 2/sys_ia32.c +--- linux-3.0.8/arch/x86/ia32/sys_ia32.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/ia32/sys_ia32.c 2011-10-06 04:17:55.000000000 -= 0400 @@ -69,8 +69,8 @@ asmlinkage long sys32_ftruncate64(unsign */ static int cp_stat64(struct stat64 __user *ubuf, struct kstat *stat) @@ -7112,7 +6009,16 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/sys_ia32.= c linux-2.6.32.48/arch/x86/ia3 sigsetsize); set_fs(old_fs); if (ret) -@@ -371,7 +371,7 @@ asmlinkage long sys32_sched_rr_get_inter +@@ -332,7 +332,7 @@ asmlinkage long sys32_alarm(unsigned int + return alarm_setitimer(seconds); + } +=20 +-asmlinkage long sys32_waitpid(compat_pid_t pid, unsigned int *stat_addr= , ++asmlinkage long sys32_waitpid(compat_pid_t pid, unsigned int __user *st= at_addr, + int options) + { + return compat_sys_wait4(pid, stat_addr, options, NULL); +@@ -353,7 +353,7 @@ asmlinkage long sys32_sched_rr_get_inter mm_segment_t old_fs =3D get_fs(); =20 set_fs(KERNEL_DS); @@ -7121,7 +6027,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/sys_ia32.c= linux-2.6.32.48/arch/x86/ia3 set_fs(old_fs); if (put_compat_timespec(&t, interval)) return -EFAULT; -@@ -387,7 +387,7 @@ asmlinkage long sys32_rt_sigpending(comp +@@ -369,7 +369,7 @@ asmlinkage long sys32_rt_sigpending(comp mm_segment_t old_fs =3D get_fs(); =20 set_fs(KERNEL_DS); @@ -7130,7 +6036,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/sys_ia32.c= linux-2.6.32.48/arch/x86/ia3 set_fs(old_fs); if (!ret) { switch (_NSIG_WORDS) { -@@ -412,7 +412,7 @@ asmlinkage long sys32_rt_sigqueueinfo(in +@@ -394,7 +394,7 @@ asmlinkage long sys32_rt_sigqueueinfo(in if (copy_siginfo_from_user32(&info, uinfo)) return -EFAULT; set_fs(KERNEL_DS); @@ -7139,7 +6045,7 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/sys_ia32.c= linux-2.6.32.48/arch/x86/ia3 set_fs(old_fs); return ret; } -@@ -513,7 +513,7 @@ asmlinkage long sys32_sendfile(int out_f +@@ -439,7 +439,7 @@ asmlinkage long sys32_sendfile(int out_f return -EFAULT; =20 set_fs(KERNEL_DS); @@ -7148,10 +6054,10 @@ diff -urNp linux-2.6.32.48/arch/x86/ia32/sys_ia32= .c linux-2.6.32.48/arch/x86/ia3 count); set_fs(old_fs); =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/alternative-asm.h linux-= 2.6.32.48/arch/x86/include/asm/alternative-asm.h ---- linux-2.6.32.48/arch/x86/include/asm/alternative-asm.h 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/alternative-asm.h 2011-11-12 12= :46:42.000000000 -0500 -@@ -19,4 +19,18 @@ +diff -urNp linux-3.0.8/arch/x86/include/asm/alternative-asm.h linux-3.0.= 8/arch/x86/include/asm/alternative-asm.h +--- linux-3.0.8/arch/x86/include/asm/alternative-asm.h 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/alternative-asm.h 2011-10-07 19:07:= 23.000000000 -0400 +@@ -15,6 +15,20 @@ .endm #endif =20 @@ -7169,23 +6075,25 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= lternative-asm.h linux-2.6.32.4 + .endm +#endif + - #endif /* __ASSEMBLY__ */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/alternative.h linux-2.6.= 32.48/arch/x86/include/asm/alternative.h ---- linux-2.6.32.48/arch/x86/include/asm/alternative.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/alternative.h 2011-11-12 12:46:= 42.000000000 -0500 -@@ -85,7 +85,7 @@ static inline void alternatives_smp_swit - " .byte 662b-661b\n" /* sourcelen */ \ - " .byte 664f-663f\n" /* replacementlen */ \ + .macro altinstruction_entry orig alt feature orig_len alt_len + .align 8 + .quad \orig +diff -urNp linux-3.0.8/arch/x86/include/asm/alternative.h linux-3.0.8/ar= ch/x86/include/asm/alternative.h +--- linux-3.0.8/arch/x86/include/asm/alternative.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/alternative.h 2011-08-23 21:47:55.0= 00000000 -0400 +@@ -93,7 +93,7 @@ static inline int alternatives_text_rese + ".section .discard,\"aw\",@progbits\n" \ + " .byte 0xff + (664f-663f) - (662b-661b)\n" /* rlen <=3D slen */= \ ".previous\n" \ - ".section .altinstr_replacement, \"ax\"\n" \ + ".section .altinstr_replacement, \"a\"\n" \ "663:\n\t" newinstr "\n664:\n" /* replacement */ \ ".previous" =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/apic.h linux-2.6.32.48/a= rch/x86/include/asm/apic.h ---- linux-2.6.32.48/arch/x86/include/asm/apic.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/apic.h 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -46,7 +46,7 @@ static inline void generic_apic_probe(vo +diff -urNp linux-3.0.8/arch/x86/include/asm/apic.h linux-3.0.8/arch/x86/= include/asm/apic.h +--- linux-3.0.8/arch/x86/include/asm/apic.h 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/include/asm/apic.h 2011-08-23 21:48:14.00000000= 0 -0400 +@@ -45,7 +45,7 @@ static inline void generic_apic_probe(vo =20 #ifdef CONFIG_X86_LOCAL_APIC =20 @@ -7194,9 +6102,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/api= c.h linux-2.6.32.48/arch/x86/ extern int local_apic_timer_c2_ok; =20 extern int disable_apic; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/apm.h linux-2.6.32.48/ar= ch/x86/include/asm/apm.h ---- linux-2.6.32.48/arch/x86/include/asm/apm.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/apm.h 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/apm.h linux-3.0.8/arch/x86/i= nclude/asm/apm.h +--- linux-3.0.8/arch/x86/include/asm/apm.h 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/include/asm/apm.h 2011-08-23 21:47:55.000000000= -0400 @@ -34,7 +34,7 @@ static inline void apm_bios_call_asm(u32 __asm__ __volatile__(APM_DO_ZERO_SEGS "pushl %%edi\n\t" @@ -7215,266 +6123,401 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm= /apm.h linux-2.6.32.48/arch/x86/i "setc %%bl\n\t" "popl %%ebp\n\t" "popl %%edi\n\t" -diff -urNp linux-2.6.32.48/arch/x86/include/asm/atomic_32.h linux-2.6.32= .48/arch/x86/include/asm/atomic_32.h ---- linux-2.6.32.48/arch/x86/include/asm/atomic_32.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/atomic_32.h 2011-11-12 12:46:42= .000000000 -0500 -@@ -25,6 +25,17 @@ static inline int atomic_read(const atom +diff -urNp linux-3.0.8/arch/x86/include/asm/atomic64_32.h linux-3.0.8/ar= ch/x86/include/asm/atomic64_32.h +--- linux-3.0.8/arch/x86/include/asm/atomic64_32.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/atomic64_32.h 2011-08-23 21:47:55.0= 00000000 -0400 +@@ -12,6 +12,14 @@ typedef struct { + u64 __aligned(8) counter; + } atomic64_t; +=20 ++#ifdef CONFIG_PAX_REFCOUNT ++typedef struct { ++ u64 __aligned(8) counter; ++} atomic64_unchecked_t; ++#else ++typedef atomic64_t atomic64_unchecked_t; ++#endif ++ + #define ATOMIC64_INIT(val) { (val) } +=20 + #ifdef CONFIG_X86_CMPXCHG64 +@@ -38,6 +46,21 @@ static inline long long atomic64_cmpxchg } =20 /** -+ * atomic_read_unchecked - read atomic variable -+ * @v: pointer of type atomic_unchecked_t ++ * atomic64_cmpxchg_unchecked - cmpxchg atomic64 variable ++ * @p: pointer to type atomic64_unchecked_t ++ * @o: expected value ++ * @n: new value + * -+ * Atomically reads the value of @v. ++ * Atomically sets @v to @n if it was equal to @o and returns ++ * the old value. + */ -+static inline int atomic_read_unchecked(const atomic_unchecked_t *v) ++ ++static inline long long atomic64_cmpxchg_unchecked(atomic64_unchecked_t= *v, long long o, long long n) +{ -+ return v->counter; ++ return cmpxchg64(&v->counter, o, n); +} + +/** - * atomic_set - set atomic variable - * @v: pointer of type atomic_t - * @i: required value -@@ -37,6 +48,18 @@ static inline void atomic_set(atomic_t * + * atomic64_xchg - xchg atomic64 variable + * @v: pointer to type atomic64_t + * @n: value to assign +@@ -77,6 +100,24 @@ static inline void atomic64_set(atomic64 } =20 /** -+ * atomic_set_unchecked - set atomic variable -+ * @v: pointer of type atomic_unchecked_t ++ * atomic64_set_unchecked - set atomic64 variable ++ * @v: pointer to type atomic64_unchecked_t ++ * @n: value to assign ++ * ++ * Atomically sets the value of @v to @n. ++ */ ++static inline void atomic64_set_unchecked(atomic64_unchecked_t *v, long= long i) ++{ ++ unsigned high =3D (unsigned)(i >> 32); ++ unsigned low =3D (unsigned)i; ++ asm volatile(ATOMIC64_ALTERNATIVE(set) ++ : "+b" (low), "+c" (high) ++ : "S" (v) ++ : "eax", "edx", "memory" ++ ); ++} ++ ++/** + * atomic64_read - read atomic64 variable + * @v: pointer to type atomic64_t + * +@@ -93,6 +134,22 @@ static inline long long atomic64_read(at + } +=20 + /** ++ * atomic64_read_unchecked - read atomic64 variable ++ * @v: pointer to type atomic64_unchecked_t ++ * ++ * Atomically reads the value of @v and returns it. ++ */ ++static inline long long atomic64_read_unchecked(atomic64_unchecked_t *v= ) ++{ ++ long long r; ++ asm volatile(ATOMIC64_ALTERNATIVE(read_unchecked) ++ : "=3DA" (r), "+c" (v) ++ : : "memory" ++ ); ++ return r; ++ } ++ ++/** + * atomic64_add_return - add and return + * @i: integer value to add + * @v: pointer to type atomic64_t +@@ -108,6 +165,22 @@ static inline long long atomic64_add_ret + return i; + } +=20 ++/** ++ * atomic64_add_return_unchecked - add and return ++ * @i: integer value to add ++ * @v: pointer to type atomic64_unchecked_t ++ * ++ * Atomically adds @i to @v and returns @i + *@v ++ */ ++static inline long long atomic64_add_return_unchecked(long long i, atom= ic64_unchecked_t *v) ++{ ++ asm volatile(ATOMIC64_ALTERNATIVE(add_return_unchecked) ++ : "+A" (i), "+c" (v) ++ : : "memory" ++ ); ++ return i; ++} ++ + /* + * Other variants with different arithmetic operators: + */ +@@ -131,6 +204,17 @@ static inline long long atomic64_inc_ret + return a; + } +=20 ++static inline long long atomic64_inc_return_unchecked(atomic64_unchecke= d_t *v) ++{ ++ long long a; ++ asm volatile(ATOMIC64_ALTERNATIVE(inc_return_unchecked) ++ : "=3DA" (a) ++ : "S" (v) ++ : "memory", "ecx" ++ ); ++ return a; ++} ++ + static inline long long atomic64_dec_return(atomic64_t *v) + { + long long a; +@@ -159,6 +243,22 @@ static inline long long atomic64_add(lon + } +=20 + /** ++ * atomic64_add_unchecked - add integer to atomic64 variable ++ * @i: integer value to add ++ * @v: pointer to type atomic64_unchecked_t ++ * ++ * Atomically adds @i to @v. ++ */ ++static inline long long atomic64_add_unchecked(long long i, atomic64_un= checked_t *v) ++{ ++ asm volatile(ATOMIC64_ALTERNATIVE_(add_unchecked, add_return_unchecked= ) ++ : "+A" (i), "+c" (v) ++ : : "memory" ++ ); ++ return i; ++} ++ ++/** + * atomic64_sub - subtract the atomic64 variable + * @i: integer value to subtract + * @v: pointer to type atomic64_t +diff -urNp linux-3.0.8/arch/x86/include/asm/atomic64_64.h linux-3.0.8/ar= ch/x86/include/asm/atomic64_64.h +--- linux-3.0.8/arch/x86/include/asm/atomic64_64.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/atomic64_64.h 2011-08-23 21:47:55.0= 00000000 -0400 +@@ -18,7 +18,19 @@ + */ + static inline long atomic64_read(const atomic64_t *v) + { +- return (*(volatile long *)&(v)->counter); ++ return (*(volatile const long *)&(v)->counter); ++} ++ ++/** ++ * atomic64_read_unchecked - read atomic64 variable ++ * @v: pointer of type atomic64_unchecked_t ++ * ++ * Atomically reads the value of @v. ++ * Doesn't imply a read memory barrier. ++ */ ++static inline long atomic64_read_unchecked(const atomic64_unchecked_t *= v) ++{ ++ return (*(volatile const long *)&(v)->counter); + } +=20 + /** +@@ -34,6 +46,18 @@ static inline void atomic64_set(atomic64 + } +=20 + /** ++ * atomic64_set_unchecked - set atomic64 variable ++ * @v: pointer to type atomic64_unchecked_t + * @i: required value + * + * Atomically sets the value of @v to @i. + */ -+static inline void atomic_set_unchecked(atomic_unchecked_t *v, int i) ++static inline void atomic64_set_unchecked(atomic64_unchecked_t *v, long= i) +{ + v->counter =3D i; +} + +/** - * atomic_add - add integer to atomic variable + * atomic64_add - add integer to atomic64 variable * @i: integer value to add - * @v: pointer of type atomic_t -@@ -45,7 +68,29 @@ static inline void atomic_set(atomic_t * + * @v: pointer to type atomic64_t +@@ -42,6 +66,28 @@ static inline void atomic64_set(atomic64 */ - static inline void atomic_add(int i, atomic_t *v) + static inline void atomic64_add(long i, atomic64_t *v) { -- asm volatile(LOCK_PREFIX "addl %1,%0" -+ asm volatile(LOCK_PREFIX "addl %1,%0\n" ++ asm volatile(LOCK_PREFIX "addq %1,%0\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ LOCK_PREFIX "subl %1,%0\n" ++ LOCK_PREFIX "subq %1,%0\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif + -+ : "+m" (v->counter) -+ : "ir" (i)); ++ : "=3Dm" (v->counter) ++ : "er" (i), "m" (v->counter)); +} + +/** -+ * atomic_add_unchecked - add integer to atomic variable ++ * atomic64_add_unchecked - add integer to atomic64 variable + * @i: integer value to add -+ * @v: pointer of type atomic_unchecked_t ++ * @v: pointer to type atomic64_unchecked_t + * + * Atomically adds @i to @v. + */ -+static inline void atomic_add_unchecked(int i, atomic_unchecked_t *v) ++static inline void atomic64_add_unchecked(long i, atomic64_unchecked_t = *v) +{ -+ asm volatile(LOCK_PREFIX "addl %1,%0\n" - : "+m" (v->counter) - : "ir" (i)); - } -@@ -59,7 +104,29 @@ static inline void atomic_add(int i, ato + asm volatile(LOCK_PREFIX "addq %1,%0" + : "=3Dm" (v->counter) + : "er" (i), "m" (v->counter)); +@@ -56,7 +102,29 @@ static inline void atomic64_add(long i,=20 */ - static inline void atomic_sub(int i, atomic_t *v) + static inline void atomic64_sub(long i, atomic64_t *v) { -- asm volatile(LOCK_PREFIX "subl %1,%0" -+ asm volatile(LOCK_PREFIX "subl %1,%0\n" +- asm volatile(LOCK_PREFIX "subq %1,%0" ++ asm volatile(LOCK_PREFIX "subq %1,%0\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ LOCK_PREFIX "addl %1,%0\n" ++ LOCK_PREFIX "addq %1,%0\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif + -+ : "+m" (v->counter) -+ : "ir" (i)); ++ : "=3Dm" (v->counter) ++ : "er" (i), "m" (v->counter)); +} + +/** -+ * atomic_sub_unchecked - subtract integer from atomic variable ++ * atomic64_sub_unchecked - subtract the atomic64 variable + * @i: integer value to subtract -+ * @v: pointer of type atomic_unchecked_t ++ * @v: pointer to type atomic64_unchecked_t + * + * Atomically subtracts @i from @v. + */ -+static inline void atomic_sub_unchecked(int i, atomic_unchecked_t *v) ++static inline void atomic64_sub_unchecked(long i, atomic64_unchecked_t = *v) +{ -+ asm volatile(LOCK_PREFIX "subl %1,%0\n" - : "+m" (v->counter) - : "ir" (i)); ++ asm volatile(LOCK_PREFIX "subq %1,%0\n" + : "=3Dm" (v->counter) + : "er" (i), "m" (v->counter)); } -@@ -77,7 +144,16 @@ static inline int atomic_sub_and_test(in +@@ -74,7 +142,16 @@ static inline int atomic64_sub_and_test( { unsigned char c; =20 -- asm volatile(LOCK_PREFIX "subl %2,%0; sete %1" -+ asm volatile(LOCK_PREFIX "subl %2,%0\n" +- asm volatile(LOCK_PREFIX "subq %2,%0; sete %1" ++ asm volatile(LOCK_PREFIX "subq %2,%0\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ LOCK_PREFIX "addl %2,%0\n" ++ LOCK_PREFIX "addq %2,%0\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif + + "sete %1\n" - : "+m" (v->counter), "=3Dqm" (c) - : "ir" (i) : "memory"); + : "=3Dm" (v->counter), "=3Dqm" (c) + : "er" (i), "m" (v->counter) : "memory"); return c; -@@ -91,7 +167,27 @@ static inline int atomic_sub_and_test(in +@@ -88,6 +165,27 @@ static inline int atomic64_sub_and_test( */ - static inline void atomic_inc(atomic_t *v) + static inline void atomic64_inc(atomic64_t *v) { -- asm volatile(LOCK_PREFIX "incl %0" -+ asm volatile(LOCK_PREFIX "incl %0\n" ++ asm volatile(LOCK_PREFIX "incq %0\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ LOCK_PREFIX "decl %0\n" ++ LOCK_PREFIX "decq %0\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif + -+ : "+m" (v->counter)); ++ : "=3Dm" (v->counter) ++ : "m" (v->counter)); +} + +/** -+ * atomic_inc_unchecked - increment atomic variable -+ * @v: pointer of type atomic_unchecked_t ++ * atomic64_inc_unchecked - increment atomic64 variable ++ * @v: pointer to type atomic64_unchecked_t + * + * Atomically increments @v by 1. + */ -+static inline void atomic_inc_unchecked(atomic_unchecked_t *v) ++static inline void atomic64_inc_unchecked(atomic64_unchecked_t *v) +{ -+ asm volatile(LOCK_PREFIX "incl %0\n" - : "+m" (v->counter)); - } -=20 -@@ -103,7 +199,27 @@ static inline void atomic_inc(atomic_t * + asm volatile(LOCK_PREFIX "incq %0" + : "=3Dm" (v->counter) + : "m" (v->counter)); +@@ -101,7 +199,28 @@ static inline void atomic64_inc(atomic64 */ - static inline void atomic_dec(atomic_t *v) + static inline void atomic64_dec(atomic64_t *v) { -- asm volatile(LOCK_PREFIX "decl %0" -+ asm volatile(LOCK_PREFIX "decl %0\n" +- asm volatile(LOCK_PREFIX "decq %0" ++ asm volatile(LOCK_PREFIX "decq %0\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ LOCK_PREFIX "incl %0\n" ++ LOCK_PREFIX "incq %0\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif + -+ : "+m" (v->counter)); ++ : "=3Dm" (v->counter) ++ : "m" (v->counter)); +} + +/** -+ * atomic_dec_unchecked - decrement atomic variable -+ * @v: pointer of type atomic_unchecked_t ++ * atomic64_dec_unchecked - decrement atomic64 variable ++ * @v: pointer to type atomic64_t + * + * Atomically decrements @v by 1. + */ -+static inline void atomic_dec_unchecked(atomic_unchecked_t *v) ++static inline void atomic64_dec_unchecked(atomic64_unchecked_t *v) +{ -+ asm volatile(LOCK_PREFIX "decl %0\n" - : "+m" (v->counter)); ++ asm volatile(LOCK_PREFIX "decq %0\n" + : "=3Dm" (v->counter) + : "m" (v->counter)); } -=20 -@@ -119,7 +235,16 @@ static inline int atomic_dec_and_test(at +@@ -118,7 +237,16 @@ static inline int atomic64_dec_and_test( { unsigned char c; =20 -- asm volatile(LOCK_PREFIX "decl %0; sete %1" -+ asm volatile(LOCK_PREFIX "decl %0\n" +- asm volatile(LOCK_PREFIX "decq %0; sete %1" ++ asm volatile(LOCK_PREFIX "decq %0\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ LOCK_PREFIX "incl %0\n" ++ LOCK_PREFIX "incq %0\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif + + "sete %1\n" - : "+m" (v->counter), "=3Dqm" (c) - : : "memory"); + : "=3Dm" (v->counter), "=3Dqm" (c) + : "m" (v->counter) : "memory"); return c !=3D 0; -@@ -137,7 +262,35 @@ static inline int atomic_inc_and_test(at +@@ -136,7 +264,16 @@ static inline int atomic64_inc_and_test( { unsigned char c; =20 -- asm volatile(LOCK_PREFIX "incl %0; sete %1" -+ asm volatile(LOCK_PREFIX "incl %0\n" +- asm volatile(LOCK_PREFIX "incq %0; sete %1" ++ asm volatile(LOCK_PREFIX "incq %0\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ LOCK_PREFIX "decl %0\n" -+ "into\n0:\n" ++ LOCK_PREFIX "decq %0\n" ++ "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif + + "sete %1\n" -+ : "+m" (v->counter), "=3Dqm" (c) -+ : : "memory"); -+ return c !=3D 0; -+} -+ -+/** -+ * atomic_inc_and_test_unchecked - increment and test -+ * @v: pointer of type atomic_unchecked_t -+ * -+ * Atomically increments @v by 1 -+ * and returns true if the result is zero, or false for all -+ * other cases. -+ */ -+static inline int atomic_inc_and_test_unchecked(atomic_unchecked_t *v) -+{ -+ unsigned char c; -+ -+ asm volatile(LOCK_PREFIX "incl %0\n" -+ "sete %1\n" - : "+m" (v->counter), "=3Dqm" (c) - : : "memory"); + : "=3Dm" (v->counter), "=3Dqm" (c) + : "m" (v->counter) : "memory"); return c !=3D 0; -@@ -156,7 +309,16 @@ static inline int atomic_add_negative(in +@@ -155,7 +292,16 @@ static inline int atomic64_add_negative( { unsigned char c; =20 -- asm volatile(LOCK_PREFIX "addl %2,%0; sets %1" -+ asm volatile(LOCK_PREFIX "addl %2,%0\n" +- asm volatile(LOCK_PREFIX "addq %2,%0; sets %1" ++ asm volatile(LOCK_PREFIX "addq %2,%0\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ LOCK_PREFIX "subl %2,%0\n" ++ LOCK_PREFIX "subq %2,%0\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif + + "sets %1\n" - : "+m" (v->counter), "=3Dqm" (c) - : "ir" (i) : "memory"); + : "=3Dm" (v->counter), "=3Dqm" (c) + : "er" (i), "m" (v->counter) : "memory"); return c; -@@ -179,6 +341,46 @@ static inline int atomic_add_return(int=20 - #endif - /* Modern 486+ processor */ - __i =3D i; -+ asm volatile(LOCK_PREFIX "xaddl %0, %1\n" +@@ -171,7 +317,31 @@ static inline int atomic64_add_negative( + static inline long atomic64_add_return(long i, atomic64_t *v) + { + long __i =3D i; +- asm volatile(LOCK_PREFIX "xaddq %0, %1;" ++ asm volatile(LOCK_PREFIX "xaddq %0, %1\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ "movl %0, %1\n" ++ "movq %0, %1\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif @@ -7482,77 +6525,63 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_32.h linux-2.6.32.48/arch + : "+r" (i), "+m" (v->counter) + : : "memory"); + return i + __i; -+ -+#ifdef CONFIG_M386 -+no_xadd: /* Legacy 386 processor */ -+ local_irq_save(flags); -+ __i =3D atomic_read(v); -+ atomic_set(v, i + __i); -+ local_irq_restore(flags); -+ return i + __i; -+#endif +} + +/** -+ * atomic_add_return_unchecked - add integer and return -+ * @v: pointer of type atomic_unchecked_t ++ * atomic64_add_return_unchecked - add and return + * @i: integer value to add ++ * @v: pointer to type atomic64_unchecked_t + * + * Atomically adds @i to @v and returns @i + @v + */ -+static inline int atomic_add_return_unchecked(int i, atomic_unchecked_t= *v) ++static inline long atomic64_add_return_unchecked(long i, atomic64_unche= cked_t *v) +{ -+ int __i; -+#ifdef CONFIG_M386 -+ unsigned long flags; -+ if (unlikely(boot_cpu_data.x86 <=3D 3)) -+ goto no_xadd; -+#endif -+ /* Modern 486+ processor */ -+ __i =3D i; - asm volatile(LOCK_PREFIX "xaddl %0, %1" ++ long __i =3D i; ++ asm volatile(LOCK_PREFIX "xaddq %0, %1" : "+r" (i), "+m" (v->counter) : : "memory"); -@@ -211,11 +413,21 @@ static inline int atomic_cmpxchg(atomic_ - return cmpxchg(&v->counter, old, new); + return i + __i; +@@ -183,6 +353,10 @@ static inline long atomic64_sub_return(l } =20 -+static inline int atomic_cmpxchg_unchecked(atomic_unchecked_t *v, int o= ld, int new) + #define atomic64_inc_return(v) (atomic64_add_return(1, (v))) ++static inline long atomic64_inc_return_unchecked(atomic64_unchecked_t *= v) +{ -+ return cmpxchg(&v->counter, old, new); ++ return atomic64_add_return_unchecked(1, v); +} -+ - static inline int atomic_xchg(atomic_t *v, int new) - { - return xchg(&v->counter, new); + #define atomic64_dec_return(v) (atomic64_sub_return(1, (v))) +=20 + static inline long atomic64_cmpxchg(atomic64_t *v, long old, long new) +@@ -190,6 +364,11 @@ static inline long atomic64_cmpxchg(atom + return cmpxchg(&v->counter, old, new); } =20 -+static inline int atomic_xchg_unchecked(atomic_unchecked_t *v, int new) ++static inline long atomic64_cmpxchg_unchecked(atomic64_unchecked_t *v, = long old, long new) +{ -+ return xchg(&v->counter, new); ++ return cmpxchg(&v->counter, old, new); +} + - /** - * atomic_add_unless - add unless the number is already a given value - * @v: pointer of type atomic_t -@@ -227,22 +439,39 @@ static inline int atomic_xchg(atomic_t * + static inline long atomic64_xchg(atomic64_t *v, long new) + { + return xchg(&v->counter, new); +@@ -206,17 +385,30 @@ static inline long atomic64_xchg(atomic6 */ - static inline int atomic_add_unless(atomic_t *v, int a, int u) + static inline int atomic64_add_unless(atomic64_t *v, long a, long u) { -- int c, old; -+ int c, old, new; - c =3D atomic_read(v); +- long c, old; ++ long c, old, new; + c =3D atomic64_read(v); for (;;) { - if (unlikely(c =3D=3D (u))) + if (unlikely(c =3D=3D u)) break; -- old =3D atomic_cmpxchg((v), c, c + (a)); +- old =3D atomic64_cmpxchg((v), c, c + (a)); + -+ asm volatile("addl %2,%0\n" ++ asm volatile("add %2,%0\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ "subl %2,%0\n" ++ "sub %2,%0\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif @@ -7560,7 +6589,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ato= mic_32.h linux-2.6.32.48/arch + : "=3Dr" (new) + : "0" (c), "ir" (a)); + -+ old =3D atomic_cmpxchg(v, c, new); ++ old =3D atomic64_cmpxchg(v, c, new); if (likely(old =3D=3D c)) break; c =3D old; @@ -7569,175 +6598,19 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= atomic_32.h linux-2.6.32.48/arch + return c !=3D u; } =20 - #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) -=20 - #define atomic_inc_return(v) (atomic_add_return(1, v)) -+static inline int atomic_inc_return_unchecked(atomic_unchecked_t *v) -+{ -+ return atomic_add_return_unchecked(1, v); -+} - #define atomic_dec_return(v) (atomic_sub_return(1, v)) -=20 - /* These are x86-specific, used by some header files */ -@@ -266,9 +495,18 @@ typedef struct { - u64 __aligned(8) counter; - } atomic64_t; -=20 -+#ifdef CONFIG_PAX_REFCOUNT -+typedef struct { -+ u64 __aligned(8) counter; -+} atomic64_unchecked_t; -+#else -+typedef atomic64_t atomic64_unchecked_t; -+#endif -+ - #define ATOMIC64_INIT(val) { (val) } -=20 - extern u64 atomic64_cmpxchg(atomic64_t *ptr, u64 old_val, u64 new_val); -+extern u64 atomic64_cmpxchg_unchecked(atomic64_unchecked_t *ptr, u64 ol= d_val, u64 new_val); -=20 - /** - * atomic64_xchg - xchg atomic64 variable -@@ -279,6 +517,7 @@ extern u64 atomic64_cmpxchg(atomic64_t * - * the old value. + #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) +diff -urNp linux-3.0.8/arch/x86/include/asm/atomic.h linux-3.0.8/arch/x8= 6/include/asm/atomic.h +--- linux-3.0.8/arch/x86/include/asm/atomic.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/atomic.h 2011-08-23 21:47:55.000000= 000 -0400 +@@ -22,7 +22,18 @@ */ - extern u64 atomic64_xchg(atomic64_t *ptr, u64 new_val); -+extern u64 atomic64_xchg_unchecked(atomic64_unchecked_t *ptr, u64 new_v= al); -=20 - /** - * atomic64_set - set atomic64 variable -@@ -290,6 +529,15 @@ extern u64 atomic64_xchg(atomic64_t *ptr - extern void atomic64_set(atomic64_t *ptr, u64 new_val); -=20 - /** -+ * atomic64_unchecked_set - set atomic64 variable -+ * @ptr: pointer to type atomic64_unchecked_t -+ * @new_val: value to assign -+ * -+ * Atomically sets the value of @ptr to @new_val. -+ */ -+extern void atomic64_set_unchecked(atomic64_unchecked_t *ptr, u64 new_v= al); -+ -+/** - * atomic64_read - read atomic64 variable - * @ptr: pointer to type atomic64_t - * -@@ -317,7 +565,33 @@ static inline u64 atomic64_read(atomic64 - return res; - } -=20 --extern u64 atomic64_read(atomic64_t *ptr); -+/** -+ * atomic64_read_unchecked - read atomic64 variable -+ * @ptr: pointer to type atomic64_unchecked_t -+ * -+ * Atomically reads the value of @ptr and returns it. -+ */ -+static inline u64 atomic64_read_unchecked(atomic64_unchecked_t *ptr) -+{ -+ u64 res; -+ -+ /* -+ * Note, we inline this atomic64_unchecked_t primitive because -+ * it only clobbers EAX/EDX and leaves the others -+ * untouched. We also (somewhat subtly) rely on the -+ * fact that cmpxchg8b returns the current 64-bit value -+ * of the memory location we are touching: -+ */ -+ asm volatile( -+ "mov %%ebx, %%eax\n\t" -+ "mov %%ecx, %%edx\n\t" -+ LOCK_PREFIX "cmpxchg8b %1\n" -+ : "=3D&A" (res) -+ : "m" (*ptr) -+ ); -+ -+ return res; + static inline int atomic_read(const atomic_t *v) + { +- return (*(volatile int *)&(v)->counter); ++ return (*(volatile const int *)&(v)->counter); +} -=20 - /** - * atomic64_add_return - add and return -@@ -332,8 +606,11 @@ extern u64 atomic64_add_return(u64 delta - * Other variants with different arithmetic operators: - */ - extern u64 atomic64_sub_return(u64 delta, atomic64_t *ptr); -+extern u64 atomic64_sub_return_unchecked(u64 delta, atomic64_unchecked_= t *ptr); - extern u64 atomic64_inc_return(atomic64_t *ptr); -+extern u64 atomic64_inc_return_unchecked(atomic64_unchecked_t *ptr); - extern u64 atomic64_dec_return(atomic64_t *ptr); -+extern u64 atomic64_dec_return_unchecked(atomic64_unchecked_t *ptr); -=20 - /** - * atomic64_add - add integer to atomic64 variable -@@ -345,6 +622,15 @@ extern u64 atomic64_dec_return(atomic64_ - extern void atomic64_add(u64 delta, atomic64_t *ptr); -=20 - /** -+ * atomic64_add_unchecked - add integer to atomic64 variable -+ * @delta: integer value to add -+ * @ptr: pointer to type atomic64_unchecked_t -+ * -+ * Atomically adds @delta to @ptr. -+ */ -+extern void atomic64_add_unchecked(u64 delta, atomic64_unchecked_t *ptr= ); -+ -+/** - * atomic64_sub - subtract the atomic64 variable - * @delta: integer value to subtract - * @ptr: pointer to type atomic64_t -@@ -354,6 +640,15 @@ extern void atomic64_add(u64 delta, atom - extern void atomic64_sub(u64 delta, atomic64_t *ptr); -=20 - /** -+ * atomic64_sub_unchecked - subtract the atomic64 variable -+ * @delta: integer value to subtract -+ * @ptr: pointer to type atomic64_unchecked_t -+ * -+ * Atomically subtracts @delta from @ptr. -+ */ -+extern void atomic64_sub_unchecked(u64 delta, atomic64_unchecked_t *ptr= ); -+ -+/** - * atomic64_sub_and_test - subtract value from variable and test result - * @delta: integer value to subtract - * @ptr: pointer to type atomic64_t -@@ -373,6 +668,14 @@ extern int atomic64_sub_and_test(u64 del - extern void atomic64_inc(atomic64_t *ptr); -=20 - /** -+ * atomic64_inc_unchecked - increment atomic64 variable -+ * @ptr: pointer to type atomic64_unchecked_t -+ * -+ * Atomically increments @ptr by 1. -+ */ -+extern void atomic64_inc_unchecked(atomic64_unchecked_t *ptr); -+ -+/** - * atomic64_dec - decrement atomic64 variable - * @ptr: pointer to type atomic64_t - * -@@ -381,6 +684,14 @@ extern void atomic64_inc(atomic64_t *ptr - extern void atomic64_dec(atomic64_t *ptr); -=20 - /** -+ * atomic64_dec_unchecked - decrement atomic64 variable -+ * @ptr: pointer to type atomic64_unchecked_t -+ * -+ * Atomically decrements @ptr by 1. -+ */ -+extern void atomic64_dec_unchecked(atomic64_unchecked_t *ptr); + +/** - * atomic64_dec_and_test - decrement and test - * @ptr: pointer to type atomic64_t - * -diff -urNp linux-2.6.32.48/arch/x86/include/asm/atomic_64.h linux-2.6.32= .48/arch/x86/include/asm/atomic_64.h ---- linux-2.6.32.48/arch/x86/include/asm/atomic_64.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/atomic_64.h 2011-11-12 12:46:42= .000000000 -0500 -@@ -24,6 +24,17 @@ static inline int atomic_read(const atom - } -=20 - /** + * atomic_read_unchecked - read atomic variable + * @v: pointer of type atomic_unchecked_t + * @@ -7745,14 +6618,11 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch + */ +static inline int atomic_read_unchecked(const atomic_unchecked_t *v) +{ -+ return v->counter; -+} -+ -+/** - * atomic_set - set atomic variable - * @v: pointer of type atomic_t - * @i: required value -@@ -36,6 +47,18 @@ static inline void atomic_set(atomic_t * ++ return (*(volatile const int *)&(v)->counter); + } +=20 + /** +@@ -38,6 +49,18 @@ static inline void atomic_set(atomic_t * } =20 /** @@ -7771,7 +6641,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ato= mic_64.h linux-2.6.32.48/arch * atomic_add - add integer to atomic variable * @i: integer value to add * @v: pointer of type atomic_t -@@ -44,7 +67,29 @@ static inline void atomic_set(atomic_t * +@@ -46,7 +69,29 @@ static inline void atomic_set(atomic_t * */ static inline void atomic_add(int i, atomic_t *v) { @@ -7785,8 +6655,8 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ato= mic_64.h linux-2.6.32.48/arch + _ASM_EXTABLE(0b, 0b) +#endif + -+ : "=3Dm" (v->counter) -+ : "ir" (i), "m" (v->counter)); ++ : "+m" (v->counter) ++ : "ir" (i)); +} + +/** @@ -7799,10 +6669,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch +static inline void atomic_add_unchecked(int i, atomic_unchecked_t *v) +{ + asm volatile(LOCK_PREFIX "addl %1,%0\n" - : "=3Dm" (v->counter) - : "ir" (i), "m" (v->counter)); + : "+m" (v->counter) + : "ir" (i)); } -@@ -58,7 +103,29 @@ static inline void atomic_add(int i, ato +@@ -60,7 +105,29 @@ static inline void atomic_add(int i, ato */ static inline void atomic_sub(int i, atomic_t *v) { @@ -7816,12 +6686,12 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch + _ASM_EXTABLE(0b, 0b) +#endif + -+ : "=3Dm" (v->counter) -+ : "ir" (i), "m" (v->counter)); ++ : "+m" (v->counter) ++ : "ir" (i)); +} + +/** -+ * atomic_sub_unchecked - subtract the atomic variable ++ * atomic_sub_unchecked - subtract integer from atomic variable + * @i: integer value to subtract + * @v: pointer of type atomic_unchecked_t + * @@ -7830,10 +6700,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch +static inline void atomic_sub_unchecked(int i, atomic_unchecked_t *v) +{ + asm volatile(LOCK_PREFIX "subl %1,%0\n" - : "=3Dm" (v->counter) - : "ir" (i), "m" (v->counter)); + : "+m" (v->counter) + : "ir" (i)); } -@@ -76,7 +143,16 @@ static inline int atomic_sub_and_test(in +@@ -78,7 +145,16 @@ static inline int atomic_sub_and_test(in { unsigned char c; =20 @@ -7848,10 +6718,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch +#endif + + "sete %1\n" - : "=3Dm" (v->counter), "=3Dqm" (c) - : "ir" (i), "m" (v->counter) : "memory"); + : "+m" (v->counter), "=3Dqm" (c) + : "ir" (i) : "memory"); return c; -@@ -90,7 +166,28 @@ static inline int atomic_sub_and_test(in +@@ -92,7 +168,27 @@ static inline int atomic_sub_and_test(in */ static inline void atomic_inc(atomic_t *v) { @@ -7865,8 +6735,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ato= mic_64.h linux-2.6.32.48/arch + _ASM_EXTABLE(0b, 0b) +#endif + -+ : "=3Dm" (v->counter) -+ : "m" (v->counter)); ++ : "+m" (v->counter)); +} + +/** @@ -7878,10 +6747,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch +static inline void atomic_inc_unchecked(atomic_unchecked_t *v) +{ + asm volatile(LOCK_PREFIX "incl %0\n" - : "=3Dm" (v->counter) - : "m" (v->counter)); + : "+m" (v->counter)); } -@@ -103,7 +200,28 @@ static inline void atomic_inc(atomic_t * +=20 +@@ -104,7 +200,27 @@ static inline void atomic_inc(atomic_t * */ static inline void atomic_dec(atomic_t *v) { @@ -7895,8 +6764,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ato= mic_64.h linux-2.6.32.48/arch + _ASM_EXTABLE(0b, 0b) +#endif + -+ : "=3Dm" (v->counter) -+ : "m" (v->counter)); ++ : "+m" (v->counter)); +} + +/** @@ -7908,10 +6776,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch +static inline void atomic_dec_unchecked(atomic_unchecked_t *v) +{ + asm volatile(LOCK_PREFIX "decl %0\n" - : "=3Dm" (v->counter) - : "m" (v->counter)); + : "+m" (v->counter)); } -@@ -120,7 +238,16 @@ static inline int atomic_dec_and_test(at +=20 +@@ -120,7 +236,16 @@ static inline int atomic_dec_and_test(at { unsigned char c; =20 @@ -7926,10 +6794,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch +#endif + + "sete %1\n" - : "=3Dm" (v->counter), "=3Dqm" (c) - : "m" (v->counter) : "memory"); + : "+m" (v->counter), "=3Dqm" (c) + : : "memory"); return c !=3D 0; -@@ -138,7 +265,35 @@ static inline int atomic_inc_and_test(at +@@ -138,7 +263,35 @@ static inline int atomic_inc_and_test(at { unsigned char c; =20 @@ -7944,8 +6812,8 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ato= mic_64.h linux-2.6.32.48/arch +#endif + + "sete %1\n" -+ : "=3Dm" (v->counter), "=3Dqm" (c) -+ : "m" (v->counter) : "memory"); ++ : "+m" (v->counter), "=3Dqm" (c) ++ : : "memory"); + return c !=3D 0; +} + @@ -7963,10 +6831,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch + + asm volatile(LOCK_PREFIX "incl %0\n" + "sete %1\n" - : "=3Dm" (v->counter), "=3Dqm" (c) - : "m" (v->counter) : "memory"); + : "+m" (v->counter), "=3Dqm" (c) + : : "memory"); return c !=3D 0; -@@ -157,7 +312,16 @@ static inline int atomic_add_negative(in +@@ -157,7 +310,16 @@ static inline int atomic_add_negative(in { unsigned char c; =20 @@ -7981,14 +6849,13 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch +#endif + + "sets %1\n" - : "=3Dm" (v->counter), "=3Dqm" (c) - : "ir" (i), "m" (v->counter) : "memory"); + : "+m" (v->counter), "=3Dqm" (c) + : "ir" (i) : "memory"); return c; -@@ -173,7 +337,31 @@ static inline int atomic_add_negative(in - static inline int atomic_add_return(int i, atomic_t *v) - { - int __i =3D i; -- asm volatile(LOCK_PREFIX "xaddl %0, %1" +@@ -180,6 +342,46 @@ static inline int atomic_add_return(int=20 + #endif + /* Modern 486+ processor */ + __i =3D i; + asm volatile(LOCK_PREFIX "xaddl %0, %1\n" + +#ifdef CONFIG_PAX_REFCOUNT @@ -8001,334 +6868,71 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= atomic_64.h linux-2.6.32.48/arch + : "+r" (i), "+m" (v->counter) + : : "memory"); + return i + __i; ++ ++#ifdef CONFIG_M386 ++no_xadd: /* Legacy 386 processor */ ++ local_irq_save(flags); ++ __i =3D atomic_read(v); ++ atomic_set(v, i + __i); ++ local_irq_restore(flags); ++ return i + __i; ++#endif +} + +/** -+ * atomic_add_return_unchecked - add and return -+ * @i: integer value to add ++ * atomic_add_return_unchecked - add integer and return + * @v: pointer of type atomic_unchecked_t ++ * @i: integer value to add + * + * Atomically adds @i to @v and returns @i + @v + */ +static inline int atomic_add_return_unchecked(int i, atomic_unchecked_t= *v) +{ -+ int __i =3D i; -+ asm volatile(LOCK_PREFIX "xaddl %0, %1\n" - : "+r" (i), "+m" (v->counter) - : : "memory"); - return i + __i; -@@ -185,6 +373,10 @@ static inline int atomic_sub_return(int=20 - } -=20 - #define atomic_inc_return(v) (atomic_add_return(1, v)) -+static inline int atomic_inc_return_unchecked(atomic_unchecked_t *v) -+{ -+ return atomic_add_return_unchecked(1, v); -+} - #define atomic_dec_return(v) (atomic_sub_return(1, v)) -=20 - /* The 64-bit atomic type */ -@@ -204,6 +396,18 @@ static inline long atomic64_read(const a - } -=20 - /** -+ * atomic64_read_unchecked - read atomic64 variable -+ * @v: pointer of type atomic64_unchecked_t -+ * -+ * Atomically reads the value of @v. -+ * Doesn't imply a read memory barrier. -+ */ -+static inline long atomic64_read_unchecked(const atomic64_unchecked_t *= v) -+{ -+ return v->counter; -+} -+ -+/** - * atomic64_set - set atomic64 variable - * @v: pointer to type atomic64_t - * @i: required value -@@ -216,6 +420,18 @@ static inline void atomic64_set(atomic64 - } -=20 - /** -+ * atomic64_set_unchecked - set atomic64 variable -+ * @v: pointer to type atomic64_unchecked_t -+ * @i: required value -+ * -+ * Atomically sets the value of @v to @i. -+ */ -+static inline void atomic64_set_unchecked(atomic64_unchecked_t *v, long= i) -+{ -+ v->counter =3D i; -+} -+ -+/** - * atomic64_add - add integer to atomic64 variable - * @i: integer value to add - * @v: pointer to type atomic64_t -@@ -224,6 +440,28 @@ static inline void atomic64_set(atomic64 - */ - static inline void atomic64_add(long i, atomic64_t *v) - { -+ asm volatile(LOCK_PREFIX "addq %1,%0\n" -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ "jno 0f\n" -+ LOCK_PREFIX "subq %1,%0\n" -+ "int $4\n0:\n" -+ _ASM_EXTABLE(0b, 0b) -+#endif -+ -+ : "=3Dm" (v->counter) -+ : "er" (i), "m" (v->counter)); -+} -+ -+/** -+ * atomic64_add_unchecked - add integer to atomic64 variable -+ * @i: integer value to add -+ * @v: pointer to type atomic64_unchecked_t -+ * -+ * Atomically adds @i to @v. -+ */ -+static inline void atomic64_add_unchecked(long i, atomic64_unchecked_t = *v) -+{ - asm volatile(LOCK_PREFIX "addq %1,%0" - : "=3Dm" (v->counter) - : "er" (i), "m" (v->counter)); -@@ -238,7 +476,15 @@ static inline void atomic64_add(long i,=20 - */ - static inline void atomic64_sub(long i, atomic64_t *v) - { -- asm volatile(LOCK_PREFIX "subq %1,%0" -+ asm volatile(LOCK_PREFIX "subq %1,%0\n" -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ "jno 0f\n" -+ LOCK_PREFIX "addq %1,%0\n" -+ "int $4\n0:\n" -+ _ASM_EXTABLE(0b, 0b) -+#endif -+ - : "=3Dm" (v->counter) - : "er" (i), "m" (v->counter)); - } -@@ -256,7 +502,16 @@ static inline int atomic64_sub_and_test( - { - unsigned char c; -=20 -- asm volatile(LOCK_PREFIX "subq %2,%0; sete %1" -+ asm volatile(LOCK_PREFIX "subq %2,%0\n" -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ "jno 0f\n" -+ LOCK_PREFIX "addq %2,%0\n" -+ "int $4\n0:\n" -+ _ASM_EXTABLE(0b, 0b) -+#endif -+ -+ "sete %1\n" - : "=3Dm" (v->counter), "=3Dqm" (c) - : "er" (i), "m" (v->counter) : "memory"); - return c; -@@ -270,6 +525,27 @@ static inline int atomic64_sub_and_test( - */ - static inline void atomic64_inc(atomic64_t *v) - { -+ asm volatile(LOCK_PREFIX "incq %0\n" -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ "jno 0f\n" -+ LOCK_PREFIX "decq %0\n" -+ "int $4\n0:\n" -+ _ASM_EXTABLE(0b, 0b) -+#endif -+ -+ : "=3Dm" (v->counter) -+ : "m" (v->counter)); -+} -+ -+/** -+ * atomic64_inc_unchecked - increment atomic64 variable -+ * @v: pointer to type atomic64_unchecked_t -+ * -+ * Atomically increments @v by 1. -+ */ -+static inline void atomic64_inc_unchecked(atomic64_unchecked_t *v) -+{ - asm volatile(LOCK_PREFIX "incq %0" - : "=3Dm" (v->counter) - : "m" (v->counter)); -@@ -283,7 +559,28 @@ static inline void atomic64_inc(atomic64 - */ - static inline void atomic64_dec(atomic64_t *v) - { -- asm volatile(LOCK_PREFIX "decq %0" -+ asm volatile(LOCK_PREFIX "decq %0\n" -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ "jno 0f\n" -+ LOCK_PREFIX "incq %0\n" -+ "int $4\n0:\n" -+ _ASM_EXTABLE(0b, 0b) -+#endif -+ -+ : "=3Dm" (v->counter) -+ : "m" (v->counter)); -+} -+ -+/** -+ * atomic64_dec_unchecked - decrement atomic64 variable -+ * @v: pointer to type atomic64_t -+ * -+ * Atomically decrements @v by 1. -+ */ -+static inline void atomic64_dec_unchecked(atomic64_unchecked_t *v) -+{ -+ asm volatile(LOCK_PREFIX "decq %0\n" - : "=3Dm" (v->counter) - : "m" (v->counter)); - } -@@ -300,7 +597,16 @@ static inline int atomic64_dec_and_test( - { - unsigned char c; -=20 -- asm volatile(LOCK_PREFIX "decq %0; sete %1" -+ asm volatile(LOCK_PREFIX "decq %0\n" -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ "jno 0f\n" -+ LOCK_PREFIX "incq %0\n" -+ "int $4\n0:\n" -+ _ASM_EXTABLE(0b, 0b) -+#endif -+ -+ "sete %1\n" - : "=3Dm" (v->counter), "=3Dqm" (c) - : "m" (v->counter) : "memory"); - return c !=3D 0; -@@ -318,7 +624,16 @@ static inline int atomic64_inc_and_test( - { - unsigned char c; -=20 -- asm volatile(LOCK_PREFIX "incq %0; sete %1" -+ asm volatile(LOCK_PREFIX "incq %0\n" -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ "jno 0f\n" -+ LOCK_PREFIX "decq %0\n" -+ "int $4\n0:\n" -+ _ASM_EXTABLE(0b, 0b) -+#endif -+ -+ "sete %1\n" - : "=3Dm" (v->counter), "=3Dqm" (c) - : "m" (v->counter) : "memory"); - return c !=3D 0; -@@ -337,7 +652,16 @@ static inline int atomic64_add_negative( - { - unsigned char c; -=20 -- asm volatile(LOCK_PREFIX "addq %2,%0; sets %1" -+ asm volatile(LOCK_PREFIX "addq %2,%0\n" -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ "jno 0f\n" -+ LOCK_PREFIX "subq %2,%0\n" -+ "int $4\n0:\n" -+ _ASM_EXTABLE(0b, 0b) -+#endif -+ -+ "sets %1\n" - : "=3Dm" (v->counter), "=3Dqm" (c) - : "er" (i), "m" (v->counter) : "memory"); - return c; -@@ -353,7 +677,31 @@ static inline int atomic64_add_negative( - static inline long atomic64_add_return(long i, atomic64_t *v) - { - long __i =3D i; -- asm volatile(LOCK_PREFIX "xaddq %0, %1;" -+ asm volatile(LOCK_PREFIX "xaddq %0, %1\n" -+ -+#ifdef CONFIG_PAX_REFCOUNT -+ "jno 0f\n" -+ "movq %0, %1\n" -+ "int $4\n0:\n" -+ _ASM_EXTABLE(0b, 0b) ++ int __i; ++#ifdef CONFIG_M386 ++ unsigned long flags; ++ if (unlikely(boot_cpu_data.x86 <=3D 3)) ++ goto no_xadd; +#endif -+ -+ : "+r" (i), "+m" (v->counter) -+ : : "memory"); -+ return i + __i; -+} -+ -+/** -+ * atomic64_add_return_unchecked - add and return -+ * @i: integer value to add -+ * @v: pointer to type atomic64_unchecked_t -+ * -+ * Atomically adds @i to @v and returns @i + @v -+ */ -+static inline long atomic64_add_return_unchecked(long i, atomic64_unche= cked_t *v) -+{ -+ long __i =3D i; -+ asm volatile(LOCK_PREFIX "xaddq %0, %1" ++ /* Modern 486+ processor */ ++ __i =3D i; + asm volatile(LOCK_PREFIX "xaddl %0, %1" : "+r" (i), "+m" (v->counter) : : "memory"); - return i + __i; -@@ -365,6 +713,10 @@ static inline long atomic64_sub_return(l +@@ -208,6 +410,10 @@ static inline int atomic_sub_return(int=20 } =20 - #define atomic64_inc_return(v) (atomic64_add_return(1, (v))) -+static inline long atomic64_inc_return_unchecked(atomic64_unchecked_t *= v) -+{ -+ return atomic64_add_return_unchecked(1, v); -+} - #define atomic64_dec_return(v) (atomic64_sub_return(1, (v))) -=20 - static inline long atomic64_cmpxchg(atomic64_t *v, long old, long new) -@@ -372,21 +724,41 @@ static inline long atomic64_cmpxchg(atom - return cmpxchg(&v->counter, old, new); - } -=20 -+static inline long atomic64_cmpxchg_unchecked(atomic64_unchecked_t *v, = long old, long new) + #define atomic_inc_return(v) (atomic_add_return(1, v)) ++static inline int atomic_inc_return_unchecked(atomic_unchecked_t *v) +{ -+ return cmpxchg(&v->counter, old, new); ++ return atomic_add_return_unchecked(1, v); +} -+ - static inline long atomic64_xchg(atomic64_t *v, long new) - { - return xchg(&v->counter, new); - } + #define atomic_dec_return(v) (atomic_sub_return(1, v)) =20 -+static inline long atomic64_xchg_unchecked(atomic64_unchecked_t *v, lon= g new) -+{ -+ return xchg(&v->counter, new); -+} -+ - static inline long atomic_cmpxchg(atomic_t *v, int old, int new) - { + static inline int atomic_cmpxchg(atomic_t *v, int old, int new) +@@ -215,11 +421,21 @@ static inline int atomic_cmpxchg(atomic_ return cmpxchg(&v->counter, old, new); } =20 -+static inline long atomic_cmpxchg_unchecked(atomic_unchecked_t *v, int = old, int new) ++static inline int atomic_cmpxchg_unchecked(atomic_unchecked_t *v, int o= ld, int new) +{ + return cmpxchg(&v->counter, old, new); +} + - static inline long atomic_xchg(atomic_t *v, int new) + static inline int atomic_xchg(atomic_t *v, int new) { return xchg(&v->counter, new); } =20 -+static inline long atomic_xchg_unchecked(atomic_unchecked_t *v, int new= ) ++static inline int atomic_xchg_unchecked(atomic_unchecked_t *v, int new) +{ + return xchg(&v->counter, new); +} + /** - * atomic_add_unless - add unless the number is a given value + * atomic_add_unless - add unless the number is already a given value * @v: pointer of type atomic_t -@@ -398,17 +770,30 @@ static inline long atomic_xchg(atomic_t=20 +@@ -231,21 +447,77 @@ static inline int atomic_xchg(atomic_t * */ static inline int atomic_add_unless(atomic_t *v, int a, int u) { @@ -8363,44 +6967,56 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/a= tomic_64.h linux-2.6.32.48/arch } =20 #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) -@@ -424,17 +809,30 @@ static inline int atomic_add_unless(atom - */ - static inline int atomic64_add_unless(atomic64_t *v, long a, long u) - { -- long c, old; -+ long c, old, new; - c =3D atomic64_read(v); - for (;;) { -- if (unlikely(c =3D=3D (u))) -+ if (unlikely(c =3D=3D u)) - break; -- old =3D atomic64_cmpxchg((v), c, c + (a)); +=20 ++/** ++ * atomic_inc_not_zero_hint - increment if not null ++ * @v: pointer of type atomic_t ++ * @hint: probable value of the atomic before the increment ++ * ++ * This version of atomic_inc_not_zero() gives a hint of probable ++ * value of the atomic. This helps processor to not read the memory ++ * before doing the atomic read/modify/write cycle, lowering ++ * number of bus transactions on some arches. ++ * ++ * Returns: 0 if increment was not done, 1 otherwise. ++ */ ++#define atomic_inc_not_zero_hint atomic_inc_not_zero_hint ++static inline int atomic_inc_not_zero_hint(atomic_t *v, int hint) ++{ ++ int val, c =3D hint, new; + -+ asm volatile("addq %2,%0\n" ++ /* sanity test, should be removed by compiler if hint is a constant */ ++ if (!hint) ++ return atomic_inc_not_zero(v); ++ ++ do { ++ asm volatile("incl %0\n" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ "subq %2,%0\n" ++ "decl %0\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif + + : "=3Dr" (new) -+ : "0" (c), "er" (a)); ++ : "0" (c)); + -+ old =3D atomic64_cmpxchg(v, c, new); - if (likely(old =3D=3D c)) - break; - c =3D old; - } -- return c !=3D (u); -+ return c !=3D u; - } -=20 - /** -diff -urNp linux-2.6.32.48/arch/x86/include/asm/bitops.h linux-2.6.32.48= /arch/x86/include/asm/bitops.h ---- linux-2.6.32.48/arch/x86/include/asm/bitops.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/bitops.h 2011-11-12 12:46:42.00= 0000000 -0500 ++ val =3D atomic_cmpxchg(v, c, new); ++ if (val =3D=3D c) ++ return 1; ++ c =3D val; ++ } while (c); ++ ++ return 0; ++} ++ + /* + * atomic_dec_if_positive - decrement by 1 if old value positive + * @v: pointer of type atomic_t +diff -urNp linux-3.0.8/arch/x86/include/asm/bitops.h linux-3.0.8/arch/x8= 6/include/asm/bitops.h +--- linux-3.0.8/arch/x86/include/asm/bitops.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/bitops.h 2011-08-23 21:47:55.000000= 000 -0400 @@ -38,7 +38,7 @@ * a mask operation on a byte. */ @@ -8410,9 +7026,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/bit= ops.h linux-2.6.32.48/arch/x8 #define CONST_MASK(nr) (1 << ((nr) & 7)) =20 /** -diff -urNp linux-2.6.32.48/arch/x86/include/asm/boot.h linux-2.6.32.48/a= rch/x86/include/asm/boot.h ---- linux-2.6.32.48/arch/x86/include/asm/boot.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/boot.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/boot.h linux-3.0.8/arch/x86/= include/asm/boot.h +--- linux-3.0.8/arch/x86/include/asm/boot.h 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/include/asm/boot.h 2011-08-23 21:47:55.00000000= 0 -0400 @@ -11,10 +11,15 @@ #include =20 @@ -8430,102 +7046,40 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= boot.h linux-2.6.32.48/arch/x86/ /* Minimum kernel alignment, as a power of two */ #ifdef CONFIG_X86_64 #define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT -diff -urNp linux-2.6.32.48/arch/x86/include/asm/cacheflush.h linux-2.6.3= 2.48/arch/x86/include/asm/cacheflush.h ---- linux-2.6.32.48/arch/x86/include/asm/cacheflush.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/cacheflush.h 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -60,7 +60,7 @@ PAGEFLAG(WC, WC) - static inline unsigned long get_page_memtype(struct page *pg) - { - if (!PageUncached(pg) && !PageWC(pg)) +diff -urNp linux-3.0.8/arch/x86/include/asm/cacheflush.h linux-3.0.8/arc= h/x86/include/asm/cacheflush.h +--- linux-3.0.8/arch/x86/include/asm/cacheflush.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/cacheflush.h 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -26,7 +26,7 @@ static inline unsigned long get_page_mem + unsigned long pg_flags =3D pg->flags & _PGMT_MASK; +=20 + if (pg_flags =3D=3D _PGMT_DEFAULT) - return -1; + return ~0UL; - else if (!PageUncached(pg) && PageWC(pg)) + else if (pg_flags =3D=3D _PGMT_WC) return _PAGE_CACHE_WC; - else if (PageUncached(pg) && !PageWC(pg)) -@@ -85,7 +85,7 @@ static inline void set_page_memtype(stru - SetPageWC(pg); - break; - default: -- case -1: -+ case ~0UL: - ClearPageUncached(pg); - ClearPageWC(pg); - break; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/cache.h linux-2.6.32.48/= arch/x86/include/asm/cache.h ---- linux-2.6.32.48/arch/x86/include/asm/cache.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/cache.h 2011-11-12 12:46:42.000= 000000 -0500 -@@ -5,9 +5,10 @@ + else if (pg_flags =3D=3D _PGMT_UC_MINUS) +diff -urNp linux-3.0.8/arch/x86/include/asm/cache.h linux-3.0.8/arch/x86= /include/asm/cache.h +--- linux-3.0.8/arch/x86/include/asm/cache.h 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/include/asm/cache.h 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -5,12 +5,13 @@ =20 /* L1 cache line size */ #define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT) -#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) +#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT) =20 - #define __read_mostly __attribute__((__section__(".data.read_mostly"))) -+#define __read_only __attribute__((__section__(".data.read_only"))) + #define __read_mostly __attribute__((__section__(".data..read_mostly"))= ) ++#define __read_only __attribute__((__section__(".data..read_only"))) =20 - #ifdef CONFIG_X86_VSMP - /* vSMP Internode cacheline shift */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/calling.h linux-2.6.32.4= 8/arch/x86/include/asm/calling.h ---- linux-2.6.32.48/arch/x86/include/asm/calling.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/calling.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -52,32 +52,32 @@ For 32-bit we have the following convent - * for assembly code: - */ + #define INTERNODE_CACHE_SHIFT CONFIG_X86_INTERNODE_CACHE_SHIFT +-#define INTERNODE_CACHE_BYTES (1 << INTERNODE_CACHE_SHIFT) ++#define INTERNODE_CACHE_BYTES (_AC(1,UL) << INTERNODE_CACHE_SHIFT) =20 --#define R15 0 --#define R14 8 --#define R13 16 --#define R12 24 --#define RBP 32 --#define RBX 40 -+#define R15 (0) -+#define R14 (8) -+#define R13 (16) -+#define R12 (24) -+#define RBP (32) -+#define RBX (40) -=20 - /* arguments: interrupts/non tracing syscalls only save up to here: */ --#define R11 48 --#define R10 56 --#define R9 64 --#define R8 72 --#define RAX 80 --#define RCX 88 --#define RDX 96 --#define RSI 104 --#define RDI 112 --#define ORIG_RAX 120 /* + error_code */ -+#define R11 (48) -+#define R10 (56) -+#define R9 (64) -+#define R8 (72) -+#define RAX (80) -+#define RCX (88) -+#define RDX (96) -+#define RSI (104) -+#define RDI (112) -+#define ORIG_RAX (120) /* + error_code */ - /* end of arguments */ -=20 - /* cpu exception frame or undefined in case of fast syscall: */ --#define RIP 128 --#define CS 136 --#define EFLAGS 144 --#define RSP 152 --#define SS 160 -+#define RIP (128) -+#define CS (136) -+#define EFLAGS (144) -+#define RSP (152) -+#define SS (160) -=20 - #define ARGOFFSET R11 - #define SWFRAME ORIG_RAX -diff -urNp linux-2.6.32.48/arch/x86/include/asm/checksum_32.h linux-2.6.= 32.48/arch/x86/include/asm/checksum_32.h ---- linux-2.6.32.48/arch/x86/include/asm/checksum_32.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/checksum_32.h 2011-11-12 12:46:= 42.000000000 -0500 + #ifdef CONFIG_X86_VSMP + #ifdef CONFIG_SMP +diff -urNp linux-3.0.8/arch/x86/include/asm/checksum_32.h linux-3.0.8/ar= ch/x86/include/asm/checksum_32.h +--- linux-3.0.8/arch/x86/include/asm/checksum_32.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/checksum_32.h 2011-08-23 21:47:55.0= 00000000 -0400 @@ -31,6 +31,14 @@ asmlinkage __wsum csum_partial_copy_gene int len, __wsum sum, int *src_err_ptr, int *dst_err_ptr); @@ -8559,9 +7113,21 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ch= ecksum_32.h linux-2.6.32.48/ar len, sum, NULL, err_ptr); =20 if (len) -diff -urNp linux-2.6.32.48/arch/x86/include/asm/desc_defs.h linux-2.6.32= .48/arch/x86/include/asm/desc_defs.h ---- linux-2.6.32.48/arch/x86/include/asm/desc_defs.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/desc_defs.h 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/cpufeature.h linux-3.0.8/arc= h/x86/include/asm/cpufeature.h +--- linux-3.0.8/arch/x86/include/asm/cpufeature.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/cpufeature.h 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -358,7 +358,7 @@ static __always_inline __pure bool __sta + ".section .discard,\"aw\",@progbits\n" + " .byte 0xff + (4f-3f) - (2b-1b)\n" /* size check */ + ".previous\n" +- ".section .altinstr_replacement,\"ax\"\n" ++ ".section .altinstr_replacement,\"a\"\n" + "3: movb $1,%0\n" + "4:\n" + ".previous\n" +diff -urNp linux-3.0.8/arch/x86/include/asm/desc_defs.h linux-3.0.8/arch= /x86/include/asm/desc_defs.h +--- linux-3.0.8/arch/x86/include/asm/desc_defs.h 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/desc_defs.h 2011-08-23 21:47:55.000= 000000 -0400 @@ -31,6 +31,12 @@ struct desc_struct { unsigned base1: 8, type: 4, s: 1, dpl: 2, p: 1; unsigned limit: 4, avl: 1, l: 1, d: 1, g: 1, base2: 8; @@ -8575,26 +7141,26 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/d= esc_defs.h linux-2.6.32.48/arch }; } __attribute__((packed)); =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/desc.h linux-2.6.32.48/a= rch/x86/include/asm/desc.h ---- linux-2.6.32.48/arch/x86/include/asm/desc.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/desc.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/desc.h linux-3.0.8/arch/x86/= include/asm/desc.h +--- linux-3.0.8/arch/x86/include/asm/desc.h 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/include/asm/desc.h 2011-08-23 21:47:55.00000000= 0 -0400 @@ -4,6 +4,7 @@ #include #include #include +#include +=20 #include =20 - static inline void fill_ldt(struct desc_struct *desc, -@@ -15,6 +16,7 @@ static inline void fill_ldt(struct desc_ - desc->base1 =3D (info->base_addr & 0x00ff0000) >> 16; - desc->type =3D (info->read_exec_only ^ 1) << 1; - desc->type |=3D info->contents << 2; -+ desc->type |=3D info->seg_not_present ^ 1; - desc->s =3D 1; - desc->dpl =3D 0x3; - desc->p =3D info->seg_not_present ^ 1; -@@ -31,16 +33,12 @@ static inline void fill_ldt(struct desc_ +@@ -16,6 +17,7 @@ static inline void fill_ldt(struct desc_ +=20 + desc->type =3D (info->read_exec_only ^ 1) << 1; + desc->type |=3D info->contents << 2; ++ desc->type |=3D info->seg_not_present ^ 1; +=20 + desc->s =3D 1; + desc->dpl =3D 0x3; +@@ -34,17 +36,12 @@ static inline void fill_ldt(struct desc_ } =20 extern struct desc_ptr idt_descr; @@ -8603,6 +7169,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/des= c.h linux-2.6.32.48/arch/x86/ -struct gdt_page { - struct desc_struct gdt[GDT_ENTRIES]; -} __attribute__((aligned(PAGE_SIZE))); +- -DECLARE_PER_CPU_PAGE_ALIGNED(struct gdt_page, gdt_page); +extern gate_desc idt_table[256]; =20 @@ -8614,54 +7181,51 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/d= esc.h linux-2.6.32.48/arch/x86/ } =20 #ifdef CONFIG_X86_64 -@@ -65,9 +63,14 @@ static inline void pack_gate(gate_desc * +@@ -69,8 +66,14 @@ static inline void pack_gate(gate_desc * unsigned long base, unsigned dpl, unsigned flags, unsigned short seg) { - gate->a =3D (seg << 16) | (base & 0xffff); -- gate->b =3D (base & 0xffff0000) | -- (((0x80 | type | (dpl << 5)) & 0xff) << 8); -+ gate->gate.offset_low =3D base; -+ gate->gate.seg =3D seg; -+ gate->gate.reserved =3D 0; -+ gate->gate.type =3D type; -+ gate->gate.s =3D 0; -+ gate->gate.dpl =3D dpl; -+ gate->gate.p =3D 1; -+ gate->gate.offset_high =3D base >> 16; +- gate->b =3D (base & 0xffff0000) | (((0x80 | type | (dpl << 5)) & 0xff)= << 8); ++ gate->gate.offset_low =3D base; ++ gate->gate.seg =3D seg; ++ gate->gate.reserved =3D 0; ++ gate->gate.type =3D type; ++ gate->gate.s =3D 0; ++ gate->gate.dpl =3D dpl; ++ gate->gate.p =3D 1; ++ gate->gate.offset_high =3D base >> 16; } =20 #endif -@@ -115,13 +118,17 @@ static inline void paravirt_free_ldt(str - static inline void native_write_idt_entry(gate_desc *idt, int entry, - const gate_desc *gate) +@@ -115,12 +118,16 @@ static inline void paravirt_free_ldt(str +=20 + static inline void native_write_idt_entry(gate_desc *idt, int entry, co= nst gate_desc *gate) { + pax_open_kernel(); memcpy(&idt[entry], gate, sizeof(*gate)); + pax_close_kernel(); } =20 - static inline void native_write_ldt_entry(struct desc_struct *ldt, int = entry, - const void *desc) + static inline void native_write_ldt_entry(struct desc_struct *ldt, int = entry, const void *desc) { + pax_open_kernel(); memcpy(&ldt[entry], desc, 8); + pax_close_kernel(); } =20 - static inline void native_write_gdt_entry(struct desc_struct *gdt, int = entry, -@@ -139,7 +146,10 @@ static inline void native_write_gdt_entr - size =3D sizeof(struct desc_struct); - break; + static inline void +@@ -134,7 +141,9 @@ native_write_gdt_entry(struct desc_struc + default: size =3D sizeof(*gdt); break; } -+ +=20 + pax_open_kernel(); memcpy(&gdt[entry], desc, size); + pax_close_kernel(); } =20 static inline void pack_descriptor(struct desc_struct *desc, unsigned l= ong base, -@@ -211,7 +221,9 @@ static inline void native_set_ldt(const=20 +@@ -207,7 +216,9 @@ static inline void native_set_ldt(const=20 =20 static inline void native_load_tr_desc(void) { @@ -8671,9 +7235,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/des= c.h linux-2.6.32.48/arch/x86/ } =20 static inline void native_load_gdt(const struct desc_ptr *dtr) -@@ -246,8 +258,10 @@ static inline void native_load_tls(struc - unsigned int i; +@@ -244,8 +255,10 @@ static inline void native_load_tls(struc struct desc_struct *gdt =3D get_cpu_gdt_table(cpu); + unsigned int i; =20 + pax_open_kernel(); for (i =3D 0; i < GDT_ENTRY_TLS_ENTRIES; i++) @@ -8682,7 +7246,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/des= c.h linux-2.6.32.48/arch/x86/ } =20 #define _LDT_empty(info) \ -@@ -309,7 +323,7 @@ static inline void set_desc_limit(struct +@@ -307,7 +320,7 @@ static inline void set_desc_limit(struct desc->limit =3D (limit >> 16) & 0xf; } =20 @@ -8691,7 +7255,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/des= c.h linux-2.6.32.48/arch/x86/ unsigned dpl, unsigned ist, unsigned seg) { gate_desc s; -@@ -327,7 +341,7 @@ static inline void _set_gate(int gate, u +@@ -326,7 +339,7 @@ static inline void _set_gate(int gate, u * Pentium F0 0F bugfix can have resulted in the mapped * IDT being write-protected. */ @@ -8700,7 +7264,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/des= c.h linux-2.6.32.48/arch/x86/ { BUG_ON((unsigned)n > 0xFF); _set_gate(n, GATE_INTERRUPT, addr, 0, 0, __KERNEL_CS); -@@ -356,19 +370,19 @@ static inline void alloc_intr_gate(unsig +@@ -356,19 +369,19 @@ static inline void alloc_intr_gate(unsig /* * This routine sets up an interrupt gate at directory privilege level = 3. */ @@ -8723,7 +7287,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/des= c.h linux-2.6.32.48/arch/x86/ { BUG_ON((unsigned)n > 0xFF); _set_gate(n, GATE_TRAP, addr, 0, 0, __KERNEL_CS); -@@ -377,19 +391,31 @@ static inline void set_trap_gate(unsigne +@@ -377,19 +390,31 @@ static inline void set_trap_gate(unsigne static inline void set_task_gate(unsigned int n, unsigned int gdt_entry= ) { BUG_ON((unsigned)n > 0xFF); @@ -8758,76 +7322,22 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/d= esc.h linux-2.6.32.48/arch/x86/ +#endif + #endif /* _ASM_X86_DESC_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/device.h linux-2.6.32.48= /arch/x86/include/asm/device.h ---- linux-2.6.32.48/arch/x86/include/asm/device.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/device.h 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -6,7 +6,7 @@ struct dev_archdata { - void *acpi_handle; - #endif - #ifdef CONFIG_X86_64 --struct dma_map_ops *dma_ops; -+ const struct dma_map_ops *dma_ops; - #endif - #ifdef CONFIG_DMAR - void *iommu; /* hook for IOMMU specific extension */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/dma-mapping.h linux-2.6.= 32.48/arch/x86/include/asm/dma-mapping.h ---- linux-2.6.32.48/arch/x86/include/asm/dma-mapping.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/dma-mapping.h 2011-11-12 12:46:= 42.000000000 -0500 -@@ -25,9 +25,9 @@ extern int iommu_merge; - extern struct device x86_dma_fallback_dev; - extern int panic_on_overflow; -=20 --extern struct dma_map_ops *dma_ops; -+extern const struct dma_map_ops *dma_ops; -=20 --static inline struct dma_map_ops *get_dma_ops(struct device *dev) -+static inline const struct dma_map_ops *get_dma_ops(struct device *dev) - { - #ifdef CONFIG_X86_32 - return dma_ops; -@@ -44,7 +44,7 @@ static inline struct dma_map_ops *get_dm - /* Make sure we keep the same behaviour */ - static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_= addr) - { -- struct dma_map_ops *ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *ops =3D get_dma_ops(dev); - if (ops->mapping_error) - return ops->mapping_error(dev, dma_addr); -=20 -@@ -122,7 +122,7 @@ static inline void * - dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_han= dle, - gfp_t gfp) - { -- struct dma_map_ops *ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *ops =3D get_dma_ops(dev); - void *memory; -=20 - gfp &=3D ~(__GFP_DMA | __GFP_HIGHMEM | __GFP_DMA32); -@@ -149,7 +149,7 @@ dma_alloc_coherent(struct device *dev, s - static inline void dma_free_coherent(struct device *dev, size_t size, - void *vaddr, dma_addr_t bus) - { -- struct dma_map_ops *ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *ops =3D get_dma_ops(dev); -=20 - WARN_ON(irqs_disabled()); /* for portability */ -=20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/e820.h linux-2.6.32.48/a= rch/x86/include/asm/e820.h ---- linux-2.6.32.48/arch/x86/include/asm/e820.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/e820.h 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -133,7 +133,7 @@ extern char *default_machine_specific_me +diff -urNp linux-3.0.8/arch/x86/include/asm/e820.h linux-3.0.8/arch/x86/= include/asm/e820.h +--- linux-3.0.8/arch/x86/include/asm/e820.h 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/include/asm/e820.h 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -69,7 +69,7 @@ struct e820map { + #define ISA_START_ADDRESS 0xa0000 #define ISA_END_ADDRESS 0x100000 - #define is_ISA_range(s, e) ((s) >=3D ISA_START_ADDRESS && (e) < ISA_END= _ADDRESS) =20 -#define BIOS_BEGIN 0x000a0000 +#define BIOS_BEGIN 0x000c0000 #define BIOS_END 0x00100000 =20 - #ifdef __KERNEL__ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/elf.h linux-2.6.32.48/ar= ch/x86/include/asm/elf.h ---- linux-2.6.32.48/arch/x86/include/asm/elf.h 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/elf.h 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -257,7 +257,25 @@ extern int force_personality32; + #define BIOS_ROM_BASE 0xffe00000 +diff -urNp linux-3.0.8/arch/x86/include/asm/elf.h linux-3.0.8/arch/x86/i= nclude/asm/elf.h +--- linux-3.0.8/arch/x86/include/asm/elf.h 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/include/asm/elf.h 2011-08-23 21:47:55.000000000= -0400 +@@ -237,7 +237,25 @@ extern int force_personality32; the loader. We need to make sure that it is out of the way of the p= rogram that it will "exec", and that there is sufficient room for the brk. = */ =20 @@ -8853,7 +7363,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/elf= .h linux-2.6.32.48/arch/x86/i =20 /* This yields a mask that user programs can use to figure out what instruction set this CPU supports. This could be done in user space= , -@@ -310,9 +328,7 @@ do { \ +@@ -290,9 +308,7 @@ do { \ =20 #define ARCH_DLINFO \ do { \ @@ -8864,7 +7374,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/elf= .h linux-2.6.32.48/arch/x86/i } while (0) =20 #define AT_SYSINFO 32 -@@ -323,7 +339,7 @@ do { \ +@@ -303,7 +319,7 @@ do { \ =20 #endif /* !CONFIG_X86_32 */ =20 @@ -8873,7 +7383,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/elf= .h linux-2.6.32.48/arch/x86/i =20 #define VDSO_ENTRY \ ((unsigned long)VDSO32_SYMBOL(VDSO_CURRENT_BASE, vsyscall)) -@@ -337,7 +353,4 @@ extern int arch_setup_additional_pages(s +@@ -317,7 +333,4 @@ extern int arch_setup_additional_pages(s extern int syscall32_setup_pages(struct linux_binprm *, int exstack); #define compat_arch_setup_additional_pages syscall32_setup_pages =20 @@ -8881,9 +7391,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/elf= .h linux-2.6.32.48/arch/x86/i -#define arch_randomize_brk arch_randomize_brk - #endif /* _ASM_X86_ELF_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/emergency-restart.h linu= x-2.6.32.48/arch/x86/include/asm/emergency-restart.h ---- linux-2.6.32.48/arch/x86/include/asm/emergency-restart.h 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/emergency-restart.h 2011-11-12 = 12:46:42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/emergency-restart.h linux-3.= 0.8/arch/x86/include/asm/emergency-restart.h +--- linux-3.0.8/arch/x86/include/asm/emergency-restart.h 2011-07-21 22:1= 7:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/emergency-restart.h 2011-08-23 21:4= 7:55.000000000 -0400 @@ -15,6 +15,6 @@ enum reboot_type { =20 extern enum reboot_type reboot_type; @@ -8892,9 +7402,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/eme= rgency-restart.h linux-2.6.32 +extern void machine_emergency_restart(void) __noreturn; =20 #endif /* _ASM_X86_EMERGENCY_RESTART_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/futex.h linux-2.6.32.48/= arch/x86/include/asm/futex.h ---- linux-2.6.32.48/arch/x86/include/asm/futex.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/futex.h 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/futex.h linux-3.0.8/arch/x86= /include/asm/futex.h +--- linux-3.0.8/arch/x86/include/asm/futex.h 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/include/asm/futex.h 2011-10-06 04:17:55.0000000= 00 -0400 @@ -12,16 +12,18 @@ #include =20 @@ -8915,7 +7425,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/fut= ex.h linux-2.6.32.48/arch/x86 asm volatile("1:\tmovl %2, %0\n" \ "\tmovl\t%0, %3\n" \ "\t" insn "\n" \ -@@ -34,10 +36,10 @@ +@@ -34,7 +36,7 @@ _ASM_EXTABLE(1b, 4b) \ _ASM_EXTABLE(2b, 4b) \ : "=3D&a" (oldval), "=3D&r" (ret), \ @@ -8923,11 +7433,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/fu= tex.h linux-2.6.32.48/arch/x86 + "+m" (*(u32 __user *)____m(uaddr)), "=3D&r" (tem) \ : "r" (oparg), "i" (-EFAULT), "1" (0)) =20 --static inline int futex_atomic_op_inuser(int encoded_op, int __user *ua= ddr) -+static inline int futex_atomic_op_inuser(int encoded_op, u32 __user *ua= ddr) - { - int op =3D (encoded_op >> 28) & 7; - int cmp =3D (encoded_op >> 24) & 15; + static inline int futex_atomic_op_inuser(int encoded_op, u32 __user *ua= ddr) @@ -61,10 +63,10 @@ static inline int futex_atomic_op_inuser =20 switch (op) { @@ -8941,39 +7447,26 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/f= utex.h linux-2.6.32.48/arch/x86 uaddr, oparg); break; case FUTEX_OP_OR: -@@ -109,7 +111,7 @@ static inline int futex_atomic_op_inuser - return ret; - } -=20 --static inline int futex_atomic_cmpxchg_inatomic(int __user *uaddr, int = oldval, -+static inline int futex_atomic_cmpxchg_inatomic(u32 __user *uaddr, int = oldval, - int newval) - { -=20 -@@ -119,16 +121,16 @@ static inline int futex_atomic_cmpxchg_i - return -ENOSYS; - #endif -=20 -- if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int))) -+ if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32))) +@@ -123,13 +125,13 @@ static inline int futex_atomic_cmpxchg_i + if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32))) return -EFAULT; =20 -- asm volatile("1:\t" LOCK_PREFIX "cmpxchgl %3, %1\n" -+ asm volatile("1:\t" LOCK_PREFIX __copyuser_seg"cmpxchgl %3, %1\n" +- asm volatile("1:\t" LOCK_PREFIX "cmpxchgl %4, %2\n" ++ asm volatile("1:\t" LOCK_PREFIX __copyuser_seg"cmpxchgl %4, %2\n" "2:\t.section .fixup, \"ax\"\n" - "3:\tmov %2, %0\n" + "3:\tmov %3, %0\n" "\tjmp 2b\n" "\t.previous\n" _ASM_EXTABLE(1b, 3b) -- : "=3Da" (oldval), "+m" (*uaddr) -+ : "=3Da" (oldval), "+m" (*(u32 *)____m(uaddr)) - : "i" (-EFAULT), "r" (newval), "0" (oldval) +- : "+r" (ret), "=3Da" (oldval), "+m" (*uaddr) ++ : "+r" (ret), "=3Da" (oldval), "+m" (*(u32 __user *)____m(uaddr)= ) + : "i" (-EFAULT), "r" (newval), "1" (oldval) : "memory" ); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/hw_irq.h linux-2.6.32.48= /arch/x86/include/asm/hw_irq.h ---- linux-2.6.32.48/arch/x86/include/asm/hw_irq.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/hw_irq.h 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -92,8 +92,8 @@ extern void setup_ioapic_dest(void); +diff -urNp linux-3.0.8/arch/x86/include/asm/hw_irq.h linux-3.0.8/arch/x8= 6/include/asm/hw_irq.h +--- linux-3.0.8/arch/x86/include/asm/hw_irq.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/hw_irq.h 2011-08-23 21:47:55.000000= 000 -0400 +@@ -137,8 +137,8 @@ extern void setup_ioapic_dest(void); extern void enable_IO_APIC(void); =20 /* Statistics */ @@ -8984,22 +7477,22 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/h= w_irq.h linux-2.6.32.48/arch/x8 =20 /* EISA */ extern void eisa_set_level_irq(unsigned int irq); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/i387.h linux-2.6.32.48/a= rch/x86/include/asm/i387.h ---- linux-2.6.32.48/arch/x86/include/asm/i387.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/i387.h 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -60,6 +60,11 @@ static inline int fxrstor_checking(struc +diff -urNp linux-3.0.8/arch/x86/include/asm/i387.h linux-3.0.8/arch/x86/= include/asm/i387.h +--- linux-3.0.8/arch/x86/include/asm/i387.h 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/include/asm/i387.h 2011-10-06 04:17:55.00000000= 0 -0400 +@@ -92,6 +92,11 @@ static inline int fxrstor_checking(struc { int err; =20 +#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF) + if ((unsigned long)fx < PAX_USER_SHADOW_BASE) -+ fx =3D (struct i387_fxsave_struct *)((void *)fx + PAX_USER_SHADOW_BAS= E); ++ fx =3D (struct i387_fxsave_struct __user *)((void *)fx + PAX_USER_SHA= DOW_BASE); +#endif + - asm volatile("1: rex64/fxrstor (%[fx])\n\t" - "2:\n" - ".section .fixup,\"ax\"\n" -@@ -105,6 +110,11 @@ static inline int fxsave_user(struct i38 + /* See comment in fxsave() below. */ + #ifdef CONFIG_AS_FXSAVEQ + asm volatile("1: fxrstorq %[fx]\n\t" +@@ -121,6 +126,11 @@ static inline int fxsave_user(struct i38 { int err; =20 @@ -9008,11 +7501,11 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/i= 387.h linux-2.6.32.48/arch/x86/ + fx =3D (struct i387_fxsave_struct __user *)((void __user *)fx + PAX_U= SER_SHADOW_BASE); +#endif + - asm volatile("1: rex64/fxsave (%[fx])\n\t" - "2:\n" - ".section .fixup,\"ax\"\n" -@@ -195,13 +205,8 @@ static inline int fxrstor_checking(struc - } + /* + * Clear the bytes not touched by the fxsave and reserved + * for the SW usage. +@@ -213,13 +223,8 @@ static inline void fpu_fxsave(struct fpu + #endif /* CONFIG_X86_64 */ =20 /* We need a safe address that is cheap to find and that is already - in L1 during context switch. The best choices are unfortunately @@ -9027,7 +7520,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/i38= 7.h linux-2.6.32.48/arch/x86/ =20 /* * These must be called with preempt disabled -@@ -291,7 +296,7 @@ static inline void kernel_fpu_begin(void +@@ -312,7 +317,7 @@ static inline void kernel_fpu_begin(void struct thread_info *me =3D current_thread_info(); preempt_disable(); if (me->status & TS_USEDFPU) @@ -9036,39 +7529,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/i= 387.h linux-2.6.32.48/arch/x86/ else clts(); } -diff -urNp linux-2.6.32.48/arch/x86/include/asm/io_32.h linux-2.6.32.48/= arch/x86/include/asm/io_32.h ---- linux-2.6.32.48/arch/x86/include/asm/io_32.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/io_32.h 2011-11-12 12:46:42.000= 000000 -0500 -@@ -3,6 +3,7 @@ -=20 - #include - #include -+#include -=20 - /* - * This file contains the definitions for the x86 IO instructions -@@ -42,6 +43,17 @@ -=20 - #ifdef __KERNEL__ -=20 -+#define ARCH_HAS_VALID_PHYS_ADDR_RANGE -+static inline int valid_phys_addr_range(unsigned long addr, size_t coun= t) -+{ -+ return ((addr + count + PAGE_SIZE - 1) >> PAGE_SHIFT) < (1ULL << (boot= _cpu_data.x86_phys_bits - PAGE_SHIFT)) ? 1 : 0; -+} -+ -+static inline int valid_mmap_phys_addr_range(unsigned long pfn, size_t = count) -+{ -+ return (pfn + (count >> PAGE_SHIFT)) < (1ULL << (boot_cpu_data.x86_phy= s_bits - PAGE_SHIFT)) ? 1 : 0; -+} -+ - #include -=20 - #include -diff -urNp linux-2.6.32.48/arch/x86/include/asm/io_64.h linux-2.6.32.48/= arch/x86/include/asm/io_64.h ---- linux-2.6.32.48/arch/x86/include/asm/io_64.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/io_64.h 2011-11-12 12:46:42.000= 000000 -0500 -@@ -140,6 +140,17 @@ __OUTS(l) +diff -urNp linux-3.0.8/arch/x86/include/asm/io.h linux-3.0.8/arch/x86/in= clude/asm/io.h +--- linux-3.0.8/arch/x86/include/asm/io.h 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/include/asm/io.h 2011-08-23 21:47:55.000000000 = -0400 +@@ -196,6 +196,17 @@ extern void set_iounmap_nonlazy(void); =20 #include =20 @@ -9083,25 +7547,13 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/i= o_64.h linux-2.6.32.48/arch/x86 + return (pfn + (count >> PAGE_SHIFT)) < (1ULL << (boot_cpu_data.x86_phy= s_bits - PAGE_SHIFT)) ? 1 : 0; +} + - #include -=20 - void __memcpy_fromio(void *, unsigned long, unsigned); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/iommu.h linux-2.6.32.48/= arch/x86/include/asm/iommu.h ---- linux-2.6.32.48/arch/x86/include/asm/iommu.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/iommu.h 2011-11-12 12:46:42.000= 000000 -0500 -@@ -3,7 +3,7 @@ -=20 - extern void pci_iommu_shutdown(void); - extern void no_iommu_init(void); --extern struct dma_map_ops nommu_dma_ops; -+extern const struct dma_map_ops nommu_dma_ops; - extern int force_iommu, no_iommu; - extern int iommu_detected; - extern int iommu_pass_through; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/irqflags.h linux-2.6.32.= 48/arch/x86/include/asm/irqflags.h ---- linux-2.6.32.48/arch/x86/include/asm/irqflags.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/irqflags.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -142,6 +142,11 @@ static inline unsigned long __raw_local_ + /* + * Convert a virtual cached pointer to an uncached pointer + */ +diff -urNp linux-3.0.8/arch/x86/include/asm/irqflags.h linux-3.0.8/arch/= x86/include/asm/irqflags.h +--- linux-3.0.8/arch/x86/include/asm/irqflags.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/irqflags.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -140,6 +140,11 @@ static inline unsigned long arch_local_i sti; \ sysexit =20 @@ -9113,13 +7565,13 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/i= rqflags.h linux-2.6.32.48/arch/ #else #define INTERRUPT_RETURN iret #define ENABLE_INTERRUPTS_SYSEXIT sti; sysexit -diff -urNp linux-2.6.32.48/arch/x86/include/asm/kprobes.h linux-2.6.32.4= 8/arch/x86/include/asm/kprobes.h ---- linux-2.6.32.48/arch/x86/include/asm/kprobes.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/kprobes.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -34,13 +34,8 @@ typedef u8 kprobe_opcode_t; - #define BREAKPOINT_INSTRUCTION 0xcc - #define RELATIVEJUMP_INSTRUCTION 0xe9 - #define MAX_INSN_SIZE 16 +diff -urNp linux-3.0.8/arch/x86/include/asm/kprobes.h linux-3.0.8/arch/x= 86/include/asm/kprobes.h +--- linux-3.0.8/arch/x86/include/asm/kprobes.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/kprobes.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -37,13 +37,8 @@ typedef u8 kprobe_opcode_t; + #define RELATIVEJUMP_SIZE 5 + #define RELATIVECALL_OPCODE 0xe8 + #define RELATIVE_ADDR_SIZE 4 -#define MAX_STACK_SIZE 64 -#define MIN_STACK_SIZE(ADDR) \ - (((MAX_STACK_SIZE) < (((unsigned long)current_thread_info()) + \ @@ -9132,24 +7584,30 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/k= probes.h linux-2.6.32.48/arch/x =20 #define flush_insn_slot(p) do { } while (0) =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/kvm_host.h linux-2.6.32.= 48/arch/x86/include/asm/kvm_host.h ---- linux-2.6.32.48/arch/x86/include/asm/kvm_host.h 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/kvm_host.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -534,9 +534,9 @@ struct kvm_x86_ops { - bool (*gb_page_enable)(void); +diff -urNp linux-3.0.8/arch/x86/include/asm/kvm_host.h linux-3.0.8/arch/= x86/include/asm/kvm_host.h +--- linux-3.0.8/arch/x86/include/asm/kvm_host.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/kvm_host.h 2011-08-26 19:49:56.0000= 00000 -0400 +@@ -441,7 +441,7 @@ struct kvm_arch { + unsigned int n_used_mmu_pages; + unsigned int n_requested_mmu_pages; + unsigned int n_max_mmu_pages; +- atomic_t invlpg_counter; ++ atomic_unchecked_t invlpg_counter; + struct hlist_head mmu_page_hash[KVM_NUM_MMU_PAGES]; + /* + * Hash table of struct kvm_mmu_page. +@@ -619,7 +619,7 @@ struct kvm_x86_ops { + enum x86_intercept_stage stage); =20 const struct trace_print_flags *exit_reasons_str; -}; +} __do_const; =20 --extern struct kvm_x86_ops *kvm_x86_ops; -+extern const struct kvm_x86_ops *kvm_x86_ops; -=20 - int kvm_mmu_module_init(void); - void kvm_mmu_module_exit(void); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/local.h linux-2.6.32.48/= arch/x86/include/asm/local.h ---- linux-2.6.32.48/arch/x86/include/asm/local.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/local.h 2011-11-12 12:46:42.000= 000000 -0500 + struct kvm_arch_async_pf { + u32 token; +diff -urNp linux-3.0.8/arch/x86/include/asm/local.h linux-3.0.8/arch/x86= /include/asm/local.h +--- linux-3.0.8/arch/x86/include/asm/local.h 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/include/asm/local.h 2011-08-23 21:47:55.0000000= 00 -0400 @@ -18,26 +18,58 @@ typedef struct { =20 static inline void local_inc(local_t *l) @@ -9302,52 +7760,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/lo= cal.h linux-2.6.32.48/arch/x86 : "+r" (i), "+m" (l->a.counter) : : "memory"); return i + __i; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/microcode.h linux-2.6.32= .48/arch/x86/include/asm/microcode.h ---- linux-2.6.32.48/arch/x86/include/asm/microcode.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/microcode.h 2011-11-12 12:46:42= .000000000 -0500 -@@ -12,13 +12,13 @@ struct device; - enum ucode_state { UCODE_ERROR, UCODE_OK, UCODE_NFOUND }; -=20 - struct microcode_ops { -- enum ucode_state (*request_microcode_user) (int cpu, -+ enum ucode_state (* const request_microcode_user) (int cpu, - const void __user *buf, size_t size); -=20 -- enum ucode_state (*request_microcode_fw) (int cpu, -+ enum ucode_state (* const request_microcode_fw) (int cpu, - struct device *device); -=20 -- void (*microcode_fini_cpu) (int cpu); -+ void (* const microcode_fini_cpu) (int cpu); -=20 - /* - * The generic 'microcode_core' part guarantees that -@@ -38,18 +38,18 @@ struct ucode_cpu_info { - extern struct ucode_cpu_info ucode_cpu_info[]; -=20 - #ifdef CONFIG_MICROCODE_INTEL --extern struct microcode_ops * __init init_intel_microcode(void); -+extern const struct microcode_ops * __init init_intel_microcode(void); - #else --static inline struct microcode_ops * __init init_intel_microcode(void) -+static inline const struct microcode_ops * __init init_intel_microcode(= void) - { - return NULL; - } - #endif /* CONFIG_MICROCODE_INTEL */ -=20 - #ifdef CONFIG_MICROCODE_AMD --extern struct microcode_ops * __init init_amd_microcode(void); -+extern const struct microcode_ops * __init init_amd_microcode(void); - #else --static inline struct microcode_ops * __init init_amd_microcode(void) -+static inline const struct microcode_ops * __init init_amd_microcode(vo= id) - { - return NULL; - } -diff -urNp linux-2.6.32.48/arch/x86/include/asm/mman.h linux-2.6.32.48/a= rch/x86/include/asm/mman.h ---- linux-2.6.32.48/arch/x86/include/asm/mman.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/mman.h 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/mman.h linux-3.0.8/arch/x86/= include/asm/mman.h +--- linux-3.0.8/arch/x86/include/asm/mman.h 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/include/asm/mman.h 2011-08-23 21:47:55.00000000= 0 -0400 @@ -5,4 +5,14 @@ =20 #include @@ -9363,9 +7778,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/mma= n.h linux-2.6.32.48/arch/x86/ +#endif + #endif /* _ASM_X86_MMAN_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/mmu_context.h linux-2.6.= 32.48/arch/x86/include/asm/mmu_context.h ---- linux-2.6.32.48/arch/x86/include/asm/mmu_context.h 2011-11-12 12:44:= 28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/mmu_context.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/mmu_context.h linux-3.0.8/ar= ch/x86/include/asm/mmu_context.h +--- linux-3.0.8/arch/x86/include/asm/mmu_context.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/mmu_context.h 2011-08-23 21:48:14.0= 00000000 -0400 @@ -24,6 +24,18 @@ void destroy_context(struct mm_struct *m =20 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_str= uct *tsk) @@ -9389,7 +7804,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/mmu= _context.h linux-2.6.32.48/ar struct task_struct *tsk) { unsigned cpu =3D smp_processor_id(); -+#if defined(CONFIG_X86_32) && (defined(CONFIG_PAX_PAGEEXEC) || defined(= CONFIG_PAX_SEGMEXEC)) && defined(CONFIG_SMP) ++#if defined(CONFIG_X86_32) && defined(CONFIG_SMP) && (defined(CONFIG_PA= X_PAGEEXEC) || defined(CONFIG_PAX_SEGMEXEC)) + int tlbstate =3D TLBSTATE_OK; +#endif =20 @@ -9423,7 +7838,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/mmu= _context.h linux-2.6.32.48/ar - } + +#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_PAGEEXEC) && defined(C= ONFIG_SMP) -+ if (!nx_enabled) { ++ if (!(__supported_pte_mask & _PAGE_NX)) { + smp_mb__before_clear_bit(); + cpu_clear(cpu, prev->context.cpu_user_cs_mask); + smp_mb__after_clear_bit(); @@ -9468,13 +7883,13 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/m= mu_context.h linux-2.6.32.48/ar load_LDT_nolock(&next->context); + +#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_PAGEEXEC) -+ if (!nx_enabled) ++ if (!(__supported_pte_mask & _PAGE_NX)) + cpu_set(cpu, next->context.cpu_user_cs_mask); +#endif + +#if defined(CONFIG_X86_32) && (defined(CONFIG_PAX_PAGEEXEC) || defined(= CONFIG_PAX_SEGMEXEC)) +#ifdef CONFIG_PAX_PAGEEXEC -+ if (!((next->pax_flags & MF_PAX_PAGEEXEC) && nx_enabled)) ++ if (!((next->pax_flags & MF_PAX_PAGEEXEC) && (__supported_pte_mask &= _PAGE_NX))) +#endif + set_user_cs(next->context.user_cs_base, next->context.user_cs_limit= , cpu); +#endif @@ -9486,16 +7901,21 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/m= mu_context.h linux-2.6.32.48/ar } =20 #define activate_mm(prev, next) \ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/mmu.h linux-2.6.32.48/ar= ch/x86/include/asm/mmu.h ---- linux-2.6.32.48/arch/x86/include/asm/mmu.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/mmu.h 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -9,10 +9,23 @@ +diff -urNp linux-3.0.8/arch/x86/include/asm/mmu.h linux-3.0.8/arch/x86/i= nclude/asm/mmu.h +--- linux-3.0.8/arch/x86/include/asm/mmu.h 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/include/asm/mmu.h 2011-08-23 21:47:55.000000000= -0400 +@@ -9,7 +9,7 @@ * we put the segment information here. */ typedef struct { - void *ldt; + struct desc_struct *ldt; int size; +=20 + #ifdef CONFIG_X86_64 +@@ -18,7 +18,19 @@ typedef struct { + #endif +=20 struct mutex lock; - void *vdso; + unsigned long vdso; @@ -9511,13 +7931,12 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/m= mu.h linux-2.6.32.48/arch/x86/i + +#endif +#endif -+ } mm_context_t; =20 #ifdef CONFIG_SMP -diff -urNp linux-2.6.32.48/arch/x86/include/asm/module.h linux-2.6.32.48= /arch/x86/include/asm/module.h ---- linux-2.6.32.48/arch/x86/include/asm/module.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/module.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/module.h linux-3.0.8/arch/x8= 6/include/asm/module.h +--- linux-3.0.8/arch/x86/include/asm/module.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/module.h 2011-10-07 19:24:31.000000= 000 -0400 @@ -5,6 +5,7 @@ =20 #ifdef CONFIG_X86_64 @@ -9526,23 +7945,12 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/m= odule.h linux-2.6.32.48/arch/x8 #elif defined CONFIG_M386 #define MODULE_PROC_FAMILY "386 " #elif defined CONFIG_M486 -@@ -59,13 +60,24 @@ +@@ -59,8 +60,18 @@ #error unknown processor family #endif =20 -#ifdef CONFIG_X86_32 --# ifdef CONFIG_4KSTACKS --# define MODULE_STACKSIZE "4KSTACKS " --# else --# define MODULE_STACKSIZE "" --# endif --# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE -+#if defined(CONFIG_X86_32) && defined(CONFIG_4KSTACKS) -+#define MODULE_STACKSIZE "4KSTACKS " -+#else -+#define MODULE_STACKSIZE "" -+#endif -+ +-# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY +#ifdef CONFIG_PAX_KERNEXEC +#define MODULE_PAX_KERNEXEC "KERNEXEC " +#else @@ -9555,12 +7963,12 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/m= odule.h linux-2.6.32.48/arch/x8 +#define MODULE_PAX_UDEREF "" +#endif + -+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE MODULE= _PAX_KERNEXEC MODULE_PAX_UDEREF ++#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_PAX_KERNEXEC MOD= ULE_PAX_UDEREF + #endif /* _ASM_X86_MODULE_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/page_64_types.h linux-2.= 6.32.48/arch/x86/include/asm/page_64_types.h ---- linux-2.6.32.48/arch/x86/include/asm/page_64_types.h 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/page_64_types.h 2011-11-12 12:4= 6:42.000000000 -0500 +diff -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 +--- linux-3.0.8/arch/x86/include/asm/page_64_types.h 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/page_64_types.h 2011-08-23 21:47:55= .000000000 -0400 @@ -56,7 +56,7 @@ void copy_page(void *to, void *from); =20 /* duplicated to the one in bootmem.h */ @@ -9570,10 +7978,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= age_64_types.h linux-2.6.32.48/ =20 extern unsigned long __phys_addr(unsigned long); #define __phys_reloc_hide(x) (x) -diff -urNp linux-2.6.32.48/arch/x86/include/asm/paravirt.h linux-2.6.32.= 48/arch/x86/include/asm/paravirt.h ---- linux-2.6.32.48/arch/x86/include/asm/paravirt.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/paravirt.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -648,6 +648,18 @@ static inline void set_pgd(pgd_t *pgdp,=20 +diff -urNp linux-3.0.8/arch/x86/include/asm/paravirt.h linux-3.0.8/arch/= x86/include/asm/paravirt.h +--- linux-3.0.8/arch/x86/include/asm/paravirt.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/paravirt.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -658,6 +658,18 @@ static inline void set_pgd(pgd_t *pgdp,=20 val); } =20 @@ -9592,7 +8000,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/par= avirt.h linux-2.6.32.48/arch/ static inline void pgd_clear(pgd_t *pgdp) { set_pgd(pgdp, __pgd(0)); -@@ -729,6 +741,21 @@ static inline void __set_fixmap(unsigned +@@ -739,6 +751,21 @@ static inline void __set_fixmap(unsigned pv_mmu_ops.set_fixmap(idx, phys, flags); } =20 @@ -9613,8 +8021,8 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/par= avirt.h linux-2.6.32.48/arch/ + #if defined(CONFIG_SMP) && defined(CONFIG_PARAVIRT_SPINLOCKS) =20 - static inline int __raw_spin_is_locked(struct raw_spinlock *lock) -@@ -945,7 +972,7 @@ extern void default_banner(void); + static inline int arch_spin_is_locked(struct arch_spinlock *lock) +@@ -955,7 +982,7 @@ extern void default_banner(void); =20 #define PARA_PATCH(struct, off) ((PARAVIRT_PATCH_##struct + (off= )) / 4) #define PARA_SITE(ptype, clobbers, ops) _PVSITE(ptype, clobbers, ops, .= long, 4) @@ -9623,7 +8031,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/par= avirt.h linux-2.6.32.48/arch/ #endif =20 #define INTERRUPT_RETURN \ -@@ -1022,6 +1049,21 @@ extern void default_banner(void); +@@ -1032,6 +1059,21 @@ extern void default_banner(void); PARA_SITE(PARA_PATCH(pv_cpu_ops, PV_CPU_irq_enable_sysexit), \ CLBR_NONE, \ jmp PARA_INDIRECT(pv_cpu_ops+PV_CPU_irq_enable_sysexit)) @@ -9645,9 +8053,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/par= avirt.h linux-2.6.32.48/arch/ #endif /* CONFIG_X86_32 */ =20 #endif /* __ASSEMBLY__ */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/paravirt_types.h linux-2= .6.32.48/arch/x86/include/asm/paravirt_types.h ---- linux-2.6.32.48/arch/x86/include/asm/paravirt_types.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/paravirt_types.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/paravirt_types.h linux-3.0.8= /arch/x86/include/asm/paravirt_types.h +--- linux-3.0.8/arch/x86/include/asm/paravirt_types.h 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/paravirt_types.h 2011-08-23 21:47:5= 5.000000000 -0400 @@ -78,19 +78,19 @@ struct pv_init_ops { */ unsigned (*patch)(u8 type, u16 clobber, void *insnbuf, @@ -9689,7 +8097,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/par= avirt_types.h linux-2.6.32.48 =20 struct pv_mmu_ops { unsigned long (*read_cr2)(void); -@@ -301,6 +301,7 @@ struct pv_mmu_ops { +@@ -306,6 +306,7 @@ struct pv_mmu_ops { struct paravirt_callee_save make_pud; =20 void (*set_pgd)(pgd_t *pudp, pgd_t pgdval); @@ -9697,7 +8105,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/par= avirt_types.h linux-2.6.32.48 #endif /* PAGETABLE_LEVELS =3D=3D 4 */ #endif /* PAGETABLE_LEVELS >=3D 3 */ =20 -@@ -316,6 +317,12 @@ struct pv_mmu_ops { +@@ -317,6 +318,12 @@ struct pv_mmu_ops { an mfn. We can tell which is which from the index. */ void (*set_fixmap)(unsigned /* enum fixed_addresses */ idx, phys_addr_t phys, pgprot_t flags); @@ -9709,55 +8117,19 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= aravirt_types.h linux-2.6.32.48 + }; =20 - struct raw_spinlock; -@@ -326,7 +333,7 @@ struct pv_lock_ops { - void (*spin_lock_flags)(struct raw_spinlock *lock, unsigned long flags= ); - int (*spin_trylock)(struct raw_spinlock *lock); - void (*spin_unlock)(struct raw_spinlock *lock); + struct arch_spinlock; +@@ -327,7 +334,7 @@ struct pv_lock_ops { + void (*spin_lock_flags)(struct arch_spinlock *lock, unsigned long flag= s); + int (*spin_trylock)(struct arch_spinlock *lock); + void (*spin_unlock)(struct arch_spinlock *lock); -}; +} __no_const; =20 /* This contains all the paravirt structures: we get a convenient * number for each function using the offset which we use to indicate -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pci_x86.h linux-2.6.32.4= 8/arch/x86/include/asm/pci_x86.h ---- linux-2.6.32.48/arch/x86/include/asm/pci_x86.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pci_x86.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -89,16 +89,16 @@ extern int (*pcibios_enable_irq)(struct=20 - extern void (*pcibios_disable_irq)(struct pci_dev *dev); -=20 - struct pci_raw_ops { -- int (*read)(unsigned int domain, unsigned int bus, unsigned int devfn, -+ int (* const read)(unsigned int domain, unsigned int bus, unsigned int= devfn, - int reg, int len, u32 *val); -- int (*write)(unsigned int domain, unsigned int bus, unsigned int devfn= , -+ int (* const write)(unsigned int domain, unsigned int bus, unsigned in= t devfn, - int reg, int len, u32 val); - }; -=20 --extern struct pci_raw_ops *raw_pci_ops; --extern struct pci_raw_ops *raw_pci_ext_ops; -+extern const struct pci_raw_ops *raw_pci_ops; -+extern const struct pci_raw_ops *raw_pci_ext_ops; -=20 --extern struct pci_raw_ops pci_direct_conf1; -+extern const struct pci_raw_ops pci_direct_conf1; - extern bool port_cf9_safe; -=20 - /* arch_initcall level */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/percpu.h linux-2.6.32.48= /arch/x86/include/asm/percpu.h ---- linux-2.6.32.48/arch/x86/include/asm/percpu.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/percpu.h 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -78,6 +78,7 @@ do { \ - if (0) { \ - T__ tmp__; \ - tmp__ =3D (val); \ -+ (void)tmp__; \ - } \ - switch (sizeof(var)) { \ - case 1: \ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgalloc.h linux-2.6.32.4= 8/arch/x86/include/asm/pgalloc.h ---- linux-2.6.32.48/arch/x86/include/asm/pgalloc.h 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgalloc.h 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/pgalloc.h linux-3.0.8/arch/x= 86/include/asm/pgalloc.h +--- linux-3.0.8/arch/x86/include/asm/pgalloc.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/pgalloc.h 2011-08-23 21:47:55.00000= 0000 -0400 @@ -63,6 +63,13 @@ static inline void pmd_populate_kernel(s pmd_t *pmd, pte_t *pte) { @@ -9772,9 +8144,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pga= lloc.h linux-2.6.32.48/arch/x set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE)); } =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable-2level.h linux-2= .6.32.48/arch/x86/include/asm/pgtable-2level.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable-2level.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable-2level.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable-2level.h linux-3.0.8= /arch/x86/include/asm/pgtable-2level.h +--- linux-3.0.8/arch/x86/include/asm/pgtable-2level.h 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/pgtable-2level.h 2011-08-23 21:47:5= 5.000000000 -0400 @@ -18,7 +18,9 @@ static inline void native_set_pte(pte_t=20 =20 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) @@ -9785,33 +8157,33 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= gtable-2level.h linux-2.6.32.48 } =20 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable_32.h linux-2.6.3= 2.48/arch/x86/include/asm/pgtable_32.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable_32.h 2011-11-12 12:44:2= 8.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable_32.h 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -26,9 +26,6 @@ +diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable_32.h linux-3.0.8/arc= h/x86/include/asm/pgtable_32.h +--- linux-3.0.8/arch/x86/include/asm/pgtable_32.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/pgtable_32.h 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -25,9 +25,6 @@ struct mm_struct; struct vm_area_struct; =20 -extern pgd_t swapper_pg_dir[1024]; --extern pgd_t trampoline_pg_dir[1024]; +-extern pgd_t initial_page_table[1024]; - static inline void pgtable_cache_init(void) { } static inline void check_pgt_cache(void) { } void paging_init(void); -@@ -49,6 +46,12 @@ extern void set_pmd_pfn(unsigned long, u +@@ -48,6 +45,12 @@ extern void set_pmd_pfn(unsigned long, u # include #endif =20 +extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; -+extern pgd_t trampoline_pg_dir[PTRS_PER_PGD]; ++extern pgd_t initial_page_table[PTRS_PER_PGD]; +#ifdef CONFIG_X86_PAE +extern pmd_t swapper_pm_dir[PTRS_PER_PGD][PTRS_PER_PMD]; +#endif + #if defined(CONFIG_HIGHPTE) - #define __KM_PTE \ - (in_nmi() ? KM_NMI_PTE : \ -@@ -73,7 +76,9 @@ extern void set_pmd_pfn(unsigned long, u + #define pte_offset_map(dir, address) \ + ((pte_t *)kmap_atomic(pmd_page(*(dir))) + \ +@@ -62,7 +65,9 @@ extern void set_pmd_pfn(unsigned long, u /* Clear a kernel PTE and flush it from the TLB */ #define kpte_clear_flush(ptep, vaddr) \ do { \ @@ -9821,7 +8193,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able_32.h linux-2.6.32.48/arc __flush_tlb_one((vaddr)); \ } while (0) =20 -@@ -85,6 +90,9 @@ do { \ +@@ -74,6 +79,9 @@ do { \ =20 #endif /* !__ASSEMBLY__ */ =20 @@ -9831,9 +8203,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able_32.h linux-2.6.32.48/arc /* * kern_addr_valid() is (1) for FLATMEM and (0) for * SPARSEMEM and DISCONTIGMEM -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable_32_types.h linux= -2.6.32.48/arch/x86/include/asm/pgtable_32_types.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable_32_types.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable_32_types.h 2011-11-12 1= 2:46:42.000000000 -0500 +diff -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 +--- linux-3.0.8/arch/x86/include/asm/pgtable_32_types.h 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/pgtable_32_types.h 2011-08-23 21:47= :55.000000000 -0400 @@ -8,7 +8,7 @@ */ #ifdef CONFIG_X86_PAE @@ -9863,9 +8235,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able_32_types.h linux-2.6.32. #define MODULES_VADDR VMALLOC_START #define MODULES_END VMALLOC_END #define MODULES_LEN (MODULES_VADDR - MODULES_END) -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable-3level.h linux-2= .6.32.48/arch/x86/include/asm/pgtable-3level.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable-3level.h 2011-11-12 12:= 44:28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable-3level.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable-3level.h linux-3.0.8= /arch/x86/include/asm/pgtable-3level.h +--- linux-3.0.8/arch/x86/include/asm/pgtable-3level.h 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/pgtable-3level.h 2011-08-23 21:47:5= 5.000000000 -0400 @@ -38,12 +38,16 @@ static inline void native_set_pte_atomic =20 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) @@ -9883,9 +8255,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able-3level.h linux-2.6.32.48 } =20 /* -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable_64.h linux-2.6.3= 2.48/arch/x86/include/asm/pgtable_64.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable_64.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable_64.h 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable_64.h linux-3.0.8/arc= h/x86/include/asm/pgtable_64.h +--- linux-3.0.8/arch/x86/include/asm/pgtable_64.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/pgtable_64.h 2011-08-23 21:47:55.00= 0000000 -0400 @@ -16,10 +16,13 @@ =20 extern pud_t level3_kernel_pgt[512]; @@ -9902,7 +8274,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able_64.h linux-2.6.32.48/arc =20 #define swapper_pg_dir init_level4_pgt =20 -@@ -74,7 +77,9 @@ static inline pte_t native_ptep_get_and_ +@@ -61,7 +64,9 @@ static inline void native_set_pte_atomic =20 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) { @@ -9912,7 +8284,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able_64.h linux-2.6.32.48/arc } =20 static inline void native_pmd_clear(pmd_t *pmd) -@@ -94,6 +99,13 @@ static inline void native_pud_clear(pud_ +@@ -107,6 +112,13 @@ static inline void native_pud_clear(pud_ =20 static inline void native_set_pgd(pgd_t *pgdp, pgd_t pgd) { @@ -9926,9 +8298,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able_64.h linux-2.6.32.48/arc *pgdp =3D pgd; } =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable_64_types.h linux= -2.6.32.48/arch/x86/include/asm/pgtable_64_types.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable_64_types.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable_64_types.h 2011-11-12 1= 2:46:42.000000000 -0500 +diff -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 +--- linux-3.0.8/arch/x86/include/asm/pgtable_64_types.h 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/pgtable_64_types.h 2011-08-23 21:47= :55.000000000 -0400 @@ -59,5 +59,10 @@ typedef struct { pteval_t pte; } pte_t; #define MODULES_VADDR _AC(0xffffffffa0000000, UL) #define MODULES_END _AC(0xffffffffff000000, UL) @@ -9940,10 +8312,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/p= gtable_64_types.h linux-2.6.32. +#define ktva_ktla(addr) (addr) =20 #endif /* _ASM_X86_PGTABLE_64_DEFS_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable.h linux-2.6.32.4= 8/arch/x86/include/asm/pgtable.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -39,6 +39,7 @@ extern struct list_head pgd_list; +diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable.h linux-3.0.8/arch/x= 86/include/asm/pgtable.h +--- linux-3.0.8/arch/x86/include/asm/pgtable.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/pgtable.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -44,6 +44,7 @@ extern struct mm_struct *pgd_page_get_mm =20 #ifndef __PAGETABLE_PUD_FOLDED #define set_pgd(pgdp, pgd) native_set_pgd(pgdp, pgd) @@ -9951,7 +8323,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgt= able.h linux-2.6.32.48/arch/x #define pgd_clear(pgd) native_pgd_clear(pgd) #endif =20 -@@ -74,12 +75,51 @@ extern struct list_head pgd_list; +@@ -81,12 +82,51 @@ extern struct mm_struct *pgd_page_get_mm =20 #define arch_end_context_switch(prev) do {} while(0) =20 @@ -10003,7 +8375,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table.h linux-2.6.32.48/arch/x static inline int pte_dirty(pte_t pte) { return pte_flags(pte) & _PAGE_DIRTY; -@@ -167,9 +207,29 @@ static inline pte_t pte_wrprotect(pte_t=20 +@@ -196,9 +236,29 @@ static inline pte_t pte_wrprotect(pte_t=20 return pte_clear_flags(pte, _PAGE_RW); } =20 @@ -10034,7 +8406,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table.h linux-2.6.32.48/arch/x } =20 static inline pte_t pte_mkdirty(pte_t pte) -@@ -302,6 +362,15 @@ pte_t *populate_extra_pte(unsigned long=20 +@@ -390,6 +450,15 @@ pte_t *populate_extra_pte(unsigned long=20 #endif =20 #ifndef __ASSEMBLY__ @@ -10050,7 +8422,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table.h linux-2.6.32.48/arch/x #include =20 static inline int pte_none(pte_t pte) -@@ -472,7 +541,7 @@ static inline pud_t *pud_offset(pgd_t *p +@@ -560,7 +629,7 @@ static inline pud_t *pud_offset(pgd_t *p =20 static inline int pgd_bad(pgd_t pgd) { @@ -10059,7 +8431,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table.h linux-2.6.32.48/arch/x } =20 static inline int pgd_none(pgd_t pgd) -@@ -495,7 +564,12 @@ static inline int pgd_none(pgd_t pgd) +@@ -583,7 +652,12 @@ static inline int pgd_none(pgd_t pgd) * pgd_offset() returns a (pgd_t *) * pgd_index() is used get the offset into the pgd page's array of pgd_= t's; */ @@ -10073,7 +8445,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table.h linux-2.6.32.48/arch/x /* * a shortcut which implies the use of the kernel's pgd, instead * of a process's -@@ -506,6 +580,20 @@ static inline int pgd_none(pgd_t pgd) +@@ -594,6 +668,20 @@ static inline int pgd_none(pgd_t pgd) #define KERNEL_PGD_BOUNDARY pgd_index(PAGE_OFFSET) #define KERNEL_PGD_PTRS (PTRS_PER_PGD - KERNEL_PGD_BOUNDARY) =20 @@ -10094,7 +8466,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table.h linux-2.6.32.48/arch/x #ifndef __ASSEMBLY__ =20 extern int direct_gbpages; -@@ -611,11 +699,23 @@ static inline void ptep_set_wrprotect(st +@@ -758,11 +846,23 @@ static inline void pmdp_set_wrprotect(st * dst and src can be on the same page, but the range must not overlap, * and must not cross a page boundary. */ @@ -10120,10 +8492,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= pgtable.h linux-2.6.32.48/arch/x =20 #include #endif /* __ASSEMBLY__ */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/pgtable_types.h linux-2.= 6.32.48/arch/x86/include/asm/pgtable_types.h ---- linux-2.6.32.48/arch/x86/include/asm/pgtable_types.h 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/pgtable_types.h 2011-11-12 12:4= 6:42.000000000 -0500 -@@ -16,12 +16,11 @@ +diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable_types.h linux-3.0.8/= arch/x86/include/asm/pgtable_types.h +--- linux-3.0.8/arch/x86/include/asm/pgtable_types.h 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/pgtable_types.h 2011-08-23 21:47:55= .000000000 -0400 +@@ -16,13 +16,12 @@ #define _PAGE_BIT_PSE 7 /* 4 MB (or 2MB) page */ #define _PAGE_BIT_PAT 7 /* on 4KB pages */ #define _PAGE_BIT_GLOBAL 8 /* Global TLB entry PPro+ */ @@ -10134,11 +8506,13 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= pgtable_types.h linux-2.6.32.48/ #define _PAGE_BIT_PAT_LARGE 12 /* On 2MB or 1GB pages */ -#define _PAGE_BIT_SPECIAL _PAGE_BIT_UNUSED1 -#define _PAGE_BIT_CPA_TEST _PAGE_BIT_UNUSED1 +-#define _PAGE_BIT_SPLITTING _PAGE_BIT_UNUSED1 /* only valid on a PSE pm= d */ +#define _PAGE_BIT_CPA_TEST _PAGE_BIT_SPECIAL ++#define _PAGE_BIT_SPLITTING _PAGE_BIT_SPECIAL /* only valid on a PSE pm= d */ #define _PAGE_BIT_NX 63 /* No execute: only valid after= cpuid check */ =20 /* If _PAGE_BIT_PRESENT is clear, we use these: */ -@@ -39,7 +38,6 @@ +@@ -40,7 +39,6 @@ #define _PAGE_DIRTY (_AT(pteval_t, 1) << _PAGE_BIT_DIRTY) #define _PAGE_PSE (_AT(pteval_t, 1) << _PAGE_BIT_PSE) #define _PAGE_GLOBAL (_AT(pteval_t, 1) << _PAGE_BIT_GLOBAL) @@ -10146,7 +8520,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table_types.h linux-2.6.32.48/ #define _PAGE_IOMAP (_AT(pteval_t, 1) << _PAGE_BIT_IOMAP) #define _PAGE_PAT (_AT(pteval_t, 1) << _PAGE_BIT_PAT) #define _PAGE_PAT_LARGE (_AT(pteval_t, 1) << _PAGE_BIT_PAT_LARGE) -@@ -55,8 +53,10 @@ +@@ -57,8 +55,10 @@ =20 #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) #define _PAGE_NX (_AT(pteval_t, 1) << _PAGE_BIT_NX) @@ -10158,7 +8532,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table_types.h linux-2.6.32.48/ #endif =20 #define _PAGE_FILE (_AT(pteval_t, 1) << _PAGE_BIT_FILE) -@@ -93,6 +93,9 @@ +@@ -96,6 +96,9 @@ #define PAGE_READONLY_EXEC __pgprot(_PAGE_PRESENT | _PAGE_USER | \ _PAGE_ACCESSED) =20 @@ -10168,7 +8542,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table_types.h linux-2.6.32.48/ #define __PAGE_KERNEL_EXEC \ (_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED | _PAGE_GLOBA= L) #define __PAGE_KERNEL (__PAGE_KERNEL_EXEC | _PAGE_NX) -@@ -103,8 +106,8 @@ +@@ -106,8 +109,8 @@ #define __PAGE_KERNEL_WC (__PAGE_KERNEL | _PAGE_CACHE_WC) #define __PAGE_KERNEL_NOCACHE (__PAGE_KERNEL | _PAGE_PCD | _PAGE_PWT) #define __PAGE_KERNEL_UC_MINUS (__PAGE_KERNEL | _PAGE_PCD) @@ -10179,7 +8553,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table_types.h linux-2.6.32.48/ #define __PAGE_KERNEL_LARGE (__PAGE_KERNEL | _PAGE_PSE) #define __PAGE_KERNEL_LARGE_NOCACHE (__PAGE_KERNEL | _PAGE_CACHE_UC | _= PAGE_PSE) #define __PAGE_KERNEL_LARGE_EXEC (__PAGE_KERNEL_EXEC | _PAGE_PSE) -@@ -163,8 +166,8 @@ +@@ -166,8 +169,8 @@ * bits are combined, this will alow user to access the high address ma= pped * VDSO in the presence of CONFIG_COMPAT_VDSO */ @@ -10190,7 +8564,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table_types.h linux-2.6.32.48/ #define PGD_IDENT_ATTR 0x001 /* PRESENT (no other attributes) */ #endif =20 -@@ -202,7 +205,17 @@ static inline pgdval_t pgd_flags(pgd_t p +@@ -205,7 +208,17 @@ static inline pgdval_t pgd_flags(pgd_t p { return native_pgd_val(pgd) & PTE_FLAGS_MASK; } @@ -10208,7 +8582,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table_types.h linux-2.6.32.48/ #if PAGETABLE_LEVELS > 3 typedef struct { pudval_t pud; } pud_t; =20 -@@ -216,8 +229,6 @@ static inline pudval_t native_pud_val(pu +@@ -219,8 +232,6 @@ static inline pudval_t native_pud_val(pu return pud.pud; } #else @@ -10217,7 +8591,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pg= table_types.h linux-2.6.32.48/ static inline pudval_t native_pud_val(pud_t pud) { return native_pgd_val(pud.pgd); -@@ -237,8 +248,6 @@ static inline pmdval_t native_pmd_val(pm +@@ -240,8 +251,6 @@ static inline pmdval_t native_pmd_val(pm return pmd.pmd; } #else @@ -10226,27 +8600,18 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= pgtable_types.h linux-2.6.32.48/ static inline pmdval_t native_pmd_val(pmd_t pmd) { return native_pgd_val(pmd.pud.pgd); -@@ -278,7 +287,16 @@ typedef struct page *pgtable_t; +@@ -281,7 +290,6 @@ typedef struct page *pgtable_t; =20 extern pteval_t __supported_pte_mask; extern void set_nx(void); -+ -+#ifdef CONFIG_X86_32 -+#ifdef CONFIG_X86_PAE - extern int nx_enabled; -+#else -+#define nx_enabled (0) -+#endif -+#else -+#define nx_enabled (1) -+#endif +-extern int nx_enabled; =20 #define pgprot_writecombine pgprot_writecombine extern pgprot_t pgprot_writecombine(pgprot_t prot); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/processor.h linux-2.6.32= .48/arch/x86/include/asm/processor.h ---- linux-2.6.32.48/arch/x86/include/asm/processor.h 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/processor.h 2011-11-12 12:46:42= .000000000 -0500 -@@ -272,7 +272,7 @@ struct tss_struct { +diff -urNp linux-3.0.8/arch/x86/include/asm/processor.h linux-3.0.8/arch= /x86/include/asm/processor.h +--- linux-3.0.8/arch/x86/include/asm/processor.h 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/processor.h 2011-08-23 21:47:55.000= 000000 -0400 +@@ -266,7 +266,7 @@ struct tss_struct { =20 } ____cacheline_aligned; =20 @@ -10255,7 +8620,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pr= ocessor.h linux-2.6.32.48/arch =20 /* * Save the original ist values for checking stack pointers during debu= gging -@@ -911,11 +911,18 @@ static inline void spin_lock_prefetch(co +@@ -860,11 +860,18 @@ static inline void spin_lock_prefetch(co */ #define TASK_SIZE PAGE_OFFSET #define TASK_SIZE_MAX TASK_SIZE @@ -10276,7 +8641,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pr= ocessor.h linux-2.6.32.48/arch .vm86_info =3D NULL, \ .sysenter_cs =3D __KERNEL_CS, \ .io_bitmap_ptr =3D NULL, \ -@@ -929,7 +936,7 @@ static inline void spin_lock_prefetch(co +@@ -878,7 +885,7 @@ static inline void spin_lock_prefetch(co */ #define INIT_TSS { \ .x86_tss =3D { \ @@ -10285,7 +8650,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pr= ocessor.h linux-2.6.32.48/arch .ss0 =3D __KERNEL_DS, \ .ss1 =3D __KERNEL_CS, \ .io_bitmap_base =3D INVALID_IO_BITMAP_OFFSET, \ -@@ -940,11 +947,7 @@ static inline void spin_lock_prefetch(co +@@ -889,11 +896,7 @@ static inline void spin_lock_prefetch(co extern unsigned long thread_saved_pc(struct task_struct *tsk); =20 #define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long)) @@ -10298,7 +8663,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pr= ocessor.h linux-2.6.32.48/arch =20 /* * The below -8 is to reserve 8 bytes on top of the ring0 stack. -@@ -959,7 +962,7 @@ extern unsigned long thread_saved_pc(str +@@ -908,7 +911,7 @@ extern unsigned long thread_saved_pc(str #define task_pt_regs(task) = \ ({ = \ struct pt_regs *__regs__; = \ @@ -10307,7 +8672,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pr= ocessor.h linux-2.6.32.48/arch __regs__ - 1; = \ }) =20 -@@ -969,13 +972,13 @@ extern unsigned long thread_saved_pc(str +@@ -918,13 +921,13 @@ extern unsigned long thread_saved_pc(str /* * User space process size. 47bits minus one guard page. */ @@ -10323,7 +8688,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pr= ocessor.h linux-2.6.32.48/arch =20 #define TASK_SIZE (test_thread_flag(TIF_IA32) ? \ IA32_PAGE_OFFSET : TASK_SIZE_MAX) -@@ -986,11 +989,11 @@ extern unsigned long thread_saved_pc(str +@@ -935,11 +938,11 @@ extern unsigned long thread_saved_pc(str #define STACK_TOP_MAX TASK_SIZE_MAX =20 #define INIT_THREAD { \ @@ -10337,7 +8702,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pr= ocessor.h linux-2.6.32.48/arch } =20 /* -@@ -1012,6 +1015,10 @@ extern void start_thread(struct pt_regs=20 +@@ -961,6 +964,10 @@ extern void start_thread(struct pt_regs=20 */ #define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3)) =20 @@ -10348,10 +8713,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= processor.h linux-2.6.32.48/arch #define KSTK_EIP(task) (task_pt_regs(task)->ip) =20 /* Get/set a process' ability to use the timestamp counter instruction = */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/ptrace.h linux-2.6.32.48= /arch/x86/include/asm/ptrace.h ---- linux-2.6.32.48/arch/x86/include/asm/ptrace.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/ptrace.h 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -151,28 +151,29 @@ static inline unsigned long regs_return_ +diff -urNp linux-3.0.8/arch/x86/include/asm/ptrace.h linux-3.0.8/arch/x8= 6/include/asm/ptrace.h +--- linux-3.0.8/arch/x86/include/asm/ptrace.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/ptrace.h 2011-08-23 21:47:55.000000= 000 -0400 +@@ -153,28 +153,29 @@ static inline unsigned long regs_return_ } =20 /* @@ -10387,9 +8752,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/pt= race.h linux-2.6.32.48/arch/x8 #endif } =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/reboot.h linux-2.6.32.48= /arch/x86/include/asm/reboot.h ---- linux-2.6.32.48/arch/x86/include/asm/reboot.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/reboot.h 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/reboot.h linux-3.0.8/arch/x8= 6/include/asm/reboot.h +--- linux-3.0.8/arch/x86/include/asm/reboot.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/reboot.h 2011-08-23 21:47:55.000000= 000 -0400 @@ -6,19 +6,19 @@ struct pt_regs; =20 @@ -10411,30 +8776,30 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= reboot.h linux-2.6.32.48/arch/x8 =20 void native_machine_crash_shutdown(struct pt_regs *regs); void native_machine_shutdown(void); --void machine_real_restart(const unsigned char *code, int length); -+void machine_real_restart(const unsigned char *code, unsigned int lengt= h) __noreturn; -=20 - typedef void (*nmi_shootdown_cb)(int, struct die_args*); - void nmi_shootdown_cpus(nmi_shootdown_cb callback); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/rwsem.h linux-2.6.32.48/= arch/x86/include/asm/rwsem.h ---- linux-2.6.32.48/arch/x86/include/asm/rwsem.h 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/rwsem.h 2011-11-12 12:46:42.000= 000000 -0500 -@@ -118,6 +118,14 @@ static inline void __down_read(struct rw +-void machine_real_restart(unsigned int type); ++void machine_real_restart(unsigned int type) __noreturn; + /* These must match dispatch_table in reboot_32.S */ + #define MRR_BIOS 0 + #define MRR_APM 1 +diff -urNp linux-3.0.8/arch/x86/include/asm/rwsem.h linux-3.0.8/arch/x86= /include/asm/rwsem.h +--- linux-3.0.8/arch/x86/include/asm/rwsem.h 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/include/asm/rwsem.h 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -64,6 +64,14 @@ static inline void __down_read(struct rw { asm volatile("# beginning down_read\n\t" LOCK_PREFIX _ASM_INC "(%1)\n\t" + +#ifdef CONFIG_PAX_REFCOUNT + "jno 0f\n" -+ LOCK_PREFIX _ASM_DEC "(%1)\n\t" ++ LOCK_PREFIX _ASM_DEC "(%1)\n" + "int $4\n0:\n" + _ASM_EXTABLE(0b, 0b) +#endif + - /* adds 0x00000001, returns the old value */ + /* adds 0x00000001 */ " jns 1f\n" " call call_rwsem_down_read_failed\n" -@@ -139,6 +147,14 @@ static inline int __down_read_trylock(st +@@ -85,6 +93,14 @@ static inline int __down_read_trylock(st "1:\n\t" " mov %1,%2\n\t" " add %3,%2\n\t" @@ -10449,8 +8814,8 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/rw= sem.h linux-2.6.32.48/arch/x86 " jle 2f\n\t" LOCK_PREFIX " cmpxchg %2,%0\n\t" " jnz 1b\n\t" -@@ -160,6 +176,14 @@ static inline void __down_write_nested(s - tmp =3D RWSEM_ACTIVE_WRITE_BIAS; +@@ -104,6 +120,14 @@ static inline void __down_write_nested(s + long tmp; asm volatile("# beginning down_write\n\t" LOCK_PREFIX " xadd %1,(%2)\n\t" + @@ -10461,11 +8826,11 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= rwsem.h linux-2.6.32.48/arch/x86 + _ASM_EXTABLE(0b, 0b) +#endif + - /* subtract 0x0000ffff, returns the old value */ + /* adds 0xffff0001, returns the old value */ " test %1,%1\n\t" /* was the count 0 before? */ -@@ -198,6 +222,14 @@ static inline void __up_read(struct rw_s - rwsem_count_t tmp =3D -RWSEM_ACTIVE_READ_BIAS; +@@ -141,6 +165,14 @@ static inline void __up_read(struct rw_s + long tmp; asm volatile("# beginning __up_read\n\t" LOCK_PREFIX " xadd %1,(%2)\n\t" + @@ -10478,9 +8843,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/rw= sem.h linux-2.6.32.48/arch/x86 + /* subtracts 1, returns the old value */ " jns 1f\n\t" - " call call_rwsem_wake\n" -@@ -216,6 +248,14 @@ static inline void __up_write(struct rw_ - rwsem_count_t tmp; + " call call_rwsem_wake\n" /* expects old value in %edx */ +@@ -159,6 +191,14 @@ static inline void __up_write(struct rw_ + long tmp; asm volatile("# beginning __up_write\n\t" LOCK_PREFIX " xadd %1,(%2)\n\t" + @@ -10491,10 +8856,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= rwsem.h linux-2.6.32.48/arch/x86 + _ASM_EXTABLE(0b, 0b) +#endif + - /* tries to transition - 0xffff0001 -> 0x00000000 */ - " jz 1f\n" -@@ -234,6 +274,14 @@ static inline void __downgrade_write(str + /* subtracts 0xffff0001, returns the old value */ + " jns 1f\n\t" + " call call_rwsem_wake\n" /* expects old value in %edx */ +@@ -176,6 +216,14 @@ static inline void __downgrade_write(str { asm volatile("# beginning __downgrade_write\n\t" LOCK_PREFIX _ASM_ADD "%2,(%1)\n\t" @@ -10509,9 +8874,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/rw= sem.h linux-2.6.32.48/arch/x86 /* * transitions 0xZZZZ0001 -> 0xYYYY0001 (i386) * 0xZZZZZZZZ00000001 -> 0xYYYYYYYY00000001 (x86_64) -@@ -253,7 +301,15 @@ static inline void __downgrade_write(str - static inline void rwsem_atomic_add(rwsem_count_t delta, - struct rw_semaphore *sem) +@@ -194,7 +242,15 @@ static inline void __downgrade_write(str + */ + static inline void rwsem_atomic_add(long delta, struct rw_semaphore *se= m) { - asm volatile(LOCK_PREFIX _ASM_ADD "%1,%0" + asm volatile(LOCK_PREFIX _ASM_ADD "%1,%0\n" @@ -10526,9 +8891,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/rw= sem.h linux-2.6.32.48/arch/x86 : "+m" (sem->count) : "er" (delta)); } -@@ -266,7 +322,15 @@ static inline rwsem_count_t rwsem_atomic +@@ -206,7 +262,15 @@ static inline long rwsem_atomic_update(l { - rwsem_count_t tmp =3D delta; + long tmp =3D delta; =20 - asm volatile(LOCK_PREFIX "xadd %0,%1" + asm volatile(LOCK_PREFIX "xadd %0,%1\n" @@ -10543,10 +8908,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= rwsem.h linux-2.6.32.48/arch/x86 : "+r" (tmp), "+m" (sem->count) : : "memory"); =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/segment.h linux-2.6.32.4= 8/arch/x86/include/asm/segment.h ---- linux-2.6.32.48/arch/x86/include/asm/segment.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/segment.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -62,10 +62,15 @@ +diff -urNp linux-3.0.8/arch/x86/include/asm/segment.h linux-3.0.8/arch/x= 86/include/asm/segment.h +--- linux-3.0.8/arch/x86/include/asm/segment.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/segment.h 2011-09-17 00:53:42.00000= 0000 -0400 +@@ -64,10 +64,15 @@ * 26 - ESPFIX small SS * 27 - per-cpu [ offset to per-cpu data area ] * 28 - stack_canary-20 [ for stack protector ] @@ -10564,38 +8929,29 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= segment.h linux-2.6.32.48/arch/x #define GDT_ENTRY_TLS_MIN 6 #define GDT_ENTRY_TLS_MAX (GDT_ENTRY_TLS_MIN + GDT_ENTRY_TLS_ENTRIES -= 1) =20 -@@ -77,6 +82,8 @@ +@@ -79,6 +84,8 @@ =20 - #define GDT_ENTRY_KERNEL_CS (GDT_ENTRY_KERNEL_BASE + 0) + #define GDT_ENTRY_KERNEL_CS (GDT_ENTRY_KERNEL_BASE+0) =20 +#define GDT_ENTRY_KERNEXEC_KERNEL_CS (4) + - #define GDT_ENTRY_KERNEL_DS (GDT_ENTRY_KERNEL_BASE + 1) -=20 - #define GDT_ENTRY_TSS (GDT_ENTRY_KERNEL_BASE + 4) -@@ -88,7 +95,7 @@ - #define GDT_ENTRY_ESPFIX_SS (GDT_ENTRY_KERNEL_BASE + 14) - #define __ESPFIX_SS (GDT_ENTRY_ESPFIX_SS * 8) + #define GDT_ENTRY_KERNEL_DS (GDT_ENTRY_KERNEL_BASE+1) =20 --#define GDT_ENTRY_PERCPU (GDT_ENTRY_KERNEL_BASE + 15) -+#define GDT_ENTRY_PERCPU (GDT_ENTRY_KERNEL_BASE + 15) - #ifdef CONFIG_SMP - #define __KERNEL_PERCPU (GDT_ENTRY_PERCPU * 8) - #else -@@ -102,6 +109,12 @@ + #define GDT_ENTRY_TSS (GDT_ENTRY_KERNEL_BASE+4) +@@ -104,6 +111,12 @@ #define __KERNEL_STACK_CANARY 0 #endif =20 -+#define GDT_ENTRY_PCIBIOS_CS (GDT_ENTRY_KERNEL_BASE + 17) ++#define GDT_ENTRY_PCIBIOS_CS (GDT_ENTRY_KERNEL_BASE+17) +#define __PCIBIOS_CS (GDT_ENTRY_PCIBIOS_CS * 8) + -+#define GDT_ENTRY_PCIBIOS_DS (GDT_ENTRY_KERNEL_BASE + 18) ++#define GDT_ENTRY_PCIBIOS_DS (GDT_ENTRY_KERNEL_BASE+18) +#define __PCIBIOS_DS (GDT_ENTRY_PCIBIOS_DS * 8) + #define GDT_ENTRY_DOUBLEFAULT_TSS 31 =20 /* -@@ -139,7 +152,7 @@ +@@ -141,7 +154,7 @@ */ =20 /* Matches PNP_CS32 and PNP_CS16 (they must be consecutive) */ @@ -10604,7 +8960,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/se= gment.h linux-2.6.32.48/arch/x =20 =20 #else -@@ -163,6 +176,8 @@ +@@ -165,6 +178,8 @@ #define __USER32_CS (GDT_ENTRY_DEFAULT_USER32_CS * 8 + 3) #define __USER32_DS __USER_DS =20 @@ -10613,39 +8969,27 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= segment.h linux-2.6.32.48/arch/x #define GDT_ENTRY_TSS 8 /* needs two entries */ #define GDT_ENTRY_LDT 10 /* needs two entries */ #define GDT_ENTRY_TLS_MIN 12 -@@ -183,6 +198,7 @@ +@@ -185,6 +200,7 @@ #endif =20 - #define __KERNEL_CS (GDT_ENTRY_KERNEL_CS * 8) -+#define __KERNEXEC_KERNEL_CS (GDT_ENTRY_KERNEXEC_KERNEL_CS * 8) - #define __KERNEL_DS (GDT_ENTRY_KERNEL_DS * 8) - #define __USER_DS (GDT_ENTRY_DEFAULT_USER_DS* 8 + 3) - #define __USER_CS (GDT_ENTRY_DEFAULT_USER_CS* 8 + 3) -diff -urNp linux-2.6.32.48/arch/x86/include/asm/smp.h linux-2.6.32.48/ar= ch/x86/include/asm/smp.h ---- linux-2.6.32.48/arch/x86/include/asm/smp.h 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/smp.h 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -24,7 +24,7 @@ extern unsigned int num_processors; - DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_map); - DECLARE_PER_CPU(cpumask_var_t, cpu_core_map); + #define __KERNEL_CS (GDT_ENTRY_KERNEL_CS*8) ++#define __KERNEXEC_KERNEL_CS (GDT_ENTRY_KERNEXEC_KERNEL_CS*8) + #define __KERNEL_DS (GDT_ENTRY_KERNEL_DS*8) + #define __USER_DS (GDT_ENTRY_DEFAULT_USER_DS*8+3) + #define __USER_CS (GDT_ENTRY_DEFAULT_USER_CS*8+3) +diff -urNp linux-3.0.8/arch/x86/include/asm/smp.h linux-3.0.8/arch/x86/i= nclude/asm/smp.h +--- linux-3.0.8/arch/x86/include/asm/smp.h 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/include/asm/smp.h 2011-08-23 21:47:55.000000000= -0400 +@@ -36,7 +36,7 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_ + /* cpus sharing the last level cache: */ + DECLARE_PER_CPU(cpumask_var_t, cpu_llc_shared_map); DECLARE_PER_CPU(u16, cpu_llc_id); -DECLARE_PER_CPU(int, cpu_number); +DECLARE_PER_CPU(unsigned int, cpu_number); =20 static inline struct cpumask *cpu_sibling_mask(int cpu) { -@@ -40,10 +40,7 @@ DECLARE_EARLY_PER_CPU(u16, x86_cpu_to_ap - DECLARE_EARLY_PER_CPU(u16, x86_bios_cpu_apicid); -=20 - /* Static state in head.S used to set up a CPU */ --extern struct { -- void *sp; -- unsigned short ss; --} stack_start; -+extern unsigned long stack_start; /* Initial stack pointer address */ -=20 - struct smp_ops { - void (*smp_prepare_boot_cpu)(void); -@@ -60,7 +57,7 @@ struct smp_ops { +@@ -77,7 +77,7 @@ struct smp_ops { =20 void (*send_call_func_ipi)(const struct cpumask *mask); void (*send_call_func_single_ipi)(int cpu); @@ -10654,7 +8998,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/sm= p.h linux-2.6.32.48/arch/x86/i =20 /* Globals due to paravirt */ extern void set_cpu_sibling_map(int cpu); -@@ -175,14 +172,8 @@ extern unsigned disabled_cpus __cpuinitd +@@ -192,14 +192,8 @@ extern unsigned disabled_cpus __cpuinitd extern int safe_smp_processor_id(void); =20 #elif defined(CONFIG_X86_64_SMP) @@ -10671,11 +9015,11 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= smp.h linux-2.6.32.48/arch/x86/i #define safe_smp_processor_id() smp_processor_id() =20 #endif -diff -urNp linux-2.6.32.48/arch/x86/include/asm/spinlock.h linux-2.6.32.= 48/arch/x86/include/asm/spinlock.h ---- linux-2.6.32.48/arch/x86/include/asm/spinlock.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/spinlock.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -249,6 +249,14 @@ static inline int __raw_write_can_lock(r - static inline void __raw_read_lock(raw_rwlock_t *rw) +diff -urNp linux-3.0.8/arch/x86/include/asm/spinlock.h linux-3.0.8/arch/= x86/include/asm/spinlock.h +--- linux-3.0.8/arch/x86/include/asm/spinlock.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/spinlock.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -249,6 +249,14 @@ static inline int arch_write_can_lock(ar + static inline void arch_read_lock(arch_rwlock_t *rw) { asm volatile(LOCK_PREFIX " subl $1,(%0)\n\t" + @@ -10689,8 +9033,8 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/sp= inlock.h linux-2.6.32.48/arch/ "jns 1f\n" "call __read_lock_failed\n\t" "1:\n" -@@ -258,6 +266,14 @@ static inline void __raw_read_lock(raw_r - static inline void __raw_write_lock(raw_rwlock_t *rw) +@@ -258,6 +266,14 @@ static inline void arch_read_lock(arch_r + static inline void arch_write_lock(arch_rwlock_t *rw) { asm volatile(LOCK_PREFIX " subl %1,(%0)\n\t" + @@ -10704,9 +9048,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/sp= inlock.h linux-2.6.32.48/arch/ "jz 1f\n" "call __write_lock_failed\n\t" "1:\n" -@@ -286,12 +302,29 @@ static inline int __raw_write_trylock(ra +@@ -286,12 +302,29 @@ static inline int arch_write_trylock(arc =20 - static inline void __raw_read_unlock(raw_rwlock_t *rw) + static inline void arch_read_unlock(arch_rwlock_t *rw) { - asm volatile(LOCK_PREFIX "incl %0" :"+m" (rw->lock) : : "memory"); + asm volatile(LOCK_PREFIX "incl %0\n" @@ -10721,7 +9065,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/sp= inlock.h linux-2.6.32.48/arch/ + :"+m" (rw->lock) : : "memory"); } =20 - static inline void __raw_write_unlock(raw_rwlock_t *rw) + static inline void arch_write_unlock(arch_rwlock_t *rw) { - asm volatile(LOCK_PREFIX "addl %1, %0" + asm volatile(LOCK_PREFIX "addl %1, %0\n" @@ -10736,9 +9080,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/sp= inlock.h linux-2.6.32.48/arch/ : "+m" (rw->lock) : "i" (RW_LOCK_BIAS) : "memory"); } =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/stackprotector.h linux-2= .6.32.48/arch/x86/include/asm/stackprotector.h ---- linux-2.6.32.48/arch/x86/include/asm/stackprotector.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/stackprotector.h 2011-11-12 12:= 46:42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/stackprotector.h linux-3.0.8= /arch/x86/include/asm/stackprotector.h +--- linux-3.0.8/arch/x86/include/asm/stackprotector.h 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/stackprotector.h 2011-08-23 21:47:5= 5.000000000 -0400 @@ -48,7 +48,7 @@ * head_32 for boot CPU and setup_per_cpu_areas() for others. */ @@ -10757,25 +9101,90 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= stackprotector.h linux-2.6.32.48 asm volatile ("mov %0, %%gs" : : "r" (0)); #endif } -diff -urNp linux-2.6.32.48/arch/x86/include/asm/system.h linux-2.6.32.48= /arch/x86/include/asm/system.h ---- linux-2.6.32.48/arch/x86/include/asm/system.h 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/system.h 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -132,7 +132,7 @@ do { \ - "thread_return:\n\t" \ +diff -urNp linux-3.0.8/arch/x86/include/asm/stacktrace.h linux-3.0.8/arc= h/x86/include/asm/stacktrace.h +--- linux-3.0.8/arch/x86/include/asm/stacktrace.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/stacktrace.h 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -11,28 +11,20 @@ +=20 + extern int kstack_depth_to_print; +=20 +-struct thread_info; ++struct task_struct; + struct stacktrace_ops; +=20 +-typedef unsigned long (*walk_stack_t)(struct thread_info *tinfo, +- unsigned long *stack, +- unsigned long bp, +- const struct stacktrace_ops *ops, +- void *data, +- unsigned long *end, +- int *graph); +- +-extern unsigned long +-print_context_stack(struct thread_info *tinfo, +- unsigned long *stack, unsigned long bp, +- const struct stacktrace_ops *ops, void *data, +- unsigned long *end, int *graph); +- +-extern unsigned long +-print_context_stack_bp(struct thread_info *tinfo, +- unsigned long *stack, unsigned long bp, +- const struct stacktrace_ops *ops, void *data, +- unsigned long *end, int *graph); ++typedef unsigned long walk_stack_t(struct task_struct *task, ++ void *stack_start, ++ unsigned long *stack, ++ unsigned long bp, ++ const struct stacktrace_ops *ops, ++ void *data, ++ unsigned long *end, ++ int *graph); ++ ++extern walk_stack_t print_context_stack; ++extern walk_stack_t print_context_stack_bp; +=20 + /* Generic stack tracer with callbacks */ +=20 +@@ -40,7 +32,7 @@ struct stacktrace_ops { + void (*address)(void *data, unsigned long address, int reliable); + /* On negative return stop dumping */ + int (*stack)(void *data, char *name); +- walk_stack_t walk_stack; ++ walk_stack_t *walk_stack; + }; +=20 + void dump_trace(struct task_struct *tsk, struct pt_regs *regs, +diff -urNp linux-3.0.8/arch/x86/include/asm/sys_ia32.h linux-3.0.8/arch/= x86/include/asm/sys_ia32.h +--- linux-3.0.8/arch/x86/include/asm/sys_ia32.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/sys_ia32.h 2011-10-06 04:17:55.0000= 00000 -0400 +@@ -40,7 +40,7 @@ asmlinkage long sys32_rt_sigprocmask(int + compat_sigset_t __user *, unsigned int); + asmlinkage long sys32_alarm(unsigned int); +=20 +-asmlinkage long sys32_waitpid(compat_pid_t, unsigned int *, int); ++asmlinkage long sys32_waitpid(compat_pid_t, unsigned int __user *, int)= ; + asmlinkage long sys32_sysfs(int, u32, u32); +=20 + asmlinkage long sys32_sched_rr_get_interval(compat_pid_t, +diff -urNp linux-3.0.8/arch/x86/include/asm/system.h linux-3.0.8/arch/x8= 6/include/asm/system.h +--- linux-3.0.8/arch/x86/include/asm/system.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/system.h 2011-08-23 21:47:55.000000= 000 -0400 +@@ -129,7 +129,7 @@ do { \ + "call __switch_to\n\t" \ "movq "__percpu_arg([current_task])",%%rsi\n\t" \ __switch_canary \ - "movq %P[thread_info](%%rsi),%%r8\n\t" \ + "movq "__percpu_arg([thread_info])",%%r8\n\t" \ "movq %%rax,%%rdi\n\t" \ - "testl %[_tif_fork],%P[ti_flags](%%r8)\n\t" \ + "testl %[_tif_fork],%P[ti_flags](%%r8)\n\t" \ "jnz ret_from_fork\n\t" \ -@@ -143,7 +143,7 @@ do { \ +@@ -140,7 +140,7 @@ do { \ [threadrsp] "i" (offsetof(struct task_struct, thread.sp)), \ [ti_flags] "i" (offsetof(struct thread_info, flags)), \ [_tif_fork] "i" (_TIF_FORK), \ - [thread_info] "i" (offsetof(struct task_struct, stack)), \ -+ [thread_info] "m" (per_cpu_var(current_tinfo)), \ - [current_task] "m" (per_cpu_var(current_task)) \ ++ [thread_info] "m" (current_tinfo), \ + [current_task] "m" (current_task) \ __switch_canary_iparam \ : "memory", "cc" __EXTRA_CLOBBER) @@ -200,7 +200,7 @@ static inline unsigned long get_limit(un @@ -10787,7 +9196,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/sy= stem.h linux-2.6.32.48/arch/x8 } =20 static inline void native_clts(void) -@@ -340,12 +340,12 @@ void enable_hlt(void); +@@ -397,12 +397,12 @@ void enable_hlt(void); =20 void cpu_idle_wait(void); =20 @@ -10802,9 +9211,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/sy= stem.h linux-2.6.32.48/arch/x8 =20 /* * Force strict CPU ordering. -diff -urNp linux-2.6.32.48/arch/x86/include/asm/thread_info.h linux-2.6.= 32.48/arch/x86/include/asm/thread_info.h ---- linux-2.6.32.48/arch/x86/include/asm/thread_info.h 2011-11-12 12:44:= 28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/thread_info.h 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/thread_info.h linux-3.0.8/ar= ch/x86/include/asm/thread_info.h +--- linux-3.0.8/arch/x86/include/asm/thread_info.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/thread_info.h 2011-08-23 21:47:55.0= 00000000 -0400 @@ -10,6 +10,7 @@ #include #include @@ -10851,9 +9260,9 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/th= read_info.h linux-2.6.32.48/ar #define init_stack (init_thread_union.stack) =20 #else /* !__ASSEMBLY__ */ -@@ -163,6 +157,23 @@ struct thread_info { - #define alloc_thread_info(tsk) \ - ((struct thread_info *)__get_free_pages(THREAD_FLAGS, THREAD_ORDER)) +@@ -170,6 +164,23 @@ struct thread_info { + ret; \ + }) =20 +#ifdef __ASSEMBLY__ +/* how to get the thread information struct from ASM */ @@ -10875,7 +9284,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/th= read_info.h linux-2.6.32.48/ar #ifdef CONFIG_X86_32 =20 #define STACK_WARN (THREAD_SIZE/8) -@@ -173,35 +184,13 @@ struct thread_info { +@@ -180,35 +191,13 @@ struct thread_info { */ #ifndef __ASSEMBLY__ =20 @@ -10911,7 +9320,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/th= read_info.h linux-2.6.32.48/ar /* * macros/functions for gaining access to the thread information struct= ure * preempt_count needs to be 1 initially, until the scheduler is functi= onal. -@@ -209,21 +198,8 @@ static inline struct thread_info *curren +@@ -216,21 +205,8 @@ static inline struct thread_info *curren #ifndef __ASSEMBLY__ DECLARE_PER_CPU(unsigned long, kernel_stack); =20 @@ -10935,7 +9344,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/th= read_info.h linux-2.6.32.48/ar #endif =20 #endif /* !X86_32 */ -@@ -260,5 +236,16 @@ extern void arch_task_cache_init(void); +@@ -266,5 +242,16 @@ extern void arch_task_cache_init(void); extern void free_thread_info(struct thread_info *ti); extern int arch_dup_task_struct(struct task_struct *dst, struct task_st= ruct *src); #define arch_task_cache_init arch_task_cache_init @@ -10947,15 +9356,15 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= thread_info.h linux-2.6.32.48/ar +#define end_of_stack(p) ((unsigned long *)task_stack_page(p) + 1) + +#define __HAVE_ARCH_TASK_STRUCT_ALLOCATOR -+extern struct task_struct *alloc_task_struct(void); ++extern struct task_struct *alloc_task_struct_node(int node); +extern void free_task_struct(struct task_struct *); + #endif #endif /* _ASM_X86_THREAD_INFO_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/uaccess_32.h linux-2.6.3= 2.48/arch/x86/include/asm/uaccess_32.h ---- linux-2.6.32.48/arch/x86/include/asm/uaccess_32.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/uaccess_32.h 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -44,6 +44,11 @@ unsigned long __must_check __copy_from_u +diff -urNp linux-3.0.8/arch/x86/include/asm/uaccess_32.h linux-3.0.8/arc= h/x86/include/asm/uaccess_32.h +--- linux-3.0.8/arch/x86/include/asm/uaccess_32.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/uaccess_32.h 2011-08-23 21:48:14.00= 0000000 -0400 +@@ -43,6 +43,11 @@ unsigned long __must_check __copy_from_u static __always_inline unsigned long __must_check __copy_to_user_inatomic(void __user *to, const void *from, unsigned lon= g n) { @@ -10967,7 +9376,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_32.h linux-2.6.32.48/arc if (__builtin_constant_p(n)) { unsigned long ret; =20 -@@ -62,6 +67,8 @@ __copy_to_user_inatomic(void __user *to, +@@ -61,6 +66,8 @@ __copy_to_user_inatomic(void __user *to, return ret; } } @@ -10976,7 +9385,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_32.h linux-2.6.32.48/arc return __copy_to_user_ll(to, from, n); } =20 -@@ -83,12 +90,16 @@ static __always_inline unsigned long __m +@@ -82,12 +89,16 @@ static __always_inline unsigned long __m __copy_to_user(void __user *to, const void *from, unsigned long n) { might_fault(); @@ -10993,7 +9402,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_32.h linux-2.6.32.48/arc /* Avoid zeroing the tail if the copy fails.. * If 'n' is constant and 1, 2, or 4, we do still zero on a failure, * but as the zeroing behaviour is only significant when n is not -@@ -138,6 +149,12 @@ static __always_inline unsigned long +@@ -137,6 +148,12 @@ static __always_inline unsigned long __copy_from_user(void *to, const void __user *from, unsigned long n) { might_fault(); @@ -11006,7 +9415,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_32.h linux-2.6.32.48/arc if (__builtin_constant_p(n)) { unsigned long ret; =20 -@@ -153,6 +170,8 @@ __copy_from_user(void *to, const void __ +@@ -152,6 +169,8 @@ __copy_from_user(void *to, const void __ return ret; } } @@ -11015,7 +9424,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_32.h linux-2.6.32.48/arc return __copy_from_user_ll(to, from, n); } =20 -@@ -160,6 +179,10 @@ static __always_inline unsigned long __c +@@ -159,6 +178,10 @@ static __always_inline unsigned long __c const void __user *from, unsigned long n) { might_fault(); @@ -11026,17 +9435,40 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= uaccess_32.h linux-2.6.32.48/arc if (__builtin_constant_p(n)) { unsigned long ret; =20 -@@ -182,14 +205,62 @@ static __always_inline unsigned long +@@ -181,15 +204,19 @@ static __always_inline unsigned long __copy_from_user_inatomic_nocache(void *to, const void __user *from, unsigned long n) { - return __copy_from_user_ll_nocache_nozero(to, from, n); +-} + if ((long)n < 0) + return n; -+ +=20 +-unsigned long __must_check copy_to_user(void __user *to, +- const void *from, unsigned long n); +-unsigned long __must_check _copy_from_user(void *to, +- const void __user *from, +- unsigned long n); + return __copy_from_user_ll_nocache_nozero(to, from, n); +} -+ +=20 ++extern void copy_to_user_overflow(void) ++#ifdef CONFIG_DEBUG_STRICT_USER_COPY_CHECKS ++ __compiletime_error("copy_to_user() buffer size is not provably correc= t") ++#else ++ __compiletime_warning("copy_to_user() buffer size is not provably corr= ect") ++#endif ++; +=20 + extern void copy_from_user_overflow(void) + #ifdef CONFIG_DEBUG_STRICT_USER_COPY_CHECKS +@@ -199,17 +226,61 @@ extern void copy_from_user_overflow(void + #endif + ; +=20 +-static inline unsigned long __must_check copy_from_user(void *to, +- const void __user *from, +- unsigned long n) +/** + * copy_to_user: - Copy a block of data into user space. + * @to: Destination address, in user space. @@ -11050,10 +9482,14 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= uaccess_32.h linux-2.6.32.48/arc + * Returns number of bytes that could not be copied. + * On success, this will be zero. + */ -+static __always_inline unsigned long __must_check ++static inline unsigned long __must_check +copy_to_user(void __user *to, const void *from, unsigned long n) +{ -+ if (access_ok(VERIFY_WRITE, to, n)) ++ int sz =3D __compiletime_object_size(from); ++ ++ if (unlikely(sz !=3D -1 && sz < n)) ++ copy_to_user_overflow(); ++ else if (access_ok(VERIFY_WRITE, to, n)) + n =3D __copy_to_user(to, from, n); + return n; +} @@ -11074,33 +9510,33 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= uaccess_32.h linux-2.6.32.48/arc + * If some data could not be copied, this function will pad the copied + * data to the requested size using zero bytes. + */ -+static __always_inline unsigned long __must_check ++static inline unsigned long __must_check +copy_from_user(void *to, const void __user *from, unsigned long n) -+{ -+ if (access_ok(VERIFY_READ, from, n)) + { + int sz =3D __compiletime_object_size(to); +=20 +- if (likely(sz =3D=3D -1 || sz >=3D n)) +- n =3D _copy_from_user(to, from, n); +- else ++ if (unlikely(sz !=3D -1 && sz < n)) + copy_from_user_overflow(); +- ++ else if (access_ok(VERIFY_READ, from, n)) + n =3D __copy_from_user(to, from, n); + else if ((long)n > 0) { + if (!__builtin_constant_p(n)) + check_object_size(to, n, false); + memset(to, 0, n); + } -+ return n; + return n; } =20 --unsigned long __must_check copy_to_user(void __user *to, -- const void *from, unsigned long n); --unsigned long __must_check copy_from_user(void *to, -- const void __user *from, -- unsigned long n); - long __must_check strncpy_from_user(char *dst, const char __user *src, - long count); - long __must_check __strncpy_from_user(char *dst, -diff -urNp linux-2.6.32.48/arch/x86/include/asm/uaccess_64.h linux-2.6.3= 2.48/arch/x86/include/asm/uaccess_64.h ---- linux-2.6.32.48/arch/x86/include/asm/uaccess_64.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/uaccess_64.h 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -9,6 +9,9 @@ - #include - #include +diff -urNp linux-3.0.8/arch/x86/include/asm/uaccess_64.h linux-3.0.8/arc= h/x86/include/asm/uaccess_64.h +--- linux-3.0.8/arch/x86/include/asm/uaccess_64.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/uaccess_64.h 2011-10-06 04:17:55.00= 0000000 -0400 +@@ -10,6 +10,9 @@ + #include + #include #include +#include + @@ -11108,27 +9544,70 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= uaccess_64.h linux-2.6.32.48/arc =20 /* * Copy To/From Userspace -@@ -19,113 +22,203 @@ __must_check unsigned long - copy_user_generic(void *to, const void *from, unsigned len); +@@ -36,26 +39,26 @@ copy_user_generic(void *to, const void * + return ret; + } =20 - __must_check unsigned long --copy_to_user(void __user *to, const void *from, unsigned len); -__must_check unsigned long --copy_from_user(void *to, const void __user *from, unsigned len); +-_copy_to_user(void __user *to, const void *from, unsigned len); -__must_check unsigned long +-_copy_from_user(void *to, const void __user *from, unsigned len); ++static __always_inline __must_check unsigned long ++__copy_to_user(void __user *to, const void *from, unsigned len); ++static __always_inline __must_check unsigned long ++__copy_from_user(void *to, const void __user *from, unsigned len); + __must_check unsigned long copy_in_user(void __user *to, const void __user *from, unsigned len); =20 + static inline unsigned long __must_check copy_from_user(void *to, + const void __user *from, +- unsigned long n) ++ unsigned n) + { +- int sz =3D __compiletime_object_size(to); +- + might_fault(); +- if (likely(sz =3D=3D -1 || sz >=3D n)) +- n =3D _copy_from_user(to, from, n); +-#ifdef CONFIG_DEBUG_VM +- else +- WARN(1, "Buffer overflow detected!\n"); +-#endif ++ ++ if (access_ok(VERIFY_READ, from, n)) ++ n =3D __copy_from_user(to, from, n); ++ else if ((int)n > 0) { ++ if (!__builtin_constant_p(n)) ++ check_object_size(to, n, false); ++ memset(to, 0, n); ++ } + return n; + } +=20 +@@ -64,110 +67,198 @@ int copy_to_user(void __user *dst, const + { + might_fault(); +=20 +- return _copy_to_user(dst, src, size); ++ if (access_ok(VERIFY_WRITE, dst, size)) ++ size =3D __copy_to_user(dst, src, size); ++ return size; + } +=20 static __always_inline __must_check -int __copy_from_user(void *dst, const void __user *src, unsigned size) +unsigned long __copy_from_user(void *dst, const void __user *src, unsig= ned size) { - int ret =3D 0; ++ int sz =3D __compiletime_object_size(dst); + unsigned ret =3D 0; =20 might_fault(); - if (!__builtin_constant_p(size)) - return copy_user_generic(dst, (__force void *)src, size); + ++ pax_track_stack(); ++ + if ((int)size < 0) + return size; + @@ -11137,6 +9616,13 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access_64.h linux-2.6.32.48/arc + return size; +#endif + ++ if (unlikely(sz !=3D -1 && sz < size)) { ++#ifdef CONFIG_DEBUG_VM ++ WARN(1, "Buffer overflow detected!\n"); ++#endif ++ return size; ++ } ++ + if (!__builtin_constant_p(size)) { + check_object_size(dst, size, false); + @@ -11203,6 +9689,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_64.h linux-2.6.32.48/arc +unsigned long __copy_to_user(void __user *dst, const void *src, unsigne= d size) { - int ret =3D 0; ++ int sz =3D __compiletime_object_size(src); + unsigned ret =3D 0; =20 might_fault(); @@ -11219,6 +9706,13 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access_64.h linux-2.6.32.48/arc + return size; +#endif + ++ if (unlikely(sz !=3D -1 && sz < size)) { ++#ifdef CONFIG_DEBUG_VM ++ WARN(1, "Buffer overflow detected!\n"); ++#endif ++ return size; ++ } ++ + if (!__builtin_constant_p(size)) { + check_object_size(src, size, true); + @@ -11277,31 +9771,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access_64.h linux-2.6.32.48/arc +#endif + + return copy_user_generic((__force_kernel void *)dst, src, size); -+ } -+} -+ -+static __always_inline __must_check -+unsigned long copy_to_user(void __user *to, const void *from, unsigned = len) -+{ -+ if (access_ok(VERIFY_WRITE, to, len)) -+ len =3D __copy_to_user(to, from, len); -+ return len; -+} -+ -+static __always_inline __must_check -+unsigned long copy_from_user(void *to, const void __user *from, unsigne= d len) -+{ -+ if ((int)len < 0) -+ return len; -+ -+ if (access_ok(VERIFY_READ, from, len)) -+ len =3D __copy_from_user(to, from, len); -+ else if ((int)len > 0) { -+ if (!__builtin_constant_p(len)) -+ check_object_size(to, len, false); -+ memset(to, 0, len); } -+ return len; } =20 static __always_inline __must_check @@ -11316,8 +9786,6 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_64.h linux-2.6.32.48/arc - return copy_user_generic((__force void *)dst, - (__force void *)src, size); + -+ pax_track_stack(); -+ + if ((int)size < 0) + return size; + @@ -11348,7 +9816,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_64.h linux-2.6.32.48/arc ret, "b", "b", "=3Dq", 1); if (likely(!ret)) __put_user_asm(tmp, (u8 __user *)dst, -@@ -134,7 +227,7 @@ int __copy_in_user(void __user *dst, con +@@ -176,7 +267,7 @@ int __copy_in_user(void __user *dst, con } case 2: { u16 tmp; @@ -11357,7 +9825,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_64.h linux-2.6.32.48/arc ret, "w", "w", "=3Dr", 2); if (likely(!ret)) __put_user_asm(tmp, (u16 __user *)dst, -@@ -144,7 +237,7 @@ int __copy_in_user(void __user *dst, con +@@ -186,7 +277,7 @@ int __copy_in_user(void __user *dst, con =20 case 4: { u32 tmp; @@ -11366,7 +9834,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_64.h linux-2.6.32.48/arc ret, "l", "k", "=3Dr", 4); if (likely(!ret)) __put_user_asm(tmp, (u32 __user *)dst, -@@ -153,7 +246,7 @@ int __copy_in_user(void __user *dst, con +@@ -195,7 +286,7 @@ int __copy_in_user(void __user *dst, con } case 8: { u64 tmp; @@ -11375,7 +9843,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess_64.h linux-2.6.32.48/arc ret, "q", "", "=3Dr", 8); if (likely(!ret)) __put_user_asm(tmp, (u64 __user *)dst, -@@ -161,8 +254,16 @@ int __copy_in_user(void __user *dst, con +@@ -203,8 +294,16 @@ int __copy_in_user(void __user *dst, con return ret; } default: @@ -11394,15 +9862,11 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= uaccess_64.h linux-2.6.32.48/arc } } =20 -@@ -176,33 +277,75 @@ __must_check long strlen_user(const char - __must_check unsigned long clear_user(void __user *mem, unsigned long l= en); - __must_check unsigned long __clear_user(void __user *mem, unsigned long= len); -=20 --__must_check long __copy_from_user_inatomic(void *dst, const void __use= r *src, -- unsigned size); -+static __must_check __always_inline unsigned long -+__copy_from_user_inatomic(void *dst, const void __user *src, unsigned s= ize) -+{ +@@ -221,33 +320,72 @@ __must_check unsigned long __clear_user( + static __must_check __always_inline int + __copy_from_user_inatomic(void *dst, const void __user *src, unsigned s= ize) + { +- return copy_user_generic(dst, (__force const void *)src, size); + pax_track_stack(); + + if ((int)size < 0) @@ -11415,11 +9879,11 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= uaccess_64.h linux-2.6.32.48/arc + if ((unsigned long)src < PAX_USER_SHADOW_BASE) + src +=3D PAX_USER_SHADOW_BASE; +#endif ++ ++ return copy_user_generic(dst, (__force_kernel const void *)src, size); + } =20 -static __must_check __always_inline int -+ return copy_user_generic(dst, (__force_kernel const void *)src, size); -+} -+ +static __must_check __always_inline unsigned long __copy_to_user_inatomic(void __user *dst, const void *src, unsigned siz= e) { @@ -11481,12 +9945,12 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= uaccess_64.h linux-2.6.32.48/arc +copy_user_handle_tail(char __user *to, char __user *from, unsigned len,= unsigned zerorest); =20 #endif /* _ASM_X86_UACCESS_64_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/uaccess.h linux-2.6.32.4= 8/arch/x86/include/asm/uaccess.h ---- linux-2.6.32.48/arch/x86/include/asm/uaccess.h 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/uaccess.h 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -8,12 +8,15 @@ +diff -urNp linux-3.0.8/arch/x86/include/asm/uaccess.h linux-3.0.8/arch/x= 86/include/asm/uaccess.h +--- linux-3.0.8/arch/x86/include/asm/uaccess.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/uaccess.h 2011-10-06 04:17:55.00000= 0000 -0400 +@@ -7,12 +7,15 @@ + #include #include - #include #include +#include #include @@ -11500,7 +9964,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess.h linux-2.6.32.48/arch/x /* * The fs value determines whether argument validity checking should be * performed or not. If get_fs() =3D=3D USER_DS, checking is performed= , with -@@ -29,7 +32,12 @@ +@@ -28,7 +31,12 @@ =20 #define get_ds() (KERNEL_DS) #define get_fs() (current_thread_info()->addr_limit) @@ -11513,7 +9977,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/ua= ccess.h linux-2.6.32.48/arch/x =20 #define segment_eq(a, b) ((a).seg =3D=3D (b).seg) =20 -@@ -77,7 +85,33 @@ +@@ -76,7 +84,33 @@ * checks that the pointer is in the user space range - after calling * this function, memory access functions may still return -EFAULT. */ @@ -11548,7 +10012,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x =20 /* * The exception table consists of pairs of addresses: the first is the -@@ -183,12 +217,20 @@ extern int __get_user_bad(void); +@@ -182,12 +216,20 @@ extern int __get_user_bad(void); asm volatile("call __put_user_" #size : "=3Da" (__ret_pu) \ : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx") =20 @@ -11572,7 +10036,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x "3:\n" \ ".section .fixup,\"ax\"\n" \ "4: movl %3,%0\n" \ -@@ -200,8 +242,8 @@ extern int __get_user_bad(void); +@@ -199,8 +241,8 @@ extern int __get_user_bad(void); : "A" (x), "r" (addr), "i" (errret), "0" (err)) =20 #define __put_user_asm_ex_u64(x, addr) \ @@ -11583,7 +10047,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x "3:\n" \ _ASM_EXTABLE(1b, 2b - 1b) \ _ASM_EXTABLE(2b, 3b - 2b) \ -@@ -253,7 +295,7 @@ extern void __put_user_8(void); +@@ -252,7 +294,7 @@ extern void __put_user_8(void); __typeof__(*(ptr)) __pu_val; \ __chk_user_ptr(ptr); \ might_fault(); \ @@ -11592,7 +10056,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x switch (sizeof(*(ptr))) { \ case 1: \ __put_user_x(1, __pu_val, ptr, __ret_pu); \ -@@ -374,7 +416,7 @@ do { \ +@@ -373,7 +415,7 @@ do { \ } while (0) =20 #define __get_user_asm(x, addr, err, itype, rtype, ltype, errret) \ @@ -11601,7 +10065,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x "2:\n" \ ".section .fixup,\"ax\"\n" \ "3: mov %3,%0\n" \ -@@ -382,7 +424,7 @@ do { \ +@@ -381,7 +423,7 @@ do { \ " jmp 2b\n" \ ".previous\n" \ _ASM_EXTABLE(1b, 3b) \ @@ -11610,7 +10074,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x : "m" (__m(addr)), "i" (errret), "0" (err)) =20 #define __get_user_size_ex(x, ptr, size) \ -@@ -407,7 +449,7 @@ do { \ +@@ -406,7 +448,7 @@ do { \ } while (0) =20 #define __get_user_asm_ex(x, addr, itype, rtype, ltype) \ @@ -11619,7 +10083,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x "2:\n" \ _ASM_EXTABLE(1b, 2b - 1b) \ : ltype(x) : "m" (__m(addr))) -@@ -424,13 +466,24 @@ do { \ +@@ -423,13 +465,24 @@ do { \ int __gu_err; \ unsigned long __gu_val; \ __get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \ @@ -11646,7 +10110,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x =20 /* * Tell gcc we read from memory instead of writing: this is because -@@ -438,7 +491,7 @@ struct __large_struct { unsigned long bu +@@ -437,7 +490,7 @@ struct __large_struct { unsigned long bu * aliasing issues. */ #define __put_user_asm(x, addr, err, itype, rtype, ltype, errret) \ @@ -11655,7 +10119,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x "2:\n" \ ".section .fixup,\"ax\"\n" \ "3: mov %3,%0\n" \ -@@ -446,10 +499,10 @@ struct __large_struct { unsigned long bu +@@ -445,10 +498,10 @@ struct __large_struct { unsigned long bu ".previous\n" \ _ASM_EXTABLE(1b, 3b) \ : "=3Dr"(err) \ @@ -11668,7 +10132,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x "2:\n" \ _ASM_EXTABLE(1b, 2b - 1b) \ : : ltype(x), "m" (__m(addr))) -@@ -488,8 +541,12 @@ struct __large_struct { unsigned long bu +@@ -487,8 +540,12 @@ struct __large_struct { unsigned long bu * On error, the variable @x is set to zero. */ =20 @@ -11681,7 +10145,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x =20 /** * __put_user: - Write a simple value into user space, with less checki= ng. -@@ -511,8 +568,12 @@ struct __large_struct { unsigned long bu +@@ -510,8 +567,12 @@ struct __large_struct { unsigned long bu * Returns zero on success, or -EFAULT on error. */ =20 @@ -11694,7 +10158,7 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/u= access.h linux-2.6.32.48/arch/x =20 #define __get_user_unaligned __get_user #define __put_user_unaligned __put_user -@@ -530,7 +591,7 @@ struct __large_struct { unsigned long bu +@@ -529,7 +590,7 @@ struct __large_struct { unsigned long bu #define get_user_ex(x, ptr) do { \ unsigned long __gue_val; \ __get_user_size_ex((__gue_val), (ptr), (sizeof(*(ptr)))); \ @@ -11703,18 +10167,10 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm= /uaccess.h linux-2.6.32.48/arch/x } while (0) =20 #ifdef CONFIG_X86_WP_WORKS_OK -@@ -567,6 +628,7 @@ extern struct movsl_mask { -=20 - #define ARCH_HAS_NOCACHE_UACCESS 1 -=20 -+#define ARCH_HAS_SORT_EXTABLE - #ifdef CONFIG_X86_32 - # include "uaccess_32.h" - #else -diff -urNp linux-2.6.32.48/arch/x86/include/asm/vdso.h linux-2.6.32.48/a= rch/x86/include/asm/vdso.h ---- linux-2.6.32.48/arch/x86/include/asm/vdso.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/vdso.h 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -25,7 +25,7 @@ extern const char VDSO32_PRELINK[]; +diff -urNp linux-3.0.8/arch/x86/include/asm/vdso.h linux-3.0.8/arch/x86/= include/asm/vdso.h +--- linux-3.0.8/arch/x86/include/asm/vdso.h 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/include/asm/vdso.h 2011-10-06 04:17:55.00000000= 0 -0400 +@@ -11,7 +11,7 @@ extern const char VDSO32_PRELINK[]; #define VDSO32_SYMBOL(base, name) \ ({ \ extern const char VDSO32_##name[]; \ @@ -11723,79 +10179,12 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm= /vdso.h linux-2.6.32.48/arch/x86/ }) #endif =20 -diff -urNp linux-2.6.32.48/arch/x86/include/asm/vgtod.h linux-2.6.32.48/= arch/x86/include/asm/vgtod.h ---- linux-2.6.32.48/arch/x86/include/asm/vgtod.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/vgtod.h 2011-11-12 12:46:42.000= 000000 -0500 -@@ -14,6 +14,7 @@ struct vsyscall_gtod_data { - int sysctl_enabled; - struct timezone sys_tz; - struct { /* extract of a clocksource struct */ -+ char name[8]; - cycle_t (*vread)(void); - cycle_t cycle_last; - cycle_t mask; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/vmi.h linux-2.6.32.48/ar= ch/x86/include/asm/vmi.h ---- linux-2.6.32.48/arch/x86/include/asm/vmi.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/vmi.h 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -191,6 +191,7 @@ struct vrom_header { - u8 reserved[96]; /* Reserved for headers */ - char vmi_init[8]; /* VMI_Init jump point */ - char get_reloc[8]; /* VMI_GetRelocationInfo jump point */ -+ char rom_data[8048]; /* rest of the option ROM */ - } __attribute__((packed)); -=20 - struct pnp_header { -diff -urNp linux-2.6.32.48/arch/x86/include/asm/vmi_time.h linux-2.6.32.= 48/arch/x86/include/asm/vmi_time.h ---- linux-2.6.32.48/arch/x86/include/asm/vmi_time.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/vmi_time.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -43,7 +43,7 @@ extern struct vmi_timer_ops { - int (*wallclock_updated)(void); - void (*set_alarm)(u32 flags, u64 expiry, u64 period); - void (*cancel_alarm)(u32 flags); --} vmi_timer_ops; -+} __no_const vmi_timer_ops; -=20 - /* Prototypes */ - extern void __init vmi_time_init(void); -diff -urNp linux-2.6.32.48/arch/x86/include/asm/vsyscall.h linux-2.6.32.= 48/arch/x86/include/asm/vsyscall.h ---- linux-2.6.32.48/arch/x86/include/asm/vsyscall.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/vsyscall.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -15,9 +15,10 @@ enum vsyscall_num { -=20 - #ifdef __KERNEL__ - #include -+#include -+#include -=20 - #define __section_vgetcpu_mode __attribute__ ((unused, __section__ (".v= getcpu_mode"), aligned(16))) --#define __section_jiffies __attribute__ ((unused, __section__ (".jiffie= s"), aligned(16))) -=20 - /* Definitions for CONFIG_GENERIC_TIME definitions */ - #define __section_vsyscall_gtod_data __attribute__ \ -@@ -31,7 +32,6 @@ enum vsyscall_num { - #define VGETCPU_LSL 2 -=20 - extern int __vgetcpu_mode; --extern volatile unsigned long __jiffies; -=20 - /* kernel space (writeable) */ - extern int vgetcpu_mode; -@@ -39,6 +39,9 @@ extern struct timezone sys_tz; -=20 - extern void map_vsyscall(void); -=20 -+extern int vgettimeofday(struct timeval * tv, struct timezone * tz); -+extern time_t vtime(time_t *t); -+extern long vgetcpu(unsigned *cpu, unsigned *node, struct getcpu_cache = *tcache); - #endif /* __KERNEL__ */ -=20 - #endif /* _ASM_X86_VSYSCALL_H */ -diff -urNp linux-2.6.32.48/arch/x86/include/asm/x86_init.h linux-2.6.32.= 48/arch/x86/include/asm/x86_init.h ---- linux-2.6.32.48/arch/x86/include/asm/x86_init.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/x86_init.h 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/include/asm/x86_init.h linux-3.0.8/arch/= x86/include/asm/x86_init.h +--- linux-3.0.8/arch/x86/include/asm/x86_init.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/include/asm/x86_init.h 2011-08-23 21:47:55.0000= 00000 -0400 @@ -28,7 +28,7 @@ struct x86_init_mpparse { void (*mpc_oem_bus_info)(struct mpc_bus *m, char *name); - void (*find_smp_config)(unsigned int reserve); + void (*find_smp_config)(void); void (*get_smp_config)(unsigned int early); -}; +} __no_const; @@ -11828,8 +10217,17 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm/= x86_init.h linux-2.6.32.48/arch/ +} __no_const; =20 /** + * struct x86_init_mapping - platform specific initial kernel pagetable= setup +@@ -76,7 +76,7 @@ struct x86_init_oem { + */ + struct x86_init_mapping { + void (*pagetable_reserve)(u64 start, u64 end); +-}; ++} __no_const; +=20 + /** * struct x86_init_paging - platform specific paging functions -@@ -75,7 +75,7 @@ struct x86_init_oem { +@@ -86,7 +86,7 @@ struct x86_init_mapping { struct x86_init_paging { void (*pagetable_setup_start)(pgd_t *base); void (*pagetable_setup_done)(pgd_t *base); @@ -11838,25 +10236,43 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm= /x86_init.h linux-2.6.32.48/arch/ =20 /** * struct x86_init_timers - platform specific timer setup -@@ -88,7 +88,7 @@ struct x86_init_timers { - void (*setup_percpu_clockev)(void); +@@ -101,7 +101,7 @@ struct x86_init_timers { void (*tsc_pre_init)(void); void (*timer_init)(void); + void (*wallclock_init)(void); +-}; ++} __no_const; +=20 + /** + * struct x86_init_iommu - platform specific iommu setup +@@ -109,7 +109,7 @@ struct x86_init_timers { + */ + struct x86_init_iommu { + int (*iommu_init)(void); +-}; ++} __no_const; +=20 + /** + * struct x86_init_pci - platform specific pci init functions +@@ -123,7 +123,7 @@ struct x86_init_pci { + int (*init)(void); + void (*init_irq)(void); + void (*fixup_irqs)(void); -}; +} __no_const; =20 /** * struct x86_init_ops - functions for platform specific setup -@@ -101,7 +101,7 @@ struct x86_init_ops { - struct x86_init_oem oem; - struct x86_init_paging paging; +@@ -139,7 +139,7 @@ struct x86_init_ops { struct x86_init_timers timers; + struct x86_init_iommu iommu; + struct x86_init_pci pci; -}; +} __no_const; =20 /** * struct x86_cpuinit_ops - platform specific cpu hotplug setups -@@ -109,7 +109,7 @@ struct x86_init_ops { +@@ -147,7 +147,7 @@ struct x86_init_ops { */ struct x86_cpuinit_ops { void (*setup_percpu_clockev)(void); @@ -11865,32 +10281,40 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm= /x86_init.h linux-2.6.32.48/arch/ =20 /** * struct x86_platform_ops - platform specific runtime functions -@@ -121,7 +121,7 @@ struct x86_platform_ops { - unsigned long (*calibrate_tsc)(void); - unsigned long (*get_wallclock)(void); - int (*set_wallclock)(unsigned long nowtime); +@@ -166,7 +166,7 @@ struct x86_platform_ops { + bool (*is_untracked_pat_range)(u64 start, u64 end); + void (*nmi_init)(void); + int (*i8042_detect)(void); +-}; ++} __no_const; +=20 + struct pci_dev; +=20 +@@ -174,7 +174,7 @@ struct x86_msi_ops { + int (*setup_msi_irqs)(struct pci_dev *dev, int nvec, int type); + void (*teardown_msi_irq)(unsigned int irq); + void (*teardown_msi_irqs)(struct pci_dev *dev); -}; +} __no_const; =20 extern struct x86_init_ops x86_init; extern struct x86_cpuinit_ops x86_cpuinit; -diff -urNp linux-2.6.32.48/arch/x86/include/asm/xsave.h linux-2.6.32.48/= arch/x86/include/asm/xsave.h ---- linux-2.6.32.48/arch/x86/include/asm/xsave.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/include/asm/xsave.h 2011-11-12 12:46:42.000= 000000 -0500 -@@ -56,6 +56,12 @@ static inline int xrstor_checking(struct - static inline int xsave_user(struct xsave_struct __user *buf) +diff -urNp linux-3.0.8/arch/x86/include/asm/xsave.h linux-3.0.8/arch/x86= /include/asm/xsave.h +--- linux-3.0.8/arch/x86/include/asm/xsave.h 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/include/asm/xsave.h 2011-10-06 04:17:55.0000000= 00 -0400 +@@ -65,6 +65,11 @@ static inline int xsave_user(struct xsav { int err; -+ +=20 +#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF) + if ((unsigned long)buf < PAX_USER_SHADOW_BASE) + buf =3D (struct xsave_struct __user *)((void __user*)buf + PAX_USER_S= HADOW_BASE); +#endif + - __asm__ __volatile__("1: .byte " REX_PREFIX "0x0f,0xae,0x27\n" - "2:\n" - ".section .fixup,\"ax\"\n" -@@ -78,10 +84,15 @@ static inline int xsave_user(struct xsav + /* + * Clear the xsave header first, so that reserved fields are + * initialized to zero. +@@ -96,10 +101,15 @@ static inline int xsave_user(struct xsav static inline int xrestore_user(struct xsave_struct __user *buf, u64 ma= sk) { int err; @@ -11907,19 +10331,19 @@ diff -urNp linux-2.6.32.48/arch/x86/include/asm= /xsave.h linux-2.6.32.48/arch/x86 __asm__ __volatile__("1: .byte " REX_PREFIX "0x0f,0xae,0x2f\n" "2:\n" ".section .fixup,\"ax\"\n" -diff -urNp linux-2.6.32.48/arch/x86/Kconfig linux-2.6.32.48/arch/x86/Kco= nfig ---- linux-2.6.32.48/arch/x86/Kconfig 2011-11-12 12:44:28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/Kconfig 2011-11-12 12:46:42.000000000 -0500 -@@ -223,7 +223,7 @@ config X86_TRAMPOLINE +diff -urNp linux-3.0.8/arch/x86/Kconfig linux-3.0.8/arch/x86/Kconfig +--- linux-3.0.8/arch/x86/Kconfig 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/Kconfig 2011-09-17 00:58:36.000000000 -0400 +@@ -229,7 +229,7 @@ config X86_HT =20 config X86_32_LAZY_GS def_bool y - depends on X86_32 && !CC_STACKPROTECTOR + depends on X86_32 && !CC_STACKPROTECTOR && !PAX_MEMORY_UDEREF =20 - config KTIME_SCALAR - def_bool X86_32 -@@ -1008,7 +1008,7 @@ choice + config ARCH_HWEIGHT_CFLAGS + string +@@ -1018,7 +1018,7 @@ choice =20 config NOHIGHMEM bool "off" @@ -11928,7 +10352,7 @@ diff -urNp linux-2.6.32.48/arch/x86/Kconfig linux= -2.6.32.48/arch/x86/Kconfig ---help--- Linux can use up to 64 Gigabytes of physical memory on x86 systems. However, the address space of 32-bit x86 processors is only 4 -@@ -1045,7 +1045,7 @@ config NOHIGHMEM +@@ -1055,7 +1055,7 @@ config NOHIGHMEM =20 config HIGHMEM4G bool "4GB" @@ -11937,7 +10361,7 @@ diff -urNp linux-2.6.32.48/arch/x86/Kconfig linux= -2.6.32.48/arch/x86/Kconfig ---help--- Select this if you have a 32-bit processor and between 1 and 4 gigabytes of physical RAM. -@@ -1099,7 +1099,7 @@ config PAGE_OFFSET +@@ -1109,7 +1109,7 @@ config PAGE_OFFSET hex default 0xB0000000 if VMSPLIT_3G_OPT default 0x80000000 if VMSPLIT_2G @@ -11946,7 +10370,7 @@ diff -urNp linux-2.6.32.48/arch/x86/Kconfig linux= -2.6.32.48/arch/x86/Kconfig default 0x40000000 if VMSPLIT_1G default 0xC0000000 depends on X86_32 -@@ -1460,6 +1460,7 @@ config SECCOMP +@@ -1483,6 +1483,7 @@ config SECCOMP =20 config CC_STACKPROTECTOR bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL= )" @@ -11954,23 +10378,23 @@ diff -urNp linux-2.6.32.48/arch/x86/Kconfig lin= ux-2.6.32.48/arch/x86/Kconfig ---help--- This option turns on the -fstack-protector GCC feature. This feature puts, at the beginning of functions, a canary value on -@@ -1517,6 +1518,7 @@ config KEXEC_JUMP +@@ -1540,6 +1541,7 @@ config KEXEC_JUMP config PHYSICAL_START - hex "Physical address where the kernel is loaded" if (EMBEDDED || CRAS= H_DUMP) + hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_= DUMP) default "0x1000000" + range 0x400000 0x40000000 ---help--- This gives the physical address where the kernel is loaded. =20 -@@ -1581,6 +1583,7 @@ config PHYSICAL_ALIGN - hex - prompt "Alignment value to which kernel should be aligned" if X86_32 +@@ -1603,6 +1605,7 @@ config X86_NEED_RELOCS + config PHYSICAL_ALIGN + hex "Alignment value to which kernel should be aligned" if X86_32 default "0x1000000" + range 0x400000 0x1000000 if PAX_KERNEXEC range 0x2000 0x1000000 ---help--- This value puts the alignment restrictions on physical address -@@ -1612,9 +1615,10 @@ config HOTPLUG_CPU +@@ -1634,9 +1637,10 @@ config HOTPLUG_CPU Say N if you want to disable CPU hotplug. =20 config COMPAT_VDSO @@ -11981,41 +10405,41 @@ diff -urNp linux-2.6.32.48/arch/x86/Kconfig lin= ux-2.6.32.48/arch/x86/Kconfig + depends on !PAX_NOEXEC && !PAX_MEMORY_UDEREF ---help--- Map the 32-bit VDSO to the predictable old-style address too. - ---help--- -diff -urNp linux-2.6.32.48/arch/x86/Kconfig.cpu linux-2.6.32.48/arch/x86= /Kconfig.cpu ---- linux-2.6.32.48/arch/x86/Kconfig.cpu 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/arch/x86/Kconfig.cpu 2011-11-12 12:46:42.000000000 -= 0500 -@@ -340,7 +340,7 @@ config X86_PPRO_FENCE +=20 +diff -urNp linux-3.0.8/arch/x86/Kconfig.cpu linux-3.0.8/arch/x86/Kconfig= .cpu +--- linux-3.0.8/arch/x86/Kconfig.cpu 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/Kconfig.cpu 2011-08-23 21:47:55.000000000 -0400 +@@ -338,7 +338,7 @@ config X86_PPRO_FENCE =20 config X86_F00F_BUG def_bool y - depends on M586MMX || M586TSC || M586 || M486 || M386 + depends on (M586MMX || M586TSC || M586 || M486 || M386) && !PAX_KERNEX= EC =20 - config X86_WP_WORKS_OK + config X86_INVD_BUG def_bool y -@@ -360,7 +360,7 @@ config X86_POPAD_OK +@@ -362,7 +362,7 @@ config X86_POPAD_OK =20 config X86_ALIGNMENT_16 def_bool y -- depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 ||= M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1 +- depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M5= 86MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1 + depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK8 ||= MK7 || MK6 || MCORE2 || MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M686 |= | M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1 =20 config X86_INTEL_USERCOPY def_bool y -@@ -406,7 +406,7 @@ config X86_CMPXCHG64 +@@ -408,7 +408,7 @@ config X86_CMPXCHG64 # generates cmov. config X86_CMOV def_bool y -- depends on (MK8 || MK7 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUM= III || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON |= | X86_64 || MATOM) -+ depends on (MK8 || MK7 || MCORE2 || MPSC || MPENTIUM4 || MPENTIUMM || = MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEF= FICEON || X86_64 || MATOM) +- depends on (MK8 || MK7 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUM= III || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON |= | X86_64 || MATOM || MGEODE_LX) ++ depends on (MK8 || MK7 || MCORE2 || MPSC || MPENTIUM4 || MPENTIUMM || = MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEF= FICEON || X86_64 || MATOM || MGEODE_LX) =20 config X86_MINIMUM_CPU_FAMILY int -diff -urNp linux-2.6.32.48/arch/x86/Kconfig.debug linux-2.6.32.48/arch/x= 86/Kconfig.debug ---- linux-2.6.32.48/arch/x86/Kconfig.debug 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/Kconfig.debug 2011-11-12 12:46:42.000000000= -0500 -@@ -99,7 +99,7 @@ config X86_PTDUMP +diff -urNp linux-3.0.8/arch/x86/Kconfig.debug linux-3.0.8/arch/x86/Kconf= ig.debug +--- linux-3.0.8/arch/x86/Kconfig.debug 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/Kconfig.debug 2011-08-23 21:47:55.000000000 -04= 00 +@@ -81,7 +81,7 @@ config X86_PTDUMP config DEBUG_RODATA bool "Write protect kernel read-only data structures" default y @@ -12024,9 +10448,18 @@ diff -urNp linux-2.6.32.48/arch/x86/Kconfig.debu= g linux-2.6.32.48/arch/x86/Kconf ---help--- Mark the kernel read-only data as write-protected in the pagetables, in order to catch accidental (and incorrect) writes to such const -diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/realmode/Makefile linux-= 2.6.32.48/arch/x86/kernel/acpi/realmode/Makefile ---- linux-2.6.32.48/arch/x86/kernel/acpi/realmode/Makefile 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/acpi/realmode/Makefile 2011-11-12 12= :46:42.000000000 -0500 +@@ -99,7 +99,7 @@ config DEBUG_RODATA_TEST +=20 + config DEBUG_SET_MODULE_RONX + bool "Set loadable kernel module data as NX and text as RO" +- depends on MODULES ++ depends on MODULES && BROKEN + ---help--- + This option helps catch unintended modifications to loadable + kernel module's text and read-only data. It also prevents execution +diff -urNp linux-3.0.8/arch/x86/kernel/acpi/realmode/Makefile linux-3.0.= 8/arch/x86/kernel/acpi/realmode/Makefile +--- linux-3.0.8/arch/x86/kernel/acpi/realmode/Makefile 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/acpi/realmode/Makefile 2011-08-23 21:47:= 55.000000000 -0400 @@ -41,6 +41,9 @@ KBUILD_CFLAGS :=3D $(LINUXINCLUDE) -g -Os=20 $(call cc-option, -fno-stack-protector) \ $(call cc-option, -mpreferred-stack-boundary=3D2) @@ -12037,29 +10470,20 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi= /realmode/Makefile linux-2.6.32.4 KBUILD_AFLAGS :=3D $(KBUILD_CFLAGS) -D__ASSEMBLY__ GCOV_PROFILE :=3D n =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/realmode/wakeup.S linux-= 2.6.32.48/arch/x86/kernel/acpi/realmode/wakeup.S ---- linux-2.6.32.48/arch/x86/kernel/acpi/realmode/wakeup.S 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/acpi/realmode/wakeup.S 2011-11-12 12= :46:42.000000000 -0500 -@@ -91,6 +91,9 @@ _start: +diff -urNp linux-3.0.8/arch/x86/kernel/acpi/realmode/wakeup.S linux-3.0.= 8/arch/x86/kernel/acpi/realmode/wakeup.S +--- linux-3.0.8/arch/x86/kernel/acpi/realmode/wakeup.S 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/acpi/realmode/wakeup.S 2011-08-23 21:48:= 14.000000000 -0400 +@@ -108,6 +108,9 @@ wakeup_code: /* Do any other stuff... */ =20 #ifndef CONFIG_64BIT -+ /* Recheck NX bit overrides (64bit path does this in trampoline) */ ++ /* Recheck NX bit overrides (64bit path does this in trampoline */ + call verify_cpu + /* This could also be done in C code... */ movl pmode_cr3, %eax movl %eax, %cr3 -@@ -104,7 +107,7 @@ _start: - movl %eax, %ecx - orl %edx, %ecx - jz 1f -- movl $0xc0000080, %ecx -+ mov $MSR_EFER, %ecx - wrmsr - 1: -=20 -@@ -114,6 +117,7 @@ _start: +@@ -131,6 +134,7 @@ wakeup_code: movl pmode_cr0, %eax movl %eax, %cr0 jmp pmode_return @@ -12067,29 +10491,13 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi= /realmode/wakeup.S linux-2.6.32.4 #else pushw $0 pushw trampoline_segment -diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/sleep.c linux-2.6.32.48/= arch/x86/kernel/acpi/sleep.c ---- linux-2.6.32.48/arch/x86/kernel/acpi/sleep.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/acpi/sleep.c 2011-11-12 12:46:42.000= 000000 -0500 -@@ -11,11 +11,12 @@ - #include - #include - #include -+#include -=20 - #include "realmode/wakeup.h" - #include "sleep.h" -=20 --unsigned long acpi_wakeup_address; -+unsigned long acpi_wakeup_address =3D 0x2000; - unsigned long acpi_realmode_flags; -=20 - /* address in low memory of the wakeup routine. */ -@@ -98,9 +99,13 @@ int acpi_save_state_mem(void) - #else /* CONFIG_64BIT */ - header->trampoline_segment =3D setup_trampoline() >> 4; +diff -urNp linux-3.0.8/arch/x86/kernel/acpi/sleep.c linux-3.0.8/arch/x86= /kernel/acpi/sleep.c +--- linux-3.0.8/arch/x86/kernel/acpi/sleep.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/kernel/acpi/sleep.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -94,8 +94,12 @@ int acpi_suspend_lowlevel(void) + header->trampoline_segment =3D trampoline_address() >> 4; #ifdef CONFIG_SMP -- stack_start.sp =3D temp_stack + sizeof(temp_stack); -+ stack_start =3D (unsigned long)temp_stack + sizeof(temp_stack); + stack_start =3D (unsigned long)temp_stack + sizeof(temp_stack); + + pax_open_kernel(); early_gdt_descr.address =3D @@ -12099,26 +10507,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/= sleep.c linux-2.6.32.48/arch/x86 initial_gs =3D per_cpu_offset(smp_processor_id()); #endif initial_code =3D (unsigned long)wakeup_long64; -@@ -134,14 +139,8 @@ void __init acpi_reserve_bootmem(void) - return; - } -=20 -- acpi_realmode =3D (unsigned long)alloc_bootmem_low(WAKEUP_SIZE); -- -- if (!acpi_realmode) { -- printk(KERN_ERR "ACPI: Cannot allocate lowmem, S3 disabled.\n"); -- return; -- } -- -- acpi_wakeup_address =3D virt_to_phys((void *)acpi_realmode); -+ reserve_early(acpi_wakeup_address, acpi_wakeup_address + WAKEUP_SIZE, = "ACPI Wakeup Code"); -+ acpi_realmode =3D (unsigned long)__va(acpi_wakeup_address);; - } -=20 -=20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi/wakeup_32.S linux-2.6.32= .48/arch/x86/kernel/acpi/wakeup_32.S ---- linux-2.6.32.48/arch/x86/kernel/acpi/wakeup_32.S 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/acpi/wakeup_32.S 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/acpi/wakeup_32.S linux-3.0.8/arch= /x86/kernel/acpi/wakeup_32.S +--- linux-3.0.8/arch/x86/kernel/acpi/wakeup_32.S 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/acpi/wakeup_32.S 2011-08-23 21:47:55.000= 000000 -0400 @@ -30,13 +30,11 @@ wakeup_pmode_return: # and restore the stack ... but you need gdt for this to work movl saved_context_esp, %esp @@ -12135,10 +10526,28 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/acpi= /wakeup_32.S linux-2.6.32.48/arch =20 bogus_magic: jmp bogus_magic -diff -urNp linux-2.6.32.48/arch/x86/kernel/alternative.c linux-2.6.32.48= /arch/x86/kernel/alternative.c ---- linux-2.6.32.48/arch/x86/kernel/alternative.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/alternative.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -407,7 +407,7 @@ void __init_or_module apply_paravirt(str +diff -urNp linux-3.0.8/arch/x86/kernel/alternative.c linux-3.0.8/arch/x8= 6/kernel/alternative.c +--- linux-3.0.8/arch/x86/kernel/alternative.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/kernel/alternative.c 2011-08-23 21:47:55.000000= 000 -0400 +@@ -313,7 +313,7 @@ static void alternatives_smp_lock(const=20 + if (!*poff || ptr < text || ptr >=3D text_end) + continue; + /* turn DS segment override prefix into lock prefix */ +- if (*ptr =3D=3D 0x3e) ++ if (*ktla_ktva(ptr) =3D=3D 0x3e) + text_poke(ptr, ((unsigned char []){0xf0}), 1); + }; + mutex_unlock(&text_mutex); +@@ -334,7 +334,7 @@ static void alternatives_smp_unlock(cons + if (!*poff || ptr < text || ptr >=3D text_end) + continue; + /* turn lock prefix into DS segment override prefix */ +- if (*ptr =3D=3D 0xf0) ++ if (*ktla_ktva(ptr) =3D=3D 0xf0) + text_poke(ptr, ((unsigned char []){0x3E}), 1); + }; + mutex_unlock(&text_mutex); +@@ -503,7 +503,7 @@ void __init_or_module apply_paravirt(str =20 BUG_ON(p->len > MAX_PATCH_LEN); /* prep the buffer with the original instructions */ @@ -12147,7 +10556,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/altern= ative.c linux-2.6.32.48/arch/x8 used =3D pv_init_ops.patch(p->instrtype, p->clobbers, insnbuf, (unsigned long)p->instr, p->len); =20 -@@ -475,7 +475,7 @@ void __init alternative_instructions(voi +@@ -571,7 +571,7 @@ void __init alternative_instructions(voi if (smp_alt_once) free_init_pages("SMP alternatives", (unsigned long)__smp_locks, @@ -12156,12 +10565,12 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/alte= rnative.c linux-2.6.32.48/arch/x8 =20 restart_nmi(); } -@@ -492,13 +492,17 @@ void __init alternative_instructions(voi +@@ -588,13 +588,17 @@ void __init alternative_instructions(voi * instructions. And on the local CPU you need to be protected again NM= I or MCE * handlers seeing an inconsistent instruction while you patch. */ --static void *__init_or_module text_poke_early(void *addr, const void *o= pcode, -+static void *__kprobes text_poke_early(void *addr, const void *opcode, +-void *__init_or_module text_poke_early(void *addr, const void *opcode, ++void *__kprobes text_poke_early(void *addr, const void *opcode, size_t len) { unsigned long flags; @@ -12176,7 +10585,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/altern= ative.c linux-2.6.32.48/arch/x8 local_irq_restore(flags); /* Could also do a CLFLUSH here to speed up CPU recovery; but that causes hangs on some VIA CPUs. */ -@@ -520,35 +524,21 @@ static void *__init_or_module text_poke_ +@@ -616,36 +620,22 @@ void *__init_or_module text_poke_early(v */ void *__kprobes text_poke(void *addr, const void *opcode, size_t len) { @@ -12220,22 +10629,11 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/alte= rnative.c linux-2.6.32.48/arch/x8 + BUG_ON((vaddr)[i] !=3D ((const unsigned char *)opcode)[i]); return addr; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/amd_iommu.c linux-2.6.32.48/a= rch/x86/kernel/amd_iommu.c ---- linux-2.6.32.48/arch/x86/kernel/amd_iommu.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/amd_iommu.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -2076,7 +2076,7 @@ static void prealloc_protection_domains( - } - } =20 --static struct dma_map_ops amd_iommu_dma_ops =3D { -+static const struct dma_map_ops amd_iommu_dma_ops =3D { - .alloc_coherent =3D alloc_coherent, - .free_coherent =3D free_coherent, - .map_page =3D map_page, -diff -urNp linux-2.6.32.48/arch/x86/kernel/apic/apic.c linux-2.6.32.48/a= rch/x86/kernel/apic/apic.c ---- linux-2.6.32.48/arch/x86/kernel/apic/apic.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/apic/apic.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -170,7 +170,7 @@ int first_system_vector =3D 0xfe; +diff -urNp linux-3.0.8/arch/x86/kernel/apic/apic.c linux-3.0.8/arch/x86/= kernel/apic/apic.c +--- linux-3.0.8/arch/x86/kernel/apic/apic.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/kernel/apic/apic.c 2011-08-23 21:48:14.00000000= 0 -0400 +@@ -173,7 +173,7 @@ int first_system_vector =3D 0xfe; /* * Debug level, exported for io_apic.c */ @@ -12244,16 +10642,16 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apic= /apic.c linux-2.6.32.48/arch/x86/ =20 int pic_mode; =20 -@@ -1794,7 +1794,7 @@ void smp_error_interrupt(struct pt_regs=20 +@@ -1834,7 +1834,7 @@ void smp_error_interrupt(struct pt_regs=20 apic_write(APIC_ESR, 0); v1 =3D apic_read(APIC_ESR); ack_APIC_irq(); - atomic_inc(&irq_err_count); + atomic_inc_unchecked(&irq_err_count); =20 - /* - * Here is what the APIC error bits mean: -@@ -2184,6 +2184,8 @@ static int __cpuinit apic_cluster_num(vo + apic_printk(APIC_DEBUG, KERN_DEBUG "APIC error on CPU%d: %02x(%02x)", + smp_processor_id(), v0 , v1); +@@ -2190,6 +2190,8 @@ static int __cpuinit apic_cluster_num(vo u16 *bios_cpu_apicid; DECLARE_BITMAP(clustermap, NUM_APIC_CLUSTERS); =20 @@ -12262,28 +10660,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apic= /apic.c linux-2.6.32.48/arch/x86/ bios_cpu_apicid =3D early_per_cpu_ptr(x86_bios_cpu_apicid); bitmap_zero(clustermap, NUM_APIC_CLUSTERS); =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/apic/io_apic.c linux-2.6.32.4= 8/arch/x86/kernel/apic/io_apic.c ---- linux-2.6.32.48/arch/x86/kernel/apic/io_apic.c 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/apic/io_apic.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -716,7 +716,7 @@ struct IO_APIC_route_entry **alloc_ioapi - ioapic_entries =3D kzalloc(sizeof(*ioapic_entries) * nr_ioapics, - GFP_ATOMIC); - if (!ioapic_entries) -- return 0; -+ return NULL; -=20 - for (apic =3D 0; apic < nr_ioapics; apic++) { - ioapic_entries[apic] =3D -@@ -733,7 +733,7 @@ nomem: - kfree(ioapic_entries[apic]); - kfree(ioapic_entries); -=20 -- return 0; -+ return NULL; - } -=20 - /* -@@ -1150,7 +1150,7 @@ int IO_APIC_get_PCI_irq_vector(int bus,=20 +diff -urNp linux-3.0.8/arch/x86/kernel/apic/io_apic.c linux-3.0.8/arch/x= 86/kernel/apic/io_apic.c +--- linux-3.0.8/arch/x86/kernel/apic/io_apic.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/kernel/apic/io_apic.c 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -1028,7 +1028,7 @@ int IO_APIC_get_PCI_irq_vector(int bus,=20 } EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector); =20 @@ -12292,37 +10672,37 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apic= /io_apic.c linux-2.6.32.48/arch/x { /* Used to the online set of cpus does not change * during assign_irq_vector. -@@ -1158,7 +1158,7 @@ void lock_vector_lock(void) - spin_lock(&vector_lock); +@@ -1036,7 +1036,7 @@ void lock_vector_lock(void) + raw_spin_lock(&vector_lock); } =20 -void unlock_vector_lock(void) +void unlock_vector_lock(void) __releases(vector_lock) { - spin_unlock(&vector_lock); + raw_spin_unlock(&vector_lock); } -@@ -2542,7 +2542,7 @@ static void ack_apic_edge(unsigned int i +@@ -2364,7 +2364,7 @@ static void ack_apic_edge(struct irq_dat ack_APIC_irq(); } =20 -atomic_t irq_mis_count; +atomic_unchecked_t irq_mis_count; =20 - static void ack_apic_level(unsigned int irq) - { -@@ -2626,7 +2626,7 @@ static void ack_apic_level(unsigned int=20 -=20 - /* Tail end of version 0x11 I/O APIC bug workaround */ + /* + * IO-APIC versions below 0x20 don't support EOI register. +@@ -2472,7 +2472,7 @@ static void ack_apic_level(struct irq_da + * at the cpu. + */ if (!(v & (1 << (i & 0x1f)))) { - atomic_inc(&irq_mis_count); + atomic_inc_unchecked(&irq_mis_count); - spin_lock(&ioapic_lock); - __mask_and_edge_IO_APIC_irq(cfg); - __unmask_and_level_IO_APIC_irq(cfg); -diff -urNp linux-2.6.32.48/arch/x86/kernel/apm_32.c linux-2.6.32.48/arch= /x86/kernel/apm_32.c ---- linux-2.6.32.48/arch/x86/kernel/apm_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/apm_32.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -410,7 +410,7 @@ static DEFINE_SPINLOCK(user_list_lock); +=20 + eoi_ioapic_irq(irq, cfg); + } +diff -urNp linux-3.0.8/arch/x86/kernel/apm_32.c linux-3.0.8/arch/x86/ker= nel/apm_32.c +--- linux-3.0.8/arch/x86/kernel/apm_32.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/kernel/apm_32.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -413,7 +413,7 @@ static DEFINE_MUTEX(apm_mutex); * This is for buggy BIOS's that refer to (real mode) segment 0x40 * even though they are called in protected mode. */ @@ -12331,7 +10711,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apm_32= .c linux-2.6.32.48/arch/x86/ker (unsigned long)__va(0x400UL), PAGE_SIZE - 0x400 - 1); =20 static const char driver_version[] =3D "1.16ac"; /* no spaces */ -@@ -588,7 +588,10 @@ static long __apm_bios_call(void *_call) +@@ -591,7 +591,10 @@ static long __apm_bios_call(void *_call) BUG_ON(cpu !=3D 0); gdt =3D get_cpu_gdt_table(cpu); save_desc_40 =3D gdt[0x40 / 8]; @@ -12342,7 +10722,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apm_32= .c linux-2.6.32.48/arch/x86/ker =20 apm_irq_save(flags); APM_DO_SAVE_SEGS; -@@ -597,7 +600,11 @@ static long __apm_bios_call(void *_call) +@@ -600,7 +603,11 @@ static long __apm_bios_call(void *_call) &call->esi); APM_DO_RESTORE_SEGS; apm_irq_restore(flags); @@ -12354,7 +10734,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apm_32= .c linux-2.6.32.48/arch/x86/ker put_cpu(); =20 return call->eax & 0xff; -@@ -664,7 +671,10 @@ static long __apm_bios_call_simple(void=20 +@@ -667,7 +674,10 @@ static long __apm_bios_call_simple(void=20 BUG_ON(cpu !=3D 0); gdt =3D get_cpu_gdt_table(cpu); save_desc_40 =3D gdt[0x40 / 8]; @@ -12365,7 +10745,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apm_32= .c linux-2.6.32.48/arch/x86/ker =20 apm_irq_save(flags); APM_DO_SAVE_SEGS; -@@ -672,7 +682,11 @@ static long __apm_bios_call_simple(void=20 +@@ -675,7 +685,11 @@ static long __apm_bios_call_simple(void=20 &call->eax); APM_DO_RESTORE_SEGS; apm_irq_restore(flags); @@ -12377,16 +10757,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apm_3= 2.c linux-2.6.32.48/arch/x86/ker put_cpu(); return error; } -@@ -975,7 +989,7 @@ recalc: -=20 - static void apm_power_off(void) - { -- unsigned char po_bios_call[] =3D { -+ const unsigned char po_bios_call[] =3D { - 0xb8, 0x00, 0x10, /* movw $0x1000,ax */ - 0x8e, 0xd0, /* movw ax,ss */ - 0xbc, 0x00, 0xf0, /* movw $0xf000,sp */ -@@ -2357,12 +2371,15 @@ static int __init apm_init(void) +@@ -2349,12 +2363,15 @@ static int __init apm_init(void) * code to that CPU. */ gdt =3D get_cpu_gdt_table(0); @@ -12402,97 +10773,60 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/apm_= 32.c linux-2.6.32.48/arch/x86/ker =20 proc_create("apm", 0, NULL, &apm_file_ops); =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/asm-offsets_32.c linux-2.6.32= .48/arch/x86/kernel/asm-offsets_32.c ---- linux-2.6.32.48/arch/x86/kernel/asm-offsets_32.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/asm-offsets_32.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -51,7 +51,6 @@ void foo(void) - OFFSET(CPUINFO_x86_vendor_id, cpuinfo_x86, x86_vendor_id); +diff -urNp linux-3.0.8/arch/x86/kernel/asm-offsets_64.c linux-3.0.8/arch= /x86/kernel/asm-offsets_64.c +--- linux-3.0.8/arch/x86/kernel/asm-offsets_64.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/asm-offsets_64.c 2011-08-23 21:47:55.000= 000000 -0400 +@@ -69,6 +69,7 @@ int main(void) BLANK(); + #undef ENTRY =20 -- OFFSET(TI_task, thread_info, task); - OFFSET(TI_exec_domain, thread_info, exec_domain); - OFFSET(TI_flags, thread_info, flags); ++ DEFINE(TSS_size, sizeof(struct tss_struct)); + OFFSET(TSS_ist, tss_struct, x86_tss.ist); + BLANK(); +=20 +diff -urNp linux-3.0.8/arch/x86/kernel/asm-offsets.c linux-3.0.8/arch/x8= 6/kernel/asm-offsets.c +--- linux-3.0.8/arch/x86/kernel/asm-offsets.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/kernel/asm-offsets.c 2011-08-23 21:47:55.000000= 000 -0400 +@@ -33,6 +33,8 @@ void common(void) { OFFSET(TI_status, thread_info, status); -@@ -60,6 +59,8 @@ void foo(void) - OFFSET(TI_restart_block, thread_info, restart_block); - OFFSET(TI_sysenter_return, thread_info, sysenter_return); - OFFSET(TI_cpu, thread_info, cpu); + OFFSET(TI_addr_limit, thread_info, addr_limit); + OFFSET(TI_preempt_count, thread_info, preempt_count); + OFFSET(TI_lowest_stack, thread_info, lowest_stack); + DEFINE(TI_task_thread_sp0, offsetof(struct task_struct, thread.sp0) - = offsetof(struct task_struct, tinfo)); - BLANK(); =20 - OFFSET(GDS_size, desc_ptr, size); -@@ -99,6 +100,7 @@ void foo(void) -=20 - DEFINE(PAGE_SIZE_asm, PAGE_SIZE); - DEFINE(PAGE_SHIFT_asm, PAGE_SHIFT); -+ DEFINE(THREAD_SIZE_asm, THREAD_SIZE); - DEFINE(PTRS_PER_PTE, PTRS_PER_PTE); - DEFINE(PTRS_PER_PMD, PTRS_PER_PMD); - DEFINE(PTRS_PER_PGD, PTRS_PER_PGD); -@@ -115,6 +117,11 @@ void foo(void) - OFFSET(PV_CPU_iret, pv_cpu_ops, iret); + BLANK(); + OFFSET(crypto_tfm_ctx_offset, crypto_tfm, __crt_ctx); +@@ -53,8 +55,26 @@ void common(void) { OFFSET(PV_CPU_irq_enable_sysexit, pv_cpu_ops, irq_enable_sysexit); OFFSET(PV_CPU_read_cr0, pv_cpu_ops, read_cr0); -+ -+#ifdef CONFIG_PAX_KERNEXEC -+ OFFSET(PV_CPU_write_cr0, pv_cpu_ops, write_cr0); -+#endif -+ - #endif -=20 - #ifdef CONFIG_XEN -diff -urNp linux-2.6.32.48/arch/x86/kernel/asm-offsets_64.c linux-2.6.32= .48/arch/x86/kernel/asm-offsets_64.c ---- linux-2.6.32.48/arch/x86/kernel/asm-offsets_64.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/asm-offsets_64.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -44,6 +44,8 @@ int main(void) - ENTRY(addr_limit); - ENTRY(preempt_count); - ENTRY(status); -+ ENTRY(lowest_stack); -+ DEFINE(TI_task_thread_sp0, offsetof(struct task_struct, thread.sp0) - = offsetof(struct task_struct, tinfo)); - #ifdef CONFIG_IA32_EMULATION - ENTRY(sysenter_return); - #endif -@@ -63,6 +65,18 @@ int main(void) - OFFSET(PV_CPU_irq_enable_sysexit, pv_cpu_ops, irq_enable_sysexit); - OFFSET(PV_CPU_swapgs, pv_cpu_ops, swapgs); OFFSET(PV_MMU_read_cr2, pv_mmu_ops, read_cr2); + +#ifdef CONFIG_PAX_KERNEXEC -+ OFFSET(PV_CPU_read_cr0, pv_cpu_ops, read_cr0); + OFFSET(PV_CPU_write_cr0, pv_cpu_ops, write_cr0); +#endif + +#ifdef CONFIG_PAX_MEMORY_UDEREF + OFFSET(PV_MMU_read_cr3, pv_mmu_ops, read_cr3); + OFFSET(PV_MMU_write_cr3, pv_mmu_ops, write_cr3); ++#ifdef CONFIG_X86_64 + OFFSET(PV_MMU_set_pgd_batched, pv_mmu_ops, set_pgd_batched); +#endif -+ #endif =20 -=20 -@@ -115,6 +129,7 @@ int main(void) - ENTRY(cr8); - BLANK(); - #undef ENTRY -+ DEFINE(TSS_size, sizeof(struct tss_struct)); - DEFINE(TSS_ist, offsetof(struct tss_struct, x86_tss.ist)); - BLANK(); - DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx)); -@@ -130,6 +145,7 @@ int main(void) -=20 - BLANK(); - DEFINE(PAGE_SIZE_asm, PAGE_SIZE); ++#endif ++ ++ BLANK(); ++ DEFINE(PAGE_SIZE_asm, PAGE_SIZE); ++ DEFINE(PAGE_SHIFT_asm, PAGE_SHIFT); + DEFINE(THREAD_SIZE_asm, THREAD_SIZE); ++ #ifdef CONFIG_XEN BLANK(); OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask); -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/amd.c linux-2.6.32.48/arc= h/x86/kernel/cpu/amd.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/amd.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/amd.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -602,7 +602,7 @@ static unsigned int __cpuinit amd_size_c +diff -urNp linux-3.0.8/arch/x86/kernel/cpu/amd.c linux-3.0.8/arch/x86/ke= rnel/cpu/amd.c +--- linux-3.0.8/arch/x86/kernel/cpu/amd.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/kernel/cpu/amd.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -647,7 +647,7 @@ static unsigned int __cpuinit amd_size_c unsigned int size) { /* AMD errata T13 (order #21922) */ @@ -12501,9 +10835,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/am= d.c linux-2.6.32.48/arch/x86/ke /* Duron Rev A0 */ if (c->x86_model =3D=3D 3 && c->x86_mask =3D=3D 0) size =3D 64; -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/common.c linux-2.6.32.48/= arch/x86/kernel/cpu/common.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/common.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/common.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/cpu/common.c linux-3.0.8/arch/x86= /kernel/cpu/common.c +--- linux-3.0.8/arch/x86/kernel/cpu/common.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/kernel/cpu/common.c 2011-08-23 21:47:55.0000000= 00 -0400 @@ -83,60 +83,6 @@ static const struct cpu_dev __cpuinitcon =20 static const struct cpu_dev *this_cpu __cpuinitdata =3D &default_cpu; @@ -12565,7 +10899,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/co= mmon.c linux-2.6.32.48/arch/x86 static int __init x86_xsave_setup(char *s) { setup_clear_cpu_cap(X86_FEATURE_XSAVE); -@@ -344,7 +290,7 @@ void switch_to_new_gdt(int cpu) +@@ -371,7 +317,7 @@ void switch_to_new_gdt(int cpu) { struct desc_ptr gdt_descr; =20 @@ -12574,7 +10908,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/co= mmon.c linux-2.6.32.48/arch/x86 gdt_descr.size =3D GDT_SIZE - 1; load_gdt(&gdt_descr); /* Reload the per-cpu base */ -@@ -798,6 +744,10 @@ static void __cpuinit identify_cpu(struc +@@ -840,6 +786,10 @@ static void __cpuinit identify_cpu(struc /* Filter out anything that depends on CPUID levels we don't have */ filter_cpuid_features(c, true); =20 @@ -12585,7 +10919,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/co= mmon.c linux-2.6.32.48/arch/x86 /* If the model name is still unset, do table lookup. */ if (!c->x86_model_id[0]) { const char *p; -@@ -980,6 +930,9 @@ static __init int setup_disablecpuid(cha +@@ -1019,6 +969,9 @@ static __init int setup_disablecpuid(cha } __setup("clearcpuid=3D", setup_disablecpuid); =20 @@ -12595,7 +10929,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/co= mmon.c linux-2.6.32.48/arch/x86 #ifdef CONFIG_X86_64 struct desc_ptr idt_descr =3D { NR_VECTORS * 16 - 1, (unsigned long) id= t_table }; =20 -@@ -995,7 +948,7 @@ DEFINE_PER_CPU(struct task_struct *, cur +@@ -1034,7 +987,7 @@ DEFINE_PER_CPU(struct task_struct *, cur EXPORT_PER_CPU_SYMBOL(current_task); =20 DEFINE_PER_CPU(unsigned long, kernel_stack) =3D @@ -12604,7 +10938,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/co= mmon.c linux-2.6.32.48/arch/x86 EXPORT_PER_CPU_SYMBOL(kernel_stack); =20 DEFINE_PER_CPU(char *, irq_stack_ptr) =3D -@@ -1060,7 +1013,7 @@ struct pt_regs * __cpuinit idle_regs(str +@@ -1099,7 +1052,7 @@ struct pt_regs * __cpuinit idle_regs(str { memset(regs, 0, sizeof(struct pt_regs)); regs->fs =3D __KERNEL_PERCPU; @@ -12613,16 +10947,16 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/= common.c linux-2.6.32.48/arch/x86 =20 return regs; } -@@ -1101,7 +1054,7 @@ void __cpuinit cpu_init(void) +@@ -1154,7 +1107,7 @@ void __cpuinit cpu_init(void) int i; =20 cpu =3D stack_smp_processor_id(); - t =3D &per_cpu(init_tss, cpu); + t =3D init_tss + cpu; - orig_ist =3D &per_cpu(orig_ist, cpu); + oist =3D &per_cpu(orig_ist, cpu); =20 #ifdef CONFIG_NUMA -@@ -1127,7 +1080,7 @@ void __cpuinit cpu_init(void) +@@ -1180,7 +1133,7 @@ void __cpuinit cpu_init(void) switch_to_new_gdt(cpu); loadsegment(fs, 0); =20 @@ -12631,15 +10965,15 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/= common.c linux-2.6.32.48/arch/x86 =20 memset(me->thread.tls_array, 0, GDT_ENTRY_TLS_ENTRIES * 8); syscall_init(); -@@ -1136,7 +1089,6 @@ void __cpuinit cpu_init(void) +@@ -1189,7 +1142,6 @@ void __cpuinit cpu_init(void) wrmsrl(MSR_KERNEL_GS_BASE, 0); barrier(); =20 -- check_efer(); +- x86_configure_nx(); if (cpu !=3D 0) enable_x2apic(); =20 -@@ -1199,7 +1151,7 @@ void __cpuinit cpu_init(void) +@@ -1243,7 +1195,7 @@ void __cpuinit cpu_init(void) { int cpu =3D smp_processor_id(); struct task_struct *curr =3D current; @@ -12648,10 +10982,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/= common.c linux-2.6.32.48/arch/x86 struct thread_struct *thread =3D &curr->thread; =20 if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) { -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/intel.c linux-2.6.32.48/a= rch/x86/kernel/cpu/intel.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/intel.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/intel.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -162,7 +162,7 @@ static void __cpuinit trap_init_f00f_bug +diff -urNp linux-3.0.8/arch/x86/kernel/cpu/intel.c linux-3.0.8/arch/x86/= kernel/cpu/intel.c +--- linux-3.0.8/arch/x86/kernel/cpu/intel.c 2011-10-24 08:05:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/kernel/cpu/intel.c 2011-08-29 23:30:14.00000000= 0 -0400 +@@ -172,7 +172,7 @@ static void __cpuinit trap_init_f00f_bug * Update the IDT descriptor and reload the IDT so that * it uses the read-only mapped virtual address. */ @@ -12660,48 +10994,24 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/= intel.c linux-2.6.32.48/arch/x86/ load_idt(&idt_descr); } #endif -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/intel_cacheinfo.c linux-2= .6.32.48/arch/x86/kernel/cpu/intel_cacheinfo.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/intel_cacheinfo.c 2011-11-12 12:= 44:28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/intel_cacheinfo.c 2011-11-12 12:= 46:42.000000000 -0500 -@@ -921,7 +921,7 @@ static ssize_t store(struct kobject *kob - return ret; - } -=20 --static struct sysfs_ops sysfs_ops =3D { -+static const struct sysfs_ops sysfs_ops =3D { - .show =3D show, - .store =3D store, - }; -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/Makefile linux-2.6.32.48/= arch/x86/kernel/cpu/Makefile ---- linux-2.6.32.48/arch/x86/kernel/cpu/Makefile 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/Makefile 2011-11-12 12:46:42.000= 000000 -0500 -@@ -7,10 +7,6 @@ ifdef CONFIG_FUNCTION_TRACER - CFLAGS_REMOVE_common.o =3D -pg +diff -urNp linux-3.0.8/arch/x86/kernel/cpu/Makefile linux-3.0.8/arch/x86= /kernel/cpu/Makefile +--- linux-3.0.8/arch/x86/kernel/cpu/Makefile 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/kernel/cpu/Makefile 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -8,10 +8,6 @@ CFLAGS_REMOVE_common.o =3D -pg + CFLAGS_REMOVE_perf_event.o =3D -pg endif =20 -# Make sure load_percpu_segment has no stackprotector -nostackp :=3D $(call cc-option, -fno-stack-protector) -CFLAGS_common.o :=3D $(nostackp) - - obj-y :=3D intel_cacheinfo.o addon_cpuid_features.o + obj-y :=3D intel_cacheinfo.o scattered.o topology.o obj-y +=3D proc.o capflags.o powerflags.o common.o - obj-y +=3D vmware.o hypervisor.o sched.o -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce_amd.c linux-2.= 6.32.48/arch/x86/kernel/cpu/mcheck/mce_amd.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce_amd.c 2011-11-12 12:4= 4:28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce_amd.c 2011-11-12 12:4= 6:42.000000000 -0500 -@@ -385,7 +385,7 @@ static ssize_t store(struct kobject *kob - return ret; - } -=20 --static struct sysfs_ops threshold_ops =3D { -+static const struct sysfs_ops threshold_ops =3D { - .show =3D show, - .store =3D store, - }; -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce.c linux-2.6.32= .48/arch/x86/kernel/cpu/mcheck/mce.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -43,6 +43,7 @@ + obj-y +=3D vmware.o hypervisor.o sched.o mshyperv.o +diff -urNp linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce.c linux-3.0.8/arch= /x86/kernel/cpu/mcheck/mce.c +--- linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce.c 2011-08-23 21:47:55.000= 000000 -0400 +@@ -46,6 +46,7 @@ #include #include #include @@ -12709,7 +11019,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce.c linux-2.6.32.48/arch =20 #include "mce-internal.h" =20 -@@ -187,7 +188,7 @@ static void print_mce(struct mce *m) +@@ -208,7 +209,7 @@ static void print_mce(struct mce *m) !(m->mcgstatus & MCG_STATUS_EIPV) ? " !INEXACT!" : "", m->cs, m->ip); =20 @@ -12718,7 +11028,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce.c linux-2.6.32.48/arch print_symbol("{%s}", m->ip); pr_cont("\n"); } -@@ -221,10 +222,10 @@ static void print_mce_tail(void) +@@ -236,10 +237,10 @@ static void print_mce(struct mce *m) =20 #define PANIC_TIMEOUT 5 /* 5 seconds */ =20 @@ -12731,7 +11041,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce.c linux-2.6.32.48/arch =20 /* Panic in progress. Enable interrupts and wait for final IPI */ static void wait_for_panic(void) -@@ -248,7 +249,7 @@ static void mce_panic(char *msg, struct=20 +@@ -263,7 +264,7 @@ static void mce_panic(char *msg, struct=20 /* * Make sure only one CPU runs in machine check panic */ @@ -12740,7 +11050,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce.c linux-2.6.32.48/arch wait_for_panic(); barrier(); =20 -@@ -256,7 +257,7 @@ static void mce_panic(char *msg, struct=20 +@@ -271,7 +272,7 @@ static void mce_panic(char *msg, struct=20 console_verbose(); } else { /* Don't log too much for fake panic */ @@ -12748,8 +11058,8 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce.c linux-2.6.32.48/arch + if (atomic_inc_return_unchecked(&mce_fake_paniced) > 1) return; } - print_mce_head(); -@@ -616,7 +617,7 @@ static int mce_timed_out(u64 *t) + /* First print corrected ones that are still unlogged */ +@@ -638,7 +639,7 @@ static int mce_timed_out(u64 *t) * might have been modified by someone else. */ rmb(); @@ -12758,7 +11068,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce.c linux-2.6.32.48/arch wait_for_panic(); if (!monarch_timeout) goto out; -@@ -1429,14 +1430,14 @@ void __cpuinit mcheck_init(struct cpuinf +@@ -1452,14 +1453,14 @@ void __cpuinit mcheck_cpu_init(struct cp */ =20 static DEFINE_SPINLOCK(mce_state_lock); @@ -12775,7 +11085,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce.c linux-2.6.32.48/arch spin_unlock(&mce_state_lock); =20 return -EBUSY; -@@ -1444,7 +1445,7 @@ static int mce_open(struct inode *inode, +@@ -1467,7 +1468,7 @@ static int mce_open(struct inode *inode, =20 if (file->f_flags & O_EXCL) open_exclu =3D 1; @@ -12784,7 +11094,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce.c linux-2.6.32.48/arch =20 spin_unlock(&mce_state_lock); =20 -@@ -1455,7 +1456,7 @@ static int mce_release(struct inode *ino +@@ -1478,7 +1479,7 @@ static int mce_release(struct inode *ino { spin_lock(&mce_state_lock); =20 @@ -12793,7 +11103,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mc= heck/mce.c linux-2.6.32.48/arch open_exclu =3D 0; =20 spin_unlock(&mce_state_lock); -@@ -2082,7 +2083,7 @@ struct dentry *mce_get_debugfs_dir(void) +@@ -2163,7 +2164,7 @@ struct dentry *mce_get_debugfs_dir(void) static void mce_reset(void) { cpu_missing =3D 0; @@ -12802,12 +11112,12 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/= mcheck/mce.c linux-2.6.32.48/arch atomic_set(&mce_executing, 0); atomic_set(&mce_callin, 0); atomic_set(&global_nwo, 0); -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce-inject.c linux= -2.6.32.48/arch/x86/kernel/cpu/mcheck/mce-inject.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce-inject.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-11-12 1= 2:46:42.000000000 -0500 -@@ -211,7 +211,9 @@ static ssize_t mce_write(struct file *fi - static int inject_init(void) - { +diff -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 +--- linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-08-23 21:47= :55.000000000 -0400 +@@ -215,7 +215,9 @@ static int inject_init(void) + if (!alloc_cpumask_var(&mce_inject_cpumask, GFP_KERNEL)) + return -ENOMEM; printk(KERN_INFO "Machine check injector initialized\n"); - mce_chrdev_ops.write =3D mce_write; + pax_open_kernel(); @@ -12816,79 +11126,22 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/= mcheck/mce-inject.c linux-2.6.32. register_die_notifier(&mce_raise_nb); return 0; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/amd.c linux-2.6.32.4= 8/arch/x86/kernel/cpu/mtrr/amd.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/amd.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/amd.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -108,7 +108,7 @@ amd_validate_add_page(unsigned long base - return 0; - } -=20 --static struct mtrr_ops amd_mtrr_ops =3D { -+static const struct mtrr_ops amd_mtrr_ops =3D { - .vendor =3D X86_VENDOR_AMD, - .set =3D amd_set_mtrr, - .get =3D amd_get_mtrr, -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/centaur.c linux-2.6.= 32.48/arch/x86/kernel/cpu/mtrr/centaur.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/centaur.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/centaur.c 2011-11-12 12:46:= 42.000000000 -0500 -@@ -110,7 +110,7 @@ centaur_validate_add_page(unsigned long=20 - return 0; - } -=20 --static struct mtrr_ops centaur_mtrr_ops =3D { -+static const struct mtrr_ops centaur_mtrr_ops =3D { - .vendor =3D X86_VENDOR_CENTAUR, - .set =3D centaur_set_mcr, - .get =3D centaur_get_mcr, -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/cyrix.c linux-2.6.32= .48/arch/x86/kernel/cpu/mtrr/cyrix.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/cyrix.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/cyrix.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -265,7 +265,7 @@ static void cyrix_set_all(void) - post_set(); - } -=20 --static struct mtrr_ops cyrix_mtrr_ops =3D { -+static const struct mtrr_ops cyrix_mtrr_ops =3D { - .vendor =3D X86_VENDOR_CYRIX, - .set_all =3D cyrix_set_all, - .set =3D cyrix_set_arr, -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/generic.c linux-2.6.= 32.48/arch/x86/kernel/cpu/mtrr/generic.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/generic.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/generic.c 2011-11-12 12:46:= 42.000000000 -0500 -@@ -752,7 +752,7 @@ int positive_have_wrcomb(void) - /* - * Generic structure... - */ --struct mtrr_ops generic_mtrr_ops =3D { -+const struct mtrr_ops generic_mtrr_ops =3D { - .use_intel_if =3D 1, - .set_all =3D generic_set_all, - .get =3D generic_get_mtrr, -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/main.c linux-2.6.32.= 48/arch/x86/kernel/cpu/mtrr/main.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/main.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/main.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -60,14 +60,14 @@ static DEFINE_MUTEX(mtrr_mutex); +diff -urNp linux-3.0.8/arch/x86/kernel/cpu/mtrr/main.c linux-3.0.8/arch/= x86/kernel/cpu/mtrr/main.c +--- linux-3.0.8/arch/x86/kernel/cpu/mtrr/main.c 2011-10-24 08:05:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/kernel/cpu/mtrr/main.c 2011-08-29 23:26:21.0000= 00000 -0400 +@@ -62,7 +62,7 @@ static DEFINE_MUTEX(mtrr_mutex); u64 size_or_mask, size_and_mask; static bool mtrr_aps_delayed_init; =20 --static struct mtrr_ops *mtrr_ops[X86_VENDOR_NUM]; +-static const struct mtrr_ops *mtrr_ops[X86_VENDOR_NUM]; +static const struct mtrr_ops *mtrr_ops[X86_VENDOR_NUM] __read_only; =20 --struct mtrr_ops *mtrr_if; -+const struct mtrr_ops *mtrr_if; -=20 - static void set_mtrr(unsigned int reg, unsigned long base, - unsigned long size, mtrr_type type); + const struct mtrr_ops *mtrr_if; =20 --void set_mtrr_ops(struct mtrr_ops *ops) -+void set_mtrr_ops(const struct mtrr_ops *ops) - { - if (ops->vendor && ops->vendor < X86_VENDOR_NUM) - mtrr_ops[ops->vendor] =3D ops; -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/mtrr.h linux-2.6.32.= 48/arch/x86/kernel/cpu/mtrr/mtrr.h ---- linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/mtrr.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-11-12 12:46:42.= 000000000 -0500 -@@ -25,14 +25,14 @@ struct mtrr_ops { +diff -urNp linux-3.0.8/arch/x86/kernel/cpu/mtrr/mtrr.h linux-3.0.8/arch/= x86/kernel/cpu/mtrr/mtrr.h +--- linux-3.0.8/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-08-26 19:49:56.0000= 00000 -0400 +@@ -25,7 +25,7 @@ struct mtrr_ops { int (*validate_add_page)(unsigned long base, unsigned long size, unsigned int type); int (*have_wrcomb)(void); @@ -12897,110 +11150,31 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu= /mtrr/mtrr.h linux-2.6.32.48/arch/ =20 extern int generic_get_free_region(unsigned long base, unsigned long si= ze, int replace_reg); - extern int generic_validate_add_page(unsigned long base, unsigned long = size, - unsigned int type); +diff -urNp linux-3.0.8/arch/x86/kernel/cpu/perf_event.c linux-3.0.8/arch= /x86/kernel/cpu/perf_event.c +--- linux-3.0.8/arch/x86/kernel/cpu/perf_event.c 2011-10-24 08:05:30.000= 000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/cpu/perf_event.c 2011-10-16 21:55:27.000= 000000 -0400 +@@ -781,6 +781,8 @@ static int x86_schedule_events(struct cp + int i, j, w, wmax, num =3D 0; + struct hw_perf_event *hwc; =20 --extern struct mtrr_ops generic_mtrr_ops; -+extern const struct mtrr_ops generic_mtrr_ops; -=20 - extern int positive_have_wrcomb(void); -=20 -@@ -53,10 +53,10 @@ void fill_mtrr_var_range(unsigned int in - u32 base_lo, u32 base_hi, u32 mask_lo, u32 mask_hi); - void get_mtrr_state(void); -=20 --extern void set_mtrr_ops(struct mtrr_ops *ops); -+extern void set_mtrr_ops(const struct mtrr_ops *ops); -=20 - extern u64 size_or_mask, size_and_mask; --extern struct mtrr_ops *mtrr_if; -+extern const struct mtrr_ops *mtrr_if; -=20 - #define is_cpu(vnd) (mtrr_if && mtrr_if->vendor =3D=3D X86_VENDOR_##vnd= ) - #define use_intel() (mtrr_if && mtrr_if->use_intel_if =3D=3D 1) -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/perfctr-watchdog.c linux-= 2.6.32.48/arch/x86/kernel/cpu/perfctr-watchdog.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/perfctr-watchdog.c 2011-11-12 12= :44:28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/perfctr-watchdog.c 2011-11-12 12= :46:42.000000000 -0500 -@@ -30,11 +30,11 @@ struct nmi_watchdog_ctlblk { -=20 - /* Interface defining a CPU specific perfctr watchdog */ - struct wd_ops { -- int (*reserve)(void); -- void (*unreserve)(void); -- int (*setup)(unsigned nmi_hz); -- void (*rearm)(struct nmi_watchdog_ctlblk *wd, unsigned nmi_hz); -- void (*stop)(void); -+ int (* const reserve)(void); -+ void (* const unreserve)(void); -+ int (* const setup)(unsigned nmi_hz); -+ void (* const rearm)(struct nmi_watchdog_ctlblk *wd, unsigned nmi_hz); -+ void (* const stop)(void); - unsigned perfctr; - unsigned evntsel; - u64 checkbit; -@@ -645,6 +645,7 @@ static const struct wd_ops p4_wd_ops =3D { - #define ARCH_PERFMON_NMI_EVENT_SEL ARCH_PERFMON_UNHALTED_CORE_CYCLES_SE= L - #define ARCH_PERFMON_NMI_EVENT_UMASK ARCH_PERFMON_UNHALTED_CORE_CYCLES_= UMASK -=20 -+/* cannot be const */ - static struct wd_ops intel_arch_wd_ops; -=20 - static int setup_intel_arch_watchdog(unsigned nmi_hz) -@@ -697,6 +698,7 @@ static int setup_intel_arch_watchdog(uns - return 1; - } -=20 -+/* cannot be const */ - static struct wd_ops intel_arch_wd_ops __read_mostly =3D { - .reserve =3D single_msr_reserve, - .unreserve =3D single_msr_unreserve, -diff -urNp linux-2.6.32.48/arch/x86/kernel/cpu/perf_event.c linux-2.6.32= .48/arch/x86/kernel/cpu/perf_event.c ---- linux-2.6.32.48/arch/x86/kernel/cpu/perf_event.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/cpu/perf_event.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -723,10 +723,10 @@ x86_perf_event_update(struct perf_event=20 - * count to the generic event atomically: - */ - again: -- prev_raw_count =3D atomic64_read(&hwc->prev_count); -+ prev_raw_count =3D atomic64_read_unchecked(&hwc->prev_count); - rdmsrl(hwc->event_base + idx, new_raw_count); -=20 -- if (atomic64_cmpxchg(&hwc->prev_count, prev_raw_count, -+ if (atomic64_cmpxchg_unchecked(&hwc->prev_count, prev_raw_count, - new_raw_count) !=3D prev_raw_count) - goto again; -=20 -@@ -741,7 +741,7 @@ again: - delta =3D (new_raw_count << shift) - (prev_raw_count << shift); - delta >>=3D shift; -=20 -- atomic64_add(delta, &event->count); -+ atomic64_add_unchecked(delta, &event->count); - atomic64_sub(delta, &hwc->period_left); -=20 - return new_raw_count; -@@ -1353,7 +1353,7 @@ x86_perf_event_set_period(struct perf_ev - * The hw event starts counting from this event offset, - * mark it to be able to extra future deltas: - */ -- atomic64_set(&hwc->prev_count, (u64)-left); -+ atomic64_set_unchecked(&hwc->prev_count, (u64)-left); ++ pax_track_stack(); ++ + bitmap_zero(used_mask, X86_PMC_IDX_MAX); =20 - err =3D checking_wrmsrl(hwc->event_base + idx, - (u64)(-left) & x86_pmu.event_mask); -@@ -2357,7 +2357,7 @@ perf_callchain_user(struct pt_regs *regs + for (i =3D 0; i < n; i++) { +@@ -1875,7 +1877,7 @@ perf_callchain_user(struct perf_callchai break; =20 - callchain_store(entry, frame.return_address); + perf_callchain_store(entry, frame.return_address); - fp =3D frame.next_frame; -+ fp =3D (__force const void __user *)frame.next_frame; ++ fp =3D (const void __force_user *)frame.next_frame; } } =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/crash.c linux-2.6.32.48/arch/= x86/kernel/crash.c ---- linux-2.6.32.48/arch/x86/kernel/crash.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/crash.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -41,7 +41,7 @@ static void kdump_nmi_callback(int cpu,=20 +diff -urNp linux-3.0.8/arch/x86/kernel/crash.c linux-3.0.8/arch/x86/kern= el/crash.c +--- linux-3.0.8/arch/x86/kernel/crash.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/x86/kernel/crash.c 2011-08-23 21:47:55.000000000 -0= 400 +@@ -42,7 +42,7 @@ static void kdump_nmi_callback(int cpu,=20 regs =3D args->regs; =20 #ifdef CONFIG_X86_32 @@ -13009,9 +11183,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/crash.= c linux-2.6.32.48/arch/x86/kern crash_fixup_ss_esp(&fixed_regs, regs); regs =3D &fixed_regs; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/doublefault_32.c linux-2.6.32= .48/arch/x86/kernel/doublefault_32.c ---- linux-2.6.32.48/arch/x86/kernel/doublefault_32.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/doublefault_32.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/doublefault_32.c linux-3.0.8/arch= /x86/kernel/doublefault_32.c +--- linux-3.0.8/arch/x86/kernel/doublefault_32.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/doublefault_32.c 2011-08-23 21:47:55.000= 000000 -0400 @@ -11,7 +11,7 @@ =20 #define DOUBLEFAULT_STACKSIZE (1024) @@ -13043,22 +11217,21 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/doub= lefault_32.c linux-2.6.32.48/arch .fs =3D __KERNEL_PERCPU, =20 .__cr3 =3D __pa_nodebug(swapper_pg_dir), -diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpstack_32.c linux-2.6.32.4= 8/arch/x86/kernel/dumpstack_32.c ---- linux-2.6.32.48/arch/x86/kernel/dumpstack_32.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/dumpstack_32.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -53,16 +53,12 @@ void dump_trace(struct task_struct *task - #endif +diff -urNp linux-3.0.8/arch/x86/kernel/dumpstack_32.c linux-3.0.8/arch/x= 86/kernel/dumpstack_32.c +--- linux-3.0.8/arch/x86/kernel/dumpstack_32.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/kernel/dumpstack_32.c 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -38,15 +38,13 @@ void dump_trace(struct task_struct *task + bp =3D stack_frame(task, regs); =20 for (;;) { - struct thread_info *context; + void *stack_start =3D (void *)((unsigned long)stack & ~(THREAD_SIZE-1= )); -+ bp =3D print_context_stack(task, stack_start, stack, bp, ops, data, N= ULL, &graph); =20 - context =3D (struct thread_info *) - ((unsigned long)stack & (~(THREAD_SIZE - 1))); -- bp =3D print_context_stack(context, stack, bp, ops, -- data, NULL, &graph); -- +- bp =3D ops->walk_stack(context, stack, bp, ops, data, NULL, &graph); ++ bp =3D ops->walk_stack(task, stack_start, stack, bp, ops, data, NULL,= &graph); +=20 - stack =3D (unsigned long *)context->previous_esp; - if (!stack) + if (stack_start =3D=3D task_stack_page(task)) @@ -13067,7 +11240,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack_32.c linux-2.6.32.48/arch/x if (ops->stack(data, "IRQ") < 0) break; touch_nmi_watchdog(); -@@ -112,11 +108,12 @@ void show_registers(struct pt_regs *regs +@@ -96,21 +94,22 @@ void show_registers(struct pt_regs *regs * When in-kernel, we also print out the stack and code at the * time of the fault.. */ @@ -13080,8 +11253,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack_32.c linux-2.6.32.48/arch/x + unsigned long cs_base =3D get_desc_base(&get_cpu_gdt_table(smp_proces= sor_id())[(0xffff & regs->cs) >> 3]); =20 printk(KERN_EMERG "Stack:\n"); - show_stack_log_lvl(NULL, regs, ®s->sp, -@@ -124,10 +121,10 @@ void show_registers(struct pt_regs *regs + show_stack_log_lvl(NULL, regs, ®s->sp, 0, KERN_EMERG); =20 printk(KERN_EMERG "Code: "); =20 @@ -13094,7 +11266,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack_32.c linux-2.6.32.48/arch/x code_len =3D code_len - code_prologue + 1; } for (i =3D 0; i < code_len; i++, ip++) { -@@ -136,7 +133,7 @@ void show_registers(struct pt_regs *regs +@@ -119,7 +118,7 @@ void show_registers(struct pt_regs *regs printk(" Bad EIP value."); break; } @@ -13103,7 +11275,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack_32.c linux-2.6.32.48/arch/x printk("<%02x> ", c); else printk("%02x ", c); -@@ -149,6 +146,7 @@ int is_valid_bugaddr(unsigned long ip) +@@ -132,6 +131,7 @@ int is_valid_bugaddr(unsigned long ip) { unsigned short ud2; =20 @@ -13111,20 +11283,21 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dump= stack_32.c linux-2.6.32.48/arch/x if (ip < PAGE_OFFSET) return 0; if (probe_kernel_address((unsigned short *)ip, ud2)) -diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpstack_64.c linux-2.6.32.4= 8/arch/x86/kernel/dumpstack_64.c ---- linux-2.6.32.48/arch/x86/kernel/dumpstack_64.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/dumpstack_64.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -116,8 +116,8 @@ void dump_trace(struct task_struct *task +diff -urNp linux-3.0.8/arch/x86/kernel/dumpstack_64.c linux-3.0.8/arch/x= 86/kernel/dumpstack_64.c +--- linux-3.0.8/arch/x86/kernel/dumpstack_64.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/kernel/dumpstack_64.c 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -147,9 +147,9 @@ void dump_trace(struct task_struct *task unsigned long *irq_stack_end =3D (unsigned long *)per_cpu(irq_stack_ptr, cpu); unsigned used =3D 0; - struct thread_info *tinfo; int graph =3D 0; + unsigned long dummy; + void *stack_start; =20 if (!task) task =3D current; -@@ -146,10 +146,10 @@ void dump_trace(struct task_struct *task +@@ -167,10 +167,10 @@ void dump_trace(struct task_struct *task * current stack address. If the stacks consist of nested * exceptions */ @@ -13136,37 +11309,37 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dump= stack_64.c linux-2.6.32.48/arch/x estack_end =3D in_exception_stack(cpu, (unsigned long)stack, &used, &id); =20 -@@ -157,7 +157,7 @@ void dump_trace(struct task_struct *task +@@ -178,7 +178,7 @@ void dump_trace(struct task_struct *task if (ops->stack(data, id) < 0) break; =20 -- bp =3D print_context_stack(tinfo, stack, bp, ops, -+ bp =3D print_context_stack(task, estack_end - EXCEPTION_STKSZ, stack= , bp, ops, - data, estack_end, &graph); +- bp =3D ops->walk_stack(tinfo, stack, bp, ops, ++ bp =3D ops->walk_stack(task, estack_end - EXCEPTION_STKSZ, stack, bp= , ops, + data, estack_end, &graph); ops->stack(data, ""); /* -@@ -176,7 +176,7 @@ void dump_trace(struct task_struct *task - if (stack >=3D irq_stack && stack < irq_stack_end) { +@@ -197,7 +197,7 @@ void dump_trace(struct task_struct *task + if (in_irq_stack(stack, irq_stack, irq_stack_end)) { if (ops->stack(data, "IRQ") < 0) break; -- bp =3D print_context_stack(tinfo, stack, bp, -+ bp =3D print_context_stack(task, irq_stack, stack, bp, +- bp =3D ops->walk_stack(tinfo, stack, bp, ++ bp =3D ops->walk_stack(task, irq_stack, stack, bp, ops, data, irq_stack_end, &graph); /* * We link to the next stack (which would be -@@ -195,7 +195,8 @@ void dump_trace(struct task_struct *task +@@ -218,7 +218,8 @@ void dump_trace(struct task_struct *task /* * This handles the process stack: */ -- bp =3D print_context_stack(tinfo, stack, bp, ops, data, NULL, &graph); +- bp =3D ops->walk_stack(tinfo, stack, bp, ops, data, NULL, &graph); + stack_start =3D (void *)((unsigned long)stack & ~(THREAD_SIZE-1)); -+ bp =3D print_context_stack(task, stack_start, stack, bp, ops, data, NU= LL, &graph); ++ bp =3D ops->walk_stack(task, stack_start, stack, bp, ops, data, NULL, = &graph); put_cpu(); } EXPORT_SYMBOL(dump_trace); -diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpstack.c linux-2.6.32.48/a= rch/x86/kernel/dumpstack.c ---- linux-2.6.32.48/arch/x86/kernel/dumpstack.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/dumpstack.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/dumpstack.c linux-3.0.8/arch/x86/= kernel/dumpstack.c +--- linux-3.0.8/arch/x86/kernel/dumpstack.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/kernel/dumpstack.c 2011-08-23 21:48:14.00000000= 0 -0400 @@ -2,6 +2,9 @@ * Copyright (C) 1991, 1992 Linus Torvalds * Copyright (C) 2000, 2001, 2002 Andi Kleen, SuSE Labs @@ -13177,16 +11350,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumps= tack.c linux-2.6.32.48/arch/x86/ #include #include #include -@@ -28,7 +31,7 @@ static int die_counter; -=20 - void printk_address(unsigned long address, int reliable) - { -- printk(" [<%p>] %s%pS\n", (void *) address, -+ printk(" [<%p>] %s%pA\n", (void *) address, - reliable ? "" : "? ", (void *) address); - } -=20 -@@ -36,9 +39,8 @@ void printk_address(unsigned long addres +@@ -35,9 +38,8 @@ void printk_address(unsigned long addres static void print_ftrace_graph_addr(unsigned long addr, void *data, const struct stacktrace_ops *ops, @@ -13197,7 +11361,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack.c linux-2.6.32.48/arch/x86/ unsigned long ret_addr; int index =3D task->curr_ret_stack; =20 -@@ -59,7 +61,7 @@ print_ftrace_graph_addr(unsigned long ad +@@ -58,7 +60,7 @@ print_ftrace_graph_addr(unsigned long ad static inline void print_ftrace_graph_addr(unsigned long addr, void *data, const struct stacktrace_ops *ops, @@ -13206,7 +11370,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack.c linux-2.6.32.48/arch/x86/ { } #endif =20 -@@ -70,10 +72,8 @@ print_ftrace_graph_addr(unsigned long ad +@@ -69,10 +71,8 @@ print_ftrace_graph_addr(unsigned long ad * severe exception (double fault, nmi, stack fault, debug, mce) hardwa= re stack */ =20 @@ -13218,7 +11382,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack.c linux-2.6.32.48/arch/x86/ if (end) { if (p < end && p >=3D (end-THREAD_SIZE)) return 1; -@@ -84,14 +84,14 @@ static inline int valid_stack_ptr(struct +@@ -83,14 +83,14 @@ static inline int valid_stack_ptr(struct } =20 unsigned long @@ -13235,7 +11399,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpst= ack.c linux-2.6.32.48/arch/x86/ unsigned long addr; =20 addr =3D *stack; -@@ -103,7 +103,7 @@ print_context_stack(struct thread_info * +@@ -102,7 +102,7 @@ print_context_stack(struct thread_info * } else { ops->address(data, addr, 0); } @@ -13244,25 +11408,52 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dump= stack.c linux-2.6.32.48/arch/x86/ } stack++; } -@@ -180,7 +180,7 @@ void dump_stack(void) - #endif +@@ -111,7 +111,7 @@ print_context_stack(struct thread_info * + EXPORT_SYMBOL_GPL(print_context_stack); +=20 + unsigned long +-print_context_stack_bp(struct thread_info *tinfo, ++print_context_stack_bp(struct task_struct *task, void *stack_start, + unsigned long *stack, unsigned long bp, + const struct stacktrace_ops *ops, void *data, + unsigned long *end, int *graph) +@@ -119,7 +119,7 @@ print_context_stack_bp(struct thread_inf + struct stack_frame *frame =3D (struct stack_frame *)bp; + unsigned long *ret_addr =3D &frame->return_address; +=20 +- while (valid_stack_ptr(tinfo, ret_addr, sizeof(*ret_addr), end)) { ++ while (valid_stack_ptr(stack_start, ret_addr, sizeof(*ret_addr), end))= { + unsigned long addr =3D *ret_addr; =20 + if (!__kernel_text_address(addr)) +@@ -128,7 +128,7 @@ print_context_stack_bp(struct thread_inf + ops->address(data, addr, 1); + frame =3D frame->next_frame; + ret_addr =3D &frame->return_address; +- print_ftrace_graph_addr(addr, data, ops, tinfo, graph); ++ print_ftrace_graph_addr(addr, data, ops, task, graph); + } +=20 + return (unsigned long)frame; +@@ -186,7 +186,7 @@ void dump_stack(void) +=20 + bp =3D stack_frame(current, NULL); printk("Pid: %d, comm: %.20s %s %s %.*s\n", - current->pid, current->comm, print_tainted(), + task_pid_nr(current), current->comm, print_tainted(), init_utsname()->release, (int)strcspn(init_utsname()->version, " "), init_utsname()->version); -@@ -220,6 +220,8 @@ unsigned __kprobes long oops_begin(void) - return flags; +@@ -222,6 +222,8 @@ unsigned __kprobes long oops_begin(void) } + EXPORT_SYMBOL_GPL(oops_begin); =20 +extern void gr_handle_kernel_exploit(void); + void __kprobes oops_end(unsigned long flags, struct pt_regs *regs, int = signr) { if (regs && kexec_should_crash(current)) -@@ -241,7 +243,10 @@ void __kprobes oops_end(unsigned long fl +@@ -243,7 +245,10 @@ void __kprobes oops_end(unsigned long fl panic("Fatal exception in interrupt"); if (panic_on_oops) panic("Fatal exception"); @@ -13274,7 +11465,16 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumps= tack.c linux-2.6.32.48/arch/x86/ } =20 int __kprobes __die(const char *str, struct pt_regs *regs, long err) -@@ -295,7 +300,7 @@ void die(const char *str, struct pt_regs +@@ -269,7 +274,7 @@ int __kprobes __die(const char *str, str +=20 + show_registers(regs); + #ifdef CONFIG_X86_32 +- if (user_mode_vm(regs)) { ++ if (user_mode(regs)) { + sp =3D regs->sp; + ss =3D regs->ss & 0xffff; + } else { +@@ -297,7 +302,7 @@ void die(const char *str, struct pt_regs unsigned long flags =3D oops_begin(); int sig =3D SIGSEGV; =20 @@ -13283,33 +11483,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/dumps= tack.c linux-2.6.32.48/arch/x86/ report_bug(regs->ip, regs); =20 if (__die(str, regs, err)) -diff -urNp linux-2.6.32.48/arch/x86/kernel/dumpstack.h linux-2.6.32.48/a= rch/x86/kernel/dumpstack.h ---- linux-2.6.32.48/arch/x86/kernel/dumpstack.h 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/dumpstack.h 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -15,7 +15,7 @@ - #endif -=20 - extern unsigned long --print_context_stack(struct thread_info *tinfo, -+print_context_stack(struct task_struct *task, void *stack_start, - unsigned long *stack, unsigned long bp, - const struct stacktrace_ops *ops, void *data, - unsigned long *end, int *graph); -diff -urNp linux-2.6.32.48/arch/x86/kernel/e820.c linux-2.6.32.48/arch/x= 86/kernel/e820.c ---- linux-2.6.32.48/arch/x86/kernel/e820.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/kernel/e820.c 2011-11-12 12:46:42.000000000= -0500 -@@ -733,7 +733,7 @@ struct early_res { - }; - static struct early_res early_res[MAX_EARLY_RES] __initdata =3D { - { 0, PAGE_SIZE, "BIOS data page" }, /* BIOS data page */ -- {} -+ { 0, 0, {0}, 0 } - }; -=20 - static int __init find_overlapped_early(u64 start, u64 end) -diff -urNp linux-2.6.32.48/arch/x86/kernel/early_printk.c linux-2.6.32.4= 8/arch/x86/kernel/early_printk.c ---- linux-2.6.32.48/arch/x86/kernel/early_printk.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/early_printk.c 2011-11-12 12:46:42.0= 00000000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/early_printk.c linux-3.0.8/arch/x= 86/kernel/early_printk.c +--- linux-3.0.8/arch/x86/kernel/early_printk.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/kernel/early_printk.c 2011-08-23 21:48:14.00000= 0000 -0400 @@ -7,6 +7,7 @@ #include #include @@ -13318,7 +11494,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/early_= printk.c linux-2.6.32.48/arch/x #include #include #include -@@ -170,6 +171,8 @@ asmlinkage void early_printk(const char=20 +@@ -179,6 +180,8 @@ asmlinkage void early_printk(const char=20 int n; va_list ap; =20 @@ -13327,286 +11503,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/earl= y_printk.c linux-2.6.32.48/arch/x va_start(ap, fmt); n =3D vscnprintf(buf, sizeof(buf), fmt, ap); early_console->write(early_console, buf, n); -diff -urNp linux-2.6.32.48/arch/x86/kernel/efi_32.c linux-2.6.32.48/arch= /x86/kernel/efi_32.c ---- linux-2.6.32.48/arch/x86/kernel/efi_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/efi_32.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -38,70 +38,56 @@ - */ -=20 - static unsigned long efi_rt_eflags; --static pgd_t efi_bak_pg_dir_pointer[2]; -+static pgd_t __initdata efi_bak_pg_dir_pointer[KERNEL_PGD_PTRS]; -=20 --void efi_call_phys_prelog(void) -+void __init efi_call_phys_prelog(void) - { -- unsigned long cr4; -- unsigned long temp; - struct desc_ptr gdt_descr; -=20 -- local_irq_save(efi_rt_eflags); -+#ifdef CONFIG_PAX_KERNEXEC -+ struct desc_struct d; -+#endif -=20 -- /* -- * If I don't have PAE, I should just duplicate two entries in page -- * directory. If I have PAE, I just need to duplicate one entry in -- * page directory. -- */ -- cr4 =3D read_cr4_safe(); -+ local_irq_save(efi_rt_eflags); -=20 -- if (cr4 & X86_CR4_PAE) { -- efi_bak_pg_dir_pointer[0].pgd =3D -- swapper_pg_dir[pgd_index(0)].pgd; -- swapper_pg_dir[0].pgd =3D -- swapper_pg_dir[pgd_index(PAGE_OFFSET)].pgd; -- } else { -- efi_bak_pg_dir_pointer[0].pgd =3D -- swapper_pg_dir[pgd_index(0)].pgd; -- efi_bak_pg_dir_pointer[1].pgd =3D -- swapper_pg_dir[pgd_index(0x400000)].pgd; -- swapper_pg_dir[pgd_index(0)].pgd =3D -- swapper_pg_dir[pgd_index(PAGE_OFFSET)].pgd; -- temp =3D PAGE_OFFSET + 0x400000; -- swapper_pg_dir[pgd_index(0x400000)].pgd =3D -- swapper_pg_dir[pgd_index(temp)].pgd; -- } -+ clone_pgd_range(efi_bak_pg_dir_pointer, swapper_pg_dir, KERNEL_PGD_PTR= S); -+ clone_pgd_range(swapper_pg_dir, swapper_pg_dir + KERNEL_PGD_BOUNDARY, -+ min_t(unsigned long, KERNEL_PGD_PTRS, KERNEL_PGD_BOUNDARY)); -=20 - /* - * After the lock is released, the original page table is restored. - */ - __flush_tlb_all(); -=20 -+#ifdef CONFIG_PAX_KERNEXEC -+ pack_descriptor(&d, 0, 0xFFFFF, 0x9B, 0xC); -+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_CS, &d, D= ESCTYPE_S); -+ pack_descriptor(&d, 0, 0xFFFFF, 0x93, 0xC); -+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_DS, &d, D= ESCTYPE_S); -+#endif -+ - gdt_descr.address =3D __pa(get_cpu_gdt_table(0)); - gdt_descr.size =3D GDT_SIZE - 1; - load_gdt(&gdt_descr); - } -=20 --void efi_call_phys_epilog(void) -+void __init efi_call_phys_epilog(void) - { -- unsigned long cr4; - struct desc_ptr gdt_descr; -=20 -+#ifdef CONFIG_PAX_KERNEXEC -+ struct desc_struct d; -+ -+ memset(&d, 0, sizeof d); -+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_CS, &d, D= ESCTYPE_S); -+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_DS, &d, D= ESCTYPE_S); -+#endif -+ - gdt_descr.address =3D (unsigned long)get_cpu_gdt_table(0); - gdt_descr.size =3D GDT_SIZE - 1; - load_gdt(&gdt_descr); -=20 -- cr4 =3D read_cr4_safe(); -- -- if (cr4 & X86_CR4_PAE) { -- swapper_pg_dir[pgd_index(0)].pgd =3D -- efi_bak_pg_dir_pointer[0].pgd; -- } else { -- swapper_pg_dir[pgd_index(0)].pgd =3D -- efi_bak_pg_dir_pointer[0].pgd; -- swapper_pg_dir[pgd_index(0x400000)].pgd =3D -- efi_bak_pg_dir_pointer[1].pgd; -- } -+ clone_pgd_range(swapper_pg_dir, efi_bak_pg_dir_pointer, KERNEL_PGD_PTR= S); -=20 - /* - * After the lock is released, the original page table is restored. -diff -urNp linux-2.6.32.48/arch/x86/kernel/efi_stub_32.S linux-2.6.32.48= /arch/x86/kernel/efi_stub_32.S ---- linux-2.6.32.48/arch/x86/kernel/efi_stub_32.S 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/efi_stub_32.S 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -6,7 +6,9 @@ - */ -=20 - #include -+#include - #include -+#include -=20 - /* - * efi_call_phys(void *, ...) is a function with variable parameters. -@@ -20,7 +22,7 @@ - * service functions will comply with gcc calling convention, too. - */ -=20 --.text -+__INIT - ENTRY(efi_call_phys) - /* - * 0. The function can only be called in Linux kernel. So CS has been -@@ -36,9 +38,11 @@ ENTRY(efi_call_phys) - * The mapping of lower virtual memory has been created in prelog and - * epilog. - */ -- movl $1f, %edx -- subl $__PAGE_OFFSET, %edx -- jmp *%edx -+ movl $(__KERNEXEC_EFI_DS), %edx -+ mov %edx, %ds -+ mov %edx, %es -+ mov %edx, %ss -+ ljmp $(__KERNEXEC_EFI_CS),$1f-__PAGE_OFFSET - 1: -=20 - /* -@@ -47,14 +51,8 @@ ENTRY(efi_call_phys) - * parameter 2, ..., param n. To make things easy, we save the return - * address of efi_call_phys in a global variable. - */ -- popl %edx -- movl %edx, saved_return_addr -- /* get the function pointer into ECX*/ -- popl %ecx -- movl %ecx, efi_rt_function_ptr -- movl $2f, %edx -- subl $__PAGE_OFFSET, %edx -- pushl %edx -+ popl (saved_return_addr) -+ popl (efi_rt_function_ptr) -=20 - /* - * 3. Clear PG bit in %CR0. -@@ -73,9 +71,8 @@ ENTRY(efi_call_phys) - /* - * 5. Call the physical function. - */ -- jmp *%ecx -+ call *(efi_rt_function_ptr-__PAGE_OFFSET) -=20 --2: - /* - * 6. After EFI runtime service returns, control will return to - * following instruction. We'd better readjust stack pointer first. -@@ -88,35 +85,32 @@ ENTRY(efi_call_phys) - movl %cr0, %edx - orl $0x80000000, %edx - movl %edx, %cr0 -- jmp 1f --1: -+ - /* - * 8. Now restore the virtual mode from flat mode by - * adding EIP with PAGE_OFFSET. - */ -- movl $1f, %edx -- jmp *%edx -+ ljmp $(__KERNEL_CS),$1f+__PAGE_OFFSET - 1: -+ movl $(__KERNEL_DS), %edx -+ mov %edx, %ds -+ mov %edx, %es -+ mov %edx, %ss -=20 - /* - * 9. Balance the stack. And because EAX contain the return value, - * we'd better not clobber it. - */ -- leal efi_rt_function_ptr, %edx -- movl (%edx), %ecx -- pushl %ecx -+ pushl (efi_rt_function_ptr) -=20 - /* -- * 10. Push the saved return address onto the stack and return. -+ * 10. Return to the saved return address. - */ -- leal saved_return_addr, %edx -- movl (%edx), %ecx -- pushl %ecx -- ret -+ jmpl *(saved_return_addr) - ENDPROC(efi_call_phys) - .previous -=20 --.data -+__INITDATA - saved_return_addr: - .long 0 - efi_rt_function_ptr: -diff -urNp linux-2.6.32.48/arch/x86/kernel/efi_stub_64.S linux-2.6.32.48= /arch/x86/kernel/efi_stub_64.S ---- linux-2.6.32.48/arch/x86/kernel/efi_stub_64.S 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/efi_stub_64.S 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -7,6 +7,7 @@ - */ -=20 - #include -+#include -=20 - #define SAVE_XMM \ - mov %rsp, %rax; \ -@@ -40,6 +41,7 @@ ENTRY(efi_call0) - call *%rdi - addq $32, %rsp - RESTORE_XMM -+ pax_force_retaddr - ret - ENDPROC(efi_call0) -=20 -@@ -50,6 +52,7 @@ ENTRY(efi_call1) - call *%rdi - addq $32, %rsp - RESTORE_XMM -+ pax_force_retaddr - ret - ENDPROC(efi_call1) -=20 -@@ -60,6 +63,7 @@ ENTRY(efi_call2) - call *%rdi - addq $32, %rsp - RESTORE_XMM -+ pax_force_retaddr - ret - ENDPROC(efi_call2) -=20 -@@ -71,6 +75,7 @@ ENTRY(efi_call3) - call *%rdi - addq $32, %rsp - RESTORE_XMM -+ pax_force_retaddr - ret - ENDPROC(efi_call3) -=20 -@@ -83,6 +88,7 @@ ENTRY(efi_call4) - call *%rdi - addq $32, %rsp - RESTORE_XMM -+ pax_force_retaddr - ret - ENDPROC(efi_call4) -=20 -@@ -96,6 +102,7 @@ ENTRY(efi_call5) - call *%rdi - addq $48, %rsp - RESTORE_XMM -+ pax_force_retaddr - ret - ENDPROC(efi_call5) -=20 -@@ -112,5 +119,6 @@ ENTRY(efi_call6) - call *%rdi - addq $48, %rsp - RESTORE_XMM -+ pax_force_retaddr - ret - ENDPROC(efi_call6) -diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_32.S linux-2.6.32.48/ar= ch/x86/kernel/entry_32.S ---- linux-2.6.32.48/arch/x86/kernel/entry_32.S 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/entry_32.S 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/entry_32.S linux-3.0.8/arch/x86/k= ernel/entry_32.S +--- linux-3.0.8/arch/x86/kernel/entry_32.S 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/kernel/entry_32.S 2011-10-20 04:46:01.000000000= -0400 @@ -185,13 +185,146 @@ /*CFI_REL_OFFSET gs, PT_GS*/ .endm @@ -13754,17 +11653,17 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_32.S linux-2.6.32.48/arch/x86/k +.macro __SAVE_ALL _DS cld PUSH_GS - pushl %fs -@@ -224,7 +357,7 @@ - pushl %ebx - CFI_ADJUST_CFA_OFFSET 4 + pushl_cfi %fs +@@ -214,7 +347,7 @@ + CFI_REL_OFFSET ecx, 0 + pushl_cfi %ebx CFI_REL_OFFSET ebx, 0 - movl $(__USER_DS), %edx + movl $\_DS, %edx movl %edx, %ds movl %edx, %es movl $(__KERNEL_PERCPU), %edx -@@ -232,6 +365,15 @@ +@@ -222,6 +355,15 @@ SET_KERNEL_GS %edx .endm =20 @@ -13778,9 +11677,18 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _32.S linux-2.6.32.48/arch/x86/k +.endm + .macro RESTORE_INT_REGS - popl %ebx - CFI_ADJUST_CFA_OFFSET -4 -@@ -352,7 +494,15 @@ check_userspace: + popl_cfi %ebx + CFI_RESTORE ebx +@@ -307,7 +449,7 @@ ENTRY(ret_from_fork) + popfl_cfi + jmp syscall_exit + CFI_ENDPROC +-END(ret_from_fork) ++ENDPROC(ret_from_fork) +=20 + /* + * Interrupt exit functions should be protected against kprobes +@@ -332,7 +474,15 @@ check_userspace: movb PT_CS(%esp), %al andl $(X86_EFLAGS_VM | SEGMENT_RPL_MASK), %eax cmpl $USER_RPL, %eax @@ -13796,29 +11704,38 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_32.S linux-2.6.32.48/arch/x86/k =20 ENTRY(resume_userspace) LOCKDEP_SYS_EXIT -@@ -364,7 +514,7 @@ ENTRY(resume_userspace) +@@ -344,8 +494,8 @@ ENTRY(resume_userspace) andl $_TIF_WORK_MASK, %ecx # is there any work to be done on # int/exception return? jne work_pending - jmp restore_all +-END(ret_from_exception) + jmp restore_all_pax - END(ret_from_exception) ++ENDPROC(ret_from_exception) =20 #ifdef CONFIG_PREEMPT -@@ -414,25 +564,36 @@ sysenter_past_esp: + ENTRY(resume_kernel) +@@ -360,7 +510,7 @@ need_resched: + jz restore_all + call preempt_schedule_irq + jmp need_resched +-END(resume_kernel) ++ENDPROC(resume_kernel) + #endif + CFI_ENDPROC + /* +@@ -394,23 +544,34 @@ sysenter_past_esp: /*CFI_REL_OFFSET cs, 0*/ /* * Push current_thread_info()->sysenter_return to the stack. - * A tiny bit of offset fixup is necessary - 4*4 means the 4 words - * pushed above; +8 corresponds to copy_thread's esp0 setting. */ -- pushl (TI_sysenter_return-THREAD_SIZE+8+4*4)(%esp) -+ pushl $0 - CFI_ADJUST_CFA_OFFSET 4 +- pushl_cfi ((TI_sysenter_return)-THREAD_SIZE+8+4*4)(%esp) ++ pushl_cfi $0 CFI_REL_OFFSET eip, 0 =20 - pushl %eax - CFI_ADJUST_CFA_OFFSET 4 + pushl_cfi %eax SAVE_ALL + GET_THREAD_INFO(%ebp) + movl TI_sysenter_return(%ebp),%ebp @@ -13845,7 +11762,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 32.S linux-2.6.32.48/arch/x86/k movl %ebp,PT_EBP(%esp) .section __ex_table,"a" .align 4 -@@ -455,12 +616,24 @@ sysenter_do_call: +@@ -433,12 +594,24 @@ sysenter_do_call: testl $_TIF_ALLWORK_MASK, %ecx jne sysexit_audit sysenter_exit: @@ -13870,17 +11787,17 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_32.S linux-2.6.32.48/arch/x86/k PTGS_TO_GS ENABLE_INTERRUPTS_SYSEXIT =20 -@@ -477,6 +650,9 @@ sysenter_audit: +@@ -455,6 +628,9 @@ sysenter_audit: movl %eax,%edx /* 2nd arg: syscall number */ movl $AUDIT_ARCH_I386,%eax /* 1st arg: audit arch */ call audit_syscall_entry + + pax_erase_kstack + - pushl %ebx - CFI_ADJUST_CFA_OFFSET 4 + pushl_cfi %ebx movl PT_EAX(%esp),%eax /* reload syscall number */ -@@ -504,11 +680,17 @@ sysexit_audit: + jmp sysenter_do_call +@@ -481,11 +657,17 @@ sysexit_audit: =20 CFI_ENDPROC .pushsection .fixup,"ax" @@ -13900,7 +11817,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 32.S linux-2.6.32.48/arch/x86/k .popsection PTGS_TO_GS_EX ENDPROC(ia32_sysenter_target) -@@ -538,6 +720,15 @@ syscall_exit: +@@ -518,6 +700,15 @@ syscall_exit: testl $_TIF_ALLWORK_MASK, %ecx # current->work jne syscall_exit_work =20 @@ -13916,11 +11833,16 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_32.S linux-2.6.32.48/arch/x86/k restore_all: TRACE_IRQS_IRET restore_all_notrace: -@@ -602,10 +793,29 @@ ldt_ss: +@@ -577,14 +768,34 @@ ldt_ss: + * compensating for the offset by changing to the ESPFIX segment with + * a base address that matches for the difference. + */ +-#define GDT_ESPFIX_SS PER_CPU_VAR(gdt_page) + (GDT_ENTRY_ESPFIX_SS * 8) ++#define GDT_ESPFIX_SS (GDT_ENTRY_ESPFIX_SS * 8)(%ebx) + mov %esp, %edx /* load kernel esp */ mov PT_OLDESP(%esp), %eax /* load userspace esp */ mov %dx, %ax /* eax: new kernel esp */ sub %eax, %edx /* offset (low word is 0) */ -- PER_CPU(gdt_page, %ebx) +#ifdef CONFIG_SMP + movl PER_CPU_VAR(cpu_number), %ebx + shll $PAGE_SHIFT_asm, %ebx @@ -13929,6 +11851,8 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 32.S linux-2.6.32.48/arch/x86/k + movl $cpu_gdt_table, %ebx +#endif shr $16, %edx +- mov %dl, GDT_ESPFIX_SS + 4 /* bits 16..23 */ +- mov %dh, GDT_ESPFIX_SS + 7 /* bits 24..31 */ + +#ifdef CONFIG_PAX_KERNEXEC + mov %cr0, %esi @@ -13936,18 +11860,18 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_32.S linux-2.6.32.48/arch/x86/k + mov %esi, %cr0 +#endif + - mov %dl, GDT_ENTRY_ESPFIX_SS * 8 + 4(%ebx) /* bits 16..23 */ - mov %dh, GDT_ENTRY_ESPFIX_SS * 8 + 7(%ebx) /* bits 24..31 */ ++ mov %dl, 4 + GDT_ESPFIX_SS /* bits 16..23 */ ++ mov %dh, 7 + GDT_ESPFIX_SS /* bits 24..31 */ + +#ifdef CONFIG_PAX_KERNEXEC + bts $16, %esi + mov %esi, %cr0 +#endif + - pushl $__ESPFIX_SS - CFI_ADJUST_CFA_OFFSET 4 - push %eax /* new kernel esp */ -@@ -636,31 +846,25 @@ work_resched: + pushl_cfi $__ESPFIX_SS + pushl_cfi %eax /* new kernel esp */ + /* Disable interrupts, but do not irqtrace this section: we +@@ -613,34 +824,28 @@ work_resched: movl TI_flags(%ebp), %ecx andl $_TIF_WORK_MASK, %ecx # is there any work to be done other # than syscall tracing? @@ -13971,11 +11895,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _32.S linux-2.6.32.48/arch/x86/k =20 - ALIGN -work_notifysig_v86: - pushl %ecx # save ti_flags for do_notify_resume - CFI_ADJUST_CFA_OFFSET 4 + pushl_cfi %ecx # save ti_flags for do_notify_resume call save_v86_state # %eax contains pt_regs pointer - popl %ecx - CFI_ADJUST_CFA_OFFSET -4 + popl_cfi %ecx movl %eax, %esp -#else - movl %esp, %eax @@ -13983,7 +11905,13 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _32.S linux-2.6.32.48/arch/x86/k #endif xorl %edx, %edx call do_notify_resume -@@ -673,6 +877,9 @@ syscall_trace_entry: + jmp resume_userspace_sig +-END(work_pending) ++ENDPROC(work_pending) +=20 + # perform syscall exit tracing + ALIGN +@@ -648,11 +853,14 @@ syscall_trace_entry: movl $-ENOSYS,PT_EAX(%esp) movl %esp, %eax call syscall_trace_enter @@ -13993,7 +11921,19 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _32.S linux-2.6.32.48/arch/x86/k /* What it returned is what we'll actually use. */ cmpl $(nr_syscalls), %eax jnae syscall_call -@@ -695,6 +902,10 @@ END(syscall_exit_work) + jmp syscall_exit +-END(syscall_trace_entry) ++ENDPROC(syscall_trace_entry) +=20 + # perform syscall exit tracing + ALIGN +@@ -665,20 +873,24 @@ syscall_exit_work: + movl %esp, %eax + call syscall_trace_leave + jmp resume_userspace +-END(syscall_exit_work) ++ENDPROC(syscall_exit_work) + CFI_ENDPROC =20 RING0_INT_FRAME # can't unwind into user space anyway syscall_fault: @@ -14004,45 +11944,60 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_32.S linux-2.6.32.48/arch/x86/k GET_THREAD_INFO(%ebp) movl $-EFAULT,PT_EAX(%esp) jmp resume_userspace -@@ -726,6 +937,33 @@ PTREGSCALL(rt_sigreturn) - PTREGSCALL(vm86) - PTREGSCALL(vm86old) +-END(syscall_fault) ++ENDPROC(syscall_fault) +=20 + syscall_badsys: + movl $-ENOSYS,PT_EAX(%esp) + jmp resume_userspace +-END(syscall_badsys) ++ENDPROC(syscall_badsys) + CFI_ENDPROC + /* + * End of kprobes section +@@ -752,6 +964,36 @@ ptregs_clone: + CFI_ENDPROC + ENDPROC(ptregs_clone) =20 + ALIGN; +ENTRY(kernel_execve) -+ push %ebp ++ CFI_STARTPROC ++ pushl_cfi %ebp + sub $PT_OLDSS+4,%esp -+ push %edi -+ push %ecx -+ push %eax ++ pushl_cfi %edi ++ pushl_cfi %ecx ++ pushl_cfi %eax + lea 3*4(%esp),%edi + mov $PT_OLDSS/4+1,%ecx + xorl %eax,%eax + rep stosl -+ pop %eax -+ pop %ecx -+ pop %edi ++ popl_cfi %eax ++ popl_cfi %ecx ++ popl_cfi %edi + movl $X86_EFLAGS_IF,PT_EFLAGS(%esp) -+ mov %eax,PT_EBX(%esp) -+ mov %edx,PT_ECX(%esp) -+ mov %ecx,PT_EDX(%esp) -+ mov %esp,%eax ++ pushl_cfi %esp + call sys_execve ++ add $4,%esp ++ CFI_ADJUST_CFA_OFFSET -4 + GET_THREAD_INFO(%ebp) + test %eax,%eax + jz syscall_exit + add $PT_OLDSS+4,%esp -+ pop %ebp ++ CFI_ADJUST_CFA_OFFSET -PT_OLDSS-4 ++ popl_cfi %ebp + ret ++ CFI_ENDPROC ++ENDPROC(kernel_execve) + .macro FIXUP_ESPFIX_STACK /* * Switch back for ESPFIX stack to the normal zerobased stack -@@ -735,7 +973,13 @@ PTREGSCALL(vm86old) +@@ -761,8 +1003,15 @@ ENDPROC(ptregs_clone) * normal stack and adjusts ESP with the matching offset. */ /* fixup the stack */ -- PER_CPU(gdt_page, %ebx) +- mov GDT_ESPFIX_SS + 4, %al /* bits 16..23 */ +- mov GDT_ESPFIX_SS + 7, %ah /* bits 24..31 */ +#ifdef CONFIG_SMP + movl PER_CPU_VAR(cpu_number), %ebx + shll $PAGE_SHIFT_asm, %ebx @@ -14050,18 +12005,202 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ent= ry_32.S linux-2.6.32.48/arch/x86/k +#else + movl $cpu_gdt_table, %ebx +#endif - mov GDT_ENTRY_ESPFIX_SS * 8 + 4(%ebx), %al /* bits 16..23 */ - mov GDT_ENTRY_ESPFIX_SS * 8 + 7(%ebx), %ah /* bits 24..31 */ ++ mov 4 + GDT_ESPFIX_SS, %al /* bits 16..23 */ ++ mov 7 + GDT_ESPFIX_SS, %ah /* bits 24..31 */ shl $16, %eax -@@ -1198,7 +1442,6 @@ return_to_handler: + addl %esp, %eax /* the adjusted stack pointer */ + pushl_cfi $__KERNEL_DS +@@ -815,7 +1064,7 @@ vector=3Dvector+1 + .endr + 2: jmp common_interrupt + .endr +-END(irq_entries_start) ++ENDPROC(irq_entries_start) +=20 + .previous + END(interrupt) +@@ -863,7 +1112,7 @@ ENTRY(coprocessor_error) + pushl_cfi $do_coprocessor_error + jmp error_code + CFI_ENDPROC +-END(coprocessor_error) ++ENDPROC(coprocessor_error) +=20 + ENTRY(simd_coprocessor_error) + RING0_INT_FRAME +@@ -889,7 +1138,7 @@ ENTRY(simd_coprocessor_error) + #endif + jmp error_code + CFI_ENDPROC +-END(simd_coprocessor_error) ++ENDPROC(simd_coprocessor_error) +=20 + ENTRY(device_not_available) + RING0_INT_FRAME +@@ -897,7 +1146,7 @@ ENTRY(device_not_available) + pushl_cfi $do_device_not_available + jmp error_code + CFI_ENDPROC +-END(device_not_available) ++ENDPROC(device_not_available) +=20 + #ifdef CONFIG_PARAVIRT + ENTRY(native_iret) +@@ -906,12 +1155,12 @@ ENTRY(native_iret) + .align 4 + .long native_iret, iret_exc + .previous +-END(native_iret) ++ENDPROC(native_iret) +=20 + ENTRY(native_irq_enable_sysexit) + sti + sysexit +-END(native_irq_enable_sysexit) ++ENDPROC(native_irq_enable_sysexit) + #endif +=20 + ENTRY(overflow) +@@ -920,7 +1169,7 @@ ENTRY(overflow) + pushl_cfi $do_overflow + jmp error_code + CFI_ENDPROC +-END(overflow) ++ENDPROC(overflow) +=20 + ENTRY(bounds) + RING0_INT_FRAME +@@ -928,7 +1177,7 @@ ENTRY(bounds) + pushl_cfi $do_bounds + jmp error_code + CFI_ENDPROC +-END(bounds) ++ENDPROC(bounds) +=20 + ENTRY(invalid_op) + RING0_INT_FRAME +@@ -936,7 +1185,7 @@ ENTRY(invalid_op) + pushl_cfi $do_invalid_op + jmp error_code + CFI_ENDPROC +-END(invalid_op) ++ENDPROC(invalid_op) +=20 + ENTRY(coprocessor_segment_overrun) + RING0_INT_FRAME +@@ -944,35 +1193,35 @@ ENTRY(coprocessor_segment_overrun) + pushl_cfi $do_coprocessor_segment_overrun + jmp error_code + CFI_ENDPROC +-END(coprocessor_segment_overrun) ++ENDPROC(coprocessor_segment_overrun) +=20 + ENTRY(invalid_TSS) + RING0_EC_FRAME + pushl_cfi $do_invalid_TSS + jmp error_code + CFI_ENDPROC +-END(invalid_TSS) ++ENDPROC(invalid_TSS) +=20 + ENTRY(segment_not_present) + RING0_EC_FRAME + pushl_cfi $do_segment_not_present + jmp error_code + CFI_ENDPROC +-END(segment_not_present) ++ENDPROC(segment_not_present) +=20 + ENTRY(stack_segment) + RING0_EC_FRAME + pushl_cfi $do_stack_segment + jmp error_code + CFI_ENDPROC +-END(stack_segment) ++ENDPROC(stack_segment) +=20 + ENTRY(alignment_check) + RING0_EC_FRAME + pushl_cfi $do_alignment_check + jmp error_code + CFI_ENDPROC +-END(alignment_check) ++ENDPROC(alignment_check) +=20 + ENTRY(divide_error) + RING0_INT_FRAME +@@ -980,7 +1229,7 @@ ENTRY(divide_error) + pushl_cfi $do_divide_error + jmp error_code + CFI_ENDPROC +-END(divide_error) ++ENDPROC(divide_error) +=20 + #ifdef CONFIG_X86_MCE + ENTRY(machine_check) +@@ -989,7 +1238,7 @@ ENTRY(machine_check) + pushl_cfi machine_check_vector + jmp error_code + CFI_ENDPROC +-END(machine_check) ++ENDPROC(machine_check) + #endif +=20 + ENTRY(spurious_interrupt_bug) +@@ -998,7 +1247,7 @@ ENTRY(spurious_interrupt_bug) + pushl_cfi $do_spurious_interrupt_bug + jmp error_code + CFI_ENDPROC +-END(spurious_interrupt_bug) ++ENDPROC(spurious_interrupt_bug) + /* + * End of kprobes section + */ +@@ -1113,7 +1362,7 @@ BUILD_INTERRUPT3(xen_hvm_callback_vector +=20 + ENTRY(mcount) ret +-END(mcount) ++ENDPROC(mcount) +=20 + ENTRY(ftrace_caller) + cmpl $0, function_trace_stop +@@ -1142,7 +1391,7 @@ ftrace_graph_call: + .globl ftrace_stub + ftrace_stub: + ret +-END(ftrace_caller) ++ENDPROC(ftrace_caller) +=20 + #else /* ! CONFIG_DYNAMIC_FTRACE */ +=20 +@@ -1178,7 +1427,7 @@ trace: + popl %ecx + popl %eax + jmp ftrace_stub +-END(mcount) ++ENDPROC(mcount) + #endif /* CONFIG_DYNAMIC_FTRACE */ + #endif /* CONFIG_FUNCTION_TRACER */ +=20 +@@ -1199,7 +1448,7 @@ ENTRY(ftrace_graph_caller) + popl %ecx + popl %eax + ret +-END(ftrace_graph_caller) ++ENDPROC(ftrace_graph_caller) +=20 + .globl return_to_handler + return_to_handler: +@@ -1213,7 +1462,6 @@ return_to_handler: + jmp *%ecx #endif =20 -.section .rodata,"a" #include "syscall_table_32.S" =20 syscall_table_size=3D(.-sys_call_table) -@@ -1255,9 +1498,12 @@ error_code: +@@ -1259,15 +1507,18 @@ error_code: movl $-1, PT_ORIG_EAX(%esp) # no syscall to restart REG_TO_PTGS %ecx SET_KERNEL_GS %ecx @@ -14075,7 +12214,23 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _32.S linux-2.6.32.48/arch/x86/k TRACE_IRQS_OFF movl %esp,%eax # pt_regs pointer call *%edi -@@ -1351,6 +1597,9 @@ nmi_stack_correct: + jmp ret_from_exception + CFI_ENDPROC +-END(page_fault) ++ENDPROC(page_fault) +=20 + /* + * Debug traps and NMI can happen at the one SYSENTER instruction +@@ -1309,7 +1560,7 @@ debug_stack_correct: + call do_debug + jmp ret_from_exception + CFI_ENDPROC +-END(debug) ++ENDPROC(debug) +=20 + /* + * NMI is doubly nasty. It can happen _while_ we're handling +@@ -1346,6 +1597,9 @@ nmi_stack_correct: xorl %edx,%edx # zero error code movl %esp,%eax # pt_regs pointer call do_nmi @@ -14085,7 +12240,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 32.S linux-2.6.32.48/arch/x86/k jmp restore_all_notrace CFI_ENDPROC =20 -@@ -1391,6 +1640,9 @@ nmi_espfix_stack: +@@ -1382,12 +1636,15 @@ nmi_espfix_stack: FIXUP_ESPFIX_STACK # %eax =3D=3D %esp xorl %edx,%edx # zero error code call do_nmi @@ -14095,9 +12250,42 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _32.S linux-2.6.32.48/arch/x86/k RESTORE_REGS lss 12+4(%esp), %esp # back to espfix stack CFI_ADJUST_CFA_OFFSET -24 -diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_64.S linux-2.6.32.48/ar= ch/x86/kernel/entry_64.S ---- linux-2.6.32.48/arch/x86/kernel/entry_64.S 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/entry_64.S 2011-11-12 12:46:42.00000= 0000 -0500 + jmp irq_return + CFI_ENDPROC +-END(nmi) ++ENDPROC(nmi) +=20 + ENTRY(int3) + RING0_INT_FRAME +@@ -1399,14 +1656,14 @@ ENTRY(int3) + call do_int3 + jmp ret_from_exception + CFI_ENDPROC +-END(int3) ++ENDPROC(int3) +=20 + ENTRY(general_protection) + RING0_EC_FRAME + pushl_cfi $do_general_protection + jmp error_code + CFI_ENDPROC +-END(general_protection) ++ENDPROC(general_protection) +=20 + #ifdef CONFIG_KVM_GUEST + ENTRY(async_page_fault) +@@ -1414,7 +1671,7 @@ ENTRY(async_page_fault) + pushl_cfi $do_async_page_fault + jmp error_code + CFI_ENDPROC +-END(async_page_fault) ++ENDPROC(async_page_fault) + #endif +=20 + /* +diff -urNp linux-3.0.8/arch/x86/kernel/entry_64.S linux-3.0.8/arch/x86/k= ernel/entry_64.S +--- linux-3.0.8/arch/x86/kernel/entry_64.S 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/kernel/entry_64.S 2011-10-20 04:46:01.000000000= -0400 @@ -53,6 +53,8 @@ #include #include @@ -14107,23 +12295,29 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_64.S linux-2.6.32.48/arch/x86/k =20 /* Avoid __ASSEMBLER__'ifying just for this. */ #include -@@ -64,6 +66,7 @@ +@@ -66,8 +68,9 @@ #ifdef CONFIG_FUNCTION_TRACER #ifdef CONFIG_DYNAMIC_FTRACE ENTRY(mcount) + pax_force_retaddr retq - END(mcount) +-END(mcount) ++ENDPROC(mcount) =20 -@@ -88,6 +91,7 @@ GLOBAL(ftrace_graph_call) + ENTRY(ftrace_caller) + cmpl $0, function_trace_stop +@@ -90,8 +93,9 @@ GLOBAL(ftrace_graph_call) #endif =20 GLOBAL(ftrace_stub) + pax_force_retaddr retq - END(ftrace_caller) +-END(ftrace_caller) ++ENDPROC(ftrace_caller) =20 -@@ -108,6 +112,7 @@ ENTRY(mcount) + #else /* ! CONFIG_DYNAMIC_FTRACE */ + ENTRY(mcount) +@@ -110,6 +114,7 @@ ENTRY(mcount) #endif =20 GLOBAL(ftrace_stub) @@ -14131,7 +12325,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 64.S linux-2.6.32.48/arch/x86/k retq =20 trace: -@@ -117,6 +122,7 @@ trace: +@@ -119,12 +124,13 @@ trace: movq 8(%rbp), %rsi subq $MCOUNT_INSN_SIZE, %rdi =20 @@ -14139,23 +12333,33 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_64.S linux-2.6.32.48/arch/x86/k call *ftrace_trace_function =20 MCOUNT_RESTORE_FRAME -@@ -142,6 +148,7 @@ ENTRY(ftrace_graph_caller) +=20 + jmp ftrace_stub +-END(mcount) ++ENDPROC(mcount) + #endif /* CONFIG_DYNAMIC_FTRACE */ + #endif /* CONFIG_FUNCTION_TRACER */ +=20 +@@ -144,8 +150,9 @@ ENTRY(ftrace_graph_caller) =20 MCOUNT_RESTORE_FRAME =20 + pax_force_retaddr retq - END(ftrace_graph_caller) +-END(ftrace_graph_caller) ++ENDPROC(ftrace_graph_caller) =20 -@@ -159,6 +166,7 @@ GLOBAL(return_to_handler) + GLOBAL(return_to_handler) + subq $24, %rsp +@@ -161,6 +168,7 @@ GLOBAL(return_to_handler) movq 8(%rsp), %rdx movq (%rsp), %rax - addq $16, %rsp -+ pax_force_retaddr - retq + addq $24, %rsp ++ pax_force_fptr %rdi + jmp *%rdi #endif =20 -@@ -174,6 +182,269 @@ ENTRY(native_usergs_sysret64) +@@ -176,6 +184,269 @@ ENTRY(native_usergs_sysret64) ENDPROC(native_usergs_sysret64) #endif /* CONFIG_PARAVIRT */ =20 @@ -14364,11 +12568,11 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_64.S linux-2.6.32.48/arch/x86/k +ENDPROC(pax_exit_kernel_user) +#endif + -+.macro pax_erase_kstack ++ .macro pax_erase_kstack +#ifdef CONFIG_PAX_MEMORY_STACKLEAK + call pax_erase_kstack +#endif -+.endm ++ .endm + +#ifdef CONFIG_PAX_MEMORY_STACKLEAK +/* @@ -14425,8 +12629,8 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 64.S linux-2.6.32.48/arch/x86/k =20 .macro TRACE_IRQS_IRETQ offset=3DARGOFFSET #ifdef CONFIG_TRACE_IRQFLAGS -@@ -317,7 +588,7 @@ ENTRY(save_args) - leaq -ARGOFFSET+16(%rsp),%rdi /* arg1 for handler */ +@@ -318,7 +589,7 @@ ENTRY(save_args) + leaq -RBP+8(%rsp),%rdi /* arg1 for handler */ movq_cfi rbp, 8 /* push %rbp */ leaq 8(%rsp), %rbp /* mov %rsp, %ebp */ - testl $3, CS(%rdi) @@ -14434,23 +12638,31 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_64.S linux-2.6.32.48/arch/x86/k je 1f SWAPGS /* -@@ -337,6 +608,7 @@ ENTRY(save_args) +@@ -338,9 +609,10 @@ ENTRY(save_args) * We entered an interrupt context - irqs are off: */ 2: TRACE_IRQS_OFF + pax_force_retaddr ret CFI_ENDPROC - END(save_args) -@@ -352,6 +624,7 @@ ENTRY(save_rest) +-END(save_args) ++ENDPROC(save_args) + .popsection +=20 + ENTRY(save_rest) +@@ -354,9 +626,10 @@ ENTRY(save_rest) movq_cfi r15, R15+16 movq %r11, 8(%rsp) /* return address */ FIXUP_TOP_OF_STACK %r11, 16 + pax_force_retaddr ret CFI_ENDPROC - END(save_rest) -@@ -383,7 +656,8 @@ ENTRY(save_paranoid) +-END(save_rest) ++ENDPROC(save_rest) +=20 + /* save complete stack frame */ + .pushsection .kprobes.text, "ax" +@@ -385,9 +658,10 @@ ENTRY(save_paranoid) js 1f /* negative -> in kernel */ SWAPGS xorl %ebx,%ebx @@ -14458,8 +12670,11 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _64.S linux-2.6.32.48/arch/x86/k +1: pax_force_retaddr + ret CFI_ENDPROC - END(save_paranoid) +-END(save_paranoid) ++ENDPROC(save_paranoid) .popsection +=20 + /* @@ -409,7 +683,7 @@ ENTRY(ret_from_fork) =20 RESTORE_REST @@ -14469,6 +12684,15 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _64.S linux-2.6.32.48/arch/x86/k je int_ret_from_sys_call =20 testl $_TIF_IA32, TI_flags(%rcx) # 32-bit compat task needs IRET +@@ -419,7 +693,7 @@ ENTRY(ret_from_fork) + jmp ret_from_sys_call # go to the SYSRET fastpath +=20 + CFI_ENDPROC +-END(ret_from_fork) ++ENDPROC(ret_from_fork) +=20 + /* + * System call entry. Up to 6 arguments in registers are supported. @@ -455,7 +729,7 @@ END(ret_from_fork) ENTRY(system_call) CFI_STARTPROC simple @@ -14502,7 +12726,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 64.S linux-2.6.32.48/arch/x86/k /* * sysretq will re-enable interrupts: */ -@@ -562,6 +839,9 @@ auditsys: +@@ -560,6 +837,9 @@ auditsys: movq %rax,%rsi /* 2nd arg: syscall number */ movl $AUDIT_ARCH_X86_64,%edi /* 1st arg: audit arch */ call audit_syscall_entry @@ -14512,7 +12736,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 64.S linux-2.6.32.48/arch/x86/k LOAD_ARGS 0 /* reload call-clobbered registers */ jmp system_call_fastpath =20 -@@ -592,6 +872,9 @@ tracesys: +@@ -590,6 +870,9 @@ tracesys: FIXUP_TOP_OF_STACK %rdi movq %rsp,%rdi call syscall_trace_enter @@ -14522,7 +12746,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 64.S linux-2.6.32.48/arch/x86/k /* * Reload arg registers from stack in case ptrace changed them. * We don't reload %rax because syscall_trace_enter() returned -@@ -613,7 +896,7 @@ tracesys: +@@ -611,7 +894,7 @@ tracesys: GLOBAL(int_ret_from_sys_call) DISABLE_INTERRUPTS(CLBR_NONE) TRACE_IRQS_OFF @@ -14531,16 +12755,65 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_64.S linux-2.6.32.48/arch/x86/k je retint_restore_args movl $_TIF_ALLWORK_MASK,%edi /* edi: mask to check */ -@@ -708,6 +991,7 @@ ENTRY(ptregscall_common) +@@ -668,7 +951,7 @@ int_restore_rest: + TRACE_IRQS_OFF + jmp int_with_check + CFI_ENDPROC +-END(system_call) ++ENDPROC(system_call) +=20 + /* + * Certain special system calls that need to save a complete full stack= frame. +@@ -684,7 +967,7 @@ ENTRY(\label) + call \func + jmp ptregscall_common + CFI_ENDPROC +-END(\label) ++ENDPROC(\label) + .endm +=20 + PTREGSCALL stub_clone, sys_clone, %r8 +@@ -702,9 +985,10 @@ ENTRY(ptregscall_common) movq_cfi_restore R12+8, r12 movq_cfi_restore RBP+8, rbp movq_cfi_restore RBX+8, rbx + pax_force_retaddr ret $REST_SKIP /* pop extended registers */ CFI_ENDPROC - END(ptregscall_common) -@@ -800,6 +1084,16 @@ END(interrupt) - CFI_ADJUST_CFA_OFFSET 10*8 +-END(ptregscall_common) ++ENDPROC(ptregscall_common) +=20 + ENTRY(stub_execve) + CFI_STARTPROC +@@ -719,7 +1003,7 @@ ENTRY(stub_execve) + RESTORE_REST + jmp int_ret_from_sys_call + CFI_ENDPROC +-END(stub_execve) ++ENDPROC(stub_execve) +=20 + /* + * sigreturn is special because it needs to restore all registers on re= turn. +@@ -737,7 +1021,7 @@ ENTRY(stub_rt_sigreturn) + RESTORE_REST + jmp int_ret_from_sys_call + CFI_ENDPROC +-END(stub_rt_sigreturn) ++ENDPROC(stub_rt_sigreturn) +=20 + /* + * Build the entry stubs and pointer table with some assembler magic. +@@ -772,7 +1056,7 @@ vector=3Dvector+1 + 2: jmp common_interrupt + .endr + CFI_ENDPROC +-END(irq_entries_start) ++ENDPROC(irq_entries_start) +=20 + .previous + END(interrupt) +@@ -793,6 +1077,16 @@ END(interrupt) + CFI_ADJUST_CFA_OFFSET ORIG_RAX-RBP call save_args PARTIAL_FRAME 0 +#ifdef CONFIG_PAX_MEMORY_UDEREF @@ -14556,7 +12829,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 64.S linux-2.6.32.48/arch/x86/k call \func .endm =20 -@@ -822,7 +1116,7 @@ ret_from_intr: +@@ -825,7 +1119,7 @@ ret_from_intr: CFI_ADJUST_CFA_OFFSET -8 exit_intr: GET_THREAD_INFO(%rcx) @@ -14565,7 +12838,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 64.S linux-2.6.32.48/arch/x86/k je retint_kernel =20 /* Interrupt came from user space */ -@@ -844,12 +1138,16 @@ retint_swapgs: /* return to user-space=20 +@@ -847,12 +1141,16 @@ retint_swapgs: /* return to user-space=20 * The iretq could re-enable interrupts: */ DISABLE_INTERRUPTS(CLBR_ANY) @@ -14582,8 +12855,26 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _64.S linux-2.6.32.48/arch/x86/k /* * The iretq could re-enable interrupts: */ -@@ -1032,6 +1330,16 @@ ENTRY(\sym) - CFI_ADJUST_CFA_OFFSET 15*8 +@@ -941,7 +1239,7 @@ ENTRY(retint_kernel) + #endif +=20 + CFI_ENDPROC +-END(common_interrupt) ++ENDPROC(common_interrupt) + /* + * End of kprobes section + */ +@@ -957,7 +1255,7 @@ ENTRY(\sym) + interrupt \do_sym + jmp ret_from_intr + CFI_ENDPROC +-END(\sym) ++ENDPROC(\sym) + .endm +=20 + #ifdef CONFIG_SMP +@@ -1027,12 +1325,22 @@ ENTRY(\sym) + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call error_entry DEFAULT_FRAME 0 +#ifdef CONFIG_PAX_MEMORY_UDEREF @@ -14599,8 +12890,15 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _64.S linux-2.6.32.48/arch/x86/k movq %rsp,%rdi /* pt_regs pointer */ xorl %esi,%esi /* no error code */ call \do_sym -@@ -1049,6 +1357,16 @@ ENTRY(\sym) - subq $15*8, %rsp + jmp error_exit /* %ebx: no swapgs flag */ + CFI_ENDPROC +-END(\sym) ++ENDPROC(\sym) + .endm +=20 + .macro paranoidzeroentry sym do_sym +@@ -1044,15 +1352,25 @@ ENTRY(\sym) + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call save_paranoid TRACE_IRQS_OFF +#ifdef CONFIG_PAX_MEMORY_UDEREF @@ -14616,8 +12914,19 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _64.S linux-2.6.32.48/arch/x86/k movq %rsp,%rdi /* pt_regs pointer */ xorl %esi,%esi /* no error code */ call \do_sym -@@ -1066,9 +1384,24 @@ ENTRY(\sym) - subq $15*8, %rsp + jmp paranoid_exit /* %ebx: no swapgs flag */ + CFI_ENDPROC +-END(\sym) ++ENDPROC(\sym) + .endm +=20 +-#define INIT_TSS_IST(x) PER_CPU_VAR(init_tss) + (TSS_ist + ((x) - 1) * = 8) ++#define INIT_TSS_IST(x) (TSS_ist + ((x) - 1) * 8)(%r12) + .macro paranoidzeroentry_ist sym do_sym ist + ENTRY(\sym) + INTR_FRAME +@@ -1062,14 +1380,30 @@ ENTRY(\sym) + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call save_paranoid TRACE_IRQS_OFF +#ifdef CONFIG_PAX_MEMORY_UDEREF @@ -14632,18 +12941,24 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_64.S linux-2.6.32.48/arch/x86/k +#endif movq %rsp,%rdi /* pt_regs pointer */ xorl %esi,%esi /* no error code */ -- PER_CPU(init_tss, %rbp) +#ifdef CONFIG_SMP -+ imul $TSS_size, PER_CPU_VAR(cpu_number), %ebp -+ lea init_tss(%rbp), %rbp ++ imul $TSS_size, PER_CPU_VAR(cpu_number), %r12d ++ lea init_tss(%r12), %r12 +#else -+ lea init_tss(%rip), %rbp ++ lea init_tss(%rip), %r12 +#endif - subq $EXCEPTION_STKSZ, TSS_ist + (\ist - 1) * 8(%rbp) + subq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist) call \do_sym - addq $EXCEPTION_STKSZ, TSS_ist + (\ist - 1) * 8(%rbp) -@@ -1085,6 +1418,16 @@ ENTRY(\sym) - CFI_ADJUST_CFA_OFFSET 15*8 + addq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist) + jmp paranoid_exit /* %ebx: no swapgs flag */ + CFI_ENDPROC +-END(\sym) ++ENDPROC(\sym) + .endm +=20 + .macro errorentry sym do_sym +@@ -1080,13 +1414,23 @@ ENTRY(\sym) + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call error_entry DEFAULT_FRAME 0 +#ifdef CONFIG_PAX_MEMORY_UDEREF @@ -14659,7 +12974,15 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _64.S linux-2.6.32.48/arch/x86/k movq %rsp,%rdi /* pt_regs pointer */ movq ORIG_RAX(%rsp),%rsi /* get error code */ movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */ -@@ -1104,6 +1447,16 @@ ENTRY(\sym) + call \do_sym + jmp error_exit /* %ebx: no swapgs flag */ + CFI_ENDPROC +-END(\sym) ++ENDPROC(\sym) + .endm +=20 + /* error code is on the stack already */ +@@ -1099,13 +1443,23 @@ ENTRY(\sym) call save_paranoid DEFAULT_FRAME 0 TRACE_IRQS_OFF @@ -14676,47 +12999,85 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_64.S linux-2.6.32.48/arch/x86/k movq %rsp,%rdi /* pt_regs pointer */ movq ORIG_RAX(%rsp),%rsi /* get error code */ movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */ -@@ -1141,6 +1494,7 @@ gs_change: - SWAPGS - popf - CFI_ADJUST_CFA_OFFSET -8 -+ pax_force_retaddr - ret + call \do_sym + jmp paranoid_exit /* %ebx: no swapgs flag */ CFI_ENDPROC - END(native_load_gs_index) -@@ -1195,6 +1549,7 @@ ENTRY(kernel_thread) - */ - RESTORE_ALL - UNFAKE_STACK_FRAME +-END(\sym) ++ENDPROC(\sym) + .endm +=20 + zeroentry divide_error do_divide_error +@@ -1134,9 +1488,10 @@ gs_change: + 2: mfence /* workaround */ + SWAPGS + popfq_cfi + pax_force_retaddr ret CFI_ENDPROC - END(kernel_thread) -@@ -1208,6 +1563,7 @@ ENTRY(child_rip) +-END(native_load_gs_index) ++ENDPROC(native_load_gs_index) +=20 + .section __ex_table,"a" + .align 8 +@@ -1158,13 +1513,14 @@ ENTRY(kernel_thread_helper) + * Here we are in the child and the registers are set as they were + * at kernel_thread() invocation in the parent. */ - movq %rdi, %rax - movq %rsi, %rdi -+ pax_force_fptr %rax - call *%rax ++ pax_force_fptr %rsi + call *%rsi # exit mov %eax, %edi -@@ -1243,6 +1599,7 @@ ENTRY(kernel_execve) + call do_exit + ud2 # padding for call trace + CFI_ENDPROC +-END(kernel_thread_helper) ++ENDPROC(kernel_thread_helper) +=20 + /* + * execve(). This function needs to use IRET, not SYSRET, to set up all= state properly. +@@ -1193,9 +1549,10 @@ ENTRY(kernel_execve) je int_ret_from_sys_call RESTORE_ARGS UNFAKE_STACK_FRAME + pax_force_retaddr ret CFI_ENDPROC - END(kernel_execve) -@@ -1263,6 +1620,7 @@ ENTRY(call_softirq) +-END(kernel_execve) ++ENDPROC(kernel_execve) +=20 + /* Call softirq on interrupt stack. Interrupts are off. */ + ENTRY(call_softirq) +@@ -1213,9 +1570,10 @@ ENTRY(call_softirq) CFI_DEF_CFA_REGISTER rsp CFI_ADJUST_CFA_OFFSET -8 decl PER_CPU_VAR(irq_count) + pax_force_retaddr ret CFI_ENDPROC - END(call_softirq) -@@ -1405,16 +1763,31 @@ ENTRY(paranoid_exit) +-END(call_softirq) ++ENDPROC(call_softirq) +=20 + #ifdef CONFIG_XEN + zeroentry xen_hypervisor_callback xen_do_hypervisor_callback +@@ -1253,7 +1611,7 @@ ENTRY(xen_do_hypervisor_callback) # do + decl PER_CPU_VAR(irq_count) + jmp error_exit + CFI_ENDPROC +-END(xen_do_hypervisor_callback) ++ENDPROC(xen_do_hypervisor_callback) +=20 + /* + * Hypervisor uses this for application faults while it executes. +@@ -1312,7 +1670,7 @@ ENTRY(xen_failsafe_callback) + SAVE_ALL + jmp error_exit + CFI_ENDPROC +-END(xen_failsafe_callback) ++ENDPROC(xen_failsafe_callback) +=20 + apicinterrupt XEN_HVM_EVTCHN_CALLBACK \ + xen_hvm_callback_vector xen_evtchn_do_upcall +@@ -1361,16 +1719,31 @@ ENTRY(paranoid_exit) TRACE_IRQS_OFF testl %ebx,%ebx /* swapgs needed? */ jnz paranoid_restore @@ -14749,7 +13110,16 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry= _64.S linux-2.6.32.48/arch/x86/k jmp irq_return paranoid_userspace: GET_THREAD_INFO(%rcx) -@@ -1470,12 +1843,13 @@ ENTRY(error_entry) +@@ -1399,7 +1772,7 @@ paranoid_schedule: + TRACE_IRQS_OFF + jmp paranoid_userspace + CFI_ENDPROC +-END(paranoid_exit) ++ENDPROC(paranoid_exit) +=20 + /* + * Exception entry point. This expects an error code/orig_rax on the st= ack. +@@ -1426,12 +1799,13 @@ ENTRY(error_entry) movq_cfi r14, R14+8 movq_cfi r15, R15+8 xorl %ebx,%ebx @@ -14762,10 +13132,28 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_64.S linux-2.6.32.48/arch/x86/k TRACE_IRQS_OFF + pax_force_retaddr ret +=20 + /* +@@ -1458,7 +1832,7 @@ bstep_iret: + movq %rcx,RIP+8(%rsp) + jmp error_swapgs + CFI_ENDPROC +-END(error_entry) ++ENDPROC(error_entry) +=20 +=20 + /* ebx: no swapgs flag (1: don't need swapgs, 0: need it) */ +@@ -1478,7 +1852,7 @@ ENTRY(error_exit) + jnz retint_careful + jmp retint_swapgs CFI_ENDPROC +-END(error_exit) ++ENDPROC(error_exit) +=20 =20 -@@ -1529,6 +1903,16 @@ ENTRY(nmi) - CFI_ADJUST_CFA_OFFSET 15*8 + /* runs on exception stack */ +@@ -1490,6 +1864,16 @@ ENTRY(nmi) + CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 call save_paranoid DEFAULT_FRAME 0 +#ifdef CONFIG_PAX_MEMORY_UDEREF @@ -14781,7 +13169,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entry_= 64.S linux-2.6.32.48/arch/x86/k /* paranoidentry do_nmi, 0; without TRACE_IRQS_OFF */ movq %rsp,%rdi movq $-1,%rsi -@@ -1539,12 +1923,28 @@ ENTRY(nmi) +@@ -1500,12 +1884,28 @@ ENTRY(nmi) DISABLE_INTERRUPTS(CLBR_NONE) testl %ebx,%ebx /* swapgs needed? */ jnz nmi_restore @@ -14811,11 +13199,28 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/entr= y_64.S linux-2.6.32.48/arch/x86/k jmp irq_return nmi_userspace: GET_THREAD_INFO(%rcx) -diff -urNp linux-2.6.32.48/arch/x86/kernel/ftrace.c linux-2.6.32.48/arch= /x86/kernel/ftrace.c ---- linux-2.6.32.48/arch/x86/kernel/ftrace.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/ftrace.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -103,7 +103,7 @@ static void *mod_code_ip; /* holds the=20 - static void *mod_code_newcode; /* holds the text to write to the IP */ +@@ -1534,14 +1934,14 @@ nmi_schedule: + jmp paranoid_exit + CFI_ENDPROC + #endif +-END(nmi) ++ENDPROC(nmi) +=20 + ENTRY(ignore_sysret) + CFI_STARTPROC + mov $-ENOSYS,%eax + sysret + CFI_ENDPROC +-END(ignore_sysret) ++ENDPROC(ignore_sysret) +=20 + /* + * End of kprobes section +diff -urNp linux-3.0.8/arch/x86/kernel/ftrace.c linux-3.0.8/arch/x86/ker= nel/ftrace.c +--- linux-3.0.8/arch/x86/kernel/ftrace.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/kernel/ftrace.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -126,7 +126,7 @@ static void *mod_code_ip; /* holds the=20 + static const void *mod_code_newcode; /* holds the text to write to the = IP */ =20 static unsigned nmi_wait_count; -static atomic_t nmi_update_count =3D ATOMIC_INIT(0); @@ -14823,7 +13228,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ftrace= .c linux-2.6.32.48/arch/x86/ker =20 int ftrace_arch_read_dyn_info(char *buf, int size) { -@@ -111,7 +111,7 @@ int ftrace_arch_read_dyn_info(char *buf, +@@ -134,7 +134,7 @@ int ftrace_arch_read_dyn_info(char *buf, =20 r =3D snprintf(buf, size, "%u %u", nmi_wait_count, @@ -14832,8 +13237,8 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ftrace= .c linux-2.6.32.48/arch/x86/ker return r; } =20 -@@ -149,8 +149,10 @@ void ftrace_nmi_enter(void) - { +@@ -177,8 +177,10 @@ void ftrace_nmi_enter(void) +=20 if (atomic_inc_return(&nmi_running) & MOD_CODE_WRITE_FLAG) { smp_rmb(); + pax_open_kernel(); @@ -14844,16 +13249,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ftrac= e.c linux-2.6.32.48/arch/x86/ker } /* Must have previous changes seen before executions */ smp_mb(); -@@ -215,7 +217,7 @@ do_ftrace_mod_code(unsigned long ip, voi -=20 -=20 -=20 --static unsigned char ftrace_nop[MCOUNT_INSN_SIZE]; -+static unsigned char ftrace_nop[MCOUNT_INSN_SIZE] __read_only; -=20 - static unsigned char *ftrace_nop_replace(void) - { -@@ -228,6 +230,8 @@ ftrace_modify_code(unsigned long ip, uns +@@ -271,6 +273,8 @@ ftrace_modify_code(unsigned long ip, uns { unsigned char replaced[MCOUNT_INSN_SIZE]; =20 @@ -14862,7 +13258,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ftrace= .c linux-2.6.32.48/arch/x86/ker /* * Note: Due to modules and __init, code can * disappear and change, we need to protect against faulting -@@ -284,7 +288,7 @@ int ftrace_update_ftrace_func(ftrace_fun +@@ -327,7 +331,7 @@ int ftrace_update_ftrace_func(ftrace_fun unsigned char old[MCOUNT_INSN_SIZE], *new; int ret; =20 @@ -14871,26 +13267,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ftrac= e.c linux-2.6.32.48/arch/x86/ker new =3D ftrace_call_replace(ip, (unsigned long)func); ret =3D ftrace_modify_code(ip, old, new); =20 -@@ -337,15 +341,15 @@ int __init ftrace_dyn_arch_init(void *da - switch (faulted) { - case 0: - pr_info("ftrace: converting mcount calls to 0f 1f 44 00 00\n"); -- memcpy(ftrace_nop, ftrace_test_p6nop, MCOUNT_INSN_SIZE); -+ memcpy(ftrace_nop, ktla_ktva(ftrace_test_p6nop), MCOUNT_INSN_SIZE); - break; - case 1: - pr_info("ftrace: converting mcount calls to 66 66 66 66 90\n"); -- memcpy(ftrace_nop, ftrace_test_nop5, MCOUNT_INSN_SIZE); -+ memcpy(ftrace_nop, ktla_ktva(ftrace_test_nop5), MCOUNT_INSN_SIZE); - break; - case 2: - pr_info("ftrace: converting mcount calls to jmp . + 5\n"); -- memcpy(ftrace_nop, ftrace_test_jmp, MCOUNT_INSN_SIZE); -+ memcpy(ftrace_nop, ktla_ktva(ftrace_test_jmp), MCOUNT_INSN_SIZE); - break; - } -=20 -@@ -366,6 +370,8 @@ static int ftrace_mod_jmp(unsigned long=20 +@@ -353,6 +357,8 @@ static int ftrace_mod_jmp(unsigned long=20 { unsigned char code[MCOUNT_INSN_SIZE]; =20 @@ -14899,35 +13276,30 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ftra= ce.c linux-2.6.32.48/arch/x86/ker if (probe_kernel_read(code, (void *)ip, MCOUNT_INSN_SIZE)) return -EFAULT; =20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/head32.c linux-2.6.32.48/arch= /x86/kernel/head32.c ---- linux-2.6.32.48/arch/x86/kernel/head32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/head32.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -16,6 +16,7 @@ - #include +diff -urNp linux-3.0.8/arch/x86/kernel/head32.c linux-3.0.8/arch/x86/ker= nel/head32.c +--- linux-3.0.8/arch/x86/kernel/head32.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/kernel/head32.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -19,6 +19,7 @@ #include #include + #include +#include =20 static void __init i386_default_early_setup(void) { -@@ -31,7 +32,7 @@ void __init i386_start_kernel(void) +@@ -33,7 +34,7 @@ void __init i386_start_kernel(void) { - reserve_trampoline_memory(); + memblock_init(); =20 -- reserve_early(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DAT= A BSS"); -+ reserve_early(LOAD_PHYSICAL_ADDR, __pa_symbol(&__bss_stop), "TEXT DATA= BSS"); +- memblock_x86_reserve_range(__pa_symbol(&_text), __pa_symbol(&__bss_sto= p), "TEXT DATA BSS"); ++ memblock_x86_reserve_range(LOAD_PHYSICAL_ADDR, __pa_symbol(&__bss_stop= ), "TEXT DATA BSS"); =20 #ifdef CONFIG_BLK_DEV_INITRD /* Reserve INITRD */ -diff -urNp linux-2.6.32.48/arch/x86/kernel/head_32.S linux-2.6.32.48/arc= h/x86/kernel/head_32.S ---- linux-2.6.32.48/arch/x86/kernel/head_32.S 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/head_32.S 2011-11-12 12:46:42.000000= 000 -0500 -@@ -19,10 +19,17 @@ - #include - #include - #include -+#include -=20 +diff -urNp linux-3.0.8/arch/x86/kernel/head_32.S linux-3.0.8/arch/x86/ke= rnel/head_32.S +--- linux-3.0.8/arch/x86/kernel/head_32.S 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/kernel/head_32.S 2011-08-23 21:47:55.000000000 = -0400 +@@ -25,6 +25,12 @@ /* Physical address */ #define pa(X) ((X) - __PAGE_OFFSET) =20 @@ -14940,7 +13312,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_3= 2.S linux-2.6.32.48/arch/x86/ke /* * References to members of the new_cpu_data structure. */ -@@ -52,11 +59,7 @@ +@@ -54,11 +60,7 @@ * and small than max_low_pfn, otherwise will waste some page table ent= ries */ =20 @@ -14951,9 +13323,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_3= 2.S linux-2.6.32.48/arch/x86/ke -#endif +#define PAGE_TABLE_SIZE(pages) ((pages) / PTRS_PER_PTE) =20 - /* Enough space to fit pagetables for the low memory linear map */ - MAPPING_BEYOND_END =3D \ -@@ -73,6 +76,12 @@ INIT_MAP_SIZE =3D PAGE_TABLE_SIZE(KERNEL_P + /* Number of possible pages in the lowmem region */ + LOWMEM_PAGES =3D (((1<<32) - __PAGE_OFFSET) >> PAGE_SHIFT) +@@ -77,6 +79,12 @@ INIT_MAP_SIZE =3D PAGE_TABLE_SIZE(KERNEL_P RESERVE_BRK(pagetables, INIT_MAP_SIZE) =20 /* @@ -14966,7 +13338,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_3= 2.S linux-2.6.32.48/arch/x86/ke * 32-bit kernel entrypoint; only used by the boot CPU. On entry, * %esi points to the real-mode code as a 32-bit pointer. * CS and DS must be 4 GB flat segments, but we don't depend on -@@ -80,7 +89,16 @@ RESERVE_BRK(pagetables, INIT_MAP_SIZE) +@@ -84,6 +92,13 @@ RESERVE_BRK(pagetables, INIT_MAP_SIZE) * can. */ __HEAD @@ -14978,19 +13350,12 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head= _32.S linux-2.6.32.48/arch/x86/ke +#endif + ENTRY(startup_32) -+ movl pa(stack_start),%ecx -+ - /* test KEEP_SEGMENTS flag to see if the bootloader is asking - us to not reload segments */ - testb $(1<<6), BP_loadflags(%esi) -@@ -95,7 +113,60 @@ ENTRY(startup_32) - movl %eax,%es - movl %eax,%fs - movl %eax,%gs -+ movl %eax,%ss + movl pa(stack_start),%ecx + =09 +@@ -105,6 +120,57 @@ ENTRY(startup_32) 2: -+ leal -__PAGE_OFFSET(%ecx),%esp -+ + leal -__PAGE_OFFSET(%ecx),%esp +=20 +#ifdef CONFIG_SMP + movl $pa(cpu_gdt_table),%edi + movl $__per_cpu_load,%eax @@ -15041,10 +13406,39 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head= _32.S linux-2.6.32.48/arch/x86/ke + addl $PAGE_SIZE_asm,%edi + loop 1b +#endif -=20 ++ /* * Clear BSS first so that there are no surprises... -@@ -140,9 +211,7 @@ ENTRY(startup_32) + */ +@@ -195,8 +261,11 @@ ENTRY(startup_32) + movl %eax, pa(max_pfn_mapped) +=20 + /* Do early initialization of the fixmap area */ +- movl $pa(initial_pg_fixmap)+PDE_IDENT_ATTR,%eax +- movl %eax,pa(initial_pg_pmd+0x1000*KPMDS-8) ++#ifdef CONFIG_COMPAT_VDSO ++ movl $pa(initial_pg_fixmap)+PDE_IDENT_ATTR+_PAGE_USER,pa(initial_pg_pm= d+0x1000*KPMDS-8) ++#else ++ movl $pa(initial_pg_fixmap)+PDE_IDENT_ATTR,pa(initial_pg_pmd+0x1000*KP= MDS-8) ++#endif + #else /* Not PAE */ +=20 + page_pde_offset =3D (__PAGE_OFFSET >> 20); +@@ -226,8 +295,11 @@ page_pde_offset =3D (__PAGE_OFFSET >> 20); + movl %eax, pa(max_pfn_mapped) +=20 + /* Do early initialization of the fixmap area */ +- movl $pa(initial_pg_fixmap)+PDE_IDENT_ATTR,%eax +- movl %eax,pa(initial_page_table+0xffc) ++#ifdef CONFIG_COMPAT_VDSO ++ movl $pa(initial_pg_fixmap)+PDE_IDENT_ATTR+_PAGE_USER,pa(initial_page_= table+0xffc) ++#else ++ movl $pa(initial_pg_fixmap)+PDE_IDENT_ATTR,pa(initial_page_table+0xffc= ) ++#endif + #endif +=20 + #ifdef CONFIG_PARAVIRT +@@ -241,9 +313,7 @@ page_pde_offset =3D (__PAGE_OFFSET >> 20); cmpl $num_subarch_entries, %eax jae bad_subarch =20 @@ -15055,7 +13449,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_3= 2.S linux-2.6.32.48/arch/x86/ke =20 bad_subarch: WEAK(lguest_entry) -@@ -154,10 +223,10 @@ WEAK(xen_entry) +@@ -255,10 +325,10 @@ WEAK(xen_entry) __INITDATA =20 subarch_entries: @@ -15069,106 +13463,26 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/hea= d_32.S linux-2.6.32.48/arch/x86/ke + .long ta(default_entry) /* Moorestown MID */ num_subarch_entries =3D (. - subarch_entries) / 4 .previous - #endif /* CONFIG_PARAVIRT */ -@@ -218,8 +287,11 @@ default_entry: - movl %eax, pa(max_pfn_mapped) -=20 - /* Do early initialization of the fixmap area */ -- movl $pa(swapper_pg_fixmap)+PDE_IDENT_ATTR,%eax -- movl %eax,pa(swapper_pg_pmd+0x1000*KPMDS-8) -+#ifdef CONFIG_COMPAT_VDSO -+ movl $pa(swapper_pg_fixmap)+PDE_IDENT_ATTR+_PAGE_USER,pa(swapper_pg_pm= d+0x1000*KPMDS-8) -+#else -+ movl $pa(swapper_pg_fixmap)+PDE_IDENT_ATTR,pa(swapper_pg_pmd+0x1000*KP= MDS-8) -+#endif - #else /* Not PAE */ -=20 - page_pde_offset =3D (__PAGE_OFFSET >> 20); -@@ -249,8 +321,11 @@ page_pde_offset =3D (__PAGE_OFFSET >> 20); - movl %eax, pa(max_pfn_mapped) -=20 - /* Do early initialization of the fixmap area */ -- movl $pa(swapper_pg_fixmap)+PDE_IDENT_ATTR,%eax -- movl %eax,pa(swapper_pg_dir+0xffc) -+#ifdef CONFIG_COMPAT_VDSO -+ movl $pa(swapper_pg_fixmap)+PDE_IDENT_ATTR+_PAGE_USER,pa(swapper_pg_di= r+0xffc) -+#else -+ movl $pa(swapper_pg_fixmap)+PDE_IDENT_ATTR,pa(swapper_pg_dir+0xffc) -+#endif - #endif - jmp 3f - /* -@@ -272,6 +347,9 @@ ENTRY(startup_32_smp) - movl %eax,%es - movl %eax,%fs - movl %eax,%gs -+ movl pa(stack_start),%ecx -+ movl %eax,%ss -+ leal -__PAGE_OFFSET(%ecx),%esp - #endif /* CONFIG_SMP */ - 3: -=20 -@@ -297,6 +375,7 @@ ENTRY(startup_32_smp) + #else +@@ -312,6 +382,7 @@ default_entry: orl %edx,%eax movl %eax,%cr4 =20 +#ifdef CONFIG_X86_PAE - btl $5, %eax # check if PAE is enabled - jnc 6f -=20 -@@ -305,6 +384,10 @@ ENTRY(startup_32_smp) - cpuid - cmpl $0x80000000, %eax - jbe 6f -+ -+ /* Clear bogus XD_DISABLE bits */ -+ call verify_cpu -+ - mov $0x80000001, %eax - cpuid - /* Execute Disable bit supported? */ -@@ -312,13 +395,17 @@ ENTRY(startup_32_smp) - jnc 6f -=20 - /* Setup EFER (Extended Feature Enable Register) */ -- movl $0xc0000080, %ecx -+ movl $MSR_EFER, %ecx - rdmsr + testb $X86_CR4_PAE, %al # check if PAE is enabled + jz 6f =20 - btsl $11, %eax +@@ -340,6 +411,9 @@ default_entry: /* Make changes effective */ wrmsr =20 + btsl $_PAGE_BIT_NX-32,pa(__supported_pte_mask+4) -+ movl $1,pa(nx_enabled) +#endif + 6: =20 /* -@@ -331,8 +418,8 @@ ENTRY(startup_32_smp) - movl %eax,%cr0 /* ..and set paging (PG) bit */ - ljmp $__BOOT_CS,$1f /* Clear prefetch and normalize %eip */ - 1: -- /* Set up the stack pointer */ -- lss stack_start,%esp -+ /* Shift the stack pointer to a virtual address */ -+ addl $__PAGE_OFFSET, %esp -=20 - /* - * Initialize eflags. Some BIOS's leave bits like NT set. This would -@@ -344,9 +431,7 @@ ENTRY(startup_32_smp) -=20 - #ifdef CONFIG_SMP - cmpb $0, ready -- jz 1f /* Initial CPU cleans BSS */ -- jmp checkCPUtype --1: -+ jnz checkCPUtype - #endif /* CONFIG_SMP */ -=20 - /* -@@ -424,7 +509,7 @@ is386: movl $2,%ecx # set MP +@@ -443,7 +517,7 @@ is386: movl $2,%ecx # set MP 1: movl $(__KERNEL_DS),%eax # reload all the segment registers movl %eax,%ss # after changing gdt. =20 @@ -15177,13 +13491,13 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head= _32.S linux-2.6.32.48/arch/x86/ke movl %eax,%ds movl %eax,%es =20 -@@ -438,15 +523,22 @@ is386: movl $2,%ecx # set MP +@@ -457,15 +531,22 @@ is386: movl $2,%ecx # set MP */ cmpb $0,ready jne 1f -- movl $per_cpu__gdt_page,%eax +- movl $gdt_page,%eax + movl $cpu_gdt_table,%eax - movl $per_cpu__stack_canary,%ecx + movl $stack_canary,%ecx +#ifdef CONFIG_SMP + addl $__per_cpu_load,%ecx +#endif @@ -15202,22 +13516,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_= 32.S linux-2.6.32.48/arch/x86/ke movl %eax,%gs =20 xorl %eax,%eax # Clear LDT -@@ -454,14 +546,7 @@ is386: movl $2,%ecx # set MP -=20 - cld # gcc2 wants the direction flag cleared at all times - pushl $0 # fake return address for unwinder --#ifdef CONFIG_SMP -- movb ready, %cl - movb $1, ready -- cmpb $0,%cl # the first CPU calls start_kernel -- je 1f -- movl (stack_start), %esp --1: --#endif /* CONFIG_SMP */ - jmp *(initial_code) -=20 - /* -@@ -546,22 +631,22 @@ early_page_fault: +@@ -558,22 +639,22 @@ early_page_fault: jmp early_fault =20 early_fault: @@ -15245,7 +13544,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_3= 2.S linux-2.6.32.48/arch/x86/ke hlt_loop: hlt jmp hlt_loop -@@ -569,8 +654,11 @@ hlt_loop: +@@ -581,8 +662,11 @@ hlt_loop: /* This is the default interrupt "handler" :-) */ ALIGN ignore_int: @@ -15258,7 +13557,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_3= 2.S linux-2.6.32.48/arch/x86/ke pushl %eax pushl %ecx pushl %edx -@@ -579,9 +667,6 @@ ignore_int: +@@ -591,9 +675,6 @@ ignore_int: movl $(__KERNEL_DS),%eax movl %eax,%ds movl %eax,%es @@ -15268,48 +13567,36 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head= _32.S linux-2.6.32.48/arch/x86/ke pushl 16(%esp) pushl 24(%esp) pushl 32(%esp) -@@ -600,6 +685,8 @@ ignore_int: - #endif - iret -=20 -+#include "verify_cpu.S" -+ - __REFDATA - .align 4 - ENTRY(initial_code) -@@ -610,31 +697,47 @@ ENTRY(initial_page_table) +@@ -622,29 +703,43 @@ ENTRY(initial_code) /* * BSS section */ -__PAGE_ALIGNED_BSS -- .align PAGE_SIZE_asm +- .align PAGE_SIZE #ifdef CONFIG_X86_PAE -+.section .swapper_pg_pmd,"a",@progbits - swapper_pg_pmd: ++.section .initial_pg_pmd,"a",@progbits + initial_pg_pmd: .fill 1024*KPMDS,4,0 #else -+.section .swapper_pg_dir,"a",@progbits - ENTRY(swapper_pg_dir) ++.section .initial_page_table,"a",@progbits + ENTRY(initial_page_table) .fill 1024,4,0 #endif -+.section .swapper_pg_fixmap,"a",@progbits - swapper_pg_fixmap: ++.section .initial_pg_fixmap,"a",@progbits + initial_pg_fixmap: .fill 1024,4,0 - #ifdef CONFIG_X86_TRAMPOLINE -+.section .trampoline_pg_dir,"a",@progbits - ENTRY(trampoline_pg_dir) ++.section .empty_zero_page,"a",@progbits + ENTRY(empty_zero_page) + .fill 4096,1,0 ++.section .swapper_pg_dir,"a",@progbits + ENTRY(swapper_pg_dir) +#ifdef CONFIG_X86_PAE + .fill 4,8,0 +#else .fill 1024,4,0 - #endif +#endif + -+.section .empty_zero_page,"a",@progbits - ENTRY(empty_zero_page) - .fill 4096,1,0 -=20 - /* ++/* + * The IDT has to be page-aligned to simplify the Pentium + * F0 0F bug workaround.. We have a special link segment + * for this. @@ -15317,23 +13604,22 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head= _32.S linux-2.6.32.48/arch/x86/ke +.section .idt,"a",@progbits +ENTRY(idt_table) + .fill 256,8,0 -+ -+/* +=20 + /* * This starts the data section. */ #ifdef CONFIG_X86_PAE -__PAGE_ALIGNED_DATA - /* Page-aligned for the benefit of paravirt? */ -- .align PAGE_SIZE_asm -+.section .swapper_pg_dir,"a",@progbits -+ - ENTRY(swapper_pg_dir) - .long pa(swapper_pg_pmd+PGD_IDENT_ATTR),0 /* low identity map */ +- .align PAGE_SIZE ++.section .initial_page_table,"a",@progbits + ENTRY(initial_page_table) + .long pa(initial_pg_pmd+PGD_IDENT_ATTR),0 /* low identity map */ # if KPMDS =3D=3D 3 -@@ -653,15 +756,24 @@ ENTRY(swapper_pg_dir) +@@ -663,18 +758,27 @@ ENTRY(initial_page_table) # error "Kernel PMDs should be 1, 2 or 3" # endif - .align PAGE_SIZE_asm /* needs to be page-sized too */ + .align PAGE_SIZE /* needs to be page-sized too */ + +#ifdef CONFIG_PAX_PER_CPU_PGD +ENTRY(cpu_pgd) @@ -15345,19 +13631,23 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head= _32.S linux-2.6.32.48/arch/x86/ke #endif =20 .data -+.balign 4 + .balign 4 ENTRY(stack_start) - .long init_thread_union+THREAD_SIZE -- .long __BOOT_DS + .long init_thread_union+THREAD_SIZE-8 -=20 - ready: .byte 0 ++ ++ready: .byte 0 =20 +.section .rodata,"a",@progbits early_recursion_flag: .long 0 =20 -@@ -697,7 +809,7 @@ fault_msg: +-ready: .byte 0 +- + int_msg: + .asciz "Unknown interrupt or fault at: %p %p %p\n" +=20 +@@ -707,7 +811,7 @@ fault_msg: .word 0 # 32 bit align gdt_desc.address boot_gdt_descr: .word __BOOT_DS+7 @@ -15366,16 +13656,16 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head= _32.S linux-2.6.32.48/arch/x86/ke =20 .word 0 # 32-bit align idt_desc.address idt_descr: -@@ -708,7 +820,7 @@ idt_descr: +@@ -718,7 +822,7 @@ idt_descr: .word 0 # 32 bit align gdt_desc.address ENTRY(early_gdt_descr) .word GDT_ENTRIES*8-1 -- .long per_cpu__gdt_page /* Overwritten for secondary CPUs */ +- .long gdt_page /* Overwritten for secondary CPUs */ + .long cpu_gdt_table /* Overwritten for secondary CPUs */ =20 /* * The boot_gdt must mirror the equivalent in setup.S and is -@@ -717,5 +829,65 @@ ENTRY(early_gdt_descr) +@@ -727,5 +831,65 @@ ENTRY(early_gdt_descr) .align L1_CACHE_BYTES ENTRY(boot_gdt) .fill GDT_ENTRY_BOOT_CS,8,0 @@ -15443,9 +13733,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_3= 2.S linux-2.6.32.48/arch/x86/ke + /* Be sure this is zeroed to avoid false validations in Xen */ + .fill PAGE_SIZE_asm - GDT_SIZE,1,0 + .endr -diff -urNp linux-2.6.32.48/arch/x86/kernel/head_64.S linux-2.6.32.48/arc= h/x86/kernel/head_64.S ---- linux-2.6.32.48/arch/x86/kernel/head_64.S 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/head_64.S 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/head_64.S linux-3.0.8/arch/x86/ke= rnel/head_64.S +--- linux-3.0.8/arch/x86/kernel/head_64.S 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/kernel/head_64.S 2011-08-23 21:47:55.000000000 = -0400 @@ -19,6 +19,7 @@ #include #include @@ -15511,7 +13801,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_6= 4.S linux-2.6.32.48/arch/x86/ke =20 /* * Fixup the kernel text+data virtual addresses. Note that -@@ -161,8 +153,8 @@ ENTRY(secondary_startup_64) +@@ -160,8 +152,8 @@ ENTRY(secondary_startup_64) * after the boot processor executes this code. */ =20 @@ -15522,7 +13812,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_6= 4.S linux-2.6.32.48/arch/x86/ke movq %rax, %cr4 =20 /* Setup early boot stage 4 level pagetables. */ -@@ -184,9 +176,13 @@ ENTRY(secondary_startup_64) +@@ -183,9 +175,14 @@ ENTRY(secondary_startup_64) movl $MSR_EFER, %ecx rdmsr btsl $_EFER_SCE, %eax /* Enable System Call */ @@ -15534,20 +13824,11 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head= _64.S linux-2.6.32.48/arch/x86/ke + btsq $_PAGE_BIT_NX, 8*L4_PAGE_OFFSET(%rdi) + btsq $_PAGE_BIT_NX, 8*L4_VMALLOC_START(%rdi) + btsq $_PAGE_BIT_NX, 8*L4_VMEMMAP_START(%rdi) ++ btsq $_PAGE_BIT_NX, __supported_pte_mask(%rip) 1: wrmsr /* Make changes effective */ =20 /* Setup cr0 */ -@@ -262,16 +258,16 @@ ENTRY(secondary_startup_64) - .quad x86_64_start_kernel - ENTRY(initial_gs) - .quad INIT_PER_CPU_VAR(irq_stack_union) -- __FINITDATA -=20 - ENTRY(stack_start) - .quad init_thread_union+THREAD_SIZE-8 - .word 0 -+ __FINITDATA -=20 +@@ -269,7 +266,7 @@ ENTRY(secondary_startup_64) bad_address: jmp bad_address =20 @@ -15556,7 +13837,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_6= 4.S linux-2.6.32.48/arch/x86/ke #ifdef CONFIG_EARLY_PRINTK .globl early_idt_handlers early_idt_handlers: -@@ -316,18 +312,23 @@ ENTRY(early_idt_handler) +@@ -314,18 +311,23 @@ ENTRY(early_idt_handler) #endif /* EARLY_PRINTK */ 1: hlt jmp 1b @@ -15581,7 +13862,15 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_= 64.S linux-2.6.32.48/arch/x86/ke #define NEXT_PAGE(name) \ .balign PAGE_SIZE; \ ENTRY(name) -@@ -350,13 +351,36 @@ NEXT_PAGE(init_level4_pgt) +@@ -338,7 +340,6 @@ ENTRY(name) + i =3D i + 1 ; \ + .endr +=20 +- .data + /* + * This default setting generates an ident mapping at address 0x100000 + * and a mapping for the kernel that precisely maps virtual address +@@ -349,13 +350,36 @@ NEXT_PAGE(init_level4_pgt) .quad level3_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE .org init_level4_pgt + L4_PAGE_OFFSET*8, 0 .quad level3_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE @@ -15618,7 +13907,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_6= 4.S linux-2.6.32.48/arch/x86/ke =20 NEXT_PAGE(level3_kernel_pgt) .fill L3_START_KERNEL,8,0 -@@ -364,20 +388,23 @@ NEXT_PAGE(level3_kernel_pgt) +@@ -363,20 +387,23 @@ NEXT_PAGE(level3_kernel_pgt) .quad level2_kernel_pgt - __START_KERNEL_map + _KERNPG_TABLE .quad level2_fixmap_pgt - __START_KERNEL_map + _PAGE_TABLE =20 @@ -15650,7 +13939,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_6= 4.S linux-2.6.32.48/arch/x86/ke =20 NEXT_PAGE(level2_kernel_pgt) /* -@@ -390,33 +417,55 @@ NEXT_PAGE(level2_kernel_pgt) +@@ -389,33 +416,55 @@ NEXT_PAGE(level2_kernel_pgt) * If you want to increase this then increase MODULES_VADDR * too.) */ @@ -15716,9 +14005,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/head_6= 4.S linux-2.6.32.48/arch/x86/ke =20 __PAGE_ALIGNED_BSS .align PAGE_SIZE -diff -urNp linux-2.6.32.48/arch/x86/kernel/i386_ksyms_32.c linux-2.6.32.= 48/arch/x86/kernel/i386_ksyms_32.c ---- linux-2.6.32.48/arch/x86/kernel/i386_ksyms_32.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/i386_ksyms_32.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/i386_ksyms_32.c linux-3.0.8/arch/= x86/kernel/i386_ksyms_32.c +--- linux-3.0.8/arch/x86/kernel/i386_ksyms_32.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/kernel/i386_ksyms_32.c 2011-08-23 21:47:55.0000= 00000 -0400 @@ -20,8 +20,12 @@ extern void cmpxchg8b_emu(void); EXPORT_SYMBOL(cmpxchg8b_emu); #endif @@ -15740,10 +14029,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/i386= _ksyms_32.c linux-2.6.32.48/arch/ +#ifdef CONFIG_PAX_KERNEXEC +EXPORT_SYMBOL(__LOAD_PHYSICAL_ADDR); +#endif -diff -urNp linux-2.6.32.48/arch/x86/kernel/i8259.c linux-2.6.32.48/arch/= x86/kernel/i8259.c ---- linux-2.6.32.48/arch/x86/kernel/i8259.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/i8259.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -208,7 +208,7 @@ spurious_8259A_irq: +diff -urNp linux-3.0.8/arch/x86/kernel/i8259.c linux-3.0.8/arch/x86/kern= el/i8259.c +--- linux-3.0.8/arch/x86/kernel/i8259.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/x86/kernel/i8259.c 2011-08-23 21:47:55.000000000 -0= 400 +@@ -210,7 +210,7 @@ spurious_8259A_irq: "spurious 8259A interrupt: IRQ%d.\n", irq); spurious_irq_mask |=3D irqmask; } @@ -15752,9 +14041,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/i8259.= c linux-2.6.32.48/arch/x86/kern /* * Theoretically we do not have to handle this IRQ, * but in Linux this does not cause problems and is -diff -urNp linux-2.6.32.48/arch/x86/kernel/init_task.c linux-2.6.32.48/a= rch/x86/kernel/init_task.c ---- linux-2.6.32.48/arch/x86/kernel/init_task.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/init_task.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/init_task.c linux-3.0.8/arch/x86/= kernel/init_task.c +--- linux-3.0.8/arch/x86/kernel/init_task.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/kernel/init_task.c 2011-08-23 21:47:55.00000000= 0 -0400 @@ -20,8 +20,7 @@ static struct sighand_struct init_sighan * way process stacks are handled. This is done by having a special * "init_task" linker map entry.. @@ -15773,9 +14062,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/init_t= ask.c linux-2.6.32.48/arch/x86/ - +struct tss_struct init_tss[NR_CPUS] ____cacheline_internodealigned_in_s= mp =3D { [0 ... NR_CPUS-1] =3D INIT_TSS }; +EXPORT_SYMBOL(init_tss); -diff -urNp linux-2.6.32.48/arch/x86/kernel/ioport.c linux-2.6.32.48/arch= /x86/kernel/ioport.c ---- linux-2.6.32.48/arch/x86/kernel/ioport.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/ioport.c 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/ioport.c linux-3.0.8/arch/x86/ker= nel/ioport.c +--- linux-3.0.8/arch/x86/kernel/ioport.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/kernel/ioport.c 2011-08-23 21:48:14.000000000 -= 0400 @@ -6,6 +6,7 @@ #include #include @@ -15784,7 +14073,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ioport= .c linux-2.6.32.48/arch/x86/ker #include #include #include -@@ -41,6 +42,12 @@ asmlinkage long sys_ioperm(unsigned long +@@ -28,6 +29,12 @@ asmlinkage long sys_ioperm(unsigned long =20 if ((from + num <=3D from) || (from + num > IO_BITMAP_BITS)) return -EINVAL; @@ -15797,16 +14086,16 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/iopo= rt.c linux-2.6.32.48/arch/x86/ker if (turn_on && !capable(CAP_SYS_RAWIO)) return -EPERM; =20 -@@ -67,7 +74,7 @@ asmlinkage long sys_ioperm(unsigned long +@@ -54,7 +61,7 @@ asmlinkage long sys_ioperm(unsigned long * because the ->io_bitmap_max value must match the bitmap * contents: */ - tss =3D &per_cpu(init_tss, get_cpu()); + tss =3D init_tss + get_cpu(); =20 - set_bitmap(t->io_bitmap_ptr, from, num, !turn_on); -=20 -@@ -111,6 +118,12 @@ static int do_iopl(unsigned int level, s + if (turn_on) + bitmap_clear(t->io_bitmap_ptr, from, num); +@@ -102,6 +109,12 @@ long sys_iopl(unsigned int level, struct return -EINVAL; /* Trying to gain more privileges? */ if (level > old) { @@ -15819,10 +14108,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/iopo= rt.c linux-2.6.32.48/arch/x86/ker if (!capable(CAP_SYS_RAWIO)) return -EPERM; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/irq_32.c linux-2.6.32.48/arch= /x86/kernel/irq_32.c ---- linux-2.6.32.48/arch/x86/kernel/irq_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/irq_32.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -35,7 +35,7 @@ static int check_stack_overflow(void) +diff -urNp linux-3.0.8/arch/x86/kernel/irq_32.c linux-3.0.8/arch/x86/ker= nel/irq_32.c +--- linux-3.0.8/arch/x86/kernel/irq_32.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/kernel/irq_32.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -36,7 +36,7 @@ static int check_stack_overflow(void) __asm__ __volatile__("andl %%esp,%0" : "=3Dr" (sp) : "0" (THREAD_SIZE - 1)); =20 @@ -15831,20 +14120,18 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq_= 32.c linux-2.6.32.48/arch/x86/ker } =20 static void print_stack_overflow(void) -@@ -54,9 +54,9 @@ static inline void print_stack_overflow( +@@ -54,8 +54,8 @@ static inline void print_stack_overflow( * per-CPU IRQ handling contexts (thread information and stack) */ union irq_ctx { - struct thread_info tinfo; - u32 stack[THREAD_SIZE/sizeof(u32)]; --} __attribute__((aligned(PAGE_SIZE))); + unsigned long previous_esp; + u32 stack[THREAD_SIZE/sizeof(u32)]; -+} __attribute__((aligned(THREAD_SIZE))); + } __attribute__((aligned(THREAD_SIZE))); =20 static DEFINE_PER_CPU(union irq_ctx *, hardirq_ctx); - static DEFINE_PER_CPU(union irq_ctx *, softirq_ctx); -@@ -78,10 +78,9 @@ static void call_on_stack(void *func, vo +@@ -75,10 +75,9 @@ static void call_on_stack(void *func, vo static inline int execute_on_irq_stack(int overflow, struct irq_desc *desc, int irq) { @@ -15853,10 +14140,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq_= 32.c linux-2.6.32.48/arch/x86/ker u32 *isp, arg1, arg2; =20 - curctx =3D (union irq_ctx *) current_thread_info(); - irqctx =3D __get_cpu_var(hardirq_ctx); + irqctx =3D __this_cpu_read(hardirq_ctx); =20 /* -@@ -90,21 +89,16 @@ execute_on_irq_stack(int overflow, struc +@@ -87,21 +86,16 @@ execute_on_irq_stack(int overflow, struc * handler) we can't do that and just have to keep using the * current stack (which is the irq stack already after all) */ @@ -15884,7 +14171,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq_32= .c linux-2.6.32.48/arch/x86/ker =20 if (unlikely(overflow)) call_on_stack(print_stack_overflow, isp); -@@ -116,6 +110,11 @@ execute_on_irq_stack(int overflow, struc +@@ -113,6 +107,11 @@ execute_on_irq_stack(int overflow, struc : "0" (irq), "1" (desc), "2" (isp), "D" (desc->handle_irq) : "memory", "cc", "ecx"); @@ -15896,7 +14183,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq_32= .c linux-2.6.32.48/arch/x86/ker return 1; } =20 -@@ -124,28 +123,11 @@ execute_on_irq_stack(int overflow, struc +@@ -121,29 +120,11 @@ execute_on_irq_stack(int overflow, struc */ void __cpuinit irq_ctx_init(int cpu) { @@ -15905,29 +14192,30 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq_= 32.c linux-2.6.32.48/arch/x86/ker if (per_cpu(hardirq_ctx, cpu)) return; =20 -- irqctx =3D &per_cpu(hardirq_stack, cpu); -- irqctx->tinfo.task =3D NULL; -- irqctx->tinfo.exec_domain =3D NULL; +- irqctx =3D page_address(alloc_pages_node(cpu_to_node(cpu), +- THREAD_FLAGS, +- THREAD_ORDER)); +- memset(&irqctx->tinfo, 0, sizeof(struct thread_info)); - irqctx->tinfo.cpu =3D cpu; - irqctx->tinfo.preempt_count =3D HARDIRQ_OFFSET; - irqctx->tinfo.addr_limit =3D MAKE_MM_SEG(0); - - per_cpu(hardirq_ctx, cpu) =3D irqctx; - -- irqctx =3D &per_cpu(softirq_stack, cpu); -- irqctx->tinfo.task =3D NULL; -- irqctx->tinfo.exec_domain =3D NULL; +- irqctx =3D page_address(alloc_pages_node(cpu_to_node(cpu), +- THREAD_FLAGS, +- THREAD_ORDER)); +- memset(&irqctx->tinfo, 0, sizeof(struct thread_info)); - irqctx->tinfo.cpu =3D cpu; -- irqctx->tinfo.preempt_count =3D 0; - irqctx->tinfo.addr_limit =3D MAKE_MM_SEG(0); - - per_cpu(softirq_ctx, cpu) =3D irqctx; -+ per_cpu(hardirq_ctx, cpu) =3D &per_cpu(hardirq_stack, cpu); -+ per_cpu(softirq_ctx, cpu) =3D &per_cpu(softirq_stack, cpu); ++ per_cpu(hardirq_ctx, cpu) =3D page_address(alloc_pages_node(cpu_to_nod= e(cpu), THREAD_FLAGS, THREAD_ORDER)); ++ per_cpu(softirq_ctx, cpu) =3D page_address(alloc_pages_node(cpu_to_nod= e(cpu), THREAD_FLAGS, THREAD_ORDER)); =20 printk(KERN_DEBUG "CPU %u irqstacks, hard=3D%p soft=3D%p\n", cpu, per_cpu(hardirq_ctx, cpu), per_cpu(softirq_ctx, cpu)); -@@ -159,7 +141,6 @@ void irq_ctx_exit(int cpu) +@@ -152,7 +133,6 @@ void __cpuinit irq_ctx_init(int cpu) asmlinkage void do_softirq(void) { unsigned long flags; @@ -15935,12 +14223,12 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq_= 32.c linux-2.6.32.48/arch/x86/ker union irq_ctx *irqctx; u32 *isp; =20 -@@ -169,15 +150,22 @@ asmlinkage void do_softirq(void) +@@ -162,15 +142,22 @@ asmlinkage void do_softirq(void) local_irq_save(flags); =20 if (local_softirq_pending()) { - curctx =3D current_thread_info(); - irqctx =3D __get_cpu_var(softirq_ctx); + irqctx =3D __this_cpu_read(softirq_ctx); - irqctx->tinfo.task =3D curctx->task; - irqctx->tinfo.previous_esp =3D current_stack_pointer; + irqctx->previous_esp =3D current_stack_pointer; @@ -15960,12 +14248,12 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq_= 32.c linux-2.6.32.48/arch/x86/ker +#endif + /* - * Shouldnt happen, we returned above if in_interrupt(): + * Shouldn't happen, we returned above if in_interrupt(): */ -diff -urNp linux-2.6.32.48/arch/x86/kernel/irq.c linux-2.6.32.48/arch/x8= 6/kernel/irq.c ---- linux-2.6.32.48/arch/x86/kernel/irq.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/kernel/irq.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -15,7 +15,7 @@ +diff -urNp linux-3.0.8/arch/x86/kernel/irq.c linux-3.0.8/arch/x86/kernel= /irq.c +--- linux-3.0.8/arch/x86/kernel/irq.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/kernel/irq.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -17,7 +17,7 @@ #include #include =20 @@ -15973,8 +14261,8 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq.c = linux-2.6.32.48/arch/x86/kernel +atomic_unchecked_t irq_err_count; =20 /* Function pointer for generic interrupt vector handling */ - void (*generic_interrupt_extension)(void) =3D NULL; -@@ -114,9 +114,9 @@ static int show_other_interrupts(struct=20 + void (*x86_platform_ipi_callback)(void) =3D NULL; +@@ -116,9 +116,9 @@ int arch_show_interrupts(struct seq_file seq_printf(p, "%10u ", per_cpu(mce_poll_count, j)); seq_printf(p, " Machine check polls\n"); #endif @@ -15986,7 +14274,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq.c = linux-2.6.32.48/arch/x86/kernel #endif return 0; } -@@ -209,10 +209,10 @@ u64 arch_irq_stat_cpu(unsigned int cpu) +@@ -158,10 +158,10 @@ u64 arch_irq_stat_cpu(unsigned int cpu) =20 u64 arch_irq_stat(void) { @@ -15999,11 +14287,25 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/irq.= c linux-2.6.32.48/arch/x86/kernel #endif return sum; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/kgdb.c linux-2.6.32.48/arch/x= 86/kernel/kgdb.c ---- linux-2.6.32.48/arch/x86/kernel/kgdb.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/kernel/kgdb.c 2011-11-12 12:46:42.000000000= -0500 -@@ -390,13 +390,13 @@ int kgdb_arch_handle_exception(int e_vec -=20 +diff -urNp linux-3.0.8/arch/x86/kernel/kgdb.c linux-3.0.8/arch/x86/kerne= l/kgdb.c +--- linux-3.0.8/arch/x86/kernel/kgdb.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/kernel/kgdb.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -124,11 +124,11 @@ char *dbg_get_reg(int regno, void *mem,=20 + #ifdef CONFIG_X86_32 + switch (regno) { + case GDB_SS: +- if (!user_mode_vm(regs)) ++ if (!user_mode(regs)) + *(unsigned long *)mem =3D __KERNEL_DS; + break; + case GDB_SP: +- if (!user_mode_vm(regs)) ++ if (!user_mode(regs)) + *(unsigned long *)mem =3D kernel_stack_pointer(regs); + break; + case GDB_GS: +@@ -473,12 +473,12 @@ int kgdb_arch_handle_exception(int e_vec + case 'k': /* clear the trace bit */ linux_regs->flags &=3D ~X86_EFLAGS_TF; - atomic_set(&kgdb_cpu_doing_single_step, -1); @@ -16012,49 +14314,36 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kgdb= .c linux-2.6.32.48/arch/x86/kerne /* set the trace bit if we're stepping */ if (remcomInBuffer[0] =3D=3D 's') { linux_regs->flags |=3D X86_EFLAGS_TF; - kgdb_single_step =3D 1; - atomic_set(&kgdb_cpu_doing_single_step, + atomic_set_unchecked(&kgdb_cpu_doing_single_step, raw_smp_processor_id()); } =20 -@@ -476,7 +476,7 @@ static int __kgdb_notify(struct die_args - break; +@@ -534,7 +534,7 @@ static int __kgdb_notify(struct die_args + return NOTIFY_DONE; =20 case DIE_DEBUG: -- if (atomic_read(&kgdb_cpu_doing_single_step) =3D=3D -+ if (atomic_read_unchecked(&kgdb_cpu_doing_single_step) =3D=3D - raw_smp_processor_id()) { +- if (atomic_read(&kgdb_cpu_doing_single_step) !=3D -1) { ++ if (atomic_read_unchecked(&kgdb_cpu_doing_single_step) !=3D -1) { if (user_mode(regs)) return single_step_cont(regs, args); -@@ -573,7 +573,7 @@ unsigned long kgdb_arch_pc(int exception - return instruction_pointer(regs); - } -=20 --struct kgdb_arch arch_kgdb_ops =3D { -+const struct kgdb_arch arch_kgdb_ops =3D { - /* Breakpoint instruction: */ - .gdb_bpt_instr =3D { 0xcc }, - .flags =3D KGDB_HW_BREAKPOINT, -diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobes.c linux-2.6.32.48/arc= h/x86/kernel/kprobes.c ---- linux-2.6.32.48/arch/x86/kernel/kprobes.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/kprobes.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -168,9 +168,13 @@ static void __kprobes set_jmp_op(void *f - char op; - s32 raddr; - } __attribute__((packed)) * jop; -- jop =3D (struct __arch_jmp_op *)from; -+ -+ jop =3D (struct __arch_jmp_op *)(ktla_ktva(from)); + break; +diff -urNp linux-3.0.8/arch/x86/kernel/kprobes.c linux-3.0.8/arch/x86/ke= rnel/kprobes.c +--- linux-3.0.8/arch/x86/kernel/kprobes.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/kernel/kprobes.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -115,8 +115,11 @@ static void __kprobes __synthesize_relat + } __attribute__((packed)) *insn; +=20 + insn =3D (struct __arch_relative_insn *)from; + + pax_open_kernel(); - jop->raddr =3D (s32)((long)(to) - ((long)(from) + 5)); - jop->op =3D RELATIVEJUMP_INSTRUCTION; + insn->raddr =3D (s32)((long)(to) - ((long)(from) + 5)); + insn->op =3D op; + pax_close_kernel(); } =20 - /* -@@ -195,7 +199,7 @@ static int __kprobes can_boost(kprobe_op + /* Insert a jump instruction at address 'from', which jumps to address = 'to'.*/ +@@ -153,7 +156,7 @@ static int __kprobes can_boost(kprobe_op kprobe_opcode_t opcode; kprobe_opcode_t *orig_opcodes =3D opcodes; =20 @@ -16063,26 +14352,29 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kpro= bes.c linux-2.6.32.48/arch/x86/ke return 0; /* Page fault may occur on this address. */ =20 retry: -@@ -339,7 +343,9 @@ static void __kprobes fix_riprel(struct=20 - disp =3D (u8 *) p->addr + *((s32 *) insn) - - (u8 *) p->ainsn.insn; - BUG_ON((s64) (s32) disp !=3D disp); /* Sanity check. */ -+ pax_open_kernel(); - *(s32 *)insn =3D (s32) disp; -+ pax_close_kernel(); +@@ -314,7 +317,9 @@ static int __kprobes __copy_instruction( } } - #endif -@@ -347,16 +353,18 @@ static void __kprobes fix_riprel(struct=20 -=20 - static void __kprobes arch_copy_kprobe(struct kprobe *p) - { -- memcpy(p->ainsn.insn, p->addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t)= ); + insn_get_length(&insn); + pax_open_kernel(); -+ memcpy(p->ainsn.insn, ktla_ktva(p->addr), MAX_INSN_SIZE * sizeof(kprob= e_opcode_t)); + memcpy(dest, insn.kaddr, insn.length); + pax_close_kernel(); =20 - fix_riprel(p); + #ifdef CONFIG_X86_64 + if (insn_rip_relative(&insn)) { +@@ -338,7 +343,9 @@ static int __kprobes __copy_instruction( + (u8 *) dest; + BUG_ON((s64) (s32) newdisp !=3D newdisp); /* Sanity check. */ + disp =3D (u8 *) dest + insn_offset_displacement(&insn); ++ pax_open_kernel(); + *(s32 *) disp =3D (s32) newdisp; ++ pax_close_kernel(); + } + #endif + return insn.length; +@@ -352,12 +359,12 @@ static void __kprobes arch_copy_kprobe(s + */ + __copy_instruction(p->ainsn.insn, p->addr, 0); =20 - if (can_boost(p->addr)) + if (can_boost(ktla_ktva(p->addr))) @@ -16095,7 +14387,16 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprob= es.c linux-2.6.32.48/arch/x86/ke } =20 int __kprobes arch_prepare_kprobe(struct kprobe *p) -@@ -434,7 +442,7 @@ static void __kprobes prepare_singlestep +@@ -474,7 +481,7 @@ static void __kprobes setup_singlestep(s + * nor set current_kprobe, because it doesn't use single + * stepping. + */ +- regs->ip =3D (unsigned long)p->ainsn.insn; ++ regs->ip =3D ktva_ktla((unsigned long)p->ainsn.insn); + preempt_enable_no_resched(); + return; + } +@@ -493,7 +500,7 @@ static void __kprobes setup_singlestep(s if (p->opcode =3D=3D BREAKPOINT_INSTRUCTION) regs->ip =3D (unsigned long)p->addr; else @@ -16103,26 +14404,27 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kpro= bes.c linux-2.6.32.48/arch/x86/ke + regs->ip =3D ktva_ktla((unsigned long)p->ainsn.insn); } =20 - void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri, -@@ -455,7 +463,7 @@ static void __kprobes setup_singlestep(s - if (p->ainsn.boostable =3D=3D 1 && !p->post_handler) { - /* Boost up -- we can execute copied instructions directly */ - reset_current_kprobe(); -- regs->ip =3D (unsigned long)p->ainsn.insn; -+ regs->ip =3D ktva_ktla((unsigned long)p->ainsn.insn); - preempt_enable_no_resched(); - return; - } -@@ -525,7 +533,7 @@ static int __kprobes kprobe_handler(stru - struct kprobe_ctlblk *kcb; -=20 - addr =3D (kprobe_opcode_t *)(regs->ip - sizeof(kprobe_opcode_t)); -- if (*addr !=3D BREAKPOINT_INSTRUCTION) { -+ if (*(kprobe_opcode_t *)ktla_ktva((unsigned long)addr) !=3D BREAKPOINT= _INSTRUCTION) { + /* +@@ -572,7 +579,7 @@ static int __kprobes kprobe_handler(stru + setup_singlestep(p, regs, kcb, 0); + return 1; + } +- } else if (*addr !=3D BREAKPOINT_INSTRUCTION) { ++ } else if (*(kprobe_opcode_t *)ktla_ktva((unsigned long)addr) !=3D BRE= AKPOINT_INSTRUCTION) { /* * The breakpoint instruction was removed right * after we hit it. Another cpu has removed -@@ -777,7 +785,7 @@ static void __kprobes resume_execution(s +@@ -680,6 +687,9 @@ static void __used __kprobes kretprobe_t + " movq %rax, 152(%rsp)\n" + RESTORE_REGS_STRING + " popfq\n" ++#ifdef CONFIG_PAX_KERNEXEC_PLUGIN ++ " btsq $63,(%rsp)\n" ++#endif + #else + " pushf\n" + SAVE_REGS_STRING +@@ -817,7 +827,7 @@ static void __kprobes resume_execution(s struct pt_regs *regs, struct kprobe_ctlblk *kcb) { unsigned long *tos =3D stack_addr(regs); @@ -16131,7 +14433,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kprobe= s.c linux-2.6.32.48/arch/x86/ke unsigned long orig_ip =3D (unsigned long)p->addr; kprobe_opcode_t *insn =3D p->ainsn.insn; =20 -@@ -960,7 +968,7 @@ int __kprobes kprobe_exceptions_notify(s +@@ -999,7 +1009,7 @@ int __kprobes kprobe_exceptions_notify(s struct die_args *args =3D data; int ret =3D NOTIFY_DONE; =20 @@ -16140,10 +14442,42 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kpro= bes.c linux-2.6.32.48/arch/x86/ke return ret; =20 switch (val) { -diff -urNp linux-2.6.32.48/arch/x86/kernel/kvm.c linux-2.6.32.48/arch/x8= 6/kernel/kvm.c ---- linux-2.6.32.48/arch/x86/kernel/kvm.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/kernel/kvm.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -216,6 +216,7 @@ static void __init paravirt_ops_setup(vo +@@ -1381,7 +1391,7 @@ int __kprobes arch_prepare_optimized_kpr + * Verify if the address gap is in 2GB range, because this uses + * a relative jump. + */ +- rel =3D (long)op->optinsn.insn - (long)op->kp.addr + RELATIVEJUMP_SIZE= ; ++ rel =3D (long)op->optinsn.insn - ktla_ktva((long)op->kp.addr) + RELATI= VEJUMP_SIZE; + if (abs(rel) > 0x7fffffff) + return -ERANGE; +=20 +@@ -1402,11 +1412,11 @@ int __kprobes arch_prepare_optimized_kpr + synthesize_set_arg1(buf + TMPL_MOVE_IDX, (unsigned long)op); +=20 + /* Set probe function call */ +- synthesize_relcall(buf + TMPL_CALL_IDX, optimized_callback); ++ synthesize_relcall(buf + TMPL_CALL_IDX, ktla_ktva(optimized_callback))= ; +=20 + /* Set returning jmp instruction at the tail of out-of-line buffer */ + synthesize_reljump(buf + TMPL_END_IDX + op->optinsn.size, +- (u8 *)op->kp.addr + op->optinsn.size); ++ (u8 *)ktla_ktva(op->kp.addr) + op->optinsn.size); +=20 + flush_icache_range((unsigned long) buf, + (unsigned long) buf + TMPL_END_IDX + +@@ -1428,7 +1438,7 @@ static void __kprobes setup_optimize_kpr + ((long)op->kp.addr + RELATIVEJUMP_SIZE)); +=20 + /* Backup instructions which will be replaced by jump address */ +- memcpy(op->optinsn.copied_insn, op->kp.addr + INT3_SIZE, ++ memcpy(op->optinsn.copied_insn, ktla_ktva(op->kp.addr) + INT3_SIZE, + RELATIVE_ADDR_SIZE); +=20 + insn_buf[0] =3D RELATIVEJUMP_OPCODE; +diff -urNp linux-3.0.8/arch/x86/kernel/kvm.c linux-3.0.8/arch/x86/kernel= /kvm.c +--- linux-3.0.8/arch/x86/kernel/kvm.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/kernel/kvm.c 2011-08-24 18:10:12.000000000 -040= 0 +@@ -426,6 +426,7 @@ static void __init paravirt_ops_setup(vo pv_mmu_ops.set_pud =3D kvm_set_pud; #if PAGETABLE_LEVELS =3D=3D 4 pv_mmu_ops.set_pgd =3D kvm_set_pgd; @@ -16151,10 +14485,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/kvm.= c linux-2.6.32.48/arch/x86/kernel #endif #endif pv_mmu_ops.flush_tlb_user =3D kvm_flush_tlb; -diff -urNp linux-2.6.32.48/arch/x86/kernel/ldt.c linux-2.6.32.48/arch/x8= 6/kernel/ldt.c ---- linux-2.6.32.48/arch/x86/kernel/ldt.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/kernel/ldt.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -66,13 +66,13 @@ static int alloc_ldt(mm_context_t *pc, i +diff -urNp linux-3.0.8/arch/x86/kernel/ldt.c linux-3.0.8/arch/x86/kernel= /ldt.c +--- linux-3.0.8/arch/x86/kernel/ldt.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/kernel/ldt.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -67,13 +67,13 @@ static int alloc_ldt(mm_context_t *pc, i if (reload) { #ifdef CONFIG_SMP preempt_disable(); @@ -16170,7 +14504,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ldt.c = linux-2.6.32.48/arch/x86/kernel #endif } if (oldsize) { -@@ -94,7 +94,7 @@ static inline int copy_ldt(mm_context_t=20 +@@ -95,7 +95,7 @@ static inline int copy_ldt(mm_context_t=20 return err; =20 for (i =3D 0; i < old->size; i++) @@ -16179,7 +14513,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ldt.c = linux-2.6.32.48/arch/x86/kernel return 0; } =20 -@@ -115,6 +115,24 @@ int init_new_context(struct task_struct=20 +@@ -116,6 +116,24 @@ int init_new_context(struct task_struct=20 retval =3D copy_ldt(&mm->context, &old_mm->context); mutex_unlock(&old_mm->context.lock); } @@ -16204,7 +14538,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ldt.c = linux-2.6.32.48/arch/x86/kernel return retval; } =20 -@@ -229,6 +247,13 @@ static int write_ldt(void __user *ptr, u +@@ -230,6 +248,13 @@ static int write_ldt(void __user *ptr, u } } =20 @@ -16218,19 +14552,19 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/ldt.= c linux-2.6.32.48/arch/x86/kernel fill_ldt(&ldt, &ldt_info); if (oldmode) ldt.avl =3D 0; -diff -urNp linux-2.6.32.48/arch/x86/kernel/machine_kexec_32.c linux-2.6.= 32.48/arch/x86/kernel/machine_kexec_32.c ---- linux-2.6.32.48/arch/x86/kernel/machine_kexec_32.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/machine_kexec_32.c 2011-11-12 12:46:= 42.000000000 -0500 -@@ -26,7 +26,7 @@ - #include +diff -urNp linux-3.0.8/arch/x86/kernel/machine_kexec_32.c linux-3.0.8/ar= ch/x86/kernel/machine_kexec_32.c +--- linux-3.0.8/arch/x86/kernel/machine_kexec_32.c 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/machine_kexec_32.c 2011-08-23 21:47:55.0= 00000000 -0400 +@@ -27,7 +27,7 @@ #include + #include =20 -static void set_idt(void *newidt, __u16 limit) +static void set_idt(struct desc_struct *newidt, __u16 limit) { struct desc_ptr curidt; =20 -@@ -38,7 +38,7 @@ static void set_idt(void *newidt, __u16=20 +@@ -39,7 +39,7 @@ static void set_idt(void *newidt, __u16=20 } =20 =20 @@ -16248,43 +14582,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/mach= ine_kexec_32.c linux-2.6.32.48/ar =20 relocate_kernel_ptr =3D control_page; page_list[PA_CONTROL_PAGE] =3D __pa(control_page); -diff -urNp linux-2.6.32.48/arch/x86/kernel/microcode_amd.c linux-2.6.32.= 48/arch/x86/kernel/microcode_amd.c ---- linux-2.6.32.48/arch/x86/kernel/microcode_amd.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/microcode_amd.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -364,7 +364,7 @@ static void microcode_fini_cpu_amd(int c - uci->mc =3D NULL; - } -=20 --static struct microcode_ops microcode_amd_ops =3D { -+static const struct microcode_ops microcode_amd_ops =3D { - .request_microcode_user =3D request_microcode_user, - .request_microcode_fw =3D request_microcode_fw, - .collect_cpu_info =3D collect_cpu_info_amd, -@@ -372,7 +372,7 @@ static struct microcode_ops microcode_am - .microcode_fini_cpu =3D microcode_fini_cpu_amd, - }; -=20 --struct microcode_ops * __init init_amd_microcode(void) -+const struct microcode_ops * __init init_amd_microcode(void) - { - return µcode_amd_ops; - } -diff -urNp linux-2.6.32.48/arch/x86/kernel/microcode_core.c linux-2.6.32= .48/arch/x86/kernel/microcode_core.c ---- linux-2.6.32.48/arch/x86/kernel/microcode_core.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/microcode_core.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -90,7 +90,7 @@ MODULE_LICENSE("GPL"); -=20 - #define MICROCODE_VERSION "2.00" -=20 --static struct microcode_ops *microcode_ops; -+static const struct microcode_ops *microcode_ops; -=20 - /* - * Synchronization. -diff -urNp linux-2.6.32.48/arch/x86/kernel/microcode_intel.c linux-2.6.3= 2.48/arch/x86/kernel/microcode_intel.c ---- linux-2.6.32.48/arch/x86/kernel/microcode_intel.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/microcode_intel.c 2011-11-12 12:46:4= 2.000000000 -0500 -@@ -443,13 +443,13 @@ static enum ucode_state request_microcod +diff -urNp linux-3.0.8/arch/x86/kernel/microcode_intel.c linux-3.0.8/arc= h/x86/kernel/microcode_intel.c +--- linux-3.0.8/arch/x86/kernel/microcode_intel.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/microcode_intel.c 2011-10-06 04:17:55.00= 0000000 -0400 +@@ -440,13 +440,13 @@ static enum ucode_state request_microcod =20 static int get_ucode_user(void *to, const void *from, size_t n) { @@ -16300,45 +14601,24 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/micr= ocode_intel.c linux-2.6.32.48/arc } =20 static void microcode_fini_cpu(int cpu) -@@ -460,7 +460,7 @@ static void microcode_fini_cpu(int cpu) - uci->mc =3D NULL; - } -=20 --static struct microcode_ops microcode_intel_ops =3D { -+static const struct microcode_ops microcode_intel_ops =3D { - .request_microcode_user =3D request_microcode_user, - .request_microcode_fw =3D request_microcode_fw, - .collect_cpu_info =3D collect_cpu_info, -@@ -468,7 +468,7 @@ static struct microcode_ops microcode_in - .microcode_fini_cpu =3D microcode_fini_cpu, - }; -=20 --struct microcode_ops * __init init_intel_microcode(void) -+const struct microcode_ops * __init init_intel_microcode(void) - { - return µcode_intel_ops; - } -diff -urNp linux-2.6.32.48/arch/x86/kernel/module.c linux-2.6.32.48/arch= /x86/kernel/module.c ---- linux-2.6.32.48/arch/x86/kernel/module.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/module.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -34,7 +34,7 @@ +diff -urNp linux-3.0.8/arch/x86/kernel/module.c linux-3.0.8/arch/x86/ker= nel/module.c +--- linux-3.0.8/arch/x86/kernel/module.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/kernel/module.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -36,21 +36,66 @@ #define DEBUGP(fmt...) #endif =20 -void *module_alloc(unsigned long size) -+static void *__module_alloc(unsigned long size, pgprot_t prot) ++static inline void *__module_alloc(unsigned long size, pgprot_t prot) { - struct vm_struct *area; -=20 -@@ -48,8 +48,18 @@ void *module_alloc(unsigned long size) - if (!area) + if (PAGE_ALIGN(size) > MODULES_LEN) return NULL; + return __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END, +- GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC, ++ GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO, prot, + -1, __builtin_return_address(0)); + } =20 -- return __vmalloc_area(area, GFP_KERNEL | __GFP_HIGHMEM, -- PAGE_KERNEL_EXEC); -+ return __vmalloc_area(area, GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO, p= rot); -+} -+ +void *module_alloc(unsigned long size) +{ + @@ -16348,10 +14628,11 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/modu= le.c linux-2.6.32.48/arch/x86/ker + return __module_alloc(size, PAGE_KERNEL_EXEC); +#endif + - } -=20 ++} ++ /* Free memory returned from module_alloc */ -@@ -58,6 +68,40 @@ void module_free(struct module *mod, voi + void module_free(struct module *mod, void *module_region) + { vfree(module_region); } =20 @@ -16392,7 +14673,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/module= .c linux-2.6.32.48/arch/x86/ker /* We don't need anything special. */ int module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs, -@@ -77,14 +121,16 @@ int apply_relocate(Elf32_Shdr *sechdrs, +@@ -70,14 +115,16 @@ int apply_relocate(Elf32_Shdr *sechdrs, unsigned int i; Elf32_Rel *rel =3D (void *)sechdrs[relsec].sh_addr; Elf32_Sym *sym; @@ -16412,7 +14693,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/module= .c linux-2.6.32.48/arch/x86/ker /* This is the symbol it is referring to. Note that all undefined symbols have been resolved. */ sym =3D (Elf32_Sym *)sechdrs[symindex].sh_addr -@@ -93,11 +139,15 @@ int apply_relocate(Elf32_Shdr *sechdrs, +@@ -86,11 +133,15 @@ int apply_relocate(Elf32_Shdr *sechdrs, switch (ELF32_R_TYPE(rel[i].r_info)) { case R_386_32: /* We add the value into the location given */ @@ -16430,7 +14711,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/module= .c linux-2.6.32.48/arch/x86/ker break; default: printk(KERN_ERR "module %s: Unknown relocation: %u\n", -@@ -153,21 +203,30 @@ int apply_relocate_add(Elf64_Shdr *sechd +@@ -146,21 +197,30 @@ int apply_relocate_add(Elf64_Shdr *sechd case R_X86_64_NONE: break; case R_X86_64_64: @@ -16461,9 +14742,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/module= .c linux-2.6.32.48/arch/x86/ker #if 0 if ((s64)val !=3D *(s32 *)loc) goto overflow; -diff -urNp linux-2.6.32.48/arch/x86/kernel/paravirt.c linux-2.6.32.48/ar= ch/x86/kernel/paravirt.c ---- linux-2.6.32.48/arch/x86/kernel/paravirt.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/paravirt.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/paravirt.c linux-3.0.8/arch/x86/k= ernel/paravirt.c +--- linux-3.0.8/arch/x86/kernel/paravirt.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/kernel/paravirt.c 2011-08-23 21:48:14.000000000= -0400 @@ -53,6 +53,9 @@ u64 _paravirt_ident_64(u64 x) { return x; @@ -16483,16 +14764,17 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/para= virt.c linux-2.6.32.48/arch/x86/k .pv_init_ops =3D pv_init_ops, .pv_time_ops =3D pv_time_ops, .pv_cpu_ops =3D pv_cpu_ops, -@@ -133,6 +136,8 @@ static void *get_call_destination(u8 typ +@@ -133,6 +136,9 @@ static void *get_call_destination(u8 typ .pv_lock_ops =3D pv_lock_ops, #endif }; + + pax_track_stack(); ++ return *((void **)&tmpl + type); } =20 -@@ -145,15 +150,19 @@ unsigned paravirt_patch_default(u8 type, +@@ -145,15 +151,19 @@ unsigned paravirt_patch_default(u8 type, if (opfunc =3D=3D NULL) /* If there's no function, patch it with a ud2a (BUG) */ ret =3D paravirt_patch_insns(insnbuf, len, ud2a, ud2a+sizeof(ud2a)); @@ -16507,15 +14789,15 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/para= virt.c linux-2.6.32.48/arch/x86/k ret =3D paravirt_patch_ident_32(insnbuf, len); - else if (opfunc =3D=3D _paravirt_ident_64) + else if (opfunc =3D=3D (void *)_paravirt_ident_64) -+ ret =3D paravirt_patch_ident_64(insnbuf, len); + ret =3D paravirt_patch_ident_64(insnbuf, len); +#if defined(CONFIG_X86_32) && defined(CONFIG_X86_PAE) + else if (opfunc =3D=3D (void *)__raw_callee_save__paravirt_ident_64) - ret =3D paravirt_patch_ident_64(insnbuf, len); ++ ret =3D paravirt_patch_ident_64(insnbuf, len); +#endif =20 else if (type =3D=3D PARAVIRT_PATCH(pv_cpu_ops.iret) || type =3D=3D PARAVIRT_PATCH(pv_cpu_ops.irq_enable_sysexit) || -@@ -178,7 +187,7 @@ unsigned paravirt_patch_insns(void *insn +@@ -178,7 +188,7 @@ unsigned paravirt_patch_insns(void *insn if (insn_len > len || start =3D=3D NULL) insn_len =3D len; else @@ -16524,7 +14806,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/paravi= rt.c linux-2.6.32.48/arch/x86/k =20 return insn_len; } -@@ -294,22 +303,22 @@ void arch_flush_lazy_mmu_mode(void) +@@ -294,22 +304,22 @@ void arch_flush_lazy_mmu_mode(void) preempt_enable(); } =20 @@ -16551,7 +14833,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/paravi= rt.c linux-2.6.32.48/arch/x86/k .save_fl =3D __PV_IS_CALLEE_SAVE(native_save_fl), .restore_fl =3D __PV_IS_CALLEE_SAVE(native_restore_fl), .irq_disable =3D __PV_IS_CALLEE_SAVE(native_irq_disable), -@@ -321,7 +330,7 @@ struct pv_irq_ops pv_irq_ops =3D { +@@ -321,7 +331,7 @@ struct pv_irq_ops pv_irq_ops =3D { #endif }; =20 @@ -16560,7 +14842,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/paravi= rt.c linux-2.6.32.48/arch/x86/k .cpuid =3D native_cpuid, .get_debugreg =3D native_get_debugreg, .set_debugreg =3D native_set_debugreg, -@@ -382,21 +391,26 @@ struct pv_cpu_ops pv_cpu_ops =3D { +@@ -382,21 +392,26 @@ struct pv_cpu_ops pv_cpu_ops =3D { .end_context_switch =3D paravirt_nop, }; =20 @@ -16590,7 +14872,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/paravi= rt.c linux-2.6.32.48/arch/x86/k =20 .read_cr2 =3D native_read_cr2, .write_cr2 =3D native_write_cr2, -@@ -448,6 +462,7 @@ struct pv_mmu_ops pv_mmu_ops =3D { +@@ -446,6 +461,7 @@ struct pv_mmu_ops pv_mmu_ops =3D { .make_pud =3D PTE_IDENT, =20 .set_pgd =3D native_set_pgd, @@ -16598,7 +14880,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/paravi= rt.c linux-2.6.32.48/arch/x86/k #endif #endif /* PAGETABLE_LEVELS >=3D 3 */ =20 -@@ -467,6 +482,12 @@ struct pv_mmu_ops pv_mmu_ops =3D { +@@ -465,6 +481,12 @@ struct pv_mmu_ops pv_mmu_ops =3D { }, =20 .set_fixmap =3D native_set_fixmap, @@ -16611,11 +14893,11 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/para= virt.c linux-2.6.32.48/arch/x86/k }; =20 EXPORT_SYMBOL_GPL(pv_time_ops); -diff -urNp linux-2.6.32.48/arch/x86/kernel/paravirt-spinlocks.c linux-2.= 6.32.48/arch/x86/kernel/paravirt-spinlocks.c ---- linux-2.6.32.48/arch/x86/kernel/paravirt-spinlocks.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/paravirt-spinlocks.c 2011-11-12 12:4= 6:42.000000000 -0500 -@@ -13,7 +13,7 @@ default_spin_lock_flags(raw_spinlock_t * - __raw_spin_lock(lock); +diff -urNp linux-3.0.8/arch/x86/kernel/paravirt-spinlocks.c linux-3.0.8/= arch/x86/kernel/paravirt-spinlocks.c +--- linux-3.0.8/arch/x86/kernel/paravirt-spinlocks.c 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/paravirt-spinlocks.c 2011-08-23 21:47:55= .000000000 -0400 +@@ -13,7 +13,7 @@ default_spin_lock_flags(arch_spinlock_t=20 + arch_spin_lock(lock); } =20 -struct pv_lock_ops pv_lock_ops =3D { @@ -16623,79 +14905,31 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/para= virt-spinlocks.c linux-2.6.32.48/ #ifdef CONFIG_SMP .spin_is_locked =3D __ticket_spin_is_locked, .spin_is_contended =3D __ticket_spin_is_contended, -diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-calgary_64.c linux-2.6.32= .48/arch/x86/kernel/pci-calgary_64.c ---- linux-2.6.32.48/arch/x86/kernel/pci-calgary_64.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/pci-calgary_64.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -477,7 +477,7 @@ static void calgary_free_coherent(struct - free_pages((unsigned long)vaddr, get_order(size)); - } -=20 --static struct dma_map_ops calgary_dma_ops =3D { -+static const struct dma_map_ops calgary_dma_ops =3D { - .alloc_coherent =3D calgary_alloc_coherent, - .free_coherent =3D calgary_free_coherent, - .map_sg =3D calgary_map_sg, -diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-dma.c linux-2.6.32.48/arc= h/x86/kernel/pci-dma.c ---- linux-2.6.32.48/arch/x86/kernel/pci-dma.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/pci-dma.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -14,7 +14,7 @@ -=20 - static int forbid_dac __read_mostly; -=20 --struct dma_map_ops *dma_ops; -+const struct dma_map_ops *dma_ops; - EXPORT_SYMBOL(dma_ops); -=20 - static int iommu_sac_force __read_mostly; -@@ -243,7 +243,7 @@ early_param("iommu", iommu_setup); -=20 - int dma_supported(struct device *dev, u64 mask) - { -- struct dma_map_ops *ops =3D get_dma_ops(dev); -+ const struct dma_map_ops *ops =3D get_dma_ops(dev); -=20 - #ifdef CONFIG_PCI - if (mask > 0xffffffff && forbid_dac > 0) { -diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-gart_64.c linux-2.6.32.48= /arch/x86/kernel/pci-gart_64.c ---- linux-2.6.32.48/arch/x86/kernel/pci-gart_64.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/pci-gart_64.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -682,7 +682,7 @@ static __init int init_k8_gatt(struct ag - return -1; - } +diff -urNp linux-3.0.8/arch/x86/kernel/pci-iommu_table.c linux-3.0.8/arc= h/x86/kernel/pci-iommu_table.c +--- linux-3.0.8/arch/x86/kernel/pci-iommu_table.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/pci-iommu_table.c 2011-08-23 21:48:14.00= 0000000 -0400 +@@ -2,7 +2,7 @@ + #include + #include + #include +- ++#include +=20 + #define DEBUG 1 +=20 +@@ -51,6 +51,8 @@ void __init check_iommu_entries(struct i + { + struct iommu_table_entry *p, *q, *x; =20 --static struct dma_map_ops gart_dma_ops =3D { -+static const struct dma_map_ops gart_dma_ops =3D { - .map_sg =3D gart_map_sg, - .unmap_sg =3D gart_unmap_sg, - .map_page =3D gart_map_page, -diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-nommu.c linux-2.6.32.48/a= rch/x86/kernel/pci-nommu.c ---- linux-2.6.32.48/arch/x86/kernel/pci-nommu.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/pci-nommu.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -94,7 +94,7 @@ static void nommu_sync_sg_for_device(str - flush_write_buffers(); - } -=20 --struct dma_map_ops nommu_dma_ops =3D { -+const struct dma_map_ops nommu_dma_ops =3D { - .alloc_coherent =3D dma_generic_alloc_coherent, - .free_coherent =3D nommu_free_coherent, - .map_sg =3D nommu_map_sg, -diff -urNp linux-2.6.32.48/arch/x86/kernel/pci-swiotlb.c linux-2.6.32.48= /arch/x86/kernel/pci-swiotlb.c ---- linux-2.6.32.48/arch/x86/kernel/pci-swiotlb.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/pci-swiotlb.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -25,7 +25,7 @@ static void *x86_swiotlb_alloc_coherent( - return swiotlb_alloc_coherent(hwdev, size, dma_handle, flags); - } -=20 --static struct dma_map_ops swiotlb_dma_ops =3D { -+static const struct dma_map_ops swiotlb_dma_ops =3D { - .mapping_error =3D swiotlb_dma_mapping_error, - .alloc_coherent =3D x86_swiotlb_alloc_coherent, - .free_coherent =3D swiotlb_free_coherent, -diff -urNp linux-2.6.32.48/arch/x86/kernel/process_32.c linux-2.6.32.48/= arch/x86/kernel/process_32.c ---- linux-2.6.32.48/arch/x86/kernel/process_32.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/process_32.c 2011-11-12 12:46:42.000= 000000 -0500 -@@ -67,6 +67,7 @@ asmlinkage void ret_from_fork(void) __as ++ pax_track_stack(); ++ + /* Simple cyclic dependency checker. */ + for (p =3D start; p < finish; p++) { + q =3D find_dependents_of(start, finish, p); +diff -urNp linux-3.0.8/arch/x86/kernel/process_32.c linux-3.0.8/arch/x86= /kernel/process_32.c +--- linux-3.0.8/arch/x86/kernel/process_32.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/kernel/process_32.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -65,6 +65,7 @@ asmlinkage void ret_from_fork(void) __as unsigned long thread_saved_pc(struct task_struct *tsk) { return ((unsigned long *)tsk->thread.sp)[3]; @@ -16703,9 +14937,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_32.c linux-2.6.32.48/arch/x86 } =20 #ifndef CONFIG_SMP -@@ -129,15 +130,14 @@ void __show_regs(struct pt_regs *regs, i +@@ -126,15 +127,14 @@ void __show_regs(struct pt_regs *regs, i + unsigned long sp; unsigned short ss, gs; - const char *board; =20 - if (user_mode_vm(regs)) { + if (user_mode(regs)) { @@ -16713,29 +14947,15 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proc= ess_32.c linux-2.6.32.48/arch/x86 ss =3D regs->ss & 0xffff; - gs =3D get_user_gs(regs); } else { - sp =3D (unsigned long) (®s->sp); + sp =3D kernel_stack_pointer(regs); savesegment(ss, ss); - savesegment(gs, gs); } + gs =3D get_user_gs(regs); =20 - printk("\n"); -=20 -@@ -210,10 +210,10 @@ int kernel_thread(int (*fn)(void *), voi - regs.bx =3D (unsigned long) fn; - regs.dx =3D (unsigned long) arg; + show_regs_common(); =20 -- regs.ds =3D __USER_DS; -- regs.es =3D __USER_DS; -+ regs.ds =3D __KERNEL_DS; -+ regs.es =3D __KERNEL_DS; - regs.fs =3D __KERNEL_PERCPU; -- regs.gs =3D __KERNEL_STACK_CANARY; -+ savesegment(gs, regs.gs); - regs.orig_ax =3D -1; - regs.ip =3D (unsigned long) kernel_thread_helper; - regs.cs =3D __KERNEL_CS | get_kernel_rpl(); -@@ -247,13 +247,14 @@ int copy_thread(unsigned long clone_flag +@@ -196,13 +196,14 @@ int copy_thread(unsigned long clone_flag struct task_struct *tsk; int err; =20 @@ -16751,7 +14971,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_32.c linux-2.6.32.48/arch/x86 =20 p->thread.ip =3D (unsigned long) ret_from_fork; =20 -@@ -345,7 +346,7 @@ __switch_to(struct task_struct *prev_p,=20 +@@ -292,7 +293,7 @@ __switch_to(struct task_struct *prev_p,=20 struct thread_struct *prev =3D &prev_p->thread, *next =3D &next_p->thread; int cpu =3D smp_processor_id(); @@ -16760,7 +14980,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_32.c linux-2.6.32.48/arch/x86 bool preload_fpu; =20 /* never put a printk in __switch_to... printk() calls wake_up*() indi= rectly */ -@@ -380,6 +381,10 @@ __switch_to(struct task_struct *prev_p,=20 +@@ -327,6 +328,10 @@ __switch_to(struct task_struct *prev_p,=20 */ lazy_save_gs(prev->gs); =20 @@ -16771,7 +14991,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_32.c linux-2.6.32.48/arch/x86 /* * Load the per-thread Thread-Local Storage descriptor. */ -@@ -415,6 +420,9 @@ __switch_to(struct task_struct *prev_p,=20 +@@ -362,6 +367,9 @@ __switch_to(struct task_struct *prev_p,=20 */ arch_end_context_switch(next_p); =20 @@ -16781,7 +15001,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_32.c linux-2.6.32.48/arch/x86 if (preload_fpu) __math_state_restore(); =20 -@@ -424,8 +432,6 @@ __switch_to(struct task_struct *prev_p,=20 +@@ -371,8 +379,6 @@ __switch_to(struct task_struct *prev_p,=20 if (prev->gs | next->gs) lazy_load_gs(next->gs); =20 @@ -16790,15 +15010,15 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proc= ess_32.c linux-2.6.32.48/arch/x86 return prev_p; } =20 -@@ -495,4 +501,3 @@ unsigned long get_wchan(struct task_stru +@@ -402,4 +408,3 @@ unsigned long get_wchan(struct task_stru } while (count++ < 16); return 0; } - -diff -urNp linux-2.6.32.48/arch/x86/kernel/process_64.c linux-2.6.32.48/= arch/x86/kernel/process_64.c ---- linux-2.6.32.48/arch/x86/kernel/process_64.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/process_64.c 2011-11-12 12:46:42.000= 000000 -0500 -@@ -91,7 +91,7 @@ static void __exit_idle(void) +diff -urNp linux-3.0.8/arch/x86/kernel/process_64.c linux-3.0.8/arch/x86= /kernel/process_64.c +--- linux-3.0.8/arch/x86/kernel/process_64.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/kernel/process_64.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -87,7 +87,7 @@ static void __exit_idle(void) void exit_idle(void) { /* idle loop has pid 0 */ @@ -16807,16 +15027,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proce= ss_64.c linux-2.6.32.48/arch/x86 return; __exit_idle(); } -@@ -170,7 +170,7 @@ void __show_regs(struct pt_regs *regs, i - if (!board) - board =3D ""; - printk(KERN_INFO "Pid: %d, comm: %.20s %s %s %.*s %s\n", -- current->pid, current->comm, print_tainted(), -+ task_pid_nr(current), current->comm, print_tainted(), - init_utsname()->release, - (int)strcspn(init_utsname()->version, " "), - init_utsname()->version, board); -@@ -280,8 +280,7 @@ int copy_thread(unsigned long clone_flag +@@ -260,8 +260,7 @@ int copy_thread(unsigned long clone_flag struct pt_regs *childregs; struct task_struct *me =3D current; =20 @@ -16826,7 +15037,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_64.c linux-2.6.32.48/arch/x86 *childregs =3D *regs; =20 childregs->ax =3D 0; -@@ -292,6 +291,7 @@ int copy_thread(unsigned long clone_flag +@@ -273,6 +272,7 @@ int copy_thread(unsigned long clone_flag p->thread.sp =3D (unsigned long) childregs; p->thread.sp0 =3D (unsigned long) (childregs+1); p->thread.usersp =3D me->thread.usersp; @@ -16834,7 +15045,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_64.c linux-2.6.32.48/arch/x86 =20 set_tsk_thread_flag(p, TIF_FORK); =20 -@@ -379,7 +379,7 @@ __switch_to(struct task_struct *prev_p,=20 +@@ -375,7 +375,7 @@ __switch_to(struct task_struct *prev_p,=20 struct thread_struct *prev =3D &prev_p->thread; struct thread_struct *next =3D &next_p->thread; int cpu =3D smp_processor_id(); @@ -16843,7 +15054,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_64.c linux-2.6.32.48/arch/x86 unsigned fsindex, gsindex; bool preload_fpu; =20 -@@ -475,10 +475,9 @@ __switch_to(struct task_struct *prev_p,=20 +@@ -471,10 +471,9 @@ __switch_to(struct task_struct *prev_p,=20 prev->usersp =3D percpu_read(old_rsp); percpu_write(old_rsp, next->usersp); percpu_write(current_task, next_p); @@ -16856,7 +15067,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s_64.c linux-2.6.32.48/arch/x86 =20 /* * Now maybe reload the debug registers and handle I/O bitmaps -@@ -559,12 +558,11 @@ unsigned long get_wchan(struct task_stru +@@ -536,12 +535,11 @@ unsigned long get_wchan(struct task_stru if (!p || p =3D=3D current || p->state =3D=3D TASK_RUNNING) return 0; stack =3D (unsigned long)task_stack_page(p); @@ -16871,10 +15082,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proc= ess_64.c linux-2.6.32.48/arch/x86 return 0; ip =3D *(u64 *)(fp+8); if (!in_sched_functions(ip)) -diff -urNp linux-2.6.32.48/arch/x86/kernel/process.c linux-2.6.32.48/arc= h/x86/kernel/process.c ---- linux-2.6.32.48/arch/x86/kernel/process.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/process.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -51,16 +51,33 @@ void free_thread_xstate(struct task_stru +diff -urNp linux-3.0.8/arch/x86/kernel/process.c linux-3.0.8/arch/x86/ke= rnel/process.c +--- linux-3.0.8/arch/x86/kernel/process.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/kernel/process.c 2011-08-30 18:23:52.000000000 = -0400 +@@ -48,16 +48,33 @@ void free_thread_xstate(struct task_stru =20 void free_thread_info(struct thread_info *ti) { @@ -16900,9 +15111,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s.c linux-2.6.32.48/arch/x86/ke + SLAB_PANIC | SLAB_NOTRACK | SLAB_USERCOPY, NULL); +} + -+struct task_struct *alloc_task_struct(void) ++struct task_struct *alloc_task_struct_node(int node) +{ -+ return kmem_cache_alloc(task_struct_cachep, GFP_KERNEL); ++ return kmem_cache_alloc_node(task_struct_cachep, GFP_KERNEL, node); +} + +void free_task_struct(struct task_struct *task) @@ -16912,7 +15123,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s.c linux-2.6.32.48/arch/x86/ke } =20 /* -@@ -73,7 +90,7 @@ void exit_thread(void) +@@ -70,7 +87,7 @@ void exit_thread(void) unsigned long *bp =3D t->io_bitmap_ptr; =20 if (bp) { @@ -16921,17 +15132,40 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proc= ess.c linux-2.6.32.48/arch/x86/ke =20 t->io_bitmap_ptr =3D NULL; clear_thread_flag(TIF_IO_BITMAP); -@@ -93,6 +110,9 @@ void flush_thread(void) +@@ -106,7 +123,7 @@ void show_regs_common(void) =20 - clear_tsk_thread_flag(tsk, TIF_DEBUG); + printk(KERN_CONT "\n"); + printk(KERN_DEFAULT "Pid: %d, comm: %.20s %s %s %.*s", +- current->pid, current->comm, print_tainted(), ++ task_pid_nr(current), current->comm, print_tainted(), + init_utsname()->release, + (int)strcspn(init_utsname()->version, " "), + init_utsname()->version); +@@ -120,6 +137,9 @@ void flush_thread(void) + { + struct task_struct *tsk =3D current; =20 +#if defined(CONFIG_X86_32) && !defined(CONFIG_CC_STACKPROTECTOR) && !de= fined(CONFIG_PAX_MEMORY_UDEREF) + loadsegment(gs, 0); +#endif - tsk->thread.debugreg0 =3D 0; - tsk->thread.debugreg1 =3D 0; - tsk->thread.debugreg2 =3D 0; -@@ -307,7 +327,7 @@ void default_idle(void) + flush_ptrace_hw_breakpoint(tsk); + memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array)); + /* +@@ -282,10 +302,10 @@ int kernel_thread(int (*fn)(void *), voi + regs.di =3D (unsigned long) arg; +=20 + #ifdef CONFIG_X86_32 +- regs.ds =3D __USER_DS; +- regs.es =3D __USER_DS; ++ regs.ds =3D __KERNEL_DS; ++ regs.es =3D __KERNEL_DS; + regs.fs =3D __KERNEL_PERCPU; +- regs.gs =3D __KERNEL_STACK_CANARY; ++ savesegment(gs, regs.gs); + #else + regs.ss =3D __KERNEL_DS; + #endif +@@ -403,7 +423,7 @@ void default_idle(void) EXPORT_SYMBOL(default_idle); #endif =20 @@ -16940,7 +15174,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proces= s.c linux-2.6.32.48/arch/x86/ke { local_irq_disable(); /* -@@ -568,16 +588,38 @@ static int __init idle_setup(char *str) +@@ -668,16 +688,37 @@ static int __init idle_setup(char *str) } early_param("idle", idle_setup); =20 @@ -16959,12 +15193,13 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proc= ess.c linux-2.6.32.48/arch/x86/ke -{ - unsigned long range_end =3D mm->brk + 0x02000000; - return randomize_range(mm->brk, range_end, 0) ? : mm->brk; +-} + if (!randomize_va_space) + return; + + if (v8086_mode(regs)) + return; -+ +=20 + rdtscl(time); + + /* P4 seems to return a 0 LSB, ignore it */ @@ -16985,14 +15220,13 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/proc= ess.c linux-2.6.32.48/arch/x86/ke +#ifdef CONFIG_X86_64 + percpu_write(kernel_stack, thread->sp0); +#endif - } ++} +#endif -=20 -diff -urNp linux-2.6.32.48/arch/x86/kernel/ptrace.c linux-2.6.32.48/arch= /x86/kernel/ptrace.c ---- linux-2.6.32.48/arch/x86/kernel/ptrace.c 2011-11-12 12:44:28.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/ptrace.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -925,7 +925,7 @@ static const struct user_regset_view use - long arch_ptrace(struct task_struct *child, long request, long addr, lo= ng data) +diff -urNp linux-3.0.8/arch/x86/kernel/ptrace.c linux-3.0.8/arch/x86/ker= nel/ptrace.c +--- linux-3.0.8/arch/x86/kernel/ptrace.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/kernel/ptrace.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -821,7 +821,7 @@ long arch_ptrace(struct task_struct *chi + unsigned long addr, unsigned long data) { int ret; - unsigned long __user *datap =3D (unsigned long __user *)data; @@ -17000,171 +15234,156 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/pt= race.c linux-2.6.32.48/arch/x86/ker =20 switch (request) { /* read the word at location addr in the USER area. */ -@@ -1012,14 +1012,14 @@ long arch_ptrace(struct task_struct *chi - if (addr < 0) +@@ -906,14 +906,14 @@ long arch_ptrace(struct task_struct *chi + if ((int) addr < 0) return -EIO; ret =3D do_get_thread_area(child, addr, -- (struct user_desc __user *) data); -+ (__force struct user_desc __user *) data); +- (struct user_desc __user *)data); ++ (__force struct user_desc __user *) data); break; =20 case PTRACE_SET_THREAD_AREA: - if (addr < 0) + if ((int) addr < 0) return -EIO; ret =3D do_set_thread_area(child, addr, -- (struct user_desc __user *) data, 0); -+ (__force struct user_desc __user *) data, 0); +- (struct user_desc __user *)data, 0); ++ (__force struct user_desc __user *) data, 0); break; #endif =20 -@@ -1038,12 +1038,12 @@ long arch_ptrace(struct task_struct *chi - #ifdef CONFIG_X86_PTRACE_BTS - case PTRACE_BTS_CONFIG: - ret =3D ptrace_bts_config -- (child, data, (struct ptrace_bts_config __user *)addr); -+ (child, data, (__force struct ptrace_bts_config __user *)addr); - break; -=20 - case PTRACE_BTS_STATUS: - ret =3D ptrace_bts_status -- (child, data, (struct ptrace_bts_config __user *)addr); -+ (child, data, (__force struct ptrace_bts_config __user *)addr); - break; -=20 - case PTRACE_BTS_SIZE: -@@ -1052,7 +1052,7 @@ long arch_ptrace(struct task_struct *chi -=20 - case PTRACE_BTS_GET: - ret =3D ptrace_bts_read_record -- (child, data, (struct bts_struct __user *) addr); -+ (child, data, (__force struct bts_struct __user *) addr); - break; -=20 - case PTRACE_BTS_CLEAR: -@@ -1061,7 +1061,7 @@ long arch_ptrace(struct task_struct *chi -=20 - case PTRACE_BTS_DRAIN: - ret =3D ptrace_bts_drain -- (child, data, (struct bts_struct __user *) addr); -+ (child, data, (__force struct bts_struct __user *) addr); - break; - #endif /* CONFIG_X86_PTRACE_BTS */ +@@ -1330,7 +1330,7 @@ static void fill_sigtrap_info(struct tas + memset(info, 0, sizeof(*info)); + info->si_signo =3D SIGTRAP; + info->si_code =3D si_code; +- info->si_addr =3D user_mode_vm(regs) ? (void __user *)regs->ip : NULL; ++ info->si_addr =3D user_mode(regs) ? (__force void __user *)regs->ip : = NULL; + } =20 -@@ -1450,7 +1450,7 @@ void send_sigtrap(struct task_struct *ts - info.si_code =3D si_code; + void user_single_step_siginfo(struct task_struct *tsk, +diff -urNp linux-3.0.8/arch/x86/kernel/pvclock.c linux-3.0.8/arch/x86/ke= rnel/pvclock.c +--- linux-3.0.8/arch/x86/kernel/pvclock.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/kernel/pvclock.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -81,11 +81,11 @@ unsigned long pvclock_tsc_khz(struct pvc + return pv_tsc_khz; + } =20 - /* User-mode ip? */ -- info.si_addr =3D user_mode_vm(regs) ? (void __user *) regs->ip : NULL; -+ info.si_addr =3D user_mode(regs) ? (__force void __user *) regs->ip : = NULL; +-static atomic64_t last_value =3D ATOMIC64_INIT(0); ++static atomic64_unchecked_t last_value =3D ATOMIC64_INIT(0); =20 - /* Send us the fake SIGTRAP */ - force_sig_info(SIGTRAP, &info, tsk); -@@ -1469,7 +1469,7 @@ void send_sigtrap(struct task_struct *ts - * We must return the syscall number to actually look up in the table. - * This can be -1L to skip running any syscall at all. - */ --asmregparm long syscall_trace_enter(struct pt_regs *regs) -+long syscall_trace_enter(struct pt_regs *regs) + void pvclock_resume(void) { - long ret =3D 0; -=20 -@@ -1514,7 +1514,7 @@ asmregparm long syscall_trace_enter(stru - return ret ?: regs->orig_ax; +- atomic64_set(&last_value, 0); ++ atomic64_set_unchecked(&last_value, 0); } =20 --asmregparm void syscall_trace_leave(struct pt_regs *regs) -+void syscall_trace_leave(struct pt_regs *regs) - { - if (unlikely(current->audit_context)) - audit_syscall_exit(AUDITSC_RESULT(regs->ax), regs->ax); -diff -urNp linux-2.6.32.48/arch/x86/kernel/reboot.c linux-2.6.32.48/arch= /x86/kernel/reboot.c ---- linux-2.6.32.48/arch/x86/kernel/reboot.c 2011-11-12 12:44:28.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/reboot.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -33,7 +33,7 @@ void (*pm_power_off)(void); + cycle_t pvclock_clocksource_read(struct pvclock_vcpu_time_info *src) +@@ -121,11 +121,11 @@ cycle_t pvclock_clocksource_read(struct=20 + * updating at the same time, and one of them could be slightly behind= , + * making the assumption that last_value always go forward fail to hol= d. + */ +- last =3D atomic64_read(&last_value); ++ last =3D atomic64_read_unchecked(&last_value); + do { + if (ret < last) + return last; +- last =3D atomic64_cmpxchg(&last_value, last, ret); ++ last =3D atomic64_cmpxchg_unchecked(&last_value, last, ret); + } while (unlikely(last !=3D ret)); +=20 + return ret; +diff -urNp linux-3.0.8/arch/x86/kernel/reboot.c linux-3.0.8/arch/x86/ker= nel/reboot.c +--- linux-3.0.8/arch/x86/kernel/reboot.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/kernel/reboot.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -35,7 +35,7 @@ void (*pm_power_off)(void); EXPORT_SYMBOL(pm_power_off); =20 static const struct desc_ptr no_idt =3D {}; -static int reboot_mode; +static unsigned short reboot_mode; - enum reboot_type reboot_type =3D BOOT_KBD; + enum reboot_type reboot_type =3D BOOT_ACPI; int reboot_force; =20 -@@ -292,12 +292,12 @@ core_initcall(reboot_init); - controller to pulse the CPU reset line, which is more thorough, but - doesn't work with at least one type of 486 motherboard. It is easy - to stop this code working; hence the copious comments. */ --static const unsigned long long --real_mode_gdt_entries [3] =3D -+static struct desc_struct -+real_mode_gdt_entries [3] __read_only =3D - { -- 0x0000000000000000ULL, /* Null descriptor */ -- 0x00009b000000ffffULL, /* 16-bit real-mode 64k code at 0x00000000 */ -- 0x000093000100ffffULL /* 16-bit real-mode 64k data at 0x00000100 */ -+ GDT_ENTRY_INIT(0, 0, 0), /* Null descriptor */ -+ GDT_ENTRY_INIT(0x9b, 0, 0xffff), /* 16-bit real-mode 64k code at 0x000= 00000 */ -+ GDT_ENTRY_INIT(0x93, 0x100, 0xffff) /* 16-bit real-mode 64k data at 0x= 00000100 */ - }; +@@ -315,13 +315,17 @@ core_initcall(reboot_init); + extern const unsigned char machine_real_restart_asm[]; + extern const u64 machine_real_restart_gdt[3]; =20 - static const struct desc_ptr -@@ -346,7 +346,7 @@ static const unsigned char jump_to_bios=20 - * specified by the code and length parameters. - * We assume that length will aways be less that 100! - */ --void machine_real_restart(const unsigned char *code, int length) -+__noreturn void machine_real_restart(const unsigned char *code, unsigne= d int length) +-void machine_real_restart(unsigned int type) ++__noreturn void machine_real_restart(unsigned int type) { - local_irq_disable(); + void *restart_va; + unsigned long restart_pa; +- void (*restart_lowmem)(unsigned int); ++ void (* __noreturn restart_lowmem)(unsigned int); + u64 *lowmem_gdt; =20 -@@ -366,8 +366,8 @@ void machine_real_restart(const unsigned - /* Remap the kernel at virtual address zero, as well as offset zero - from the kernel segment. This assumes the kernel segment starts at - virtual address PAGE_OFFSET. */ -- memcpy(swapper_pg_dir, swapper_pg_dir + KERNEL_PGD_BOUNDARY, -- sizeof(swapper_pg_dir [0]) * KERNEL_PGD_PTRS); -+ clone_pgd_range(swapper_pg_dir, swapper_pg_dir + KERNEL_PGD_BOUNDARY, -+ min_t(unsigned long, KERNEL_PGD_PTRS, KERNEL_PGD_BOUNDARY)); ++#if defined(CONFIG_X86_32) && (defined(CONFIG_PAX_KERNEXEC) || defined(= CONFIG_PAX_MEMORY_UDEREF)) ++ struct desc_struct *gdt; ++#endif ++ + local_irq_disable(); =20 - /* - * Use `swapper_pg_dir' as our page directory. -@@ -379,16 +379,15 @@ void machine_real_restart(const unsigned + /* Write zero to CMOS register number 0x0f, which the BIOS POST +@@ -347,14 +351,14 @@ void machine_real_restart(unsigned int t boot)". This seems like a fairly standard thing that gets set by REBOOT.COM programs, and the previous reset routine did this too. */ - *((unsigned short *)0x472) =3D reboot_mode; + *(unsigned short *)(__va(0x472)) =3D reboot_mode; =20 - /* For the switch to real mode, copy some code to low memory. It has - to be in the first 64k because it is running in 16-bit mode, and it - has to have the same physical and virtual address, because it turns - off paging. Copy it near the end of the first page, out of the way - of BIOS variables. */ -- memcpy((void *)(0x1000 - sizeof(real_mode_switch) - 100), -- real_mode_switch, sizeof (real_mode_switch)); -- memcpy((void *)(0x1000 - 100), code, length); -+ memcpy(__va(0x1000 - sizeof (real_mode_switch) - 100), real_mode_switc= h, sizeof (real_mode_switch)); -+ memcpy(__va(0x1000 - 100), code, length); -=20 - /* Set up the IDT for real mode. */ - load_idt(&real_mode_idt); -@@ -416,6 +415,7 @@ void machine_real_restart(const unsigned - __asm__ __volatile__ ("ljmp $0x0008,%0" - : - : "i" ((void *)(0x1000 - sizeof (real_mode_switch) - 100))); -+ do { } while (1); + /* Patch the GDT in the low memory trampoline */ + lowmem_gdt =3D TRAMPOLINE_SYM(machine_real_restart_gdt); +=20 + restart_va =3D TRAMPOLINE_SYM(machine_real_restart_asm); + restart_pa =3D virt_to_phys(restart_va); +- restart_lowmem =3D (void (*)(unsigned int))restart_pa; ++ restart_lowmem =3D (void *)restart_pa; +=20 + /* GDT[0]: GDT self-pointer */ + lowmem_gdt[0] =3D +@@ -365,7 +369,33 @@ void machine_real_restart(unsigned int t + GDT_ENTRY(0x009b, restart_pa, 0xffff); +=20 + /* Jump to the identity-mapped low memory code */ ++ ++#if defined(CONFIG_X86_32) && (defined(CONFIG_PAX_KERNEXEC) || defined(= CONFIG_PAX_MEMORY_UDEREF)) ++ gdt =3D get_cpu_gdt_table(smp_processor_id()); ++ pax_open_kernel(); ++#ifdef CONFIG_PAX_MEMORY_UDEREF ++ gdt[GDT_ENTRY_KERNEL_DS].type =3D 3; ++ gdt[GDT_ENTRY_KERNEL_DS].limit =3D 0xf; ++ asm("mov %0, %%ds; mov %0, %%es; mov %0, %%ss" : : "r" (__KERNEL_DS) := "memory"); ++#endif ++#ifdef CONFIG_PAX_KERNEXEC ++ gdt[GDT_ENTRY_KERNEL_CS].base0 =3D 0; ++ gdt[GDT_ENTRY_KERNEL_CS].base1 =3D 0; ++ gdt[GDT_ENTRY_KERNEL_CS].base2 =3D 0; ++ gdt[GDT_ENTRY_KERNEL_CS].limit0 =3D 0xffff; ++ gdt[GDT_ENTRY_KERNEL_CS].limit =3D 0xf; ++ gdt[GDT_ENTRY_KERNEL_CS].g =3D 1; ++#endif ++ pax_close_kernel(); ++#endif ++ ++#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_KERNEXEC) ++ asm volatile("push %0; push %1; lret\n" : : "i" (__KERNEL_CS), "rm" (r= estart_lowmem), "a" (type)); ++ unreachable(); ++#else + restart_lowmem(type); ++#endif ++ } #ifdef CONFIG_APM_MODULE EXPORT_SYMBOL(machine_real_restart); -@@ -544,7 +544,7 @@ void __attribute__((weak)) mach_reboot_f - { - } -=20 +@@ -523,7 +553,7 @@ void __attribute__((weak)) mach_reboot_f + * try to force a triple fault and then cycle between hitting the keybo= ard + * controller and doing that + */ -static void native_machine_emergency_restart(void) +__noreturn static void native_machine_emergency_restart(void) { int i; -=20 -@@ -659,13 +659,13 @@ void native_machine_shutdown(void) + int attempt =3D 0; +@@ -647,13 +677,13 @@ void native_machine_shutdown(void) #endif } =20 @@ -17180,7 +15399,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/reboot= .c linux-2.6.32.48/arch/x86/ker { printk("machine restart\n"); =20 -@@ -674,7 +674,7 @@ static void native_machine_restart(char=20 +@@ -662,7 +692,7 @@ static void native_machine_restart(char=20 __machine_emergency_restart(0); } =20 @@ -17189,7 +15408,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/reboot= .c linux-2.6.32.48/arch/x86/ker { /* stop other cpus and apics */ machine_shutdown(); -@@ -685,7 +685,7 @@ static void native_machine_halt(void) +@@ -673,7 +703,7 @@ static void native_machine_halt(void) stop_this_cpu(NULL); } =20 @@ -17198,18 +15417,36 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/rebo= ot.c linux-2.6.32.48/arch/x86/ker { if (pm_power_off) { if (!reboot_force) -@@ -694,6 +694,7 @@ static void native_machine_power_off(voi +@@ -682,6 +712,7 @@ static void native_machine_power_off(voi } /* a fallback in case there is no PM info available */ tboot_shutdown(TB_SHUTDOWN_HALT); -+ do { } while (1); ++ unreachable(); } =20 struct machine_ops machine_ops =3D { -diff -urNp linux-2.6.32.48/arch/x86/kernel/setup.c linux-2.6.32.48/arch/= x86/kernel/setup.c ---- linux-2.6.32.48/arch/x86/kernel/setup.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/setup.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -783,14 +783,14 @@ void __init setup_arch(char **cmdline_p) +diff -urNp linux-3.0.8/arch/x86/kernel/setup.c linux-3.0.8/arch/x86/kern= el/setup.c +--- linux-3.0.8/arch/x86/kernel/setup.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/x86/kernel/setup.c 2011-10-06 04:17:55.000000000 -0= 400 +@@ -447,7 +447,7 @@ static void __init parse_setup_data(void +=20 + switch (data->type) { + case SETUP_E820_EXT: +- parse_e820_ext(data); ++ parse_e820_ext((struct setup_data __force_kernel *)data); + break; + case SETUP_DTB: + add_dtb(pa_data); +@@ -650,7 +650,7 @@ static void __init trim_bios_range(void) + * area (640->1Mb) as ram even though it is not. + * take them out. + */ +- e820_remove_range(BIOS_BEGIN, BIOS_END - BIOS_BEGIN, E820_RAM, 1); ++ e820_remove_range(ISA_START_ADDRESS, ISA_END_ADDRESS - ISA_START_ADDRE= SS, E820_RAM, 1); + sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map); + } +=20 +@@ -773,14 +773,14 @@ void __init setup_arch(char **cmdline_p) =20 if (!boot_params.hdr.root_flags) root_mountflags &=3D ~MS_RDONLY; @@ -17229,12 +15466,12 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/setu= p.c linux-2.6.32.48/arch/x86/kern data_resource.end =3D virt_to_phys(_edata)-1; bss_resource.start =3D virt_to_phys(&__bss_start); bss_resource.end =3D virt_to_phys(&__bss_stop)-1; -diff -urNp linux-2.6.32.48/arch/x86/kernel/setup_percpu.c linux-2.6.32.4= 8/arch/x86/kernel/setup_percpu.c ---- linux-2.6.32.48/arch/x86/kernel/setup_percpu.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/setup_percpu.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -25,19 +25,17 @@ - # define DBG(x...) - #endif +diff -urNp linux-3.0.8/arch/x86/kernel/setup_percpu.c linux-3.0.8/arch/x= 86/kernel/setup_percpu.c +--- linux-3.0.8/arch/x86/kernel/setup_percpu.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/kernel/setup_percpu.c 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -21,19 +21,17 @@ + #include + #include =20 -DEFINE_PER_CPU(int, cpu_number); +#ifdef CONFIG_SMP @@ -17256,7 +15493,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/setup_= percpu.c linux-2.6.32.48/arch/x [0 ... NR_CPUS-1] =3D BOOT_PERCPU_OFFSET, }; EXPORT_SYMBOL(__per_cpu_offset); -@@ -159,10 +157,10 @@ static inline void setup_percpu_segment( +@@ -155,10 +153,10 @@ static inline void setup_percpu_segment( { #ifdef CONFIG_X86_32 struct desc_struct gdt; @@ -17270,7 +15507,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/setup_= percpu.c linux-2.6.32.48/arch/x write_gdt_entry(get_cpu_gdt_table(cpu), GDT_ENTRY_PERCPU, &gdt, DESCTYPE_S); #endif -@@ -212,6 +210,11 @@ void __init setup_per_cpu_areas(void) +@@ -207,6 +205,11 @@ void __init setup_per_cpu_areas(void) /* alrighty, percpu areas up and running */ delta =3D (unsigned long)pcpu_base_addr - (unsigned long)__per_cpu_sta= rt; for_each_possible_cpu(cpu) { @@ -17282,9 +15519,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/setup_= percpu.c linux-2.6.32.48/arch/x per_cpu_offset(cpu) =3D delta + pcpu_unit_offsets[cpu]; per_cpu(this_cpu_off, cpu) =3D per_cpu_offset(cpu); per_cpu(cpu_number, cpu) =3D cpu; -@@ -239,6 +242,12 @@ void __init setup_per_cpu_areas(void) - early_per_cpu_map(x86_cpu_to_node_map, cpu); - #endif +@@ -247,6 +250,12 @@ void __init setup_per_cpu_areas(void) + */ + set_cpu_numa_node(cpu, early_cpu_to_node(cpu)); #endif +#ifdef CONFIG_CC_STACKPROTECTOR +#ifdef CONFIG_X86_32 @@ -17293,12 +15530,12 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/setu= p_percpu.c linux-2.6.32.48/arch/x +#endif +#endif /* - * Up to this point, the boot CPU has been using .data.init + * Up to this point, the boot CPU has been using .init.data * area. Reload any changed state for the boot CPU. -diff -urNp linux-2.6.32.48/arch/x86/kernel/signal.c linux-2.6.32.48/arch= /x86/kernel/signal.c ---- linux-2.6.32.48/arch/x86/kernel/signal.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/signal.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -197,7 +197,7 @@ static unsigned long align_sigframe(unsi +diff -urNp linux-3.0.8/arch/x86/kernel/signal.c linux-3.0.8/arch/x86/ker= nel/signal.c +--- linux-3.0.8/arch/x86/kernel/signal.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/kernel/signal.c 2011-08-23 21:48:14.000000000 -= 0400 +@@ -198,7 +198,7 @@ static unsigned long align_sigframe(unsi * Align the stack pointer according to the i386 ABI, * i.e. so that on function entry ((sp + 4) & 15) =3D=3D 0. */ @@ -17307,7 +15544,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/signal= .c linux-2.6.32.48/arch/x86/ker #else /* !CONFIG_X86_32 */ sp =3D round_down(sp, 16) - 8; #endif -@@ -248,11 +248,11 @@ get_sigframe(struct k_sigaction *ka, str +@@ -249,11 +249,11 @@ get_sigframe(struct k_sigaction *ka, str * Return an always-bogus address instead so we will die with SIGSEGV. */ if (onsigstack && !likely(on_sig_stack(sp))) @@ -17321,7 +15558,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/signal= .c linux-2.6.32.48/arch/x86/ker =20 return (void __user *)sp; } -@@ -307,9 +307,9 @@ __setup_frame(int sig, struct k_sigactio +@@ -308,9 +308,9 @@ __setup_frame(int sig, struct k_sigactio } =20 if (current->mm->context.vdso) @@ -17333,7 +15570,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/signal= .c linux-2.6.32.48/arch/x86/ker if (ka->sa.sa_flags & SA_RESTORER) restorer =3D ka->sa.sa_restorer; =20 -@@ -323,7 +323,7 @@ __setup_frame(int sig, struct k_sigactio +@@ -324,7 +324,7 @@ __setup_frame(int sig, struct k_sigactio * reasons and because gdb uses it as a signature to notice * signal handler stack frames. */ @@ -17342,7 +15579,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/signal= .c linux-2.6.32.48/arch/x86/ker =20 if (err) return -EFAULT; -@@ -377,7 +377,10 @@ static int __setup_rt_frame(int sig, str +@@ -378,7 +378,10 @@ static int __setup_rt_frame(int sig, str err |=3D __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); =20 /* Set up to return from userspace. */ @@ -17354,7 +15591,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/signal= .c linux-2.6.32.48/arch/x86/ker if (ka->sa.sa_flags & SA_RESTORER) restorer =3D ka->sa.sa_restorer; put_user_ex(restorer, &frame->pretcode); -@@ -389,7 +392,7 @@ static int __setup_rt_frame(int sig, str +@@ -390,7 +393,7 @@ static int __setup_rt_frame(int sig, str * reasons and because gdb uses it as a signature to notice * signal handler stack frames. */ @@ -17363,7 +15600,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/signal= .c linux-2.6.32.48/arch/x86/ker } put_user_catch(err); =20 if (err) -@@ -782,6 +785,8 @@ static void do_signal(struct pt_regs *re +@@ -769,6 +772,8 @@ static void do_signal(struct pt_regs *re int signr; sigset_t *oldset; =20 @@ -17372,7 +15609,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/signal= .c linux-2.6.32.48/arch/x86/ker /* * We want the common case to go fast, which is why we may in certain * cases get here from kernel mode. Just return without doing anything -@@ -789,7 +794,7 @@ static void do_signal(struct pt_regs *re +@@ -776,7 +781,7 @@ static void do_signal(struct pt_regs *re * X86_32: vm86 regs switched out by assembly code before reaching * here, so testing against kernel CS suffices. */ @@ -17381,38 +15618,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/sign= al.c linux-2.6.32.48/arch/x86/ker return; =20 if (current_thread_info()->status & TS_RESTORE_SIGMASK) -diff -urNp linux-2.6.32.48/arch/x86/kernel/smpboot.c linux-2.6.32.48/arc= h/x86/kernel/smpboot.c ---- linux-2.6.32.48/arch/x86/kernel/smpboot.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/smpboot.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -94,14 +94,14 @@ static DEFINE_PER_CPU(struct task_struct - */ - static DEFINE_MUTEX(x86_cpu_hotplug_driver_mutex); -=20 --void cpu_hotplug_driver_lock() -+void cpu_hotplug_driver_lock(void) - { -- mutex_lock(&x86_cpu_hotplug_driver_mutex); -+ mutex_lock(&x86_cpu_hotplug_driver_mutex); - } -=20 --void cpu_hotplug_driver_unlock() -+void cpu_hotplug_driver_unlock(void) - { -- mutex_unlock(&x86_cpu_hotplug_driver_mutex); -+ mutex_unlock(&x86_cpu_hotplug_driver_mutex); - } -=20 - ssize_t arch_cpu_probe(const char *buf, size_t count) { return -1; } -@@ -625,7 +625,7 @@ wakeup_secondary_cpu_via_init(int phys_a - * target processor state. - */ - startup_ipi_hook(phys_apicid, (unsigned long) start_secondary, -- (unsigned long)stack_start.sp); -+ stack_start); -=20 - /* - * Run STARTUP IPI loop. -@@ -743,6 +743,7 @@ static int __cpuinit do_boot_cpu(int api +diff -urNp linux-3.0.8/arch/x86/kernel/smpboot.c linux-3.0.8/arch/x86/ke= rnel/smpboot.c +--- linux-3.0.8/arch/x86/kernel/smpboot.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/kernel/smpboot.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -709,17 +709,20 @@ static int __cpuinit do_boot_cpu(int api set_idle_for_cpu(cpu, c_idle.idle); do_rest: per_cpu(current_task, cpu) =3D c_idle.idle; @@ -17420,7 +15629,6 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/smpboo= t.c linux-2.6.32.48/arch/x86/ke #ifdef CONFIG_X86_32 /* Stack for startup_32 can be just as for start_secondary onwards */ irq_ctx_init(cpu); -@@ -750,13 +751,15 @@ do_rest: #else clear_tsk_thread_flag(c_idle.idle, TIF_FORK); initial_gs =3D per_cpu_offset(cpu); @@ -17435,12 +15643,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/smpbo= ot.c linux-2.6.32.48/arch/x86/ke + pax_close_kernel(); + initial_code =3D (unsigned long)start_secondary; -- stack_start.sp =3D (void *) c_idle.idle->thread.sp; -+ stack_start =3D c_idle.idle->thread.sp; + stack_start =3D c_idle.idle->thread.sp; =20 - /* start_ip had better be page-aligned! */ - start_ip =3D setup_trampoline(); -@@ -891,6 +894,12 @@ int __cpuinit native_cpu_up(unsigned int +@@ -861,6 +864,12 @@ int __cpuinit native_cpu_up(unsigned int =20 per_cpu(cpu_state, cpu) =3D CPU_UP_PREPARE; =20 @@ -17451,11 +15656,11 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/smpb= oot.c linux-2.6.32.48/arch/x86/ke +#endif + err =3D do_boot_cpu(apicid, cpu); -=20 if (err) { -diff -urNp linux-2.6.32.48/arch/x86/kernel/step.c linux-2.6.32.48/arch/x= 86/kernel/step.c ---- linux-2.6.32.48/arch/x86/kernel/step.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/kernel/step.c 2011-11-12 12:46:42.000000000= -0500 + pr_debug("do_boot_cpu failed %d\n", err); +diff -urNp linux-3.0.8/arch/x86/kernel/step.c linux-3.0.8/arch/x86/kerne= l/step.c +--- linux-3.0.8/arch/x86/kernel/step.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/kernel/step.c 2011-08-23 21:47:55.000000000 -04= 00 @@ -27,10 +27,10 @@ unsigned long convert_ip_to_linear(struc struct desc_struct *desc; unsigned long base; @@ -17498,23 +15703,35 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/step= .c linux-2.6.32.48/arch/x86/kerne /* 32-bit mode: register increment */ return 0; /* 64-bit mode: REX prefix */ -diff -urNp linux-2.6.32.48/arch/x86/kernel/syscall_table_32.S linux-2.6.= 32.48/arch/x86/kernel/syscall_table_32.S ---- linux-2.6.32.48/arch/x86/kernel/syscall_table_32.S 2011-11-12 12:44:= 28.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/syscall_table_32.S 2011-11-12 12:46:= 42.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/syscall_table_32.S linux-3.0.8/ar= ch/x86/kernel/syscall_table_32.S +--- linux-3.0.8/arch/x86/kernel/syscall_table_32.S 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/syscall_table_32.S 2011-08-23 21:47:55.0= 00000000 -0400 @@ -1,3 +1,4 @@ +.section .rodata,"a",@progbits ENTRY(sys_call_table) .long sys_restart_syscall /* 0 - old "setup()" system call, used for r= estarting */ .long sys_exit -diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_i386_32.c linux-2.6.32.48= /arch/x86/kernel/sys_i386_32.c ---- linux-2.6.32.48/arch/x86/kernel/sys_i386_32.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/sys_i386_32.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -24,6 +24,21 @@ +diff -urNp linux-3.0.8/arch/x86/kernel/sys_i386_32.c linux-3.0.8/arch/x8= 6/kernel/sys_i386_32.c +--- linux-3.0.8/arch/x86/kernel/sys_i386_32.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/kernel/sys_i386_32.c 2011-08-23 21:47:55.000000= 000 -0400 +@@ -24,17 +24,224 @@ =20 #include =20 +-/* +- * Do a system call from kernel instead of calling sys_execve so we +- * end up with proper pt_regs. +- */ +-int kernel_execve(const char *filename, +- const char *const argv[], +- const char *const envp[]) +int i386_mmap_check(unsigned long addr, unsigned long len, unsigned lon= g flags) -+{ + { +- long __res; +- asm volatile ("int $0x80" +- : "=3Da" (__res) +- : "0" (__NR_execve), "b" (filename), "c" (argv), "d" (envp) : "memory"= ); +- return __res; + unsigned long pax_task_size =3D TASK_SIZE; + +#ifdef CONFIG_PAX_SEGMEXEC @@ -17528,13 +15745,6 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_i= 386_32.c linux-2.6.32.48/arch/x8 + return 0; +} + - /* - * Perform the select(nd, in, out, ex, tv) and mmap() system - * calls. Linux/i386 didn't use to be able to handle more than -@@ -58,6 +73,212 @@ out: - return err; - } -=20 +unsigned long +arch_get_unmapped_area(struct file *filp, unsigned long addr, + unsigned long len, unsigned long pgoff, unsigned long flags) @@ -17576,7 +15786,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_i3= 86_32.c linux-2.6.32.48/arch/x8 + } + +#ifdef CONFIG_PAX_PAGEEXEC -+ if (!nx_enabled && (mm->pax_flags & MF_PAX_PAGEEXEC) && (flags & MAP_E= XECUTABLE) && start_addr >=3D mm->mmap_base) { ++ if (!(__supported_pte_mask & _PAGE_NX) && (mm->pax_flags & MF_PAX_PAGE= EXEC) && (flags & MAP_EXECUTABLE) && start_addr >=3D mm->mmap_base) { + start_addr =3D 0x00110000UL; + +#ifdef CONFIG_PAX_RANDMMAP @@ -17649,7 +15859,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_i3= 86_32.c linux-2.6.32.48/arch/x8 + return addr; + +#ifdef CONFIG_PAX_PAGEEXEC -+ if (!nx_enabled && (mm->pax_flags & MF_PAX_PAGEEXEC) && (flags & MAP_E= XECUTABLE)) ++ if (!(__supported_pte_mask & _PAGE_NX) && (mm->pax_flags & MF_PAX_PAGE= EXEC) && (flags & MAP_EXECUTABLE)) + goto bottomup; +#endif + @@ -17740,49 +15950,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_= i386_32.c linux-2.6.32.48/arch/x8 + mm->cached_hole_size =3D ~0UL; + + return addr; -+} -=20 - struct sel_arg_struct { - unsigned long n; -@@ -93,7 +314,7 @@ asmlinkage int sys_ipc(uint call, int fi - return sys_semtimedop(first, (struct sembuf __user *)ptr, second, NUL= L); - case SEMTIMEDOP: - return sys_semtimedop(first, (struct sembuf __user *)ptr, second, -- (const struct timespec __user *)fifth); -+ (__force const struct timespec __user *)fifth); -=20 - case SEMGET: - return sys_semget(first, second, third); -@@ -140,7 +361,7 @@ asmlinkage int sys_ipc(uint call, int fi - ret =3D do_shmat(first, (char __user *) ptr, second, &raddr); - if (ret) - return ret; -- return put_user(raddr, (ulong __user *) third); -+ return put_user(raddr, (__force ulong __user *) third); - } - case 1: /* iBCS2 emulator entry point */ - if (!segment_eq(get_fs(), get_ds())) -@@ -207,17 +428,3 @@ asmlinkage int sys_olduname(struct oldol -=20 - return error; } -- -- --/* -- * Do a system call from kernel instead of calling sys_execve so we -- * end up with proper pt_regs. -- */ --int kernel_execve(const char *filename, char *const argv[], char *const= envp[]) --{ -- long __res; -- asm volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" -- : "=3Da" (__res) -- : "0" (__NR_execve), "ri" (filename), "c" (argv), "d" (envp) : "memory= "); -- return __res; --} -diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_x86_64.c linux-2.6.32.48/= arch/x86/kernel/sys_x86_64.c ---- linux-2.6.32.48/arch/x86/kernel/sys_x86_64.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/sys_x86_64.c 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/sys_x86_64.c linux-3.0.8/arch/x86= /kernel/sys_x86_64.c +--- linux-3.0.8/arch/x86/kernel/sys_x86_64.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/kernel/sys_x86_64.c 2011-08-23 21:47:55.0000000= 00 -0400 @@ -32,8 +32,8 @@ out: return error; } @@ -17920,10 +16091,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/sys_= x86_64.c linux-2.6.32.48/arch/x86 mm->cached_hole_size =3D ~0UL; =20 return addr; -diff -urNp linux-2.6.32.48/arch/x86/kernel/tboot.c linux-2.6.32.48/arch/= x86/kernel/tboot.c ---- linux-2.6.32.48/arch/x86/kernel/tboot.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/tboot.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -216,7 +216,7 @@ static int tboot_setup_sleep(void) +diff -urNp linux-3.0.8/arch/x86/kernel/tboot.c linux-3.0.8/arch/x86/kern= el/tboot.c +--- linux-3.0.8/arch/x86/kernel/tboot.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/x86/kernel/tboot.c 2011-08-23 21:47:55.000000000 -0= 400 +@@ -217,7 +217,7 @@ static int tboot_setup_sleep(void) =20 void tboot_shutdown(u32 shutdown_type) { @@ -17932,7 +16103,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tboot.= c linux-2.6.32.48/arch/x86/kern =20 if (!tboot_enabled()) return; -@@ -238,7 +238,7 @@ void tboot_shutdown(u32 shutdown_type) +@@ -239,7 +239,7 @@ void tboot_shutdown(u32 shutdown_type) =20 switch_to_tboot_pt(); =20 @@ -17941,7 +16112,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tboot.= c linux-2.6.32.48/arch/x86/kern shutdown(); =20 /* should not reach here */ -@@ -295,7 +295,7 @@ void tboot_sleep(u8 sleep_state, u32 pm1 +@@ -296,7 +296,7 @@ void tboot_sleep(u8 sleep_state, u32 pm1 tboot_shutdown(acpi_shutdown_map[sleep_state]); } =20 @@ -17950,7 +16121,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tboot.= c linux-2.6.32.48/arch/x86/kern =20 static int tboot_wait_for_aps(int num_aps) { -@@ -319,9 +319,9 @@ static int __cpuinit tboot_cpu_callback( +@@ -320,9 +320,9 @@ static int __cpuinit tboot_cpu_callback( { switch (action) { case CPU_DYING: @@ -17962,7 +16133,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tboot.= c linux-2.6.32.48/arch/x86/kern return NOTIFY_BAD; break; } -@@ -340,7 +340,7 @@ static __init int tboot_late_init(void) +@@ -341,7 +341,7 @@ static __init int tboot_late_init(void) =20 tboot_create_trampoline(); =20 @@ -17971,18 +16142,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tboo= t.c linux-2.6.32.48/arch/x86/kern register_hotcpu_notifier(&tboot_cpu_notifier); return 0; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/time.c linux-2.6.32.48/arch/x= 86/kernel/time.c ---- linux-2.6.32.48/arch/x86/kernel/time.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/kernel/time.c 2011-11-12 12:46:42.000000000= -0500 -@@ -26,17 +26,13 @@ - int timer_ack; - #endif -=20 --#ifdef CONFIG_X86_64 --volatile unsigned long __jiffies __section_jiffies =3D INITIAL_JIFFIES; --#endif -- - unsigned long profile_pc(struct pt_regs *regs) +diff -urNp linux-3.0.8/arch/x86/kernel/time.c linux-3.0.8/arch/x86/kerne= l/time.c +--- linux-3.0.8/arch/x86/kernel/time.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/kernel/time.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -30,9 +30,9 @@ unsigned long profile_pc(struct pt_regs=20 { unsigned long pc =3D instruction_pointer(regs); =20 @@ -17994,7 +16157,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/time.c= linux-2.6.32.48/arch/x86/kerne #else unsigned long *sp =3D (unsigned long *)kernel_stack_pointer(regs); -@@ -45,11 +41,17 @@ unsigned long profile_pc(struct pt_regs=20 +@@ -41,11 +41,17 @@ unsigned long profile_pc(struct pt_regs=20 * or above a saved flags. Eflags has bits 22-31 zero, * kernel addresses don't. */ @@ -18012,9 +16175,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/time.c= linux-2.6.32.48/arch/x86/kerne } return pc; } -diff -urNp linux-2.6.32.48/arch/x86/kernel/tls.c linux-2.6.32.48/arch/x8= 6/kernel/tls.c ---- linux-2.6.32.48/arch/x86/kernel/tls.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/kernel/tls.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/tls.c linux-3.0.8/arch/x86/kernel= /tls.c +--- linux-3.0.8/arch/x86/kernel/tls.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/kernel/tls.c 2011-08-23 21:47:55.000000000 -040= 0 @@ -85,6 +85,11 @@ int do_set_thread_area(struct task_struc if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) return -EINVAL; @@ -18027,9 +16190,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tls.c = linux-2.6.32.48/arch/x86/kernel set_tls_desc(p, idx, &info, 1); =20 return 0; -diff -urNp linux-2.6.32.48/arch/x86/kernel/trampoline_32.S linux-2.6.32.= 48/arch/x86/kernel/trampoline_32.S ---- linux-2.6.32.48/arch/x86/kernel/trampoline_32.S 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/trampoline_32.S 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/trampoline_32.S linux-3.0.8/arch/= x86/kernel/trampoline_32.S +--- linux-3.0.8/arch/x86/kernel/trampoline_32.S 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/kernel/trampoline_32.S 2011-08-23 21:47:55.0000= 00000 -0400 @@ -32,6 +32,12 @@ #include #include @@ -18040,10 +16203,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tram= poline_32.S linux-2.6.32.48/arch/ +#define ta(X) ((X) - __PAGE_OFFSET) +#endif + - /* We can free up trampoline after bootup if cpu hotplug is not support= ed. */ - __CPUINITRODATA - .code16 -@@ -60,7 +66,7 @@ r_base =3D . + #ifdef CONFIG_SMP +=20 + .section ".x86_trampoline","a" +@@ -62,7 +68,7 @@ r_base =3D . inc %ax # protected mode (PE) bit lmsw %ax # into protected mode # flush prefetch and jump to startup_32_smp in arch/i386/kernel/head.S @@ -18052,10 +16215,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tram= poline_32.S linux-2.6.32.48/arch/ =20 # These need to be in the same 64K segment as the above; # hence we don't use the boot_gdt_descr defined in head.S -diff -urNp linux-2.6.32.48/arch/x86/kernel/trampoline_64.S linux-2.6.32.= 48/arch/x86/kernel/trampoline_64.S ---- linux-2.6.32.48/arch/x86/kernel/trampoline_64.S 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/trampoline_64.S 2011-11-12 12:46:42.= 000000000 -0500 -@@ -91,7 +91,7 @@ startup_32: +diff -urNp linux-3.0.8/arch/x86/kernel/trampoline_64.S linux-3.0.8/arch/= x86/kernel/trampoline_64.S +--- linux-3.0.8/arch/x86/kernel/trampoline_64.S 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/kernel/trampoline_64.S 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -90,7 +90,7 @@ startup_32: movl $__KERNEL_DS, %eax # Initialize the %ds segment register movl %eax, %ds =20 @@ -18064,15 +16227,6 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tramp= oline_64.S linux-2.6.32.48/arch/ movl %eax, %cr4 # Enable PAE mode =20 # Setup trampoline 4 level pagetables -@@ -127,7 +127,7 @@ startup_64: - no_longmode: - hlt - jmp no_longmode --#include "verify_cpu_64.S" -+#include "verify_cpu.S" -=20 - # Careful these need to be in the same 64K segment as the above; - tidt: @@ -138,7 +138,7 @@ tidt: # so the kernel can live anywhere .balign 4 @@ -18082,10 +16236,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tram= poline_64.S linux-2.6.32.48/arch/ .long tgdt - r_base .short 0 .quad 0x00cf9b000000ffff # __KERNEL32_CS -diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.c linux-2.6.32.48/arch/= x86/kernel/traps.c ---- linux-2.6.32.48/arch/x86/kernel/traps.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/traps.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -69,12 +69,6 @@ asmlinkage int system_call(void); +diff -urNp linux-3.0.8/arch/x86/kernel/traps.c linux-3.0.8/arch/x86/kern= el/traps.c +--- linux-3.0.8/arch/x86/kernel/traps.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/x86/kernel/traps.c 2011-08-23 21:47:55.000000000 -0= 400 +@@ -70,12 +70,6 @@ asmlinkage int system_call(void); =20 /* Do we ignore FPU interrupts ? */ char ignore_fpu_irq; @@ -18098,15 +16252,8 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/traps= .c linux-2.6.32.48/arch/x86/kern #endif =20 DECLARE_BITMAP(used_vectors, NR_VECTORS); -@@ -112,19 +106,19 @@ static inline void preempt_conditional_c - static inline void - die_if_kernel(const char *str, struct pt_regs *regs, long err) - { -- if (!user_mode_vm(regs)) -+ if (!user_mode(regs)) - die(str, regs, err); +@@ -117,13 +111,13 @@ static inline void preempt_conditional_c } - #endif =20 static void __kprobes -do_trap(int trapnr, int signr, char *str, struct pt_regs *regs, @@ -18121,7 +16268,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.= c linux-2.6.32.48/arch/x86/kern /* * traps 0, 1, 3, 4, and 5 should be forwarded to vm86. * On nmi (interrupt 2), do_trap should not be called. -@@ -135,7 +129,7 @@ do_trap(int trapnr, int signr, char *str +@@ -134,7 +128,7 @@ do_trap(int trapnr, int signr, char *str } #endif =20 @@ -18130,7 +16277,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.= c linux-2.6.32.48/arch/x86/kern goto kernel_trap; =20 #ifdef CONFIG_X86_32 -@@ -158,7 +152,7 @@ trap_signal: +@@ -157,7 +151,7 @@ trap_signal: printk_ratelimit()) { printk(KERN_INFO "%s[%d] trap %s ip:%lx sp:%lx error:%lx", @@ -18139,7 +16286,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.= c linux-2.6.32.48/arch/x86/kern regs->ip, regs->sp, error_code); print_vma_addr(" in ", regs->ip); printk("\n"); -@@ -175,8 +169,20 @@ kernel_trap: +@@ -174,8 +168,20 @@ kernel_trap: if (!fixup_exception(regs)) { tsk->thread.error_code =3D error_code; tsk->thread.trap_no =3D trapnr; @@ -18160,7 +16307,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.= c linux-2.6.32.48/arch/x86/kern return; =20 #ifdef CONFIG_X86_32 -@@ -265,14 +271,30 @@ do_general_protection(struct pt_regs *re +@@ -264,14 +270,30 @@ do_general_protection(struct pt_regs *re conditional_sti(regs); =20 #ifdef CONFIG_X86_32 @@ -18175,7 +16322,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.= c linux-2.6.32.48/arch/x86/kern goto gp_in_kernel; =20 +#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_PAGEEXEC) -+ if (!nx_enabled && tsk->mm && (tsk->mm->pax_flags & MF_PAX_PAGEEXEC)) = { ++ if (!(__supported_pte_mask & _PAGE_NX) && tsk->mm && (tsk->mm->pax_fla= gs & MF_PAX_PAGEEXEC)) { + struct mm_struct *mm =3D tsk->mm; + unsigned long limit; + @@ -18193,7 +16340,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.= c linux-2.6.32.48/arch/x86/kern tsk->thread.error_code =3D error_code; tsk->thread.trap_no =3D 13; =20 -@@ -305,6 +327,13 @@ gp_in_kernel: +@@ -304,6 +326,13 @@ gp_in_kernel: if (notify_die(DIE_GPF, "general protection fault", regs, error_code, 13, SIGSEGV) =3D=3D NOTIFY_STOP) return; @@ -18207,7 +16354,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.= c linux-2.6.32.48/arch/x86/kern die("general protection fault", regs, error_code); } =20 -@@ -435,6 +464,17 @@ static notrace __kprobes void default_do +@@ -433,6 +462,17 @@ static notrace __kprobes void default_do dotraplinkage notrace __kprobes void do_nmi(struct pt_regs *regs, long error_code) { @@ -18225,34 +16372,34 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/trap= s.c linux-2.6.32.48/arch/x86/kern nmi_enter(); =20 inc_irq_stat(__nmi_count); -@@ -558,7 +598,7 @@ dotraplinkage void __kprobes do_debug(st - } +@@ -569,7 +609,7 @@ dotraplinkage void __kprobes do_debug(st + /* It's safe to allow irq's after DR6 has been saved */ + preempt_conditional_sti(regs); =20 - #ifdef CONFIG_X86_32 -- if (regs->flags & X86_VM_MASK) -+ if (v8086_mode(regs)) - goto debug_vm86; - #endif -=20 -@@ -570,7 +610,7 @@ dotraplinkage void __kprobes do_debug(st - * kernel space (but re-enable TF when returning to user mode). - */ - if (condition & DR_STEP) { -- if (!user_mode(regs)) -+ if (!user_mode_novm(regs)) - goto clear_TF_reenable; - } -=20 -@@ -757,7 +797,7 @@ do_simd_coprocessor_error(struct pt_regs - * Handle strange cache flush from user space exception - * in all other cases. This is undocumented behaviour. - */ - if (regs->flags & X86_VM_MASK) { + if (v8086_mode(regs)) { - handle_vm86_fault((struct kernel_vm86_regs *)regs, error_code); + handle_vm86_trap((struct kernel_vm86_regs *) regs, + error_code, 1); + preempt_conditional_cli(regs); +@@ -583,7 +623,7 @@ dotraplinkage void __kprobes do_debug(st + * We already checked v86 mode above, so we can check for kernel mode + * by just checking the CPL of CS. + */ +- if ((dr6 & DR_STEP) && !user_mode(regs)) { ++ if ((dr6 & DR_STEP) && !user_mode_novm(regs)) { + tsk->thread.debugreg6 &=3D ~DR_STEP; + set_tsk_thread_flag(tsk, TIF_SINGLESTEP); + regs->flags &=3D ~X86_EFLAGS_TF; +@@ -612,7 +652,7 @@ void math_error(struct pt_regs *regs, in return; - } -@@ -798,7 +838,7 @@ asmlinkage void __attribute__((weak)) sm + conditional_sti(regs); +=20 +- if (!user_mode_vm(regs)) ++ if (!user_mode(regs)) + { + if (!fixup_exception(regs)) { + task->thread.error_code =3D error_code; +@@ -723,7 +763,7 @@ asmlinkage void __attribute__((weak)) sm void __math_state_restore(void) { struct thread_info *thread =3D current_thread_info(); @@ -18261,7 +16408,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/traps.= c linux-2.6.32.48/arch/x86/kern =20 /* * Paranoid restore. send a SIGSEGV if we fail to restore the state. -@@ -825,8 +865,7 @@ void __math_state_restore(void) +@@ -750,8 +790,7 @@ void __math_state_restore(void) */ asmlinkage void math_state_restore(void) { @@ -18271,262 +16418,20 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/tra= ps.c linux-2.6.32.48/arch/x86/kern =20 if (!tsk_used_math(tsk)) { local_irq_enable(); -diff -urNp linux-2.6.32.48/arch/x86/kernel/verify_cpu_64.S linux-2.6.32.= 48/arch/x86/kernel/verify_cpu_64.S ---- linux-2.6.32.48/arch/x86/kernel/verify_cpu_64.S 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/verify_cpu_64.S 1969-12-31 19:00:00.= 000000000 -0500 -@@ -1,105 +0,0 @@ --/* -- * -- * verify_cpu.S - Code for cpu long mode and SSE verification. This -- * code has been borrowed from boot/setup.S and was introduced by -- * Andi Kleen. -- * -- * Copyright (c) 2007 Andi Kleen (ak@suse.de) -- * Copyright (c) 2007 Eric Biederman (ebiederm@xmission.com) -- * Copyright (c) 2007 Vivek Goyal (vgoyal@in.ibm.com) -- * -- * This source code is licensed under the GNU General Public License, -- * Version 2. See the file COPYING for more details. -- * -- * This is a common code for verification whether CPU supports -- * long mode and SSE or not. It is not called directly instead this -- * file is included at various places and compiled in that context. -- * Following are the current usage. -- * -- * This file is included by both 16bit and 32bit code. -- * -- * arch/x86_64/boot/setup.S : Boot cpu verification (16bit) -- * arch/x86_64/boot/compressed/head.S: Boot cpu verification (32bit) -- * arch/x86_64/kernel/trampoline.S: secondary processor verfication (16= bit) -- * arch/x86_64/kernel/acpi/wakeup.S:Verfication at resume (16bit) -- * -- * verify_cpu, returns the status of cpu check in register %eax. -- * 0: Success 1: Failure -- * -- * The caller needs to check for the error code and take the action -- * appropriately. Either display a message or halt. -- */ -- --#include -- --verify_cpu: -- pushfl # Save caller passed flags -- pushl $0 # Kill any dangerous flags -- popfl -- -- pushfl # standard way to check for cpuid -- popl %eax -- movl %eax,%ebx -- xorl $0x200000,%eax -- pushl %eax -- popfl -- pushfl -- popl %eax -- cmpl %eax,%ebx -- jz verify_cpu_no_longmode # cpu has no cpuid -- -- movl $0x0,%eax # See if cpuid 1 is implemented -- cpuid -- cmpl $0x1,%eax -- jb verify_cpu_no_longmode # no cpuid 1 -- -- xor %di,%di -- cmpl $0x68747541,%ebx # AuthenticAMD -- jnz verify_cpu_noamd -- cmpl $0x69746e65,%edx -- jnz verify_cpu_noamd -- cmpl $0x444d4163,%ecx -- jnz verify_cpu_noamd -- mov $1,%di # cpu is from AMD -- --verify_cpu_noamd: -- movl $0x1,%eax # Does the cpu have what it takes -- cpuid -- andl $REQUIRED_MASK0,%edx -- xorl $REQUIRED_MASK0,%edx -- jnz verify_cpu_no_longmode -- -- movl $0x80000000,%eax # See if extended cpuid is implemented -- cpuid -- cmpl $0x80000001,%eax -- jb verify_cpu_no_longmode # no extended cpuid -- -- movl $0x80000001,%eax # Does the cpu have what it takes -- cpuid -- andl $REQUIRED_MASK1,%edx -- xorl $REQUIRED_MASK1,%edx -- jnz verify_cpu_no_longmode -- --verify_cpu_sse_test: -- movl $1,%eax -- cpuid -- andl $SSE_MASK,%edx -- cmpl $SSE_MASK,%edx -- je verify_cpu_sse_ok -- test %di,%di -- jz verify_cpu_no_longmode # only try to force SSE on AMD -- movl $0xc0010015,%ecx # HWCR -- rdmsr -- btr $15,%eax # enable SSE -- wrmsr -- xor %di,%di # don't loop -- jmp verify_cpu_sse_test # try again -- --verify_cpu_no_longmode: -- popfl # Restore caller passed flags -- movl $1,%eax -- ret --verify_cpu_sse_ok: -- popfl # Restore caller passed flags -- xorl %eax, %eax -- ret -diff -urNp linux-2.6.32.48/arch/x86/kernel/verify_cpu.S linux-2.6.32.48/= arch/x86/kernel/verify_cpu.S ---- linux-2.6.32.48/arch/x86/kernel/verify_cpu.S 1969-12-31 19:00:00.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/verify_cpu.S 2011-11-12 12:46:42.000= 000000 -0500 -@@ -0,0 +1,140 @@ -+/* -+ * -+ * verify_cpu.S - Code for cpu long mode and SSE verification. This -+ * code has been borrowed from boot/setup.S and was introduced by -+ * Andi Kleen. -+ * -+ * Copyright (c) 2007 Andi Kleen (ak@suse.de) -+ * Copyright (c) 2007 Eric Biederman (ebiederm@xmission.com) -+ * Copyright (c) 2007 Vivek Goyal (vgoyal@in.ibm.com) -+ * Copyright (c) 2010 Kees Cook (kees.cook@canonical.com) -+ * -+ * This source code is licensed under the GNU General Public License, -+ * Version 2. See the file COPYING for more details. -+ * -+ * This is a common code for verification whether CPU supports -+ * long mode and SSE or not. It is not called directly instead this -+ * file is included at various places and compiled in that context. -+ * This file is expected to run in 32bit code. Currently: -+ * -+ * arch/x86/boot/compressed/head_64.S: Boot cpu verification -+ * arch/x86/kernel/trampoline_64.S: secondary processor verification -+ * arch/x86/kernel/head_32.S: processor startup +diff -urNp linux-3.0.8/arch/x86/kernel/verify_cpu.S linux-3.0.8/arch/x86= /kernel/verify_cpu.S +--- linux-3.0.8/arch/x86/kernel/verify_cpu.S 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/kernel/verify_cpu.S 2011-08-23 21:48:14.0000000= 00 -0400 +@@ -20,6 +20,7 @@ + * arch/x86/boot/compressed/head_64.S: Boot cpu verification + * arch/x86/kernel/trampoline_64.S: secondary processor verification + * arch/x86/kernel/head_32.S: processor startup + * arch/x86/kernel/acpi/realmode/wakeup.S: 32bit processor resume -+ * -+ * verify_cpu, returns the status of longmode and SSE in register %eax. -+ * 0: Success 1: Failure -+ * -+ * On Intel, the XD_DISABLE flag will be cleared as a side-effect. -+ * -+ * The caller needs to check for the error code and take the action -+ * appropriately. Either display a message or halt. -+ */ -+ -+#include -+#include -+ -+verify_cpu: -+ pushfl # Save caller passed flags -+ pushl $0 # Kill any dangerous flags -+ popfl -+ -+ pushfl # standard way to check for cpuid -+ popl %eax -+ movl %eax,%ebx -+ xorl $0x200000,%eax -+ pushl %eax -+ popfl -+ pushfl -+ popl %eax -+ cmpl %eax,%ebx -+ jz verify_cpu_no_longmode # cpu has no cpuid -+ -+ movl $0x0,%eax # See if cpuid 1 is implemented -+ cpuid -+ cmpl $0x1,%eax -+ jb verify_cpu_no_longmode # no cpuid 1 -+ -+ xor %di,%di -+ cmpl $0x68747541,%ebx # AuthenticAMD -+ jnz verify_cpu_noamd -+ cmpl $0x69746e65,%edx -+ jnz verify_cpu_noamd -+ cmpl $0x444d4163,%ecx -+ jnz verify_cpu_noamd -+ mov $1,%di # cpu is from AMD -+ jmp verify_cpu_check -+ -+verify_cpu_noamd: -+ cmpl $0x756e6547,%ebx # GenuineIntel? -+ jnz verify_cpu_check -+ cmpl $0x49656e69,%edx -+ jnz verify_cpu_check -+ cmpl $0x6c65746e,%ecx -+ jnz verify_cpu_check -+ -+ # only call IA32_MISC_ENABLE when: -+ # family > 6 || (family =3D=3D 6 && model >=3D 0xd) -+ movl $0x1, %eax # check CPU family and model -+ cpuid -+ movl %eax, %ecx -+ -+ andl $0x0ff00f00, %eax # mask family and extended family -+ shrl $8, %eax -+ cmpl $6, %eax -+ ja verify_cpu_clear_xd # family > 6, ok -+ jb verify_cpu_check # family < 6, skip -+ -+ andl $0x000f00f0, %ecx # mask model and extended model -+ shrl $4, %ecx -+ cmpl $0xd, %ecx -+ jb verify_cpu_check # family =3D=3D 6, model < 0xd, skip -+ -+verify_cpu_clear_xd: -+ movl $MSR_IA32_MISC_ENABLE, %ecx -+ rdmsr -+ btrl $2, %edx # clear MSR_IA32_MISC_ENABLE_XD_DISABLE -+ jnc verify_cpu_check # only write MSR if bit was changed -+ wrmsr -+ -+verify_cpu_check: -+ movl $0x1,%eax # Does the cpu have what it takes -+ cpuid -+ andl $REQUIRED_MASK0,%edx -+ xorl $REQUIRED_MASK0,%edx -+ jnz verify_cpu_no_longmode -+ -+ movl $0x80000000,%eax # See if extended cpuid is implemented -+ cpuid -+ cmpl $0x80000001,%eax -+ jb verify_cpu_no_longmode # no extended cpuid -+ -+ movl $0x80000001,%eax # Does the cpu have what it takes -+ cpuid -+ andl $REQUIRED_MASK1,%edx -+ xorl $REQUIRED_MASK1,%edx -+ jnz verify_cpu_no_longmode -+ -+verify_cpu_sse_test: -+ movl $1,%eax -+ cpuid -+ andl $SSE_MASK,%edx -+ cmpl $SSE_MASK,%edx -+ je verify_cpu_sse_ok -+ test %di,%di -+ jz verify_cpu_no_longmode # only try to force SSE on AMD -+ movl $MSR_K7_HWCR,%ecx -+ rdmsr -+ btr $15,%eax # enable SSE -+ wrmsr -+ xor %di,%di # don't loop -+ jmp verify_cpu_sse_test # try again -+ -+verify_cpu_no_longmode: -+ popfl # Restore caller passed flags -+ movl $1,%eax -+ ret -+verify_cpu_sse_ok: -+ popfl # Restore caller passed flags -+ xorl %eax, %eax -+ ret -diff -urNp linux-2.6.32.48/arch/x86/kernel/vm86_32.c linux-2.6.32.48/arc= h/x86/kernel/vm86_32.c ---- linux-2.6.32.48/arch/x86/kernel/vm86_32.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/vm86_32.c 2011-11-12 12:46:42.000000= 000 -0500 + * + * verify_cpu, returns the status of longmode and SSE in register %eax. + * 0: Success 1: Failure +diff -urNp linux-3.0.8/arch/x86/kernel/vm86_32.c linux-3.0.8/arch/x86/ke= rnel/vm86_32.c +--- linux-3.0.8/arch/x86/kernel/vm86_32.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/kernel/vm86_32.c 2011-08-23 21:48:14.000000000 = -0400 @@ -41,6 +41,7 @@ #include #include @@ -18544,7 +16449,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vm86_3= 2.c linux-2.6.32.48/arch/x86/ke current->thread.sp0 =3D current->thread.saved_sp0; current->thread.sysenter_cs =3D __KERNEL_CS; load_sp0(tss, ¤t->thread); -@@ -208,6 +209,13 @@ int sys_vm86old(struct pt_regs *regs) +@@ -208,6 +209,13 @@ int sys_vm86old(struct vm86_struct __use struct task_struct *tsk; int tmp, ret =3D -EPERM; =20 @@ -18558,7 +16463,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vm86_3= 2.c linux-2.6.32.48/arch/x86/ke tsk =3D current; if (tsk->thread.saved_sp0) goto out; -@@ -238,6 +246,14 @@ int sys_vm86(struct pt_regs *regs) +@@ -238,6 +246,14 @@ int sys_vm86(unsigned long cmd, unsigned int tmp, ret; struct vm86plus_struct __user *v86; =20 @@ -18571,7 +16476,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vm86_3= 2.c linux-2.6.32.48/arch/x86/ke +#endif + tsk =3D current; - switch (regs->bx) { + switch (cmd) { case VM86_REQUEST_IRQ: @@ -324,7 +340,7 @@ static void do_sys_vm86(struct kernel_vm tsk->thread.saved_fs =3D info->regs32->fs; @@ -18591,174 +16496,9 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vm86= _32.c linux-2.6.32.48/arch/x86/ke if (get_user(segoffs, intr_ptr)) goto cannot_handle; if ((segoffs >> 16) =3D=3D BIOSSEG) -diff -urNp linux-2.6.32.48/arch/x86/kernel/vmi_32.c linux-2.6.32.48/arch= /x86/kernel/vmi_32.c ---- linux-2.6.32.48/arch/x86/kernel/vmi_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/vmi_32.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -44,12 +44,17 @@ typedef u32 __attribute__((regparm(1)))=20 - typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int); -=20 - #define call_vrom_func(rom,func) \ -- (((VROMFUNC *)(rom->func))()) -+ (((VROMFUNC *)(ktva_ktla(rom.func)))()) -=20 - #define call_vrom_long_func(rom,func,arg) \ -- (((VROMLONGFUNC *)(rom->func)) (arg)) -+({\ -+ u64 __reloc =3D ((VROMLONGFUNC *)(ktva_ktla(rom.func))) (arg);\ -+ struct vmi_relocation_info *const __rel =3D (struct vmi_relocation_inf= o *)&__reloc;\ -+ __rel->eip =3D (unsigned char *)ktva_ktla((unsigned long)__rel->eip);\ -+ __reloc;\ -+}) -=20 --static struct vrom_header *vmi_rom; -+static struct vrom_header vmi_rom __attribute((__section__(".vmi.rom"),= __aligned__(PAGE_SIZE))); - static int disable_pge; - static int disable_pse; - static int disable_sep; -@@ -76,10 +81,10 @@ static struct { - void (*set_initial_ap_state)(int, int); - void (*halt)(void); - void (*set_lazy_mode)(int mode); --} vmi_ops; -+} __no_const vmi_ops __read_only; -=20 - /* Cached VMI operations */ --struct vmi_timer_ops vmi_timer_ops; -+struct vmi_timer_ops vmi_timer_ops __read_only; -=20 - /* - * VMI patching routines. -@@ -94,7 +99,7 @@ struct vmi_timer_ops vmi_timer_ops; - static inline void patch_offset(void *insnbuf, - unsigned long ip, unsigned long dest) - { -- *(unsigned long *)(insnbuf+1) =3D dest-ip-5; -+ *(unsigned long *)(insnbuf+1) =3D dest-ip-5; - } -=20 - static unsigned patch_internal(int call, unsigned len, void *insnbuf, -@@ -102,6 +107,7 @@ static unsigned patch_internal(int call, - { - u64 reloc; - struct vmi_relocation_info *const rel =3D (struct vmi_relocation_info = *)&reloc; -+ - reloc =3D call_vrom_long_func(vmi_rom, get_reloc, call); - switch(rel->type) { - case VMI_RELOCATION_CALL_REL: -@@ -404,13 +410,13 @@ static void vmi_set_pud(pud_t *pudp, pud -=20 - static void vmi_pte_clear(struct mm_struct *mm, unsigned long addr, pte= _t *ptep) - { -- const pte_t pte =3D { .pte =3D 0 }; -+ const pte_t pte =3D __pte(0ULL); - vmi_ops.set_pte(pte, ptep, vmi_flags_addr(mm, addr, VMI_PAGE_PT, 0)); - } -=20 - static void vmi_pmd_clear(pmd_t *pmd) - { -- const pte_t pte =3D { .pte =3D 0 }; -+ const pte_t pte =3D __pte(0ULL); - vmi_ops.set_pte(pte, (pte_t *)pmd, VMI_PAGE_PD); - } - #endif -@@ -438,10 +444,10 @@ vmi_startup_ipi_hook(int phys_apicid, un - ap.ss =3D __KERNEL_DS; - ap.esp =3D (unsigned long) start_esp; -=20 -- ap.ds =3D __USER_DS; -- ap.es =3D __USER_DS; -+ ap.ds =3D __KERNEL_DS; -+ ap.es =3D __KERNEL_DS; - ap.fs =3D __KERNEL_PERCPU; -- ap.gs =3D __KERNEL_STACK_CANARY; -+ savesegment(gs, ap.gs); -=20 - ap.eflags =3D 0; -=20 -@@ -486,6 +492,18 @@ static void vmi_leave_lazy_mmu(void) - paravirt_leave_lazy_mmu(); - } -=20 -+#ifdef CONFIG_PAX_KERNEXEC -+static unsigned long vmi_pax_open_kernel(void) -+{ -+ return 0; -+} -+ -+static unsigned long vmi_pax_close_kernel(void) -+{ -+ return 0; -+} -+#endif -+ - static inline int __init check_vmi_rom(struct vrom_header *rom) - { - struct pci_header *pci; -@@ -498,6 +516,10 @@ static inline int __init check_vmi_rom(s - return 0; - if (rom->vrom_signature !=3D VMI_SIGNATURE) - return 0; -+ if (rom->rom_length * 512 > sizeof(*rom)) { -+ printk(KERN_WARNING "PAX: VMI: ROM size too big: %x\n", rom->rom_leng= th * 512); -+ return 0; -+ } - if (rom->api_version_maj !=3D VMI_API_REV_MAJOR || - rom->api_version_min+1 < VMI_API_REV_MINOR+1) { - printk(KERN_WARNING "VMI: Found mismatched rom version %d.%d\n", -@@ -562,7 +584,7 @@ static inline int __init probe_vmi_rom(v - struct vrom_header *romstart; - romstart =3D (struct vrom_header *)isa_bus_to_virt(base); - if (check_vmi_rom(romstart)) { -- vmi_rom =3D romstart; -+ vmi_rom =3D *romstart; - return 1; - } - } -@@ -836,6 +858,11 @@ static inline int __init activate_vmi(vo -=20 - para_fill(pv_irq_ops.safe_halt, Halt); -=20 -+#ifdef CONFIG_PAX_KERNEXEC -+ pv_mmu_ops.pax_open_kernel =3D vmi_pax_open_kernel; -+ pv_mmu_ops.pax_close_kernel =3D vmi_pax_close_kernel; -+#endif -+ - /* - * Alternative instruction rewriting doesn't happen soon enough - * to convert VMI_IRET to a call instead of a jump; so we have -@@ -853,16 +880,16 @@ static inline int __init activate_vmi(vo -=20 - void __init vmi_init(void) - { -- if (!vmi_rom) -+ if (!vmi_rom.rom_signature) - probe_vmi_rom(); - else -- check_vmi_rom(vmi_rom); -+ check_vmi_rom(&vmi_rom); -=20 - /* In case probing for or validating the ROM failed, basil */ -- if (!vmi_rom) -+ if (!vmi_rom.rom_signature) - return; -=20 -- reserve_top_address(-vmi_rom->virtual_top); -+ reserve_top_address(-vmi_rom.virtual_top); -=20 - #ifdef CONFIG_X86_IO_APIC - /* This is virtual hardware; timer routing is wired correctly */ -@@ -874,7 +901,7 @@ void __init vmi_activate(void) - { - unsigned long flags; -=20 -- if (!vmi_rom) -+ if (!vmi_rom.rom_signature) - return; -=20 - local_irq_save(flags); -diff -urNp linux-2.6.32.48/arch/x86/kernel/vmlinux.lds.S linux-2.6.32.48= /arch/x86/kernel/vmlinux.lds.S ---- linux-2.6.32.48/arch/x86/kernel/vmlinux.lds.S 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/vmlinux.lds.S 2011-11-12 12:46:42.00= 0000000 -0500 +diff -urNp linux-3.0.8/arch/x86/kernel/vmlinux.lds.S linux-3.0.8/arch/x8= 6/kernel/vmlinux.lds.S +--- linux-3.0.8/arch/x86/kernel/vmlinux.lds.S 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/kernel/vmlinux.lds.S 2011-08-23 21:47:55.000000= 000 -0400 @@ -26,6 +26,13 @@ #include #include @@ -18773,20 +16513,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmli= nux.lds.S linux-2.6.32.48/arch/x8 =20 #undef i386 /* in case the preprocessor is a 32bit one */ =20 -@@ -34,40 +41,53 @@ OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONF - #ifdef CONFIG_X86_32 - OUTPUT_ARCH(i386) - ENTRY(phys_startup_32) --jiffies =3D jiffies_64; - #else - OUTPUT_ARCH(i386:x86-64) - ENTRY(phys_startup_64) --jiffies_64 =3D jiffies; - #endif +@@ -69,31 +76,46 @@ jiffies_64 =3D jiffies; =20 PHDRS { text PT_LOAD FLAGS(5); /* R_E */ -- data PT_LOAD FLAGS(7); /* RWE */ +#ifdef CONFIG_X86_32 + module PT_LOAD FLAGS(5); /* R_E */ +#endif @@ -18795,7 +16525,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmlinu= x.lds.S linux-2.6.32.48/arch/x8 +#else + rodata PT_LOAD FLAGS(4); /* R__ */ +#endif -+ data PT_LOAD FLAGS(6); /* RW_ */ + data PT_LOAD FLAGS(6); /* RW_ */ #ifdef CONFIG_X86_64 user PT_LOAD FLAGS(5); /* R_E */ +#endif @@ -18837,7 +16567,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmlinu= x.lds.S linux-2.6.32.48/arch/x8 HEAD_TEXT #ifdef CONFIG_X86_32 . =3D ALIGN(PAGE_SIZE); -@@ -82,28 +102,71 @@ SECTIONS +@@ -109,13 +131,47 @@ SECTIONS IRQENTRY_TEXT *(.fixup) *(.gnu.warning) @@ -18850,11 +16580,6 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmlin= ux.lds.S linux-2.6.32.48/arch/x8 + +#ifdef CONFIG_X86_32 + . =3D ALIGN(PAGE_SIZE); -+ .vmi.rom : AT(ADDR(.vmi.rom) - LOAD_OFFSET) { -+ *(.vmi.rom) -+ } :module -+ -+ . =3D ALIGN(PAGE_SIZE); + .module.text : AT(ADDR(.module.text) - LOAD_OFFSET) { + +#if defined(CONFIG_PAX_KERNEXEC) && defined(CONFIG_MODULES) @@ -18867,8 +16592,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmlinu= x.lds.S linux-2.6.32.48/arch/x8 + + } :module +#endif -=20 -- EXCEPTION_TABLE(16) :text =3D 0x9090 ++ + .text.end : AT(ADDR(.text.end) - LOAD_OFFSET) { + /* End of text section */ + _etext =3D . - __KERNEL_TEXT_OFFSET; @@ -18880,19 +16604,22 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmli= nux.lds.S linux-2.6.32.48/arch/x8 + *(.idt) + . =3D ALIGN(PAGE_SIZE); + *(.empty_zero_page) -+ *(.swapper_pg_fixmap) -+ *(.swapper_pg_pmd) ++ *(.initial_pg_fixmap) ++ *(.initial_pg_pmd) ++ *(.initial_page_table) + *(.swapper_pg_dir) -+ *(.trampoline_pg_dir) + } :rodata +#endif + + . =3D ALIGN(PAGE_SIZE); + NOTES :rodata :note -+ +=20 +- EXCEPTION_TABLE(16) :text =3D 0x9090 + EXCEPTION_TABLE(16) :rodata =20 - RO_DATA(PAGE_SIZE) + #if defined(CONFIG_DEBUG_RODATA) + /* .text should occupy whole number of pages */ +@@ -127,16 +183,20 @@ SECTIONS =20 /* Data */ .data : AT(ADDR(.data) - LOAD_OFFSET) { @@ -18916,29 +16643,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmlin= ux.lds.S linux-2.6.32.48/arch/x8 =20 PAGE_ALIGNED_DATA(PAGE_SIZE) =20 -@@ -112,6 +175,8 @@ SECTIONS - DATA_DATA - CONSTRUCTORS -=20 -+ jiffies =3D jiffies_64; -+ - /* rarely changed data like cpu maps */ - READ_MOSTLY_DATA(CONFIG_X86_INTERNODE_CACHE_BYTES) -=20 -@@ -166,12 +231,6 @@ SECTIONS - } - vgetcpu_mode =3D VVIRT(.vgetcpu_mode); -=20 -- . =3D ALIGN(CONFIG_X86_L1_CACHE_BYTES); -- .jiffies : AT(VLOAD(.jiffies)) { -- *(.jiffies) -- } -- jiffies =3D VVIRT(.jiffies); -- - .vsyscall_3 ADDR(.vsyscall_0) + 3072: AT(VLOAD(.vsyscall_3)) { - *(.vsyscall_3) - } -@@ -187,12 +246,19 @@ SECTIONS +@@ -208,12 +268,19 @@ SECTIONS #endif /* CONFIG_X86_64 */ =20 /* Init code and data - will be freed after init */ @@ -18961,8 +16666,8 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmlinu= x.lds.S linux-2.6.32.48/arch/x8 /* * percpu offsets are zero-based on SMP. PERCPU_VADDR() changes the * output PHDR, so the next output section - .init.text - should -@@ -201,12 +267,27 @@ SECTIONS - PERCPU_VADDR(0, :percpu) +@@ -222,12 +289,27 @@ SECTIONS + PERCPU_VADDR(INTERNODE_CACHE_BYTES, 0, :percpu) #endif =20 - INIT_TEXT_SECTION(PAGE_SIZE) @@ -18992,12 +16697,12 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmli= nux.lds.S linux-2.6.32.48/arch/x8 + . =3D ALIGN(PAGE_SIZE); + INIT_DATA_SECTION(16) :init =20 - .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) { - __x86_cpu_dev_start =3D .; -@@ -232,19 +313,11 @@ SECTIONS - *(.altinstr_replacement) + /* + * Code and data for a variety of lowlevel trampolines, to be +@@ -301,19 +383,12 @@ SECTIONS } =20 + . =3D ALIGN(8); - /* - * .exit.text is discard at runtime, not link time, to deal with - * references from .altinstructions and .eh_frame @@ -19005,18 +16710,23 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmli= nux.lds.S linux-2.6.32.48/arch/x8 - .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { - EXIT_TEXT - } -- +=20 .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { EXIT_DATA } =20 -#if !defined(CONFIG_X86_64) || !defined(CONFIG_SMP) +#ifndef CONFIG_SMP - PERCPU(PAGE_SIZE) + PERCPU_SECTION(INTERNODE_CACHE_BYTES) #endif =20 -@@ -267,12 +340,6 @@ SECTIONS - . =3D ALIGN(PAGE_SIZE); +@@ -332,16 +407,10 @@ SECTIONS + .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) { + __smp_locks =3D .; + *(.smp_locks) +- . =3D ALIGN(PAGE_SIZE); + __smp_locks_end =3D .; ++ . =3D ALIGN(PAGE_SIZE); } =20 -#ifdef CONFIG_X86_64 @@ -19028,7 +16738,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmlinu= x.lds.S linux-2.6.32.48/arch/x8 /* BSS */ . =3D ALIGN(PAGE_SIZE); .bss : AT(ADDR(.bss) - LOAD_OFFSET) { -@@ -288,6 +355,7 @@ SECTIONS +@@ -357,6 +426,7 @@ SECTIONS __brk_base =3D .; . +=3D 64 * 1024; /* 64k alignment slop space */ *(.brk_reservation) /* areas brk users have reserved */ @@ -19036,10 +16746,10 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmli= nux.lds.S linux-2.6.32.48/arch/x8 __brk_limit =3D .; } =20 -@@ -316,13 +384,12 @@ SECTIONS +@@ -383,13 +453,12 @@ SECTIONS * for the boot processor. */ - #define INIT_PER_CPU(x) init_per_cpu__##x =3D per_cpu__##x + __per_cpu_= load + #define INIT_PER_CPU(x) init_per_cpu__##x =3D x + __per_cpu_load -INIT_PER_CPU(gdt_page); INIT_PER_CPU(irq_stack_union); =20 @@ -19051,51 +16761,52 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/vmli= nux.lds.S linux-2.6.32.48/arch/x8 "kernel image bigger than KERNEL_IMAGE_SIZE"); =20 #ifdef CONFIG_SMP -diff -urNp linux-2.6.32.48/arch/x86/kernel/vsyscall_64.c linux-2.6.32.48= /arch/x86/kernel/vsyscall_64.c ---- linux-2.6.32.48/arch/x86/kernel/vsyscall_64.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/vsyscall_64.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -80,6 +80,7 @@ void update_vsyscall(struct timespec *wa -=20 - write_seqlock_irqsave(&vsyscall_gtod_data.lock, flags); - /* copy vsyscall data */ -+ strlcpy(vsyscall_gtod_data.clock.name, clock->name, sizeof vsyscall_gt= od_data.clock.name); - vsyscall_gtod_data.clock.vread =3D clock->vread; - vsyscall_gtod_data.clock.cycle_last =3D clock->cycle_last; - vsyscall_gtod_data.clock.mask =3D clock->mask; -@@ -203,7 +204,7 @@ vgetcpu(unsigned *cpu, unsigned *node, s - We do this here because otherwise user space would do it on - its own in a likely inferior way (no access to jiffies). - If you don't like it pass NULL. */ -- if (tcache && tcache->blob[0] =3D=3D (j =3D __jiffies)) { -+ if (tcache && tcache->blob[0] =3D=3D (j =3D jiffies)) { - p =3D tcache->blob[1]; - } else if (__vgetcpu_mode =3D=3D VGETCPU_RDTSCP) { - /* Load per CPU data from RDTSCP */ -diff -urNp linux-2.6.32.48/arch/x86/kernel/x8664_ksyms_64.c linux-2.6.32= .48/arch/x86/kernel/x8664_ksyms_64.c ---- linux-2.6.32.48/arch/x86/kernel/x8664_ksyms_64.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/x8664_ksyms_64.c 2011-11-12 12:46:42= .000000000 -0500 -@@ -30,8 +30,6 @@ EXPORT_SYMBOL(__put_user_8); -=20 - EXPORT_SYMBOL(copy_user_generic); +diff -urNp linux-3.0.8/arch/x86/kernel/vsyscall_64.c linux-3.0.8/arch/x8= 6/kernel/vsyscall_64.c +--- linux-3.0.8/arch/x86/kernel/vsyscall_64.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/kernel/vsyscall_64.c 2011-08-23 21:47:55.000000= 000 -0400 +@@ -53,7 +53,7 @@ DEFINE_VVAR(int, vgetcpu_mode); + DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) =3D + { + .lock =3D __SEQLOCK_UNLOCKED(__vsyscall_gtod_data.lock), +- .sysctl_enabled =3D 1, ++ .sysctl_enabled =3D 0, + }; +=20 + void update_vsyscall_tz(void) +@@ -231,7 +231,7 @@ static long __vsyscall(3) venosys_1(void + static ctl_table kernel_table2[] =3D { + { .procname =3D "vsyscall64", + .data =3D &vsyscall_gtod_data.sysctl_enabled, .maxlen =3D sizeof(int= ), +- .mode =3D 0644, ++ .mode =3D 0444, + .proc_handler =3D proc_dointvec }, + {} + }; +diff -urNp linux-3.0.8/arch/x86/kernel/x8664_ksyms_64.c linux-3.0.8/arch= /x86/kernel/x8664_ksyms_64.c +--- linux-3.0.8/arch/x86/kernel/x8664_ksyms_64.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/arch/x86/kernel/x8664_ksyms_64.c 2011-08-23 21:47:55.000= 000000 -0400 +@@ -29,8 +29,6 @@ EXPORT_SYMBOL(__put_user_8); + EXPORT_SYMBOL(copy_user_generic_string); + EXPORT_SYMBOL(copy_user_generic_unrolled); EXPORT_SYMBOL(__copy_user_nocache); --EXPORT_SYMBOL(copy_from_user); --EXPORT_SYMBOL(copy_to_user); - EXPORT_SYMBOL(__copy_from_user_inatomic); +-EXPORT_SYMBOL(_copy_from_user); +-EXPORT_SYMBOL(_copy_to_user); =20 EXPORT_SYMBOL(copy_page); -diff -urNp linux-2.6.32.48/arch/x86/kernel/xsave.c linux-2.6.32.48/arch/= x86/kernel/xsave.c ---- linux-2.6.32.48/arch/x86/kernel/xsave.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/kernel/xsave.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -54,7 +54,7 @@ int check_for_xstate(struct i387_fxsave_ + EXPORT_SYMBOL(clear_page); +diff -urNp linux-3.0.8/arch/x86/kernel/xsave.c linux-3.0.8/arch/x86/kern= el/xsave.c +--- linux-3.0.8/arch/x86/kernel/xsave.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/x86/kernel/xsave.c 2011-10-06 04:17:55.000000000 -0= 400 +@@ -130,7 +130,7 @@ int check_for_xstate(struct i387_fxsave_ fx_sw_user->xstate_size > fx_sw_user->extended_size) - return -1; + return -EINVAL; =20 - err =3D __get_user(magic2, (__u32 *) (((void *)fpstate) + + err =3D __get_user(magic2, (__u32 __user *) (((void __user *)fpstate) = + fx_sw_user->extended_size - FP_XSTATE_MAGIC2_SIZE)); - /* -@@ -196,7 +196,7 @@ fx_only: + if (err) +@@ -267,7 +267,7 @@ fx_only: * the other extended state. */ xrstor_state(init_xstate_buf, pcntxt_mask & ~XSTATE_FPSSE); @@ -19104,38 +16815,36 @@ diff -urNp linux-2.6.32.48/arch/x86/kernel/xsav= e.c linux-2.6.32.48/arch/x86/kern } =20 /* -@@ -228,7 +228,7 @@ int restore_i387_xstate(void __user *buf - if (task_thread_info(tsk)->status & TS_XSAVE) +@@ -299,7 +299,7 @@ int restore_i387_xstate(void __user *buf + if (use_xsave()) err =3D restore_user_xstate(buf); else - err =3D fxrstor_checking((__force struct i387_fxsave_struct *) -+ err =3D fxrstor_checking((struct i387_fxsave_struct __user *) ++ err =3D fxrstor_checking((struct i387_fxsave_struct __force_kernel *) buf); if (unlikely(err)) { /* -diff -urNp linux-2.6.32.48/arch/x86/kvm/emulate.c linux-2.6.32.48/arch/x= 86/kvm/emulate.c ---- linux-2.6.32.48/arch/x86/kvm/emulate.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/kvm/emulate.c 2011-11-12 12:46:42.000000000= -0500 -@@ -81,8 +81,8 @@ - #define Src2CL (1<<29) +diff -urNp linux-3.0.8/arch/x86/kvm/emulate.c linux-3.0.8/arch/x86/kvm/e= mulate.c +--- linux-3.0.8/arch/x86/kvm/emulate.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/kvm/emulate.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -96,7 +96,7 @@ #define Src2ImmByte (2<<29) #define Src2One (3<<29) --#define Src2Imm16 (4<<29) + #define Src2Imm (4<<29) -#define Src2Mask (7<<29) -+#define Src2Imm16 (4U<<29) +#define Src2Mask (7U<<29) =20 - enum { - Group1_80, Group1_81, Group1_82, Group1_83, -@@ -411,6 +411,7 @@ static u32 group2_table[] =3D { + #define X2(x...) x, x + #define X3(x...) X2(x), x +@@ -207,6 +207,7 @@ struct gprefix { =20 - #define ____emulate_2op(_op, _src, _dst, _eflags, _x, _y, _suffix) \ + #define ____emulate_2op(_op, _src, _dst, _eflags, _x, _y, _suffix, _dst= type) \ do { \ + unsigned long _tmp; \ __asm__ __volatile__ ( \ _PRE_EFLAGS("0", "4", "2") \ _op _suffix " %"_x"3,%1; " \ -@@ -424,8 +425,6 @@ static u32 group2_table[] =3D { +@@ -220,8 +221,6 @@ struct gprefix { /* Raw emulation: instruction has two explicit operands. */ #define __emulate_2op_nobyte(_op,_src,_dst,_eflags,_wx,_wy,_lx,_ly,_qx,= _qy) \ do { \ @@ -19143,19 +16852,19 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/emulate= .c linux-2.6.32.48/arch/x86/kvm/e - \ switch ((_dst).bytes) { \ case 2: \ - ____emulate_2op(_op,_src,_dst,_eflags,_wx,_wy,"w"); \ -@@ -441,7 +440,6 @@ static u32 group2_table[] =3D { + ____emulate_2op(_op,_src,_dst,_eflags,_wx,_wy,"w",u16);\ +@@ -237,7 +236,6 @@ struct gprefix { =20 #define __emulate_2op(_op,_src,_dst,_eflags,_bx,_by,_wx,_wy,_lx,_ly,_qx= ,_qy) \ do { \ - unsigned long _tmp; \ switch ((_dst).bytes) { \ case 1: \ - ____emulate_2op(_op,_src,_dst,_eflags,_bx,_by,"b"); \ -diff -urNp linux-2.6.32.48/arch/x86/kvm/lapic.c linux-2.6.32.48/arch/x86= /kvm/lapic.c ---- linux-2.6.32.48/arch/x86/kvm/lapic.c 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/arch/x86/kvm/lapic.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -52,7 +52,7 @@ + ____emulate_2op(_op,_src,_dst,_eflags,_bx,_by,"b",u8); \ +diff -urNp linux-3.0.8/arch/x86/kvm/lapic.c linux-3.0.8/arch/x86/kvm/lap= ic.c +--- linux-3.0.8/arch/x86/kvm/lapic.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/kvm/lapic.c 2011-08-23 21:47:55.000000000 -0400 +@@ -53,7 +53,7 @@ #define APIC_BUS_CYCLE_NS 1 =20 /* #define apic_debug(fmt,arg...) printk(KERN_WARNING fmt,##arg) */ @@ -19164,49 +16873,90 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/lapic.c= linux-2.6.32.48/arch/x86/kvm/lap =20 #define APIC_LVT_NUM 6 /* 14 is the version for Xeon and Pentium 8.4.8*/ -diff -urNp linux-2.6.32.48/arch/x86/kvm/paging_tmpl.h linux-2.6.32.48/ar= ch/x86/kvm/paging_tmpl.h ---- linux-2.6.32.48/arch/x86/kvm/paging_tmpl.h 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/kvm/paging_tmpl.h 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -416,6 +416,8 @@ static int FNAME(page_fault)(struct kvm_ - int level =3D PT_PAGE_TABLE_LEVEL; +diff -urNp linux-3.0.8/arch/x86/kvm/mmu.c linux-3.0.8/arch/x86/kvm/mmu.c +--- linux-3.0.8/arch/x86/kvm/mmu.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/kvm/mmu.c 2011-08-23 21:47:55.000000000 -0400 +@@ -3238,7 +3238,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu * +=20 + pgprintk("%s: gpa %llx bytes %d\n", __func__, gpa, bytes); +=20 +- invlpg_counter =3D atomic_read(&vcpu->kvm->arch.invlpg_counter); ++ invlpg_counter =3D atomic_read_unchecked(&vcpu->kvm->arch.invlpg_count= er); +=20 + /* + * Assume that the pte write on a page table of the same type +@@ -3270,7 +3270,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu * + } +=20 + spin_lock(&vcpu->kvm->mmu_lock); +- if (atomic_read(&vcpu->kvm->arch.invlpg_counter) !=3D invlpg_counter) ++ if (atomic_read_unchecked(&vcpu->kvm->arch.invlpg_counter) !=3D invlpg= _counter) + gentry =3D 0; + kvm_mmu_free_some_pages(vcpu); + ++vcpu->kvm->stat.mmu_pte_write; +diff -urNp linux-3.0.8/arch/x86/kvm/paging_tmpl.h linux-3.0.8/arch/x86/k= vm/paging_tmpl.h +--- linux-3.0.8/arch/x86/kvm/paging_tmpl.h 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/kvm/paging_tmpl.h 2011-10-06 04:17:55.000000000= -0400 +@@ -182,7 +182,7 @@ walk: + break; + } +=20 +- ptep_user =3D (pt_element_t __user *)((void *)host_addr + offset); ++ ptep_user =3D (pt_element_t __force_user *)((void *)host_addr + offse= t); + if (unlikely(__copy_from_user(&pte, ptep_user, sizeof(pte)))) { + present =3D false; + break; +@@ -583,6 +583,8 @@ static int FNAME(page_fault)(struct kvm_ unsigned long mmu_seq; + bool map_writable; =20 + pax_track_stack(); + pgprintk("%s: addr %lx err %x\n", __func__, addr, error_code); - kvm_mmu_audit(vcpu, "pre page fault"); =20 -diff -urNp linux-2.6.32.48/arch/x86/kvm/svm.c linux-2.6.32.48/arch/x86/k= vm/svm.c ---- linux-2.6.32.48/arch/x86/kvm/svm.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/kvm/svm.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -2486,7 +2486,11 @@ static void reload_tss(struct kvm_vcpu * + r =3D mmu_topup_memory_caches(vcpu); +@@ -703,7 +705,7 @@ static void FNAME(invlpg)(struct kvm_vcp + if (need_flush) + kvm_flush_remote_tlbs(vcpu->kvm); +=20 +- atomic_inc(&vcpu->kvm->arch.invlpg_counter); ++ atomic_inc_unchecked(&vcpu->kvm->arch.invlpg_counter); +=20 + spin_unlock(&vcpu->kvm->mmu_lock); +=20 +diff -urNp linux-3.0.8/arch/x86/kvm/svm.c linux-3.0.8/arch/x86/kvm/svm.c +--- linux-3.0.8/arch/x86/kvm/svm.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/kvm/svm.c 2011-08-23 21:47:55.000000000 -0400 +@@ -3377,7 +3377,11 @@ static void reload_tss(struct kvm_vcpu * int cpu =3D raw_smp_processor_id(); =20 - struct svm_cpu_data *svm_data =3D per_cpu(svm_data, cpu); + struct svm_cpu_data *sd =3D per_cpu(svm_data, cpu); + + pax_open_kernel(); - svm_data->tss_desc->type =3D 9; /* available 32/64-bit TSS */ + sd->tss_desc->type =3D 9; /* available 32/64-bit TSS */ + pax_close_kernel(); + load_TR_desc(); } =20 -@@ -2947,7 +2951,7 @@ static bool svm_gb_page_enable(void) - return true; - } +@@ -3755,6 +3759,10 @@ static void svm_vcpu_run(struct kvm_vcpu + #endif + #endif =20 --static struct kvm_x86_ops svm_x86_ops =3D { -+static const struct kvm_x86_ops svm_x86_ops =3D { - .cpu_has_kvm_support =3D has_svm, - .disabled_by_bios =3D is_disabled, - .hardware_setup =3D svm_hardware_setup, -diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c linux-2.6.32.48/arch/x86/k= vm/vmx.c ---- linux-2.6.32.48/arch/x86/kvm/vmx.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/kvm/vmx.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -570,7 +570,11 @@ static void reload_tss(void) ++#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF) ++ __set_fs(current_thread_info()->addr_limit); ++#endif ++ + reload_tss(vcpu); +=20 + local_irq_disable(); +diff -urNp linux-3.0.8/arch/x86/kvm/vmx.c linux-3.0.8/arch/x86/kvm/vmx.c +--- linux-3.0.8/arch/x86/kvm/vmx.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/kvm/vmx.c 2011-08-23 21:47:55.000000000 -0400 +@@ -797,7 +797,11 @@ static void reload_tss(void) + struct desc_struct *descs; =20 - kvm_get_gdt(&gdt); - descs =3D (void *)gdt.base; + descs =3D (void *)gdt->address; + + pax_open_kernel(); descs[GDT_ENTRY_TSS].type =3D 9; /* available TSS */ @@ -19215,7 +16965,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c lin= ux-2.6.32.48/arch/x86/kvm/vmx.c load_TR_desc(); } =20 -@@ -1410,8 +1414,11 @@ static __init int hardware_setup(void) +@@ -1747,8 +1751,11 @@ static __init int hardware_setup(void) if (!cpu_has_vmx_flexpriority()) flexpriority_enabled =3D 0; =20 @@ -19229,16 +16979,16 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c l= inux-2.6.32.48/arch/x86/kvm/vmx.c =20 if (enable_ept && !cpu_has_vmx_ept_2m_page()) kvm_disable_largepages(); -@@ -2362,7 +2369,7 @@ static int vmx_vcpu_setup(struct vcpu_vm - vmcs_writel(HOST_IDTR_BASE, dt.base); /* 22.2.4 */ +@@ -2814,7 +2821,7 @@ static int vmx_vcpu_setup(struct vcpu_vm + vmcs_writel(HOST_IDTR_BASE, dt.address); /* 22.2.4 */ =20 asm("mov $.Lkvm_vmx_return, %0" : "=3Dr"(kvm_vmx_return)); - vmcs_writel(HOST_RIP, kvm_vmx_return); /* 22.2.5 */ + vmcs_writel(HOST_RIP, ktla_ktva(kvm_vmx_return)); /* 22.2.5 */ vmcs_write32(VM_EXIT_MSR_STORE_COUNT, 0); vmcs_write32(VM_EXIT_MSR_LOAD_COUNT, 0); - vmcs_write32(VM_ENTRY_MSR_LOAD_COUNT, 0); -@@ -3718,6 +3725,12 @@ static void vmx_vcpu_run(struct kvm_vcpu + vmcs_write64(VM_EXIT_MSR_LOAD_ADDR, __pa(vmx->msr_autoload.host)); +@@ -4211,6 +4218,12 @@ static void __noclone vmx_vcpu_run(struc "jmp .Lkvm_vmx_return \n\t" ".Llaunched: " __ex(ASM_VMX_VMRESUME) "\n\t" ".Lkvm_vmx_return: " @@ -19249,26 +16999,23 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c l= inux-2.6.32.48/arch/x86/kvm/vmx.c +#endif + /* Save guest registers, load host registers, keep flags */ - "xchg %0, (%%"R"sp) \n\t" - "mov %%"R"ax, %c[rax](%0) \n\t" -@@ -3764,8 +3777,13 @@ static void vmx_vcpu_run(struct kvm_vcpu - [r15]"i"(offsetof(struct vcpu_vmx, vcpu.arch.regs[VCPU_REGS_R15])), + "mov %0, %c[wordsize](%%"R"sp) \n\t" + "pop %0 \n\t" +@@ -4259,6 +4272,11 @@ static void __noclone vmx_vcpu_run(struc #endif - [cr2]"i"(offsetof(struct vcpu_vmx, vcpu.arch.cr2)) + [cr2]"i"(offsetof(struct vcpu_vmx, vcpu.arch.cr2)), + [wordsize]"i"(sizeof(ulong)) + +#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_KERNEXEC) + ,[cs]"i"(__KERNEL_CS) +#endif + : "cc", "memory" -- , R"bx", R"di", R"si" -+ , R"ax", R"bx", R"di", R"si" + , R"ax", R"bx", R"di", R"si" #ifdef CONFIG_X86_64 - , "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15" - #endif -@@ -3782,7 +3800,16 @@ static void vmx_vcpu_run(struct kvm_vcpu - if (vmx->rmode.irq.pending) - fixup_rmode_irq(vmx); +@@ -4276,7 +4294,16 @@ static void __noclone vmx_vcpu_run(struc +=20 + vmx->idt_vectoring_info =3D vmcs_read32(IDT_VECTORING_INFO_FIELD); =20 - asm("mov %0, %%ds; mov %0, %%es" : : "r"(__USER_DS)); + asm("mov %0, %%ds; mov %0, %%es; mov %0, %%ss" : : "r"(__KERNEL_DS)); @@ -19283,29 +17030,31 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/vmx.c l= inux-2.6.32.48/arch/x86/kvm/vmx.c + vmx->launched =3D 1; =20 - vmx_complete_interrupts(vmx); -@@ -3957,7 +3984,7 @@ static bool vmx_gb_page_enable(void) - return false; - } -=20 --static struct kvm_x86_ops vmx_x86_ops =3D { -+static const struct kvm_x86_ops vmx_x86_ops =3D { - .cpu_has_kvm_support =3D cpu_has_kvm_support, - .disabled_by_bios =3D vmx_disabled_by_bios, - .hardware_setup =3D hardware_setup, -diff -urNp linux-2.6.32.48/arch/x86/kvm/x86.c linux-2.6.32.48/arch/x86/k= vm/x86.c ---- linux-2.6.32.48/arch/x86/kvm/x86.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/kvm/x86.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -82,7 +82,7 @@ static void update_cr8_intercept(struct=20 - static int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid, - struct kvm_cpuid_entry2 __user *entries); -=20 --struct kvm_x86_ops *kvm_x86_ops; -+const struct kvm_x86_ops *kvm_x86_ops; - EXPORT_SYMBOL_GPL(kvm_x86_ops); -=20 - int ignore_msrs =3D 0; -@@ -1430,15 +1430,20 @@ static int kvm_vcpu_ioctl_set_cpuid2(str + vmx->exit_reason =3D vmcs_read32(VM_EXIT_REASON); +diff -urNp linux-3.0.8/arch/x86/kvm/x86.c linux-3.0.8/arch/x86/kvm/x86.c +--- linux-3.0.8/arch/x86/kvm/x86.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/kvm/x86.c 2011-10-06 04:17:55.000000000 -0400 +@@ -1313,8 +1313,8 @@ static int xen_hvm_config(struct kvm_vcp + { + struct kvm *kvm =3D vcpu->kvm; + int lm =3D is_long_mode(vcpu); +- u8 *blob_addr =3D lm ? (u8 *)(long)kvm->arch.xen_hvm_config.blob_addr_= 64 +- : (u8 *)(long)kvm->arch.xen_hvm_config.blob_addr_32; ++ u8 __user *blob_addr =3D lm ? (u8 __user *)(long)kvm->arch.xen_hvm_con= fig.blob_addr_64 ++ : (u8 __user *)(long)kvm->arch.xen_hvm_config.blob_addr_32; + u8 blob_size =3D lm ? kvm->arch.xen_hvm_config.blob_size_64 + : kvm->arch.xen_hvm_config.blob_size_32; + u32 page_num =3D data & ~PAGE_MASK; +@@ -2057,6 +2057,8 @@ long kvm_arch_dev_ioctl(struct file *fil + if (n < msr_list.nmsrs) + goto out; + r =3D -EFAULT; ++ if (num_msrs_to_save > ARRAY_SIZE(msrs_to_save)) ++ goto out; + if (copy_to_user(user_msr_list->indices, &msrs_to_save, + num_msrs_to_save * sizeof(u32))) + goto out; +@@ -2229,15 +2231,20 @@ static int kvm_vcpu_ioctl_set_cpuid2(str struct kvm_cpuid2 *cpuid, struct kvm_cpuid_entry2 __user *entries) { @@ -19328,15 +17077,14 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/x86.c l= inux-2.6.32.48/arch/x86/kvm/x86.c + } vcpu->arch.cpuid_nent =3D cpuid->nent; kvm_apic_set_version(vcpu); - return 0; -@@ -1451,16 +1456,20 @@ static int kvm_vcpu_ioctl_get_cpuid2(str + kvm_x86_ops->cpuid_update(vcpu); +@@ -2252,15 +2259,19 @@ static int kvm_vcpu_ioctl_get_cpuid2(str struct kvm_cpuid2 *cpuid, struct kvm_cpuid_entry2 __user *entries) { - int r; + int r, i; =20 - vcpu_load(vcpu); r =3D -E2BIG; if (cpuid->nent < vcpu->arch.cpuid_nent) goto out; @@ -19353,7 +17101,7 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/x86.c lin= ux-2.6.32.48/arch/x86/kvm/x86.c return 0; =20 out: -@@ -1678,7 +1687,7 @@ static int kvm_vcpu_ioctl_set_lapic(stru +@@ -2579,7 +2590,7 @@ static int kvm_vcpu_ioctl_set_lapic(stru static int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq) { @@ -19362,262 +17110,596 @@ diff -urNp linux-2.6.32.48/arch/x86/kvm/x86.c= linux-2.6.32.48/arch/x86/kvm/x86.c return -EINVAL; if (irqchip_in_kernel(vcpu->kvm)) return -ENXIO; -@@ -3260,10 +3269,10 @@ static struct notifier_block kvmclock_cp - .notifier_call =3D kvmclock_cpufreq_notifier - }; +@@ -4878,7 +4889,7 @@ void kvm_after_handle_nmi(struct kvm_vcp + } + EXPORT_SYMBOL_GPL(kvm_after_handle_nmi); =20 -int kvm_arch_init(void *opaque) +int kvm_arch_init(const void *opaque) { - int r, cpu; -- struct kvm_x86_ops *ops =3D (struct kvm_x86_ops *)opaque; -+ const struct kvm_x86_ops *ops =3D (const struct kvm_x86_ops *)opaque; -=20 - if (kvm_x86_ops) { - printk(KERN_ERR "kvm: already loaded the other module\n"); -diff -urNp linux-2.6.32.48/arch/x86/lguest/boot.c linux-2.6.32.48/arch/x= 86/lguest/boot.c ---- linux-2.6.32.48/arch/x86/lguest/boot.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/lguest/boot.c 2011-11-12 12:46:42.000000000= -0500 -@@ -1172,9 +1172,10 @@ static __init int early_put_chars(u32 vt + int r; + struct kvm_x86_ops *ops =3D (struct kvm_x86_ops *)opaque; +diff -urNp linux-3.0.8/arch/x86/lguest/boot.c linux-3.0.8/arch/x86/lgues= t/boot.c +--- linux-3.0.8/arch/x86/lguest/boot.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/lguest/boot.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -1176,9 +1176,10 @@ static __init int early_put_chars(u32 vt * Rebooting also tells the Host we're finished, but the RESTART flag t= ells the * Launcher to reboot us. */ -static void lguest_restart(char *reason) +static __noreturn void lguest_restart(char *reason) { - kvm_hypercall2(LHCALL_SHUTDOWN, __pa(reason), LGUEST_SHUTDOWN_RESTART)= ; + hcall(LHCALL_SHUTDOWN, __pa(reason), LGUEST_SHUTDOWN_RESTART, 0, 0); + BUG(); } =20 /*G:050 -diff -urNp linux-2.6.32.48/arch/x86/lib/atomic64_32.c linux-2.6.32.48/ar= ch/x86/lib/atomic64_32.c ---- linux-2.6.32.48/arch/x86/lib/atomic64_32.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/atomic64_32.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -25,6 +25,12 @@ u64 atomic64_cmpxchg(atomic64_t *ptr, u6 - } - EXPORT_SYMBOL(atomic64_cmpxchg); -=20 -+u64 atomic64_cmpxchg_unchecked(atomic64_unchecked_t *ptr, u64 old_val, = u64 new_val) -+{ -+ return cmpxchg8b(&ptr->counter, old_val, new_val); -+} -+EXPORT_SYMBOL(atomic64_cmpxchg_unchecked); +diff -urNp linux-3.0.8/arch/x86/lib/atomic64_32.c linux-3.0.8/arch/x86/l= ib/atomic64_32.c +--- linux-3.0.8/arch/x86/lib/atomic64_32.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/lib/atomic64_32.c 2011-08-23 21:47:55.000000000= -0400 +@@ -8,18 +8,30 @@ +=20 + long long atomic64_read_cx8(long long, const atomic64_t *v); + EXPORT_SYMBOL(atomic64_read_cx8); ++long long atomic64_read_unchecked_cx8(long long, const atomic64_uncheck= ed_t *v); ++EXPORT_SYMBOL(atomic64_read_unchecked_cx8); + long long atomic64_set_cx8(long long, const atomic64_t *v); + EXPORT_SYMBOL(atomic64_set_cx8); ++long long atomic64_set_unchecked_cx8(long long, const atomic64_unchecke= d_t *v); ++EXPORT_SYMBOL(atomic64_set_unchecked_cx8); + long long atomic64_xchg_cx8(long long, unsigned high); + EXPORT_SYMBOL(atomic64_xchg_cx8); + long long atomic64_add_return_cx8(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_add_return_cx8); ++long long atomic64_add_return_unchecked_cx8(long long a, atomic64_unche= cked_t *v); ++EXPORT_SYMBOL(atomic64_add_return_unchecked_cx8); + long long atomic64_sub_return_cx8(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_sub_return_cx8); ++long long atomic64_sub_return_unchecked_cx8(long long a, atomic64_unche= cked_t *v); ++EXPORT_SYMBOL(atomic64_sub_return_unchecked_cx8); + long long atomic64_inc_return_cx8(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_inc_return_cx8); ++long long atomic64_inc_return_unchecked_cx8(long long a, atomic64_unche= cked_t *v); ++EXPORT_SYMBOL(atomic64_inc_return_unchecked_cx8); + long long atomic64_dec_return_cx8(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_dec_return_cx8); ++long long atomic64_dec_return_unchecked_cx8(long long a, atomic64_unche= cked_t *v); ++EXPORT_SYMBOL(atomic64_dec_return_unchecked_cx8); + long long atomic64_dec_if_positive_cx8(atomic64_t *v); + EXPORT_SYMBOL(atomic64_dec_if_positive_cx8); + int atomic64_inc_not_zero_cx8(atomic64_t *v); +@@ -30,26 +42,46 @@ EXPORT_SYMBOL(atomic64_add_unless_cx8); + #ifndef CONFIG_X86_CMPXCHG64 + long long atomic64_read_386(long long, const atomic64_t *v); + EXPORT_SYMBOL(atomic64_read_386); ++long long atomic64_read_unchecked_386(long long, const atomic64_uncheck= ed_t *v); ++EXPORT_SYMBOL(atomic64_read_unchecked_386); + long long atomic64_set_386(long long, const atomic64_t *v); + EXPORT_SYMBOL(atomic64_set_386); ++long long atomic64_set_unchecked_386(long long, const atomic64_unchecke= d_t *v); ++EXPORT_SYMBOL(atomic64_set_unchecked_386); + long long atomic64_xchg_386(long long, unsigned high); + EXPORT_SYMBOL(atomic64_xchg_386); + long long atomic64_add_return_386(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_add_return_386); ++long long atomic64_add_return_unchecked_386(long long a, atomic64_unche= cked_t *v); ++EXPORT_SYMBOL(atomic64_add_return_unchecked_386); + long long atomic64_sub_return_386(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_sub_return_386); ++long long atomic64_sub_return_unchecked_386(long long a, atomic64_unche= cked_t *v); ++EXPORT_SYMBOL(atomic64_sub_return_unchecked_386); + long long atomic64_inc_return_386(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_inc_return_386); ++long long atomic64_inc_return_unchecked_386(long long a, atomic64_unche= cked_t *v); ++EXPORT_SYMBOL(atomic64_inc_return_unchecked_386); + long long atomic64_dec_return_386(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_dec_return_386); ++long long atomic64_dec_return_unchecked_386(long long a, atomic64_unche= cked_t *v); ++EXPORT_SYMBOL(atomic64_dec_return_unchecked_386); + long long atomic64_add_386(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_add_386); ++long long atomic64_add_unchecked_386(long long a, atomic64_unchecked_t = *v); ++EXPORT_SYMBOL(atomic64_add_unchecked_386); + long long atomic64_sub_386(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_sub_386); ++long long atomic64_sub_unchecked_386(long long a, atomic64_unchecked_t = *v); ++EXPORT_SYMBOL(atomic64_sub_unchecked_386); + long long atomic64_inc_386(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_inc_386); ++long long atomic64_inc_unchecked_386(long long a, atomic64_unchecked_t = *v); ++EXPORT_SYMBOL(atomic64_inc_unchecked_386); + long long atomic64_dec_386(long long a, atomic64_t *v); + EXPORT_SYMBOL(atomic64_dec_386); ++long long atomic64_dec_unchecked_386(long long a, atomic64_unchecked_t = *v); ++EXPORT_SYMBOL(atomic64_dec_unchecked_386); + long long atomic64_dec_if_positive_386(atomic64_t *v); + EXPORT_SYMBOL(atomic64_dec_if_positive_386); + int atomic64_inc_not_zero_386(atomic64_t *v); +diff -urNp linux-3.0.8/arch/x86/lib/atomic64_386_32.S linux-3.0.8/arch/x= 86/lib/atomic64_386_32.S +--- linux-3.0.8/arch/x86/lib/atomic64_386_32.S 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/lib/atomic64_386_32.S 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -48,6 +48,10 @@ BEGIN(read) + movl (v), %eax + movl 4(v), %edx + RET_ENDP ++BEGIN(read_unchecked) ++ movl (v), %eax ++ movl 4(v), %edx ++RET_ENDP + #undef v +=20 + #define v %esi +@@ -55,6 +59,10 @@ BEGIN(set) + movl %ebx, (v) + movl %ecx, 4(v) + RET_ENDP ++BEGIN(set_unchecked) ++ movl %ebx, (v) ++ movl %ecx, 4(v) ++RET_ENDP + #undef v +=20 + #define v %esi +@@ -70,6 +78,20 @@ RET_ENDP + BEGIN(add) + addl %eax, (v) + adcl %edx, 4(v) + - /** - * atomic64_xchg - xchg atomic64 variable - * @ptr: pointer to type atomic64_t -@@ -56,6 +62,36 @@ u64 atomic64_xchg(atomic64_t *ptr, u64 n - EXPORT_SYMBOL(atomic64_xchg); -=20 - /** -+ * atomic64_xchg_unchecked - xchg atomic64 variable -+ * @ptr: pointer to type atomic64_unchecked_t -+ * @new_val: value to assign -+ * -+ * Atomically xchgs the value of @ptr to @new_val and returns -+ * the old value. -+ */ -+u64 atomic64_xchg_unchecked(atomic64_unchecked_t *ptr, u64 new_val) -+{ -+ /* -+ * Try first with a (possibly incorrect) assumption about -+ * what we have there. We'll do two loops most likely, -+ * but we'll get an ownership MESI transaction straight away -+ * instead of a read transaction followed by a -+ * flush-for-ownership transaction: -+ */ -+ u64 old_val, real_val =3D 0; ++#ifdef CONFIG_PAX_REFCOUNT ++ jno 0f ++ subl %eax, (v) ++ sbbl %edx, 4(v) ++ int $4 ++0: ++ _ASM_EXTABLE(0b, 0b) ++#endif ++ ++RET_ENDP ++BEGIN(add_unchecked) ++ addl %eax, (v) ++ adcl %edx, 4(v) + RET_ENDP + #undef v +=20 +@@ -77,6 +99,24 @@ RET_ENDP + BEGIN(add_return) + addl (v), %eax + adcl 4(v), %edx + -+ do { -+ old_val =3D real_val; ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++1234: ++ _ASM_EXTABLE(1234b, 2f) ++#endif + -+ real_val =3D atomic64_cmpxchg_unchecked(ptr, old_val, new_val); ++ movl %eax, (v) ++ movl %edx, 4(v) + -+ } while (real_val !=3D old_val); ++#ifdef CONFIG_PAX_REFCOUNT ++2: ++#endif + -+ return old_val; -+} -+EXPORT_SYMBOL(atomic64_xchg_unchecked); ++RET_ENDP ++BEGIN(add_return_unchecked) ++ addl (v), %eax ++ adcl 4(v), %edx + movl %eax, (v) + movl %edx, 4(v) + RET_ENDP +@@ -86,6 +126,20 @@ RET_ENDP + BEGIN(sub) + subl %eax, (v) + sbbl %edx, 4(v) + -+/** - * atomic64_set - set atomic64 variable - * @ptr: pointer to type atomic64_t - * @new_val: value to assign -@@ -69,7 +105,19 @@ void atomic64_set(atomic64_t *ptr, u64 n - EXPORT_SYMBOL(atomic64_set); -=20 - /** --EXPORT_SYMBOL(atomic64_read); -+ * atomic64_unchecked_set - set atomic64 variable -+ * @ptr: pointer to type atomic64_unchecked_t -+ * @new_val: value to assign -+ * -+ * Atomically sets the value of @ptr to @new_val. -+ */ -+void atomic64_set_unchecked(atomic64_unchecked_t *ptr, u64 new_val) -+{ -+ atomic64_xchg_unchecked(ptr, new_val); -+} -+EXPORT_SYMBOL(atomic64_set_unchecked); ++#ifdef CONFIG_PAX_REFCOUNT ++ jno 0f ++ addl %eax, (v) ++ adcl %edx, 4(v) ++ int $4 ++0: ++ _ASM_EXTABLE(0b, 0b) ++#endif ++ ++RET_ENDP ++BEGIN(sub_unchecked) ++ subl %eax, (v) ++ sbbl %edx, 4(v) + RET_ENDP + #undef v +=20 +@@ -96,6 +150,27 @@ BEGIN(sub_return) + sbbl $0, %edx + addl (v), %eax + adcl 4(v), %edx + -+/** - * atomic64_add_return - add and return - * @delta: integer value to add - * @ptr: pointer to type atomic64_t -@@ -99,24 +147,72 @@ noinline u64 atomic64_add_return(u64 del - } - EXPORT_SYMBOL(atomic64_add_return); -=20 -+/** -+ * atomic64_add_return_unchecked - add and return -+ * @delta: integer value to add -+ * @ptr: pointer to type atomic64_unchecked_t -+ * -+ * Atomically adds @delta to @ptr and returns @delta + *@ptr -+ */ -+noinline u64 atomic64_add_return_unchecked(u64 delta, atomic64_unchecke= d_t *ptr) -+{ -+ /* -+ * Try first with a (possibly incorrect) assumption about -+ * what we have there. We'll do two loops most likely, -+ * but we'll get an ownership MESI transaction straight away -+ * instead of a read transaction followed by a -+ * flush-for-ownership transaction: -+ */ -+ u64 old_val, new_val, real_val =3D 0; ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++1234: ++ _ASM_EXTABLE(1234b, 2f) ++#endif + -+ do { -+ old_val =3D real_val; -+ new_val =3D old_val + delta; ++ movl %eax, (v) ++ movl %edx, 4(v) + -+ real_val =3D atomic64_cmpxchg_unchecked(ptr, old_val, new_val); ++#ifdef CONFIG_PAX_REFCOUNT ++2: ++#endif + -+ } while (real_val !=3D old_val); ++RET_ENDP ++BEGIN(sub_return_unchecked) ++ negl %edx ++ negl %eax ++ sbbl $0, %edx ++ addl (v), %eax ++ adcl 4(v), %edx + movl %eax, (v) + movl %edx, 4(v) + RET_ENDP +@@ -105,6 +180,20 @@ RET_ENDP + BEGIN(inc) + addl $1, (v) + adcl $0, 4(v) + -+ return new_val; -+} -+EXPORT_SYMBOL(atomic64_add_return_unchecked); ++#ifdef CONFIG_PAX_REFCOUNT ++ jno 0f ++ subl $1, (v) ++ sbbl $0, 4(v) ++ int $4 ++0: ++ _ASM_EXTABLE(0b, 0b) ++#endif ++ ++RET_ENDP ++BEGIN(inc_unchecked) ++ addl $1, (v) ++ adcl $0, 4(v) + RET_ENDP + #undef v +=20 +@@ -114,6 +203,26 @@ BEGIN(inc_return) + movl 4(v), %edx + addl $1, %eax + adcl $0, %edx + - u64 atomic64_sub_return(u64 delta, atomic64_t *ptr) - { - return atomic64_add_return(-delta, ptr); - } - EXPORT_SYMBOL(atomic64_sub_return); -=20 -+u64 atomic64_sub_return_unchecked(u64 delta, atomic64_unchecked_t *ptr) -+{ -+ return atomic64_add_return_unchecked(-delta, ptr); -+} -+EXPORT_SYMBOL(atomic64_sub_return_unchecked); ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++1234: ++ _ASM_EXTABLE(1234b, 2f) ++#endif + - u64 atomic64_inc_return(atomic64_t *ptr) - { - return atomic64_add_return(1, ptr); - } - EXPORT_SYMBOL(atomic64_inc_return); ++ movl %eax, (v) ++ movl %edx, 4(v) ++ ++#ifdef CONFIG_PAX_REFCOUNT ++2: ++#endif ++ ++RET_ENDP ++BEGIN(inc_return_unchecked) ++ movl (v), %eax ++ movl 4(v), %edx ++ addl $1, %eax ++ adcl $0, %edx + movl %eax, (v) + movl %edx, 4(v) + RET_ENDP +@@ -123,6 +232,20 @@ RET_ENDP + BEGIN(dec) + subl $1, (v) + sbbl $0, 4(v) ++ ++#ifdef CONFIG_PAX_REFCOUNT ++ jno 0f ++ addl $1, (v) ++ adcl $0, 4(v) ++ int $4 ++0: ++ _ASM_EXTABLE(0b, 0b) ++#endif ++ ++RET_ENDP ++BEGIN(dec_unchecked) ++ subl $1, (v) ++ sbbl $0, 4(v) + RET_ENDP + #undef v +=20 +@@ -132,6 +255,26 @@ BEGIN(dec_return) + movl 4(v), %edx + subl $1, %eax + sbbl $0, %edx ++ ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++1234: ++ _ASM_EXTABLE(1234b, 2f) ++#endif ++ ++ movl %eax, (v) ++ movl %edx, 4(v) ++ ++#ifdef CONFIG_PAX_REFCOUNT ++2: ++#endif ++ ++RET_ENDP ++BEGIN(dec_return_unchecked) ++ movl (v), %eax ++ movl 4(v), %edx ++ subl $1, %eax ++ sbbl $0, %edx + movl %eax, (v) + movl %edx, 4(v) + RET_ENDP +@@ -143,6 +286,13 @@ BEGIN(add_unless) + adcl %edx, %edi + addl (v), %eax + adcl 4(v), %edx ++ ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++1234: ++ _ASM_EXTABLE(1234b, 2f) ++#endif ++ + cmpl %eax, %esi + je 3f + 1: +@@ -168,6 +318,13 @@ BEGIN(inc_not_zero) + 1: + addl $1, %eax + adcl $0, %edx ++ ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++1234: ++ _ASM_EXTABLE(1234b, 2f) ++#endif ++ + movl %eax, (v) + movl %edx, 4(v) + movl $1, %eax +@@ -186,6 +343,13 @@ BEGIN(dec_if_positive) + movl 4(v), %edx + subl $1, %eax + sbbl $0, %edx ++ ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++1234: ++ _ASM_EXTABLE(1234b, 1f) ++#endif ++ + js 1f + movl %eax, (v) + movl %edx, 4(v) +diff -urNp linux-3.0.8/arch/x86/lib/atomic64_cx8_32.S linux-3.0.8/arch/x= 86/lib/atomic64_cx8_32.S +--- linux-3.0.8/arch/x86/lib/atomic64_cx8_32.S 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/lib/atomic64_cx8_32.S 2011-10-06 04:17:55.00000= 0000 -0400 +@@ -35,10 +35,20 @@ ENTRY(atomic64_read_cx8) + CFI_STARTPROC =20 -+u64 atomic64_inc_return_unchecked(atomic64_unchecked_t *ptr) -+{ -+ return atomic64_add_return_unchecked(1, ptr); -+} -+EXPORT_SYMBOL(atomic64_inc_return_unchecked); + read64 %ecx ++ pax_force_retaddr + ret + CFI_ENDPROC + ENDPROC(atomic64_read_cx8) +=20 ++ENTRY(atomic64_read_unchecked_cx8) ++ CFI_STARTPROC + - u64 atomic64_dec_return(atomic64_t *ptr) - { - return atomic64_sub_return(1, ptr); - } - EXPORT_SYMBOL(atomic64_dec_return); ++ read64 %ecx ++ pax_force_retaddr ++ ret ++ CFI_ENDPROC ++ENDPROC(atomic64_read_unchecked_cx8) ++ + ENTRY(atomic64_set_cx8) + CFI_STARTPROC =20 -+u64 atomic64_dec_return_unchecked(atomic64_unchecked_t *ptr) -+{ -+ return atomic64_sub_return_unchecked(1, ptr); -+} -+EXPORT_SYMBOL(atomic64_dec_return_unchecked); +@@ -48,10 +58,25 @@ ENTRY(atomic64_set_cx8) + cmpxchg8b (%esi) + jne 1b +=20 ++ pax_force_retaddr + ret + CFI_ENDPROC + ENDPROC(atomic64_set_cx8) +=20 ++ENTRY(atomic64_set_unchecked_cx8) ++ CFI_STARTPROC + - /** - * atomic64_add - add integer to atomic64 variable - * @delta: integer value to add -@@ -131,6 +227,19 @@ void atomic64_add(u64 delta, atomic64_t=20 - EXPORT_SYMBOL(atomic64_add); ++1: ++/* we don't need LOCK_PREFIX since aligned 64-bit writes ++ * are atomic on 586 and newer */ ++ cmpxchg8b (%esi) ++ jne 1b ++ ++ pax_force_retaddr ++ ret ++ CFI_ENDPROC ++ENDPROC(atomic64_set_unchecked_cx8) ++ + ENTRY(atomic64_xchg_cx8) + CFI_STARTPROC =20 - /** -+ * atomic64_add_unchecked - add integer to atomic64 variable -+ * @delta: integer value to add -+ * @ptr: pointer to type atomic64_unchecked_t -+ * -+ * Atomically adds @delta to @ptr. -+ */ -+void atomic64_add_unchecked(u64 delta, atomic64_unchecked_t *ptr) -+{ -+ atomic64_add_return_unchecked(delta, ptr); -+} -+EXPORT_SYMBOL(atomic64_add_unchecked); +@@ -62,12 +87,13 @@ ENTRY(atomic64_xchg_cx8) + cmpxchg8b (%esi) + jne 1b +=20 ++ pax_force_retaddr + ret + CFI_ENDPROC + ENDPROC(atomic64_xchg_cx8) +=20 +-.macro addsub_return func ins insc +-ENTRY(atomic64_\func\()_return_cx8) ++.macro addsub_return func ins insc unchecked=3D"" ++ENTRY(atomic64_\func\()_return\unchecked\()_cx8) + CFI_STARTPROC + SAVE ebp + SAVE ebx +@@ -84,27 +110,44 @@ ENTRY(atomic64_\func\()_return_cx8) + movl %edx, %ecx + \ins\()l %esi, %ebx + \insc\()l %edi, %ecx + -+/** - * atomic64_sub - subtract the atomic64 variable - * @delta: integer value to subtract - * @ptr: pointer to type atomic64_t -@@ -144,6 +253,19 @@ void atomic64_sub(u64 delta, atomic64_t=20 - EXPORT_SYMBOL(atomic64_sub); ++.ifb \unchecked ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++2: ++ _ASM_EXTABLE(2b, 3f) ++#endif ++.endif ++ + LOCK_PREFIX + cmpxchg8b (%ebp) + jne 1b +- +-10: + movl %ebx, %eax + movl %ecx, %edx ++ ++.ifb \unchecked ++#ifdef CONFIG_PAX_REFCOUNT ++3: ++#endif ++.endif ++ + RESTORE edi + RESTORE esi + RESTORE ebx + RESTORE ebp ++ pax_force_retaddr + ret + CFI_ENDPROC +-ENDPROC(atomic64_\func\()_return_cx8) ++ENDPROC(atomic64_\func\()_return\unchecked\()_cx8) + .endm =20 - /** -+ * atomic64_sub_unchecked - subtract the atomic64 variable -+ * @delta: integer value to subtract -+ * @ptr: pointer to type atomic64_unchecked_t -+ * -+ * Atomically subtracts @delta from @ptr. -+ */ -+void atomic64_sub_unchecked(u64 delta, atomic64_unchecked_t *ptr) -+{ -+ atomic64_add_unchecked(-delta, ptr); -+} -+EXPORT_SYMBOL(atomic64_sub_unchecked); + addsub_return add add adc + addsub_return sub sub sbb ++addsub_return add add adc _unchecked ++addsub_return sub sub sbb _unchecked +=20 +-.macro incdec_return func ins insc +-ENTRY(atomic64_\func\()_return_cx8) ++.macro incdec_return func ins insc unchecked ++ENTRY(atomic64_\func\()_return\unchecked\()_cx8) + CFI_STARTPROC + SAVE ebx +=20 +@@ -114,21 +157,39 @@ ENTRY(atomic64_\func\()_return_cx8) + movl %edx, %ecx + \ins\()l $1, %ebx + \insc\()l $0, %ecx + -+/** - * atomic64_sub_and_test - subtract value from variable and test result - * @delta: integer value to subtract - * @ptr: pointer to type atomic64_t -@@ -173,6 +295,18 @@ void atomic64_inc(atomic64_t *ptr) - EXPORT_SYMBOL(atomic64_inc); ++.ifb \unchecked ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++2: ++ _ASM_EXTABLE(2b, 3f) ++#endif ++.endif ++ + LOCK_PREFIX + cmpxchg8b (%esi) + jne 1b =20 - /** -+ * atomic64_inc_unchecked - increment atomic64 variable -+ * @ptr: pointer to type atomic64_unchecked_t -+ * -+ * Atomically increments @ptr by 1. -+ */ -+void atomic64_inc_unchecked(atomic64_unchecked_t *ptr) -+{ -+ atomic64_add_unchecked(1, ptr); -+} -+EXPORT_SYMBOL(atomic64_inc_unchecked); +-10: + movl %ebx, %eax + movl %ecx, %edx + -+/** - * atomic64_dec - decrement atomic64 variable - * @ptr: pointer to type atomic64_t - * -@@ -185,6 +319,18 @@ void atomic64_dec(atomic64_t *ptr) - EXPORT_SYMBOL(atomic64_dec); ++.ifb \unchecked ++#ifdef CONFIG_PAX_REFCOUNT ++3: ++#endif ++.endif ++ + RESTORE ebx ++ pax_force_retaddr + ret + CFI_ENDPROC +-ENDPROC(atomic64_\func\()_return_cx8) ++ENDPROC(atomic64_\func\()_return\unchecked\()_cx8) + .endm =20 - /** -+ * atomic64_dec_unchecked - decrement atomic64 variable -+ * @ptr: pointer to type atomic64_unchecked_t -+ * -+ * Atomically decrements @ptr by 1. -+ */ -+void atomic64_dec_unchecked(atomic64_unchecked_t *ptr) -+{ -+ atomic64_sub_unchecked(1, ptr); -+} -+EXPORT_SYMBOL(atomic64_dec_unchecked); + incdec_return inc add adc + incdec_return dec sub sbb ++incdec_return inc add adc _unchecked ++incdec_return dec sub sbb _unchecked +=20 + ENTRY(atomic64_dec_if_positive_cx8) + CFI_STARTPROC +@@ -140,6 +201,13 @@ ENTRY(atomic64_dec_if_positive_cx8) + movl %edx, %ecx + subl $1, %ebx + sbb $0, %ecx + -+/** - * atomic64_dec_and_test - decrement and test - * @ptr: pointer to type atomic64_t - * -diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_32.S linux-2.6.32.48/ar= ch/x86/lib/checksum_32.S ---- linux-2.6.32.48/arch/x86/lib/checksum_32.S 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/checksum_32.S 2011-11-12 12:46:42.00000= 0000 -0500 ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++1234: ++ _ASM_EXTABLE(1234b, 2f) ++#endif ++ + js 2f + LOCK_PREFIX + cmpxchg8b (%esi) +@@ -149,6 +217,7 @@ ENTRY(atomic64_dec_if_positive_cx8) + movl %ebx, %eax + movl %ecx, %edx + RESTORE ebx ++ pax_force_retaddr + ret + CFI_ENDPROC + ENDPROC(atomic64_dec_if_positive_cx8) +@@ -174,6 +243,13 @@ ENTRY(atomic64_add_unless_cx8) + movl %edx, %ecx + addl %esi, %ebx + adcl %edi, %ecx ++ ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++1234: ++ _ASM_EXTABLE(1234b, 3f) ++#endif ++ + LOCK_PREFIX + cmpxchg8b (%ebp) + jne 1b +@@ -184,6 +260,7 @@ ENTRY(atomic64_add_unless_cx8) + CFI_ADJUST_CFA_OFFSET -8 + RESTORE ebx + RESTORE ebp ++ pax_force_retaddr + ret + 4: + cmpl %edx, 4(%esp) +@@ -206,6 +283,13 @@ ENTRY(atomic64_inc_not_zero_cx8) + movl %edx, %ecx + addl $1, %ebx + adcl $0, %ecx ++ ++#ifdef CONFIG_PAX_REFCOUNT ++ into ++1234: ++ _ASM_EXTABLE(1234b, 3f) ++#endif ++ + LOCK_PREFIX + cmpxchg8b (%esi) + jne 1b +@@ -213,6 +297,7 @@ ENTRY(atomic64_inc_not_zero_cx8) + movl $1, %eax + 3: + RESTORE ebx ++ pax_force_retaddr + ret + 4: + testl %edx, %edx +diff -urNp linux-3.0.8/arch/x86/lib/checksum_32.S linux-3.0.8/arch/x86/l= ib/checksum_32.S +--- linux-3.0.8/arch/x86/lib/checksum_32.S 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/lib/checksum_32.S 2011-08-23 21:47:55.000000000= -0400 @@ -28,7 +28,8 @@ #include #include @@ -19628,7 +17710,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_= 32.S linux-2.6.32.48/arch/x86/l /* * computes a partial checksum, e.g. for TCP/UDP fragments */ -@@ -304,9 +305,28 @@ unsigned int csum_partial_copy_generic ( +@@ -296,9 +297,24 @@ unsigned int csum_partial_copy_generic ( =20 #define ARGBASE 16 =09 #define FP 12 @@ -19639,27 +17721,23 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksu= m_32.S linux-2.6.32.48/arch/x86/l CFI_STARTPROC + +#ifdef CONFIG_PAX_MEMORY_UDEREF -+ pushl %gs -+ CFI_ADJUST_CFA_OFFSET 4 -+ popl %es -+ CFI_ADJUST_CFA_OFFSET -4 ++ pushl_cfi %gs ++ popl_cfi %es + jmp csum_partial_copy_generic +#endif + +ENTRY(csum_partial_copy_generic_from_user) + +#ifdef CONFIG_PAX_MEMORY_UDEREF -+ pushl %gs -+ CFI_ADJUST_CFA_OFFSET 4 -+ popl %ds -+ CFI_ADJUST_CFA_OFFSET -4 ++ pushl_cfi %gs ++ popl_cfi %ds +#endif + +ENTRY(csum_partial_copy_generic) subl $4,%esp=09 CFI_ADJUST_CFA_OFFSET 4 - pushl %edi -@@ -331,7 +351,7 @@ ENTRY(csum_partial_copy_generic) + pushl_cfi %edi +@@ -320,7 +336,7 @@ ENTRY(csum_partial_copy_generic) jmp 4f SRC(1: movw (%esi), %bx ) addl $2, %esi @@ -19668,7 +17746,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_= 32.S linux-2.6.32.48/arch/x86/l addl $2, %edi addw %bx, %ax=09 adcl $0, %eax -@@ -343,30 +363,30 @@ DST( movw %bx, (%edi) ) +@@ -332,30 +348,30 @@ DST( movw %bx, (%edi) ) SRC(1: movl (%esi), %ebx ) SRC( movl 4(%esi), %edx ) adcl %ebx, %eax @@ -19707,7 +17785,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_= 32.S linux-2.6.32.48/arch/x86/l =20 lea 32(%esi), %esi lea 32(%edi), %edi -@@ -380,7 +400,7 @@ DST( movl %edx, 28(%edi) ) +@@ -369,7 +385,7 @@ DST( movl %edx, 28(%edi) ) shrl $2, %edx # This clears CF SRC(3: movl (%esi), %ebx ) adcl %ebx, %eax @@ -19716,7 +17794,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_= 32.S linux-2.6.32.48/arch/x86/l lea 4(%esi), %esi lea 4(%edi), %edi dec %edx -@@ -392,12 +412,12 @@ DST( movl %ebx, (%edi) ) +@@ -381,12 +397,12 @@ DST( movl %ebx, (%edi) ) jb 5f SRC( movw (%esi), %cx ) leal 2(%esi), %esi @@ -19731,7 +17809,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_= 32.S linux-2.6.32.48/arch/x86/l 6: addl %ecx, %eax adcl $0, %eax 7: -@@ -408,7 +428,7 @@ DST( movb %cl, (%edi) ) +@@ -397,7 +413,7 @@ DST( movb %cl, (%edi) ) =20 6001: movl ARGBASE+20(%esp), %ebx # src_err_ptr @@ -19740,7 +17818,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_= 32.S linux-2.6.32.48/arch/x86/l =20 # zero the complete destination - computing the rest # is too much work=20 -@@ -421,11 +441,19 @@ DST( movb %cl, (%edi) ) +@@ -410,11 +426,15 @@ DST( movb %cl, (%edi) ) =20 6002: movl ARGBASE+24(%esp), %ebx # dst_err_ptr @@ -19750,19 +17828,15 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksu= m_32.S linux-2.6.32.48/arch/x86/l =20 .previous =20 -+ pushl %ss -+ CFI_ADJUST_CFA_OFFSET 4 -+ popl %ds -+ CFI_ADJUST_CFA_OFFSET -4 -+ pushl %ss -+ CFI_ADJUST_CFA_OFFSET 4 -+ popl %es -+ CFI_ADJUST_CFA_OFFSET -4 - popl %ebx - CFI_ADJUST_CFA_OFFSET -4 ++ pushl_cfi %ss ++ popl_cfi %ds ++ pushl_cfi %ss ++ popl_cfi %es + popl_cfi %ebx CFI_RESTORE ebx -@@ -439,26 +467,47 @@ DST( movb %cl, (%edi) ) - CFI_ADJUST_CFA_OFFSET -4 + popl_cfi %esi +@@ -424,26 +444,43 @@ DST( movb %cl, (%edi) ) + popl_cfi %ecx # equivalent to addl $4,%esp ret=09 CFI_ENDPROC -ENDPROC(csum_partial_copy_generic) @@ -19794,27 +17868,23 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksu= m_32.S linux-2.6.32.48/arch/x86/l CFI_STARTPROC + +#ifdef CONFIG_PAX_MEMORY_UDEREF -+ pushl %gs -+ CFI_ADJUST_CFA_OFFSET 4 -+ popl %es -+ CFI_ADJUST_CFA_OFFSET -4 ++ pushl_cfi %gs ++ popl_cfi %es + jmp csum_partial_copy_generic +#endif + +ENTRY(csum_partial_copy_generic_from_user) + +#ifdef CONFIG_PAX_MEMORY_UDEREF -+ pushl %gs -+ CFI_ADJUST_CFA_OFFSET 4 -+ popl %ds -+ CFI_ADJUST_CFA_OFFSET -4 ++ pushl_cfi %gs ++ popl_cfi %ds +#endif + +ENTRY(csum_partial_copy_generic) - pushl %ebx - CFI_ADJUST_CFA_OFFSET 4 + pushl_cfi %ebx CFI_REL_OFFSET ebx, 0 -@@ -482,7 +531,7 @@ ENTRY(csum_partial_copy_generic) + pushl_cfi %edi +@@ -464,7 +501,7 @@ ENTRY(csum_partial_copy_generic) subl %ebx, %edi =20 lea -1(%esi),%edx andl $-32,%edx @@ -19823,7 +17893,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_= 32.S linux-2.6.32.48/arch/x86/l testl %esi, %esi=20 jmp *%ebx 1: addl $64,%esi -@@ -503,19 +552,19 @@ ENTRY(csum_partial_copy_generic) +@@ -485,19 +522,19 @@ ENTRY(csum_partial_copy_generic) jb 5f SRC( movw (%esi), %dx ) leal 2(%esi), %esi @@ -19846,7 +17916,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksum_= 32.S linux-2.6.32.48/arch/x86/l # zero the complete destination (computing the rest is too much work) movl ARGBASE+8(%esp),%edi # dst movl ARGBASE+12(%esp),%ecx # len -@@ -523,10 +572,21 @@ DST( movb %dl, (%edi) ) +@@ -505,10 +542,17 @@ DST( movb %dl, (%edi) ) rep; stosb jmp 7b 6002: movl ARGBASE+24(%esp), %ebx # dst_err_ptr @@ -19856,20 +17926,16 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksu= m_32.S linux-2.6.32.48/arch/x86/l .previous =09 =20 +#ifdef CONFIG_PAX_MEMORY_UDEREF -+ pushl %ss -+ CFI_ADJUST_CFA_OFFSET 4 -+ popl %ds -+ CFI_ADJUST_CFA_OFFSET -4 -+ pushl %ss -+ CFI_ADJUST_CFA_OFFSET 4 -+ popl %es -+ CFI_ADJUST_CFA_OFFSET -4 ++ pushl_cfi %ss ++ popl_cfi %ds ++ pushl_cfi %ss ++ popl_cfi %es +#endif + - popl %esi - CFI_ADJUST_CFA_OFFSET -4 + popl_cfi %esi CFI_RESTORE esi -@@ -538,7 +598,7 @@ DST( movb %dl, (%edi) ) + popl_cfi %edi +@@ -517,7 +561,7 @@ DST( movb %dl, (%edi) ) CFI_RESTORE ebx ret CFI_ENDPROC @@ -19878,17 +17944,10 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/checksu= m_32.S linux-2.6.32.48/arch/x86/l =09 #undef ROUND #undef ROUND1 =09 -diff -urNp linux-2.6.32.48/arch/x86/lib/clear_page_64.S linux-2.6.32.48/= arch/x86/lib/clear_page_64.S ---- linux-2.6.32.48/arch/x86/lib/clear_page_64.S 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/clear_page_64.S 2011-11-12 12:46:42.000= 000000 -0500 -@@ -1,5 +1,6 @@ - #include - #include -+#include -=20 - /* - * Zero a page. =09 -@@ -10,6 +11,7 @@ ENTRY(clear_page_c) +diff -urNp linux-3.0.8/arch/x86/lib/clear_page_64.S linux-3.0.8/arch/x86= /lib/clear_page_64.S +--- linux-3.0.8/arch/x86/lib/clear_page_64.S 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/lib/clear_page_64.S 2011-10-06 04:17:55.0000000= 00 -0400 +@@ -11,6 +11,7 @@ ENTRY(clear_page_c) movl $4096/8,%ecx xorl %eax,%eax rep stosq @@ -19896,7 +17955,15 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/clear_pa= ge_64.S linux-2.6.32.48/arch/x86 ret CFI_ENDPROC ENDPROC(clear_page_c) -@@ -33,6 +35,7 @@ ENTRY(clear_page) +@@ -20,6 +21,7 @@ ENTRY(clear_page_c_e) + movl $4096,%ecx + xorl %eax,%eax + rep stosb ++ pax_force_retaddr + ret + CFI_ENDPROC + ENDPROC(clear_page_c_e) +@@ -43,6 +45,7 @@ ENTRY(clear_page) leaq 64(%rdi),%rdi jnz .Lloop nop @@ -19904,7 +17971,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/clear_pag= e_64.S linux-2.6.32.48/arch/x86 ret CFI_ENDPROC .Lclear_page_end: -@@ -43,7 +46,7 @@ ENDPROC(clear_page) +@@ -58,7 +61,7 @@ ENDPROC(clear_page) =20 #include =20 @@ -19912,10 +17979,27 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/clear_p= age_64.S linux-2.6.32.48/arch/x86 + .section .altinstr_replacement,"a" 1: .byte 0xeb /* jmp */ .byte (clear_page_c - clear_page) - (2f - 1b) /* offset */ - 2: -diff -urNp linux-2.6.32.48/arch/x86/lib/copy_page_64.S linux-2.6.32.48/a= rch/x86/lib/copy_page_64.S ---- linux-2.6.32.48/arch/x86/lib/copy_page_64.S 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/copy_page_64.S 2011-11-12 12:46:42.0000= 00000 -0500 + 2: .byte 0xeb /* jmp */ +diff -urNp linux-3.0.8/arch/x86/lib/cmpxchg16b_emu.S linux-3.0.8/arch/x8= 6/lib/cmpxchg16b_emu.S +--- linux-3.0.8/arch/x86/lib/cmpxchg16b_emu.S 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/lib/cmpxchg16b_emu.S 2011-10-07 19:07:28.000000= 000 -0400 +@@ -53,11 +53,13 @@ this_cpu_cmpxchg16b_emu: +=20 + popf + mov $1, %al ++ pax_force_retaddr + ret +=20 + not_same: + popf + xor %al,%al ++ pax_force_retaddr + ret +=20 + CFI_ENDPROC +diff -urNp linux-3.0.8/arch/x86/lib/copy_page_64.S linux-3.0.8/arch/x86/= lib/copy_page_64.S +--- linux-3.0.8/arch/x86/lib/copy_page_64.S 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/lib/copy_page_64.S 2011-10-06 04:17:55.00000000= 0 -0400 @@ -2,12 +2,14 @@ =20 #include @@ -19948,32 +18032,32 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/copy_pa= ge_64.S linux-2.6.32.48/arch/x86/ 1: .byte 0xeb /* jmp */ .byte (copy_page_c - copy_page) - (2f - 1b) /* offset */ 2: -diff -urNp linux-2.6.32.48/arch/x86/lib/copy_user_64.S linux-2.6.32.48/a= rch/x86/lib/copy_user_64.S ---- linux-2.6.32.48/arch/x86/lib/copy_user_64.S 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/copy_user_64.S 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -15,13 +15,15 @@ - #include +diff -urNp linux-3.0.8/arch/x86/lib/copy_user_64.S linux-3.0.8/arch/x86/= lib/copy_user_64.S +--- linux-3.0.8/arch/x86/lib/copy_user_64.S 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/lib/copy_user_64.S 2011-10-06 04:17:55.00000000= 0 -0400 +@@ -16,6 +16,7 @@ #include #include + #include +#include -+#include =20 - .macro ALTERNATIVE_JUMP feature,orig,alt - 0: + /* + * By placing feature2 after feature1 in altinstructions section, we lo= gically +@@ -29,7 +30,7 @@ .byte 0xe9 /* 32bit jump */ .long \orig-1f /* by default jump to orig */ 1: - .section .altinstr_replacement,"ax" + .section .altinstr_replacement,"a" 2: .byte 0xe9 /* near jump with 32bit immediate */ - .long \alt-1b /* offset */ /* or alternatively to alt */ - .previous -@@ -64,55 +66,26 @@ + .long \alt1-1b /* offset */ /* or alternatively to alt1 */ + 3: .byte 0xe9 /* near jump with 32bit immediate */ +@@ -71,47 +72,20 @@ #endif .endm =20 -/* Standard copy_to_user with segment limit checking */ --ENTRY(copy_to_user) +-ENTRY(_copy_to_user) - CFI_STARTPROC - GET_THREAD_INFO(%rax) - movq %rdi,%rcx @@ -19981,12 +18065,14 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/copy_us= er_64.S linux-2.6.32.48/arch/x86/ - jc bad_to_user - cmpq TI_addr_limit(%rax),%rcx - ja bad_to_user -- ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_= user_generic_string +- ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,X86_FEATURE_ERMS, \ +- copy_user_generic_unrolled,copy_user_generic_string, \ +- copy_user_enhanced_fast_string - CFI_ENDPROC --ENDPROC(copy_to_user) +-ENDPROC(_copy_to_user) - -/* Standard copy_from_user with segment limit checking */ --ENTRY(copy_from_user) +-ENTRY(_copy_from_user) - CFI_STARTPROC - GET_THREAD_INFO(%rax) - movq %rsi,%rcx @@ -19994,21 +18080,11 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/copy_us= er_64.S linux-2.6.32.48/arch/x86/ - jc bad_from_user - cmpq TI_addr_limit(%rax),%rcx - ja bad_from_user -- ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_= user_generic_string +- ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,X86_FEATURE_ERMS, \ +- copy_user_generic_unrolled,copy_user_generic_string, \ +- copy_user_enhanced_fast_string - CFI_ENDPROC --ENDPROC(copy_from_user) -- - ENTRY(copy_user_generic) - CFI_STARTPROC - ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_= user_generic_string - CFI_ENDPROC - ENDPROC(copy_user_generic) -=20 --ENTRY(__copy_from_user_inatomic) -- CFI_STARTPROC -- ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_= user_generic_string -- CFI_ENDPROC --ENDPROC(__copy_from_user_inatomic) +-ENDPROC(_copy_from_user) - .section .fixup,"ax" /* must zero dest */ @@ -20027,7 +18103,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/copy_user= _64.S linux-2.6.32.48/arch/x86/ ret CFI_ENDPROC ENDPROC(bad_from_user) -@@ -180,6 +153,7 @@ ENTRY(copy_user_generic_unrolled) +@@ -179,6 +153,7 @@ ENTRY(copy_user_generic_unrolled) decl %ecx jnz 21b 23: xor %eax,%eax @@ -20035,7 +18111,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/copy_user= _64.S linux-2.6.32.48/arch/x86/ ret =20 .section .fixup,"ax" -@@ -252,6 +226,7 @@ ENTRY(copy_user_generic_string) +@@ -251,6 +226,7 @@ ENTRY(copy_user_generic_string) 3: rep movsb 4: xorl %eax,%eax @@ -20043,9 +18119,17 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/copy_use= r_64.S linux-2.6.32.48/arch/x86/ ret =20 .section .fixup,"ax" -diff -urNp linux-2.6.32.48/arch/x86/lib/copy_user_nocache_64.S linux-2.6= .32.48/arch/x86/lib/copy_user_nocache_64.S ---- linux-2.6.32.48/arch/x86/lib/copy_user_nocache_64.S 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/copy_user_nocache_64.S 2011-11-12 12:46= :42.000000000 -0500 +@@ -287,6 +263,7 @@ ENTRY(copy_user_enhanced_fast_string) + 1: rep + movsb + 2: xorl %eax,%eax ++ pax_force_retaddr + ret +=20 + .section .fixup,"ax" +diff -urNp linux-3.0.8/arch/x86/lib/copy_user_nocache_64.S linux-3.0.8/a= rch/x86/lib/copy_user_nocache_64.S +--- linux-3.0.8/arch/x86/lib/copy_user_nocache_64.S 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/arch/x86/lib/copy_user_nocache_64.S 2011-10-06 04:17:55.= 000000000 -0400 @@ -8,12 +8,14 @@ =20 #include @@ -20085,9 +18169,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/copy_user= _nocache_64.S linux-2.6.32.48/a ret =20 .section .fixup,"ax" -diff -urNp linux-2.6.32.48/arch/x86/lib/csum-copy_64.S linux-2.6.32.48/a= rch/x86/lib/csum-copy_64.S ---- linux-2.6.32.48/arch/x86/lib/csum-copy_64.S 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/csum-copy_64.S 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/x86/lib/csum-copy_64.S linux-3.0.8/arch/x86/= lib/csum-copy_64.S +--- linux-3.0.8/arch/x86/lib/csum-copy_64.S 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/lib/csum-copy_64.S 2011-10-06 04:17:55.00000000= 0 -0400 @@ -8,6 +8,7 @@ #include #include @@ -20098,15 +18182,15 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/csum-co= py_64.S linux-2.6.32.48/arch/x86/ * Checksum copy with exception handling. @@ -228,6 +229,7 @@ ENTRY(csum_partial_copy_generic) CFI_RESTORE rbp - addq $7*8,%rsp + addq $7*8, %rsp CFI_ADJUST_CFA_OFFSET -7*8 + pax_force_retaddr ret CFI_RESTORE_STATE =20 -diff -urNp linux-2.6.32.48/arch/x86/lib/csum-wrappers_64.c linux-2.6.32.= 48/arch/x86/lib/csum-wrappers_64.c ---- linux-2.6.32.48/arch/x86/lib/csum-wrappers_64.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/csum-wrappers_64.c 2011-11-12 12:46:42.= 000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/lib/csum-wrappers_64.c linux-3.0.8/arch/= x86/lib/csum-wrappers_64.c +--- linux-3.0.8/arch/x86/lib/csum-wrappers_64.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/arch/x86/lib/csum-wrappers_64.c 2011-10-06 04:17:55.0000= 00000 -0400 @@ -52,7 +52,13 @@ csum_partial_copy_from_user(const void _ len -=3D 2; } @@ -20137,9 +18221,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/csum-wrap= pers_64.c linux-2.6.32.48/arch/ len, isum, NULL, errp); } EXPORT_SYMBOL(csum_partial_copy_to_user); -diff -urNp linux-2.6.32.48/arch/x86/lib/getuser.S linux-2.6.32.48/arch/x= 86/lib/getuser.S ---- linux-2.6.32.48/arch/x86/lib/getuser.S 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/lib/getuser.S 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-3.0.8/arch/x86/lib/getuser.S linux-3.0.8/arch/x86/lib/g= etuser.S +--- linux-3.0.8/arch/x86/lib/getuser.S 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/lib/getuser.S 2011-10-07 19:07:23.000000000 -04= 00 @@ -33,15 +33,38 @@ #include #include @@ -20263,9 +18347,35 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/getuser.= S linux-2.6.32.48/arch/x86/lib/g ret CFI_ENDPROC END(bad_get_user) -diff -urNp linux-2.6.32.48/arch/x86/lib/iomap_copy_64.S linux-2.6.32.48/= arch/x86/lib/iomap_copy_64.S ---- linux-2.6.32.48/arch/x86/lib/iomap_copy_64.S 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/iomap_copy_64.S 2011-11-12 12:46:42.000= 000000 -0500 +diff -urNp linux-3.0.8/arch/x86/lib/insn.c linux-3.0.8/arch/x86/lib/insn= .c +--- linux-3.0.8/arch/x86/lib/insn.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/lib/insn.c 2011-08-23 21:47:55.000000000 -0400 +@@ -21,6 +21,11 @@ + #include + #include + #include ++#ifdef __KERNEL__ ++#include ++#else ++#define ktla_ktva(addr) addr ++#endif +=20 + #define get_next(t, insn) \ + ({t r; r =3D *(t*)insn->next_byte; insn->next_byte +=3D sizeof(t); r; = }) +@@ -40,8 +45,8 @@ + void insn_init(struct insn *insn, const void *kaddr, int x86_64) + { + memset(insn, 0, sizeof(*insn)); +- insn->kaddr =3D kaddr; +- insn->next_byte =3D kaddr; ++ insn->kaddr =3D ktla_ktva(kaddr); ++ insn->next_byte =3D ktla_ktva(kaddr); + insn->x86_64 =3D x86_64 ? 1 : 0; + insn->opnd_bytes =3D 4; + if (x86_64) +diff -urNp linux-3.0.8/arch/x86/lib/iomap_copy_64.S linux-3.0.8/arch/x86= /lib/iomap_copy_64.S +--- linux-3.0.8/arch/x86/lib/iomap_copy_64.S 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/lib/iomap_copy_64.S 2011-10-06 04:17:55.0000000= 00 -0400 @@ -17,6 +17,7 @@ =20 #include @@ -20282,62 +18392,104 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/iomap_= copy_64.S linux-2.6.32.48/arch/x86 ret CFI_ENDPROC ENDPROC(__iowrite32_copy) -diff -urNp linux-2.6.32.48/arch/x86/lib/memcpy_64.S linux-2.6.32.48/arch= /x86/lib/memcpy_64.S ---- linux-2.6.32.48/arch/x86/lib/memcpy_64.S 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/lib/memcpy_64.S 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -4,6 +4,7 @@ -=20 - #include - #include -+#include -=20 - /* - * memcpy - Copy a memory block. -@@ -34,6 +35,7 @@ memcpy_c: +diff -urNp linux-3.0.8/arch/x86/lib/memcpy_64.S linux-3.0.8/arch/x86/lib= /memcpy_64.S +--- linux-3.0.8/arch/x86/lib/memcpy_64.S 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/lib/memcpy_64.S 2011-10-06 04:17:55.000000000 -= 0400 +@@ -34,6 +34,7 @@ rep movsq movl %edx, %ecx rep movsb + pax_force_retaddr ret - CFI_ENDPROC - ENDPROC(memcpy_c) -@@ -118,6 +120,7 @@ ENTRY(memcpy) + .Lmemcpy_e: + .previous +@@ -51,6 +52,7 @@ +=20 + movl %edx, %ecx + rep movsb ++ pax_force_retaddr + ret + .Lmemcpy_e_e: + .previous +@@ -141,6 +143,7 @@ ENTRY(memcpy) + movq %r9, 1*8(%rdi) + movq %r10, -2*8(%rdi, %rdx) + movq %r11, -1*8(%rdi, %rdx) ++ pax_force_retaddr + retq + .p2align 4 + .Lless_16bytes: +@@ -153,6 +156,7 @@ ENTRY(memcpy) + movq -1*8(%rsi, %rdx), %r9 + movq %r8, 0*8(%rdi) + movq %r9, -1*8(%rdi, %rdx) ++ pax_force_retaddr + retq + .p2align 4 + .Lless_8bytes: +@@ -166,6 +170,7 @@ ENTRY(memcpy) + movl -4(%rsi, %rdx), %r8d + movl %ecx, (%rdi) + movl %r8d, -4(%rdi, %rdx) ++ pax_force_retaddr + retq + .p2align 4 + .Lless_3bytes: +@@ -183,6 +188,7 @@ ENTRY(memcpy) jnz .Lloop_1 =20 .Lend: + pax_force_retaddr - ret + retq CFI_ENDPROC ENDPROC(memcpy) -@@ -128,7 +131,7 @@ ENDPROC(__memcpy) - * It is also a lot simpler. Use this when possible: - */ -=20 -- .section .altinstr_replacement, "ax" -+ .section .altinstr_replacement, "a" - 1: .byte 0xeb /* jmp */ - .byte (memcpy_c - memcpy) - (2f - 1b) /* offset */ - 2: -diff -urNp linux-2.6.32.48/arch/x86/lib/memset_64.S linux-2.6.32.48/arch= /x86/lib/memset_64.S ---- linux-2.6.32.48/arch/x86/lib/memset_64.S 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/lib/memset_64.S 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -2,6 +2,7 @@ -=20 +diff -urNp linux-3.0.8/arch/x86/lib/memmove_64.S linux-3.0.8/arch/x86/li= b/memmove_64.S +--- linux-3.0.8/arch/x86/lib/memmove_64.S 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/lib/memmove_64.S 2011-10-06 04:17:55.000000000 = -0400 +@@ -9,6 +9,7 @@ #include #include + #include +#include =20 - /* - * ISO C memset - set a memory block to a byte value. -@@ -28,6 +29,7 @@ memset_c: + #undef memmove +=20 +@@ -201,6 +202,7 @@ ENTRY(memmove) + movb (%rsi), %r11b + movb %r11b, (%rdi) + 13: ++ pax_force_retaddr + retq + CFI_ENDPROC +=20 +@@ -209,6 +211,7 @@ ENTRY(memmove) + /* Forward moving data. */ + movq %rdx, %rcx + rep movsb ++ pax_force_retaddr + retq + .Lmemmove_end_forward_efs: + .previous +diff -urNp linux-3.0.8/arch/x86/lib/memset_64.S linux-3.0.8/arch/x86/lib= /memset_64.S +--- linux-3.0.8/arch/x86/lib/memset_64.S 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/lib/memset_64.S 2011-10-06 04:17:55.000000000 -= 0400 +@@ -31,6 +31,7 @@ movl %r8d,%ecx rep stosb movq %r9,%rax + pax_force_retaddr ret - CFI_ENDPROC - ENDPROC(memset_c) -@@ -96,6 +98,7 @@ ENTRY(__memset) + .Lmemset_e: + .previous +@@ -53,6 +54,7 @@ + movl %edx,%ecx + rep stosb + movq %r9,%rax ++ pax_force_retaddr + ret + .Lmemset_e_e: + .previous +@@ -121,6 +123,7 @@ ENTRY(__memset) =20 .Lende: movq %r10,%rax @@ -20345,18 +18497,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/memset_6= 4.S linux-2.6.32.48/arch/x86/lib ret =20 CFI_RESTORE_STATE -@@ -118,7 +121,7 @@ ENDPROC(__memset) -=20 - #include -=20 -- .section .altinstr_replacement,"ax" -+ .section .altinstr_replacement,"a" - 1: .byte 0xeb /* jmp */ - .byte (memset_c - memset) - (2f - 1b) /* offset */ - 2: -diff -urNp linux-2.6.32.48/arch/x86/lib/mmx_32.c linux-2.6.32.48/arch/x8= 6/lib/mmx_32.c ---- linux-2.6.32.48/arch/x86/lib/mmx_32.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/lib/mmx_32.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-3.0.8/arch/x86/lib/mmx_32.c linux-3.0.8/arch/x86/lib/mm= x_32.c +--- linux-3.0.8/arch/x86/lib/mmx_32.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/lib/mmx_32.c 2011-08-23 21:47:55.000000000 -040= 0 @@ -29,6 +29,7 @@ void *_mmx_memcpy(void *to, const void * { void *p; @@ -20672,9 +18815,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/mmx_32.c = linux-2.6.32.48/arch/x86/lib/mm =20 from +=3D 64; to +=3D 64; -diff -urNp linux-2.6.32.48/arch/x86/lib/msr-reg.S linux-2.6.32.48/arch/x= 86/lib/msr-reg.S ---- linux-2.6.32.48/arch/x86/lib/msr-reg.S 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/lib/msr-reg.S 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-3.0.8/arch/x86/lib/msr-reg.S linux-3.0.8/arch/x86/lib/m= sr-reg.S +--- linux-3.0.8/arch/x86/lib/msr-reg.S 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/lib/msr-reg.S 2011-10-07 19:07:28.000000000 -04= 00 @@ -3,6 +3,7 @@ #include #include @@ -20691,9 +18834,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/msr-reg.S= linux-2.6.32.48/arch/x86/lib/m ret 3: CFI_RESTORE_STATE -diff -urNp linux-2.6.32.48/arch/x86/lib/putuser.S linux-2.6.32.48/arch/x= 86/lib/putuser.S ---- linux-2.6.32.48/arch/x86/lib/putuser.S 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/lib/putuser.S 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-3.0.8/arch/x86/lib/putuser.S linux-3.0.8/arch/x86/lib/p= utuser.S +--- linux-3.0.8/arch/x86/lib/putuser.S 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/lib/putuser.S 2011-10-07 19:07:23.000000000 -04= 00 @@ -15,7 +15,9 @@ #include #include @@ -20833,9 +18976,9 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/putuser.S= linux-2.6.32.48/arch/x86/lib/p #endif xor %eax,%eax EXIT -diff -urNp linux-2.6.32.48/arch/x86/lib/rwlock_64.S linux-2.6.32.48/arch= /x86/lib/rwlock_64.S ---- linux-2.6.32.48/arch/x86/lib/rwlock_64.S 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/lib/rwlock_64.S 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-3.0.8/arch/x86/lib/rwlock_64.S linux-3.0.8/arch/x86/lib= /rwlock_64.S +--- linux-3.0.8/arch/x86/lib/rwlock_64.S 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/lib/rwlock_64.S 2011-10-06 04:17:55.000000000 -= 0400 @@ -17,6 +17,7 @@ ENTRY(__write_lock_failed) LOCK_PREFIX subl $RW_LOCK_BIAS,(%rdi) @@ -20852,45 +18995,46 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/rwlock_= 64.S linux-2.6.32.48/arch/x86/lib ret CFI_ENDPROC END(__read_lock_failed) -diff -urNp linux-2.6.32.48/arch/x86/lib/rwsem_64.S linux-2.6.32.48/arch/= x86/lib/rwsem_64.S ---- linux-2.6.32.48/arch/x86/lib/rwsem_64.S 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/lib/rwsem_64.S 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -48,6 +48,7 @@ ENTRY(call_rwsem_down_read_failed) - call rwsem_down_read_failed - popq %rdx +diff -urNp linux-3.0.8/arch/x86/lib/rwsem_64.S linux-3.0.8/arch/x86/lib/= rwsem_64.S +--- linux-3.0.8/arch/x86/lib/rwsem_64.S 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/x86/lib/rwsem_64.S 2011-10-07 10:46:47.000000000 -0= 400 +@@ -51,6 +51,7 @@ ENTRY(call_rwsem_down_read_failed) + popq_cfi %rdx + CFI_RESTORE rdx restore_common_regs + pax_force_retaddr ret - ENDPROC(call_rwsem_down_read_failed) -=20 -@@ -56,6 +57,7 @@ ENTRY(call_rwsem_down_write_failed) + CFI_ENDPROC + ENDPROC(call_rwsem_down_read_failed) +@@ -61,6 +62,7 @@ ENTRY(call_rwsem_down_write_failed) movq %rax,%rdi call rwsem_down_write_failed restore_common_regs + pax_force_retaddr ret - ENDPROC(call_rwsem_down_write_failed) -=20 -@@ -66,7 +68,8 @@ ENTRY(call_rwsem_wake) + CFI_ENDPROC + ENDPROC(call_rwsem_down_write_failed) +@@ -73,7 +75,8 @@ ENTRY(call_rwsem_wake) movq %rax,%rdi call rwsem_wake restore_common_regs -1: ret +1: pax_force_retaddr + ret - ENDPROC(call_rwsem_wake) + CFI_ENDPROC + ENDPROC(call_rwsem_wake) =20 - /* Fix up special calling conventions */ -@@ -77,5 +80,6 @@ ENTRY(call_rwsem_downgrade_wake) - call rwsem_downgrade_wake - popq %rdx +@@ -88,6 +91,7 @@ ENTRY(call_rwsem_downgrade_wake) + popq_cfi %rdx + CFI_RESTORE rdx restore_common_regs + pax_force_retaddr ret - ENDPROC(call_rwsem_downgrade_wake) -diff -urNp linux-2.6.32.48/arch/x86/lib/thunk_64.S linux-2.6.32.48/arch/= x86/lib/thunk_64.S ---- linux-2.6.32.48/arch/x86/lib/thunk_64.S 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/lib/thunk_64.S 2011-11-12 12:46:42.00000000= 0 -0500 + CFI_ENDPROC + ENDPROC(call_rwsem_downgrade_wake) +diff -urNp linux-3.0.8/arch/x86/lib/thunk_64.S linux-3.0.8/arch/x86/lib/= thunk_64.S +--- linux-3.0.8/arch/x86/lib/thunk_64.S 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/x86/lib/thunk_64.S 2011-10-06 04:17:55.000000000 -0= 400 @@ -10,7 +10,8 @@ #include #include =09 @@ -20901,24 +19045,17 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/thunk_6= 4.S linux-2.6.32.48/arch/x86/lib/ /* rdi: arg1 ... normal C conventions. rax is saved/restored. */ =09 .macro thunk name,func .globl \name -@@ -70,6 +71,7 @@ +@@ -50,5 +51,6 @@ SAVE_ARGS restore: RESTORE_ARGS +- ret=09 + pax_force_retaddr - ret=09 - CFI_ENDPROC - =09 -@@ -77,5 +79,6 @@ restore: - SAVE_ARGS - restore_norax:=09 - RESTORE_ARGS 1 -+ pax_force_retaddr - ret ++ ret CFI_ENDPROC -diff -urNp linux-2.6.32.48/arch/x86/lib/usercopy_32.c linux-2.6.32.48/ar= ch/x86/lib/usercopy_32.c ---- linux-2.6.32.48/arch/x86/lib/usercopy_32.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/usercopy_32.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/x86/lib/usercopy_32.c linux-3.0.8/arch/x86/l= ib/usercopy_32.c +--- linux-3.0.8/arch/x86/lib/usercopy_32.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/lib/usercopy_32.c 2011-08-23 21:47:55.000000000= -0400 @@ -43,7 +43,7 @@ do { \ __asm__ __volatile__( \ " testl %1,%1\n" \ @@ -21440,7 +19577,7 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/usercopy_= 32.c linux-2.6.32.48/arch/x86/l return n; } EXPORT_SYMBOL(__copy_from_user_ll_nozero); -@@ -827,59 +943,38 @@ unsigned long __copy_from_user_ll_nocach +@@ -827,65 +943,50 @@ unsigned long __copy_from_user_ll_nocach if (n > 64 && cpu_has_xmm2) n =3D __copy_user_intel_nocache(to, from, n); else @@ -21469,29 +19606,15 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/usercop= y_32.c linux-2.6.32.48/arch/x86/l - */ -unsigned long -copy_to_user(void __user *to, const void *from, unsigned long n) -+#ifdef CONFIG_PAX_MEMORY_UDEREF -+void __set_fs(mm_segment_t x) ++void copy_from_user_overflow(void) { - if (access_ok(VERIFY_WRITE, to, n)) - n =3D __copy_to_user(to, from, n); - return n; -+ switch (x.seg) { -+ case 0: -+ loadsegment(gs, 0); -+ break; -+ case TASK_SIZE_MAX: -+ loadsegment(gs, __USER_DS); -+ break; -+ case -1UL: -+ loadsegment(gs, __KERNEL_DS); -+ break; -+ default: -+ BUG(); -+ } -+ return; ++ WARN(1, "Buffer overflow detected!\n"); } -EXPORT_SYMBOL(copy_to_user); -+EXPORT_SYMBOL(__set_fs); ++EXPORT_SYMBOL(copy_from_user_overflow); =20 -/** - * copy_from_user: - Copy a block of data from user space. @@ -21510,23 +19633,52 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/usercop= y_32.c linux-2.6.32.48/arch/x86/l - * data to the requested size using zero bytes. - */ -unsigned long --copy_from_user(void *to, const void __user *from, unsigned long n) -+void set_fs(mm_segment_t x) +-_copy_from_user(void *to, const void __user *from, unsigned long n) ++void copy_to_user_overflow(void) { - if (access_ok(VERIFY_READ, from, n)) - n =3D __copy_from_user(to, from, n); - else - memset(to, 0, n); - return n; ++ WARN(1, "Buffer overflow detected!\n"); + } +-EXPORT_SYMBOL(_copy_from_user); ++EXPORT_SYMBOL(copy_to_user_overflow); +=20 +-void copy_from_user_overflow(void) ++#ifdef CONFIG_PAX_MEMORY_UDEREF ++void __set_fs(mm_segment_t x) + { +- WARN(1, "Buffer overflow detected!\n"); ++ switch (x.seg) { ++ case 0: ++ loadsegment(gs, 0); ++ break; ++ case TASK_SIZE_MAX: ++ loadsegment(gs, __USER_DS); ++ break; ++ case -1UL: ++ loadsegment(gs, __KERNEL_DS); ++ break; ++ default: ++ BUG(); ++ } ++ return; + } +-EXPORT_SYMBOL(copy_from_user_overflow); ++EXPORT_SYMBOL(__set_fs); ++ ++void set_fs(mm_segment_t x) ++{ + current_thread_info()->addr_limit =3D x; + __set_fs(x); - } --EXPORT_SYMBOL(copy_from_user); ++} +EXPORT_SYMBOL(set_fs); +#endif -diff -urNp linux-2.6.32.48/arch/x86/lib/usercopy_64.c linux-2.6.32.48/ar= ch/x86/lib/usercopy_64.c ---- linux-2.6.32.48/arch/x86/lib/usercopy_64.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/lib/usercopy_64.c 2011-11-12 12:46:42.00000= 0000 -0500 +diff -urNp linux-3.0.8/arch/x86/lib/usercopy_64.c linux-3.0.8/arch/x86/l= ib/usercopy_64.c +--- linux-3.0.8/arch/x86/lib/usercopy_64.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/arch/x86/lib/usercopy_64.c 2011-10-06 04:17:55.000000000= -0400 @@ -42,6 +42,12 @@ long __strncpy_from_user(char *dst, const char __user *src, long count) { @@ -21585,18 +19737,18 @@ diff -urNp linux-2.6.32.48/arch/x86/lib/usercop= y_64.c linux-2.6.32.48/arch/x86/l { char c; unsigned zero_len; -diff -urNp linux-2.6.32.48/arch/x86/Makefile linux-2.6.32.48/arch/x86/Ma= kefile ---- linux-2.6.32.48/arch/x86/Makefile 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/arch/x86/Makefile 2011-11-12 12:46:42.000000000 -050= 0 +diff -urNp linux-3.0.8/arch/x86/Makefile linux-3.0.8/arch/x86/Makefile +--- linux-3.0.8/arch/x86/Makefile 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/Makefile 2011-08-23 21:48:14.000000000 -0400 @@ -44,6 +44,7 @@ ifeq ($(CONFIG_X86_32),y) else BITS :=3D 64 UTS_MACHINE :=3D x86_64 -+ biarch :=3D $(call cc-option,-m64) ++ biarch :=3D $(call cc-option,-m64) CHECKFLAGS +=3D -D__x86_64__ -m64 =20 KBUILD_AFLAGS +=3D -m64 -@@ -189,3 +190,12 @@ define archhelp +@@ -195,3 +196,12 @@ define archhelp echo ' FDARGS=3D"..." arguments for the booted ker= nel' echo ' FDINITRD=3Dfile initrd for the booted kernel= ' endef @@ -21609,74 +19761,10 @@ diff -urNp linux-2.6.32.48/arch/x86/Makefile li= nux-2.6.32.48/arch/x86/Makefile + +archprepare: + $(if $(LDFLAGS_BUILD_ID),,$(error $(OLD_LD))) -diff -urNp linux-2.6.32.48/arch/x86/mm/extable.c linux-2.6.32.48/arch/x8= 6/mm/extable.c ---- linux-2.6.32.48/arch/x86/mm/extable.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/extable.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -1,14 +1,71 @@ - #include - #include -+#include - #include -+#include -=20 -+/* -+ * The exception table needs to be sorted so that the binary -+ * search that we use to find entries in it works properly. -+ * This is used both for the kernel exception table and for -+ * the exception tables of modules that get loaded. -+ */ -+static int cmp_ex(const void *a, const void *b) -+{ -+ const struct exception_table_entry *x =3D a, *y =3D b; -+ -+ /* avoid overflow */ -+ if (x->insn > y->insn) -+ return 1; -+ if (x->insn < y->insn) -+ return -1; -+ return 0; -+} -+ -+static void swap_ex(void *a, void *b, int size) -+{ -+ struct exception_table_entry t, *x =3D a, *y =3D b; -+ -+ t =3D *x; -+ -+ pax_open_kernel(); -+ *x =3D *y; -+ *y =3D t; -+ pax_close_kernel(); -+} -+ -+void sort_extable(struct exception_table_entry *start, -+ struct exception_table_entry *finish) -+{ -+ sort(start, finish - start, sizeof(struct exception_table_entry), -+ cmp_ex, swap_ex); -+} -+ -+#ifdef CONFIG_MODULES -+/* -+ * If the exception table is sorted, any referring to the module init -+ * will be at the beginning or the end. -+ */ -+void trim_init_extable(struct module *m) -+{ -+ /*trim the beginning*/ -+ while (m->num_exentries && within_module_init(m->extable[0].insn, m)) = { -+ m->extable++; -+ m->num_exentries--; -+ } -+ /*trim the end*/ -+ while (m->num_exentries && -+ within_module_init(m->extable[m->num_exentries-1].insn, m)) -+ m->num_exentries--; -+} -+#endif /* CONFIG_MODULES */ -=20 - int fixup_exception(struct pt_regs *regs) - { +diff -urNp linux-3.0.8/arch/x86/mm/extable.c linux-3.0.8/arch/x86/mm/ext= able.c +--- linux-3.0.8/arch/x86/mm/extable.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/mm/extable.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -8,7 +8,7 @@ int fixup_exception(struct pt_regs *regs const struct exception_table_entry *fixup; =20 #ifdef CONFIG_PNPBIOS @@ -21685,13 +19773,13 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/extable.= c linux-2.6.32.48/arch/x86/mm/ext extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp; extern u32 pnp_bios_is_utter_crap; pnp_bios_is_utter_crap =3D 1; -diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c linux-2.6.32.48/arch/x86/= mm/fault.c ---- linux-2.6.32.48/arch/x86/mm/fault.c 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/arch/x86/mm/fault.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -11,10 +11,19 @@ - #include /* __kprobes, ... */ - #include /* kmmio_handler, ... */ +diff -urNp linux-3.0.8/arch/x86/mm/fault.c linux-3.0.8/arch/x86/mm/fault= .c +--- linux-3.0.8/arch/x86/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/mm/fault.c 2011-11-01 05:23:50.000000000 -0400 +@@ -13,10 +13,18 @@ #include /* perf_sw_event */ + #include /* hstate_index_to_shift */ + #include /* prefetchw */ +#include +#include =20 @@ -21703,12 +19791,11 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault + +#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF) +#include -+#include "../kernel/dumpstack.h" +#endif =20 /* * Page fault error code bits: -@@ -51,7 +60,7 @@ static inline int notify_page_fault(stru +@@ -54,7 +62,7 @@ static inline int __kprobes notify_page_ int ret =3D 0; =20 /* kprobe_running() needs smp_processor_id() */ @@ -21717,7 +19804,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c li= nux-2.6.32.48/arch/x86/mm/fault preempt_disable(); if (kprobe_running() && kprobe_fault_handler(regs, 14)) ret =3D 1; -@@ -112,7 +121,10 @@ check_prefetch_opcode(struct pt_regs *re +@@ -115,7 +123,10 @@ check_prefetch_opcode(struct pt_regs *re return !instr_lo || (instr_lo>>1) =3D=3D 1; case 0x00: /* Prefetch instruction is 0x0F0D or 0x0F18 */ @@ -21729,7 +19816,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c li= nux-2.6.32.48/arch/x86/mm/fault return 0; =20 *prefetch =3D (instr_lo =3D=3D 0xF) && -@@ -146,7 +158,10 @@ is_prefetch(struct pt_regs *regs, unsign +@@ -149,7 +160,10 @@ is_prefetch(struct pt_regs *regs, unsign while (instr < max_instr) { unsigned char opcode; =20 @@ -21741,10 +19828,14 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault break; =20 instr++; -@@ -172,6 +187,30 @@ force_sig_info_fault(int si_signo, int s +@@ -180,6 +194,34 @@ force_sig_info_fault(int si_signo, int s force_sig_info(si_signo, &info, tsk); } =20 ++#if defined(CONFIG_PAX_PAGEEXEC) || defined(CONFIG_PAX_SEGMEXEC) ++static bool pax_is_fetch_fault(struct pt_regs *regs, unsigned long erro= r_code, unsigned long address); ++#endif ++ +#ifdef CONFIG_PAX_EMUTRAMP +static int pax_handle_fetch_fault(struct pt_regs *regs); +#endif @@ -21772,10 +19863,10 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault DEFINE_SPINLOCK(pgd_lock); LIST_HEAD(pgd_list); =20 -@@ -224,11 +263,24 @@ void vmalloc_sync_all(void) +@@ -230,10 +272,22 @@ void vmalloc_sync_all(void) + for (address =3D VMALLOC_START & PMD_MASK; + address >=3D TASK_SIZE && address < FIXADDR_TOP; address +=3D PMD_SIZE) { -=20 - unsigned long flags; + +#ifdef CONFIG_PAX_PER_CPU_PGD + unsigned long cpu; @@ -21783,22 +19874,34 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault struct page *page; +#endif =20 - spin_lock_irqsave(&pgd_lock, flags); + spin_lock(&pgd_lock); + +#ifdef CONFIG_PAX_PER_CPU_PGD + for (cpu =3D 0; cpu < NR_CPUS; ++cpu) { + pgd_t *pgd =3D get_cpu_pgd(cpu); ++ pmd_t *ret; +#else list_for_each_entry(page, &pgd_list, lru) { -- if (!vmalloc_sync_one(page_address(page), address)) + pgd_t *pgd =3D page_address(page); + spinlock_t *pgt_lock; + pmd_t *ret; +=20 +@@ -241,8 +295,13 @@ void vmalloc_sync_all(void) + pgt_lock =3D &pgd_page_get_mm(page)->page_table_lock; +=20 + spin_lock(pgt_lock); +- ret =3D vmalloc_sync_one(page_address(page), address); +#endif + -+ if (!vmalloc_sync_one(pgd, address)) ++ ret =3D vmalloc_sync_one(pgd, address); ++ ++#ifndef CONFIG_PAX_PER_CPU_PGD + spin_unlock(pgt_lock); ++#endif +=20 + if (!ret) break; - } - spin_unlock_irqrestore(&pgd_lock, flags); -@@ -258,6 +310,11 @@ static noinline int vmalloc_fault(unsign +@@ -276,6 +335,11 @@ static noinline __kprobes int vmalloc_fa * an interrupt in the middle of a task switch.. */ pgd_paddr =3D read_cr3(); @@ -21810,35 +19913,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c l= inux-2.6.32.48/arch/x86/mm/fault pmd_k =3D vmalloc_sync_one(__va(pgd_paddr), address); if (!pmd_k) return -1; -@@ -332,15 +389,27 @@ void vmalloc_sync_all(void) -=20 - const pgd_t *pgd_ref =3D pgd_offset_k(address); - unsigned long flags; -+ -+#ifdef CONFIG_PAX_PER_CPU_PGD -+ unsigned long cpu; -+#else - struct page *page; -+#endif -=20 - if (pgd_none(*pgd_ref)) - continue; -=20 - spin_lock_irqsave(&pgd_lock, flags); -+ -+#ifdef CONFIG_PAX_PER_CPU_PGD -+ for (cpu =3D 0; cpu < NR_CPUS; ++cpu) { -+ pgd_t *pgd =3D pgd_offset_cpu(cpu, address); -+#else - list_for_each_entry(page, &pgd_list, lru) { - pgd_t *pgd; - pgd =3D (pgd_t *)page_address(page) + pgd_index(address); -+#endif -+ - if (pgd_none(*pgd)) - set_pgd(pgd, *pgd_ref); - else -@@ -373,7 +442,14 @@ static noinline int vmalloc_fault(unsign +@@ -371,7 +435,14 @@ static noinline __kprobes int vmalloc_fa * happen within a race in page table update. In the later * case just flush: */ @@ -21853,7 +19928,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c li= nux-2.6.32.48/arch/x86/mm/fault pgd_ref =3D pgd_offset_k(address); if (pgd_none(*pgd_ref)) return -1; -@@ -535,7 +611,7 @@ static int is_errata93(struct pt_regs *r +@@ -533,7 +604,7 @@ static int is_errata93(struct pt_regs *r static int is_errata100(struct pt_regs *regs, unsigned long address) { #ifdef CONFIG_X86_64 @@ -21862,7 +19937,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c li= nux-2.6.32.48/arch/x86/mm/fault return 1; #endif return 0; -@@ -562,7 +638,7 @@ static int is_f00f_bug(struct pt_regs *r +@@ -560,7 +631,7 @@ static int is_f00f_bug(struct pt_regs *r } =20 static const char nx_warning[] =3D KERN_CRIT @@ -21871,12 +19946,12 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault =20 static void show_fault_oops(struct pt_regs *regs, unsigned long error_code, -@@ -571,15 +647,26 @@ show_fault_oops(struct pt_regs *regs, un +@@ -569,14 +640,25 @@ show_fault_oops(struct pt_regs *regs, un if (!oops_may_print()) return; =20 - if (error_code & PF_INSTR) { -+ if (nx_enabled && (error_code & PF_INSTR)) { ++ if ((__supported_pte_mask & _PAGE_NX) && (error_code & PF_INSTR)) { unsigned int level; =20 pte_t *pte =3D lookup_address(address, &level); @@ -21884,8 +19959,8 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c li= nux-2.6.32.48/arch/x86/mm/fault if (pte && pte_present(*pte) && !pte_exec(*pte)) - printk(nx_warning, current_uid()); + printk(nx_warning, current_uid(), current->comm, task_pid_nr(current= )); - } -=20 ++ } ++ +#ifdef CONFIG_PAX_KERNEXEC + if (init_mm.start_code <=3D address && address < init_mm.end_code) { + if (current->signal->curr_ip) @@ -21894,13 +19969,12 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault + else + printk(KERN_ERR "PAX: %s:%d, uid/euid: %u/%u, attempted to modify ke= rnel code\n", + current->comm, task_pid_nr(current), current_uid(), current_euid(= )); -+ } + } +#endif -+ +=20 printk(KERN_ALERT "BUG: unable to handle kernel "); if (address < PAGE_SIZE) - printk(KERN_CONT "NULL pointer dereference"); -@@ -704,6 +791,70 @@ __bad_area_nosemaphore(struct pt_regs *r +@@ -702,6 +784,20 @@ __bad_area_nosemaphore(struct pt_regs *r unsigned long address, int si_code) { struct task_struct *tsk =3D current; @@ -21910,34 +19984,23 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault + +#ifdef CONFIG_X86_64 + if (mm && (error_code & PF_INSTR) && mm->context.vdso) { -+ if (regs->ip =3D=3D (unsigned long)vgettimeofday) { -+ regs->ip =3D (unsigned long)VDSO64_SYMBOL(mm->context.vdso, fallback= _gettimeofday); -+ return; -+ } else if (regs->ip =3D=3D (unsigned long)vtime) { -+ regs->ip =3D (unsigned long)VDSO64_SYMBOL(mm->context.vdso, fallback= _time); -+ return; -+ } else if (regs->ip =3D=3D (unsigned long)vgetcpu) { -+ regs->ip =3D (unsigned long)VDSO64_SYMBOL(mm->context.vdso, getcpu); ++ if (regs->ip =3D=3D VSYSCALL_ADDR(__NR_vgettimeofday) || ++ regs->ip =3D=3D VSYSCALL_ADDR(__NR_vtime) || ++ regs->ip =3D=3D VSYSCALL_ADDR(__NR_vgetcpu)) { ++ regs->ip +=3D mm->context.vdso - PAGE_SIZE - VSYSCALL_START; + return; + } + } +#endif -+ +=20 + /* User mode accesses just cause a SIGSEGV */ + if (error_code & PF_USER) { +@@ -720,6 +816,21 @@ __bad_area_nosemaphore(struct pt_regs *r + if (is_errata100(regs, address)) + return; +=20 +#if defined(CONFIG_PAX_PAGEEXEC) || defined(CONFIG_PAX_SEGMEXEC) -+ if (mm && (error_code & PF_USER)) { -+ unsigned long ip =3D regs->ip; -+ -+ if (v8086_mode(regs)) -+ ip =3D ((regs->cs & 0xffff) << 4) + (ip & 0xffff); -+ -+ /* -+ * It's possible to have interrupts off here: -+ */ -+ local_irq_enable(); -+ -+#ifdef CONFIG_PAX_PAGEEXEC -+ if ((mm->pax_flags & MF_PAX_PAGEEXEC) && -+ ((nx_enabled && (error_code & PF_INSTR)) || (!(error_code & (PF_P= ROT | PF_WRITE)) && ip =3D=3D address))) { ++ if (pax_is_fetch_fault(regs, error_code, address)) { + +#ifdef CONFIG_PAX_EMUTRAMP + switch (pax_handle_fetch_fault(regs)) { @@ -21946,32 +20009,15 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault + } +#endif + -+ pax_report_fault(regs, (void *)ip, (void *)regs->sp); ++ pax_report_fault(regs, (void *)regs->ip, (void *)regs->sp); + do_group_exit(SIGKILL); + } +#endif + -+#ifdef CONFIG_PAX_SEGMEXEC -+ if ((mm->pax_flags & MF_PAX_SEGMEXEC) && !(error_code & (PF_PROT | PF= _WRITE)) && (ip + SEGMEXEC_TASK_SIZE =3D=3D address)) { -+ -+#ifdef CONFIG_PAX_EMUTRAMP -+ switch (pax_handle_fetch_fault(regs)) { -+ case 2: -+ return; -+ } -+#endif -+ -+ pax_report_fault(regs, (void *)ip, (void *)regs->sp); -+ do_group_exit(SIGKILL); -+ } -+#endif -+ -+ } -+#endif + if (unlikely(show_unhandled_signals)) + show_signal_msg(regs, error_code, address, tsk); =20 - /* User mode accesses just cause a SIGSEGV */ - if (error_code & PF_USER) { -@@ -857,6 +1008,99 @@ static int spurious_fault_check(unsigned +@@ -871,6 +982,99 @@ static int spurious_fault_check(unsigned return 1; } =20 @@ -21983,7 +20029,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c li= nux-2.6.32.48/arch/x86/mm/fault + spinlock_t *ptl; + unsigned char pte_mask; + -+ if (nx_enabled || (error_code & (PF_PROT|PF_USER)) !=3D (PF_PROT|PF_US= ER) || v8086_mode(regs) || ++ if ((__supported_pte_mask & _PAGE_NX) || (error_code & (PF_PROT|PF_USE= R)) !=3D (PF_PROT|PF_USER) || v8086_mode(regs) || + !(mm->pax_flags & MF_PAX_PAGEEXEC)) + return 0; + @@ -22071,24 +20117,26 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault /* * Handle a spurious fault caused by a stale TLB entry. * -@@ -923,6 +1167,9 @@ int show_unhandled_signals =3D 1; +@@ -943,6 +1147,9 @@ int show_unhandled_signals =3D 1; static inline int - access_error(unsigned long error_code, int write, struct vm_area_struct= *vma) + access_error(unsigned long error_code, struct vm_area_struct *vma) { -+ if (nx_enabled && (error_code & PF_INSTR) && !(vma->vm_flags & VM_EXEC= )) ++ if ((__supported_pte_mask & _PAGE_NX) && (error_code & PF_INSTR) && !(= vma->vm_flags & VM_EXEC)) + return 1; + - if (write) { + if (error_code & PF_WRITE) { /* write, present and write, not present: */ if (unlikely(!(vma->vm_flags & VM_WRITE))) -@@ -956,17 +1203,31 @@ do_page_fault(struct pt_regs *regs, unsi +@@ -976,19 +1183,33 @@ do_page_fault(struct pt_regs *regs, unsi { struct vm_area_struct *vma; struct task_struct *tsk; - unsigned long address; struct mm_struct *mm; - int write; int fault; + int write =3D error_code & PF_WRITE; + unsigned int flags =3D FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE | + (write ? FAULT_FLAG_WRITE : 0); =20 + /* Get the faulting address: */ + unsigned long address =3D read_cr2(); @@ -22117,7 +20165,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c li= nux-2.6.32.48/arch/x86/mm/fault /* * Detect and handle instructions that would cause a page fault for * both a tracked kernel page and a userspace page. -@@ -1026,7 +1287,7 @@ do_page_fault(struct pt_regs *regs, unsi +@@ -1048,7 +1269,7 @@ do_page_fault(struct pt_regs *regs, unsi * User-mode registers count as a user access even for any * potential system fault or CPU buglet: */ @@ -22126,7 +20174,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c li= nux-2.6.32.48/arch/x86/mm/fault local_irq_enable(); error_code |=3D PF_USER; } else { -@@ -1080,6 +1341,11 @@ do_page_fault(struct pt_regs *regs, unsi +@@ -1103,6 +1324,11 @@ retry: might_sleep(); } =20 @@ -22138,7 +20186,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c li= nux-2.6.32.48/arch/x86/mm/fault vma =3D find_vma(mm, address); if (unlikely(!vma)) { bad_area(regs, error_code, address); -@@ -1091,18 +1357,24 @@ do_page_fault(struct pt_regs *regs, unsi +@@ -1114,18 +1340,24 @@ retry: bad_area(regs, error_code, address); return; } @@ -22174,11 +20222,42 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault if (unlikely(expand_stack(vma, address))) { bad_area(regs, error_code, address); return; -@@ -1146,3 +1418,199 @@ good_area: +@@ -1180,3 +1412,230 @@ good_area: =20 up_read(&mm->mmap_sem); } + ++#if defined(CONFIG_PAX_PAGEEXEC) || defined(CONFIG_PAX_SEGMEXEC) ++static bool pax_is_fetch_fault(struct pt_regs *regs, unsigned long erro= r_code, unsigned long address) ++{ ++ struct mm_struct *mm =3D current->mm; ++ unsigned long ip =3D regs->ip; ++ ++ if (v8086_mode(regs)) ++ ip =3D ((regs->cs & 0xffff) << 4) + (ip & 0xffff); ++ ++#ifdef CONFIG_PAX_PAGEEXEC ++ if (mm->pax_flags & MF_PAX_PAGEEXEC) { ++ if ((__supported_pte_mask & _PAGE_NX) && (error_code & PF_INSTR)) ++ return true; ++ if (!(error_code & (PF_PROT | PF_WRITE)) && ip =3D=3D address) ++ return true; ++ return false; ++ } ++#endif ++ ++#ifdef CONFIG_PAX_SEGMEXEC ++ if (mm->pax_flags & MF_PAX_SEGMEXEC) { ++ if (!(error_code & (PF_PROT | PF_WRITE)) && (ip + SEGMEXEC_TASK_SIZE = =3D=3D address)) ++ return true; ++ return false; ++ } ++#endif ++ ++ return false; ++} ++#endif ++ +#ifdef CONFIG_PAX_EMUTRAMP +static int pax_handle_fetch_fault_32(struct pt_regs *regs) +{ @@ -22374,10 +20453,10 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/fault.c = linux-2.6.32.48/arch/x86/mm/fault + + return ret ? -EFAULT : 0; +} -diff -urNp linux-2.6.32.48/arch/x86/mm/gup.c linux-2.6.32.48/arch/x86/mm= /gup.c ---- linux-2.6.32.48/arch/x86/mm/gup.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/arch/x86/mm/gup.c 2011-11-12 12:46:42.000000000 -050= 0 -@@ -237,7 +237,7 @@ int __get_user_pages_fast(unsigned long=20 +diff -urNp linux-3.0.8/arch/x86/mm/gup.c linux-3.0.8/arch/x86/mm/gup.c +--- linux-3.0.8/arch/x86/mm/gup.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/mm/gup.c 2011-08-23 21:47:55.000000000 -0400 +@@ -263,7 +263,7 @@ int __get_user_pages_fast(unsigned long=20 addr =3D start; len =3D (unsigned long) nr_pages << PAGE_SHIFT; end =3D start + len; @@ -22386,10 +20465,10 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/gup.c li= nux-2.6.32.48/arch/x86/mm/gup.c (void __user *)start, len))) return 0; =20 -diff -urNp linux-2.6.32.48/arch/x86/mm/highmem_32.c linux-2.6.32.48/arch= /x86/mm/highmem_32.c ---- linux-2.6.32.48/arch/x86/mm/highmem_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/mm/highmem_32.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -43,7 +43,10 @@ void *kmap_atomic_prot(struct page *page +diff -urNp linux-3.0.8/arch/x86/mm/highmem_32.c linux-3.0.8/arch/x86/mm/= highmem_32.c +--- linux-3.0.8/arch/x86/mm/highmem_32.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/mm/highmem_32.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -44,7 +44,10 @@ void *kmap_atomic_prot(struct page *page idx =3D type + KM_TYPE_NR*smp_processor_id(); vaddr =3D __fix_to_virt(FIX_KMAP_BEGIN + idx); BUG_ON(!pte_none(*(kmap_pte-idx))); @@ -22400,10 +20479,10 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/highmem_= 32.c linux-2.6.32.48/arch/x86/mm/ =20 return (void *)vaddr; } -diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbpage.c linux-2.6.32.48/arc= h/x86/mm/hugetlbpage.c ---- linux-2.6.32.48/arch/x86/mm/hugetlbpage.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/mm/hugetlbpage.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -267,13 +267,20 @@ static unsigned long hugetlb_get_unmappe +diff -urNp linux-3.0.8/arch/x86/mm/hugetlbpage.c linux-3.0.8/arch/x86/mm= /hugetlbpage.c +--- linux-3.0.8/arch/x86/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/arch/x86/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -266,13 +266,20 @@ static unsigned long hugetlb_get_unmappe struct hstate *h =3D hstate_file(file); struct mm_struct *mm =3D current->mm; struct vm_area_struct *vma; @@ -22428,7 +20507,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbpag= e.c linux-2.6.32.48/arch/x86/mm } =20 full_search: -@@ -281,26 +288,27 @@ full_search: +@@ -280,26 +287,27 @@ full_search: =20 for (vma =3D find_vma(mm, addr); ; vma =3D vma->vm_next) { /* At this point: (!vma || addr < vma->vm_end). */ @@ -22463,7 +20542,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbpag= e.c linux-2.6.32.48/arch/x86/mm } =20 static unsigned long hugetlb_get_unmapped_area_topdown(struct file *fil= e, -@@ -309,10 +317,9 @@ static unsigned long hugetlb_get_unmappe +@@ -308,10 +316,9 @@ static unsigned long hugetlb_get_unmappe { struct hstate *h =3D hstate_file(file); struct mm_struct *mm =3D current->mm; @@ -22476,7 +20555,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbpag= e.c linux-2.6.32.48/arch/x86/mm =20 /* don't allow allocations above current base */ if (mm->free_area_cache > base) -@@ -322,64 +329,63 @@ static unsigned long hugetlb_get_unmappe +@@ -321,64 +328,63 @@ static unsigned long hugetlb_get_unmappe largest_hole =3D 0; mm->free_area_cache =3D base; } @@ -22486,7 +20565,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbpag= e.c linux-2.6.32.48/arch/x86/mm if (mm->free_area_cache < len) goto fail; =20 - /* either no address requested or cant fit in requested address hole *= / + /* either no address requested or can't fit in requested address hole = */ - addr =3D (mm->free_area_cache - len) & huge_page_mask(h); + addr =3D (mm->free_area_cache - len); do { @@ -22571,7 +20650,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbpag= e.c linux-2.6.32.48/arch/x86/mm mm->cached_hole_size =3D ~0UL; addr =3D hugetlb_get_unmapped_area_bottomup(file, addr0, len, pgoff, flags); -@@ -387,6 +393,7 @@ fail: +@@ -386,6 +392,7 @@ fail: /* * Restore the topdown base: */ @@ -22579,7 +20658,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbpag= e.c linux-2.6.32.48/arch/x86/mm mm->free_area_cache =3D base; mm->cached_hole_size =3D ~0UL; =20 -@@ -400,10 +407,19 @@ hugetlb_get_unmapped_area(struct file *f +@@ -399,10 +406,19 @@ hugetlb_get_unmapped_area(struct file *f struct hstate *h =3D hstate_file(file); struct mm_struct *mm =3D current->mm; struct vm_area_struct *vma; @@ -22600,7 +20679,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbpag= e.c linux-2.6.32.48/arch/x86/mm return -ENOMEM; =20 if (flags & MAP_FIXED) { -@@ -415,8 +431,7 @@ hugetlb_get_unmapped_area(struct file *f +@@ -414,8 +430,7 @@ hugetlb_get_unmapped_area(struct file *f if (addr) { addr =3D ALIGN(addr, huge_page_size(h)); vma =3D find_vma(mm, addr); @@ -22610,10 +20689,10 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/hugetlbp= age.c linux-2.6.32.48/arch/x86/mm return addr; } if (mm->get_unmapped_area =3D=3D arch_get_unmapped_area) -diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c linux-2.6.32.48/arch/x8= 6/mm/init_32.c ---- linux-2.6.32.48/arch/x86/mm/init_32.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/init_32.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -72,36 +72,6 @@ static __init void *alloc_low_page(void) +diff -urNp linux-3.0.8/arch/x86/mm/init_32.c linux-3.0.8/arch/x86/mm/ini= t_32.c +--- linux-3.0.8/arch/x86/mm/init_32.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/mm/init_32.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -74,36 +74,6 @@ static __init void *alloc_low_page(void) } =20 /* @@ -22650,7 +20729,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c = linux-2.6.32.48/arch/x86/mm/ini * Create a page table and place a pointer to it in a middle page * directory entry: */ -@@ -121,13 +91,28 @@ static pte_t * __init one_page_table_ini +@@ -123,13 +93,28 @@ static pte_t * __init one_page_table_ini page_table =3D (pte_t *)alloc_low_page(); =20 paravirt_alloc_pte(&init_mm, __pa(page_table) >> PAGE_SHIFT); @@ -22679,7 +20758,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c = linux-2.6.32.48/arch/x86/mm/ini pmd_t * __init populate_extra_pmd(unsigned long vaddr) { int pgd_idx =3D pgd_index(vaddr); -@@ -201,6 +186,7 @@ page_table_range_init(unsigned long star +@@ -203,6 +188,7 @@ page_table_range_init(unsigned long star int pgd_idx, pmd_idx; unsigned long vaddr; pgd_t *pgd; @@ -22687,7 +20766,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c = linux-2.6.32.48/arch/x86/mm/ini pmd_t *pmd; pte_t *pte =3D NULL; =20 -@@ -210,8 +196,13 @@ page_table_range_init(unsigned long star +@@ -212,8 +198,13 @@ page_table_range_init(unsigned long star pgd =3D pgd_base + pgd_idx; =20 for ( ; (pgd_idx < PTRS_PER_PGD) && (vaddr !=3D end); pgd++, pgd_idx++= ) { @@ -22703,14 +20782,14 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.= c linux-2.6.32.48/arch/x86/mm/ini for (; (pmd_idx < PTRS_PER_PMD) && (vaddr !=3D end); pmd++, pmd_idx++) { pte =3D page_table_kmap_check(one_page_table_init(pmd), -@@ -223,11 +214,20 @@ page_table_range_init(unsigned long star +@@ -225,11 +216,20 @@ page_table_range_init(unsigned long star } } =20 -static inline int is_kernel_text(unsigned long addr) +static inline int is_kernel_text(unsigned long start, unsigned long end= ) { -- if (addr >=3D PAGE_OFFSET && addr <=3D (unsigned long)__init_end) +- if (addr >=3D (unsigned long)_text && addr <=3D (unsigned long)__init_= end) - return 1; - return 0; + if ((start > ktla_ktva((unsigned long)_etext) || @@ -22728,8 +20807,8 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c = linux-2.6.32.48/arch/x86/mm/ini } =20 /* -@@ -243,9 +243,10 @@ kernel_physical_mapping_init(unsigned lo - int use_pse =3D page_size_mask =3D=3D (1<=3D end_pfn) continue; -@@ -291,14 +297,13 @@ repeat: +@@ -294,14 +300,13 @@ repeat: #endif for (; pmd_idx < PTRS_PER_PMD && pfn < end_pfn; pmd++, pmd_idx++) { @@ -22772,7 +20851,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c = linux-2.6.32.48/arch/x86/mm/ini pgprot_t prot =3D PAGE_KERNEL_LARGE; /* * first pass will use the same initial -@@ -308,11 +313,7 @@ repeat: +@@ -311,11 +316,7 @@ repeat: __pgprot(PTE_IDENT_ATTR | _PAGE_PSE); =20 @@ -22785,7 +20864,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c = linux-2.6.32.48/arch/x86/mm/ini prot =3D PAGE_KERNEL_LARGE_EXEC; =20 pages_2m++; -@@ -329,7 +330,7 @@ repeat: +@@ -332,7 +333,7 @@ repeat: pte_ofs =3D pte_index((pfn<> 10, =20 @@ -22892,7 +20942,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c = linux-2.6.32.48/arch/x86/mm/ini ((unsigned long)&_etext - (unsigned long)&_text) >> 10); =20 /* -@@ -1007,6 +1012,7 @@ void set_kernel_text_rw(void) +@@ -896,6 +901,7 @@ void set_kernel_text_rw(void) if (!kernel_set_to_readonly) return; =20 @@ -22900,7 +20950,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c = linux-2.6.32.48/arch/x86/mm/ini pr_debug("Set kernel text: %lx - %lx for read write\n", start, start+size); =20 -@@ -1021,6 +1027,7 @@ void set_kernel_text_ro(void) +@@ -910,6 +916,7 @@ void set_kernel_text_ro(void) if (!kernel_set_to_readonly) return; =20 @@ -22908,7 +20958,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.c = linux-2.6.32.48/arch/x86/mm/ini pr_debug("Set kernel text: %lx - %lx for read only\n", start, start+size); =20 -@@ -1032,6 +1039,7 @@ void mark_rodata_ro(void) +@@ -938,6 +945,7 @@ void mark_rodata_ro(void) unsigned long start =3D PFN_ALIGN(_text); unsigned long size =3D PFN_ALIGN(_etext) - start; =20 @@ -22916,10 +20966,61 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_32.= c linux-2.6.32.48/arch/x86/mm/ini set_pages_ro(virt_to_page(start), size >> PAGE_SHIFT); printk(KERN_INFO "Write protecting the kernel text: %luk\n", size >> 10); -diff -urNp linux-2.6.32.48/arch/x86/mm/init_64.c linux-2.6.32.48/arch/x8= 6/mm/init_64.c ---- linux-2.6.32.48/arch/x86/mm/init_64.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/init_64.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -164,7 +164,9 @@ void set_pte_vaddr_pud(pud_t *pud_page,=20 +diff -urNp linux-3.0.8/arch/x86/mm/init_64.c linux-3.0.8/arch/x86/mm/ini= t_64.c +--- linux-3.0.8/arch/x86/mm/init_64.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/mm/init_64.c 2011-10-06 04:17:55.000000000 -040= 0 +@@ -75,7 +75,7 @@ early_param("gbpages", parse_direct_gbpa + * around without checking the pgd every time. + */ +=20 +-pteval_t __supported_pte_mask __read_mostly =3D ~_PAGE_IOMAP; ++pteval_t __supported_pte_mask __read_only =3D ~(_PAGE_NX | _PAGE_IOMAP)= ; + EXPORT_SYMBOL_GPL(__supported_pte_mask); +=20 + int force_personality32; +@@ -108,12 +108,22 @@ void sync_global_pgds(unsigned long star +=20 + for (address =3D start; address <=3D end; address +=3D PGDIR_SIZE) { + const pgd_t *pgd_ref =3D pgd_offset_k(address); ++ ++#ifdef CONFIG_PAX_PER_CPU_PGD ++ unsigned long cpu; ++#else + struct page *page; ++#endif +=20 + if (pgd_none(*pgd_ref)) + continue; +=20 + spin_lock(&pgd_lock); ++ ++#ifdef CONFIG_PAX_PER_CPU_PGD ++ for (cpu =3D 0; cpu < NR_CPUS; ++cpu) { ++ pgd_t *pgd =3D pgd_offset_cpu(cpu, address); ++#else + list_for_each_entry(page, &pgd_list, lru) { + pgd_t *pgd; + spinlock_t *pgt_lock; +@@ -122,6 +132,7 @@ void sync_global_pgds(unsigned long star + /* the pgt_lock only for Xen */ + pgt_lock =3D &pgd_page_get_mm(page)->page_table_lock; + spin_lock(pgt_lock); ++#endif +=20 + if (pgd_none(*pgd)) + set_pgd(pgd, *pgd_ref); +@@ -129,7 +140,10 @@ void sync_global_pgds(unsigned long star + BUG_ON(pgd_page_vaddr(*pgd) + !=3D pgd_page_vaddr(*pgd_ref)); +=20 ++#ifndef CONFIG_PAX_PER_CPU_PGD + spin_unlock(pgt_lock); ++#endif ++ + } + spin_unlock(&pgd_lock); + } +@@ -203,7 +217,9 @@ void set_pte_vaddr_pud(pud_t *pud_page,=20 pmd =3D fill_pmd(pud, vaddr); pte =3D fill_pte(pmd, vaddr); =20 @@ -22929,7 +21030,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_64.c = linux-2.6.32.48/arch/x86/mm/ini =20 /* * It's enough to flush this one mapping. -@@ -223,14 +225,12 @@ static void __init __init_extra_mapping( +@@ -262,14 +278,12 @@ static void __init __init_extra_mapping( pgd =3D pgd_offset_k((unsigned long)__va(phys)); if (pgd_none(*pgd)) { pud =3D (pud_t *) spp_getpage(); @@ -22946,7 +21047,25 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_64.c= linux-2.6.32.48/arch/x86/mm/ini } pmd =3D pmd_offset(pud, phys); BUG_ON(!pmd_none(*pmd)); -@@ -675,6 +675,12 @@ void __init mem_init(void) +@@ -330,7 +344,7 @@ static __ref void *alloc_low_page(unsign + if (pfn >=3D pgt_buf_top) + panic("alloc_low_page: ran out of memory"); +=20 +- adr =3D early_memremap(pfn * PAGE_SIZE, PAGE_SIZE); ++ adr =3D (void __force_kernel *)early_memremap(pfn * PAGE_SIZE, PAGE_SI= ZE); + clear_page(adr); + *phys =3D pfn * PAGE_SIZE; + return adr; +@@ -346,7 +360,7 @@ static __ref void *map_low_page(void *vi +=20 + phys =3D __pa(virt); + left =3D phys & (PAGE_SIZE - 1); +- adr =3D early_memremap(phys & PAGE_MASK, PAGE_SIZE); ++ adr =3D (void __force_kernel *)early_memremap(phys & PAGE_MASK, PAGE_S= IZE); + adr =3D (void *)(((unsigned long)adr) | left); +=20 + return adr; +@@ -693,6 +707,12 @@ void __init mem_init(void) =20 pci_iommu_alloc(); =20 @@ -22959,7 +21078,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_64.c = linux-2.6.32.48/arch/x86/mm/ini /* clear_bss() already clear the empty_zero_page */ =20 reservedpages =3D 0; -@@ -861,8 +867,8 @@ int kern_addr_valid(unsigned long addr) +@@ -853,8 +873,8 @@ int kern_addr_valid(unsigned long addr) static struct vm_area_struct gate_vma =3D { .vm_start =3D VSYSCALL_START, .vm_end =3D VSYSCALL_START + (VSYSCALL_MAPPED_PAGES * PAGE_SIZE), @@ -22969,8 +21088,8 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_64.c = linux-2.6.32.48/arch/x86/mm/ini + .vm_flags =3D VM_READ }; =20 - struct vm_area_struct *get_gate_vma(struct task_struct *tsk) -@@ -896,7 +902,7 @@ int in_gate_area_no_task(unsigned long a + struct vm_area_struct *get_gate_vma(struct mm_struct *mm) +@@ -888,7 +908,7 @@ int in_gate_area_no_mm(unsigned long add =20 const char *arch_vma_name(struct vm_area_struct *vma) { @@ -22979,38 +21098,23 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init_64.= c linux-2.6.32.48/arch/x86/mm/ini return "[vdso]"; if (vma =3D=3D &gate_vma) return "[vsyscall]"; -diff -urNp linux-2.6.32.48/arch/x86/mm/init.c linux-2.6.32.48/arch/x86/m= m/init.c ---- linux-2.6.32.48/arch/x86/mm/init.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/mm/init.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -69,11 +69,7 @@ static void __init find_early_table_spac - * cause a hotspot and fill up ZONE_DMA. The page tables - * need roughly 0.5KB per GB. - */ --#ifdef CONFIG_X86_32 -- start =3D 0x7000; --#else -- start =3D 0x8000; --#endif -+ start =3D 0x100000; - e820_table_start =3D find_e820_area(start, max_pfn_mapped<> PUD_SHIFT; +@@ -312,12 +312,34 @@ unsigned long __init_refok init_memory_m */ -+ int devmem_is_allowed(unsigned long pagenr) { +- if (pagenr <=3D 256) +#ifdef CONFIG_GRKERNSEC_KMEM + /* allow BDA */ + if (!pagenr) @@ -23018,21 +21122,31 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init.c l= inux-2.6.32.48/arch/x86/mm/init.c + /* allow EBDA */ + if ((0x9f000 >> PAGE_SHIFT) =3D=3D pagenr) + return 1; -+ /* allow ISA/video mem */ -+ if ((ISA_START_ADDRESS >> PAGE_SHIFT) <=3D pagenr && pagenr < (ISA_END= _ADDRESS >> PAGE_SHIFT)) ++#else ++ if (!pagenr) + return 1; ++#ifdef CONFIG_VM86 ++ if (pagenr < (ISA_START_ADDRESS >> PAGE_SHIFT)) ++ return 1; ++#endif ++#endif ++ ++ if ((ISA_START_ADDRESS >> PAGE_SHIFT) <=3D pagenr && pagenr < (ISA_END= _ADDRESS >> PAGE_SHIFT)) + return 1; ++#ifdef CONFIG_GRKERNSEC_KMEM + /* throw out everything else below 1MB */ + if (pagenr <=3D 256) + return 0; -+#else - if (pagenr <=3D 256) - return 1; +#endif -+ if (iomem_is_exclusive(pagenr << PAGE_SHIFT)) return 0; if (!page_is_ram(pagenr)) -@@ -379,6 +392,86 @@ void free_init_pages(char *what, unsigne + return 1; ++ + return 0; + } +=20 +@@ -372,6 +394,86 @@ void free_init_pages(char *what, unsigne =20 void free_initmem(void) { @@ -23119,11 +21233,11 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/init.c l= inux-2.6.32.48/arch/x86/mm/init.c free_init_pages("unused kernel memory", (unsigned long)(&__init_begin), (unsigned long)(&__init_end)); -diff -urNp linux-2.6.32.48/arch/x86/mm/iomap_32.c linux-2.6.32.48/arch/x= 86/mm/iomap_32.c ---- linux-2.6.32.48/arch/x86/mm/iomap_32.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/mm/iomap_32.c 2011-11-12 12:46:42.000000000= -0500 -@@ -65,7 +65,11 @@ void *kmap_atomic_prot_pfn(unsigned long - debug_kmap_atomic(type); +diff -urNp linux-3.0.8/arch/x86/mm/iomap_32.c linux-3.0.8/arch/x86/mm/io= map_32.c +--- linux-3.0.8/arch/x86/mm/iomap_32.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/mm/iomap_32.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -64,7 +64,11 @@ void *kmap_atomic_prot_pfn(unsigned long + type =3D kmap_atomic_idx_push(); idx =3D type + KM_TYPE_NR * smp_processor_id(); vaddr =3D __fix_to_virt(FIX_KMAP_BEGIN + idx); + @@ -23134,29 +21248,11 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/iomap_32= .c linux-2.6.32.48/arch/x86/mm/io arch_flush_lazy_mmu_mode(); =20 return (void *)vaddr; -diff -urNp linux-2.6.32.48/arch/x86/mm/ioremap.c linux-2.6.32.48/arch/x8= 6/mm/ioremap.c ---- linux-2.6.32.48/arch/x86/mm/ioremap.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/ioremap.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -41,8 +41,8 @@ int page_is_ram(unsigned long pagenr) - * Second special case: Some BIOSen report the PC BIOS - * area (640->1Mb) as ram even though it is not. - */ -- if (pagenr >=3D (BIOS_BEGIN >> PAGE_SHIFT) && -- pagenr < (BIOS_END >> PAGE_SHIFT)) -+ if (pagenr >=3D (ISA_START_ADDRESS >> PAGE_SHIFT) && -+ pagenr < (ISA_END_ADDRESS >> PAGE_SHIFT)) - return 0; -=20 - for (i =3D 0; i < e820.nr_map; i++) { -@@ -137,13 +137,10 @@ static void __iomem *__ioremap_caller(re - /* - * Don't allow anybody to remap normal RAM that we're using.. - */ -- for (pfn =3D phys_addr >> PAGE_SHIFT; -- (pfn << PAGE_SHIFT) < (last_addr & PAGE_MASK); -- pfn++) { -- -+ for (pfn =3D phys_addr >> PAGE_SHIFT; ((resource_size_t)pfn << PAGE_SH= IFT) < (last_addr & PAGE_MASK); pfn++) { +diff -urNp linux-3.0.8/arch/x86/mm/ioremap.c linux-3.0.8/arch/x86/mm/ior= emap.c +--- linux-3.0.8/arch/x86/mm/ioremap.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/mm/ioremap.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -97,7 +97,7 @@ static void __iomem *__ioremap_caller(re + for (pfn =3D phys_addr >> PAGE_SHIFT; pfn <=3D last_pfn; pfn++) { int is_ram =3D page_is_ram(pfn); =20 - if (is_ram && pfn_valid(pfn) && !PageReserved(pfn_to_page(pfn))) @@ -23164,7 +21260,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/ioremap.c = linux-2.6.32.48/arch/x86/mm/ior return NULL; WARN_ON_ONCE(is_ram); } -@@ -407,7 +404,7 @@ static int __init early_ioremap_debug_se +@@ -344,7 +344,7 @@ static int __init early_ioremap_debug_se early_param("early_ioremap_debug", early_ioremap_debug_setup); =20 static __initdata int after_paging_init; @@ -23173,7 +21269,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/ioremap.c = linux-2.6.32.48/arch/x86/mm/ior =20 static inline pmd_t * __init early_ioremap_pmd(unsigned long addr) { -@@ -439,8 +436,7 @@ void __init early_ioremap_init(void) +@@ -381,8 +381,7 @@ void __init early_ioremap_init(void) slot_virt[i] =3D __fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i); =20 pmd =3D early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)); @@ -23183,9 +21279,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/ioremap.c = linux-2.6.32.48/arch/x86/mm/ior =20 /* * The boot-ioremap range spans multiple pmds, for which -diff -urNp linux-2.6.32.48/arch/x86/mm/kmemcheck/kmemcheck.c linux-2.6.3= 2.48/arch/x86/mm/kmemcheck/kmemcheck.c ---- linux-2.6.32.48/arch/x86/mm/kmemcheck/kmemcheck.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/arch/x86/mm/kmemcheck/kmemcheck.c 2011-11-12 12:46:4= 2.000000000 -0500 +diff -urNp linux-3.0.8/arch/x86/mm/kmemcheck/kmemcheck.c linux-3.0.8/arc= h/x86/mm/kmemcheck/kmemcheck.c +--- linux-3.0.8/arch/x86/mm/kmemcheck/kmemcheck.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/arch/x86/mm/kmemcheck/kmemcheck.c 2011-08-23 21:47:55.00= 0000000 -0400 @@ -622,9 +622,9 @@ bool kmemcheck_fault(struct pt_regs *reg * memory (e.g. tracked pages)? For now, we need this to avoid * invoking kmemcheck for PnP BIOS calls. @@ -23198,9 +21294,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/kmemcheck/= kmemcheck.c linux-2.6.32.48/arc return false; =20 pte =3D kmemcheck_pte_lookup(address); -diff -urNp linux-2.6.32.48/arch/x86/mm/mmap.c linux-2.6.32.48/arch/x86/m= m/mmap.c ---- linux-2.6.32.48/arch/x86/mm/mmap.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/mm/mmap.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-3.0.8/arch/x86/mm/mmap.c linux-3.0.8/arch/x86/mm/mmap.c +--- linux-3.0.8/arch/x86/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 @@ -49,7 +49,7 @@ static unsigned int stack_maxrandom_size * Leave an at least ~128 MB hole with possible stack randomization. */ @@ -23217,7 +21313,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/mmap.c lin= ux-2.6.32.48/arch/x86/mm/mmap.c -static unsigned long mmap_base(void) +static unsigned long mmap_base(struct mm_struct *mm) { - unsigned long gap =3D current->signal->rlim[RLIMIT_STACK].rlim_cur; + unsigned long gap =3D rlimit(RLIMIT_STACK); + unsigned long pax_task_size =3D TASK_SIZE; + +#ifdef CONFIG_PAX_SEGMEXEC @@ -23282,10 +21378,10 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/mmap.c l= inux-2.6.32.48/arch/x86/mm/mmap.c mm->get_unmapped_area =3D arch_get_unmapped_area_topdown; mm->unmap_area =3D arch_unmap_area_topdown; } -diff -urNp linux-2.6.32.48/arch/x86/mm/mmio-mod.c linux-2.6.32.48/arch/x= 86/mm/mmio-mod.c ---- linux-2.6.32.48/arch/x86/mm/mmio-mod.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/mm/mmio-mod.c 2011-11-12 12:46:42.000000000= -0500 -@@ -193,7 +193,7 @@ static void pre(struct kmmio_probe *p, s +diff -urNp linux-3.0.8/arch/x86/mm/mmio-mod.c linux-3.0.8/arch/x86/mm/mm= io-mod.c +--- linux-3.0.8/arch/x86/mm/mmio-mod.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/mm/mmio-mod.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -195,7 +195,7 @@ static void pre(struct kmmio_probe *p, s break; default: { @@ -23294,7 +21390,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/mmio-mod.c= linux-2.6.32.48/arch/x86/mm/mm my_trace->opcode =3D MMIO_UNKNOWN_OP; my_trace->width =3D 0; my_trace->value =3D (*ip) << 16 | *(ip + 1) << 8 | -@@ -233,7 +233,7 @@ static void post(struct kmmio_probe *p,=20 +@@ -235,7 +235,7 @@ static void post(struct kmmio_probe *p,=20 static void ioremap_trace_core(resource_size_t offset, unsigned long si= ze, void __iomem *addr) { @@ -23303,7 +21399,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/mmio-mod.c= linux-2.6.32.48/arch/x86/mm/mm struct remap_trace *trace =3D kmalloc(sizeof(*trace), GFP_KERNEL); /* These are page-unaligned. */ struct mmiotrace_map map =3D { -@@ -257,7 +257,7 @@ static void ioremap_trace_core(resource_ +@@ -259,7 +259,7 @@ static void ioremap_trace_core(resource_ .private =3D trace }, .phys =3D offset, @@ -23312,29 +21408,19 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/mmio-mod= .c linux-2.6.32.48/arch/x86/mm/mm }; map.map_id =3D trace->id; =20 -diff -urNp linux-2.6.32.48/arch/x86/mm/numa_32.c linux-2.6.32.48/arch/x8= 6/mm/numa_32.c ---- linux-2.6.32.48/arch/x86/mm/numa_32.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/numa_32.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -98,7 +98,6 @@ unsigned long node_memmap_size_bytes(int - } - #endif -=20 --extern unsigned long find_max_low_pfn(void); - extern unsigned long highend_pfn, highstart_pfn; -=20 - #define LARGE_PAGE_BYTES (PTRS_PER_PTE * PAGE_SIZE) -diff -urNp linux-2.6.32.48/arch/x86/mm/pageattr.c linux-2.6.32.48/arch/x= 86/mm/pageattr.c ---- linux-2.6.32.48/arch/x86/mm/pageattr.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/mm/pageattr.c 2011-11-12 12:46:42.000000000= -0500 -@@ -261,16 +261,17 @@ static inline pgprot_t static_protection - * PCI BIOS based config access (CONFIG_PCI_GOBIOS) support. +diff -urNp linux-3.0.8/arch/x86/mm/pageattr.c linux-3.0.8/arch/x86/mm/pa= geattr.c +--- linux-3.0.8/arch/x86/mm/pageattr.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/mm/pageattr.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -261,7 +261,7 @@ static inline pgprot_t static_protection */ - if (within(pfn, BIOS_BEGIN >> PAGE_SHIFT, BIOS_END >> PAGE_SHIFT)) + #ifdef CONFIG_PCI_BIOS + if (pcibios_enabled && within(pfn, BIOS_BEGIN >> PAGE_SHIFT, BIOS_END = >> PAGE_SHIFT)) - pgprot_val(forbidden) |=3D _PAGE_NX; + pgprot_val(forbidden) |=3D _PAGE_NX & __supported_pte_mask; + #endif =20 /* - * The kernel text needs to be executable for obvious reasons +@@ -269,9 +269,10 @@ static inline pgprot_t static_protection * Does not cover __inittext since that is gone later on. On * 64bit we do not enforce !NX on the low mapping */ @@ -23347,22 +21433,29 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pageattr= .c linux-2.6.32.48/arch/x86/mm/pa /* * The .rodata section needs to be read-only. Using the pfn * catches all aliases. -@@ -278,6 +279,14 @@ static inline pgprot_t static_protection +@@ -279,6 +280,7 @@ static inline pgprot_t static_protection if (within(pfn, __pa((unsigned long)__start_rodata) >> PAGE_SHIFT, __pa((unsigned long)__end_rodata) >> PAGE_SHIFT)) pgprot_val(forbidden) |=3D _PAGE_RW; +#endif -+ +=20 + #if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) + /* +@@ -317,6 +319,13 @@ static inline pgprot_t static_protection + } + #endif +=20 +#ifdef CONFIG_PAX_KERNEXEC + if (within(pfn, __pa((unsigned long)&_text), __pa((unsigned long)&_sda= ta))) { + pgprot_val(forbidden) |=3D _PAGE_RW; + pgprot_val(forbidden) |=3D _PAGE_NX & __supported_pte_mask; + } +#endif -=20 ++ prot =3D __pgprot(pgprot_val(prot) & ~pgprot_val(forbidden)); =20 -@@ -331,23 +340,37 @@ EXPORT_SYMBOL_GPL(lookup_address); + return prot; +@@ -369,23 +378,37 @@ EXPORT_SYMBOL_GPL(lookup_address); static void __set_pmd_pte(pte_t *kpte, unsigned long address, pte_t pte= ) { /* change init_mm */ @@ -23402,9 +21495,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pageattr.c= linux-2.6.32.48/arch/x86/mm/pa } =20 static int -diff -urNp linux-2.6.32.48/arch/x86/mm/pageattr-test.c linux-2.6.32.48/a= rch/x86/mm/pageattr-test.c ---- linux-2.6.32.48/arch/x86/mm/pageattr-test.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/arch/x86/mm/pageattr-test.c 2011-11-12 12:46:42.0000= 00000 -0500 +diff -urNp linux-3.0.8/arch/x86/mm/pageattr-test.c linux-3.0.8/arch/x86/= mm/pageattr-test.c +--- linux-3.0.8/arch/x86/mm/pageattr-test.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/mm/pageattr-test.c 2011-08-23 21:47:55.00000000= 0 -0400 @@ -36,7 +36,7 @@ enum { =20 static int pte_testbit(pte_t pte) @@ -23414,28 +21507,19 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pageattr= -test.c linux-2.6.32.48/arch/x86/ } =20 struct split_state { -diff -urNp linux-2.6.32.48/arch/x86/mm/pat.c linux-2.6.32.48/arch/x86/mm= /pat.c ---- linux-2.6.32.48/arch/x86/mm/pat.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/arch/x86/mm/pat.c 2011-11-12 12:46:42.000000000 -050= 0 -@@ -258,7 +258,7 @@ chk_conflict(struct memtype *new, struct -=20 - conflict: - printk(KERN_INFO "%s:%d conflicting memory types " -- "%Lx-%Lx %s<->%s\n", current->comm, current->pid, new->start, -+ "%Lx-%Lx %s<->%s\n", current->comm, task_pid_nr(current), new->= start, - new->end, cattr_name(new->type), cattr_name(entry->type)); - return -EBUSY; - } -@@ -559,7 +559,7 @@ unlock_ret: +diff -urNp linux-3.0.8/arch/x86/mm/pat.c linux-3.0.8/arch/x86/mm/pat.c +--- linux-3.0.8/arch/x86/mm/pat.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/mm/pat.c 2011-08-23 21:47:55.000000000 -0400 +@@ -361,7 +361,7 @@ int free_memtype(u64 start, u64 end) =20 - if (err) { + if (!entry) { printk(KERN_INFO "%s:%d freeing invalid memtype %Lx-%Lx\n", - current->comm, current->pid, start, end); + current->comm, task_pid_nr(current), start, end); + return -EINVAL; } =20 - dprintk("free_memtype request 0x%Lx-0x%Lx\n", start, end); -@@ -689,8 +689,8 @@ static inline int range_is_allowed(unsig +@@ -492,8 +492,8 @@ static inline int range_is_allowed(unsig while (cursor < to) { if (!devmem_is_allowed(pfn)) { printk(KERN_INFO @@ -23446,7 +21530,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pat.c linu= x-2.6.32.48/arch/x86/mm/pat.c return 0; } cursor +=3D PAGE_SIZE; -@@ -755,7 +755,7 @@ int kernel_map_sync_memtype(u64 base, un +@@ -557,7 +557,7 @@ int kernel_map_sync_memtype(u64 base, un printk(KERN_INFO "%s:%d ioremap_change_attr failed %s " "for %Lx-%Lx\n", @@ -23455,7 +21539,16 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pat.c lin= ux-2.6.32.48/arch/x86/mm/pat.c cattr_name(flags), base, (unsigned long long)(base + size)); return -EINVAL; -@@ -813,7 +813,7 @@ static int reserve_pfn_range(u64 paddr,=20 +@@ -593,7 +593,7 @@ static int reserve_pfn_range(u64 paddr,=20 + if (want_flags !=3D flags) { + printk(KERN_WARNING + "%s:%d map pfn RAM range req %s for %Lx-%Lx, got %s\n", +- current->comm, current->pid, ++ current->comm, task_pid_nr(current), + cattr_name(want_flags), + (unsigned long long)paddr, + (unsigned long long)(paddr + size), +@@ -615,7 +615,7 @@ static int reserve_pfn_range(u64 paddr,=20 free_memtype(paddr, paddr + size); printk(KERN_ERR "%s:%d map pfn expected mapping type %s" " for %Lx-%Lx, got %s\n", @@ -23464,9 +21557,9 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pat.c linu= x-2.6.32.48/arch/x86/mm/pat.c cattr_name(want_flags), (unsigned long long)paddr, (unsigned long long)(paddr + size), -diff -urNp linux-2.6.32.48/arch/x86/mm/pf_in.c linux-2.6.32.48/arch/x86/= mm/pf_in.c ---- linux-2.6.32.48/arch/x86/mm/pf_in.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/arch/x86/mm/pf_in.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-3.0.8/arch/x86/mm/pf_in.c linux-3.0.8/arch/x86/mm/pf_in= .c +--- linux-3.0.8/arch/x86/mm/pf_in.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/mm/pf_in.c 2011-08-23 21:47:55.000000000 -0400 @@ -148,7 +148,7 @@ enum reason_type get_ins_type(unsigned l int i; enum reason_type rv =3D OTHERS; @@ -23494,28 +21587,28 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pf_in.c = linux-2.6.32.48/arch/x86/mm/pf_in p +=3D skip_prefix(p, &prf); p +=3D get_opcode(p, &opcode); =20 -@@ -417,7 +417,7 @@ unsigned long get_ins_reg_val(unsigned l +@@ -415,7 +415,7 @@ unsigned long get_ins_reg_val(unsigned l + struct prefix_bits prf; int i; - unsigned long rv; =20 - p =3D (unsigned char *)ins_addr; + p =3D (unsigned char *)ktla_ktva(ins_addr); p +=3D skip_prefix(p, &prf); p +=3D get_opcode(p, &opcode); for (i =3D 0; i < ARRAY_SIZE(reg_rop); i++) -@@ -472,7 +472,7 @@ unsigned long get_ins_imm_val(unsigned l +@@ -470,7 +470,7 @@ unsigned long get_ins_imm_val(unsigned l + struct prefix_bits prf; int i; - unsigned long rv; =20 - p =3D (unsigned char *)ins_addr; + p =3D (unsigned char *)ktla_ktva(ins_addr); p +=3D skip_prefix(p, &prf); p +=3D get_opcode(p, &opcode); for (i =3D 0; i < ARRAY_SIZE(imm_wop); i++) -diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable_32.c linux-2.6.32.48/arch= /x86/mm/pgtable_32.c ---- linux-2.6.32.48/arch/x86/mm/pgtable_32.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/mm/pgtable_32.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -49,10 +49,13 @@ void set_pte_vaddr(unsigned long vaddr,=20 +diff -urNp linux-3.0.8/arch/x86/mm/pgtable_32.c linux-3.0.8/arch/x86/mm/= pgtable_32.c +--- linux-3.0.8/arch/x86/mm/pgtable_32.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/mm/pgtable_32.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -48,10 +48,13 @@ void set_pte_vaddr(unsigned long vaddr,=20 return; } pte =3D pte_offset_kernel(pmd, vaddr); @@ -23529,10 +21622,10 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable_= 32.c linux-2.6.32.48/arch/x86/mm/ =20 /* * It's enough to flush this one mapping. -diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.c linux-2.6.32.48/arch/x8= 6/mm/pgtable.c ---- linux-2.6.32.48/arch/x86/mm/pgtable.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/mm/pgtable.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -83,9 +83,52 @@ static inline void pgd_list_del(pgd_t *p +diff -urNp linux-3.0.8/arch/x86/mm/pgtable.c linux-3.0.8/arch/x86/mm/pgt= able.c +--- linux-3.0.8/arch/x86/mm/pgtable.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/mm/pgtable.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -84,10 +84,52 @@ static inline void pgd_list_del(pgd_t *p list_del(&page->lru); } =20 @@ -23558,7 +21651,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.c = linux-2.6.32.48/arch/x86/mm/pgt +#else + *dst++ =3D *src++; +#endif -+ +=20 +} +#endif + @@ -23581,21 +21674,21 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.= c linux-2.6.32.48/arch/x86/mm/pgt +#endif + +#ifdef CONFIG_PAX_PER_CPU_PGD -+static inline void pgd_ctor(pgd_t *pgd) {} ++static inline void pgd_ctor(struct mm_struct *mm, pgd_t *pgd) {} +static inline void pgd_dtor(pgd_t *pgd) {} +#else - static void pgd_ctor(pgd_t *pgd) + static void pgd_set_mm(pgd_t *pgd, struct mm_struct *mm) { - /* If the pgd points to a shared pagetable level (either the -@@ -119,6 +162,7 @@ static void pgd_dtor(pgd_t *pgd) + BUILD_BUG_ON(sizeof(virt_to_page(pgd)->index) < sizeof(mm)); +@@ -128,6 +170,7 @@ static void pgd_dtor(pgd_t *pgd) pgd_list_del(pgd); - spin_unlock_irqrestore(&pgd_lock, flags); + spin_unlock(&pgd_lock); } +#endif =20 /* * List of all pgd's needed for non-PAE so it can invalidate entries -@@ -131,7 +175,7 @@ static void pgd_dtor(pgd_t *pgd) +@@ -140,7 +183,7 @@ static void pgd_dtor(pgd_t *pgd) * -- wli */ =20 @@ -23604,7 +21697,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.c = linux-2.6.32.48/arch/x86/mm/pgt /* * In PAE mode, we need to do a cr3 reload (=3Dtlb flush) when * updating the top-level pagetable entries to guarantee the -@@ -143,7 +187,7 @@ static void pgd_dtor(pgd_t *pgd) +@@ -152,7 +195,7 @@ static void pgd_dtor(pgd_t *pgd) * not shared between pagetables (!SHARED_KERNEL_PMDS), we allocate * and initialize the kernel pmds here. */ @@ -23613,7 +21706,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.c = linux-2.6.32.48/arch/x86/mm/pgt =20 void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) { -@@ -161,36 +205,38 @@ void pud_populate(struct mm_struct *mm,=20 +@@ -170,36 +213,38 @@ void pud_populate(struct mm_struct *mm,=20 */ flush_tlb_mm(mm); } @@ -23663,7 +21756,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.c = linux-2.6.32.48/arch/x86/mm/pgt return -ENOMEM; } =20 -@@ -203,51 +249,56 @@ static int preallocate_pmds(pmd_t *pmds[ +@@ -212,51 +257,55 @@ static int preallocate_pmds(pmd_t *pmds[ * preallocate which never got a corresponding vma will need to be * freed manually. */ @@ -23733,11 +21826,10 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.= c linux-2.6.32.48/arch/x86/mm/pgt pgd_t *pgd; - pmd_t *pmds[PREALLOCATED_PMDS]; + pxd_t *pxds[PREALLOCATED_PXDS]; -+ - unsigned long flags; =20 pgd =3D (pgd_t *)__get_free_page(PGALLOC_GFP); -@@ -257,11 +308,11 @@ pgd_t *pgd_alloc(struct mm_struct *mm) +=20 +@@ -265,11 +314,11 @@ pgd_t *pgd_alloc(struct mm_struct *mm) =20 mm->pgd =3D pgd; =20 @@ -23751,14 +21843,14 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.= c linux-2.6.32.48/arch/x86/mm/pgt =20 /* * Make sure that pre-populating the pmds is atomic with -@@ -271,14 +322,14 @@ pgd_t *pgd_alloc(struct mm_struct *mm) - spin_lock_irqsave(&pgd_lock, flags); +@@ -279,14 +328,14 @@ pgd_t *pgd_alloc(struct mm_struct *mm) + spin_lock(&pgd_lock); =20 - pgd_ctor(pgd); + pgd_ctor(mm, pgd); - pgd_prepopulate_pmd(mm, pgd, pmds); + pgd_prepopulate_pxd(mm, pgd, pxds); =20 - spin_unlock_irqrestore(&pgd_lock, flags); + spin_unlock(&pgd_lock); =20 return pgd; =20 @@ -23769,7 +21861,7 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.c = linux-2.6.32.48/arch/x86/mm/pgt out_free_pgd: free_page((unsigned long)pgd); out: -@@ -287,7 +338,7 @@ out: +@@ -295,7 +344,7 @@ out: =20 void pgd_free(struct mm_struct *mm, pgd_t *pgd) { @@ -23778,78 +21870,42 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/pgtable.= c linux-2.6.32.48/arch/x86/mm/pgt pgd_dtor(pgd); paravirt_pgd_free(mm, pgd); free_page((unsigned long)pgd); -diff -urNp linux-2.6.32.48/arch/x86/mm/setup_nx.c linux-2.6.32.48/arch/x= 86/mm/setup_nx.c ---- linux-2.6.32.48/arch/x86/mm/setup_nx.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/mm/setup_nx.c 2011-11-12 12:46:42.000000000= -0500 -@@ -4,11 +4,10 @@ -=20 +diff -urNp linux-3.0.8/arch/x86/mm/setup_nx.c linux-3.0.8/arch/x86/mm/se= tup_nx.c +--- linux-3.0.8/arch/x86/mm/setup_nx.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/mm/setup_nx.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -5,8 +5,10 @@ #include + #include =20 -+#if defined(CONFIG_X86_32) && defined(CONFIG_X86_PAE) - int nx_enabled; ++#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) + static int disable_nx __cpuinitdata; =20 --#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) --static int disable_nx __cpuinitdata; -- +#ifndef CONFIG_PAX_PAGEEXEC /* * noexec =3D on|off * -@@ -22,32 +21,26 @@ static int __init noexec_setup(char *str - if (!str) - return -EINVAL; - if (!strncmp(str, "on", 2)) { -- __supported_pte_mask |=3D _PAGE_NX; -- disable_nx =3D 0; -+ nx_enabled =3D 1; - } else if (!strncmp(str, "off", 3)) { -- disable_nx =3D 1; -- __supported_pte_mask &=3D ~_PAGE_NX; -+ nx_enabled =3D 0; - } +@@ -28,12 +30,17 @@ static int __init noexec_setup(char *str return 0; } early_param("noexec", noexec_setup); - #endif ++#endif ++ +#endif =20 - #ifdef CONFIG_X86_PAE - void __init set_nx(void) + void __cpuinit x86_configure_nx(void) { -- unsigned int v[4], l, h; -+ if (!nx_enabled && cpu_has_nx) { -+ unsigned l, h; -=20 -- if (cpu_has_pae && (cpuid_eax(0x80000000) > 0x80000001)) { -- cpuid(0x80000001, &v[0], &v[1], &v[2], &v[3]); -- -- if ((v[3] & (1 << 20)) && !disable_nx) { -- rdmsr(MSR_EFER, l, h); -- l |=3D EFER_NX; -- wrmsr(MSR_EFER, l, h); -- nx_enabled =3D 1; -- __supported_pte_mask |=3D _PAGE_NX; -- } -+ __supported_pte_mask &=3D ~_PAGE_NX; -+ rdmsr(MSR_EFER, l, h); -+ l &=3D ~EFER_NX; -+ wrmsr(MSR_EFER, l, h); - } - } - #else -@@ -62,7 +55,7 @@ void __cpuinit check_efer(void) - unsigned long efer; -=20 - rdmsrl(MSR_EFER, efer); -- if (!(efer & EFER_NX) || disable_nx) -+ if (!(efer & EFER_NX) || !nx_enabled) ++#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) + if (cpu_has_nx && !disable_nx) + __supported_pte_mask |=3D _PAGE_NX; + else ++#endif __supported_pte_mask &=3D ~_PAGE_NX; } - #endif -diff -urNp linux-2.6.32.48/arch/x86/mm/tlb.c linux-2.6.32.48/arch/x86/mm= /tlb.c ---- linux-2.6.32.48/arch/x86/mm/tlb.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/arch/x86/mm/tlb.c 2011-11-12 12:46:42.000000000 -050= 0 -@@ -61,7 +61,11 @@ void leave_mm(int cpu) +=20 +diff -urNp linux-3.0.8/arch/x86/mm/tlb.c linux-3.0.8/arch/x86/mm/tlb.c +--- linux-3.0.8/arch/x86/mm/tlb.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/mm/tlb.c 2011-08-23 21:47:55.000000000 -0400 +@@ -65,7 +65,11 @@ void leave_mm(int cpu) BUG(); cpumask_clear_cpu(cpu, mm_cpumask(percpu_read(cpu_tlbstate.active_mm))); @@ -23861,135 +21917,170 @@ diff -urNp linux-2.6.32.48/arch/x86/mm/tlb.c = linux-2.6.32.48/arch/x86/mm/tlb.c } EXPORT_SYMBOL_GPL(leave_mm); =20 -diff -urNp linux-2.6.32.48/arch/x86/oprofile/backtrace.c linux-2.6.32.48= /arch/x86/oprofile/backtrace.c ---- linux-2.6.32.48/arch/x86/oprofile/backtrace.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/arch/x86/oprofile/backtrace.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -57,7 +57,7 @@ static struct frame_head *dump_user_back - struct frame_head bufhead[2]; +diff -urNp linux-3.0.8/arch/x86/net/bpf_jit_comp.c linux-3.0.8/arch/x86/= net/bpf_jit_comp.c +--- linux-3.0.8/arch/x86/net/bpf_jit_comp.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/arch/x86/net/bpf_jit_comp.c 2011-11-01 05:23:50.00000000= 0 -0400 +@@ -589,7 +589,9 @@ cond_branch: f_offset =3D addrs[i + filt + module_free(NULL, image); + return; + } ++ pax_open_kernel(); + memcpy(image + proglen, temp, ilen); ++ pax_close_kernel(); + } + proglen +=3D ilen; + addrs[i] =3D proglen; +@@ -609,7 +611,7 @@ cond_branch: f_offset =3D addrs[i + filt + break; + } + if (proglen =3D=3D oldproglen) { +- image =3D module_alloc(max_t(unsigned int, ++ image =3D module_alloc_exec(max_t(unsigned int, + proglen, + sizeof(struct work_struct))); + if (!image) +@@ -637,7 +639,7 @@ out: =20 - /* Also check accessibility of one struct frame_head beyond */ -- if (!access_ok(VERIFY_READ, head, sizeof(bufhead))) -+ if (!__access_ok(VERIFY_READ, head, sizeof(bufhead))) - return NULL; - if (__copy_from_user_inatomic(bufhead, head, sizeof(bufhead))) - return NULL; -@@ -77,7 +77,7 @@ x86_backtrace(struct pt_regs * const reg + static void jit_free_defer(struct work_struct *arg) { - struct frame_head *head =3D (struct frame_head *)frame_pointer(regs); -=20 -- if (!user_mode_vm(regs)) { -+ if (!user_mode(regs)) { - unsigned long stack =3D kernel_stack_pointer(regs); - if (depth) - dump_trace(NULL, regs, (unsigned long *)stack, 0, -diff -urNp linux-2.6.32.48/arch/x86/oprofile/op_model_p4.c linux-2.6.32.= 48/arch/x86/oprofile/op_model_p4.c ---- linux-2.6.32.48/arch/x86/oprofile/op_model_p4.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/arch/x86/oprofile/op_model_p4.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -50,7 +50,7 @@ static inline void setup_num_counters(vo - #endif +- module_free(NULL, arg); ++ module_free_exec(NULL, arg); } =20 --static int inline addr_increment(void) -+static inline int addr_increment(void) - { - #ifdef CONFIG_SMP - return smp_num_siblings =3D=3D 2 ? 2 : 1; -diff -urNp linux-2.6.32.48/arch/x86/pci/common.c linux-2.6.32.48/arch/x8= 6/pci/common.c ---- linux-2.6.32.48/arch/x86/pci/common.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/pci/common.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -31,8 +31,8 @@ int noioapicreroute =3D 1; - int pcibios_last_bus =3D -1; - unsigned long pirq_table_addr; - struct pci_bus *pci_root_bus; --struct pci_raw_ops *raw_pci_ops; --struct pci_raw_ops *raw_pci_ext_ops; -+const struct pci_raw_ops *raw_pci_ops; -+const struct pci_raw_ops *raw_pci_ext_ops; -=20 - int raw_pci_read(unsigned int domain, unsigned int bus, unsigned int de= vfn, - int reg, int len, u32 *val) -diff -urNp linux-2.6.32.48/arch/x86/pci/direct.c linux-2.6.32.48/arch/x8= 6/pci/direct.c ---- linux-2.6.32.48/arch/x86/pci/direct.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/pci/direct.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -79,7 +79,7 @@ static int pci_conf1_write(unsigned int=20 -=20 - #undef PCI_CONF1_ADDRESS -=20 --struct pci_raw_ops pci_direct_conf1 =3D { -+const struct pci_raw_ops pci_direct_conf1 =3D { - .read =3D pci_conf1_read, - .write =3D pci_conf1_write, - }; -@@ -173,7 +173,7 @@ static int pci_conf2_write(unsigned int=20 + /* run from softirq, we must use a work_struct to call +diff -urNp linux-3.0.8/arch/x86/net/bpf_jit.S linux-3.0.8/arch/x86/net/b= pf_jit.S +--- linux-3.0.8/arch/x86/net/bpf_jit.S 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/net/bpf_jit.S 2011-10-07 19:07:28.000000000 -04= 00 +@@ -9,6 +9,7 @@ + */ + #include + #include ++#include =20 - #undef PCI_CONF2_ADDRESS + /* + * Calling convention : +@@ -35,6 +36,7 @@ sk_load_word: + jle bpf_slow_path_word + mov (SKBDATA,%rsi),%eax + bswap %eax /* ntohl() */ ++ pax_force_retaddr + ret =20 --struct pci_raw_ops pci_direct_conf2 =3D { -+const struct pci_raw_ops pci_direct_conf2 =3D { - .read =3D pci_conf2_read, - .write =3D pci_conf2_write, - }; -@@ -189,7 +189,7 @@ struct pci_raw_ops pci_direct_conf2 =3D { - * This should be close to trivial, but it isn't, because there are bug= gy - * chipsets (yes, you guessed it, by Intel and Compaq) that have no cla= ss ID. - */ --static int __init pci_sanity_check(struct pci_raw_ops *o) -+static int __init pci_sanity_check(const struct pci_raw_ops *o) - { - u32 x =3D 0; - int year, devfn; -diff -urNp linux-2.6.32.48/arch/x86/pci/mmconfig_32.c linux-2.6.32.48/ar= ch/x86/pci/mmconfig_32.c ---- linux-2.6.32.48/arch/x86/pci/mmconfig_32.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/pci/mmconfig_32.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -125,7 +125,7 @@ static int pci_mmcfg_write(unsigned int=20 - return 0; - } =20 --static struct pci_raw_ops pci_mmcfg =3D { -+static const struct pci_raw_ops pci_mmcfg =3D { - .read =3D pci_mmcfg_read, - .write =3D pci_mmcfg_write, - }; -diff -urNp linux-2.6.32.48/arch/x86/pci/mmconfig_64.c linux-2.6.32.48/ar= ch/x86/pci/mmconfig_64.c ---- linux-2.6.32.48/arch/x86/pci/mmconfig_64.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/arch/x86/pci/mmconfig_64.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -104,7 +104,7 @@ static int pci_mmcfg_write(unsigned int=20 - return 0; - } +@@ -53,6 +55,7 @@ sk_load_half: + jle bpf_slow_path_half + movzwl (SKBDATA,%rsi),%eax + rol $8,%ax # ntohs() ++ pax_force_retaddr + ret =20 --static struct pci_raw_ops pci_mmcfg =3D { -+static const struct pci_raw_ops pci_mmcfg =3D { - .read =3D pci_mmcfg_read, - .write =3D pci_mmcfg_write, - }; -diff -urNp linux-2.6.32.48/arch/x86/pci/numaq_32.c linux-2.6.32.48/arch/= x86/pci/numaq_32.c ---- linux-2.6.32.48/arch/x86/pci/numaq_32.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/pci/numaq_32.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -112,7 +112,7 @@ static int pci_conf1_mq_write(unsigned i + sk_load_byte_ind: +@@ -66,6 +69,7 @@ sk_load_byte: + cmp %esi,%r9d /* if (offset >=3D hlen) goto bpf_slow_path_byte */ + jle bpf_slow_path_byte + movzbl (SKBDATA,%rsi),%eax ++ pax_force_retaddr + ret =20 - #undef PCI_CONF1_MQ_ADDRESS + /** +@@ -82,6 +86,7 @@ ENTRY(sk_load_byte_msh) + movzbl (SKBDATA,%rsi),%ebx + and $15,%bl + shl $2,%bl ++ pax_force_retaddr + ret + CFI_ENDPROC + ENDPROC(sk_load_byte_msh) +@@ -91,6 +96,7 @@ bpf_error: + xor %eax,%eax + mov -8(%rbp),%rbx + leaveq ++ pax_force_retaddr + ret =20 --static struct pci_raw_ops pci_direct_conf1_mq =3D { -+static const struct pci_raw_ops pci_direct_conf1_mq =3D { - .read =3D pci_conf1_mq_read, - .write =3D pci_conf1_mq_write - }; -diff -urNp linux-2.6.32.48/arch/x86/pci/olpc.c linux-2.6.32.48/arch/x86/= pci/olpc.c ---- linux-2.6.32.48/arch/x86/pci/olpc.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/arch/x86/pci/olpc.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -297,7 +297,7 @@ static int pci_olpc_write(unsigned int s - return 0; - } + /* rsi contains offset and can be scratched */ +@@ -113,6 +119,7 @@ bpf_slow_path_word: + js bpf_error + mov -12(%rbp),%eax + bswap %eax ++ pax_force_retaddr + ret =20 --static struct pci_raw_ops pci_olpc_conf =3D { -+static const struct pci_raw_ops pci_olpc_conf =3D { - .read =3D pci_olpc_read, - .write =3D pci_olpc_write, - }; -diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c linux-2.6.32.48/arch/x8= 6/pci/pcbios.c ---- linux-2.6.32.48/arch/x86/pci/pcbios.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/arch/x86/pci/pcbios.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -56,50 +56,93 @@ union bios32 { + bpf_slow_path_half: +@@ -121,12 +128,14 @@ bpf_slow_path_half: + mov -12(%rbp),%ax + rol $8,%ax + movzwl %ax,%eax ++ pax_force_retaddr + ret +=20 + bpf_slow_path_byte: + bpf_slow_path_common(1) + js bpf_error + movzbl -12(%rbp),%eax ++ pax_force_retaddr + ret +=20 + bpf_slow_path_byte_msh: +@@ -137,4 +146,5 @@ bpf_slow_path_byte_msh: + and $15,%al + shl $2,%al + xchg %eax,%ebx ++ pax_force_retaddr + ret +diff -urNp linux-3.0.8/arch/x86/oprofile/backtrace.c linux-3.0.8/arch/x8= 6/oprofile/backtrace.c +--- linux-3.0.8/arch/x86/oprofile/backtrace.c 2011-10-24 08:05:21.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/oprofile/backtrace.c 2011-10-06 04:17:55.000000= 000 -0400 +@@ -83,11 +83,11 @@ dump_user_backtrace_32(struct stack_fram + struct stack_frame_ia32 *fp; + unsigned long bytes; +=20 +- bytes =3D copy_from_user_nmi(bufhead, head, sizeof(bufhead)); ++ bytes =3D copy_from_user_nmi(bufhead, (const char __force_user *)head,= sizeof(bufhead)); + if (bytes !=3D sizeof(bufhead)) + return NULL; +=20 +- fp =3D (struct stack_frame_ia32 *) compat_ptr(bufhead[0].next_frame); ++ fp =3D (struct stack_frame_ia32 __force_kernel *) compat_ptr(bufhead[0= ].next_frame); +=20 + oprofile_add_trace(bufhead[0].return_address); +=20 +@@ -129,7 +129,7 @@ static struct stack_frame *dump_user_bac + struct stack_frame bufhead[2]; + unsigned long bytes; +=20 +- bytes =3D copy_from_user_nmi(bufhead, head, sizeof(bufhead)); ++ bytes =3D copy_from_user_nmi(bufhead, (const char __force_user *)head,= sizeof(bufhead)); + if (bytes !=3D sizeof(bufhead)) + return NULL; +=20 +@@ -148,7 +148,7 @@ x86_backtrace(struct pt_regs * const reg + { + struct stack_frame *head =3D (struct stack_frame *)frame_pointer(regs)= ; +=20 +- if (!user_mode_vm(regs)) { ++ if (!user_mode(regs)) { + unsigned long stack =3D kernel_stack_pointer(regs); + if (depth) + dump_trace(NULL, regs, (unsigned long *)stack, 0, +diff -urNp linux-3.0.8/arch/x86/pci/mrst.c linux-3.0.8/arch/x86/pci/mrst= .c +--- linux-3.0.8/arch/x86/pci/mrst.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/pci/mrst.c 2011-08-23 21:47:55.000000000 -0400 +@@ -234,7 +234,9 @@ int __init pci_mrst_init(void) + printk(KERN_INFO "Moorestown platform detected, using MRST PCI ops\n")= ; + pci_mmcfg_late_init(); + pcibios_enable_irq =3D mrst_pci_irq_enable; +- pci_root_ops =3D pci_mrst_ops; ++ pax_open_kernel(); ++ memcpy((void *)&pci_root_ops, &pci_mrst_ops, sizeof(pci_mrst_ops)); ++ pax_close_kernel(); + /* Continue with standard init */ + return 1; + } +diff -urNp linux-3.0.8/arch/x86/pci/pcbios.c linux-3.0.8/arch/x86/pci/pc= bios.c +--- linux-3.0.8/arch/x86/pci/pcbios.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/arch/x86/pci/pcbios.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -79,50 +79,93 @@ union bios32 { static struct { unsigned long address; unsigned short segment; @@ -24097,7 +22188,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc =20 static int __devinit check_pcibios(void) { -@@ -108,11 +151,13 @@ static int __devinit check_pcibios(void) +@@ -131,11 +174,13 @@ static int __devinit check_pcibios(void) unsigned long flags, pcibios_entry; =20 if ((pcibios_entry =3D bios32_service(PCI_SERVICE))) { @@ -24114,7 +22205,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" -@@ -121,7 +166,8 @@ static int __devinit check_pcibios(void) +@@ -144,7 +189,8 @@ static int __devinit check_pcibios(void) "=3Db" (ebx), "=3Dc" (ecx) : "1" (PCIBIOS_PCI_BIOS_PRESENT), @@ -24124,7 +22215,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc : "memory"); local_irq_restore(flags); =20 -@@ -165,7 +211,10 @@ static int pci_bios_read(unsigned int se +@@ -188,7 +234,10 @@ static int pci_bios_read(unsigned int se =20 switch (len) { case 1: @@ -24136,7 +22227,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" -@@ -174,7 +223,8 @@ static int pci_bios_read(unsigned int se +@@ -197,7 +246,8 @@ static int pci_bios_read(unsigned int se : "1" (PCIBIOS_READ_CONFIG_BYTE), "b" (bx), "D" ((long)reg), @@ -24146,7 +22237,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc /* * Zero-extend the result beyond 8 bits, do not trust the * BIOS having done it: -@@ -182,7 +232,10 @@ static int pci_bios_read(unsigned int se +@@ -205,7 +255,10 @@ static int pci_bios_read(unsigned int se *value &=3D 0xff; break; case 2: @@ -24158,7 +22249,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" -@@ -191,7 +244,8 @@ static int pci_bios_read(unsigned int se +@@ -214,7 +267,8 @@ static int pci_bios_read(unsigned int se : "1" (PCIBIOS_READ_CONFIG_WORD), "b" (bx), "D" ((long)reg), @@ -24168,7 +22259,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc /* * Zero-extend the result beyond 16 bits, do not trust the * BIOS having done it: -@@ -199,7 +253,10 @@ static int pci_bios_read(unsigned int se +@@ -222,7 +276,10 @@ static int pci_bios_read(unsigned int se *value &=3D 0xffff; break; case 4: @@ -24180,7 +22271,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" -@@ -208,7 +265,8 @@ static int pci_bios_read(unsigned int se +@@ -231,7 +288,8 @@ static int pci_bios_read(unsigned int se : "1" (PCIBIOS_READ_CONFIG_DWORD), "b" (bx), "D" ((long)reg), @@ -24190,7 +22281,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc break; } =20 -@@ -231,7 +289,10 @@ static int pci_bios_write(unsigned int s +@@ -254,7 +312,10 @@ static int pci_bios_write(unsigned int s =20 switch (len) { case 1: @@ -24202,7 +22293,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" -@@ -240,10 +301,14 @@ static int pci_bios_write(unsigned int s +@@ -263,10 +324,14 @@ static int pci_bios_write(unsigned int s "c" (value), "b" (bx), "D" ((long)reg), @@ -24219,7 +22310,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" -@@ -252,10 +317,14 @@ static int pci_bios_write(unsigned int s +@@ -275,10 +340,14 @@ static int pci_bios_write(unsigned int s "c" (value), "b" (bx), "D" ((long)reg), @@ -24236,7 +22327,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" -@@ -264,7 +333,8 @@ static int pci_bios_write(unsigned int s +@@ -287,7 +356,8 @@ static int pci_bios_write(unsigned int s "c" (value), "b" (bx), "D" ((long)reg), @@ -24246,25 +22337,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c= linux-2.6.32.48/arch/x86/pci/pc break; } =20 -@@ -278,7 +348,7 @@ static int pci_bios_write(unsigned int s - * Function table for BIOS32 access - */ -=20 --static struct pci_raw_ops pci_bios_access =3D { -+static const struct pci_raw_ops pci_bios_access =3D { - .read =3D pci_bios_read, - .write =3D pci_bios_write - }; -@@ -287,7 +357,7 @@ static struct pci_raw_ops pci_bios_acces - * Try to find PCI BIOS. - */ -=20 --static struct pci_raw_ops * __devinit pci_find_bios(void) -+static const struct pci_raw_ops * __devinit pci_find_bios(void) - { - union bios32 *check; - unsigned char sum; -@@ -368,10 +438,13 @@ struct irq_routing_table * pcibios_get_i +@@ -392,10 +462,13 @@ struct irq_routing_table * pcibios_get_i =20 DBG("PCI: Fetching IRQ routing table... "); __asm__("push %%es\n\t" @@ -24279,7 +22352,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" -@@ -382,7 +455,8 @@ struct irq_routing_table * pcibios_get_i +@@ -406,7 +479,8 @@ struct irq_routing_table * pcibios_get_i "1" (0), "D" ((long) &opt), "S" (&pci_indirect), @@ -24289,7 +22362,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc : "memory"); DBG("OK ret=3D%d, size=3D%d, map=3D%x\n", ret, opt.size, map); if (ret & 0xff00) -@@ -406,7 +480,10 @@ int pcibios_set_irq_routing(struct pci_d +@@ -430,7 +504,10 @@ int pcibios_set_irq_routing(struct pci_d { int ret; =20 @@ -24301,7 +22374,7 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbios.c = linux-2.6.32.48/arch/x86/pci/pc "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" -@@ -414,7 +491,8 @@ int pcibios_set_irq_routing(struct pci_d +@@ -438,7 +515,8 @@ int pcibios_set_irq_routing(struct pci_d : "0" (PCIBIOS_SET_PCI_HW_INT), "b" ((dev->bus->number << 8) | dev->devfn), "c" ((irq << 8) | (pin + 10)), @@ -24311,290 +22384,478 @@ diff -urNp linux-2.6.32.48/arch/x86/pci/pcbio= s.c linux-2.6.32.48/arch/x86/pci/pc return !(ret & 0xff00); } EXPORT_SYMBOL(pcibios_set_irq_routing); -diff -urNp linux-2.6.32.48/arch/x86/power/cpu.c linux-2.6.32.48/arch/x86= /power/cpu.c ---- linux-2.6.32.48/arch/x86/power/cpu.c 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/arch/x86/power/cpu.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -129,7 +129,7 @@ static void do_fpu_end(void) - static void fix_processor_context(void) - { - int cpu =3D smp_processor_id(); -- struct tss_struct *t =3D &per_cpu(init_tss, cpu); -+ struct tss_struct *t =3D init_tss + cpu; -=20 - set_tss_desc(cpu, t); /* - * This just modifies memory; should not be -@@ -139,7 +139,9 @@ static void fix_processor_context(void) - */ +diff -urNp linux-3.0.8/arch/x86/platform/efi/efi_32.c linux-3.0.8/arch/x= 86/platform/efi/efi_32.c +--- linux-3.0.8/arch/x86/platform/efi/efi_32.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/arch/x86/platform/efi/efi_32.c 2011-10-06 04:17:55.00000= 0000 -0400 +@@ -38,70 +38,56 @@ + */ =20 - #ifdef CONFIG_X86_64 -+ pax_open_kernel(); - get_cpu_gdt_table(cpu)[GDT_ENTRY_TSS].type =3D 9; -+ pax_close_kernel(); + static unsigned long efi_rt_eflags; +-static pgd_t efi_bak_pg_dir_pointer[2]; ++static pgd_t __initdata efi_bak_pg_dir_pointer[KERNEL_PGD_PTRS]; =20 - syscall_init(); /* This sets MSR_*STAR and related */ - #endif -diff -urNp linux-2.6.32.48/arch/x86/vdso/Makefile linux-2.6.32.48/arch/x= 86/vdso/Makefile ---- linux-2.6.32.48/arch/x86/vdso/Makefile 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/vdso/Makefile 2011-11-12 12:46:42.000000000= -0500 -@@ -122,7 +122,7 @@ quiet_cmd_vdso =3D VDSO $@ - $(VDSO_LDFLAGS) $(VDSO_LDFLAGS_$(filter %.lds,$(^F))) \ - -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) +-void efi_call_phys_prelog(void) ++void __init efi_call_phys_prelog(void) + { +- unsigned long cr4; +- unsigned long temp; + struct desc_ptr gdt_descr; =20 --VDSO_LDFLAGS =3D -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-st= yle=3Dsysv) -+VDSO_LDFLAGS =3D -fPIC -shared -Wl,--no-undefined $(call cc-ldoption, -= Wl$(comma)--hash-style=3Dsysv) - GCOV_PROFILE :=3D n +- local_irq_save(efi_rt_eflags); ++#ifdef CONFIG_PAX_KERNEXEC ++ struct desc_struct d; ++#endif =20 - # -diff -urNp linux-2.6.32.48/arch/x86/vdso/vclock_gettime.c linux-2.6.32.4= 8/arch/x86/vdso/vclock_gettime.c ---- linux-2.6.32.48/arch/x86/vdso/vclock_gettime.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/arch/x86/vdso/vclock_gettime.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -22,24 +22,48 @@ - #include - #include - #include -+#include - #include "vextern.h" +- /* +- * If I don't have PAE, I should just duplicate two entries in page +- * directory. If I have PAE, I just need to duplicate one entry in +- * page directory. +- */ +- cr4 =3D read_cr4_safe(); ++ local_irq_save(efi_rt_eflags); =20 - #define gtod vdso_vsyscall_gtod_data +- if (cr4 & X86_CR4_PAE) { +- efi_bak_pg_dir_pointer[0].pgd =3D +- swapper_pg_dir[pgd_index(0)].pgd; +- swapper_pg_dir[0].pgd =3D +- swapper_pg_dir[pgd_index(PAGE_OFFSET)].pgd; +- } else { +- efi_bak_pg_dir_pointer[0].pgd =3D +- swapper_pg_dir[pgd_index(0)].pgd; +- efi_bak_pg_dir_pointer[1].pgd =3D +- swapper_pg_dir[pgd_index(0x400000)].pgd; +- swapper_pg_dir[pgd_index(0)].pgd =3D +- swapper_pg_dir[pgd_index(PAGE_OFFSET)].pgd; +- temp =3D PAGE_OFFSET + 0x400000; +- swapper_pg_dir[pgd_index(0x400000)].pgd =3D +- swapper_pg_dir[pgd_index(temp)].pgd; +- } ++ clone_pgd_range(efi_bak_pg_dir_pointer, swapper_pg_dir, KERNEL_PGD_PTR= S); ++ clone_pgd_range(swapper_pg_dir, swapper_pg_dir + KERNEL_PGD_BOUNDARY, ++ min_t(unsigned long, KERNEL_PGD_PTRS, KERNEL_PGD_BOUNDARY)); =20 -+notrace noinline long __vdso_fallback_time(long *t) -+{ -+ long secs; -+ asm volatile("syscall" -+ : "=3Da" (secs) -+ : "0" (__NR_time),"D" (t) : "r11", "cx", "memory"); -+ return secs; -+} -+ - notrace static long vdso_fallback_gettime(long clock, struct timespec *= ts) - { - long ret; - asm("syscall" : "=3Da" (ret) : -- "0" (__NR_clock_gettime),"D" (clock), "S" (ts) : "memory"); -+ "0" (__NR_clock_gettime),"D" (clock), "S" (ts) : "r11", "cx", "mem= ory"); - return ret; - } + /* + * After the lock is released, the original page table is restored. + */ + __flush_tlb_all(); =20 -+notrace static inline cycle_t __vdso_vread_hpet(void) -+{ -+ return readl((const void __iomem *)fix_to_virt(VSYSCALL_HPET) + 0xf0); -+} -+ -+notrace static inline cycle_t __vdso_vread_tsc(void) -+{ -+ cycle_t ret =3D (cycle_t)vget_cycles(); -+ -+ return ret >=3D gtod->clock.cycle_last ? ret : gtod->clock.cycle_last; -+} ++#ifdef CONFIG_PAX_KERNEXEC ++ pack_descriptor(&d, 0, 0xFFFFF, 0x9B, 0xC); ++ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_CS, &d, D= ESCTYPE_S); ++ pack_descriptor(&d, 0, 0xFFFFF, 0x93, 0xC); ++ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_DS, &d, D= ESCTYPE_S); ++#endif + - notrace static inline long vgetns(void) - { - long v; -- cycles_t (*vread)(void); -- vread =3D gtod->clock.vread; -- v =3D (vread() - gtod->clock.cycle_last) & gtod->clock.mask; -+ if (gtod->clock.name[0] =3D=3D 't' && gtod->clock.name[1] =3D=3D 's' &= & gtod->clock.name[2] =3D=3D 'c' && !gtod->clock.name[3]) -+ v =3D __vdso_vread_tsc(); -+ else -+ v =3D __vdso_vread_hpet(); -+ v =3D (v - gtod->clock.cycle_last) & gtod->clock.mask; - return (v * gtod->clock.mult) >> gtod->clock.shift; + gdt_descr.address =3D __pa(get_cpu_gdt_table(0)); + gdt_descr.size =3D GDT_SIZE - 1; + load_gdt(&gdt_descr); } =20 -@@ -113,7 +137,9 @@ notrace static noinline int do_monotonic -=20 - notrace int __vdso_clock_gettime(clockid_t clock, struct timespec *ts) +-void efi_call_phys_epilog(void) ++void __init efi_call_phys_epilog(void) { -- if (likely(gtod->sysctl_enabled)) -+ if (likely(gtod->sysctl_enabled && -+ ((gtod->clock.name[0] =3D=3D 'h' && gtod->clock.name[1] =3D=3D 'p'= && gtod->clock.name[2] =3D=3D 'e' && gtod->clock.name[3] =3D=3D 't' && != gtod->clock.name[4]) || -+ (gtod->clock.name[0] =3D=3D 't' && gtod->clock.name[1] =3D=3D 's'= && gtod->clock.name[2] =3D=3D 'c' && !gtod->clock.name[3])))) - switch (clock) { - case CLOCK_REALTIME: - if (likely(gtod->clock.vread)) -@@ -133,10 +159,20 @@ notrace int __vdso_clock_gettime(clockid - int clock_gettime(clockid_t, struct timespec *) - __attribute__((weak, alias("__vdso_clock_gettime"))); +- unsigned long cr4; + struct desc_ptr gdt_descr; =20 --notrace int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz= ) -+notrace noinline int __vdso_fallback_gettimeofday(struct timeval *tv, s= truct timezone *tz) - { - long ret; -- if (likely(gtod->sysctl_enabled && gtod->clock.vread)) { -+ asm("syscall" : "=3Da" (ret) : -+ "0" (__NR_gettimeofday), "D" (tv), "S" (tz) : "r11", "cx", "memory= "); -+ return ret; -+} ++#ifdef CONFIG_PAX_KERNEXEC ++ struct desc_struct d; + -+notrace int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz= ) -+{ -+ if (likely(gtod->sysctl_enabled && -+ ((gtod->clock.name[0] =3D=3D 'h' && gtod->clock.name[1] =3D=3D 'p'= && gtod->clock.name[2] =3D=3D 'e' && gtod->clock.name[3] =3D=3D 't' && != gtod->clock.name[4]) || -+ (gtod->clock.name[0] =3D=3D 't' && gtod->clock.name[1] =3D=3D 's'= && gtod->clock.name[2] =3D=3D 'c' && !gtod->clock.name[3])))) -+ { - if (likely(tv !=3D NULL)) { - BUILD_BUG_ON(offsetof(struct timeval, tv_usec) !=3D - offsetof(struct timespec, tv_nsec) || -@@ -151,9 +187,7 @@ notrace int __vdso_gettimeofday(struct t - } - return 0; - } -- asm("syscall" : "=3Da" (ret) : -- "0" (__NR_gettimeofday), "D" (tv), "S" (tz) : "memory"); -- return ret; -+ return __vdso_fallback_gettimeofday(tv, tz); - } - int gettimeofday(struct timeval *, struct timezone *) - __attribute__((weak, alias("__vdso_gettimeofday"))); -diff -urNp linux-2.6.32.48/arch/x86/vdso/vdso32-setup.c linux-2.6.32.48/= arch/x86/vdso/vdso32-setup.c ---- linux-2.6.32.48/arch/x86/vdso/vdso32-setup.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/arch/x86/vdso/vdso32-setup.c 2011-11-12 12:46:42.000= 000000 -0500 -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include ++ memset(&d, 0, sizeof d); ++ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_CS, &d, D= ESCTYPE_S); ++ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_DS, &d, D= ESCTYPE_S); ++#endif ++ + gdt_descr.address =3D (unsigned long)get_cpu_gdt_table(0); + gdt_descr.size =3D GDT_SIZE - 1; + load_gdt(&gdt_descr); =20 - enum { - VDSO_DISABLED =3D 0, -@@ -226,7 +227,7 @@ static inline void map_compat_vdso(int m - void enable_sep_cpu(void) - { - int cpu =3D get_cpu(); -- struct tss_struct *tss =3D &per_cpu(init_tss, cpu); -+ struct tss_struct *tss =3D init_tss + cpu; +- cr4 =3D read_cr4_safe(); +- +- if (cr4 & X86_CR4_PAE) { +- swapper_pg_dir[pgd_index(0)].pgd =3D +- efi_bak_pg_dir_pointer[0].pgd; +- } else { +- swapper_pg_dir[pgd_index(0)].pgd =3D +- efi_bak_pg_dir_pointer[0].pgd; +- swapper_pg_dir[pgd_index(0x400000)].pgd =3D +- efi_bak_pg_dir_pointer[1].pgd; +- } ++ clone_pgd_range(swapper_pg_dir, efi_bak_pg_dir_pointer, KERNEL_PGD_PTR= S); =20 - if (!boot_cpu_has(X86_FEATURE_SEP)) { - put_cpu(); -@@ -249,7 +250,7 @@ static int __init gate_vma_init(void) - gate_vma.vm_start =3D FIXADDR_USER_START; - gate_vma.vm_end =3D FIXADDR_USER_END; - gate_vma.vm_flags =3D VM_READ | VM_MAYREAD | VM_EXEC | VM_MAYEXEC; -- gate_vma.vm_page_prot =3D __P101; -+ gate_vma.vm_page_prot =3D vm_get_page_prot(gate_vma.vm_flags); /* - * Make sure the vDSO gets into every core dump. - * Dumping its contents makes post-mortem fully interpretable later -@@ -331,14 +332,14 @@ int arch_setup_additional_pages(struct l - if (compat) - addr =3D VDSO_HIGH_BASE; - else { -- addr =3D get_unmapped_area(NULL, 0, PAGE_SIZE, 0, 0); -+ addr =3D get_unmapped_area(NULL, 0, PAGE_SIZE, 0, MAP_EXECUTABLE); - if (IS_ERR_VALUE(addr)) { - ret =3D addr; - goto up_fail; - } - } -=20 -- current->mm->context.vdso =3D (void *)addr; -+ current->mm->context.vdso =3D addr; + * After the lock is released, the original page table is restored. +diff -urNp linux-3.0.8/arch/x86/platform/efi/efi_stub_32.S linux-3.0.8/a= rch/x86/platform/efi/efi_stub_32.S +--- linux-3.0.8/arch/x86/platform/efi/efi_stub_32.S 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/arch/x86/platform/efi/efi_stub_32.S 2011-09-19 09:16:58.= 000000000 -0400 +@@ -6,7 +6,9 @@ + */ =20 - if (compat_uses_vma || !compat) { - /* -@@ -361,11 +362,11 @@ int arch_setup_additional_pages(struct l - } + #include ++#include + #include ++#include =20 - current_thread_info()->sysenter_return =3D -- VDSO32_SYMBOL(addr, SYSENTER_RETURN); -+ (__force void __user *)VDSO32_SYMBOL(addr, SYSENTER_RETURN); + /* + * efi_call_phys(void *, ...) is a function with variable parameters. +@@ -20,7 +22,7 @@ + * service functions will comply with gcc calling convention, too. + */ =20 - up_fail: - if (ret) -- current->mm->context.vdso =3D NULL; -+ current->mm->context.vdso =3D 0; +-.text ++__INIT + ENTRY(efi_call_phys) + /* + * 0. The function can only be called in Linux kernel. So CS has been +@@ -36,9 +38,11 @@ ENTRY(efi_call_phys) + * The mapping of lower virtual memory has been created in prelog and + * epilog. + */ +- movl $1f, %edx +- subl $__PAGE_OFFSET, %edx +- jmp *%edx ++ movl $(__KERNEXEC_EFI_DS), %edx ++ mov %edx, %ds ++ mov %edx, %es ++ mov %edx, %ss ++ ljmp $(__KERNEXEC_EFI_CS),$1f-__PAGE_OFFSET + 1: =20 - up_write(&mm->mmap_sem); + /* +@@ -47,14 +51,8 @@ ENTRY(efi_call_phys) + * parameter 2, ..., param n. To make things easy, we save the return + * address of efi_call_phys in a global variable. + */ +- popl %edx +- movl %edx, saved_return_addr +- /* get the function pointer into ECX*/ +- popl %ecx +- movl %ecx, efi_rt_function_ptr +- movl $2f, %edx +- subl $__PAGE_OFFSET, %edx +- pushl %edx ++ popl (saved_return_addr) ++ popl (efi_rt_function_ptr) =20 -@@ -413,8 +414,14 @@ __initcall(ia32_binfmt_init); + /* + * 3. Clear PG bit in %CR0. +@@ -73,9 +71,8 @@ ENTRY(efi_call_phys) + /* + * 5. Call the physical function. + */ +- jmp *%ecx ++ call *(efi_rt_function_ptr-__PAGE_OFFSET) =20 - const char *arch_vma_name(struct vm_area_struct *vma) - { -- if (vma->vm_mm && vma->vm_start =3D=3D (long)vma->vm_mm->context.vdso) -+ if (vma->vm_mm && vma->vm_start =3D=3D vma->vm_mm->context.vdso) - return "[vdso]"; -+ -+#ifdef CONFIG_PAX_SEGMEXEC -+ if (vma->vm_mm && vma->vm_mirror && vma->vm_mirror->vm_start =3D=3D vm= a->vm_mm->context.vdso) -+ return "[vdso]"; -+#endif +-2: + /* + * 6. After EFI runtime service returns, control will return to + * following instruction. We'd better readjust stack pointer first. +@@ -88,35 +85,32 @@ ENTRY(efi_call_phys) + movl %cr0, %edx + orl $0x80000000, %edx + movl %edx, %cr0 +- jmp 1f +-1: + - return NULL; - } + /* + * 8. Now restore the virtual mode from flat mode by + * adding EIP with PAGE_OFFSET. + */ +- movl $1f, %edx +- jmp *%edx ++ ljmp $(__KERNEL_CS),$1f+__PAGE_OFFSET + 1: ++ movl $(__KERNEL_DS), %edx ++ mov %edx, %ds ++ mov %edx, %es ++ mov %edx, %ss =20 -@@ -423,7 +430,7 @@ struct vm_area_struct *get_gate_vma(stru - struct mm_struct *mm =3D tsk->mm; + /* + * 9. Balance the stack. And because EAX contain the return value, + * we'd better not clobber it. + */ +- leal efi_rt_function_ptr, %edx +- movl (%edx), %ecx +- pushl %ecx ++ pushl (efi_rt_function_ptr) =20 - /* Check to see if this task was created in compat vdso mode */ -- if (mm && mm->context.vdso =3D=3D (void *)VDSO_HIGH_BASE) -+ if (mm && mm->context.vdso =3D=3D VDSO_HIGH_BASE) + /* +- * 10. Push the saved return address onto the stack and return. ++ * 10. Return to the saved return address. + */ +- leal saved_return_addr, %edx +- movl (%edx), %ecx +- pushl %ecx +- ret ++ jmpl *(saved_return_addr) + ENDPROC(efi_call_phys) + .previous +=20 +-.data ++__INITDATA + saved_return_addr: + .long 0 + efi_rt_function_ptr: +diff -urNp linux-3.0.8/arch/x86/platform/efi/efi_stub_64.S linux-3.0.8/a= rch/x86/platform/efi/efi_stub_64.S +--- linux-3.0.8/arch/x86/platform/efi/efi_stub_64.S 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/arch/x86/platform/efi/efi_stub_64.S 2011-10-06 04:17:55.= 000000000 -0400 +@@ -7,6 +7,7 @@ + */ +=20 + #include ++#include +=20 + #define SAVE_XMM \ + mov %rsp, %rax; \ +@@ -40,6 +41,7 @@ ENTRY(efi_call0) + call *%rdi + addq $32, %rsp + RESTORE_XMM ++ pax_force_retaddr + ret + ENDPROC(efi_call0) +=20 +@@ -50,6 +52,7 @@ ENTRY(efi_call1) + call *%rdi + addq $32, %rsp + RESTORE_XMM ++ pax_force_retaddr + ret + ENDPROC(efi_call1) +=20 +@@ -60,6 +63,7 @@ ENTRY(efi_call2) + call *%rdi + addq $32, %rsp + RESTORE_XMM ++ pax_force_retaddr + ret + ENDPROC(efi_call2) +=20 +@@ -71,6 +75,7 @@ ENTRY(efi_call3) + call *%rdi + addq $32, %rsp + RESTORE_XMM ++ pax_force_retaddr + ret + ENDPROC(efi_call3) +=20 +@@ -83,6 +88,7 @@ ENTRY(efi_call4) + call *%rdi + addq $32, %rsp + RESTORE_XMM ++ pax_force_retaddr + ret + ENDPROC(efi_call4) +=20 +@@ -96,6 +102,7 @@ ENTRY(efi_call5) + call *%rdi + addq $48, %rsp + RESTORE_XMM ++ pax_force_retaddr + ret + ENDPROC(efi_call5) +=20 +@@ -112,5 +119,6 @@ ENTRY(efi_call6) + call *%rdi + addq $48, %rsp + RESTORE_XMM ++ pax_force_retaddr + ret + ENDPROC(efi_call6) +diff -urNp linux-3.0.8/arch/x86/platform/mrst/mrst.c linux-3.0.8/arch/x8= 6/platform/mrst/mrst.c +--- linux-3.0.8/arch/x86/platform/mrst/mrst.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/platform/mrst/mrst.c 2011-08-23 21:47:55.000000= 000 -0400 +@@ -239,14 +239,16 @@ static int mrst_i8042_detect(void) + } +=20 + /* Reboot and power off are handled by the SCU on a MID device */ +-static void mrst_power_off(void) ++static __noreturn void mrst_power_off(void) + { + intel_scu_ipc_simple_command(0xf1, 1); ++ BUG(); + } +=20 +-static void mrst_reboot(void) ++static __noreturn void mrst_reboot(void) + { + intel_scu_ipc_simple_command(0xf1, 0); ++ BUG(); + } +=20 + /* +diff -urNp linux-3.0.8/arch/x86/platform/uv/tlb_uv.c linux-3.0.8/arch/x8= 6/platform/uv/tlb_uv.c +--- linux-3.0.8/arch/x86/platform/uv/tlb_uv.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/arch/x86/platform/uv/tlb_uv.c 2011-08-23 21:48:14.000000= 000 -0400 +@@ -373,6 +373,8 @@ static void reset_with_ipi(struct bau_ta + cpumask_t mask; + struct reset_args reset_args; +=20 ++ pax_track_stack(); ++ + reset_args.sender =3D sender; + cpus_clear(mask); + /* find a single cpu for each uvhub in this distribution mask */ +diff -urNp linux-3.0.8/arch/x86/power/cpu.c linux-3.0.8/arch/x86/power/c= pu.c +--- linux-3.0.8/arch/x86/power/cpu.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/power/cpu.c 2011-08-23 21:47:55.000000000 -0400 +@@ -130,7 +130,7 @@ static void do_fpu_end(void) + static void fix_processor_context(void) + { + int cpu =3D smp_processor_id(); +- struct tss_struct *t =3D &per_cpu(init_tss, cpu); ++ struct tss_struct *t =3D init_tss + cpu; +=20 + set_tss_desc(cpu, t); /* + * This just modifies memory; should not be +@@ -140,7 +140,9 @@ static void fix_processor_context(void) + */ +=20 + #ifdef CONFIG_X86_64 ++ pax_open_kernel(); + get_cpu_gdt_table(cpu)[GDT_ENTRY_TSS].type =3D 9; ++ pax_close_kernel(); +=20 + syscall_init(); /* This sets MSR_*STAR and related */ + #endif +diff -urNp linux-3.0.8/arch/x86/vdso/Makefile linux-3.0.8/arch/x86/vdso/= Makefile +--- linux-3.0.8/arch/x86/vdso/Makefile 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/vdso/Makefile 2011-08-23 21:47:55.000000000 -04= 00 +@@ -136,7 +136,7 @@ quiet_cmd_vdso =3D VDSO $@ + -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) && \ + sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@' +=20 +-VDSO_LDFLAGS =3D -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-st= yle=3Dsysv) ++VDSO_LDFLAGS =3D -fPIC -shared -Wl,--no-undefined $(call cc-ldoption, -= Wl$(comma)--hash-style=3Dsysv) + GCOV_PROFILE :=3D n +=20 + # +diff -urNp linux-3.0.8/arch/x86/vdso/vdso32-setup.c linux-3.0.8/arch/x86= /vdso/vdso32-setup.c +--- linux-3.0.8/arch/x86/vdso/vdso32-setup.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/arch/x86/vdso/vdso32-setup.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include +=20 + enum { + VDSO_DISABLED =3D 0, +@@ -226,7 +227,7 @@ static inline void map_compat_vdso(int m + void enable_sep_cpu(void) + { + int cpu =3D get_cpu(); +- struct tss_struct *tss =3D &per_cpu(init_tss, cpu); ++ struct tss_struct *tss =3D init_tss + cpu; +=20 + if (!boot_cpu_has(X86_FEATURE_SEP)) { + put_cpu(); +@@ -249,7 +250,7 @@ static int __init gate_vma_init(void) + gate_vma.vm_start =3D FIXADDR_USER_START; + gate_vma.vm_end =3D FIXADDR_USER_END; + gate_vma.vm_flags =3D VM_READ | VM_MAYREAD | VM_EXEC | VM_MAYEXEC; +- gate_vma.vm_page_prot =3D __P101; ++ gate_vma.vm_page_prot =3D vm_get_page_prot(gate_vma.vm_flags); + /* + * Make sure the vDSO gets into every core dump. + * Dumping its contents makes post-mortem fully interpretable later +@@ -331,14 +332,14 @@ int arch_setup_additional_pages(struct l + if (compat) + addr =3D VDSO_HIGH_BASE; + else { +- addr =3D get_unmapped_area(NULL, 0, PAGE_SIZE, 0, 0); ++ addr =3D get_unmapped_area(NULL, 0, PAGE_SIZE, 0, MAP_EXECUTABLE); + if (IS_ERR_VALUE(addr)) { + ret =3D addr; + goto up_fail; + } + } +=20 +- current->mm->context.vdso =3D (void *)addr; ++ current->mm->context.vdso =3D addr; +=20 + if (compat_uses_vma || !compat) { + /* +@@ -361,11 +362,11 @@ int arch_setup_additional_pages(struct l + } +=20 + current_thread_info()->sysenter_return =3D +- VDSO32_SYMBOL(addr, SYSENTER_RETURN); ++ (__force void __user *)VDSO32_SYMBOL(addr, SYSENTER_RETURN); +=20 + up_fail: + if (ret) +- current->mm->context.vdso =3D NULL; ++ current->mm->context.vdso =3D 0; +=20 + up_write(&mm->mmap_sem); +=20 +@@ -412,8 +413,14 @@ __initcall(ia32_binfmt_init); +=20 + const char *arch_vma_name(struct vm_area_struct *vma) + { +- if (vma->vm_mm && vma->vm_start =3D=3D (long)vma->vm_mm->context.vdso) ++ if (vma->vm_mm && vma->vm_start =3D=3D vma->vm_mm->context.vdso) + return "[vdso]"; ++ ++#ifdef CONFIG_PAX_SEGMEXEC ++ if (vma->vm_mm && vma->vm_mirror && vma->vm_mirror->vm_start =3D=3D vm= a->vm_mm->context.vdso) ++ return "[vdso]"; ++#endif ++ + return NULL; + } +=20 +@@ -423,7 +430,7 @@ struct vm_area_struct *get_gate_vma(stru + * Check to see if the corresponding task was created in compat vdso + * mode. + */ +- if (mm && mm->context.vdso =3D=3D (void *)VDSO_HIGH_BASE) ++ if (mm && mm->context.vdso =3D=3D VDSO_HIGH_BASE) return &gate_vma; return NULL; } -diff -urNp linux-2.6.32.48/arch/x86/vdso/vdso.lds.S linux-2.6.32.48/arch= /x86/vdso/vdso.lds.S ---- linux-2.6.32.48/arch/x86/vdso/vdso.lds.S 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/vdso/vdso.lds.S 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -35,3 +35,9 @@ VDSO64_PRELINK =3D VDSO_PRELINK; - #define VEXTERN(x) VDSO64_ ## x =3D vdso_ ## x; - #include "vextern.h" - #undef VEXTERN -+ -+#define VEXTERN(x) VDSO64_ ## x =3D __vdso_ ## x; -+VEXTERN(fallback_gettimeofday) -+VEXTERN(fallback_time) -+VEXTERN(getcpu) -+#undef VEXTERN -diff -urNp linux-2.6.32.48/arch/x86/vdso/vextern.h linux-2.6.32.48/arch/= x86/vdso/vextern.h ---- linux-2.6.32.48/arch/x86/vdso/vextern.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/vdso/vextern.h 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -11,6 +11,5 @@ - put into vextern.h and be referenced as a pointer with vdso prefix. - The main kernel later fills in the values. */ -=20 --VEXTERN(jiffies) - VEXTERN(vgetcpu_mode) - VEXTERN(vsyscall_gtod_data) -diff -urNp linux-2.6.32.48/arch/x86/vdso/vma.c linux-2.6.32.48/arch/x86/= vdso/vma.c ---- linux-2.6.32.48/arch/x86/vdso/vma.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/arch/x86/vdso/vma.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -17,8 +17,6 @@ - #include "vextern.h" /* Just for VMAGIC. */ - #undef VEXTERN +diff -urNp linux-3.0.8/arch/x86/vdso/vma.c linux-3.0.8/arch/x86/vdso/vma= .c +--- linux-3.0.8/arch/x86/vdso/vma.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/vdso/vma.c 2011-08-23 21:47:55.000000000 -0400 +@@ -15,18 +15,19 @@ + #include + #include =20 -unsigned int __read_mostly vdso_enabled =3D 1; - extern char vdso_start[], vdso_end[]; extern unsigned short vdso_sync_cpuid; ++extern char __vsyscall_0; =20 -@@ -27,10 +25,8 @@ static unsigned vdso_size; + static struct page **vdso_pages; ++static struct page *vsyscall_page; + static unsigned vdso_size; =20 - static inline void *var_ref(void *p, char *name) + static int __init init_vdso_vars(void) { -- if (*(void **)p !=3D (void *)VMAGIC) { -- printk("VDSO: variable %s broken\n", name); -- vdso_enabled =3D 0; -- } -+ if (*(void **)p !=3D (void *)VMAGIC) -+ panic("VDSO: variable %s broken\n", name); - return p; - } +- int npages =3D (vdso_end - vdso_start + PAGE_SIZE - 1) / PAGE_SIZE; +- int i; ++ size_t nbytes =3D vdso_end - vdso_start; ++ size_t npages =3D (nbytes + PAGE_SIZE - 1) / PAGE_SIZE; ++ size_t i; =20 -@@ -57,21 +53,18 @@ static int __init init_vdso_vars(void) - if (!vbase) + vdso_size =3D npages << PAGE_SHIFT; + vdso_pages =3D kmalloc(sizeof(struct page *) * npages, GFP_KERNEL); +@@ -34,19 +35,19 @@ static int __init init_vdso_vars(void) goto oom; + for (i =3D 0; i < npages; i++) { + struct page *p; +- p =3D alloc_page(GFP_KERNEL); ++ p =3D alloc_page(GFP_KERNEL | __GFP_ZERO); + if (!p) + goto oom; + vdso_pages[i] =3D p; +- copy_page(page_address(p), vdso_start + i*PAGE_SIZE); ++ memcpy(page_address(p), vdso_start + i*PAGE_SIZE, nbytes > PAGE_SIZE = ? PAGE_SIZE : nbytes); ++ nbytes -=3D PAGE_SIZE; + } ++ vsyscall_page =3D pfn_to_page((__pa_symbol(&__vsyscall_0)) >> PAGE_SHI= FT); =20 -- if (memcmp(vbase, "\177ELF", 4)) { -- printk("VDSO: I'm broken; not ELF\n"); -- vdso_enabled =3D 0; -- } -+ if (memcmp(vbase, ELFMAG, SELFMAG)) -+ panic("VDSO: I'm broken; not ELF\n"); -=20 - #define VEXTERN(x) \ - *(typeof(__ ## x) **) var_ref(VDSO64_SYMBOL(vbase, x), #x) =3D &__ ## = x; - #include "vextern.h" - #undef VEXTERN -+ vunmap(vbase); return 0; =20 oom: @@ -24603,9 +22864,9 @@ diff -urNp linux-2.6.32.48/arch/x86/vdso/vma.c li= nux-2.6.32.48/arch/x86/vdso/vma - return -ENOMEM; + panic("Cannot allocate vdso\n"); } - __initcall(init_vdso_vars); + subsys_initcall(init_vdso_vars); =20 -@@ -105,9 +98,6 @@ int arch_setup_additional_pages(struct l +@@ -80,37 +81,35 @@ int arch_setup_additional_pages(struct l unsigned long addr; int ret; =20 @@ -24613,27 +22874,41 @@ diff -urNp linux-2.6.32.48/arch/x86/vdso/vma.c = linux-2.6.32.48/arch/x86/vdso/vma - return 0; - down_write(&mm->mmap_sem); - addr =3D vdso_addr(mm->start_stack, vdso_size); - addr =3D get_unmapped_area(NULL, addr, vdso_size, 0, 0); -@@ -116,7 +106,7 @@ int arch_setup_additional_pages(struct l +- addr =3D vdso_addr(mm->start_stack, vdso_size); +- addr =3D get_unmapped_area(NULL, addr, vdso_size, 0, 0); ++ addr =3D vdso_addr(mm->start_stack, vdso_size + PAGE_SIZE); ++ addr =3D get_unmapped_area(NULL, addr, vdso_size + PAGE_SIZE, 0, 0); + if (IS_ERR_VALUE(addr)) { + ret =3D addr; goto up_fail; } =20 - current->mm->context.vdso =3D (void *)addr; -+ current->mm->context.vdso =3D addr; ++ mm->context.vdso =3D addr + PAGE_SIZE; =20 - ret =3D install_special_mapping(mm, addr, vdso_size, +- ret =3D install_special_mapping(mm, addr, vdso_size, ++ ret =3D install_special_mapping(mm, addr, PAGE_SIZE, VM_READ|VM_EXEC| -@@ -124,7 +114,7 @@ int arch_setup_additional_pages(struct l +- VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC| ++ VM_MAYREAD|VM_MAYEXEC| VM_ALWAYSDUMP, - vdso_pages); +- vdso_pages); ++ &vsyscall_page); if (ret) { - current->mm->context.vdso =3D NULL; -+ current->mm->context.vdso =3D 0; ++ mm->context.vdso =3D 0; goto up_fail; } =20 -@@ -132,10 +122,3 @@ up_fail: ++ ret =3D install_special_mapping(mm, addr + PAGE_SIZE, vdso_size, ++ VM_READ|VM_EXEC| ++ VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC| ++ VM_ALWAYSDUMP, ++ vdso_pages); ++ if (ret) ++ mm->context.vdso =3D 0; ++ + up_fail: up_write(&mm->mmap_sem); return ret; } @@ -24644,28 +22919,19 @@ diff -urNp linux-2.6.32.48/arch/x86/vdso/vma.c = linux-2.6.32.48/arch/x86/vdso/vma - return 0; -} -__setup("vdso=3D", vdso_setup); -diff -urNp linux-2.6.32.48/arch/x86/xen/enlighten.c linux-2.6.32.48/arch= /x86/xen/enlighten.c ---- linux-2.6.32.48/arch/x86/xen/enlighten.c 2011-11-12 12:44:28.0000000= 00 -0500 -+++ linux-2.6.32.48/arch/x86/xen/enlighten.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -71,8 +71,6 @@ EXPORT_SYMBOL_GPL(xen_start_info); +diff -urNp linux-3.0.8/arch/x86/xen/enlighten.c linux-3.0.8/arch/x86/xen= /enlighten.c +--- linux-3.0.8/arch/x86/xen/enlighten.c 2011-10-24 08:05:23.000000000 -= 0400 ++++ linux-3.0.8/arch/x86/xen/enlighten.c 2011-08-29 23:26:21.000000000 -= 0400 +@@ -85,8 +85,6 @@ EXPORT_SYMBOL_GPL(xen_start_info); =20 struct shared_info xen_dummy_shared_info; =20 -void *xen_initial_gdt; - - /* - * Point at some empty memory to start with. We map the real shared_inf= o - * page as soon as fixmap is up and running. -@@ -548,7 +546,7 @@ static void xen_write_idt_entry(gate_des -=20 - preempt_disable(); -=20 -- start =3D __get_cpu_var(idt_desc).address; -+ start =3D (unsigned long)__get_cpu_var(idt_desc).address; - end =3D start + __get_cpu_var(idt_desc).size + 1; -=20 - xen_mc_flush(); -@@ -993,7 +991,7 @@ static const struct pv_apic_ops xen_apic + RESERVE_BRK(shared_info_page_brk, PAGE_SIZE); + __read_mostly int xen_have_vector_callback; + EXPORT_SYMBOL_GPL(xen_have_vector_callback); +@@ -1010,7 +1008,7 @@ static const struct pv_apic_ops xen_apic #endif }; =20 @@ -24674,7 +22940,7 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/enlighten= .c linux-2.6.32.48/arch/x86/xen { struct sched_shutdown r =3D { .reason =3D reason }; =20 -@@ -1001,17 +999,17 @@ static void xen_reboot(int reason) +@@ -1018,17 +1016,17 @@ static void xen_reboot(int reason) BUG(); } =20 @@ -24695,30 +22961,26 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/enlight= en.c linux-2.6.32.48/arch/x86/xen { xen_reboot(SHUTDOWN_poweroff); } -@@ -1095,9 +1093,20 @@ asmlinkage void __init xen_start_kernel( - */ +@@ -1134,7 +1132,17 @@ asmlinkage void __init xen_start_kernel( __userpte_alloc_gfp &=3D ~__GFP_HIGHMEM; =20 --#ifdef CONFIG_X86_64 /* Work out if we support NX */ -- check_efer(); +- x86_configure_nx(); +#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) + if ((cpuid_eax(0x80000000) & 0xffff0000) =3D=3D 0x80000000 && + (cpuid_edx(0x80000001) & (1U << (X86_FEATURE_NX & 31)))) { + unsigned l, h; + -+#ifdef CONFIG_X86_PAE -+ nx_enabled =3D 1; -+#endif + __supported_pte_mask |=3D _PAGE_NX; + rdmsr(MSR_EFER, l, h); + l |=3D EFER_NX; + wrmsr(MSR_EFER, l, h); + } - #endif ++#endif =20 xen_setup_features(); -@@ -1129,13 +1138,6 @@ asmlinkage void __init xen_start_kernel( +=20 +@@ -1165,13 +1173,6 @@ asmlinkage void __init xen_start_kernel( =20 machine_ops =3D xen_machine_ops; =20 @@ -24731,11 +22993,11 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/enlight= en.c linux-2.6.32.48/arch/x86/xen - xen_smp_init(); =20 - pgd =3D (pgd_t *)xen_start_info->pt_base; -diff -urNp linux-2.6.32.48/arch/x86/xen/mmu.c linux-2.6.32.48/arch/x86/x= en/mmu.c ---- linux-2.6.32.48/arch/x86/xen/mmu.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/xen/mmu.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -1719,6 +1719,8 @@ __init pgd_t *xen_setup_kernel_pagetable + #ifdef CONFIG_ACPI_NUMA +diff -urNp linux-3.0.8/arch/x86/xen/mmu.c linux-3.0.8/arch/x86/xen/mmu.c +--- linux-3.0.8/arch/x86/xen/mmu.c 2011-10-24 08:05:23.000000000 -0400 ++++ linux-3.0.8/arch/x86/xen/mmu.c 2011-08-29 23:26:21.000000000 -0400 +@@ -1683,6 +1683,8 @@ pgd_t * __init xen_setup_kernel_pagetabl convert_pfn_mfn(init_level4_pgt); convert_pfn_mfn(level3_ident_pgt); convert_pfn_mfn(level3_kernel_pgt); @@ -24744,7 +23006,7 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/mmu.c lin= ux-2.6.32.48/arch/x86/xen/mmu.c =20 l3 =3D m2v(pgd[pgd_index(__START_KERNEL_map)].pgd); l2 =3D m2v(l3[pud_index(__START_KERNEL_map)].pud); -@@ -1737,7 +1739,10 @@ __init pgd_t *xen_setup_kernel_pagetable +@@ -1701,7 +1703,10 @@ pgd_t * __init xen_setup_kernel_pagetabl set_page_prot(init_level4_pgt, PAGE_KERNEL_RO); set_page_prot(level3_ident_pgt, PAGE_KERNEL_RO); set_page_prot(level3_kernel_pgt, PAGE_KERNEL_RO); @@ -24755,7 +23017,7 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/mmu.c lin= ux-2.6.32.48/arch/x86/xen/mmu.c set_page_prot(level2_kernel_pgt, PAGE_KERNEL_RO); set_page_prot(level2_fixmap_pgt, PAGE_KERNEL_RO); =20 -@@ -1860,6 +1865,7 @@ static __init void xen_post_allocator_in +@@ -1913,6 +1918,7 @@ static void __init xen_post_allocator_in pv_mmu_ops.set_pud =3D xen_set_pud; #if PAGETABLE_LEVELS =3D=3D 4 pv_mmu_ops.set_pgd =3D xen_set_pgd; @@ -24763,7 +23025,7 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/mmu.c lin= ux-2.6.32.48/arch/x86/xen/mmu.c #endif =20 /* This will work as long as patching hasn't happened yet -@@ -1946,6 +1952,7 @@ static const struct pv_mmu_ops xen_mmu_o +@@ -1994,6 +2000,7 @@ static const struct pv_mmu_ops xen_mmu_o .pud_val =3D PV_CALLEE_SAVE(xen_pud_val), .make_pud =3D PV_CALLEE_SAVE(xen_make_pud), .set_pgd =3D xen_set_pgd_hyper, @@ -24771,10 +23033,10 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/mmu.c l= inux-2.6.32.48/arch/x86/xen/mmu.c =20 .alloc_pud =3D xen_alloc_pmd_init, .release_pud =3D xen_release_pmd_init, -diff -urNp linux-2.6.32.48/arch/x86/xen/smp.c linux-2.6.32.48/arch/x86/x= en/smp.c ---- linux-2.6.32.48/arch/x86/xen/smp.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/arch/x86/xen/smp.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -168,11 +168,6 @@ static void __init xen_smp_prepare_boot_ +diff -urNp linux-3.0.8/arch/x86/xen/smp.c linux-3.0.8/arch/x86/xen/smp.c +--- linux-3.0.8/arch/x86/xen/smp.c 2011-10-24 08:05:30.000000000 -0400 ++++ linux-3.0.8/arch/x86/xen/smp.c 2011-10-16 21:55:27.000000000 -0400 +@@ -194,11 +194,6 @@ static void __init xen_smp_prepare_boot_ { BUG_ON(smp_processor_id() !=3D 0); native_smp_prepare_boot_cpu(); @@ -24783,10 +23045,10 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/smp.c l= inux-2.6.32.48/arch/x86/xen/smp.c - old memory can be recycled */ - make_lowmem_page_readwrite(xen_initial_gdt); - + xen_filter_cpu_maps(); xen_setup_vcpu_info_placement(); } -=20 -@@ -241,12 +236,12 @@ cpu_initialize_context(unsigned int cpu, +@@ -275,12 +270,12 @@ cpu_initialize_context(unsigned int cpu, gdt =3D get_cpu_gdt_table(cpu); =20 ctxt->flags =3D VGCF_IN_KERNEL; @@ -24802,7 +23064,7 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/smp.c lin= ux-2.6.32.48/arch/x86/xen/smp.c #else ctxt->gs_base_kernel =3D per_cpu_offset(cpu); #endif -@@ -297,13 +292,12 @@ static int __cpuinit xen_cpu_up(unsigned +@@ -331,13 +326,12 @@ static int __cpuinit xen_cpu_up(unsigned int rc; =20 per_cpu(current_task, cpu) =3D idle; @@ -24818,9 +23080,9 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/smp.c lin= ux-2.6.32.48/arch/x86/xen/smp.c #endif xen_setup_runstate_info(cpu); xen_setup_timer(cpu); -diff -urNp linux-2.6.32.48/arch/x86/xen/xen-asm_32.S linux-2.6.32.48/arc= h/x86/xen/xen-asm_32.S ---- linux-2.6.32.48/arch/x86/xen/xen-asm_32.S 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/arch/x86/xen/xen-asm_32.S 2011-11-12 12:46:42.000000= 000 -0500 +diff -urNp linux-3.0.8/arch/x86/xen/xen-asm_32.S linux-3.0.8/arch/x86/xe= n/xen-asm_32.S +--- linux-3.0.8/arch/x86/xen/xen-asm_32.S 2011-10-24 08:05:30.000000000 = -0400 ++++ linux-3.0.8/arch/x86/xen/xen-asm_32.S 2011-10-16 21:55:27.000000000 = -0400 @@ -83,14 +83,14 @@ ENTRY(xen_iret) ESP_OFFSET=3D4 # bytes pushed onto stack =20 @@ -24833,18 +23095,18 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/xen-asm= _32.S linux-2.6.32.48/arch/x86/xe - GET_THREAD_INFO(%eax) - movl TI_cpu(%eax), %eax - movl __per_cpu_offset(,%eax,4), %eax -- mov per_cpu__xen_vcpu(%eax), %eax +- mov xen_vcpu(%eax), %eax + push %fs + mov $(__KERNEL_PERCPU), %eax + mov %eax, %fs + mov PER_CPU_VAR(xen_vcpu), %eax + pop %fs #else - movl per_cpu__xen_vcpu, %eax + movl xen_vcpu, %eax #endif -diff -urNp linux-2.6.32.48/arch/x86/xen/xen-head.S linux-2.6.32.48/arch/= x86/xen/xen-head.S ---- linux-2.6.32.48/arch/x86/xen/xen-head.S 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/arch/x86/xen/xen-head.S 2011-11-12 12:46:42.00000000= 0 -0500 +diff -urNp linux-3.0.8/arch/x86/xen/xen-head.S linux-3.0.8/arch/x86/xen/= xen-head.S +--- linux-3.0.8/arch/x86/xen/xen-head.S 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/arch/x86/xen/xen-head.S 2011-08-23 21:47:55.000000000 -0= 400 @@ -19,6 +19,17 @@ ENTRY(startup_xen) #ifdef CONFIG_X86_32 mov %esi,xen_start_info @@ -24863,9 +23125,9 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/xen-head.= S linux-2.6.32.48/arch/x86/xen/ #else mov %rsi,xen_start_info mov $init_thread_union+THREAD_SIZE,%rsp -diff -urNp linux-2.6.32.48/arch/x86/xen/xen-ops.h linux-2.6.32.48/arch/x= 86/xen/xen-ops.h ---- linux-2.6.32.48/arch/x86/xen/xen-ops.h 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/arch/x86/xen/xen-ops.h 2011-11-12 12:46:42.000000000= -0500 +diff -urNp linux-3.0.8/arch/x86/xen/xen-ops.h linux-3.0.8/arch/x86/xen/x= en-ops.h +--- linux-3.0.8/arch/x86/xen/xen-ops.h 2011-10-24 08:05:21.000000000 -04= 00 ++++ linux-3.0.8/arch/x86/xen/xen-ops.h 2011-08-23 21:47:55.000000000 -04= 00 @@ -10,8 +10,6 @@ extern const char xen_hypervisor_callback[]; extern const char xen_failsafe_callback[]; @@ -24875,21 +23137,9 @@ diff -urNp linux-2.6.32.48/arch/x86/xen/xen-ops.= h linux-2.6.32.48/arch/x86/xen/x struct trap_info; void xen_copy_trap_info(struct trap_info *traps); =20 -diff -urNp linux-2.6.32.48/block/blk-integrity.c linux-2.6.32.48/block/b= lk-integrity.c ---- linux-2.6.32.48/block/blk-integrity.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/block/blk-integrity.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -278,7 +278,7 @@ static struct attribute *integrity_attrs - NULL, - }; -=20 --static struct sysfs_ops integrity_ops =3D { -+static const struct sysfs_ops integrity_ops =3D { - .show =3D &integrity_attr_show, - .store =3D &integrity_attr_store, - }; -diff -urNp linux-2.6.32.48/block/blk-iopoll.c linux-2.6.32.48/block/blk-= iopoll.c ---- linux-2.6.32.48/block/blk-iopoll.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/block/blk-iopoll.c 2011-11-12 12:46:42.000000000 -05= 00 +diff -urNp linux-3.0.8/block/blk-iopoll.c linux-3.0.8/block/blk-iopoll.c +--- linux-3.0.8/block/blk-iopoll.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/block/blk-iopoll.c 2011-08-23 21:47:55.000000000 -0400 @@ -77,7 +77,7 @@ void blk_iopoll_complete(struct blk_iopo } EXPORT_SYMBOL(blk_iopoll_complete); @@ -24899,46 +23149,21 @@ diff -urNp linux-2.6.32.48/block/blk-iopoll.c l= inux-2.6.32.48/block/blk-iopoll.c { struct list_head *list =3D &__get_cpu_var(blk_cpu_iopoll); int rearm =3D 0, budget =3D blk_iopoll_budget; -diff -urNp linux-2.6.32.48/block/blk-map.c linux-2.6.32.48/block/blk-map= .c ---- linux-2.6.32.48/block/blk-map.c 2011-11-12 12:44:28.000000000 -0500 -+++ linux-2.6.32.48/block/blk-map.c 2011-11-12 12:46:42.000000000 -0500 -@@ -54,7 +54,7 @@ static int __blk_rq_map_user(struct requ - * direct dma. else, set up kernel bounce buffers - */ - uaddr =3D (unsigned long) ubuf; -- if (blk_rq_aligned(q, ubuf, len) && !map_data) -+ if (blk_rq_aligned(q, (__force void *)ubuf, len) && !map_data) - bio =3D bio_map_user(q, NULL, uaddr, len, reading, gfp_mask); - else - bio =3D bio_copy_user(q, map_data, uaddr, len, reading, gfp_mask); -@@ -201,12 +201,13 @@ int blk_rq_map_user_iov(struct request_q - for (i =3D 0; i < iov_count; i++) { - unsigned long uaddr =3D (unsigned long)iov[i].iov_base; -=20 -+ if (!iov[i].iov_len) -+ return -EINVAL; -+ - if (uaddr & queue_dma_alignment(q)) { - unaligned =3D 1; - break; - } -- if (!iov[i].iov_len) -- return -EINVAL; - } -=20 - if (unaligned || (q->dma_pad_mask & len) || map_data) -@@ -299,7 +300,7 @@ int blk_rq_map_kern(struct request_queue +diff -urNp linux-3.0.8/block/blk-map.c linux-3.0.8/block/blk-map.c +--- linux-3.0.8/block/blk-map.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/block/blk-map.c 2011-08-23 21:47:55.000000000 -0400 +@@ -301,7 +301,7 @@ int blk_rq_map_kern(struct request_queue if (!len || !kbuf) return -EINVAL; =20 -- do_copy =3D !blk_rq_aligned(q, kbuf, len) || object_is_on_stack(kbuf); -+ do_copy =3D !blk_rq_aligned(q, kbuf, len) || object_starts_on_stack(kb= uf); +- do_copy =3D !blk_rq_aligned(q, addr, len) || object_is_on_stack(kbuf); ++ do_copy =3D !blk_rq_aligned(q, addr, len) || object_starts_on_stack(kb= uf); if (do_copy) bio =3D bio_copy_kern(q, kbuf, len, gfp_mask, reading); else -diff -urNp linux-2.6.32.48/block/blk-softirq.c linux-2.6.32.48/block/blk= -softirq.c ---- linux-2.6.32.48/block/blk-softirq.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/block/blk-softirq.c 2011-11-12 12:46:42.000000000 -0= 500 +diff -urNp linux-3.0.8/block/blk-softirq.c linux-3.0.8/block/blk-softirq= .c +--- linux-3.0.8/block/blk-softirq.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/block/blk-softirq.c 2011-08-23 21:47:55.000000000 -0400 @@ -17,7 +17,7 @@ static DEFINE_PER_CPU(struct list_head,=20 * Softirq action handler - move entries to local list and loop over th= em * while passing them to the queue registered handler. @@ -24948,22 +23173,10 @@ diff -urNp linux-2.6.32.48/block/blk-softirq.c = linux-2.6.32.48/block/blk-softirq { struct list_head *cpu_list, local_list; =20 -diff -urNp linux-2.6.32.48/block/blk-sysfs.c linux-2.6.32.48/block/blk-s= ysfs.c ---- linux-2.6.32.48/block/blk-sysfs.c 2011-11-12 12:44:28.000000000 -050= 0 -+++ linux-2.6.32.48/block/blk-sysfs.c 2011-11-12 12:46:42.000000000 -050= 0 -@@ -414,7 +414,7 @@ static void blk_release_queue(struct kob - kmem_cache_free(blk_requestq_cachep, q); - } -=20 --static struct sysfs_ops queue_sysfs_ops =3D { -+static const struct sysfs_ops queue_sysfs_ops =3D { - .show =3D queue_attr_show, - .store =3D queue_attr_store, - }; -diff -urNp linux-2.6.32.48/block/bsg.c linux-2.6.32.48/block/bsg.c ---- linux-2.6.32.48/block/bsg.c 2011-11-12 12:44:28.000000000 -0500 -+++ linux-2.6.32.48/block/bsg.c 2011-11-12 12:46:42.000000000 -0500 -@@ -175,16 +175,24 @@ static int blk_fill_sgv4_hdr_rq(struct r +diff -urNp linux-3.0.8/block/bsg.c linux-3.0.8/block/bsg.c +--- linux-3.0.8/block/bsg.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/block/bsg.c 2011-10-06 04:17:55.000000000 -0400 +@@ -176,16 +176,24 @@ static int blk_fill_sgv4_hdr_rq(struct r struct sg_io_v4 *hdr, struct bsg_device *bd, fmode_t has_write_perm) { @@ -24990,7 +23203,16 @@ diff -urNp linux-2.6.32.48/block/bsg.c linux-2.6= .32.48/block/bsg.c if (hdr->subprotocol =3D=3D BSG_SUB_PROTOCOL_SCSI_CMD) { if (blk_verify_command(rq->cmd, has_write_perm)) return -EPERM; -@@ -282,7 +290,7 @@ bsg_map_hdr(struct bsg_device *bd, struc +@@ -249,7 +257,7 @@ bsg_map_hdr(struct bsg_device *bd, struc + struct request *rq, *next_rq =3D NULL; + int ret, rw; + unsigned int dxfer_len; +- void *dxferp =3D NULL; ++ void __user *dxferp =3D NULL; + struct bsg_class_device *bcd =3D &q->bsg_dev; +=20 + /* if the LLD has been removed then the bsg_unregister_queue will +@@ -291,7 +299,7 @@ bsg_map_hdr(struct bsg_device *bd, struc rq->next_rq =3D next_rq; next_rq->cmd_type =3D rq->cmd_type; =20 @@ -24999,7 +23221,7 @@ diff -urNp linux-2.6.32.48/block/bsg.c linux-2.6.= 32.48/block/bsg.c ret =3D blk_rq_map_user(q, next_rq, NULL, dxferp, hdr->din_xfer_len, GFP_KERNEL); if (ret) -@@ -291,10 +299,10 @@ bsg_map_hdr(struct bsg_device *bd, struc +@@ -300,10 +308,10 @@ bsg_map_hdr(struct bsg_device *bd, struc =20 if (hdr->dout_xfer_len) { dxfer_len =3D hdr->dout_xfer_len; @@ -25012,7 +23234,7 @@ diff -urNp linux-2.6.32.48/block/bsg.c linux-2.6.= 32.48/block/bsg.c } else dxfer_len =3D 0; =20 -@@ -436,7 +444,7 @@ static int blk_complete_sgv4_hdr_rq(stru +@@ -445,7 +453,7 @@ static int blk_complete_sgv4_hdr_rq(stru int len =3D min_t(unsigned int, hdr->max_response_len, rq->sense_len); =20 @@ -25021,9 +23243,9 @@ diff -urNp linux-2.6.32.48/block/bsg.c linux-2.6.= 32.48/block/bsg.c rq->sense, len); if (!ret) hdr->response_len =3D len; -diff -urNp linux-2.6.32.48/block/compat_ioctl.c linux-2.6.32.48/block/co= mpat_ioctl.c ---- linux-2.6.32.48/block/compat_ioctl.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/block/compat_ioctl.c 2011-11-12 12:46:42.000000000 -= 0500 +diff -urNp linux-3.0.8/block/compat_ioctl.c linux-3.0.8/block/compat_ioc= tl.c +--- linux-3.0.8/block/compat_ioctl.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/block/compat_ioctl.c 2011-10-06 04:17:55.000000000 -0400 @@ -354,7 +354,7 @@ static int compat_fd_ioctl(struct block_ err |=3D __get_user(f->spec1, &uf->spec1); err |=3D __get_user(f->fmt_gap, &uf->fmt_gap); @@ -25033,22 +23255,10 @@ diff -urNp linux-2.6.32.48/block/compat_ioctl.c= linux-2.6.32.48/block/compat_ioc if (err) { err =3D -EFAULT; goto out; -diff -urNp linux-2.6.32.48/block/elevator.c linux-2.6.32.48/block/elevat= or.c ---- linux-2.6.32.48/block/elevator.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/block/elevator.c 2011-11-12 12:46:42.000000000 -0500 -@@ -889,7 +889,7 @@ elv_attr_store(struct kobject *kobj, str - return error; - } -=20 --static struct sysfs_ops elv_sysfs_ops =3D { -+static const struct sysfs_ops elv_sysfs_ops =3D { - .show =3D elv_attr_show, - .store =3D elv_attr_store, - }; -diff -urNp linux-2.6.32.48/block/scsi_ioctl.c linux-2.6.32.48/block/scsi= _ioctl.c ---- linux-2.6.32.48/block/scsi_ioctl.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/block/scsi_ioctl.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -220,8 +220,20 @@ EXPORT_SYMBOL(blk_verify_command); +diff -urNp linux-3.0.8/block/scsi_ioctl.c linux-3.0.8/block/scsi_ioctl.c +--- linux-3.0.8/block/scsi_ioctl.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/block/scsi_ioctl.c 2011-08-23 21:47:55.000000000 -0400 +@@ -222,8 +222,20 @@ EXPORT_SYMBOL(blk_verify_command); static int blk_fill_sghdr_rq(struct request_queue *q, struct request *r= q, struct sg_io_hdr *hdr, fmode_t mode) { @@ -25070,7 +23280,7 @@ diff -urNp linux-2.6.32.48/block/scsi_ioctl.c lin= ux-2.6.32.48/block/scsi_ioctl.c if (blk_verify_command(rq->cmd, mode & FMODE_WRITE)) return -EPERM; =20 -@@ -430,6 +442,8 @@ int sg_scsi_ioctl(struct request_queue * +@@ -432,6 +444,8 @@ int sg_scsi_ioctl(struct request_queue * int err; unsigned int in_len, out_len, bytes, opcode, cmdlen; char *buffer =3D NULL, sense[SCSI_SENSE_BUFFERSIZE]; @@ -25079,7 +23289,7 @@ diff -urNp linux-2.6.32.48/block/scsi_ioctl.c lin= ux-2.6.32.48/block/scsi_ioctl.c =20 if (!sic) return -EINVAL; -@@ -463,9 +477,18 @@ int sg_scsi_ioctl(struct request_queue * +@@ -465,9 +479,18 @@ int sg_scsi_ioctl(struct request_queue * */ err =3D -EFAULT; rq->cmd_len =3D cmdlen; @@ -25099,10 +23309,10 @@ diff -urNp linux-2.6.32.48/block/scsi_ioctl.c l= inux-2.6.32.48/block/scsi_ioctl.c if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len)) goto error; =20 -diff -urNp linux-2.6.32.48/crypto/cryptd.c linux-2.6.32.48/crypto/cryptd= .c ---- linux-2.6.32.48/crypto/cryptd.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/crypto/cryptd.c 2011-11-12 12:46:42.000000000 -0500 -@@ -50,7 +50,7 @@ struct cryptd_blkcipher_ctx { +diff -urNp linux-3.0.8/crypto/cryptd.c linux-3.0.8/crypto/cryptd.c +--- linux-3.0.8/crypto/cryptd.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/crypto/cryptd.c 2011-08-23 21:47:55.000000000 -0400 +@@ -63,7 +63,7 @@ struct cryptd_blkcipher_ctx { =20 struct cryptd_blkcipher_request_ctx { crypto_completion_t complete; @@ -25111,9 +23321,18 @@ diff -urNp linux-2.6.32.48/crypto/cryptd.c linux= -2.6.32.48/crypto/cryptd.c =20 struct cryptd_hash_ctx { struct crypto_shash *child; -diff -urNp linux-2.6.32.48/crypto/gf128mul.c linux-2.6.32.48/crypto/gf12= 8mul.c ---- linux-2.6.32.48/crypto/gf128mul.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/crypto/gf128mul.c 2011-11-12 12:46:42.000000000 -050= 0 +@@ -80,7 +80,7 @@ struct cryptd_aead_ctx { +=20 + struct cryptd_aead_request_ctx { + crypto_completion_t complete; +-}; ++} __no_const; +=20 + static void cryptd_queue_worker(struct work_struct *work); +=20 +diff -urNp linux-3.0.8/crypto/gf128mul.c linux-3.0.8/crypto/gf128mul.c +--- linux-3.0.8/crypto/gf128mul.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/crypto/gf128mul.c 2011-08-23 21:47:55.000000000 -0400 @@ -182,7 +182,7 @@ void gf128mul_lle(be128 *r, const be128=20 for (i =3D 0; i < 7; ++i) gf128mul_x_lle(&p[i + 1], &p[i]); @@ -25132,18 +23351,10 @@ diff -urNp linux-2.6.32.48/crypto/gf128mul.c li= nux-2.6.32.48/crypto/gf128mul.c for (i =3D 0;;) { u8 ch =3D ((u8 *)b)[i]; =20 -diff -urNp linux-2.6.32.48/crypto/serpent.c linux-2.6.32.48/crypto/serpe= nt.c ---- linux-2.6.32.48/crypto/serpent.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/crypto/serpent.c 2011-11-12 12:46:42.000000000 -0500 -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include -=20 - /* Key is padded to the maximum of 256 bits before round key generation= . - * Any key length <=3D 256 bits (32 bytes) is allowed by the algorithm. -@@ -224,6 +225,8 @@ static int serpent_setkey(struct crypto_ +diff -urNp linux-3.0.8/crypto/serpent.c linux-3.0.8/crypto/serpent.c +--- linux-3.0.8/crypto/serpent.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/crypto/serpent.c 2011-08-23 21:48:14.000000000 -0400 +@@ -224,6 +224,8 @@ static int serpent_setkey(struct crypto_ u32 r0,r1,r2,r3,r4; int i; =20 @@ -25152,47 +23363,30 @@ diff -urNp linux-2.6.32.48/crypto/serpent.c lin= ux-2.6.32.48/crypto/serpent.c /* Copy key, add padding */ =20 for (i =3D 0; i < keylen; ++i) -diff -urNp linux-2.6.32.48/Documentation/dontdiff linux-2.6.32.48/Docume= ntation/dontdiff ---- linux-2.6.32.48/Documentation/dontdiff 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/Documentation/dontdiff 2011-11-12 12:46:42.000000000= -0500 -@@ -1,13 +1,16 @@ - *.a - *.aux - *.bin -+*.cis +diff -urNp linux-3.0.8/Documentation/dontdiff linux-3.0.8/Documentation/= dontdiff +--- linux-3.0.8/Documentation/dontdiff 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/Documentation/dontdiff 2011-10-20 04:46:01.000000000 -04= 00 +@@ -5,6 +5,7 @@ + *.cis *.cpio *.csp +*.dbg *.dsp *.dvi *.elf - *.eps - *.fw -+*.gcno - *.gen.S - *.gif - *.grep -@@ -38,8 +41,10 @@ +@@ -48,9 +49,11 @@ *.tab.h *.tex *.ver +*.vim *.xml + *.xz *_MODULES +*_reg_safe.h *_vga16.c *~ - *.9 -@@ -49,11 +54,16 @@ - 53c700_d.h - CVS - ChangeSet -+GPATH -+GRTAGS -+GSYMS -+GTAGS - Image - Kerntypes + \#*# +@@ -70,6 +73,7 @@ Kerntypes Module.markers Module.symvers PENDING @@ -25200,68 +23394,82 @@ diff -urNp linux-2.6.32.48/Documentation/dontdi= ff linux-2.6.32.48/Documentation/ SCCS System.map* TAGS -@@ -76,7 +86,11 @@ btfixupprep - build - bvmlinux - bzImage* -+capability_names.h -+capflags.c +@@ -98,14 +102,18 @@ bzImage* + capability_names.h + capflags.c classlist.h* +clut_vga16.c +common-cmds.h comp*.log compile.h* conf -@@ -97,19 +111,21 @@ elfconfig.h* - fixdep - fore200e_mkfirm - fore200e_pca_fw.c* -+gate.lds + config + config-* + config_data.h* ++config.c + config.mak + config.mak.autogen ++config.tmp + conmakehash + consolemap_deftbl.c* + cpustr.h +@@ -126,12 +134,14 @@ fore200e_pca_fw.c* gconf + gconf.glade.h gen-devlist ++gen-kdb_cmds.c gen_crc32table gen_init_cpio + generated + genheaders genksyms *_gray256.c +hash - ihex2fw - ikconfig.h* - initramfs_data.cpio -+initramfs_data.cpio.bz2 - initramfs_data.cpio.gz - initramfs_list + hpet_example + hugepage-mmap + hugepage-shm +@@ -146,7 +156,7 @@ int32.c + int4.c + int8.c kallsyms -kconfig ++kern_constants.h keywords.c ksym.c* ksym.h* -@@ -133,7 +149,9 @@ mkboot +@@ -154,7 +164,6 @@ kxgettext + lkc_defs.h + lex.c + lex.*.c +-linux + logo_*.c + logo_*_clut224.c + logo_*_mono.c +@@ -166,7 +175,6 @@ machtypes.h + map + map_hugetlb + maui_boot.h +-media + mconf + miboot* + mk_elfconfig +@@ -174,6 +182,7 @@ mkboot mkbugboot mkcpustr mkdep +mkpiggy mkprep -+mkregtable + mkregtable mktables - mktree - modpost -@@ -149,6 +167,7 @@ patches* - pca200e.bin - pca200e_ecd.bin2 - piggy.gz -+piggy.S - piggyback - pnmtologo - ppc_defs.h* -@@ -157,12 +176,15 @@ qconf - raid6altivec*.c - raid6int*.c - raid6tables.c +@@ -209,6 +218,7 @@ r300_reg_safe.h + r420_reg_safe.h + r600_reg_safe.h + recordmcount +regdb.c relocs -+rlim_names.h - series - setup + rlim_names.h + rn50_reg_safe.h +@@ -219,6 +229,7 @@ setup setup.bin setup.elf sImage @@ -25269,17 +23477,25 @@ diff -urNp linux-2.6.32.48/Documentation/dontdi= ff linux-2.6.32.48/Documentation/ sm_tbl* split-include syscalltab.h -@@ -186,14 +208,20 @@ version.h* - vmlinux +@@ -229,6 +240,7 @@ tftpboot.img + timeconst.h + times.h* + trix_boot.h ++user_constants.h + utsrelease.h* + vdso-syms.lds + vdso.lds +@@ -246,7 +258,9 @@ vmlinux vmlinux-* vmlinux.aout -+vmlinux.bin.all + vmlinux.bin.all +vmlinux.bin.bz2 vmlinux.lds +vmlinux.relocs -+voffset.h + vmlinuz + voffset.h vsyscall.lds - vsyscall_32.lds +@@ -254,6 +268,7 @@ vsyscall_32.lds wanxlfw.inc uImage unifdef @@ -25287,13 +23503,10 @@ diff -urNp linux-2.6.32.48/Documentation/dontdi= ff linux-2.6.32.48/Documentation/ wakeup.bin wakeup.elf wakeup.lds - zImage* - zconf.hash.c -+zoffset.h -diff -urNp linux-2.6.32.48/Documentation/kernel-parameters.txt linux-2.6= .32.48/Documentation/kernel-parameters.txt ---- linux-2.6.32.48/Documentation/kernel-parameters.txt 2011-11-12 12:44= :28.000000000 -0500 -+++ linux-2.6.32.48/Documentation/kernel-parameters.txt 2011-11-12 12:46= :42.000000000 -0500 -@@ -1837,6 +1837,13 @@ and is between 256 and 4096 characters.=20 +diff -urNp linux-3.0.8/Documentation/kernel-parameters.txt linux-3.0.8/D= ocumentation/kernel-parameters.txt +--- linux-3.0.8/Documentation/kernel-parameters.txt 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/Documentation/kernel-parameters.txt 2011-08-23 21:47:55.= 000000000 -0400 +@@ -1883,6 +1883,13 @@ bytes respectively. Such letter suffixes the specified number of seconds. This is to be used if your oopses keep scrolling off the screen. =20 @@ -25307,105 +23520,98 @@ diff -urNp linux-2.6.32.48/Documentation/kerne= l-parameters.txt linux-2.6.32.48/D pcbit=3D [HW,ISDN] =20 pcd. [PARIDE] -diff -urNp linux-2.6.32.48/drivers/acpi/acpi_pad.c linux-2.6.32.48/drive= rs/acpi/acpi_pad.c ---- linux-2.6.32.48/drivers/acpi/acpi_pad.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/acpi/acpi_pad.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -30,7 +30,7 @@ - #include - #include -=20 --#define ACPI_PROCESSOR_AGGREGATOR_CLASS "processor_aggregator" -+#define ACPI_PROCESSOR_AGGREGATOR_CLASS "acpi_pad" - #define ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME "Processor Aggregator" - #define ACPI_PROCESSOR_AGGREGATOR_NOTIFY 0x80 - static DEFINE_MUTEX(isolated_cpus_lock); -diff -urNp linux-2.6.32.48/drivers/acpi/battery.c linux-2.6.32.48/driver= s/acpi/battery.c ---- linux-2.6.32.48/drivers/acpi/battery.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/acpi/battery.c 2011-11-12 12:46:42.000000000= -0500 -@@ -763,7 +763,7 @@ DECLARE_FILE_FUNCTIONS(alarm); - } -=20 - static struct battery_file { -- struct file_operations ops; -+ const struct file_operations ops; - mode_t mode; - const char *name; - } acpi_battery_file[] =3D { -diff -urNp linux-2.6.32.48/drivers/acpi/dock.c linux-2.6.32.48/drivers/a= cpi/dock.c ---- linux-2.6.32.48/drivers/acpi/dock.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/acpi/dock.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -77,7 +77,7 @@ struct dock_dependent_device { - struct list_head list; - struct list_head hotplug_list; - acpi_handle handle; -- struct acpi_dock_ops *ops; -+ const struct acpi_dock_ops *ops; - void *context; - }; -=20 -@@ -605,7 +605,7 @@ EXPORT_SYMBOL_GPL(unregister_dock_notifi - * the dock driver after _DCK is executed. +diff -urNp linux-3.0.8/drivers/acpi/apei/cper.c linux-3.0.8/drivers/acpi= /apei/cper.c +--- linux-3.0.8/drivers/acpi/apei/cper.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/acpi/apei/cper.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -38,12 +38,12 @@ */ - int --register_hotplug_dock_device(acpi_handle handle, struct acpi_dock_ops *= ops, -+register_hotplug_dock_device(acpi_handle handle, const struct acpi_dock= _ops *ops, - void *context) - { - struct dock_dependent_device *dd; -diff -urNp linux-2.6.32.48/drivers/acpi/osl.c linux-2.6.32.48/drivers/ac= pi/osl.c ---- linux-2.6.32.48/drivers/acpi/osl.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/acpi/osl.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -523,6 +523,8 @@ acpi_os_read_memory(acpi_physical_addres - void __iomem *virt_addr; -=20 - virt_addr =3D ioremap(phys_addr, width); -+ if (!virt_addr) -+ return AE_NO_MEMORY; - if (!value) - value =3D &dummy; -=20 -@@ -551,6 +553,8 @@ acpi_os_write_memory(acpi_physical_addre - void __iomem *virt_addr; -=20 - virt_addr =3D ioremap(phys_addr, width); -+ if (!virt_addr) -+ return AE_NO_MEMORY; -=20 - switch (width) { - case 8: -diff -urNp linux-2.6.32.48/drivers/acpi/power_meter.c linux-2.6.32.48/dr= ivers/acpi/power_meter.c ---- linux-2.6.32.48/drivers/acpi/power_meter.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/acpi/power_meter.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -315,8 +315,6 @@ static ssize_t set_trip(struct device *d - return res; + u64 cper_next_record_id(void) + { +- static atomic64_t seq; ++ static atomic64_unchecked_t seq; =20 - temp /=3D 1000; -- if (temp < 0) -- return -EINVAL; +- if (!atomic64_read(&seq)) +- atomic64_set(&seq, ((u64)get_seconds()) << 32); ++ if (!atomic64_read_unchecked(&seq)) ++ atomic64_set_unchecked(&seq, ((u64)get_seconds()) << 32); =20 - mutex_lock(&resource->lock); - resource->trip[attr->index - 7] =3D temp; -diff -urNp linux-2.6.32.48/drivers/acpi/proc.c linux-2.6.32.48/drivers/a= cpi/proc.c ---- linux-2.6.32.48/drivers/acpi/proc.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/acpi/proc.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -391,20 +391,15 @@ acpi_system_write_wakeup_device(struct f +- return atomic64_inc_return(&seq); ++ return atomic64_inc_return_unchecked(&seq); + } + EXPORT_SYMBOL_GPL(cper_next_record_id); +=20 +diff -urNp linux-3.0.8/drivers/acpi/ec_sys.c linux-3.0.8/drivers/acpi/ec= _sys.c +--- linux-3.0.8/drivers/acpi/ec_sys.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/acpi/ec_sys.c 2011-08-24 19:06:55.000000000 -040= 0 +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + #include "internal.h" +=20 + MODULE_AUTHOR("Thomas Renninger "); +@@ -39,7 +40,7 @@ static ssize_t acpi_ec_read_io(struct fi + * struct acpi_ec *ec =3D ((struct seq_file *)f->private_data)->privat= e; + */ + unsigned int size =3D EC_SPACE_SIZE; +- u8 *data =3D (u8 *) buf; ++ u8 data; + loff_t init_off =3D *off; + int err =3D 0; +=20 +@@ -52,9 +53,11 @@ static ssize_t acpi_ec_read_io(struct fi + size =3D count; +=20 + while (size) { +- err =3D ec_read(*off, &data[*off - init_off]); ++ err =3D ec_read(*off, &data); + if (err) + return err; ++ if (put_user(data, &buf[*off - init_off])) ++ return -EFAULT; + *off +=3D 1; + size--; + } +@@ -70,7 +73,6 @@ static ssize_t acpi_ec_write_io(struct f +=20 + unsigned int size =3D count; + loff_t init_off =3D *off; +- u8 *data =3D (u8 *) buf; + int err =3D 0; +=20 + if (*off >=3D EC_SPACE_SIZE) +@@ -81,7 +83,9 @@ static ssize_t acpi_ec_write_io(struct f + } +=20 + while (size) { +- u8 byte_write =3D data[*off - init_off]; ++ u8 byte_write; ++ if (get_user(byte_write, &buf[*off - init_off])) ++ return -EFAULT; + err =3D ec_write(*off, byte_write); + if (err) + return err; +diff -urNp linux-3.0.8/drivers/acpi/proc.c linux-3.0.8/drivers/acpi/proc= .c +--- linux-3.0.8/drivers/acpi/proc.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/acpi/proc.c 2011-08-23 21:47:55.000000000 -0400 +@@ -342,19 +342,13 @@ acpi_system_write_wakeup_device(struct f size_t count, loff_t * ppos) { struct list_head *node, *next; - char strbuf[5]; - char str[5] =3D ""; - unsigned int len =3D count; -+ char strbuf[5] =3D {0}; - struct acpi_device *found_dev =3D NULL; -=20 +- - if (len > 4) - len =3D 4; - if (len < 0) - return -EFAULT; -+ if (count > 4) -+ count =3D 4; ++ char strbuf[5] =3D {0}; =20 - if (copy_from_user(strbuf, buffer, len)) ++ if (count > 4) ++ count =3D 4; + if (copy_from_user(strbuf, buffer, count)) return -EFAULT; - strbuf[len] =3D '\0'; @@ -25414,196 +23620,31 @@ diff -urNp linux-2.6.32.48/drivers/acpi/proc.c= linux-2.6.32.48/drivers/acpi/proc =20 mutex_lock(&acpi_device_lock); list_for_each_safe(node, next, &acpi_wakeup_device_list) { -@@ -413,7 +408,7 @@ acpi_system_write_wakeup_device(struct f +@@ -363,7 +357,7 @@ acpi_system_write_wakeup_device(struct f if (!dev->wakeup.flags.valid) continue; =20 - if (!strncmp(dev->pnp.bus_id, str, 4)) { + if (!strncmp(dev->pnp.bus_id, strbuf, 4)) { - dev->wakeup.state.enabled =3D - dev->wakeup.state.enabled ? 0 : 1; - found_dev =3D dev; -diff -urNp linux-2.6.32.48/drivers/acpi/processor_core.c linux-2.6.32.48= /drivers/acpi/processor_core.c ---- linux-2.6.32.48/drivers/acpi/processor_core.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/acpi/processor_core.c 2011-11-12 12:46:42.00= 0000000 -0500 -@@ -790,7 +790,7 @@ static int __cpuinit acpi_processor_add( + if (device_can_wakeup(&dev->dev)) { + bool enable =3D !device_may_wakeup(&dev->dev); + device_set_wakeup_enable(&dev->dev, enable); +diff -urNp linux-3.0.8/drivers/acpi/processor_driver.c linux-3.0.8/drive= rs/acpi/processor_driver.c +--- linux-3.0.8/drivers/acpi/processor_driver.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/acpi/processor_driver.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -473,7 +473,7 @@ static int __cpuinit acpi_processor_add( return 0; - } + #endif =20 - BUG_ON((pr->id >=3D nr_cpu_ids) || (pr->id < 0)); + BUG_ON(pr->id >=3D nr_cpu_ids); =20 /* * Buggy BIOS check -diff -urNp linux-2.6.32.48/drivers/acpi/sbshc.c linux-2.6.32.48/drivers/= acpi/sbshc.c ---- linux-2.6.32.48/drivers/acpi/sbshc.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/acpi/sbshc.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -17,7 +17,7 @@ -=20 - #define PREFIX "ACPI: " -=20 --#define ACPI_SMB_HC_CLASS "smbus_host_controller" -+#define ACPI_SMB_HC_CLASS "smbus_host_ctl" - #define ACPI_SMB_HC_DEVICE_NAME "ACPI SMBus HC" -=20 - struct acpi_smb_hc { -diff -urNp linux-2.6.32.48/drivers/acpi/sleep.c linux-2.6.32.48/drivers/= acpi/sleep.c ---- linux-2.6.32.48/drivers/acpi/sleep.c 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/acpi/sleep.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -283,7 +283,7 @@ static int acpi_suspend_state_valid(susp - } - } -=20 --static struct platform_suspend_ops acpi_suspend_ops =3D { -+static const struct platform_suspend_ops acpi_suspend_ops =3D { - .valid =3D acpi_suspend_state_valid, - .begin =3D acpi_suspend_begin, - .prepare_late =3D acpi_pm_prepare, -@@ -311,7 +311,7 @@ static int acpi_suspend_begin_old(suspen - * The following callbacks are used if the pre-ACPI 2.0 suspend orderin= g has - * been requested. - */ --static struct platform_suspend_ops acpi_suspend_ops_old =3D { -+static const struct platform_suspend_ops acpi_suspend_ops_old =3D { - .valid =3D acpi_suspend_state_valid, - .begin =3D acpi_suspend_begin_old, - .prepare_late =3D acpi_pm_disable_gpes, -@@ -460,7 +460,7 @@ static void acpi_pm_enable_gpes(void) - acpi_enable_all_runtime_gpes(); - } -=20 --static struct platform_hibernation_ops acpi_hibernation_ops =3D { -+static const struct platform_hibernation_ops acpi_hibernation_ops =3D { - .begin =3D acpi_hibernation_begin, - .end =3D acpi_pm_end, - .pre_snapshot =3D acpi_hibernation_pre_snapshot, -@@ -513,7 +513,7 @@ static int acpi_hibernation_pre_snapshot - * The following callbacks are used if the pre-ACPI 2.0 suspend orderin= g has - * been requested. - */ --static struct platform_hibernation_ops acpi_hibernation_ops_old =3D { -+static const struct platform_hibernation_ops acpi_hibernation_ops_old =3D= { - .begin =3D acpi_hibernation_begin_old, - .end =3D acpi_pm_end, - .pre_snapshot =3D acpi_hibernation_pre_snapshot_old, -diff -urNp linux-2.6.32.48/drivers/acpi/video.c linux-2.6.32.48/drivers/= acpi/video.c ---- linux-2.6.32.48/drivers/acpi/video.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/acpi/video.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -359,7 +359,7 @@ static int acpi_video_set_brightness(str - vd->brightness->levels[request_level]); - } -=20 --static struct backlight_ops acpi_backlight_ops =3D { -+static const struct backlight_ops acpi_backlight_ops =3D { - .get_brightness =3D acpi_video_get_brightness, - .update_status =3D acpi_video_set_brightness, - }; -diff -urNp linux-2.6.32.48/drivers/ata/ahci.c linux-2.6.32.48/drivers/at= a/ahci.c ---- linux-2.6.32.48/drivers/ata/ahci.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/ata/ahci.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -387,7 +387,7 @@ static struct scsi_host_template ahci_sh - .sdev_attrs =3D ahci_sdev_attrs, - }; -=20 --static struct ata_port_operations ahci_ops =3D { -+static const struct ata_port_operations ahci_ops =3D { - .inherits =3D &sata_pmp_port_ops, -=20 - .qc_defer =3D sata_pmp_qc_defer_cmd_switch, -@@ -424,17 +424,17 @@ static struct ata_port_operations ahci_o - .port_stop =3D ahci_port_stop, - }; -=20 --static struct ata_port_operations ahci_vt8251_ops =3D { -+static const struct ata_port_operations ahci_vt8251_ops =3D { - .inherits =3D &ahci_ops, - .hardreset =3D ahci_vt8251_hardreset, - }; -=20 --static struct ata_port_operations ahci_p5wdh_ops =3D { -+static const struct ata_port_operations ahci_p5wdh_ops =3D { - .inherits =3D &ahci_ops, - .hardreset =3D ahci_p5wdh_hardreset, - }; -=20 --static struct ata_port_operations ahci_sb600_ops =3D { -+static const struct ata_port_operations ahci_sb600_ops =3D { - .inherits =3D &ahci_ops, - .softreset =3D ahci_sb600_softreset, - .pmp_softreset =3D ahci_sb600_softreset, -diff -urNp linux-2.6.32.48/drivers/ata/ata_generic.c linux-2.6.32.48/dri= vers/ata/ata_generic.c ---- linux-2.6.32.48/drivers/ata/ata_generic.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/ata_generic.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -104,7 +104,7 @@ static struct scsi_host_template generic - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations generic_port_ops =3D { -+static const struct ata_port_operations generic_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D ata_cable_unknown, - .set_mode =3D generic_set_mode, -diff -urNp linux-2.6.32.48/drivers/ata/ata_piix.c linux-2.6.32.48/driver= s/ata/ata_piix.c ---- linux-2.6.32.48/drivers/ata/ata_piix.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/ata_piix.c 2011-11-12 12:46:42.000000000= -0500 -@@ -318,7 +318,7 @@ static struct scsi_host_template piix_sh - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations piix_pata_ops =3D { -+static const struct ata_port_operations piix_pata_ops =3D { - .inherits =3D &ata_bmdma32_port_ops, - .cable_detect =3D ata_cable_40wire, - .set_piomode =3D piix_set_piomode, -@@ -326,22 +326,22 @@ static struct ata_port_operations piix_p - .prereset =3D piix_pata_prereset, - }; -=20 --static struct ata_port_operations piix_vmw_ops =3D { -+static const struct ata_port_operations piix_vmw_ops =3D { - .inherits =3D &piix_pata_ops, - .bmdma_status =3D piix_vmw_bmdma_status, - }; -=20 --static struct ata_port_operations ich_pata_ops =3D { -+static const struct ata_port_operations ich_pata_ops =3D { - .inherits =3D &piix_pata_ops, - .cable_detect =3D ich_pata_cable_detect, - .set_dmamode =3D ich_set_dmamode, - }; -=20 --static struct ata_port_operations piix_sata_ops =3D { -+static const struct ata_port_operations piix_sata_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - }; -=20 --static struct ata_port_operations piix_sidpr_sata_ops =3D { -+static const struct ata_port_operations piix_sidpr_sata_ops =3D { - .inherits =3D &piix_sata_ops, - .hardreset =3D sata_std_hardreset, - .scr_read =3D piix_sidpr_scr_read, -diff -urNp linux-2.6.32.48/drivers/ata/libata-acpi.c linux-2.6.32.48/dri= vers/ata/libata-acpi.c ---- linux-2.6.32.48/drivers/ata/libata-acpi.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/libata-acpi.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -223,12 +223,12 @@ static void ata_acpi_dev_uevent(acpi_han - ata_acpi_uevent(dev->link->ap, dev, event); - } -=20 --static struct acpi_dock_ops ata_acpi_dev_dock_ops =3D { -+static const struct acpi_dock_ops ata_acpi_dev_dock_ops =3D { - .handler =3D ata_acpi_dev_notify_dock, - .uevent =3D ata_acpi_dev_uevent, - }; -=20 --static struct acpi_dock_ops ata_acpi_ap_dock_ops =3D { -+static const struct acpi_dock_ops ata_acpi_ap_dock_ops =3D { - .handler =3D ata_acpi_ap_notify_dock, - .uevent =3D ata_acpi_ap_uevent, - }; -diff -urNp linux-2.6.32.48/drivers/ata/libata-core.c linux-2.6.32.48/dri= vers/ata/libata-core.c ---- linux-2.6.32.48/drivers/ata/libata-core.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/libata-core.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -4954,7 +4954,7 @@ void ata_qc_free(struct ata_queued_cmd * +diff -urNp linux-3.0.8/drivers/ata/libata-core.c linux-3.0.8/drivers/ata= /libata-core.c +--- linux-3.0.8/drivers/ata/libata-core.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/ata/libata-core.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -4753,7 +4753,7 @@ void ata_qc_free(struct ata_queued_cmd * struct ata_port *ap; unsigned int tag; =20 @@ -25612,7 +23653,7 @@ diff -urNp linux-2.6.32.48/drivers/ata/libata-cor= e.c linux-2.6.32.48/drivers/ata ap =3D qc->ap; =20 qc->flags =3D 0; -@@ -4970,7 +4970,7 @@ void __ata_qc_complete(struct ata_queued +@@ -4769,7 +4769,7 @@ void __ata_qc_complete(struct ata_queued struct ata_port *ap; struct ata_link *link; =20 @@ -25621,16 +23662,7 @@ diff -urNp linux-2.6.32.48/drivers/ata/libata-co= re.c linux-2.6.32.48/drivers/ata WARN_ON_ONCE(!(qc->flags & ATA_QCFLAG_ACTIVE)); ap =3D qc->ap; link =3D qc->dev->link; -@@ -5987,7 +5987,7 @@ static void ata_host_stop(struct device=20 - * LOCKING: - * None. - */ --static void ata_finalize_port_ops(struct ata_port_operations *ops) -+static void ata_finalize_port_ops(const struct ata_port_operations *ops= ) - { - static DEFINE_SPINLOCK(lock); - const struct ata_port_operations *cur; -@@ -5999,6 +5999,7 @@ static void ata_finalize_port_ops(struct +@@ -5774,6 +5774,7 @@ static void ata_finalize_port_ops(struct return; =20 spin_lock(&lock); @@ -25638,7 +23670,7 @@ diff -urNp linux-2.6.32.48/drivers/ata/libata-cor= e.c linux-2.6.32.48/drivers/ata =20 for (cur =3D ops->inherits; cur; cur =3D cur->inherits) { void **inherit =3D (void **)cur; -@@ -6012,8 +6013,9 @@ static void ata_finalize_port_ops(struct +@@ -5787,8 +5788,9 @@ static void ata_finalize_port_ops(struct if (IS_ERR(*pp)) *pp =3D NULL; =20 @@ -25649,28 +23681,10 @@ diff -urNp linux-2.6.32.48/drivers/ata/libata-c= ore.c linux-2.6.32.48/drivers/ata spin_unlock(&lock); } =20 -@@ -6110,7 +6112,7 @@ int ata_host_start(struct ata_host *host - */ - /* KILLME - the only user left is ipr */ - void ata_host_init(struct ata_host *host, struct device *dev, -- unsigned long flags, struct ata_port_operations *ops) -+ unsigned long flags, const struct ata_port_operations *ops) - { - spin_lock_init(&host->lock); - host->dev =3D dev; -@@ -6773,7 +6775,7 @@ static void ata_dummy_error_handler(stru - /* truly dummy */ - } -=20 --struct ata_port_operations ata_dummy_port_ops =3D { -+const struct ata_port_operations ata_dummy_port_ops =3D { - .qc_prep =3D ata_noop_qc_prep, - .qc_issue =3D ata_dummy_qc_issue, - .error_handler =3D ata_dummy_error_handler, -diff -urNp linux-2.6.32.48/drivers/ata/libata-eh.c linux-2.6.32.48/drive= rs/ata/libata-eh.c ---- linux-2.6.32.48/drivers/ata/libata-eh.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/libata-eh.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -2423,6 +2423,8 @@ void ata_eh_report(struct ata_port *ap) +diff -urNp linux-3.0.8/drivers/ata/libata-eh.c linux-3.0.8/drivers/ata/l= ibata-eh.c +--- linux-3.0.8/drivers/ata/libata-eh.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/ata/libata-eh.c 2011-08-23 21:48:14.000000000 -0= 400 +@@ -2518,6 +2518,8 @@ void ata_eh_report(struct ata_port *ap) { struct ata_link *link; =20 @@ -25679,1551 +23693,193 @@ diff -urNp linux-2.6.32.48/drivers/ata/libat= a-eh.c linux-2.6.32.48/drivers/ata/l ata_for_each_link(link, ap, HOST_FIRST) ata_eh_link_report(link); } -@@ -3594,7 +3596,7 @@ void ata_do_eh(struct ata_port *ap, ata_ - */ - void ata_std_error_handler(struct ata_port *ap) - { -- struct ata_port_operations *ops =3D ap->ops; -+ const struct ata_port_operations *ops =3D ap->ops; - ata_reset_fn_t hardreset =3D ops->hardreset; -=20 - /* ignore built-in hardreset if SCR access is not available */ -diff -urNp linux-2.6.32.48/drivers/ata/libata-pmp.c linux-2.6.32.48/driv= ers/ata/libata-pmp.c ---- linux-2.6.32.48/drivers/ata/libata-pmp.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/libata-pmp.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -841,7 +841,7 @@ static int sata_pmp_handle_link_fail(str - */ - static int sata_pmp_eh_recover(struct ata_port *ap) - { -- struct ata_port_operations *ops =3D ap->ops; -+ const struct ata_port_operations *ops =3D ap->ops; - int pmp_tries, link_tries[SATA_PMP_MAX_PORTS]; - struct ata_link *pmp_link =3D &ap->link; - struct ata_device *pmp_dev =3D pmp_link->device; -diff -urNp linux-2.6.32.48/drivers/ata/pata_acpi.c linux-2.6.32.48/drive= rs/ata/pata_acpi.c ---- linux-2.6.32.48/drivers/ata/pata_acpi.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_acpi.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -215,7 +215,7 @@ static struct scsi_host_template pacpi_s - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations pacpi_ops =3D { -+static const struct ata_port_operations pacpi_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .qc_issue =3D pacpi_qc_issue, - .cable_detect =3D pacpi_cable_detect, -diff -urNp linux-2.6.32.48/drivers/ata/pata_ali.c linux-2.6.32.48/driver= s/ata/pata_ali.c ---- linux-2.6.32.48/drivers/ata/pata_ali.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_ali.c 2011-11-12 12:46:42.000000000= -0500 -@@ -365,7 +365,7 @@ static struct scsi_host_template ali_sht - * Port operations for PIO only ALi - */ -=20 --static struct ata_port_operations ali_early_port_ops =3D { -+static const struct ata_port_operations ali_early_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .cable_detect =3D ata_cable_40wire, - .set_piomode =3D ali_set_piomode, -@@ -382,7 +382,7 @@ static const struct ata_port_operations=20 - * Port operations for DMA capable ALi without cable - * detect - */ --static struct ata_port_operations ali_20_port_ops =3D { -+static const struct ata_port_operations ali_20_port_ops =3D { - .inherits =3D &ali_dma_base_ops, - .cable_detect =3D ata_cable_40wire, - .mode_filter =3D ali_20_filter, -@@ -393,7 +393,7 @@ static struct ata_port_operations ali_20 - /* - * Port operations for DMA capable ALi with cable detect - */ --static struct ata_port_operations ali_c2_port_ops =3D { -+static const struct ata_port_operations ali_c2_port_ops =3D { - .inherits =3D &ali_dma_base_ops, - .check_atapi_dma =3D ali_check_atapi_dma, - .cable_detect =3D ali_c2_cable_detect, -@@ -404,7 +404,7 @@ static struct ata_port_operations ali_c2 - /* - * Port operations for DMA capable ALi with cable detect - */ --static struct ata_port_operations ali_c4_port_ops =3D { -+static const struct ata_port_operations ali_c4_port_ops =3D { - .inherits =3D &ali_dma_base_ops, - .check_atapi_dma =3D ali_check_atapi_dma, - .cable_detect =3D ali_c2_cable_detect, -@@ -414,7 +414,7 @@ static struct ata_port_operations ali_c4 - /* - * Port operations for DMA capable ALi with cable detect and LBA48 - */ --static struct ata_port_operations ali_c5_port_ops =3D { -+static const struct ata_port_operations ali_c5_port_ops =3D { - .inherits =3D &ali_dma_base_ops, - .check_atapi_dma =3D ali_check_atapi_dma, - .dev_config =3D ali_warn_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/pata_amd.c linux-2.6.32.48/driver= s/ata/pata_amd.c ---- linux-2.6.32.48/drivers/ata/pata_amd.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_amd.c 2011-11-12 12:46:42.000000000= -0500 -@@ -397,28 +397,28 @@ static const struct ata_port_operations=20 - .prereset =3D amd_pre_reset, - }; -=20 --static struct ata_port_operations amd33_port_ops =3D { -+static const struct ata_port_operations amd33_port_ops =3D { - .inherits =3D &amd_base_port_ops, - .cable_detect =3D ata_cable_40wire, - .set_piomode =3D amd33_set_piomode, - .set_dmamode =3D amd33_set_dmamode, - }; -=20 --static struct ata_port_operations amd66_port_ops =3D { -+static const struct ata_port_operations amd66_port_ops =3D { - .inherits =3D &amd_base_port_ops, - .cable_detect =3D ata_cable_unknown, - .set_piomode =3D amd66_set_piomode, - .set_dmamode =3D amd66_set_dmamode, - }; -=20 --static struct ata_port_operations amd100_port_ops =3D { -+static const struct ata_port_operations amd100_port_ops =3D { - .inherits =3D &amd_base_port_ops, - .cable_detect =3D ata_cable_unknown, - .set_piomode =3D amd100_set_piomode, - .set_dmamode =3D amd100_set_dmamode, - }; -=20 --static struct ata_port_operations amd133_port_ops =3D { -+static const struct ata_port_operations amd133_port_ops =3D { - .inherits =3D &amd_base_port_ops, - .cable_detect =3D amd_cable_detect, - .set_piomode =3D amd133_set_piomode, -@@ -433,13 +433,13 @@ static const struct ata_port_operations=20 - .host_stop =3D nv_host_stop, - }; -=20 --static struct ata_port_operations nv100_port_ops =3D { -+static const struct ata_port_operations nv100_port_ops =3D { - .inherits =3D &nv_base_port_ops, - .set_piomode =3D nv100_set_piomode, - .set_dmamode =3D nv100_set_dmamode, - }; -=20 --static struct ata_port_operations nv133_port_ops =3D { -+static const struct ata_port_operations nv133_port_ops =3D { - .inherits =3D &nv_base_port_ops, - .set_piomode =3D nv133_set_piomode, - .set_dmamode =3D nv133_set_dmamode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_artop.c linux-2.6.32.48/driv= ers/ata/pata_artop.c ---- linux-2.6.32.48/drivers/ata/pata_artop.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_artop.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -311,7 +311,7 @@ static struct scsi_host_template artop_s - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations artop6210_ops =3D { -+static const struct ata_port_operations artop6210_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D ata_cable_40wire, - .set_piomode =3D artop6210_set_piomode, -@@ -320,7 +320,7 @@ static struct ata_port_operations artop6 - .qc_defer =3D artop6210_qc_defer, - }; -=20 --static struct ata_port_operations artop6260_ops =3D { -+static const struct ata_port_operations artop6260_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D artop6260_cable_detect, - .set_piomode =3D artop6260_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_at32.c linux-2.6.32.48/drive= rs/ata/pata_at32.c ---- linux-2.6.32.48/drivers/ata/pata_at32.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_at32.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -172,7 +172,7 @@ static struct scsi_host_template at32_sh - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations at32_port_ops =3D { -+static const struct ata_port_operations at32_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .cable_detect =3D ata_cable_40wire, - .set_piomode =3D pata_at32_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_at91.c linux-2.6.32.48/drive= rs/ata/pata_at91.c ---- linux-2.6.32.48/drivers/ata/pata_at91.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_at91.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -195,7 +195,7 @@ static struct scsi_host_template pata_at - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations pata_at91_port_ops =3D { -+static const struct ata_port_operations pata_at91_port_ops =3D { - .inherits =3D &ata_sff_port_ops, -=20 - .sff_data_xfer =3D pata_at91_data_xfer_noirq, -diff -urNp linux-2.6.32.48/drivers/ata/pata_atiixp.c linux-2.6.32.48/dri= vers/ata/pata_atiixp.c ---- linux-2.6.32.48/drivers/ata/pata_atiixp.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_atiixp.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -205,7 +205,7 @@ static struct scsi_host_template atiixp_ - .sg_tablesize =3D LIBATA_DUMB_MAX_PRD, - }; -=20 --static struct ata_port_operations atiixp_port_ops =3D { -+static const struct ata_port_operations atiixp_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .qc_prep =3D ata_sff_dumb_qc_prep, -diff -urNp linux-2.6.32.48/drivers/ata/pata_atp867x.c linux-2.6.32.48/dr= ivers/ata/pata_atp867x.c ---- linux-2.6.32.48/drivers/ata/pata_atp867x.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_atp867x.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -274,7 +274,7 @@ static struct scsi_host_template atp867x - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations atp867x_ops =3D { -+static const struct ata_port_operations atp867x_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D atp867x_cable_detect, - .set_piomode =3D atp867x_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_bf54x.c linux-2.6.32.48/driv= ers/ata/pata_bf54x.c ---- linux-2.6.32.48/drivers/ata/pata_bf54x.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_bf54x.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -1464,7 +1464,7 @@ static struct scsi_host_template bfin_sh - .dma_boundary =3D ATA_DMA_BOUNDARY, - }; +diff -urNp linux-3.0.8/drivers/ata/pata_arasan_cf.c linux-3.0.8/drivers/= ata/pata_arasan_cf.c +--- linux-3.0.8/drivers/ata/pata_arasan_cf.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/ata/pata_arasan_cf.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -862,7 +862,9 @@ static int __devinit arasan_cf_probe(str + /* Handle platform specific quirks */ + if (pdata->quirk) { + if (pdata->quirk & CF_BROKEN_PIO) { +- ap->ops->set_piomode =3D NULL; ++ pax_open_kernel(); ++ *(void **)&ap->ops->set_piomode =3D NULL; ++ pax_close_kernel(); + ap->pio_mask =3D 0; + } + if (pdata->quirk & CF_BROKEN_MWDMA) +diff -urNp linux-3.0.8/drivers/atm/adummy.c linux-3.0.8/drivers/atm/adum= my.c +--- linux-3.0.8/drivers/atm/adummy.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/atm/adummy.c 2011-08-23 21:47:55.000000000 -0400 +@@ -114,7 +114,7 @@ adummy_send(struct atm_vcc *vcc, struct=20 + vcc->pop(vcc, skb); + else + dev_kfree_skb_any(skb); +- atomic_inc(&vcc->stats->tx); ++ atomic_inc_unchecked(&vcc->stats->tx); =20 --static struct ata_port_operations bfin_pata_ops =3D { -+static const struct ata_port_operations bfin_pata_ops =3D { - .inherits =3D &ata_sff_port_ops, + return 0; + } +diff -urNp linux-3.0.8/drivers/atm/ambassador.c linux-3.0.8/drivers/atm/= ambassador.c +--- linux-3.0.8/drivers/atm/ambassador.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/atm/ambassador.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -454,7 +454,7 @@ static void tx_complete (amb_dev * dev,=20 + PRINTD (DBG_FLOW|DBG_TX, "tx_complete %p %p", dev, tx); + =20 + // VC layer stats +- atomic_inc(&ATM_SKB(skb)->vcc->stats->tx); ++ atomic_inc_unchecked(&ATM_SKB(skb)->vcc->stats->tx); + =20 + // free the descriptor + kfree (tx_descr); +@@ -495,7 +495,7 @@ static void rx_complete (amb_dev * dev,=20 + dump_skb ("<<<", vc, skb); + =20 + // VC layer stats +- atomic_inc(&atm_vcc->stats->rx); ++ atomic_inc_unchecked(&atm_vcc->stats->rx); + __net_timestamp(skb); + // end of our responsibility + atm_vcc->push (atm_vcc, skb); +@@ -510,7 +510,7 @@ static void rx_complete (amb_dev * dev,=20 + } else { + PRINTK (KERN_INFO, "dropped over-size frame"); + // should we count this? +- atomic_inc(&atm_vcc->stats->rx_drop); ++ atomic_inc_unchecked(&atm_vcc->stats->rx_drop); + } + =20 + } else { +@@ -1342,7 +1342,7 @@ static int amb_send (struct atm_vcc * at + } + =20 + if (check_area (skb->data, skb->len)) { +- atomic_inc(&atm_vcc->stats->tx_err); ++ atomic_inc_unchecked(&atm_vcc->stats->tx_err); + return -ENOMEM; // ? + } + =20 +diff -urNp linux-3.0.8/drivers/atm/atmtcp.c linux-3.0.8/drivers/atm/atmt= cp.c +--- linux-3.0.8/drivers/atm/atmtcp.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/atm/atmtcp.c 2011-08-23 21:47:55.000000000 -0400 +@@ -207,7 +207,7 @@ static int atmtcp_v_send(struct atm_vcc=20 + if (vcc->pop) vcc->pop(vcc,skb); + else dev_kfree_skb(skb); + if (dev_data) return 0; +- atomic_inc(&vcc->stats->tx_err); ++ atomic_inc_unchecked(&vcc->stats->tx_err); + return -ENOLINK; + } + size =3D skb->len+sizeof(struct atmtcp_hdr); +@@ -215,7 +215,7 @@ static int atmtcp_v_send(struct atm_vcc=20 + if (!new_skb) { + if (vcc->pop) vcc->pop(vcc,skb); + else dev_kfree_skb(skb); +- atomic_inc(&vcc->stats->tx_err); ++ atomic_inc_unchecked(&vcc->stats->tx_err); + return -ENOBUFS; + } + hdr =3D (void *) skb_put(new_skb,sizeof(struct atmtcp_hdr)); +@@ -226,8 +226,8 @@ static int atmtcp_v_send(struct atm_vcc=20 + if (vcc->pop) vcc->pop(vcc,skb); + else dev_kfree_skb(skb); + out_vcc->push(out_vcc,new_skb); +- atomic_inc(&vcc->stats->tx); +- atomic_inc(&out_vcc->stats->rx); ++ atomic_inc_unchecked(&vcc->stats->tx); ++ atomic_inc_unchecked(&out_vcc->stats->rx); + return 0; + } =20 - .set_piomode =3D bfin_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cmd640.c linux-2.6.32.48/dri= vers/ata/pata_cmd640.c ---- linux-2.6.32.48/drivers/ata/pata_cmd640.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cmd640.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -168,7 +168,7 @@ static struct scsi_host_template cmd640_ - ATA_BMDMA_SHT(DRV_NAME), - }; +@@ -301,7 +301,7 @@ static int atmtcp_c_send(struct atm_vcc=20 + out_vcc =3D find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci)); + read_unlock(&vcc_sklist_lock); + if (!out_vcc) { +- atomic_inc(&vcc->stats->tx_err); ++ atomic_inc_unchecked(&vcc->stats->tx_err); + goto done; + } + skb_pull(skb,sizeof(struct atmtcp_hdr)); +@@ -313,8 +313,8 @@ static int atmtcp_c_send(struct atm_vcc=20 + __net_timestamp(new_skb); + skb_copy_from_linear_data(skb, skb_put(new_skb, skb->len), skb->len); + out_vcc->push(out_vcc,new_skb); +- atomic_inc(&vcc->stats->tx); +- atomic_inc(&out_vcc->stats->rx); ++ atomic_inc_unchecked(&vcc->stats->tx); ++ atomic_inc_unchecked(&out_vcc->stats->rx); + done: + if (vcc->pop) vcc->pop(vcc,skb); + else dev_kfree_skb(skb); +diff -urNp linux-3.0.8/drivers/atm/eni.c linux-3.0.8/drivers/atm/eni.c +--- linux-3.0.8/drivers/atm/eni.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/atm/eni.c 2011-10-11 10:44:33.000000000 -0400 +@@ -526,7 +526,7 @@ static int rx_aal0(struct atm_vcc *vcc) + DPRINTK(DEV_LABEL "(itf %d): trashing empty cell\n", + vcc->dev->number); + length =3D 0; +- atomic_inc(&vcc->stats->rx_err); ++ atomic_inc_unchecked(&vcc->stats->rx_err); + } + else { + length =3D ATM_CELL_SIZE-1; /* no HEC */ +@@ -581,7 +581,7 @@ static int rx_aal5(struct atm_vcc *vcc) + size); + } + eff =3D length =3D 0; +- atomic_inc(&vcc->stats->rx_err); ++ atomic_inc_unchecked(&vcc->stats->rx_err); + } + else { + size =3D (descr & MID_RED_COUNT)*(ATM_CELL_PAYLOAD >> 2); +@@ -598,7 +598,7 @@ static int rx_aal5(struct atm_vcc *vcc) + "(VCI=3D%d,length=3D%ld,size=3D%ld (descr 0x%lx))\n", + vcc->dev->number,vcc->vci,length,size << 2,descr); + length =3D eff =3D 0; +- atomic_inc(&vcc->stats->rx_err); ++ atomic_inc_unchecked(&vcc->stats->rx_err); + } + } + skb =3D eff ? atm_alloc_charge(vcc,eff << 2,GFP_ATOMIC) : NULL; +@@ -771,7 +771,7 @@ rx_dequeued++; + vcc->push(vcc,skb); + pushed++; + } +- atomic_inc(&vcc->stats->rx); ++ atomic_inc_unchecked(&vcc->stats->rx); + } + wake_up(&eni_dev->rx_wait); + } +@@ -1228,7 +1228,7 @@ static void dequeue_tx(struct atm_dev *d + PCI_DMA_TODEVICE); + if (vcc->pop) vcc->pop(vcc,skb); + else dev_kfree_skb_irq(skb); +- atomic_inc(&vcc->stats->tx); ++ atomic_inc_unchecked(&vcc->stats->tx); + wake_up(&eni_dev->tx_wait); + dma_complete++; + } +@@ -1568,7 +1568,7 @@ tx_complete++; + /*--------------------------------- entries ---------------------------= ------*/ =20 --static struct ata_port_operations cmd640_port_ops =3D { -+static const struct ata_port_operations cmd640_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - /* In theory xfer_noirq is not needed once we kill the prefetcher */ - .sff_data_xfer =3D ata_sff_data_xfer_noirq, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cmd64x.c linux-2.6.32.48/dri= vers/ata/pata_cmd64x.c ---- linux-2.6.32.48/drivers/ata/pata_cmd64x.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cmd64x.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -271,18 +271,18 @@ static const struct ata_port_operations=20 - .set_dmamode =3D cmd64x_set_dmamode, - }; =20 --static struct ata_port_operations cmd64x_port_ops =3D { -+static const struct ata_port_operations cmd64x_port_ops =3D { - .inherits =3D &cmd64x_base_ops, - .cable_detect =3D ata_cable_40wire, - }; +-static const char *media_name[] __devinitdata =3D { ++static const char *media_name[] __devinitconst =3D { + "MMF", "SMF", "MMF", "03?", /* 0- 3 */ + "UTP", "05?", "06?", "07?", /* 4- 7 */ + "TAXI","09?", "10?", "11?", /* 8-11 */ +diff -urNp linux-3.0.8/drivers/atm/firestream.c linux-3.0.8/drivers/atm/= firestream.c +--- linux-3.0.8/drivers/atm/firestream.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/atm/firestream.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -749,7 +749,7 @@ static void process_txdone_queue (struct + } + } =20 --static struct ata_port_operations cmd646r1_port_ops =3D { -+static const struct ata_port_operations cmd646r1_port_ops =3D { - .inherits =3D &cmd64x_base_ops, - .bmdma_stop =3D cmd646r1_bmdma_stop, - .cable_detect =3D ata_cable_40wire, - }; -=20 --static struct ata_port_operations cmd648_port_ops =3D { -+static const struct ata_port_operations cmd648_port_ops =3D { - .inherits =3D &cmd64x_base_ops, - .bmdma_stop =3D cmd648_bmdma_stop, - .cable_detect =3D cmd648_cable_detect, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cs5520.c linux-2.6.32.48/dri= vers/ata/pata_cs5520.c ---- linux-2.6.32.48/drivers/ata/pata_cs5520.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cs5520.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -144,7 +144,7 @@ static struct scsi_host_template cs5520_ - .sg_tablesize =3D LIBATA_DUMB_MAX_PRD, - }; -=20 --static struct ata_port_operations cs5520_port_ops =3D { -+static const struct ata_port_operations cs5520_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .qc_prep =3D ata_sff_dumb_qc_prep, - .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cs5530.c linux-2.6.32.48/dri= vers/ata/pata_cs5530.c ---- linux-2.6.32.48/drivers/ata/pata_cs5530.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cs5530.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -164,7 +164,7 @@ static struct scsi_host_template cs5530_ - .sg_tablesize =3D LIBATA_DUMB_MAX_PRD, - }; -=20 --static struct ata_port_operations cs5530_port_ops =3D { -+static const struct ata_port_operations cs5530_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .qc_prep =3D ata_sff_dumb_qc_prep, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cs5535.c linux-2.6.32.48/dri= vers/ata/pata_cs5535.c ---- linux-2.6.32.48/drivers/ata/pata_cs5535.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cs5535.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -160,7 +160,7 @@ static struct scsi_host_template cs5535_ - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations cs5535_port_ops =3D { -+static const struct ata_port_operations cs5535_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D cs5535_cable_detect, - .set_piomode =3D cs5535_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cs5536.c linux-2.6.32.48/dri= vers/ata/pata_cs5536.c ---- linux-2.6.32.48/drivers/ata/pata_cs5536.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cs5536.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -223,7 +223,7 @@ static struct scsi_host_template cs5536_ - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations cs5536_port_ops =3D { -+static const struct ata_port_operations cs5536_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D cs5536_cable_detect, - .set_piomode =3D cs5536_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_cypress.c linux-2.6.32.48/dr= ivers/ata/pata_cypress.c ---- linux-2.6.32.48/drivers/ata/pata_cypress.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_cypress.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -113,7 +113,7 @@ static struct scsi_host_template cy82c69 - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations cy82c693_port_ops =3D { -+static const struct ata_port_operations cy82c693_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D ata_cable_40wire, - .set_piomode =3D cy82c693_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_efar.c linux-2.6.32.48/drive= rs/ata/pata_efar.c ---- linux-2.6.32.48/drivers/ata/pata_efar.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_efar.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -222,7 +222,7 @@ static struct scsi_host_template efar_sh - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations efar_ops =3D { -+static const struct ata_port_operations efar_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D efar_cable_detect, - .set_piomode =3D efar_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt366.c linux-2.6.32.48/dri= vers/ata/pata_hpt366.c ---- linux-2.6.32.48/drivers/ata/pata_hpt366.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_hpt366.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -282,7 +282,7 @@ static struct scsi_host_template hpt36x_ - * Configuration for HPT366/68 - */ -=20 --static struct ata_port_operations hpt366_port_ops =3D { -+static const struct ata_port_operations hpt366_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D hpt36x_cable_detect, - .mode_filter =3D hpt366_filter, -diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt37x.c linux-2.6.32.48/dri= vers/ata/pata_hpt37x.c ---- linux-2.6.32.48/drivers/ata/pata_hpt37x.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_hpt37x.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -576,7 +576,7 @@ static struct scsi_host_template hpt37x_ - * Configuration for HPT370 - */ -=20 --static struct ata_port_operations hpt370_port_ops =3D { -+static const struct ata_port_operations hpt370_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .bmdma_stop =3D hpt370_bmdma_stop, -@@ -591,7 +591,7 @@ static struct ata_port_operations hpt370 - * Configuration for HPT370A. Close to 370 but less filters - */ -=20 --static struct ata_port_operations hpt370a_port_ops =3D { -+static const struct ata_port_operations hpt370a_port_ops =3D { - .inherits =3D &hpt370_port_ops, - .mode_filter =3D hpt370a_filter, - }; -@@ -601,7 +601,7 @@ static struct ata_port_operations hpt370 - * and DMA mode setting functionality. - */ -=20 --static struct ata_port_operations hpt372_port_ops =3D { -+static const struct ata_port_operations hpt372_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .bmdma_stop =3D hpt37x_bmdma_stop, -@@ -616,7 +616,7 @@ static struct ata_port_operations hpt372 - * but we have a different cable detection procedure for function 1. - */ -=20 --static struct ata_port_operations hpt374_fn1_port_ops =3D { -+static const struct ata_port_operations hpt374_fn1_port_ops =3D { - .inherits =3D &hpt372_port_ops, - .prereset =3D hpt374_fn1_pre_reset, - }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt3x2n.c linux-2.6.32.48/dr= ivers/ata/pata_hpt3x2n.c ---- linux-2.6.32.48/drivers/ata/pata_hpt3x2n.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_hpt3x2n.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -337,7 +337,7 @@ static struct scsi_host_template hpt3x2n - * Configuration for HPT3x2n. - */ -=20 --static struct ata_port_operations hpt3x2n_port_ops =3D { -+static const struct ata_port_operations hpt3x2n_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .bmdma_stop =3D hpt3x2n_bmdma_stop, -diff -urNp linux-2.6.32.48/drivers/ata/pata_hpt3x3.c linux-2.6.32.48/dri= vers/ata/pata_hpt3x3.c ---- linux-2.6.32.48/drivers/ata/pata_hpt3x3.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_hpt3x3.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -141,7 +141,7 @@ static struct scsi_host_template hpt3x3_ - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations hpt3x3_port_ops =3D { -+static const struct ata_port_operations hpt3x3_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D ata_cable_40wire, - .set_piomode =3D hpt3x3_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_icside.c linux-2.6.32.48/dri= vers/ata/pata_icside.c ---- linux-2.6.32.48/drivers/ata/pata_icside.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_icside.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -319,7 +319,7 @@ static void pata_icside_postreset(struct - } - } -=20 --static struct ata_port_operations pata_icside_port_ops =3D { -+static const struct ata_port_operations pata_icside_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - /* no need to build any PRD tables for DMA */ - .qc_prep =3D ata_noop_qc_prep, -diff -urNp linux-2.6.32.48/drivers/ata/pata_isapnp.c linux-2.6.32.48/dri= vers/ata/pata_isapnp.c ---- linux-2.6.32.48/drivers/ata/pata_isapnp.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_isapnp.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -23,12 +23,12 @@ static struct scsi_host_template isapnp_ - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations isapnp_port_ops =3D { -+static const struct ata_port_operations isapnp_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .cable_detect =3D ata_cable_40wire, - }; -=20 --static struct ata_port_operations isapnp_noalt_port_ops =3D { -+static const struct ata_port_operations isapnp_noalt_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .cable_detect =3D ata_cable_40wire, - /* No altstatus so we don't want to use the lost interrupt poll */ -diff -urNp linux-2.6.32.48/drivers/ata/pata_it8213.c linux-2.6.32.48/dri= vers/ata/pata_it8213.c ---- linux-2.6.32.48/drivers/ata/pata_it8213.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_it8213.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -234,7 +234,7 @@ static struct scsi_host_template it8213_ - }; -=20 -=20 --static struct ata_port_operations it8213_ops =3D { -+static const struct ata_port_operations it8213_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D it8213_cable_detect, - .set_piomode =3D it8213_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_it821x.c linux-2.6.32.48/dri= vers/ata/pata_it821x.c ---- linux-2.6.32.48/drivers/ata/pata_it821x.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_it821x.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -800,7 +800,7 @@ static struct scsi_host_template it821x_ - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations it821x_smart_port_ops =3D { -+static const struct ata_port_operations it821x_smart_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .check_atapi_dma=3D it821x_check_atapi_dma, -@@ -814,7 +814,7 @@ static struct ata_port_operations it821x - .port_start =3D it821x_port_start, - }; -=20 --static struct ata_port_operations it821x_passthru_port_ops =3D { -+static const struct ata_port_operations it821x_passthru_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .check_atapi_dma=3D it821x_check_atapi_dma, -@@ -830,7 +830,7 @@ static struct ata_port_operations it821x - .port_start =3D it821x_port_start, - }; -=20 --static struct ata_port_operations it821x_rdc_port_ops =3D { -+static const struct ata_port_operations it821x_rdc_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .check_atapi_dma=3D it821x_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/pata_ixp4xx_cf.c linux-2.6.32.48/= drivers/ata/pata_ixp4xx_cf.c ---- linux-2.6.32.48/drivers/ata/pata_ixp4xx_cf.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_ixp4xx_cf.c 2011-11-12 12:46:42.000= 000000 -0500 -@@ -89,7 +89,7 @@ static struct scsi_host_template ixp4xx_ - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations ixp4xx_port_ops =3D { -+static const struct ata_port_operations ixp4xx_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .sff_data_xfer =3D ixp4xx_mmio_data_xfer, - .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_jmicron.c linux-2.6.32.48/dr= ivers/ata/pata_jmicron.c ---- linux-2.6.32.48/drivers/ata/pata_jmicron.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_jmicron.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -111,7 +111,7 @@ static struct scsi_host_template jmicron - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations jmicron_ops =3D { -+static const struct ata_port_operations jmicron_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .prereset =3D jmicron_pre_reset, - }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_legacy.c linux-2.6.32.48/dri= vers/ata/pata_legacy.c ---- linux-2.6.32.48/drivers/ata/pata_legacy.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_legacy.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -106,7 +106,7 @@ struct legacy_probe { -=20 - struct legacy_controller { - const char *name; -- struct ata_port_operations *ops; -+ const struct ata_port_operations *ops; - unsigned int pio_mask; - unsigned int flags; - unsigned int pflags; -@@ -223,12 +223,12 @@ static const struct ata_port_operations=20 - * pio_mask as well. - */ -=20 --static struct ata_port_operations simple_port_ops =3D { -+static const struct ata_port_operations simple_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .sff_data_xfer =3D ata_sff_data_xfer_noirq, - }; -=20 --static struct ata_port_operations legacy_port_ops =3D { -+static const struct ata_port_operations legacy_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .sff_data_xfer =3D ata_sff_data_xfer_noirq, - .set_mode =3D legacy_set_mode, -@@ -324,7 +324,7 @@ static unsigned int pdc_data_xfer_vlb(st - return buflen; - } -=20 --static struct ata_port_operations pdc20230_port_ops =3D { -+static const struct ata_port_operations pdc20230_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .set_piomode =3D pdc20230_set_piomode, - .sff_data_xfer =3D pdc_data_xfer_vlb, -@@ -357,7 +357,7 @@ static void ht6560a_set_piomode(struct a - ioread8(ap->ioaddr.status_addr); - } -=20 --static struct ata_port_operations ht6560a_port_ops =3D { -+static const struct ata_port_operations ht6560a_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .set_piomode =3D ht6560a_set_piomode, - }; -@@ -400,7 +400,7 @@ static void ht6560b_set_piomode(struct a - ioread8(ap->ioaddr.status_addr); - } -=20 --static struct ata_port_operations ht6560b_port_ops =3D { -+static const struct ata_port_operations ht6560b_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .set_piomode =3D ht6560b_set_piomode, - }; -@@ -499,7 +499,7 @@ static void opti82c611a_set_piomode(stru - } -=20 -=20 --static struct ata_port_operations opti82c611a_port_ops =3D { -+static const struct ata_port_operations opti82c611a_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .set_piomode =3D opti82c611a_set_piomode, - }; -@@ -609,7 +609,7 @@ static unsigned int opti82c46x_qc_issue( - return ata_sff_qc_issue(qc); - } -=20 --static struct ata_port_operations opti82c46x_port_ops =3D { -+static const struct ata_port_operations opti82c46x_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .set_piomode =3D opti82c46x_set_piomode, - .qc_issue =3D opti82c46x_qc_issue, -@@ -771,20 +771,20 @@ static int qdi_port(struct platform_devi - return 0; - } -=20 --static struct ata_port_operations qdi6500_port_ops =3D { -+static const struct ata_port_operations qdi6500_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .set_piomode =3D qdi6500_set_piomode, - .qc_issue =3D qdi_qc_issue, - .sff_data_xfer =3D vlb32_data_xfer, - }; -=20 --static struct ata_port_operations qdi6580_port_ops =3D { -+static const struct ata_port_operations qdi6580_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .set_piomode =3D qdi6580_set_piomode, - .sff_data_xfer =3D vlb32_data_xfer, - }; -=20 --static struct ata_port_operations qdi6580dp_port_ops =3D { -+static const struct ata_port_operations qdi6580dp_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .set_piomode =3D qdi6580dp_set_piomode, - .sff_data_xfer =3D vlb32_data_xfer, -@@ -855,7 +855,7 @@ static int winbond_port(struct platform_ - return 0; - } -=20 --static struct ata_port_operations winbond_port_ops =3D { -+static const struct ata_port_operations winbond_port_ops =3D { - .inherits =3D &legacy_base_port_ops, - .set_piomode =3D winbond_set_piomode, - .sff_data_xfer =3D vlb32_data_xfer, -@@ -978,7 +978,7 @@ static __init int legacy_init_one(struct - int pio_modes =3D controller->pio_mask; - unsigned long io =3D probe->port; - u32 mask =3D (1 << probe->slot); -- struct ata_port_operations *ops =3D controller->ops; -+ const struct ata_port_operations *ops =3D controller->ops; - struct legacy_data *ld =3D &legacy_data[probe->slot]; - struct ata_host *host =3D NULL; - struct ata_port *ap; -diff -urNp linux-2.6.32.48/drivers/ata/pata_marvell.c linux-2.6.32.48/dr= ivers/ata/pata_marvell.c ---- linux-2.6.32.48/drivers/ata/pata_marvell.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_marvell.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -100,7 +100,7 @@ static struct scsi_host_template marvell - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations marvell_ops =3D { -+static const struct ata_port_operations marvell_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D marvell_cable_detect, - .prereset =3D marvell_pre_reset, -diff -urNp linux-2.6.32.48/drivers/ata/pata_mpc52xx.c linux-2.6.32.48/dr= ivers/ata/pata_mpc52xx.c ---- linux-2.6.32.48/drivers/ata/pata_mpc52xx.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_mpc52xx.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -609,7 +609,7 @@ static struct scsi_host_template mpc52xx - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations mpc52xx_ata_port_ops =3D { -+static const struct ata_port_operations mpc52xx_ata_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .sff_dev_select =3D mpc52xx_ata_dev_select, - .set_piomode =3D mpc52xx_ata_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_mpiix.c linux-2.6.32.48/driv= ers/ata/pata_mpiix.c ---- linux-2.6.32.48/drivers/ata/pata_mpiix.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_mpiix.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -140,7 +140,7 @@ static struct scsi_host_template mpiix_s - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations mpiix_port_ops =3D { -+static const struct ata_port_operations mpiix_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .qc_issue =3D mpiix_qc_issue, - .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_netcell.c linux-2.6.32.48/dr= ivers/ata/pata_netcell.c ---- linux-2.6.32.48/drivers/ata/pata_netcell.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_netcell.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -34,7 +34,7 @@ static struct scsi_host_template netcell - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations netcell_ops =3D { -+static const struct ata_port_operations netcell_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D ata_cable_80wire, - .read_id =3D netcell_read_id, -diff -urNp linux-2.6.32.48/drivers/ata/pata_ninja32.c linux-2.6.32.48/dr= ivers/ata/pata_ninja32.c ---- linux-2.6.32.48/drivers/ata/pata_ninja32.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_ninja32.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -81,7 +81,7 @@ static struct scsi_host_template ninja32 - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations ninja32_port_ops =3D { -+static const struct ata_port_operations ninja32_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .sff_dev_select =3D ninja32_dev_select, - .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_ns87410.c linux-2.6.32.48/dr= ivers/ata/pata_ns87410.c ---- linux-2.6.32.48/drivers/ata/pata_ns87410.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_ns87410.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -132,7 +132,7 @@ static struct scsi_host_template ns87410 - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations ns87410_port_ops =3D { -+static const struct ata_port_operations ns87410_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .qc_issue =3D ns87410_qc_issue, - .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_ns87415.c linux-2.6.32.48/dr= ivers/ata/pata_ns87415.c ---- linux-2.6.32.48/drivers/ata/pata_ns87415.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_ns87415.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -299,7 +299,7 @@ static u8 ns87560_bmdma_status(struct at - } - #endif /* 87560 SuperIO Support */ -=20 --static struct ata_port_operations ns87415_pata_ops =3D { -+static const struct ata_port_operations ns87415_pata_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .check_atapi_dma =3D ns87415_check_atapi_dma, -@@ -313,7 +313,7 @@ static struct ata_port_operations ns8741 - }; -=20 - #if defined(CONFIG_SUPERIO) --static struct ata_port_operations ns87560_pata_ops =3D { -+static const struct ata_port_operations ns87560_pata_ops =3D { - .inherits =3D &ns87415_pata_ops, - .sff_tf_read =3D ns87560_tf_read, - .sff_check_status =3D ns87560_check_status, -diff -urNp linux-2.6.32.48/drivers/ata/pata_octeon_cf.c linux-2.6.32.48/= drivers/ata/pata_octeon_cf.c ---- linux-2.6.32.48/drivers/ata/pata_octeon_cf.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_octeon_cf.c 2011-11-12 12:46:42.000= 000000 -0500 -@@ -801,6 +801,7 @@ static unsigned int octeon_cf_qc_issue(s - return 0; - } -=20 -+/* cannot be const */ - static struct ata_port_operations octeon_cf_ops =3D { - .inherits =3D &ata_sff_port_ops, - .check_atapi_dma =3D octeon_cf_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/pata_oldpiix.c linux-2.6.32.48/dr= ivers/ata/pata_oldpiix.c ---- linux-2.6.32.48/drivers/ata/pata_oldpiix.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_oldpiix.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -208,7 +208,7 @@ static struct scsi_host_template oldpiix - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations oldpiix_pata_ops =3D { -+static const struct ata_port_operations oldpiix_pata_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .qc_issue =3D oldpiix_qc_issue, - .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_opti.c linux-2.6.32.48/drive= rs/ata/pata_opti.c ---- linux-2.6.32.48/drivers/ata/pata_opti.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_opti.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -152,7 +152,7 @@ static struct scsi_host_template opti_sh - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations opti_port_ops =3D { -+static const struct ata_port_operations opti_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .cable_detect =3D ata_cable_40wire, - .set_piomode =3D opti_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_optidma.c linux-2.6.32.48/dr= ivers/ata/pata_optidma.c ---- linux-2.6.32.48/drivers/ata/pata_optidma.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_optidma.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -337,7 +337,7 @@ static struct scsi_host_template optidma - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations optidma_port_ops =3D { -+static const struct ata_port_operations optidma_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D ata_cable_40wire, - .set_piomode =3D optidma_set_pio_mode, -@@ -346,7 +346,7 @@ static struct ata_port_operations optidm - .prereset =3D optidma_pre_reset, - }; -=20 --static struct ata_port_operations optiplus_port_ops =3D { -+static const struct ata_port_operations optiplus_port_ops =3D { - .inherits =3D &optidma_port_ops, - .set_piomode =3D optiplus_set_pio_mode, - .set_dmamode =3D optiplus_set_dma_mode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_palmld.c linux-2.6.32.48/dri= vers/ata/pata_palmld.c ---- linux-2.6.32.48/drivers/ata/pata_palmld.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_palmld.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -37,7 +37,7 @@ static struct scsi_host_template palmld_ - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations palmld_port_ops =3D { -+static const struct ata_port_operations palmld_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .sff_data_xfer =3D ata_sff_data_xfer_noirq, - .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pata_pcmcia.c linux-2.6.32.48/dri= vers/ata/pata_pcmcia.c ---- linux-2.6.32.48/drivers/ata/pata_pcmcia.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_pcmcia.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -162,14 +162,14 @@ static struct scsi_host_template pcmcia_ - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations pcmcia_port_ops =3D { -+static const struct ata_port_operations pcmcia_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .sff_data_xfer =3D ata_sff_data_xfer_noirq, - .cable_detect =3D ata_cable_40wire, - .set_mode =3D pcmcia_set_mode, - }; -=20 --static struct ata_port_operations pcmcia_8bit_port_ops =3D { -+static const struct ata_port_operations pcmcia_8bit_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .sff_data_xfer =3D ata_data_xfer_8bit, - .cable_detect =3D ata_cable_40wire, -@@ -256,7 +256,7 @@ static int pcmcia_init_one(struct pcmcia - unsigned long io_base, ctl_base; - void __iomem *io_addr, *ctl_addr; - int n_ports =3D 1; -- struct ata_port_operations *ops =3D &pcmcia_port_ops; -+ const struct ata_port_operations *ops =3D &pcmcia_port_ops; -=20 - info =3D kzalloc(sizeof(*info), GFP_KERNEL); - if (info =3D=3D NULL) -diff -urNp linux-2.6.32.48/drivers/ata/pata_pdc2027x.c linux-2.6.32.48/d= rivers/ata/pata_pdc2027x.c ---- linux-2.6.32.48/drivers/ata/pata_pdc2027x.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_pdc2027x.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -132,14 +132,14 @@ static struct scsi_host_template pdc2027 - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations pdc2027x_pata100_ops =3D { -+static const struct ata_port_operations pdc2027x_pata100_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .check_atapi_dma =3D pdc2027x_check_atapi_dma, - .cable_detect =3D pdc2027x_cable_detect, - .prereset =3D pdc2027x_prereset, - }; -=20 --static struct ata_port_operations pdc2027x_pata133_ops =3D { -+static const struct ata_port_operations pdc2027x_pata133_ops =3D { - .inherits =3D &pdc2027x_pata100_ops, - .mode_filter =3D pdc2027x_mode_filter, - .set_piomode =3D pdc2027x_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_pdc202xx_old.c linux-2.6.32.= 48/drivers/ata/pata_pdc202xx_old.c ---- linux-2.6.32.48/drivers/ata/pata_pdc202xx_old.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_pdc202xx_old.c 2011-11-12 12:46:42.= 000000000 -0500 -@@ -274,7 +274,7 @@ static struct scsi_host_template pdc202x - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations pdc2024x_port_ops =3D { -+static const struct ata_port_operations pdc2024x_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .cable_detect =3D ata_cable_40wire, -@@ -284,7 +284,7 @@ static struct ata_port_operations pdc202 - .sff_exec_command =3D pdc202xx_exec_command, - }; -=20 --static struct ata_port_operations pdc2026x_port_ops =3D { -+static const struct ata_port_operations pdc2026x_port_ops =3D { - .inherits =3D &pdc2024x_port_ops, -=20 - .check_atapi_dma =3D pdc2026x_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/pata_platform.c linux-2.6.32.48/d= rivers/ata/pata_platform.c ---- linux-2.6.32.48/drivers/ata/pata_platform.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_platform.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -48,7 +48,7 @@ static struct scsi_host_template pata_pl - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations pata_platform_port_ops =3D { -+static const struct ata_port_operations pata_platform_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .sff_data_xfer =3D ata_sff_data_xfer_noirq, - .cable_detect =3D ata_cable_unknown, -diff -urNp linux-2.6.32.48/drivers/ata/pata_qdi.c linux-2.6.32.48/driver= s/ata/pata_qdi.c ---- linux-2.6.32.48/drivers/ata/pata_qdi.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_qdi.c 2011-11-12 12:46:42.000000000= -0500 -@@ -157,7 +157,7 @@ static struct scsi_host_template qdi_sht - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations qdi6500_port_ops =3D { -+static const struct ata_port_operations qdi6500_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .qc_issue =3D qdi_qc_issue, - .sff_data_xfer =3D qdi_data_xfer, -@@ -165,7 +165,7 @@ static struct ata_port_operations qdi650 - .set_piomode =3D qdi6500_set_piomode, - }; -=20 --static struct ata_port_operations qdi6580_port_ops =3D { -+static const struct ata_port_operations qdi6580_port_ops =3D { - .inherits =3D &qdi6500_port_ops, - .set_piomode =3D qdi6580_set_piomode, - }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_radisys.c linux-2.6.32.48/dr= ivers/ata/pata_radisys.c ---- linux-2.6.32.48/drivers/ata/pata_radisys.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_radisys.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -187,7 +187,7 @@ static struct scsi_host_template radisys - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations radisys_pata_ops =3D { -+static const struct ata_port_operations radisys_pata_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .qc_issue =3D radisys_qc_issue, - .cable_detect =3D ata_cable_unknown, -diff -urNp linux-2.6.32.48/drivers/ata/pata_rb532_cf.c linux-2.6.32.48/d= rivers/ata/pata_rb532_cf.c ---- linux-2.6.32.48/drivers/ata/pata_rb532_cf.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_rb532_cf.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -68,7 +68,7 @@ static irqreturn_t rb532_pata_irq_handle - return IRQ_HANDLED; - } -=20 --static struct ata_port_operations rb532_pata_port_ops =3D { -+static const struct ata_port_operations rb532_pata_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .sff_data_xfer =3D ata_sff_data_xfer32, - }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_rdc.c linux-2.6.32.48/driver= s/ata/pata_rdc.c ---- linux-2.6.32.48/drivers/ata/pata_rdc.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_rdc.c 2011-11-12 12:46:42.000000000= -0500 -@@ -272,7 +272,7 @@ static void rdc_set_dmamode(struct ata_p - pci_write_config_byte(dev, 0x48, udma_enable); - } -=20 --static struct ata_port_operations rdc_pata_ops =3D { -+static const struct ata_port_operations rdc_pata_ops =3D { - .inherits =3D &ata_bmdma32_port_ops, - .cable_detect =3D rdc_pata_cable_detect, - .set_piomode =3D rdc_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_rz1000.c linux-2.6.32.48/dri= vers/ata/pata_rz1000.c ---- linux-2.6.32.48/drivers/ata/pata_rz1000.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_rz1000.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -54,7 +54,7 @@ static struct scsi_host_template rz1000_ - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations rz1000_port_ops =3D { -+static const struct ata_port_operations rz1000_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .cable_detect =3D ata_cable_40wire, - .set_mode =3D rz1000_set_mode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_sc1200.c linux-2.6.32.48/dri= vers/ata/pata_sc1200.c ---- linux-2.6.32.48/drivers/ata/pata_sc1200.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_sc1200.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -207,7 +207,7 @@ static struct scsi_host_template sc1200_ - .sg_tablesize =3D LIBATA_DUMB_MAX_PRD, - }; -=20 --static struct ata_port_operations sc1200_port_ops =3D { -+static const struct ata_port_operations sc1200_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .qc_prep =3D ata_sff_dumb_qc_prep, - .qc_issue =3D sc1200_qc_issue, -diff -urNp linux-2.6.32.48/drivers/ata/pata_scc.c linux-2.6.32.48/driver= s/ata/pata_scc.c ---- linux-2.6.32.48/drivers/ata/pata_scc.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_scc.c 2011-11-12 12:46:42.000000000= -0500 -@@ -965,7 +965,7 @@ static struct scsi_host_template scc_sht - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations scc_pata_ops =3D { -+static const struct ata_port_operations scc_pata_ops =3D { - .inherits =3D &ata_bmdma_port_ops, -=20 - .set_piomode =3D scc_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_sch.c linux-2.6.32.48/driver= s/ata/pata_sch.c ---- linux-2.6.32.48/drivers/ata/pata_sch.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_sch.c 2011-11-12 12:46:42.000000000= -0500 -@@ -75,7 +75,7 @@ static struct scsi_host_template sch_sht - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations sch_pata_ops =3D { -+static const struct ata_port_operations sch_pata_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D ata_cable_unknown, - .set_piomode =3D sch_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_serverworks.c linux-2.6.32.4= 8/drivers/ata/pata_serverworks.c ---- linux-2.6.32.48/drivers/ata/pata_serverworks.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_serverworks.c 2011-11-12 12:46:42.0= 00000000 -0500 -@@ -299,7 +299,7 @@ static struct scsi_host_template serverw - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations serverworks_osb4_port_ops =3D { -+static const struct ata_port_operations serverworks_osb4_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D serverworks_cable_detect, - .mode_filter =3D serverworks_osb4_filter, -@@ -307,7 +307,7 @@ static struct ata_port_operations server - .set_dmamode =3D serverworks_set_dmamode, - }; -=20 --static struct ata_port_operations serverworks_csb_port_ops =3D { -+static const struct ata_port_operations serverworks_csb_port_ops =3D { - .inherits =3D &serverworks_osb4_port_ops, - .mode_filter =3D serverworks_csb_filter, - }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_sil680.c linux-2.6.32.48/dri= vers/ata/pata_sil680.c ---- linux-2.6.32.48/drivers/ata/pata_sil680.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_sil680.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -194,7 +194,7 @@ static struct scsi_host_template sil680_ - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations sil680_port_ops =3D { -+static const struct ata_port_operations sil680_port_ops =3D { - .inherits =3D &ata_bmdma32_port_ops, - .cable_detect =3D sil680_cable_detect, - .set_piomode =3D sil680_set_piomode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_sis.c linux-2.6.32.48/driver= s/ata/pata_sis.c ---- linux-2.6.32.48/drivers/ata/pata_sis.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_sis.c 2011-11-12 12:46:42.000000000= -0500 -@@ -503,47 +503,47 @@ static struct scsi_host_template sis_sht - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations sis_133_for_sata_ops =3D { -+static const struct ata_port_operations sis_133_for_sata_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .set_piomode =3D sis_133_set_piomode, - .set_dmamode =3D sis_133_set_dmamode, - .cable_detect =3D sis_133_cable_detect, - }; -=20 --static struct ata_port_operations sis_base_ops =3D { -+static const struct ata_port_operations sis_base_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .prereset =3D sis_pre_reset, - }; -=20 --static struct ata_port_operations sis_133_ops =3D { -+static const struct ata_port_operations sis_133_ops =3D { - .inherits =3D &sis_base_ops, - .set_piomode =3D sis_133_set_piomode, - .set_dmamode =3D sis_133_set_dmamode, - .cable_detect =3D sis_133_cable_detect, - }; -=20 --static struct ata_port_operations sis_133_early_ops =3D { -+static const struct ata_port_operations sis_133_early_ops =3D { - .inherits =3D &sis_base_ops, - .set_piomode =3D sis_100_set_piomode, - .set_dmamode =3D sis_133_early_set_dmamode, - .cable_detect =3D sis_66_cable_detect, - }; -=20 --static struct ata_port_operations sis_100_ops =3D { -+static const struct ata_port_operations sis_100_ops =3D { - .inherits =3D &sis_base_ops, - .set_piomode =3D sis_100_set_piomode, - .set_dmamode =3D sis_100_set_dmamode, - .cable_detect =3D sis_66_cable_detect, - }; -=20 --static struct ata_port_operations sis_66_ops =3D { -+static const struct ata_port_operations sis_66_ops =3D { - .inherits =3D &sis_base_ops, - .set_piomode =3D sis_old_set_piomode, - .set_dmamode =3D sis_66_set_dmamode, - .cable_detect =3D sis_66_cable_detect, - }; -=20 --static struct ata_port_operations sis_old_ops =3D { -+static const struct ata_port_operations sis_old_ops =3D { - .inherits =3D &sis_base_ops, - .set_piomode =3D sis_old_set_piomode, - .set_dmamode =3D sis_old_set_dmamode, -diff -urNp linux-2.6.32.48/drivers/ata/pata_sl82c105.c linux-2.6.32.48/d= rivers/ata/pata_sl82c105.c ---- linux-2.6.32.48/drivers/ata/pata_sl82c105.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_sl82c105.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -231,7 +231,7 @@ static struct scsi_host_template sl82c10 - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations sl82c105_port_ops =3D { -+static const struct ata_port_operations sl82c105_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .qc_defer =3D sl82c105_qc_defer, - .bmdma_start =3D sl82c105_bmdma_start, -diff -urNp linux-2.6.32.48/drivers/ata/pata_triflex.c linux-2.6.32.48/dr= ivers/ata/pata_triflex.c ---- linux-2.6.32.48/drivers/ata/pata_triflex.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_triflex.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -178,7 +178,7 @@ static struct scsi_host_template triflex - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations triflex_port_ops =3D { -+static const struct ata_port_operations triflex_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .bmdma_start =3D triflex_bmdma_start, - .bmdma_stop =3D triflex_bmdma_stop, -diff -urNp linux-2.6.32.48/drivers/ata/pata_via.c linux-2.6.32.48/driver= s/ata/pata_via.c ---- linux-2.6.32.48/drivers/ata/pata_via.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pata_via.c 2011-11-12 12:46:42.000000000= -0500 -@@ -419,7 +419,7 @@ static struct scsi_host_template via_sht - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations via_port_ops =3D { -+static const struct ata_port_operations via_port_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .cable_detect =3D via_cable_detect, - .set_piomode =3D via_set_piomode, -@@ -429,7 +429,7 @@ static struct ata_port_operations via_po - .port_start =3D via_port_start, - }; -=20 --static struct ata_port_operations via_port_ops_noirq =3D { -+static const struct ata_port_operations via_port_ops_noirq =3D { - .inherits =3D &via_port_ops, - .sff_data_xfer =3D ata_sff_data_xfer_noirq, - }; -diff -urNp linux-2.6.32.48/drivers/ata/pata_winbond.c linux-2.6.32.48/dr= ivers/ata/pata_winbond.c ---- linux-2.6.32.48/drivers/ata/pata_winbond.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/pata_winbond.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -125,7 +125,7 @@ static struct scsi_host_template winbond - ATA_PIO_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations winbond_port_ops =3D { -+static const struct ata_port_operations winbond_port_ops =3D { - .inherits =3D &ata_sff_port_ops, - .sff_data_xfer =3D winbond_data_xfer, - .cable_detect =3D ata_cable_40wire, -diff -urNp linux-2.6.32.48/drivers/ata/pdc_adma.c linux-2.6.32.48/driver= s/ata/pdc_adma.c ---- linux-2.6.32.48/drivers/ata/pdc_adma.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/pdc_adma.c 2011-11-12 12:46:42.000000000= -0500 -@@ -145,7 +145,7 @@ static struct scsi_host_template adma_at - .dma_boundary =3D ADMA_DMA_BOUNDARY, - }; -=20 --static struct ata_port_operations adma_ata_ops =3D { -+static const struct ata_port_operations adma_ata_ops =3D { - .inherits =3D &ata_sff_port_ops, -=20 - .lost_interrupt =3D ATA_OP_NULL, -diff -urNp linux-2.6.32.48/drivers/ata/sata_fsl.c linux-2.6.32.48/driver= s/ata/sata_fsl.c ---- linux-2.6.32.48/drivers/ata/sata_fsl.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_fsl.c 2011-11-12 12:46:42.000000000= -0500 -@@ -1258,7 +1258,7 @@ static struct scsi_host_template sata_fs - .dma_boundary =3D ATA_DMA_BOUNDARY, - }; -=20 --static struct ata_port_operations sata_fsl_ops =3D { -+static const struct ata_port_operations sata_fsl_ops =3D { - .inherits =3D &sata_pmp_port_ops, -=20 - .qc_defer =3D ata_std_qc_defer, -diff -urNp linux-2.6.32.48/drivers/ata/sata_inic162x.c linux-2.6.32.48/d= rivers/ata/sata_inic162x.c ---- linux-2.6.32.48/drivers/ata/sata_inic162x.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ata/sata_inic162x.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -721,7 +721,7 @@ static int inic_port_start(struct ata_po - return 0; - } -=20 --static struct ata_port_operations inic_port_ops =3D { -+static const struct ata_port_operations inic_port_ops =3D { - .inherits =3D &sata_port_ops, -=20 - .check_atapi_dma =3D inic_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/sata_mv.c linux-2.6.32.48/drivers= /ata/sata_mv.c ---- linux-2.6.32.48/drivers/ata/sata_mv.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/ata/sata_mv.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -656,7 +656,7 @@ static struct scsi_host_template mv6_sht - .dma_boundary =3D MV_DMA_BOUNDARY, - }; -=20 --static struct ata_port_operations mv5_ops =3D { -+static const struct ata_port_operations mv5_ops =3D { - .inherits =3D &ata_sff_port_ops, -=20 - .lost_interrupt =3D ATA_OP_NULL, -@@ -678,7 +678,7 @@ static struct ata_port_operations mv5_op - .port_stop =3D mv_port_stop, - }; -=20 --static struct ata_port_operations mv6_ops =3D { -+static const struct ata_port_operations mv6_ops =3D { - .inherits =3D &mv5_ops, - .dev_config =3D mv6_dev_config, - .scr_read =3D mv_scr_read, -@@ -698,7 +698,7 @@ static struct ata_port_operations mv6_op - .bmdma_status =3D mv_bmdma_status, - }; -=20 --static struct ata_port_operations mv_iie_ops =3D { -+static const struct ata_port_operations mv_iie_ops =3D { - .inherits =3D &mv6_ops, - .dev_config =3D ATA_OP_NULL, - .qc_prep =3D mv_qc_prep_iie, -diff -urNp linux-2.6.32.48/drivers/ata/sata_nv.c linux-2.6.32.48/drivers= /ata/sata_nv.c ---- linux-2.6.32.48/drivers/ata/sata_nv.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/ata/sata_nv.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -464,7 +464,7 @@ static struct scsi_host_template nv_swnc - * cases. Define nv_hardreset() which only kicks in for post-boot - * probing and use it for all variants. - */ --static struct ata_port_operations nv_generic_ops =3D { -+static const struct ata_port_operations nv_generic_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .lost_interrupt =3D ATA_OP_NULL, - .scr_read =3D nv_scr_read, -@@ -472,20 +472,20 @@ static struct ata_port_operations nv_gen - .hardreset =3D nv_hardreset, - }; -=20 --static struct ata_port_operations nv_nf2_ops =3D { -+static const struct ata_port_operations nv_nf2_ops =3D { - .inherits =3D &nv_generic_ops, - .freeze =3D nv_nf2_freeze, - .thaw =3D nv_nf2_thaw, - }; -=20 --static struct ata_port_operations nv_ck804_ops =3D { -+static const struct ata_port_operations nv_ck804_ops =3D { - .inherits =3D &nv_generic_ops, - .freeze =3D nv_ck804_freeze, - .thaw =3D nv_ck804_thaw, - .host_stop =3D nv_ck804_host_stop, - }; -=20 --static struct ata_port_operations nv_adma_ops =3D { -+static const struct ata_port_operations nv_adma_ops =3D { - .inherits =3D &nv_ck804_ops, -=20 - .check_atapi_dma =3D nv_adma_check_atapi_dma, -@@ -509,7 +509,7 @@ static struct ata_port_operations nv_adm - .host_stop =3D nv_adma_host_stop, - }; -=20 --static struct ata_port_operations nv_swncq_ops =3D { -+static const struct ata_port_operations nv_swncq_ops =3D { - .inherits =3D &nv_generic_ops, -=20 - .qc_defer =3D ata_std_qc_defer, -diff -urNp linux-2.6.32.48/drivers/ata/sata_promise.c linux-2.6.32.48/dr= ivers/ata/sata_promise.c ---- linux-2.6.32.48/drivers/ata/sata_promise.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/ata/sata_promise.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -195,7 +195,7 @@ static const struct ata_port_operations=20 - .error_handler =3D pdc_error_handler, - }; -=20 --static struct ata_port_operations pdc_sata_ops =3D { -+static const struct ata_port_operations pdc_sata_ops =3D { - .inherits =3D &pdc_common_ops, - .cable_detect =3D pdc_sata_cable_detect, - .freeze =3D pdc_sata_freeze, -@@ -208,14 +208,14 @@ static struct ata_port_operations pdc_sa -=20 - /* First-generation chips need a more restrictive ->check_atapi_dma op, - and ->freeze/thaw that ignore the hotplug controls. */ --static struct ata_port_operations pdc_old_sata_ops =3D { -+static const struct ata_port_operations pdc_old_sata_ops =3D { - .inherits =3D &pdc_sata_ops, - .freeze =3D pdc_freeze, - .thaw =3D pdc_thaw, - .check_atapi_dma =3D pdc_old_sata_check_atapi_dma, - }; -=20 --static struct ata_port_operations pdc_pata_ops =3D { -+static const struct ata_port_operations pdc_pata_ops =3D { - .inherits =3D &pdc_common_ops, - .cable_detect =3D pdc_pata_cable_detect, - .freeze =3D pdc_freeze, -diff -urNp linux-2.6.32.48/drivers/ata/sata_qstor.c linux-2.6.32.48/driv= ers/ata/sata_qstor.c ---- linux-2.6.32.48/drivers/ata/sata_qstor.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/sata_qstor.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -132,7 +132,7 @@ static struct scsi_host_template qs_ata_ - .dma_boundary =3D QS_DMA_BOUNDARY, - }; -=20 --static struct ata_port_operations qs_ata_ops =3D { -+static const struct ata_port_operations qs_ata_ops =3D { - .inherits =3D &ata_sff_port_ops, -=20 - .check_atapi_dma =3D qs_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/sata_sil24.c linux-2.6.32.48/driv= ers/ata/sata_sil24.c ---- linux-2.6.32.48/drivers/ata/sata_sil24.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ata/sata_sil24.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -388,7 +388,7 @@ static struct scsi_host_template sil24_s - .dma_boundary =3D ATA_DMA_BOUNDARY, - }; -=20 --static struct ata_port_operations sil24_ops =3D { -+static const struct ata_port_operations sil24_ops =3D { - .inherits =3D &sata_pmp_port_ops, -=20 - .qc_defer =3D sil24_qc_defer, -diff -urNp linux-2.6.32.48/drivers/ata/sata_sil.c linux-2.6.32.48/driver= s/ata/sata_sil.c ---- linux-2.6.32.48/drivers/ata/sata_sil.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_sil.c 2011-11-12 12:46:42.000000000= -0500 -@@ -182,7 +182,7 @@ static struct scsi_host_template sil_sht - .sg_tablesize =3D ATA_MAX_PRD - }; -=20 --static struct ata_port_operations sil_ops =3D { -+static const struct ata_port_operations sil_ops =3D { - .inherits =3D &ata_bmdma32_port_ops, - .dev_config =3D sil_dev_config, - .set_mode =3D sil_set_mode, -diff -urNp linux-2.6.32.48/drivers/ata/sata_sis.c linux-2.6.32.48/driver= s/ata/sata_sis.c ---- linux-2.6.32.48/drivers/ata/sata_sis.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_sis.c 2011-11-12 12:46:42.000000000= -0500 -@@ -89,7 +89,7 @@ static struct scsi_host_template sis_sht - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations sis_ops =3D { -+static const struct ata_port_operations sis_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .scr_read =3D sis_scr_read, - .scr_write =3D sis_scr_write, -diff -urNp linux-2.6.32.48/drivers/ata/sata_svw.c linux-2.6.32.48/driver= s/ata/sata_svw.c ---- linux-2.6.32.48/drivers/ata/sata_svw.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_svw.c 2011-11-12 12:46:42.000000000= -0500 -@@ -344,7 +344,7 @@ static struct scsi_host_template k2_sata - }; -=20 -=20 --static struct ata_port_operations k2_sata_ops =3D { -+static const struct ata_port_operations k2_sata_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .sff_tf_load =3D k2_sata_tf_load, - .sff_tf_read =3D k2_sata_tf_read, -diff -urNp linux-2.6.32.48/drivers/ata/sata_sx4.c linux-2.6.32.48/driver= s/ata/sata_sx4.c ---- linux-2.6.32.48/drivers/ata/sata_sx4.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_sx4.c 2011-11-12 12:46:42.000000000= -0500 -@@ -248,7 +248,7 @@ static struct scsi_host_template pdc_sat - }; -=20 - /* TODO: inherit from base port_ops after converting to new EH */ --static struct ata_port_operations pdc_20621_ops =3D { -+static const struct ata_port_operations pdc_20621_ops =3D { - .inherits =3D &ata_sff_port_ops, -=20 - .check_atapi_dma =3D pdc_check_atapi_dma, -diff -urNp linux-2.6.32.48/drivers/ata/sata_uli.c linux-2.6.32.48/driver= s/ata/sata_uli.c ---- linux-2.6.32.48/drivers/ata/sata_uli.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_uli.c 2011-11-12 12:46:42.000000000= -0500 -@@ -79,7 +79,7 @@ static struct scsi_host_template uli_sht - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations uli_ops =3D { -+static const struct ata_port_operations uli_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .scr_read =3D uli_scr_read, - .scr_write =3D uli_scr_write, -diff -urNp linux-2.6.32.48/drivers/ata/sata_via.c linux-2.6.32.48/driver= s/ata/sata_via.c ---- linux-2.6.32.48/drivers/ata/sata_via.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_via.c 2011-11-12 12:46:42.000000000= -0500 -@@ -115,32 +115,32 @@ static struct scsi_host_template svia_sh - ATA_BMDMA_SHT(DRV_NAME), - }; -=20 --static struct ata_port_operations svia_base_ops =3D { -+static const struct ata_port_operations svia_base_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .sff_tf_load =3D svia_tf_load, - }; -=20 --static struct ata_port_operations vt6420_sata_ops =3D { -+static const struct ata_port_operations vt6420_sata_ops =3D { - .inherits =3D &svia_base_ops, - .freeze =3D svia_noop_freeze, - .prereset =3D vt6420_prereset, - .bmdma_start =3D vt6420_bmdma_start, - }; -=20 --static struct ata_port_operations vt6421_pata_ops =3D { -+static const struct ata_port_operations vt6421_pata_ops =3D { - .inherits =3D &svia_base_ops, - .cable_detect =3D vt6421_pata_cable_detect, - .set_piomode =3D vt6421_set_pio_mode, - .set_dmamode =3D vt6421_set_dma_mode, - }; -=20 --static struct ata_port_operations vt6421_sata_ops =3D { -+static const struct ata_port_operations vt6421_sata_ops =3D { - .inherits =3D &svia_base_ops, - .scr_read =3D svia_scr_read, - .scr_write =3D svia_scr_write, - }; -=20 --static struct ata_port_operations vt8251_ops =3D { -+static const struct ata_port_operations vt8251_ops =3D { - .inherits =3D &svia_base_ops, - .hardreset =3D sata_std_hardreset, - .scr_read =3D vt8251_scr_read, -diff -urNp linux-2.6.32.48/drivers/ata/sata_vsc.c linux-2.6.32.48/driver= s/ata/sata_vsc.c ---- linux-2.6.32.48/drivers/ata/sata_vsc.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/ata/sata_vsc.c 2011-11-12 12:46:42.000000000= -0500 -@@ -306,7 +306,7 @@ static struct scsi_host_template vsc_sat - }; -=20 -=20 --static struct ata_port_operations vsc_sata_ops =3D { -+static const struct ata_port_operations vsc_sata_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - /* The IRQ handling is not quite standard SFF behaviour so we - cannot use the default lost interrupt handler */ -diff -urNp linux-2.6.32.48/drivers/atm/adummy.c linux-2.6.32.48/drivers/= atm/adummy.c ---- linux-2.6.32.48/drivers/atm/adummy.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/atm/adummy.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -77,7 +77,7 @@ adummy_send(struct atm_vcc *vcc, struct=20 - vcc->pop(vcc, skb); - else - dev_kfree_skb_any(skb); -- atomic_inc(&vcc->stats->tx); -+ atomic_inc_unchecked(&vcc->stats->tx); -=20 - return 0; - } -diff -urNp linux-2.6.32.48/drivers/atm/ambassador.c linux-2.6.32.48/driv= ers/atm/ambassador.c ---- linux-2.6.32.48/drivers/atm/ambassador.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/atm/ambassador.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -453,7 +453,7 @@ static void tx_complete (amb_dev * dev,=20 - PRINTD (DBG_FLOW|DBG_TX, "tx_complete %p %p", dev, tx); - =20 - // VC layer stats -- atomic_inc(&ATM_SKB(skb)->vcc->stats->tx); -+ atomic_inc_unchecked(&ATM_SKB(skb)->vcc->stats->tx); - =20 - // free the descriptor - kfree (tx_descr); -@@ -494,7 +494,7 @@ static void rx_complete (amb_dev * dev,=20 - dump_skb ("<<<", vc, skb); - =20 - // VC layer stats -- atomic_inc(&atm_vcc->stats->rx); -+ atomic_inc_unchecked(&atm_vcc->stats->rx); - __net_timestamp(skb); - // end of our responsability - atm_vcc->push (atm_vcc, skb); -@@ -509,7 +509,7 @@ static void rx_complete (amb_dev * dev,=20 - } else { - PRINTK (KERN_INFO, "dropped over-size frame"); - // should we count this? -- atomic_inc(&atm_vcc->stats->rx_drop); -+ atomic_inc_unchecked(&atm_vcc->stats->rx_drop); - } - =20 - } else { -@@ -1341,7 +1341,7 @@ static int amb_send (struct atm_vcc * at - } - =20 - if (check_area (skb->data, skb->len)) { -- atomic_inc(&atm_vcc->stats->tx_err); -+ atomic_inc_unchecked(&atm_vcc->stats->tx_err); - return -ENOMEM; // ? - } - =20 -diff -urNp linux-2.6.32.48/drivers/atm/atmtcp.c linux-2.6.32.48/drivers/= atm/atmtcp.c ---- linux-2.6.32.48/drivers/atm/atmtcp.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/atm/atmtcp.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -206,7 +206,7 @@ static int atmtcp_v_send(struct atm_vcc=20 - if (vcc->pop) vcc->pop(vcc,skb); - else dev_kfree_skb(skb); - if (dev_data) return 0; -- atomic_inc(&vcc->stats->tx_err); -+ atomic_inc_unchecked(&vcc->stats->tx_err); - return -ENOLINK; - } - size =3D skb->len+sizeof(struct atmtcp_hdr); -@@ -214,7 +214,7 @@ static int atmtcp_v_send(struct atm_vcc=20 - if (!new_skb) { - if (vcc->pop) vcc->pop(vcc,skb); - else dev_kfree_skb(skb); -- atomic_inc(&vcc->stats->tx_err); -+ atomic_inc_unchecked(&vcc->stats->tx_err); - return -ENOBUFS; - } - hdr =3D (void *) skb_put(new_skb,sizeof(struct atmtcp_hdr)); -@@ -225,8 +225,8 @@ static int atmtcp_v_send(struct atm_vcc=20 - if (vcc->pop) vcc->pop(vcc,skb); - else dev_kfree_skb(skb); - out_vcc->push(out_vcc,new_skb); -- atomic_inc(&vcc->stats->tx); -- atomic_inc(&out_vcc->stats->rx); -+ atomic_inc_unchecked(&vcc->stats->tx); -+ atomic_inc_unchecked(&out_vcc->stats->rx); - return 0; - } -=20 -@@ -300,7 +300,7 @@ static int atmtcp_c_send(struct atm_vcc=20 - out_vcc =3D find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci)); - read_unlock(&vcc_sklist_lock); - if (!out_vcc) { -- atomic_inc(&vcc->stats->tx_err); -+ atomic_inc_unchecked(&vcc->stats->tx_err); - goto done; - } - skb_pull(skb,sizeof(struct atmtcp_hdr)); -@@ -312,8 +312,8 @@ static int atmtcp_c_send(struct atm_vcc=20 - __net_timestamp(new_skb); - skb_copy_from_linear_data(skb, skb_put(new_skb, skb->len), skb->len); - out_vcc->push(out_vcc,new_skb); -- atomic_inc(&vcc->stats->tx); -- atomic_inc(&out_vcc->stats->rx); -+ atomic_inc_unchecked(&vcc->stats->tx); -+ atomic_inc_unchecked(&out_vcc->stats->rx); - done: - if (vcc->pop) vcc->pop(vcc,skb); - else dev_kfree_skb(skb); -diff -urNp linux-2.6.32.48/drivers/atm/eni.c linux-2.6.32.48/drivers/atm= /eni.c ---- linux-2.6.32.48/drivers/atm/eni.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/atm/eni.c 2011-11-12 12:46:42.000000000 -050= 0 -@@ -525,7 +525,7 @@ static int rx_aal0(struct atm_vcc *vcc) - DPRINTK(DEV_LABEL "(itf %d): trashing empty cell\n", - vcc->dev->number); - length =3D 0; -- atomic_inc(&vcc->stats->rx_err); -+ atomic_inc_unchecked(&vcc->stats->rx_err); - } - else { - length =3D ATM_CELL_SIZE-1; /* no HEC */ -@@ -580,7 +580,7 @@ static int rx_aal5(struct atm_vcc *vcc) - size); - } - eff =3D length =3D 0; -- atomic_inc(&vcc->stats->rx_err); -+ atomic_inc_unchecked(&vcc->stats->rx_err); - } - else { - size =3D (descr & MID_RED_COUNT)*(ATM_CELL_PAYLOAD >> 2); -@@ -597,7 +597,7 @@ static int rx_aal5(struct atm_vcc *vcc) - "(VCI=3D%d,length=3D%ld,size=3D%ld (descr 0x%lx))\n", - vcc->dev->number,vcc->vci,length,size << 2,descr); - length =3D eff =3D 0; -- atomic_inc(&vcc->stats->rx_err); -+ atomic_inc_unchecked(&vcc->stats->rx_err); - } - } - skb =3D eff ? atm_alloc_charge(vcc,eff << 2,GFP_ATOMIC) : NULL; -@@ -770,7 +770,7 @@ rx_dequeued++; - vcc->push(vcc,skb); - pushed++; - } -- atomic_inc(&vcc->stats->rx); -+ atomic_inc_unchecked(&vcc->stats->rx); - } - wake_up(&eni_dev->rx_wait); - } -@@ -1227,7 +1227,7 @@ static void dequeue_tx(struct atm_dev *d - PCI_DMA_TODEVICE); - if (vcc->pop) vcc->pop(vcc,skb); - else dev_kfree_skb_irq(skb); -- atomic_inc(&vcc->stats->tx); -+ atomic_inc_unchecked(&vcc->stats->tx); - wake_up(&eni_dev->tx_wait); - dma_complete++; - } -diff -urNp linux-2.6.32.48/drivers/atm/firestream.c linux-2.6.32.48/driv= ers/atm/firestream.c ---- linux-2.6.32.48/drivers/atm/firestream.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/atm/firestream.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -748,7 +748,7 @@ static void process_txdone_queue (struct - } - } -=20 -- atomic_inc(&ATM_SKB(skb)->vcc->stats->tx); -+ atomic_inc_unchecked(&ATM_SKB(skb)->vcc->stats->tx); +- atomic_inc(&ATM_SKB(skb)->vcc->stats->tx); ++ atomic_inc_unchecked(&ATM_SKB(skb)->vcc->stats->tx); =20 fs_dprintk (FS_DEBUG_TXMEM, "i"); fs_dprintk (FS_DEBUG_ALLOC, "Free t-skb: %p\n", skb); -@@ -815,7 +815,7 @@ static void process_incoming (struct fs_ +@@ -816,7 +816,7 @@ static void process_incoming (struct fs_ #endif skb_put (skb, qe->p1 & 0xffff);=20 ATM_SKB(skb)->vcc =3D atm_vcc; @@ -27232,7 +23888,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/firestream= .c linux-2.6.32.48/drivers/atm/ __net_timestamp(skb); fs_dprintk (FS_DEBUG_ALLOC, "Free rec-skb: %p (pushed)\n", skb); atm_vcc->push (atm_vcc, skb); -@@ -836,12 +836,12 @@ static void process_incoming (struct fs_ +@@ -837,12 +837,12 @@ static void process_incoming (struct fs_ kfree (pe); } if (atm_vcc) @@ -27247,10 +23903,10 @@ diff -urNp linux-2.6.32.48/drivers/atm/firestre= am.c linux-2.6.32.48/drivers/atm/ break; default: /* Hmm. Haven't written the code to handle the others yet...= -- REW */ printk (KERN_WARNING "Don't know what to do with RX status %x: %s.\n= ",=20 -diff -urNp linux-2.6.32.48/drivers/atm/fore200e.c linux-2.6.32.48/driver= s/atm/fore200e.c ---- linux-2.6.32.48/drivers/atm/fore200e.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/atm/fore200e.c 2011-11-12 12:46:42.000000000= -0500 -@@ -931,9 +931,9 @@ fore200e_tx_irq(struct fore200e* fore200 +diff -urNp linux-3.0.8/drivers/atm/fore200e.c linux-3.0.8/drivers/atm/fo= re200e.c +--- linux-3.0.8/drivers/atm/fore200e.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/atm/fore200e.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -933,9 +933,9 @@ fore200e_tx_irq(struct fore200e* fore200 #endif /* check error condition */ if (*entry->status & STATUS_ERROR) @@ -27262,7 +23918,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/fore200e.c= linux-2.6.32.48/drivers/atm/fo } } =20 -@@ -1082,7 +1082,7 @@ fore200e_push_rpd(struct fore200e* fore2 +@@ -1084,7 +1084,7 @@ fore200e_push_rpd(struct fore200e* fore2 if (skb =3D=3D NULL) { DPRINTK(2, "unable to alloc new skb, rx PDU length =3D %d\n", pdu_len)= ; =20 @@ -27271,7 +23927,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/fore200e.c= linux-2.6.32.48/drivers/atm/fo return -ENOMEM; }=20 =20 -@@ -1125,14 +1125,14 @@ fore200e_push_rpd(struct fore200e* fore2 +@@ -1127,14 +1127,14 @@ fore200e_push_rpd(struct fore200e* fore2 =20 dev_kfree_skb_any(skb); =20 @@ -27288,7 +23944,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/fore200e.c= linux-2.6.32.48/drivers/atm/fo =20 ASSERT(atomic_read(&sk_atm(vcc)->sk_wmem_alloc) >=3D 0); =20 -@@ -1210,7 +1210,7 @@ fore200e_rx_irq(struct fore200e* fore200 +@@ -1212,7 +1212,7 @@ fore200e_rx_irq(struct fore200e* fore200 DPRINTK(2, "damaged PDU on %d.%d.%d\n", fore200e->atm_dev->number, entry->rpd->atm_header.vpi, entry->rpd->atm_header.vci); @@ -27297,7 +23953,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/fore200e.c= linux-2.6.32.48/drivers/atm/fo } } =20 -@@ -1655,7 +1655,7 @@ fore200e_send(struct atm_vcc *vcc, struc +@@ -1657,7 +1657,7 @@ fore200e_send(struct atm_vcc *vcc, struc goto retry_here; } =20 @@ -27306,10 +23962,10 @@ diff -urNp linux-2.6.32.48/drivers/atm/fore200e= .c linux-2.6.32.48/drivers/atm/fo =20 fore200e->tx_sat++; DPRINTK(2, "tx queue of device %s is saturated, PDU dropped - hear= tbeat is %08x\n", -diff -urNp linux-2.6.32.48/drivers/atm/he.c linux-2.6.32.48/drivers/atm/= he.c ---- linux-2.6.32.48/drivers/atm/he.c 2009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/atm/he.c 2011-11-12 12:46:42.000000000 -0500 -@@ -1769,7 +1769,7 @@ he_service_rbrq(struct he_dev *he_dev, i +diff -urNp linux-3.0.8/drivers/atm/he.c linux-3.0.8/drivers/atm/he.c +--- linux-3.0.8/drivers/atm/he.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/atm/he.c 2011-08-23 21:47:55.000000000 -0400 +@@ -1709,7 +1709,7 @@ he_service_rbrq(struct he_dev *he_dev, i =20 if (RBRQ_HBUF_ERR(he_dev->rbrq_head)) { hprintk("HBUF_ERR! (cid 0x%x)\n", cid); @@ -27318,7 +23974,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/he.c linux= -2.6.32.48/drivers/atm/he.c goto return_host_buffers; } =20 -@@ -1802,7 +1802,7 @@ he_service_rbrq(struct he_dev *he_dev, i +@@ -1736,7 +1736,7 @@ he_service_rbrq(struct he_dev *he_dev, i RBRQ_LEN_ERR(he_dev->rbrq_head) ? "LEN_ERR" : "", vcc->vpi, vcc->vci); @@ -27327,7 +23983,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/he.c linux= -2.6.32.48/drivers/atm/he.c goto return_host_buffers; } =20 -@@ -1861,7 +1861,7 @@ he_service_rbrq(struct he_dev *he_dev, i +@@ -1788,7 +1788,7 @@ he_service_rbrq(struct he_dev *he_dev, i vcc->push(vcc, skb); spin_lock(&he_dev->global_lock); =20 @@ -27336,7 +23992,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/he.c linux= -2.6.32.48/drivers/atm/he.c =20 return_host_buffers: ++pdus_assembled; -@@ -2206,7 +2206,7 @@ __enqueue_tpd(struct he_dev *he_dev, str +@@ -2114,7 +2114,7 @@ __enqueue_tpd(struct he_dev *he_dev, str tpd->vcc->pop(tpd->vcc, tpd->skb); else dev_kfree_skb_any(tpd->skb); @@ -27345,7 +24001,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/he.c linux= -2.6.32.48/drivers/atm/he.c } pci_pool_free(he_dev->tpd_pool, tpd, TPD_ADDR(tpd->status)); return; -@@ -2618,7 +2618,7 @@ he_send(struct atm_vcc *vcc, struct sk_b +@@ -2526,7 +2526,7 @@ he_send(struct atm_vcc *vcc, struct sk_b vcc->pop(vcc, skb); else dev_kfree_skb_any(skb); @@ -27354,7 +24010,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/he.c linux= -2.6.32.48/drivers/atm/he.c return -EINVAL; } =20 -@@ -2629,7 +2629,7 @@ he_send(struct atm_vcc *vcc, struct sk_b +@@ -2537,7 +2537,7 @@ he_send(struct atm_vcc *vcc, struct sk_b vcc->pop(vcc, skb); else dev_kfree_skb_any(skb); @@ -27363,7 +24019,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/he.c linux= -2.6.32.48/drivers/atm/he.c return -EINVAL; } #endif -@@ -2641,7 +2641,7 @@ he_send(struct atm_vcc *vcc, struct sk_b +@@ -2549,7 +2549,7 @@ he_send(struct atm_vcc *vcc, struct sk_b vcc->pop(vcc, skb); else dev_kfree_skb_any(skb); @@ -27372,7 +24028,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/he.c linux= -2.6.32.48/drivers/atm/he.c spin_unlock_irqrestore(&he_dev->global_lock, flags); return -ENOMEM; } -@@ -2683,7 +2683,7 @@ he_send(struct atm_vcc *vcc, struct sk_b +@@ -2591,7 +2591,7 @@ he_send(struct atm_vcc *vcc, struct sk_b vcc->pop(vcc, skb); else dev_kfree_skb_any(skb); @@ -27381,7 +24037,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/he.c linux= -2.6.32.48/drivers/atm/he.c spin_unlock_irqrestore(&he_dev->global_lock, flags); return -ENOMEM; } -@@ -2714,7 +2714,7 @@ he_send(struct atm_vcc *vcc, struct sk_b +@@ -2622,7 +2622,7 @@ he_send(struct atm_vcc *vcc, struct sk_b __enqueue_tpd(he_dev, tpd, cid); spin_unlock_irqrestore(&he_dev->global_lock, flags); =20 @@ -27390,19 +24046,19 @@ diff -urNp linux-2.6.32.48/drivers/atm/he.c lin= ux-2.6.32.48/drivers/atm/he.c =20 return 0; } -diff -urNp linux-2.6.32.48/drivers/atm/horizon.c linux-2.6.32.48/drivers= /atm/horizon.c ---- linux-2.6.32.48/drivers/atm/horizon.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/atm/horizon.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -1033,7 +1033,7 @@ static void rx_schedule (hrz_dev * dev,=20 +diff -urNp linux-3.0.8/drivers/atm/horizon.c linux-3.0.8/drivers/atm/hor= izon.c +--- linux-3.0.8/drivers/atm/horizon.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/atm/horizon.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -1034,7 +1034,7 @@ static void rx_schedule (hrz_dev * dev,=20 { struct atm_vcc * vcc =3D ATM_SKB(skb)->vcc; // VC layer stats - atomic_inc(&vcc->stats->rx); + atomic_inc_unchecked(&vcc->stats->rx); __net_timestamp(skb); - // end of our responsability + // end of our responsibility vcc->push (vcc, skb); -@@ -1185,7 +1185,7 @@ static void tx_schedule (hrz_dev * const +@@ -1186,7 +1186,7 @@ static void tx_schedule (hrz_dev * const dev->tx_iovec =3D NULL; =09 // VC layer stats @@ -27411,10 +24067,10 @@ diff -urNp linux-2.6.32.48/drivers/atm/horizon.= c linux-2.6.32.48/drivers/atm/hor =09 // free the skb hrz_kfree_skb (skb); -diff -urNp linux-2.6.32.48/drivers/atm/idt77252.c linux-2.6.32.48/driver= s/atm/idt77252.c ---- linux-2.6.32.48/drivers/atm/idt77252.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/atm/idt77252.c 2011-11-12 12:46:42.000000000= -0500 -@@ -810,7 +810,7 @@ drain_scq(struct idt77252_dev *card, str +diff -urNp linux-3.0.8/drivers/atm/idt77252.c linux-3.0.8/drivers/atm/id= t77252.c +--- linux-3.0.8/drivers/atm/idt77252.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/atm/idt77252.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -811,7 +811,7 @@ drain_scq(struct idt77252_dev *card, str else dev_kfree_skb(skb); =20 @@ -27423,7 +24079,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/idt77252.c= linux-2.6.32.48/drivers/atm/id } =20 atomic_dec(&scq->used); -@@ -1073,13 +1073,13 @@ dequeue_rx(struct idt77252_dev *card, st +@@ -1074,13 +1074,13 @@ dequeue_rx(struct idt77252_dev *card, st if ((sb =3D dev_alloc_skb(64)) =3D=3D NULL) { printk("%s: Can't allocate buffers for aal0.\n", card->name); @@ -27439,7 +24095,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/idt77252.c= linux-2.6.32.48/drivers/atm/id dev_kfree_skb(sb); break; } -@@ -1096,7 +1096,7 @@ dequeue_rx(struct idt77252_dev *card, st +@@ -1097,7 +1097,7 @@ dequeue_rx(struct idt77252_dev *card, st ATM_SKB(sb)->vcc =3D vcc; __net_timestamp(sb); vcc->push(vcc, sb); @@ -27448,7 +24104,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/idt77252.c= linux-2.6.32.48/drivers/atm/id =20 cell +=3D ATM_CELL_PAYLOAD; } -@@ -1133,13 +1133,13 @@ dequeue_rx(struct idt77252_dev *card, st +@@ -1134,13 +1134,13 @@ dequeue_rx(struct idt77252_dev *card, st "(CDC: %08x)\n", card->name, len, rpp->len, readl(SAR_REG_CDC)); recycle_rx_pool_skb(card, rpp); @@ -27464,7 +24120,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/idt77252.c= linux-2.6.32.48/drivers/atm/id return; } if (skb_queue_len(&rpp->queue) > 1) { -@@ -1150,7 +1150,7 @@ dequeue_rx(struct idt77252_dev *card, st +@@ -1151,7 +1151,7 @@ dequeue_rx(struct idt77252_dev *card, st RXPRINTK("%s: Can't alloc RX skb.\n", card->name); recycle_rx_pool_skb(card, rpp); @@ -27473,7 +24129,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/idt77252.c= linux-2.6.32.48/drivers/atm/id return; } if (!atm_charge(vcc, skb->truesize)) { -@@ -1169,7 +1169,7 @@ dequeue_rx(struct idt77252_dev *card, st +@@ -1170,7 +1170,7 @@ dequeue_rx(struct idt77252_dev *card, st __net_timestamp(skb); =20 vcc->push(vcc, skb); @@ -27482,7 +24138,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/idt77252.c= linux-2.6.32.48/drivers/atm/id =20 return; } -@@ -1191,7 +1191,7 @@ dequeue_rx(struct idt77252_dev *card, st +@@ -1192,7 +1192,7 @@ dequeue_rx(struct idt77252_dev *card, st __net_timestamp(skb); =20 vcc->push(vcc, skb); @@ -27568,10 +24224,10 @@ diff -urNp linux-2.6.32.48/drivers/atm/idt77252= .c linux-2.6.32.48/drivers/atm/id return -ENOMEM; } atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc); -diff -urNp linux-2.6.32.48/drivers/atm/iphase.c linux-2.6.32.48/drivers/= atm/iphase.c ---- linux-2.6.32.48/drivers/atm/iphase.c 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/atm/iphase.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -1123,7 +1123,7 @@ static int rx_pkt(struct atm_dev *dev) =20 +diff -urNp linux-3.0.8/drivers/atm/iphase.c linux-3.0.8/drivers/atm/ipha= se.c +--- linux-3.0.8/drivers/atm/iphase.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/atm/iphase.c 2011-08-23 21:47:55.000000000 -0400 +@@ -1120,7 +1120,7 @@ static int rx_pkt(struct atm_dev *dev) =20 status =3D (u_short) (buf_desc_ptr->desc_mode); =20 if (status & (RX_CER | RX_PTE | RX_OFL)) =20 { =20 @@ -27580,7 +24236,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/iphase.c l= inux-2.6.32.48/drivers/atm/ipha IF_ERR(printk("IA: bad packet, dropping it");) =20 if (status & RX_CER) {=20 IF_ERR(printk(" cause: packet CRC error\n");) -@@ -1146,7 +1146,7 @@ static int rx_pkt(struct atm_dev *dev) =20 +@@ -1143,7 +1143,7 @@ static int rx_pkt(struct atm_dev *dev) =20 len =3D dma_addr - buf_addr; =20 if (len > iadev->rx_buf_sz) { printk("Over %d bytes sdu received, dropped!!!\n", iadev->rx= _buf_sz); @@ -27589,7 +24245,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/iphase.c l= inux-2.6.32.48/drivers/atm/ipha goto out_free_desc; } =20 -@@ -1296,7 +1296,7 @@ static void rx_dle_intr(struct atm_dev * +@@ -1293,7 +1293,7 @@ static void rx_dle_intr(struct atm_dev * ia_vcc =3D INPH_IA_VCC(vcc); if (ia_vcc =3D=3D NULL) { @@ -27598,7 +24254,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/iphase.c l= inux-2.6.32.48/drivers/atm/ipha dev_kfree_skb_any(skb); atm_return(vcc, atm_guess_pdu2truesize(len)); goto INCR_DLE; -@@ -1308,7 +1308,7 @@ static void rx_dle_intr(struct atm_dev * +@@ -1305,7 +1305,7 @@ static void rx_dle_intr(struct atm_dev * if ((length > iadev->rx_buf_sz) || (length >=20 (skb->len - sizeof(struct cpcs_trailer)))= ) { @@ -27607,7 +24263,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/iphase.c l= inux-2.6.32.48/drivers/atm/ipha IF_ERR(printk("rx_dle_intr: Bad AAL5 trailer %d (skb len = %d)",=20 length, skb= ->len);) dev_kfree_skb_any(skb); -@@ -1324,7 +1324,7 @@ static void rx_dle_intr(struct atm_dev * +@@ -1321,7 +1321,7 @@ static void rx_dle_intr(struct atm_dev * =20 IF_RX(printk("rx_dle_intr: skb push");) =20 vcc->push(vcc,skb); =20 @@ -27616,7 +24272,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/iphase.c l= inux-2.6.32.48/drivers/atm/ipha iadev->rx_pkt_cnt++; } =20 INCR_DLE: -@@ -2806,15 +2806,15 @@ static int ia_ioctl(struct atm_dev *dev, +@@ -2801,15 +2801,15 @@ static int ia_ioctl(struct atm_dev *dev, { struct k_sonet_stats *stats; stats =3D &PRIV(_ia_dev[board])->sonet_stats; @@ -27641,7 +24297,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/iphase.c l= inux-2.6.32.48/drivers/atm/ipha } ia_cmds.status =3D 0; break; -@@ -2919,7 +2919,7 @@ static int ia_pkt_tx (struct atm_vcc *vc +@@ -2914,7 +2914,7 @@ static int ia_pkt_tx (struct atm_vcc *vc if ((desc =3D=3D 0) || (desc > iadev->num_tx_desc)) =20 { =20 IF_ERR(printk(DEV_LABEL "invalid desc for send: %d\n", desc);)=20 @@ -27650,7 +24306,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/iphase.c l= inux-2.6.32.48/drivers/atm/ipha if (vcc->pop) =20 vcc->pop(vcc, skb); =20 else =20 -@@ -3024,14 +3024,14 @@ static int ia_pkt_tx (struct atm_vcc *vc +@@ -3019,14 +3019,14 @@ static int ia_pkt_tx (struct atm_vcc *vc ATM_DESC(skb) =3D vcc->vci; skb_queue_tail(&iadev->tx_dma_q, skb); =20 @@ -27667,10 +24323,10 @@ diff -urNp linux-2.6.32.48/drivers/atm/iphase.c= linux-2.6.32.48/drivers/atm/ipha if (iavcc->vc_desc_cnt > 10) { vcc->tx_quota =3D vcc->tx_quota * 3 / 4; printk("Tx1: vcc->tx_quota =3D %d \n", (u32)vcc->tx_quota = ); -diff -urNp linux-2.6.32.48/drivers/atm/lanai.c linux-2.6.32.48/drivers/a= tm/lanai.c ---- linux-2.6.32.48/drivers/atm/lanai.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/atm/lanai.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -1305,7 +1305,7 @@ static void lanai_send_one_aal5(struct l +diff -urNp linux-3.0.8/drivers/atm/lanai.c linux-3.0.8/drivers/atm/lanai= .c +--- linux-3.0.8/drivers/atm/lanai.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/atm/lanai.c 2011-08-23 21:47:55.000000000 -0400 +@@ -1303,7 +1303,7 @@ static void lanai_send_one_aal5(struct l vcc_tx_add_aal5_trailer(lvcc, skb->len, 0, 0); lanai_endtx(lanai, lvcc); lanai_free_skb(lvcc->tx.atmvcc, skb); @@ -27679,7 +24335,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/lanai.c li= nux-2.6.32.48/drivers/atm/lanai } =20 /* Try to fill the buffer - don't call unless there is backlog */ -@@ -1428,7 +1428,7 @@ static void vcc_rx_aal5(struct lanai_vcc +@@ -1426,7 +1426,7 @@ static void vcc_rx_aal5(struct lanai_vcc ATM_SKB(skb)->vcc =3D lvcc->rx.atmvcc; __net_timestamp(skb); lvcc->rx.atmvcc->push(lvcc->rx.atmvcc, skb); @@ -27688,7 +24344,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/lanai.c li= nux-2.6.32.48/drivers/atm/lanai out: lvcc->rx.buf.ptr =3D end; cardvcc_write(lvcc, endptr, vcc_rxreadptr); -@@ -1670,7 +1670,7 @@ static int handle_service(struct lanai_d +@@ -1668,7 +1668,7 @@ static int handle_service(struct lanai_d DPRINTK("(itf %d) got RX service entry 0x%X for non-AAL5 " "vcc %d\n", lanai->number, (unsigned int) s, vci); lanai->stats.service_rxnotaal5++; @@ -27697,7 +24353,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/lanai.c li= nux-2.6.32.48/drivers/atm/lanai return 0; } if (likely(!(s & (SERVICE_TRASH | SERVICE_STREAM | SERVICE_CRCERR)))) = { -@@ -1682,7 +1682,7 @@ static int handle_service(struct lanai_d +@@ -1680,7 +1680,7 @@ static int handle_service(struct lanai_d int bytes; read_unlock(&vcc_sklist_lock); DPRINTK("got trashed rx pdu on vci %d\n", vci); @@ -27706,7 +24362,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/lanai.c li= nux-2.6.32.48/drivers/atm/lanai lvcc->stats.x.aal5.service_trash++; bytes =3D (SERVICE_GET_END(s) * 16) - (((unsigned long) lvcc->rx.buf.ptr) - -@@ -1694,7 +1694,7 @@ static int handle_service(struct lanai_d +@@ -1692,7 +1692,7 @@ static int handle_service(struct lanai_d } if (s & SERVICE_STREAM) { read_unlock(&vcc_sklist_lock); @@ -27715,7 +24371,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/lanai.c li= nux-2.6.32.48/drivers/atm/lanai lvcc->stats.x.aal5.service_stream++; printk(KERN_ERR DEV_LABEL "(itf %d): Got AAL5 stream " "PDU on VCI %d!\n", lanai->number, vci); -@@ -1702,7 +1702,7 @@ static int handle_service(struct lanai_d +@@ -1700,7 +1700,7 @@ static int handle_service(struct lanai_d return 0; } DPRINTK("got rx crc error on vci %d\n", vci); @@ -27724,215 +24380,214 @@ diff -urNp linux-2.6.32.48/drivers/atm/lanai.= c linux-2.6.32.48/drivers/atm/lanai lvcc->stats.x.aal5.service_rxcrc++; lvcc->rx.buf.ptr =3D &lvcc->rx.buf.start[SERVICE_GET_END(s) * 4]; cardvcc_write(lvcc, SERVICE_GET_END(s), vcc_rxreadptr); -diff -urNp linux-2.6.32.48/drivers/atm/nicstar.c linux-2.6.32.48/drivers= /atm/nicstar.c ---- linux-2.6.32.48/drivers/atm/nicstar.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/atm/nicstar.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -1723,7 +1723,7 @@ static int ns_send(struct atm_vcc *vcc,=20 - if ((vc =3D (vc_map *) vcc->dev_data) =3D=3D NULL) - { - printk("nicstar%d: vcc->dev_data =3D=3D NULL on ns_send().\n", ca= rd->index); -- atomic_inc(&vcc->stats->tx_err); -+ atomic_inc_unchecked(&vcc->stats->tx_err); - dev_kfree_skb_any(skb); - return -EINVAL; - } -@@ -1731,7 +1731,7 @@ static int ns_send(struct atm_vcc *vcc,=20 - if (!vc->tx) - { - printk("nicstar%d: Trying to transmit on a non-tx VC.\n", card->i= ndex); -- atomic_inc(&vcc->stats->tx_err); -+ atomic_inc_unchecked(&vcc->stats->tx_err); - dev_kfree_skb_any(skb); - return -EINVAL; - } -@@ -1739,7 +1739,7 @@ static int ns_send(struct atm_vcc *vcc,=20 - if (vcc->qos.aal !=3D ATM_AAL5 && vcc->qos.aal !=3D ATM_AAL0) - { - printk("nicstar%d: Only AAL0 and AAL5 are supported.\n", card->in= dex); -- atomic_inc(&vcc->stats->tx_err); -+ atomic_inc_unchecked(&vcc->stats->tx_err); - dev_kfree_skb_any(skb); - return -EINVAL; - } -@@ -1747,7 +1747,7 @@ static int ns_send(struct atm_vcc *vcc,=20 - if (skb_shinfo(skb)->nr_frags !=3D 0) - { - printk("nicstar%d: No scatter-gather yet.\n", card->index); -- atomic_inc(&vcc->stats->tx_err); -+ atomic_inc_unchecked(&vcc->stats->tx_err); - dev_kfree_skb_any(skb); - return -EINVAL; - } -@@ -1792,11 +1792,11 @@ static int ns_send(struct atm_vcc *vcc,=20 -=20 - if (push_scqe(card, vc, scq, &scqe, skb) !=3D 0) - { -- atomic_inc(&vcc->stats->tx_err); -+ atomic_inc_unchecked(&vcc->stats->tx_err); - dev_kfree_skb_any(skb); - return -EIO; - } -- atomic_inc(&vcc->stats->tx); -+ atomic_inc_unchecked(&vcc->stats->tx); -=20 - return 0; - } -@@ -2111,14 +2111,14 @@ static void dequeue_rx(ns_dev *card, ns_ - { - printk("nicstar%d: Can't allocate buffers for aal0.\n", - card->index); -- atomic_add(i,&vcc->stats->rx_drop); -+ atomic_add_unchecked(i,&vcc->stats->rx_drop); - break; - } - if (!atm_charge(vcc, sb->truesize)) - { - RXPRINTK("nicstar%d: atm_charge() dropped aal0 packets.\n", - card->index); -- atomic_add(i-1,&vcc->stats->rx_drop); /* already increased = by 1 */ -+ atomic_add_unchecked(i-1,&vcc->stats->rx_drop); /* already = increased by 1 */ - dev_kfree_skb_any(sb); - break; - } -@@ -2133,7 +2133,7 @@ static void dequeue_rx(ns_dev *card, ns_ - ATM_SKB(sb)->vcc =3D vcc; - __net_timestamp(sb); - vcc->push(vcc, sb); -- atomic_inc(&vcc->stats->rx); -+ atomic_inc_unchecked(&vcc->stats->rx); - cell +=3D ATM_CELL_PAYLOAD; - } +diff -urNp linux-3.0.8/drivers/atm/nicstar.c linux-3.0.8/drivers/atm/nic= star.c +--- linux-3.0.8/drivers/atm/nicstar.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/atm/nicstar.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -1654,7 +1654,7 @@ static int ns_send(struct atm_vcc *vcc,=20 + if ((vc =3D (vc_map *) vcc->dev_data) =3D=3D NULL) { + printk("nicstar%d: vcc->dev_data =3D=3D NULL on ns_send().\n", + card->index); +- atomic_inc(&vcc->stats->tx_err); ++ atomic_inc_unchecked(&vcc->stats->tx_err); + dev_kfree_skb_any(skb); + return -EINVAL; + } +@@ -1662,7 +1662,7 @@ static int ns_send(struct atm_vcc *vcc,=20 + if (!vc->tx) { + printk("nicstar%d: Trying to transmit on a non-tx VC.\n", + card->index); +- atomic_inc(&vcc->stats->tx_err); ++ atomic_inc_unchecked(&vcc->stats->tx_err); + dev_kfree_skb_any(skb); + return -EINVAL; + } +@@ -1670,14 +1670,14 @@ static int ns_send(struct atm_vcc *vcc,=20 + if (vcc->qos.aal !=3D ATM_AAL5 && vcc->qos.aal !=3D ATM_AAL0) { + printk("nicstar%d: Only AAL0 and AAL5 are supported.\n", + card->index); +- atomic_inc(&vcc->stats->tx_err); ++ atomic_inc_unchecked(&vcc->stats->tx_err); + dev_kfree_skb_any(skb); + return -EINVAL; + } =20 -@@ -2152,7 +2152,7 @@ static void dequeue_rx(ns_dev *card, ns_ - if (iovb =3D=3D NULL) - { - printk("nicstar%d: Out of iovec buffers.\n", card->index); -- atomic_inc(&vcc->stats->rx_drop); -+ atomic_inc_unchecked(&vcc->stats->rx_drop); - recycle_rx_buf(card, skb); - return; - } -@@ -2182,7 +2182,7 @@ static void dequeue_rx(ns_dev *card, ns_ - else if (NS_SKB(iovb)->iovcnt >=3D NS_MAX_IOVECS) - { - printk("nicstar%d: received too big AAL5 SDU.\n", card->index); -- atomic_inc(&vcc->stats->rx_err); -+ atomic_inc_unchecked(&vcc->stats->rx_err); - recycle_iovec_rx_bufs(card, (struct iovec *) iovb->data, NS_MAX_I= OVECS); - NS_SKB(iovb)->iovcnt =3D 0; - iovb->len =3D 0; -@@ -2202,7 +2202,7 @@ static void dequeue_rx(ns_dev *card, ns_ - printk("nicstar%d: Expected a small buffer, and this is not on= e.\n", - card->index); - which_list(card, skb); -- atomic_inc(&vcc->stats->rx_err); -+ atomic_inc_unchecked(&vcc->stats->rx_err); - recycle_rx_buf(card, skb); - vc->rx_iov =3D NULL; - recycle_iov_buf(card, iovb); -@@ -2216,7 +2216,7 @@ static void dequeue_rx(ns_dev *card, ns_ - printk("nicstar%d: Expected a large buffer, and this is not on= e.\n", - card->index); - which_list(card, skb); -- atomic_inc(&vcc->stats->rx_err); -+ atomic_inc_unchecked(&vcc->stats->rx_err); - recycle_iovec_rx_bufs(card, (struct iovec *) iovb->data, - NS_SKB(iovb)->iovcnt); - vc->rx_iov =3D NULL; -@@ -2240,7 +2240,7 @@ static void dequeue_rx(ns_dev *card, ns_ - printk(" - PDU size mismatch.\n"); - else - printk(".\n"); -- atomic_inc(&vcc->stats->rx_err); -+ atomic_inc_unchecked(&vcc->stats->rx_err); - recycle_iovec_rx_bufs(card, (struct iovec *) iovb->data, - NS_SKB(iovb)->iovcnt); - vc->rx_iov =3D NULL; -@@ -2256,7 +2256,7 @@ static void dequeue_rx(ns_dev *card, ns_ - if (!atm_charge(vcc, skb->truesize)) - { - push_rxbufs(card, skb); -- atomic_inc(&vcc->stats->rx_drop); -+ atomic_inc_unchecked(&vcc->stats->rx_drop); - } - else - { -@@ -2268,7 +2268,7 @@ static void dequeue_rx(ns_dev *card, ns_ - ATM_SKB(skb)->vcc =3D vcc; - __net_timestamp(skb); - vcc->push(vcc, skb); -- atomic_inc(&vcc->stats->rx); -+ atomic_inc_unchecked(&vcc->stats->rx); - } - } - else if (NS_SKB(iovb)->iovcnt =3D=3D 2) /* One small plus one lar= ge buffer */ -@@ -2283,7 +2283,7 @@ static void dequeue_rx(ns_dev *card, ns_ - if (!atm_charge(vcc, sb->truesize)) - { - push_rxbufs(card, sb); -- atomic_inc(&vcc->stats->rx_drop); -+ atomic_inc_unchecked(&vcc->stats->rx_drop); - } - else - { -@@ -2295,7 +2295,7 @@ static void dequeue_rx(ns_dev *card, ns_ - ATM_SKB(sb)->vcc =3D vcc; - __net_timestamp(sb); - vcc->push(vcc, sb); -- atomic_inc(&vcc->stats->rx); -+ atomic_inc_unchecked(&vcc->stats->rx); - } -=20 - push_rxbufs(card, skb); -@@ -2306,7 +2306,7 @@ static void dequeue_rx(ns_dev *card, ns_ - if (!atm_charge(vcc, skb->truesize)) - { - push_rxbufs(card, skb); -- atomic_inc(&vcc->stats->rx_drop); -+ atomic_inc_unchecked(&vcc->stats->rx_drop); - } - else - { -@@ -2320,7 +2320,7 @@ static void dequeue_rx(ns_dev *card, ns_ - ATM_SKB(skb)->vcc =3D vcc; - __net_timestamp(skb); - vcc->push(vcc, skb); -- atomic_inc(&vcc->stats->rx); -+ atomic_inc_unchecked(&vcc->stats->rx); - } -=20 - push_rxbufs(card, sb); -@@ -2342,7 +2342,7 @@ static void dequeue_rx(ns_dev *card, ns_ - if (hb =3D=3D NULL) - { - printk("nicstar%d: Out of huge buffers.\n", card->index)= ; -- atomic_inc(&vcc->stats->rx_drop); -+ atomic_inc_unchecked(&vcc->stats->rx_drop); - recycle_iovec_rx_bufs(card, (struct iovec *) iovb->data, - NS_SKB(iovb)->iovcnt); - vc->rx_iov =3D NULL; -@@ -2393,7 +2393,7 @@ static void dequeue_rx(ns_dev *card, ns_ - } - else - dev_kfree_skb_any(hb); -- atomic_inc(&vcc->stats->rx_drop); -+ atomic_inc_unchecked(&vcc->stats->rx_drop); - } - else - { -@@ -2427,7 +2427,7 @@ static void dequeue_rx(ns_dev *card, ns_ + if (skb_shinfo(skb)->nr_frags !=3D 0) { + printk("nicstar%d: No scatter-gather yet.\n", card->index); +- atomic_inc(&vcc->stats->tx_err); ++ atomic_inc_unchecked(&vcc->stats->tx_err); + dev_kfree_skb_any(skb); + return -EINVAL; + } +@@ -1725,11 +1725,11 @@ static int ns_send(struct atm_vcc *vcc,=20 + } +=20 + if (push_scqe(card, vc, scq, &scqe, skb) !=3D 0) { +- atomic_inc(&vcc->stats->tx_err); ++ atomic_inc_unchecked(&vcc->stats->tx_err); + dev_kfree_skb_any(skb); + return -EIO; + } +- atomic_inc(&vcc->stats->tx); ++ atomic_inc_unchecked(&vcc->stats->tx); +=20 + return 0; + } +@@ -2046,14 +2046,14 @@ static void dequeue_rx(ns_dev * card, ns + printk + ("nicstar%d: Can't allocate buffers for aal0.\n", + card->index); +- atomic_add(i, &vcc->stats->rx_drop); ++ atomic_add_unchecked(i, &vcc->stats->rx_drop); + break; + } + if (!atm_charge(vcc, sb->truesize)) { + RXPRINTK + ("nicstar%d: atm_charge() dropped aal0 packets.\n", + card->index); +- atomic_add(i - 1, &vcc->stats->rx_drop); /* already increased by 1 = */ ++ atomic_add_unchecked(i - 1, &vcc->stats->rx_drop); /* already incre= ased by 1 */ + dev_kfree_skb_any(sb); + break; + } +@@ -2068,7 +2068,7 @@ static void dequeue_rx(ns_dev * card, ns + ATM_SKB(sb)->vcc =3D vcc; + __net_timestamp(sb); + vcc->push(vcc, sb); +- atomic_inc(&vcc->stats->rx); ++ atomic_inc_unchecked(&vcc->stats->rx); + cell +=3D ATM_CELL_PAYLOAD; + } +=20 +@@ -2085,7 +2085,7 @@ static void dequeue_rx(ns_dev * card, ns + if (iovb =3D=3D NULL) { + printk("nicstar%d: Out of iovec buffers.\n", + card->index); +- atomic_inc(&vcc->stats->rx_drop); ++ atomic_inc_unchecked(&vcc->stats->rx_drop); + recycle_rx_buf(card, skb); + return; + } +@@ -2109,7 +2109,7 @@ static void dequeue_rx(ns_dev * card, ns + small or large buffer itself. */ + } else if (NS_PRV_IOVCNT(iovb) >=3D NS_MAX_IOVECS) { + printk("nicstar%d: received too big AAL5 SDU.\n", card->index); +- atomic_inc(&vcc->stats->rx_err); ++ atomic_inc_unchecked(&vcc->stats->rx_err); + recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, + NS_MAX_IOVECS); + NS_PRV_IOVCNT(iovb) =3D 0; +@@ -2129,7 +2129,7 @@ static void dequeue_rx(ns_dev * card, ns + ("nicstar%d: Expected a small buffer, and this is not one.\n", + card->index); + which_list(card, skb); +- atomic_inc(&vcc->stats->rx_err); ++ atomic_inc_unchecked(&vcc->stats->rx_err); + recycle_rx_buf(card, skb); + vc->rx_iov =3D NULL; + recycle_iov_buf(card, iovb); +@@ -2142,7 +2142,7 @@ static void dequeue_rx(ns_dev * card, ns + ("nicstar%d: Expected a large buffer, and this is not one.\n", + card->index); + which_list(card, skb); +- atomic_inc(&vcc->stats->rx_err); ++ atomic_inc_unchecked(&vcc->stats->rx_err); + recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, + NS_PRV_IOVCNT(iovb)); + vc->rx_iov =3D NULL; +@@ -2165,7 +2165,7 @@ static void dequeue_rx(ns_dev * card, ns + printk(" - PDU size mismatch.\n"); + else + printk(".\n"); +- atomic_inc(&vcc->stats->rx_err); ++ atomic_inc_unchecked(&vcc->stats->rx_err); + recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, + NS_PRV_IOVCNT(iovb)); + vc->rx_iov =3D NULL; +@@ -2179,7 +2179,7 @@ static void dequeue_rx(ns_dev * card, ns + /* skb points to a small buffer */ + if (!atm_charge(vcc, skb->truesize)) { + push_rxbufs(card, skb); +- atomic_inc(&vcc->stats->rx_drop); ++ atomic_inc_unchecked(&vcc->stats->rx_drop); + } else { + skb_put(skb, len); + dequeue_sm_buf(card, skb); +@@ -2189,7 +2189,7 @@ static void dequeue_rx(ns_dev * card, ns + ATM_SKB(skb)->vcc =3D vcc; + __net_timestamp(skb); + vcc->push(vcc, skb); +- atomic_inc(&vcc->stats->rx); ++ atomic_inc_unchecked(&vcc->stats->rx); + } + } else if (NS_PRV_IOVCNT(iovb) =3D=3D 2) { /* One small plus one larg= e buffer */ + struct sk_buff *sb; +@@ -2200,7 +2200,7 @@ static void dequeue_rx(ns_dev * card, ns + if (len <=3D NS_SMBUFSIZE) { + if (!atm_charge(vcc, sb->truesize)) { + push_rxbufs(card, sb); +- atomic_inc(&vcc->stats->rx_drop); ++ atomic_inc_unchecked(&vcc->stats->rx_drop); + } else { + skb_put(sb, len); + dequeue_sm_buf(card, sb); +@@ -2210,7 +2210,7 @@ static void dequeue_rx(ns_dev * card, ns + ATM_SKB(sb)->vcc =3D vcc; + __net_timestamp(sb); + vcc->push(vcc, sb); +- atomic_inc(&vcc->stats->rx); ++ atomic_inc_unchecked(&vcc->stats->rx); + } +=20 + push_rxbufs(card, skb); +@@ -2219,7 +2219,7 @@ static void dequeue_rx(ns_dev * card, ns +=20 + if (!atm_charge(vcc, skb->truesize)) { + push_rxbufs(card, skb); +- atomic_inc(&vcc->stats->rx_drop); ++ atomic_inc_unchecked(&vcc->stats->rx_drop); + } else { + dequeue_lg_buf(card, skb); + #ifdef NS_USE_DESTRUCTORS +@@ -2232,7 +2232,7 @@ static void dequeue_rx(ns_dev * card, ns + ATM_SKB(skb)->vcc =3D vcc; + __net_timestamp(skb); + vcc->push(vcc, skb); +- atomic_inc(&vcc->stats->rx); ++ atomic_inc_unchecked(&vcc->stats->rx); + } +=20 + push_rxbufs(card, sb); +@@ -2253,7 +2253,7 @@ static void dequeue_rx(ns_dev * card, ns + printk + ("nicstar%d: Out of huge buffers.\n", + card->index); +- atomic_inc(&vcc->stats->rx_drop); ++ atomic_inc_unchecked(&vcc->stats->rx_drop); + recycle_iovec_rx_bufs(card, + (struct iovec *) + iovb->data, +@@ -2304,7 +2304,7 @@ static void dequeue_rx(ns_dev * card, ns + card->hbpool.count++; + } else + dev_kfree_skb_any(hb); +- atomic_inc(&vcc->stats->rx_drop); ++ atomic_inc_unchecked(&vcc->stats->rx_drop); + } else { + /* Copy the small buffer to the huge buffer */ + sb =3D (struct sk_buff *)iov->iov_base; +@@ -2341,7 +2341,7 @@ static void dequeue_rx(ns_dev * card, ns #endif /* NS_USE_DESTRUCTORS */ - __net_timestamp(hb); - vcc->push(vcc, hb); -- atomic_inc(&vcc->stats->rx); -+ atomic_inc_unchecked(&vcc->stats->rx); - } - } + __net_timestamp(hb); + vcc->push(vcc, hb); +- atomic_inc(&vcc->stats->rx); ++ atomic_inc_unchecked(&vcc->stats->rx); + } + } =20 -diff -urNp linux-2.6.32.48/drivers/atm/solos-pci.c linux-2.6.32.48/drive= rs/atm/solos-pci.c ---- linux-2.6.32.48/drivers/atm/solos-pci.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/atm/solos-pci.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -708,7 +708,7 @@ void solos_bh(unsigned long card_arg) +diff -urNp linux-3.0.8/drivers/atm/solos-pci.c linux-3.0.8/drivers/atm/s= olos-pci.c +--- linux-3.0.8/drivers/atm/solos-pci.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/atm/solos-pci.c 2011-08-23 21:48:14.000000000 -0= 400 +@@ -714,7 +714,7 @@ void solos_bh(unsigned long card_arg) } atm_charge(vcc, skb->truesize); vcc->push(vcc, skb); @@ -27941,7 +24596,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/solos-pci.= c linux-2.6.32.48/drivers/atm/s break; =20 case PKT_STATUS: -@@ -914,6 +914,8 @@ static int print_buffer(struct sk_buff * +@@ -899,6 +899,8 @@ static int print_buffer(struct sk_buff * char msg[500]; char item[10]; =20 @@ -27950,7 +24605,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/solos-pci.= c linux-2.6.32.48/drivers/atm/s len =3D buf->len; for (i =3D 0; i < len; i++){ if(i % 8 =3D=3D 0) -@@ -1023,7 +1025,7 @@ static uint32_t fpga_tx(struct solos_car +@@ -1008,7 +1010,7 @@ static uint32_t fpga_tx(struct solos_car vcc =3D SKB_CB(oldskb)->vcc; =20 if (vcc) { @@ -27959,10 +24614,10 @@ diff -urNp linux-2.6.32.48/drivers/atm/solos-pc= i.c linux-2.6.32.48/drivers/atm/s solos_pop(vcc, oldskb); } else dev_kfree_skb_irq(oldskb); -diff -urNp linux-2.6.32.48/drivers/atm/suni.c linux-2.6.32.48/drivers/at= m/suni.c ---- linux-2.6.32.48/drivers/atm/suni.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/atm/suni.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -49,8 +49,8 @@ static DEFINE_SPINLOCK(sunis_lock); +diff -urNp linux-3.0.8/drivers/atm/suni.c linux-3.0.8/drivers/atm/suni.c +--- linux-3.0.8/drivers/atm/suni.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/atm/suni.c 2011-08-23 21:47:55.000000000 -0400 +@@ -50,8 +50,8 @@ static DEFINE_SPINLOCK(sunis_lock); =20 =20 #define ADD_LIMITED(s,v) \ @@ -27973,10 +24628,10 @@ diff -urNp linux-2.6.32.48/drivers/atm/suni.c l= inux-2.6.32.48/drivers/atm/suni.c =20 =20 static void suni_hz(unsigned long from_timer) -diff -urNp linux-2.6.32.48/drivers/atm/uPD98402.c linux-2.6.32.48/driver= s/atm/uPD98402.c ---- linux-2.6.32.48/drivers/atm/uPD98402.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/atm/uPD98402.c 2011-11-12 12:46:42.000000000= -0500 -@@ -41,7 +41,7 @@ static int fetch_stats(struct atm_dev *d +diff -urNp linux-3.0.8/drivers/atm/uPD98402.c linux-3.0.8/drivers/atm/uP= D98402.c +--- linux-3.0.8/drivers/atm/uPD98402.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/atm/uPD98402.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -42,7 +42,7 @@ static int fetch_stats(struct atm_dev *d struct sonet_stats tmp; int error =3D 0; =20 @@ -27985,7 +24640,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/uPD98402.c= linux-2.6.32.48/drivers/atm/uP sonet_copy_stats(&PRIV(dev)->sonet_stats,&tmp); if (arg) error =3D copy_to_user(arg,&tmp,sizeof(tmp)); if (zero && !error) { -@@ -160,9 +160,9 @@ static int uPD98402_ioctl(struct atm_dev +@@ -161,9 +161,9 @@ static int uPD98402_ioctl(struct atm_dev =20 =20 #define ADD_LIMITED(s,v) \ @@ -27998,7 +24653,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/uPD98402.c= linux-2.6.32.48/drivers/atm/uP =20 =20 static void stat_event(struct atm_dev *dev) -@@ -193,7 +193,7 @@ static void uPD98402_int(struct atm_dev=20 +@@ -194,7 +194,7 @@ static void uPD98402_int(struct atm_dev=20 if (reason & uPD98402_INT_PFM) stat_event(dev); if (reason & uPD98402_INT_PCO) { (void) GET(PCOCR); /* clear interrupt cause */ @@ -28007,7 +24662,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/uPD98402.c= linux-2.6.32.48/drivers/atm/uP &PRIV(dev)->sonet_stats.uncorr_hcs); } if ((reason & uPD98402_INT_RFO) &&=20 -@@ -221,9 +221,9 @@ static int uPD98402_start(struct atm_dev +@@ -222,9 +222,9 @@ static int uPD98402_start(struct atm_dev PUT(~(uPD98402_INT_PFM | uPD98402_INT_ALM | uPD98402_INT_RFO | uPD98402_INT_LOS),PIMR); /* enable them */ (void) fetch_stats(dev,NULL,1); /* clear kernel counters */ @@ -28020,10 +24675,10 @@ diff -urNp linux-2.6.32.48/drivers/atm/uPD98402= .c linux-2.6.32.48/drivers/atm/uP return 0; } =20 -diff -urNp linux-2.6.32.48/drivers/atm/zatm.c linux-2.6.32.48/drivers/at= m/zatm.c ---- linux-2.6.32.48/drivers/atm/zatm.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/atm/zatm.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -458,7 +458,7 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy +diff -urNp linux-3.0.8/drivers/atm/zatm.c linux-3.0.8/drivers/atm/zatm.c +--- linux-3.0.8/drivers/atm/zatm.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/atm/zatm.c 2011-08-23 21:47:55.000000000 -0400 +@@ -459,7 +459,7 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy } if (!size) { dev_kfree_skb_irq(skb); @@ -28032,7 +24687,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/zatm.c lin= ux-2.6.32.48/drivers/atm/zatm.c continue; } if (!atm_charge(vcc,skb->truesize)) { -@@ -468,7 +468,7 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy +@@ -469,7 +469,7 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy skb->len =3D size; ATM_SKB(skb)->vcc =3D vcc; vcc->push(vcc,skb); @@ -28041,7 +24696,7 @@ diff -urNp linux-2.6.32.48/drivers/atm/zatm.c lin= ux-2.6.32.48/drivers/atm/zatm.c } zout(pos & 0xffff,MTA(mbx)); #if 0 /* probably a stupid idea */ -@@ -732,7 +732,7 @@ if (*ZATM_PRV_DSC(skb) !=3D (uPD98401_TXPD +@@ -733,7 +733,7 @@ if (*ZATM_PRV_DSC(skb) !=3D (uPD98401_TXPD skb_queue_head(&zatm_vcc->backlog,skb); break; } @@ -28050,106 +24705,60 @@ diff -urNp linux-2.6.32.48/drivers/atm/zatm.c = linux-2.6.32.48/drivers/atm/zatm.c wake_up(&zatm_vcc->tx_wait); } =20 -diff -urNp linux-2.6.32.48/drivers/base/bus.c linux-2.6.32.48/drivers/ba= se/bus.c ---- linux-2.6.32.48/drivers/base/bus.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/base/bus.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -70,7 +70,7 @@ static ssize_t drv_attr_store(struct kob - return ret; - } -=20 --static struct sysfs_ops driver_sysfs_ops =3D { -+static const struct sysfs_ops driver_sysfs_ops =3D { - .show =3D drv_attr_show, - .store =3D drv_attr_store, - }; -@@ -115,7 +115,7 @@ static ssize_t bus_attr_store(struct kob - return ret; - } -=20 --static struct sysfs_ops bus_sysfs_ops =3D { -+static const struct sysfs_ops bus_sysfs_ops =3D { - .show =3D bus_attr_show, - .store =3D bus_attr_store, - }; -@@ -154,7 +154,7 @@ static int bus_uevent_filter(struct kset - return 0; - } -=20 --static struct kset_uevent_ops bus_uevent_ops =3D { -+static const struct kset_uevent_ops bus_uevent_ops =3D { - .filter =3D bus_uevent_filter, - }; +diff -urNp linux-3.0.8/drivers/base/devtmpfs.c linux-3.0.8/drivers/base/= devtmpfs.c +--- linux-3.0.8/drivers/base/devtmpfs.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/base/devtmpfs.c 2011-10-06 04:17:55.000000000 -0= 400 +@@ -357,7 +357,7 @@ int devtmpfs_mount(const char *mntdir) + if (!dev_mnt) + return 0; =20 -diff -urNp linux-2.6.32.48/drivers/base/class.c linux-2.6.32.48/drivers/= base/class.c ---- linux-2.6.32.48/drivers/base/class.c 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/base/class.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -63,7 +63,7 @@ static void class_release(struct kobject - kfree(cp); - } +- err =3D sys_mount("devtmpfs", (char *)mntdir, "devtmpfs", MS_SILENT, N= ULL); ++ err =3D sys_mount((char __force_user *)"devtmpfs", (char __force_user = *)mntdir, (char __force_user *)"devtmpfs", MS_SILENT, NULL); + if (err) + printk(KERN_INFO "devtmpfs: error mounting %i\n", err); + else +diff -urNp linux-3.0.8/drivers/base/power/wakeup.c linux-3.0.8/drivers/b= ase/power/wakeup.c +--- linux-3.0.8/drivers/base/power/wakeup.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/base/power/wakeup.c 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -29,14 +29,14 @@ bool events_check_enabled; + * They need to be modified together atomically, so it's better to use = one + * atomic variable to hold them both. + */ +-static atomic_t combined_event_count =3D ATOMIC_INIT(0); ++static atomic_unchecked_t combined_event_count =3D ATOMIC_INIT(0); =20 --static struct sysfs_ops class_sysfs_ops =3D { -+static const struct sysfs_ops class_sysfs_ops =3D { - .show =3D class_attr_show, - .store =3D class_attr_store, - }; -diff -urNp linux-2.6.32.48/drivers/base/core.c linux-2.6.32.48/drivers/b= ase/core.c ---- linux-2.6.32.48/drivers/base/core.c 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/base/core.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -100,7 +100,7 @@ static ssize_t dev_attr_store(struct kob - return ret; - } + #define IN_PROGRESS_BITS (sizeof(int) * 4) + #define MAX_IN_PROGRESS ((1 << IN_PROGRESS_BITS) - 1) =20 --static struct sysfs_ops dev_sysfs_ops =3D { -+static const struct sysfs_ops dev_sysfs_ops =3D { - .show =3D dev_attr_show, - .store =3D dev_attr_store, - }; -@@ -252,7 +252,7 @@ static int dev_uevent(struct kset *kset, - return retval; - } + static void split_counters(unsigned int *cnt, unsigned int *inpr) + { +- unsigned int comb =3D atomic_read(&combined_event_count); ++ unsigned int comb =3D atomic_read_unchecked(&combined_event_count); =20 --static struct kset_uevent_ops device_uevent_ops =3D { -+static const struct kset_uevent_ops device_uevent_ops =3D { - .filter =3D dev_uevent_filter, - .name =3D dev_uevent_name, - .uevent =3D dev_uevent, -diff -urNp linux-2.6.32.48/drivers/base/memory.c linux-2.6.32.48/drivers= /base/memory.c ---- linux-2.6.32.48/drivers/base/memory.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/base/memory.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -44,7 +44,7 @@ static int memory_uevent(struct kset *ks - return retval; - } + *cnt =3D (comb >> IN_PROGRESS_BITS); + *inpr =3D comb & MAX_IN_PROGRESS; +@@ -350,7 +350,7 @@ static void wakeup_source_activate(struc + ws->last_time =3D ktime_get(); =20 --static struct kset_uevent_ops memory_uevent_ops =3D { -+static const struct kset_uevent_ops memory_uevent_ops =3D { - .name =3D memory_uevent_name, - .uevent =3D memory_uevent, - }; -diff -urNp linux-2.6.32.48/drivers/base/sys.c linux-2.6.32.48/drivers/ba= se/sys.c ---- linux-2.6.32.48/drivers/base/sys.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/base/sys.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -54,7 +54,7 @@ sysdev_store(struct kobject *kobj, struc - return -EIO; + /* Increment the counter of events in progress. */ +- atomic_inc(&combined_event_count); ++ atomic_inc_unchecked(&combined_event_count); } =20 --static struct sysfs_ops sysfs_ops =3D { -+static const struct sysfs_ops sysfs_ops =3D { - .show =3D sysdev_show, - .store =3D sysdev_store, - }; -@@ -104,7 +104,7 @@ static ssize_t sysdev_class_store(struct - return -EIO; + /** +@@ -440,7 +440,7 @@ static void wakeup_source_deactivate(str + * Increment the counter of registered wakeup events and decrement the + * couter of wakeup events in progress simultaneously. + */ +- atomic_add(MAX_IN_PROGRESS, &combined_event_count); ++ atomic_add_unchecked(MAX_IN_PROGRESS, &combined_event_count); } =20 --static struct sysfs_ops sysfs_class_ops =3D { -+static const struct sysfs_ops sysfs_class_ops =3D { - .show =3D sysdev_class_show, - .store =3D sysdev_class_store, - }; -diff -urNp linux-2.6.32.48/drivers/block/cciss.c linux-2.6.32.48/drivers= /block/cciss.c ---- linux-2.6.32.48/drivers/block/cciss.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/block/cciss.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -1011,6 +1011,8 @@ static int cciss_ioctl32_passthru(struct + /** +diff -urNp linux-3.0.8/drivers/block/cciss.c linux-3.0.8/drivers/block/c= ciss.c +--- linux-3.0.8/drivers/block/cciss.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/block/cciss.c 2011-08-23 21:48:14.000000000 -040= 0 +@@ -1179,6 +1179,8 @@ static int cciss_ioctl32_passthru(struct int err; u32 cp; =20 @@ -28158,51 +24767,17 @@ diff -urNp linux-2.6.32.48/drivers/block/cciss.= c linux-2.6.32.48/drivers/block/c err =3D 0; err |=3D copy_from_user(&arg64.LUN_info, &arg32->LUN_info, -@@ -2852,7 +2854,7 @@ static unsigned long pollcomplete(int ct - /* Wait (up to 20 seconds) for a command to complete */ -=20 - for (i =3D 20 * HZ; i > 0; i--) { -- done =3D hba[ctlr]->access.command_completed(hba[ctlr]); -+ done =3D hba[ctlr]->access->command_completed(hba[ctlr]); - if (done =3D=3D FIFO_EMPTY) - schedule_timeout_uninterruptible(1); - else -@@ -2876,7 +2878,7 @@ static int sendcmd_core(ctlr_info_t *h,=20 - resend_cmd1: -=20 - /* Disable interrupt on the board. */ -- h->access.set_intr_mask(h, CCISS_INTR_OFF); -+ h->access->set_intr_mask(h, CCISS_INTR_OFF); -=20 - /* Make sure there is room in the command FIFO */ - /* Actually it should be completely empty at this time */ -@@ -2884,13 +2886,13 @@ resend_cmd1: - /* tape side of the driver. */ - for (i =3D 200000; i > 0; i--) { - /* if fifo isn't full go */ -- if (!(h->access.fifo_full(h))) -+ if (!(h->access->fifo_full(h))) - break; - udelay(10); - printk(KERN_WARNING "cciss cciss%d: SendCmd FIFO full," - " waiting!\n", h->ctlr); - } -- h->access.submit_command(h, c); /* Send the cmd */ -+ h->access->submit_command(h, c); /* Send the cmd */ - do { - complete =3D pollcomplete(h->ctlr); -=20 -@@ -3023,7 +3025,7 @@ static void start_io(ctlr_info_t *h) - while (!hlist_empty(&h->reqQ)) { - c =3D hlist_entry(h->reqQ.first, CommandList_struct, list); - /* can't do anything if fifo is full */ -- if ((h->access.fifo_full(h))) { -+ if ((h->access->fifo_full(h))) { - printk(KERN_WARNING "cciss: fifo full\n"); - break; - } -@@ -3033,7 +3035,7 @@ static void start_io(ctlr_info_t *h) - h->Qdepth--; +@@ -2986,7 +2988,7 @@ static void start_io(ctlr_info_t *h) + while (!list_empty(&h->reqQ)) { + c =3D list_entry(h->reqQ.next, CommandList_struct, list); + /* can't do anything if fifo is full */ +- if ((h->access.fifo_full(h))) { ++ if ((h->access->fifo_full(h))) { + dev_warn(&h->pdev->dev, "fifo full\n"); + break; + } +@@ -2996,7 +2998,7 @@ static void start_io(ctlr_info_t *h) + h->Qdepth--; =20 /* Tell the controller execute command */ - h->access.submit_command(h, c); @@ -28210,7 +24785,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cciss.c = linux-2.6.32.48/drivers/block/c =20 /* Put job onto the completed Q */ addQ(&h->cmpQ, c); -@@ -3393,17 +3395,17 @@ startio: +@@ -3422,17 +3424,17 @@ startio: =20 static inline unsigned long get_next_completion(ctlr_info_t *h) { @@ -28226,54 +24801,102 @@ diff -urNp linux-2.6.32.48/drivers/block/cciss= .c linux-2.6.32.48/drivers/block/c =20 static inline long interrupt_not_for_us(ctlr_info_t *h) { -- return (((h->access.intr_pending(h) =3D=3D 0) || -+ return (((h->access->intr_pending(h) =3D=3D 0) || - (h->interrupts_enabled =3D=3D 0))); +- return ((h->access.intr_pending(h) =3D=3D 0) || ++ return ((h->access->intr_pending(h) =3D=3D 0) || + (h->interrupts_enabled =3D=3D 0)); } =20 -@@ -3892,7 +3894,7 @@ static int __devinit cciss_pci_init(ctlr - */ - c->max_commands =3D readl(&(c->cfgtable->CmdsOutMax)); - c->product_name =3D products[prod_index].product_name; -- c->access =3D *(products[prod_index].access); -+ c->access =3D products[prod_index].access; - c->nr_cmds =3D c->max_commands - 4; - if ((readb(&c->cfgtable->Signature[0]) !=3D 'C') || - (readb(&c->cfgtable->Signature[1]) !=3D 'I') || -@@ -4291,7 +4293,7 @@ static int __devinit cciss_init_one(stru +@@ -3465,7 +3467,7 @@ static inline u32 next_command(ctlr_info + u32 a; +=20 + if (unlikely(!(h->transMethod & CFGTBL_Trans_Performant))) +- return h->access.command_completed(h); ++ return h->access->command_completed(h); +=20 + if ((*(h->reply_pool_head) & 1) =3D=3D (h->reply_pool_wraparound)) { + a =3D *(h->reply_pool_head); /* Next cmd in ring buffer */ +@@ -4020,7 +4022,7 @@ static void __devinit cciss_put_controll + trans_support & CFGTBL_Trans_use_short_tags); +=20 + /* Change the access methods to the performant access methods */ +- h->access =3D SA5_performant_access; ++ h->access =3D &SA5_performant_access; + h->transMethod =3D CFGTBL_Trans_Performant; +=20 + return; +@@ -4292,7 +4294,7 @@ static int __devinit cciss_pci_init(ctlr + if (prod_index < 0) + return -ENODEV; + h->product_name =3D products[prod_index].product_name; +- h->access =3D *(products[prod_index].access); ++ h->access =3D products[prod_index].access; +=20 + if (cciss_board_disabled(h)) { + dev_warn(&h->pdev->dev, "controller appears to be disabled\n"); +@@ -5002,7 +5004,7 @@ reinit_after_soft_reset: } =20 /* make sure the board interrupts are off */ -- hba[i]->access.set_intr_mask(hba[i], CCISS_INTR_OFF); -+ hba[i]->access->set_intr_mask(hba[i], CCISS_INTR_OFF); - if (request_irq(hba[i]->intr[SIMPLE_MODE_INT], do_cciss_intr, - IRQF_DISABLED | IRQF_SHARED, hba[i]->devname, hba[i])) { - printk(KERN_ERR "cciss: Unable to get irq %d for %s\n", -@@ -4341,7 +4343,7 @@ static int __devinit cciss_init_one(stru - cciss_scsi_setup(i); +- h->access.set_intr_mask(h, CCISS_INTR_OFF); ++ h->access->set_intr_mask(h, CCISS_INTR_OFF); + rc =3D cciss_request_irq(h, do_cciss_msix_intr, do_cciss_intx); + if (rc) + goto clean2; +@@ -5054,7 +5056,7 @@ reinit_after_soft_reset: + * fake ones to scoop up any residual completions. + */ + spin_lock_irqsave(&h->lock, flags); +- h->access.set_intr_mask(h, CCISS_INTR_OFF); ++ h->access->set_intr_mask(h, CCISS_INTR_OFF); + spin_unlock_irqrestore(&h->lock, flags); + free_irq(h->intr[PERF_MODE_INT], h); + rc =3D cciss_request_irq(h, cciss_msix_discard_completions, +@@ -5074,9 +5076,9 @@ reinit_after_soft_reset: + dev_info(&h->pdev->dev, "Board READY.\n"); + dev_info(&h->pdev->dev, + "Waiting for stale completions to drain.\n"); +- h->access.set_intr_mask(h, CCISS_INTR_ON); ++ h->access->set_intr_mask(h, CCISS_INTR_ON); + msleep(10000); +- h->access.set_intr_mask(h, CCISS_INTR_OFF); ++ h->access->set_intr_mask(h, CCISS_INTR_OFF); +=20 + rc =3D controller_reset_failed(h->cfgtable); + if (rc) +@@ -5099,7 +5101,7 @@ reinit_after_soft_reset: + cciss_scsi_setup(h); =20 /* Turn the interrupts on so we can service requests */ -- hba[i]->access.set_intr_mask(hba[i], CCISS_INTR_ON); -+ hba[i]->access->set_intr_mask(hba[i], CCISS_INTR_ON); +- h->access.set_intr_mask(h, CCISS_INTR_ON); ++ h->access->set_intr_mask(h, CCISS_INTR_ON); =20 /* Get the firmware version */ inq_buff =3D kzalloc(sizeof(InquiryData_struct), GFP_KERNEL); -diff -urNp linux-2.6.32.48/drivers/block/cciss.h linux-2.6.32.48/drivers= /block/cciss.h ---- linux-2.6.32.48/drivers/block/cciss.h 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/block/cciss.h 2011-11-12 12:46:42.000000000 = -0500 -@@ -90,7 +90,7 @@ struct ctlr_info=20 - // information about each logical volume +@@ -5171,7 +5173,7 @@ static void cciss_shutdown(struct pci_de + kfree(flush_buf); + if (return_code !=3D IO_OK) + dev_warn(&h->pdev->dev, "Error flushing cache\n"); +- h->access.set_intr_mask(h, CCISS_INTR_OFF); ++ h->access->set_intr_mask(h, CCISS_INTR_OFF); + free_irq(h->intr[PERF_MODE_INT], h); + } +=20 +diff -urNp linux-3.0.8/drivers/block/cciss.h linux-3.0.8/drivers/block/c= ciss.h +--- linux-3.0.8/drivers/block/cciss.h 2011-10-24 08:05:21.000000000 -040= 0 ++++ linux-3.0.8/drivers/block/cciss.h 2011-08-23 21:47:55.000000000 -040= 0 +@@ -100,7 +100,7 @@ struct ctlr_info + /* information about each logical volume */ drive_info_struct *drv[CISS_MAX_LUN]; =20 - struct access_method access; + struct access_method *access; =20 /* queue and queue Info */=20 - struct hlist_head reqQ; -diff -urNp linux-2.6.32.48/drivers/block/cpqarray.c linux-2.6.32.48/driv= ers/block/cpqarray.c ---- linux-2.6.32.48/drivers/block/cpqarray.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/block/cpqarray.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -402,7 +402,7 @@ static int __init cpqarray_register_ctlr + struct list_head reqQ; +diff -urNp linux-3.0.8/drivers/block/cpqarray.c linux-3.0.8/drivers/bloc= k/cpqarray.c +--- linux-3.0.8/drivers/block/cpqarray.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/block/cpqarray.c 2011-08-23 21:48:14.000000000 -= 0400 +@@ -404,7 +404,7 @@ static int __devinit cpqarray_register_c if (register_blkdev(COMPAQ_SMART2_MAJOR+i, hba[i]->devname)) { goto Enomem4; } @@ -28282,7 +24905,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc if (request_irq(hba[i]->intr, do_ida_intr, IRQF_DISABLED|IRQF_SHARED, hba[i]->devname, hba[i])) { -@@ -460,7 +460,7 @@ static int __init cpqarray_register_ctlr +@@ -459,7 +459,7 @@ static int __devinit cpqarray_register_c add_timer(&hba[i]->timer); =20 /* Enable IRQ now that spinlock and rate limit timer are set up */ @@ -28291,7 +24914,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc =20 for(j=3D0; jproduct_name =3D products[i].product_name; @@ -28300,7 +24923,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc break; } } -@@ -793,7 +793,7 @@ static int __init cpqarray_eisa_detect(v +@@ -792,7 +792,7 @@ static int __devinit cpqarray_eisa_detec hba[ctlr]->intr =3D intr; sprintf(hba[ctlr]->devname, "ida%d", nr_ctlr); hba[ctlr]->product_name =3D products[j].product_name; @@ -28309,16 +24932,16 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarr= ay.c linux-2.6.32.48/drivers/bloc hba[ctlr]->ctlr =3D ctlr; hba[ctlr]->board_id =3D board_id; hba[ctlr]->pci_dev =3D NULL; /* not PCI */ -@@ -896,6 +896,8 @@ static void do_ida_request(struct reques +@@ -911,6 +911,8 @@ static void do_ida_request(struct reques struct scatterlist tmp_sg[SG_MAX]; int i, dir, seg; =20 + pax_track_stack(); + - if (blk_queue_plugged(q)) - goto startio; -=20 -@@ -968,7 +970,7 @@ static void start_io(ctlr_info_t *h) + queue_next: + creq =3D blk_peek_request(q); + if (!creq) +@@ -980,7 +982,7 @@ static void start_io(ctlr_info_t *h) =20 while((c =3D h->reqQ) !=3D NULL) { /* Can't do anything if we're busy */ @@ -28327,7 +24950,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc return; =20 /* Get the first entry from the request Q */ -@@ -976,7 +978,7 @@ static void start_io(ctlr_info_t *h) +@@ -988,7 +990,7 @@ static void start_io(ctlr_info_t *h) h->Qdepth--; =09 /* Tell the controller to do our bidding */ @@ -28336,7 +24959,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc =20 /* Get onto the completion Q */ addQ(&h->cmpQ, c); -@@ -1038,7 +1040,7 @@ static irqreturn_t do_ida_intr(int irq,=20 +@@ -1050,7 +1052,7 @@ static irqreturn_t do_ida_intr(int irq,=20 unsigned long flags; __u32 a,a1; =20 @@ -28345,7 +24968,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc /* Is this interrupt for us? */ if (istat =3D=3D 0) return IRQ_NONE; -@@ -1049,7 +1051,7 @@ static irqreturn_t do_ida_intr(int irq,=20 +@@ -1061,7 +1063,7 @@ static irqreturn_t do_ida_intr(int irq,=20 */ spin_lock_irqsave(IDA_LOCK(h->ctlr), flags); if (istat & FIFO_NOT_EMPTY) { @@ -28354,7 +24977,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc a1 =3D a; a &=3D ~3; if ((c =3D h->cmpQ) =3D=3D NULL) { =20 -@@ -1434,11 +1436,11 @@ static int sendcmd( +@@ -1449,11 +1451,11 @@ static int sendcmd( /* * Disable interrupt */ @@ -28368,7 +24991,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc if (temp !=3D 0) { break; } -@@ -1451,7 +1453,7 @@ DBG( +@@ -1466,7 +1468,7 @@ DBG( /* * Send the cmd */ @@ -28377,7 +25000,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc complete =3D pollcomplete(ctlr); =09 pci_unmap_single(info_p->pci_dev, (dma_addr_t) c->req.sg[0].addr,=20 -@@ -1534,9 +1536,9 @@ static int revalidate_allvol(ctlr_info_t +@@ -1549,9 +1551,9 @@ static int revalidate_allvol(ctlr_info_t * we check the new geometry. Then turn interrupts back on when * we're done. */ @@ -28389,7 +25012,7 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc =20 for(i=3D0; i 0; i--) { @@ -28398,9 +25021,9 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarray= .c linux-2.6.32.48/drivers/bloc if (done =3D=3D 0) { udelay(10); /* a short fixed delay */ } else -diff -urNp linux-2.6.32.48/drivers/block/cpqarray.h linux-2.6.32.48/driv= ers/block/cpqarray.h ---- linux-2.6.32.48/drivers/block/cpqarray.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/block/cpqarray.h 2011-11-12 12:46:42.0000000= 00 -0500 +diff -urNp linux-3.0.8/drivers/block/cpqarray.h linux-3.0.8/drivers/bloc= k/cpqarray.h +--- linux-3.0.8/drivers/block/cpqarray.h 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/block/cpqarray.h 2011-08-23 21:47:55.000000000 -= 0400 @@ -99,7 +99,7 @@ struct ctlr_info { drv_info_t drv[NWD]; struct proc_dir_entry *proc; @@ -28410,10 +25033,10 @@ diff -urNp linux-2.6.32.48/drivers/block/cpqarr= ay.h linux-2.6.32.48/drivers/bloc =20 cmdlist_t *reqQ; cmdlist_t *cmpQ; -diff -urNp linux-2.6.32.48/drivers/block/DAC960.c linux-2.6.32.48/driver= s/block/DAC960.c ---- linux-2.6.32.48/drivers/block/DAC960.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/block/DAC960.c 2011-11-12 12:46:42.000000000= -0500 -@@ -1973,6 +1973,8 @@ static bool DAC960_V1_ReadDeviceConfigur +diff -urNp linux-3.0.8/drivers/block/DAC960.c linux-3.0.8/drivers/block/= DAC960.c +--- linux-3.0.8/drivers/block/DAC960.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/block/DAC960.c 2011-08-23 21:48:14.000000000 -04= 00 +@@ -1980,6 +1980,8 @@ static bool DAC960_V1_ReadDeviceConfigur unsigned long flags; int Channel, TargetID; =20 @@ -28422,10 +25045,247 @@ diff -urNp linux-2.6.32.48/drivers/block/DAC96= 0.c linux-2.6.32.48/drivers/block/ if (!init_dma_loaf(Controller->PCIDevice, &local_dma,=20 DAC960_V1_MaxChannels*(sizeof(DAC960_V1_DCDB_T) + sizeof(DAC960_SCSI_Inquiry_T) + -diff -urNp linux-2.6.32.48/drivers/block/loop.c linux-2.6.32.48/drivers/= block/loop.c ---- linux-2.6.32.48/drivers/block/loop.c 2011-11-12 12:44:28.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/block/loop.c 2011-11-12 12:46:42.000000000 -= 0500 -@@ -282,7 +282,7 @@ static int __do_lo_send_write(struct fil +diff -urNp linux-3.0.8/drivers/block/drbd/drbd_int.h linux-3.0.8/drivers= /block/drbd/drbd_int.h +--- linux-3.0.8/drivers/block/drbd/drbd_int.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/block/drbd/drbd_int.h 2011-10-06 04:17:55.000000= 000 -0400 +@@ -737,7 +737,7 @@ struct drbd_request; + struct drbd_epoch { + struct list_head list; + unsigned int barrier_nr; +- atomic_t epoch_size; /* increased on every request added. */ ++ atomic_unchecked_t epoch_size; /* increased on every request added. */ + atomic_t active; /* increased on every req. added, and dec on ever= y finished. */ + unsigned long flags; + }; +@@ -1109,7 +1109,7 @@ struct drbd_conf { + void *int_dig_in; + void *int_dig_vv; + wait_queue_head_t seq_wait; +- atomic_t packet_seq; ++ atomic_unchecked_t packet_seq; + unsigned int peer_seq; + spinlock_t peer_seq_lock; + unsigned int minor; +@@ -1618,30 +1618,30 @@ static inline int drbd_setsockopt(struct +=20 + static inline void drbd_tcp_cork(struct socket *sock) + { +- int __user val =3D 1; ++ int val =3D 1; + (void) drbd_setsockopt(sock, SOL_TCP, TCP_CORK, +- (char __user *)&val, sizeof(val)); ++ (char __force_user *)&val, sizeof(val)); + } +=20 + static inline void drbd_tcp_uncork(struct socket *sock) + { +- int __user val =3D 0; ++ int val =3D 0; + (void) drbd_setsockopt(sock, SOL_TCP, TCP_CORK, +- (char __user *)&val, sizeof(val)); ++ (char __force_user *)&val, sizeof(val)); + } +=20 + static inline void drbd_tcp_nodelay(struct socket *sock) + { +- int __user val =3D 1; ++ int val =3D 1; + (void) drbd_setsockopt(sock, SOL_TCP, TCP_NODELAY, +- (char __user *)&val, sizeof(val)); ++ (char __force_user *)&val, sizeof(val)); + } +=20 + static inline void drbd_tcp_quickack(struct socket *sock) + { +- int __user val =3D 2; ++ int val =3D 2; + (void) drbd_setsockopt(sock, SOL_TCP, TCP_QUICKACK, +- (char __user *)&val, sizeof(val)); ++ (char __force_user *)&val, sizeof(val)); + } +=20 + void drbd_bump_write_ordering(struct drbd_conf *mdev, enum write_orderi= ng_e wo); +diff -urNp linux-3.0.8/drivers/block/drbd/drbd_main.c linux-3.0.8/driver= s/block/drbd/drbd_main.c +--- linux-3.0.8/drivers/block/drbd/drbd_main.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/block/drbd/drbd_main.c 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -2397,7 +2397,7 @@ static int _drbd_send_ack(struct drbd_co + p.sector =3D sector; + p.block_id =3D block_id; + p.blksize =3D blksize; +- p.seq_num =3D cpu_to_be32(atomic_add_return(1, &mdev->packet_seq)); ++ p.seq_num =3D cpu_to_be32(atomic_add_return_unchecked(1, &mdev->packe= t_seq)); +=20 + if (!mdev->meta.socket || mdev->state.conn < C_CONNECTED) + return false; +@@ -2696,7 +2696,7 @@ int drbd_send_dblock(struct drbd_conf *m + p.sector =3D cpu_to_be64(req->sector); + p.block_id =3D (unsigned long)req; + p.seq_num =3D cpu_to_be32(req->seq_num =3D +- atomic_add_return(1, &mdev->packet_seq)); ++ atomic_add_return_unchecked(1, &mdev->packet_seq)); +=20 + dp_flags =3D bio_flags_to_wire(mdev, req->master_bio->bi_rw); +=20 +@@ -2981,7 +2981,7 @@ void drbd_init_set_defaults(struct drbd_ + atomic_set(&mdev->unacked_cnt, 0); + atomic_set(&mdev->local_cnt, 0); + atomic_set(&mdev->net_cnt, 0); +- atomic_set(&mdev->packet_seq, 0); ++ atomic_set_unchecked(&mdev->packet_seq, 0); + atomic_set(&mdev->pp_in_use, 0); + atomic_set(&mdev->pp_in_use_by_net, 0); + atomic_set(&mdev->rs_sect_in, 0); +@@ -3063,8 +3063,8 @@ void drbd_mdev_cleanup(struct drbd_conf=20 + mdev->receiver.t_state); +=20 + /* no need to lock it, I'm the only thread alive */ +- if (atomic_read(&mdev->current_epoch->epoch_size) !=3D 0) +- dev_err(DEV, "epoch_size:%d\n", atomic_read(&mdev->current_epoch->epo= ch_size)); ++ if (atomic_read_unchecked(&mdev->current_epoch->epoch_size) !=3D 0) ++ dev_err(DEV, "epoch_size:%d\n", atomic_read_unchecked(&mdev->current_= epoch->epoch_size)); + mdev->al_writ_cnt =3D + mdev->bm_writ_cnt =3D + mdev->read_cnt =3D +diff -urNp linux-3.0.8/drivers/block/drbd/drbd_nl.c linux-3.0.8/drivers/= block/drbd/drbd_nl.c +--- linux-3.0.8/drivers/block/drbd/drbd_nl.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/block/drbd/drbd_nl.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -2359,7 +2359,7 @@ static void drbd_connector_callback(stru + module_put(THIS_MODULE); + } +=20 +-static atomic_t drbd_nl_seq =3D ATOMIC_INIT(2); /* two. */ ++static atomic_unchecked_t drbd_nl_seq =3D ATOMIC_INIT(2); /* two. */ +=20 + static unsigned short * + __tl_add_blob(unsigned short *tl, enum drbd_tags tag, const void *data, +@@ -2430,7 +2430,7 @@ void drbd_bcast_state(struct drbd_conf * + cn_reply->id.idx =3D CN_IDX_DRBD; + cn_reply->id.val =3D CN_VAL_DRBD; +=20 +- cn_reply->seq =3D atomic_add_return(1, &drbd_nl_seq); ++ cn_reply->seq =3D atomic_add_return_unchecked(1, &drbd_nl_seq); + cn_reply->ack =3D 0; /* not used here. */ + cn_reply->len =3D sizeof(struct drbd_nl_cfg_reply) + + (int)((char *)tl - (char *)reply->tag_list); +@@ -2462,7 +2462,7 @@ void drbd_bcast_ev_helper(struct drbd_co + cn_reply->id.idx =3D CN_IDX_DRBD; + cn_reply->id.val =3D CN_VAL_DRBD; +=20 +- cn_reply->seq =3D atomic_add_return(1, &drbd_nl_seq); ++ cn_reply->seq =3D atomic_add_return_unchecked(1, &drbd_nl_seq); + cn_reply->ack =3D 0; /* not used here. */ + cn_reply->len =3D sizeof(struct drbd_nl_cfg_reply) + + (int)((char *)tl - (char *)reply->tag_list); +@@ -2540,7 +2540,7 @@ void drbd_bcast_ee(struct drbd_conf *mde + cn_reply->id.idx =3D CN_IDX_DRBD; + cn_reply->id.val =3D CN_VAL_DRBD; +=20 +- cn_reply->seq =3D atomic_add_return(1,&drbd_nl_seq); ++ cn_reply->seq =3D atomic_add_return_unchecked(1,&drbd_nl_seq); + cn_reply->ack =3D 0; // not used here. + cn_reply->len =3D sizeof(struct drbd_nl_cfg_reply) + + (int)((char*)tl - (char*)reply->tag_list); +@@ -2579,7 +2579,7 @@ void drbd_bcast_sync_progress(struct drb + cn_reply->id.idx =3D CN_IDX_DRBD; + cn_reply->id.val =3D CN_VAL_DRBD; +=20 +- cn_reply->seq =3D atomic_add_return(1, &drbd_nl_seq); ++ cn_reply->seq =3D atomic_add_return_unchecked(1, &drbd_nl_seq); + cn_reply->ack =3D 0; /* not used here. */ + cn_reply->len =3D sizeof(struct drbd_nl_cfg_reply) + + (int)((char *)tl - (char *)reply->tag_list); +diff -urNp linux-3.0.8/drivers/block/drbd/drbd_receiver.c linux-3.0.8/dr= ivers/block/drbd/drbd_receiver.c +--- linux-3.0.8/drivers/block/drbd/drbd_receiver.c 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/block/drbd/drbd_receiver.c 2011-08-23 21:47:55.0= 00000000 -0400 +@@ -894,7 +894,7 @@ retry: + sock->sk->sk_sndtimeo =3D mdev->net_conf->timeout*HZ/10; + sock->sk->sk_rcvtimeo =3D MAX_SCHEDULE_TIMEOUT; +=20 +- atomic_set(&mdev->packet_seq, 0); ++ atomic_set_unchecked(&mdev->packet_seq, 0); + mdev->peer_seq =3D 0; +=20 + drbd_thread_start(&mdev->asender); +@@ -985,7 +985,7 @@ static enum finish_epoch drbd_may_finish + do { + next_epoch =3D NULL; +=20 +- epoch_size =3D atomic_read(&epoch->epoch_size); ++ epoch_size =3D atomic_read_unchecked(&epoch->epoch_size); +=20 + switch (ev & ~EV_CLEANUP) { + case EV_PUT: +@@ -1020,7 +1020,7 @@ static enum finish_epoch drbd_may_finish + rv =3D FE_DESTROYED; + } else { + epoch->flags =3D 0; +- atomic_set(&epoch->epoch_size, 0); ++ atomic_set_unchecked(&epoch->epoch_size, 0); + /* atomic_set(&epoch->active, 0); is already zero */ + if (rv =3D=3D FE_STILL_LIVE) + rv =3D FE_RECYCLED; +@@ -1191,14 +1191,14 @@ static int receive_Barrier(struct drbd_c + drbd_wait_ee_list_empty(mdev, &mdev->active_ee); + drbd_flush(mdev); +=20 +- if (atomic_read(&mdev->current_epoch->epoch_size)) { ++ if (atomic_read_unchecked(&mdev->current_epoch->epoch_size)) { + epoch =3D kmalloc(sizeof(struct drbd_epoch), GFP_NOIO); + if (epoch) + break; + } +=20 + epoch =3D mdev->current_epoch; +- wait_event(mdev->ee_wait, atomic_read(&epoch->epoch_size) =3D=3D 0); ++ wait_event(mdev->ee_wait, atomic_read_unchecked(&epoch->epoch_size) =3D= =3D 0); +=20 + D_ASSERT(atomic_read(&epoch->active) =3D=3D 0); + D_ASSERT(epoch->flags =3D=3D 0); +@@ -1210,11 +1210,11 @@ static int receive_Barrier(struct drbd_c + } +=20 + epoch->flags =3D 0; +- atomic_set(&epoch->epoch_size, 0); ++ atomic_set_unchecked(&epoch->epoch_size, 0); + atomic_set(&epoch->active, 0); +=20 + spin_lock(&mdev->epoch_lock); +- if (atomic_read(&mdev->current_epoch->epoch_size)) { ++ if (atomic_read_unchecked(&mdev->current_epoch->epoch_size)) { + list_add(&epoch->list, &mdev->current_epoch->list); + mdev->current_epoch =3D epoch; + mdev->epochs++; +@@ -1663,7 +1663,7 @@ static int receive_Data(struct drbd_conf + spin_unlock(&mdev->peer_seq_lock); +=20 + drbd_send_ack_dp(mdev, P_NEG_ACK, p, data_size); +- atomic_inc(&mdev->current_epoch->epoch_size); ++ atomic_inc_unchecked(&mdev->current_epoch->epoch_size); + return drbd_drain_block(mdev, data_size); + } +=20 +@@ -1689,7 +1689,7 @@ static int receive_Data(struct drbd_conf +=20 + spin_lock(&mdev->epoch_lock); + e->epoch =3D mdev->current_epoch; +- atomic_inc(&e->epoch->epoch_size); ++ atomic_inc_unchecked(&e->epoch->epoch_size); + atomic_inc(&e->epoch->active); + spin_unlock(&mdev->epoch_lock); +=20 +@@ -3885,7 +3885,7 @@ static void drbd_disconnect(struct drbd_ + D_ASSERT(list_empty(&mdev->done_ee)); +=20 + /* ok, no more ee's on the fly, it is safe to reset the epoch_size */ +- atomic_set(&mdev->current_epoch->epoch_size, 0); ++ atomic_set_unchecked(&mdev->current_epoch->epoch_size, 0); + D_ASSERT(list_empty(&mdev->current_epoch->list)); + } +=20 +diff -urNp linux-3.0.8/drivers/block/loop.c linux-3.0.8/drivers/block/lo= op.c +--- linux-3.0.8/drivers/block/loop.c 2011-10-24 08:05:23.000000000 -0400 ++++ linux-3.0.8/drivers/block/loop.c 2011-10-06 04:17:55.000000000 -0400 +@@ -283,7 +283,7 @@ static int __do_lo_send_write(struct fil mm_segment_t old_fs =3D get_fs(); =20 set_fs(get_ds()); @@ -28434,10 +25294,10 @@ diff -urNp linux-2.6.32.48/drivers/block/loop.c= linux-2.6.32.48/drivers/block/lo set_fs(old_fs); if (likely(bw =3D=3D len)) return 0; -diff -urNp linux-2.6.32.48/drivers/block/nbd.c linux-2.6.32.48/drivers/b= lock/nbd.c ---- linux-2.6.32.48/drivers/block/nbd.c 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/block/nbd.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -155,6 +155,8 @@ static int sock_xmit(struct nbd_device * +diff -urNp linux-3.0.8/drivers/block/nbd.c linux-3.0.8/drivers/block/nbd= .c +--- linux-3.0.8/drivers/block/nbd.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/block/nbd.c 2011-08-23 21:48:14.000000000 -0400 +@@ -157,6 +157,8 @@ static int sock_xmit(struct nbd_device * struct kvec iov; sigset_t blocked, oldset; =20 @@ -28446,7 +25306,7 @@ diff -urNp linux-2.6.32.48/drivers/block/nbd.c li= nux-2.6.32.48/drivers/block/nbd if (unlikely(!sock)) { printk(KERN_ERR "%s: Attempted %s on closed socket in sock_xmit\n", lo->disk->disk_name, (send ? "send" : "recv")); -@@ -569,6 +571,8 @@ static void do_nbd_request(struct reques +@@ -572,6 +574,8 @@ static void do_nbd_request(struct reques static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *lo= , unsigned int cmd, unsigned long arg) { @@ -28455,22 +25315,10 @@ diff -urNp linux-2.6.32.48/drivers/block/nbd.c = linux-2.6.32.48/drivers/block/nbd switch (cmd) { case NBD_DISCONNECT: { struct request sreq; -diff -urNp linux-2.6.32.48/drivers/block/pktcdvd.c linux-2.6.32.48/drive= rs/block/pktcdvd.c ---- linux-2.6.32.48/drivers/block/pktcdvd.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/block/pktcdvd.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -284,7 +284,7 @@ static ssize_t kobj_pkt_store(struct kob - return len; - } -=20 --static struct sysfs_ops kobj_pkt_ops =3D { -+static const struct sysfs_ops kobj_pkt_ops =3D { - .show =3D kobj_pkt_show, - .store =3D kobj_pkt_store - }; -diff -urNp linux-2.6.32.48/drivers/char/agp/frontend.c linux-2.6.32.48/d= rivers/char/agp/frontend.c ---- linux-2.6.32.48/drivers/char/agp/frontend.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/char/agp/frontend.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -824,7 +824,7 @@ static int agpioc_reserve_wrap(struct ag +diff -urNp linux-3.0.8/drivers/char/agp/frontend.c linux-3.0.8/drivers/c= har/agp/frontend.c +--- linux-3.0.8/drivers/char/agp/frontend.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/char/agp/frontend.c 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -817,7 +817,7 @@ static int agpioc_reserve_wrap(struct ag if (copy_from_user(&reserve, arg, sizeof(struct agp_region))) return -EFAULT; =20 @@ -28479,10 +25327,10 @@ diff -urNp linux-2.6.32.48/drivers/char/agp/fro= ntend.c linux-2.6.32.48/drivers/c return -EFAULT; =20 client =3D agp_find_client_by_pid(reserve.pid); -diff -urNp linux-2.6.32.48/drivers/char/briq_panel.c linux-2.6.32.48/dri= vers/char/briq_panel.c ---- linux-2.6.32.48/drivers/char/briq_panel.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/char/briq_panel.c 2011-11-12 12:46:42.000000= 000 -0500 -@@ -10,6 +10,7 @@ +diff -urNp linux-3.0.8/drivers/char/briq_panel.c linux-3.0.8/drivers/cha= r/briq_panel.c +--- linux-3.0.8/drivers/char/briq_panel.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/char/briq_panel.c 2011-08-23 21:48:14.000000000 = -0400 +@@ -9,6 +9,7 @@ #include #include #include @@ -28490,7 +25338,7 @@ diff -urNp linux-2.6.32.48/drivers/char/briq_pane= l.c linux-2.6.32.48/drivers/cha #include #include #include -@@ -36,6 +37,7 @@ static int vfd_is_open; +@@ -34,6 +35,7 @@ static int vfd_is_open; static unsigned char vfd[40]; static int vfd_cursor; static unsigned char ledpb, led; @@ -28498,7 +25346,7 @@ diff -urNp linux-2.6.32.48/drivers/char/briq_pane= l.c linux-2.6.32.48/drivers/cha =20 static void update_vfd(void) { -@@ -142,12 +144,15 @@ static ssize_t briq_panel_write(struct f +@@ -140,12 +142,15 @@ static ssize_t briq_panel_write(struct f if (!vfd_is_open) return -EBUSY; =20 @@ -28515,7 +25363,7 @@ diff -urNp linux-2.6.32.48/drivers/char/briq_pane= l.c linux-2.6.32.48/drivers/cha if (esc) { set_led(c); esc =3D 0; -@@ -177,6 +182,7 @@ static ssize_t briq_panel_write(struct f +@@ -175,6 +180,7 @@ static ssize_t briq_panel_write(struct f buf++; } update_vfd(); @@ -28523,10 +25371,10 @@ diff -urNp linux-2.6.32.48/drivers/char/briq_pa= nel.c linux-2.6.32.48/drivers/cha =20 return len; } -diff -urNp linux-2.6.32.48/drivers/char/genrtc.c linux-2.6.32.48/drivers= /char/genrtc.c ---- linux-2.6.32.48/drivers/char/genrtc.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/char/genrtc.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -272,6 +272,7 @@ static int gen_rtc_ioctl(struct inode *i +diff -urNp linux-3.0.8/drivers/char/genrtc.c linux-3.0.8/drivers/char/ge= nrtc.c +--- linux-3.0.8/drivers/char/genrtc.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/char/genrtc.c 2011-08-23 21:48:14.000000000 -040= 0 +@@ -273,6 +273,7 @@ static int gen_rtc_ioctl(struct file *fi switch (cmd) { =20 case RTC_PLL_GET: @@ -28534,290 +25382,22 @@ diff -urNp linux-2.6.32.48/drivers/char/genrtc= .c linux-2.6.32.48/drivers/char/ge if (get_rtc_pll(&pll)) return -EINVAL; else -diff -urNp linux-2.6.32.48/drivers/char/hpet.c linux-2.6.32.48/drivers/c= har/hpet.c ---- linux-2.6.32.48/drivers/char/hpet.c 2011-11-12 12:44:28.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/char/hpet.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -430,7 +430,7 @@ static int hpet_release(struct inode *in - return 0; - } -=20 --static int hpet_ioctl_common(struct hpet_dev *, int, unsigned long, int= ); -+static int hpet_ioctl_common(struct hpet_dev *, unsigned int, unsigned = long, int); -=20 - static int - hpet_ioctl(struct inode *inode, struct file *file, unsigned int cmd, -@@ -565,7 +565,7 @@ static inline unsigned long hpet_time_di +diff -urNp linux-3.0.8/drivers/char/hpet.c linux-3.0.8/drivers/char/hpet= .c +--- linux-3.0.8/drivers/char/hpet.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/char/hpet.c 2011-08-23 21:47:55.000000000 -0400 +@@ -572,7 +572,7 @@ static inline unsigned long hpet_time_di } =20 static int --hpet_ioctl_common(struct hpet_dev *devp, int cmd, unsigned long arg, in= t kernel) -+hpet_ioctl_common(struct hpet_dev *devp, unsigned int cmd, unsigned lon= g arg, int kernel) +-hpet_ioctl_common(struct hpet_dev *devp, int cmd, unsigned long arg, ++hpet_ioctl_common(struct hpet_dev *devp, unsigned int cmd, unsigned lon= g arg, + struct hpet_info *info) { struct hpet_timer __iomem *timer; - struct hpet __iomem *hpet; -@@ -608,11 +608,11 @@ hpet_ioctl_common(struct hpet_dev *devp, - { - struct hpet_info info; -=20 -+ memset(&info, 0, sizeof(info)); -+ - if (devp->hd_ireqfreq) - info.hi_ireqfreq =3D - hpet_time_div(hpetp, devp->hd_ireqfreq); -- else -- info.hi_ireqfreq =3D 0; - info.hi_flags =3D - readq(&timer->hpet_config) & Tn_PER_INT_CAP_MASK; - info.hi_hpet =3D hpetp->hp_which; -diff -urNp linux-2.6.32.48/drivers/char/hvc_beat.c linux-2.6.32.48/drive= rs/char/hvc_beat.c ---- linux-2.6.32.48/drivers/char/hvc_beat.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_beat.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -84,7 +84,7 @@ static int hvc_beat_put_chars(uint32_t v - return cnt; - } -=20 --static struct hv_ops hvc_beat_get_put_ops =3D { -+static const struct hv_ops hvc_beat_get_put_ops =3D { - .get_chars =3D hvc_beat_get_chars, - .put_chars =3D hvc_beat_put_chars, - }; -diff -urNp linux-2.6.32.48/drivers/char/hvc_console.c linux-2.6.32.48/dr= ivers/char/hvc_console.c ---- linux-2.6.32.48/drivers/char/hvc_console.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_console.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -125,7 +125,7 @@ static struct hvc_struct *hvc_get_by_ind - * console interfaces but can still be used as a tty device. This has = to be - * static because kmalloc will not work during early console init. - */ --static struct hv_ops *cons_ops[MAX_NR_HVC_CONSOLES]; -+static const struct hv_ops *cons_ops[MAX_NR_HVC_CONSOLES]; - static uint32_t vtermnos[MAX_NR_HVC_CONSOLES] =3D - {[0 ... MAX_NR_HVC_CONSOLES - 1] =3D -1}; -=20 -@@ -249,7 +249,7 @@ static void destroy_hvc_struct(struct kr - * vty adapters do NOT get an hvc_instantiate() callback since they - * appear after early console init. - */ --int hvc_instantiate(uint32_t vtermno, int index, struct hv_ops *ops) -+int hvc_instantiate(uint32_t vtermno, int index, const struct hv_ops *o= ps) - { - struct hvc_struct *hp; -=20 -@@ -758,7 +758,7 @@ static const struct tty_operations hvc_o - }; -=20 - struct hvc_struct __devinit *hvc_alloc(uint32_t vtermno, int data, -- struct hv_ops *ops, int outbuf_size) -+ const struct hv_ops *ops, int outbuf_size) - { - struct hvc_struct *hp; - int i; -diff -urNp linux-2.6.32.48/drivers/char/hvc_console.h linux-2.6.32.48/dr= ivers/char/hvc_console.h ---- linux-2.6.32.48/drivers/char/hvc_console.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_console.h 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -55,7 +55,7 @@ struct hvc_struct { - int outbuf_size; - int n_outbuf; - uint32_t vtermno; -- struct hv_ops *ops; -+ const struct hv_ops *ops; - int irq_requested; - int data; - struct winsize ws; -@@ -76,11 +76,11 @@ struct hv_ops { - }; -=20 - /* Register a vterm and a slot index for use as a console (console_init= ) */ --extern int hvc_instantiate(uint32_t vtermno, int index, struct hv_ops *= ops); -+extern int hvc_instantiate(uint32_t vtermno, int index, const struct hv= _ops *ops); -=20 - /* register a vterm for hvc tty operation (module_init or hotplug add) = */ - extern struct hvc_struct * __devinit hvc_alloc(uint32_t vtermno, int da= ta, -- struct hv_ops *ops, int outbuf_size); -+ const struct hv_ops *ops, int outbuf_size); - /* remove a vterm from hvc tty operation (module_exit or hotplug remove= ) */ - extern int hvc_remove(struct hvc_struct *hp); -=20 -diff -urNp linux-2.6.32.48/drivers/char/hvc_iseries.c linux-2.6.32.48/dr= ivers/char/hvc_iseries.c ---- linux-2.6.32.48/drivers/char/hvc_iseries.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_iseries.c 2011-11-12 12:46:42.00000= 0000 -0500 -@@ -197,7 +197,7 @@ done: - return sent; - } -=20 --static struct hv_ops hvc_get_put_ops =3D { -+static const struct hv_ops hvc_get_put_ops =3D { - .get_chars =3D get_chars, - .put_chars =3D put_chars, - .notifier_add =3D notifier_add_irq, -diff -urNp linux-2.6.32.48/drivers/char/hvc_iucv.c linux-2.6.32.48/drive= rs/char/hvc_iucv.c ---- linux-2.6.32.48/drivers/char/hvc_iucv.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_iucv.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -924,7 +924,7 @@ static int hvc_iucv_pm_restore_thaw(stru -=20 -=20 - /* HVC operations */ --static struct hv_ops hvc_iucv_ops =3D { -+static const struct hv_ops hvc_iucv_ops =3D { - .get_chars =3D hvc_iucv_get_chars, - .put_chars =3D hvc_iucv_put_chars, - .notifier_add =3D hvc_iucv_notifier_add, -diff -urNp linux-2.6.32.48/drivers/char/hvc_rtas.c linux-2.6.32.48/drive= rs/char/hvc_rtas.c ---- linux-2.6.32.48/drivers/char/hvc_rtas.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_rtas.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -71,7 +71,7 @@ static int hvc_rtas_read_console(uint32_ - return i; - } -=20 --static struct hv_ops hvc_rtas_get_put_ops =3D { -+static const struct hv_ops hvc_rtas_get_put_ops =3D { - .get_chars =3D hvc_rtas_read_console, - .put_chars =3D hvc_rtas_write_console, - }; -diff -urNp linux-2.6.32.48/drivers/char/hvcs.c linux-2.6.32.48/drivers/c= har/hvcs.c ---- linux-2.6.32.48/drivers/char/hvcs.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/char/hvcs.c 2011-11-12 12:46:42.000000000 -0= 500 -@@ -82,6 +82,7 @@ - #include - #include - #include -+#include -=20 - /* - * 1.3.0 -> 1.3.1 In hvcs_open memset(..,0x00,..) instead of memset(..,= 0x3F,00). -@@ -269,7 +270,7 @@ struct hvcs_struct { - unsigned int index; -=20 - struct tty_struct *tty; -- int open_count; -+ local_t open_count; -=20 - /* - * Used to tell the driver kernel_thread what operations need to take -@@ -419,7 +420,7 @@ static ssize_t hvcs_vterm_state_store(st -=20 - spin_lock_irqsave(&hvcsd->lock, flags); -=20 -- if (hvcsd->open_count > 0) { -+ if (local_read(&hvcsd->open_count) > 0) { - spin_unlock_irqrestore(&hvcsd->lock, flags); - printk(KERN_INFO "HVCS: vterm state unchanged. " - "The hvcs device node is still in use.\n"); -@@ -1135,7 +1136,7 @@ static int hvcs_open(struct tty_struct * - if ((retval =3D hvcs_partner_connect(hvcsd))) - goto error_release; -=20 -- hvcsd->open_count =3D 1; -+ local_set(&hvcsd->open_count, 1); - hvcsd->tty =3D tty; - tty->driver_data =3D hvcsd; -=20 -@@ -1169,7 +1170,7 @@ fast_open: -=20 - spin_lock_irqsave(&hvcsd->lock, flags); - kref_get(&hvcsd->kref); -- hvcsd->open_count++; -+ local_inc(&hvcsd->open_count); - hvcsd->todo_mask |=3D HVCS_SCHED_READ; - spin_unlock_irqrestore(&hvcsd->lock, flags); -=20 -@@ -1213,7 +1214,7 @@ static void hvcs_close(struct tty_struct - hvcsd =3D tty->driver_data; -=20 - spin_lock_irqsave(&hvcsd->lock, flags); -- if (--hvcsd->open_count =3D=3D 0) { -+ if (local_dec_and_test(&hvcsd->open_count)) { -=20 - vio_disable_interrupts(hvcsd->vdev); -=20 -@@ -1239,10 +1240,10 @@ static void hvcs_close(struct tty_struct - free_irq(irq, hvcsd); - kref_put(&hvcsd->kref, destroy_hvcs_struct); - return; -- } else if (hvcsd->open_count < 0) { -+ } else if (local_read(&hvcsd->open_count) < 0) { - printk(KERN_ERR "HVCS: vty-server@%X open_count: %d" - " is missmanaged.\n", -- hvcsd->vdev->unit_address, hvcsd->open_count); -+ hvcsd->vdev->unit_address, local_read(&hvcsd->open_count)); - } -=20 - spin_unlock_irqrestore(&hvcsd->lock, flags); -@@ -1258,7 +1259,7 @@ static void hvcs_hangup(struct tty_struc -=20 - spin_lock_irqsave(&hvcsd->lock, flags); - /* Preserve this so that we know how many kref refs to put */ -- temp_open_count =3D hvcsd->open_count; -+ temp_open_count =3D local_read(&hvcsd->open_count); -=20 - /* - * Don't kref put inside the spinlock because the destruction -@@ -1273,7 +1274,7 @@ static void hvcs_hangup(struct tty_struc - hvcsd->tty->driver_data =3D NULL; - hvcsd->tty =3D NULL; -=20 -- hvcsd->open_count =3D 0; -+ local_set(&hvcsd->open_count, 0); -=20 - /* This will drop any buffered data on the floor which is OK in a hang= up - * scenario. */ -@@ -1344,7 +1345,7 @@ static int hvcs_write(struct tty_struct=20 - * the middle of a write operation? This is a crummy place to do this - * but we want to keep it all in the spinlock. - */ -- if (hvcsd->open_count <=3D 0) { -+ if (local_read(&hvcsd->open_count) <=3D 0) { - spin_unlock_irqrestore(&hvcsd->lock, flags); - return -ENODEV; - } -@@ -1418,7 +1419,7 @@ static int hvcs_write_room(struct tty_st - { - struct hvcs_struct *hvcsd =3D tty->driver_data; -=20 -- if (!hvcsd || hvcsd->open_count <=3D 0) -+ if (!hvcsd || local_read(&hvcsd->open_count) <=3D 0) - return 0; -=20 - return HVCS_BUFF_LEN - hvcsd->chars_in_buffer; -diff -urNp linux-2.6.32.48/drivers/char/hvc_udbg.c linux-2.6.32.48/drive= rs/char/hvc_udbg.c ---- linux-2.6.32.48/drivers/char/hvc_udbg.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/hvc_udbg.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -58,7 +58,7 @@ static int hvc_udbg_get(uint32_t vtermno - return i; - } -=20 --static struct hv_ops hvc_udbg_ops =3D { -+static const struct hv_ops hvc_udbg_ops =3D { - .get_chars =3D hvc_udbg_get, - .put_chars =3D hvc_udbg_put, - }; -diff -urNp linux-2.6.32.48/drivers/char/hvc_vio.c linux-2.6.32.48/driver= s/char/hvc_vio.c ---- linux-2.6.32.48/drivers/char/hvc_vio.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/char/hvc_vio.c 2011-11-12 12:46:42.000000000= -0500 -@@ -77,7 +77,7 @@ static int filtered_get_chars(uint32_t v - return got; - } -=20 --static struct hv_ops hvc_get_put_ops =3D { -+static const struct hv_ops hvc_get_put_ops =3D { - .get_chars =3D filtered_get_chars, - .put_chars =3D hvc_put_chars, - .notifier_add =3D notifier_add_irq, -diff -urNp linux-2.6.32.48/drivers/char/hvc_xen.c linux-2.6.32.48/driver= s/char/hvc_xen.c ---- linux-2.6.32.48/drivers/char/hvc_xen.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/char/hvc_xen.c 2011-11-12 12:46:42.000000000= -0500 -@@ -120,7 +120,7 @@ static int read_console(uint32_t vtermno - return recv; - } -=20 --static struct hv_ops hvc_ops =3D { -+static const struct hv_ops hvc_ops =3D { - .get_chars =3D read_console, - .put_chars =3D write_console, - .notifier_add =3D notifier_add_irq, -diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi_msghandler.c linux-2.6= .32.48/drivers/char/ipmi/ipmi_msghandler.c ---- linux-2.6.32.48/drivers/char/ipmi/ipmi_msghandler.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/char/ipmi/ipmi_msghandler.c 2011-11-12 12:46= :42.000000000 -0500 -@@ -414,7 +414,7 @@ struct ipmi_smi { +diff -urNp linux-3.0.8/drivers/char/ipmi/ipmi_msghandler.c linux-3.0.8/d= rivers/char/ipmi/ipmi_msghandler.c +--- linux-3.0.8/drivers/char/ipmi/ipmi_msghandler.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/char/ipmi/ipmi_msghandler.c 2011-08-23 21:48:14.= 000000000 -0400 +@@ -415,7 +415,7 @@ struct ipmi_smi { struct proc_dir_entry *proc_dir; char proc_dir_name[10]; =20 @@ -28826,7 +25406,7 @@ diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi= _msghandler.c linux-2.6.32.48/d =20 /* * run_to_completion duplicate of smb_info, smi_info -@@ -447,9 +447,9 @@ static DEFINE_MUTEX(smi_watchers_mutex); +@@ -448,9 +448,9 @@ static DEFINE_MUTEX(smi_watchers_mutex); =20 =20 #define ipmi_inc_stat(intf, stat) \ @@ -28838,7 +25418,7 @@ diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi= _msghandler.c linux-2.6.32.48/d =20 static int is_lan_addr(struct ipmi_addr *addr) { -@@ -2808,7 +2808,7 @@ int ipmi_register_smi(struct ipmi_smi_ha +@@ -2868,7 +2868,7 @@ int ipmi_register_smi(struct ipmi_smi_ha INIT_LIST_HEAD(&intf->cmd_rcvrs); init_waitqueue_head(&intf->waitq); for (i =3D 0; i < IPMI_NUM_STATS; i++) @@ -28847,7 +25427,7 @@ diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi= _msghandler.c linux-2.6.32.48/d =20 intf->proc_dir =3D NULL; =20 -@@ -4160,6 +4160,8 @@ static void send_panic_events(char *str) +@@ -4220,6 +4220,8 @@ static void send_panic_events(char *str) struct ipmi_smi_msg smi_msg; struct ipmi_recv_msg recv_msg; =20 @@ -28856,9 +25436,9 @@ diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi= _msghandler.c linux-2.6.32.48/d si =3D (struct ipmi_system_interface_addr *) &addr; si->addr_type =3D IPMI_SYSTEM_INTERFACE_ADDR_TYPE; si->channel =3D IPMI_BMC_CHANNEL; -diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi_si_intf.c linux-2.6.32= .48/drivers/char/ipmi/ipmi_si_intf.c ---- linux-2.6.32.48/drivers/char/ipmi/ipmi_si_intf.c 2011-11-12 12:44:28= .000000000 -0500 -+++ linux-2.6.32.48/drivers/char/ipmi/ipmi_si_intf.c 2011-11-12 12:46:42= .000000000 -0500 +diff -urNp linux-3.0.8/drivers/char/ipmi/ipmi_si_intf.c linux-3.0.8/driv= ers/char/ipmi/ipmi_si_intf.c +--- linux-3.0.8/drivers/char/ipmi/ipmi_si_intf.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/char/ipmi/ipmi_si_intf.c 2011-08-23 21:47:55.000= 000000 -0400 @@ -277,7 +277,7 @@ struct smi_info { unsigned char slave_addr; =20 @@ -28868,7 +25448,7 @@ diff -urNp linux-2.6.32.48/drivers/char/ipmi/ipmi= _si_intf.c linux-2.6.32.48/driv =20 struct task_struct *thread; =20 -@@ -285,9 +285,9 @@ struct smi_info { +@@ -286,9 +286,9 @@ struct smi_info { }; =20 #define smi_inc_stat(smi, stat) \ @@ -28880,56 +25460,19 @@ diff -urNp linux-2.6.32.48/drivers/char/ipmi/ip= mi_si_intf.c linux-2.6.32.48/driv =20 #define SI_MAX_PARMS 4 =20 -@@ -2931,7 +2931,7 @@ static int try_smi_init(struct smi_info=20 +@@ -3230,7 +3230,7 @@ static int try_smi_init(struct smi_info=20 atomic_set(&new_smi->req_events, 0); new_smi->run_to_completion =3D 0; for (i =3D 0; i < SI_NUM_STATS; i++) - atomic_set(&new_smi->stats[i], 0); + atomic_set_unchecked(&new_smi->stats[i], 0); =20 - new_smi->interrupt_disabled =3D 0; + new_smi->interrupt_disabled =3D 1; atomic_set(&new_smi->stop_operation, 0); -diff -urNp linux-2.6.32.48/drivers/char/istallion.c linux-2.6.32.48/driv= ers/char/istallion.c ---- linux-2.6.32.48/drivers/char/istallion.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/char/istallion.c 2011-11-12 12:46:42.0000000= 00 -0500 -@@ -187,7 +187,6 @@ static struct ktermios stli_deftermios=20 - * re-used for each stats call. - */ - static comstats_t stli_comstats; --static combrd_t stli_brdstats; - static struct asystats stli_cdkstats; -=20 - /**********************************************************************= *******/ -@@ -4058,6 +4057,7 @@ static int stli_getbrdstats(combrd_t __u - { - struct stlibrd *brdp; - unsigned int i; -+ combrd_t stli_brdstats; -=20 - if (copy_from_user(&stli_brdstats, bp, sizeof(combrd_t))) - return -EFAULT; -@@ -4269,6 +4269,8 @@ static int stli_getportstruct(struct stl - struct stliport stli_dummyport; - struct stliport *portp; -=20 -+ pax_track_stack(); -+ - if (copy_from_user(&stli_dummyport, arg, sizeof(struct stliport))) - return -EFAULT; - portp =3D stli_getport(stli_dummyport.brdnr, stli_dummyport.panelnr, -@@ -4291,6 +4293,8 @@ static int stli_getbrdstruct(struct stli - struct stlibrd stli_dummybrd; - struct stlibrd *brdp; -=20 -+ pax_track_stack(); -+ - if (copy_from_user(&stli_dummybrd, arg, sizeof(struct stlibrd))) - return -EFAULT; - if (stli_dummybrd.brdnr >=3D STL_MAXBRDS) -diff -urNp linux-2.6.32.48/drivers/char/Kconfig linux-2.6.32.48/drivers/= char/Kconfig ---- linux-2.6.32.48/drivers/char/Kconfig 2009-12-02 22:51:21.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/char/Kconfig 2011-11-12 12:46:42.000000000 -= 0500 -@@ -90,7 +90,8 @@ config VT_HW_CONSOLE_BINDING +diff -urNp linux-3.0.8/drivers/char/Kconfig linux-3.0.8/drivers/char/Kco= nfig +--- linux-3.0.8/drivers/char/Kconfig 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/char/Kconfig 2011-08-23 21:48:14.000000000 -0400 +@@ -8,7 +8,8 @@ source "drivers/tty/Kconfig" =20 config DEVKMEM bool "/dev/kmem virtual device support" @@ -28939,7 +25482,7 @@ diff -urNp linux-2.6.32.48/drivers/char/Kconfig l= inux-2.6.32.48/drivers/char/Kco help Say Y here if you want to support the /dev/kmem device. The /dev/kmem device is rarely used, but can be used for certain -@@ -1114,6 +1115,7 @@ config DEVPORT +@@ -596,6 +597,7 @@ config DEVPORT bool depends on !M68K depends on ISA || PCI @@ -28947,38 +25490,21 @@ diff -urNp linux-2.6.32.48/drivers/char/Kconfig= linux-2.6.32.48/drivers/char/Kco default y =20 source "drivers/s390/char/Kconfig" -diff -urNp linux-2.6.32.48/drivers/char/keyboard.c linux-2.6.32.48/drive= rs/char/keyboard.c ---- linux-2.6.32.48/drivers/char/keyboard.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/keyboard.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -635,6 +635,16 @@ static void k_spec(struct vc_data *vc, u - kbd->kbdmode =3D=3D VC_MEDIUMRAW) && - value !=3D KVAL(K_SAK)) - return; /* SAK is allowed even in raw mode */ -+ -+#if defined(CONFIG_GRKERNSEC_PROC) || defined(CONFIG_GRKERNSEC_PROC_MEM= MAP) -+ { -+ void *func =3D fn_handler[value]; -+ if (func =3D=3D fn_show_state || func =3D=3D fn_show_ptregs || -+ func =3D=3D fn_show_mem) -+ return; -+ } -+#endif -+ - fn_handler[value](vc); +diff -urNp linux-3.0.8/drivers/char/mbcs.c linux-3.0.8/drivers/char/mbcs= .c +--- linux-3.0.8/drivers/char/mbcs.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/char/mbcs.c 2011-10-11 10:44:33.000000000 -0400 +@@ -800,7 +800,7 @@ static int mbcs_remove(struct cx_dev *de + return 0; } =20 -@@ -1386,7 +1396,7 @@ static const struct input_device_id kbd_ - .evbit =3D { BIT_MASK(EV_SND) }, - }, -=20 -- { }, /* Terminating entry */ -+ { 0 }, /* Terminating entry */ - }; -=20 - MODULE_DEVICE_TABLE(input, kbd_ids); -diff -urNp linux-2.6.32.48/drivers/char/mem.c linux-2.6.32.48/drivers/ch= ar/mem.c ---- linux-2.6.32.48/drivers/char/mem.c 2011-11-12 12:44:28.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/char/mem.c 2011-11-12 12:46:42.000000000 -05= 00 +-static const struct cx_device_id __devinitdata mbcs_id_table[] =3D { ++static const struct cx_device_id __devinitconst mbcs_id_table[] =3D { + { + .part_num =3D MBCS_PART_NUM, + .mfg_num =3D MBCS_MFG_NUM, +diff -urNp linux-3.0.8/drivers/char/mem.c linux-3.0.8/drivers/char/mem.c +--- linux-3.0.8/drivers/char/mem.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/char/mem.c 2011-08-23 21:48:14.000000000 -0400 @@ -18,6 +18,7 @@ #include #include @@ -28987,7 +25513,7 @@ diff -urNp linux-2.6.32.48/drivers/char/mem.c lin= ux-2.6.32.48/drivers/char/mem.c #include #include #include -@@ -35,6 +36,10 @@ +@@ -34,6 +35,10 @@ # include #endif =20 @@ -28998,7 +25524,7 @@ diff -urNp linux-2.6.32.48/drivers/char/mem.c lin= ux-2.6.32.48/drivers/char/mem.c static inline unsigned long size_inside_page(unsigned long start, unsigned long size) { -@@ -102,9 +107,13 @@ static inline int range_is_allowed(unsig +@@ -65,9 +70,13 @@ static inline int range_is_allowed(unsig =20 while (cursor < to) { if (!devmem_is_allowed(pfn)) { @@ -29012,7 +25538,7 @@ diff -urNp linux-2.6.32.48/drivers/char/mem.c lin= ux-2.6.32.48/drivers/char/mem.c return 0; } cursor +=3D PAGE_SIZE; -@@ -112,6 +121,11 @@ static inline int range_is_allowed(unsig +@@ -75,6 +84,11 @@ static inline int range_is_allowed(unsig } return 1; } @@ -29024,20 +25550,19 @@ diff -urNp linux-2.6.32.48/drivers/char/mem.c l= inux-2.6.32.48/drivers/char/mem.c #else static inline int range_is_allowed(unsigned long pfn, unsigned long siz= e) { -@@ -155,6 +169,8 @@ static ssize_t read_mem(struct file * fi - #endif +@@ -117,6 +131,7 @@ static ssize_t read_mem(struct file *fil =20 while (count > 0) { + unsigned long remaining; + char *temp; -+ - /* - * Handle first page in case it's not aligned - */ -@@ -177,11 +193,31 @@ static ssize_t read_mem(struct file * fi +=20 + sz =3D size_inside_page(p, count); +=20 +@@ -132,7 +147,23 @@ static ssize_t read_mem(struct file *fil if (!ptr) return -EFAULT; =20 -- if (copy_to_user(buf, ptr, sz)) { +- remaining =3D copy_to_user(buf, ptr, sz); +#ifdef CONFIG_PAX_USERCOPY + temp =3D kmalloc(sz, GFP_KERNEL); + if (!temp) { @@ -29049,24 +25574,16 @@ diff -urNp linux-2.6.32.48/drivers/char/mem.c l= inux-2.6.32.48/drivers/char/mem.c + temp =3D ptr; +#endif + -+ if (copy_to_user(buf, temp, sz)) { ++ remaining =3D copy_to_user(buf, temp, sz); + +#ifdef CONFIG_PAX_USERCOPY -+ kfree(temp); -+#endif -+ - unxlate_dev_mem_ptr(p, ptr); - return -EFAULT; - } -=20 -+#ifdef CONFIG_PAX_USERCOPY + kfree(temp); +#endif + unxlate_dev_mem_ptr(p, ptr); -=20 - buf +=3D sz; -@@ -419,9 +455,8 @@ static ssize_t read_kmem(struct file *fi + if (remaining) + return -EFAULT; +@@ -395,9 +426,8 @@ static ssize_t read_kmem(struct file *fi size_t count, loff_t *ppos) { unsigned long p =3D *ppos; @@ -29077,7 +25594,7 @@ diff -urNp linux-2.6.32.48/drivers/char/mem.c lin= ux-2.6.32.48/drivers/char/mem.c =20 read =3D 0; if (p < (unsigned long) high_memory) { -@@ -444,6 +479,8 @@ static ssize_t read_kmem(struct file *fi +@@ -419,6 +449,8 @@ static ssize_t read_kmem(struct file *fi } #endif while (low_count > 0) { @@ -29086,7 +25603,7 @@ diff -urNp linux-2.6.32.48/drivers/char/mem.c lin= ux-2.6.32.48/drivers/char/mem.c sz =3D size_inside_page(p, low_count); =20 /* -@@ -453,7 +490,22 @@ static ssize_t read_kmem(struct file *fi +@@ -428,7 +460,22 @@ static ssize_t read_kmem(struct file *fi */ kbuf =3D xlate_dev_kmem_ptr((char *)p); =20 @@ -29110,7 +25627,7 @@ diff -urNp linux-2.6.32.48/drivers/char/mem.c lin= ux-2.6.32.48/drivers/char/mem.c return -EFAULT; buf +=3D sz; p +=3D sz; -@@ -889,6 +941,9 @@ static const struct memdev { +@@ -866,6 +913,9 @@ static const struct memdev { #ifdef CONFIG_CRASH_DUMP [12] =3D { "oldmem", 0, &oldmem_fops, NULL }, #endif @@ -29120,150 +25637,22 @@ diff -urNp linux-2.6.32.48/drivers/char/mem.c = linux-2.6.32.48/drivers/char/mem.c }; =20 static int memory_open(struct inode *inode, struct file *filp) -diff -urNp linux-2.6.32.48/drivers/char/pcmcia/ipwireless/tty.c linux-2.= 6.32.48/drivers/char/pcmcia/ipwireless/tty.c ---- linux-2.6.32.48/drivers/char/pcmcia/ipwireless/tty.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/char/pcmcia/ipwireless/tty.c 2011-11-12 12:4= 6:42.000000000 -0500 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include -=20 - #include "tty.h" - #include "network.h" -@@ -51,7 +52,7 @@ struct ipw_tty { - int tty_type; - struct ipw_network *network; - struct tty_struct *linux_tty; -- int open_count; -+ local_t open_count; - unsigned int control_lines; - struct mutex ipw_tty_mutex; - int tx_bytes_queued; -@@ -127,10 +128,10 @@ static int ipw_open(struct tty_struct *l - mutex_unlock(&tty->ipw_tty_mutex); - return -ENODEV; - } -- if (tty->open_count =3D=3D 0) -+ if (local_read(&tty->open_count) =3D=3D 0) - tty->tx_bytes_queued =3D 0; -=20 -- tty->open_count++; -+ local_inc(&tty->open_count); -=20 - tty->linux_tty =3D linux_tty; - linux_tty->driver_data =3D tty; -@@ -146,9 +147,7 @@ static int ipw_open(struct tty_struct *l -=20 - static void do_ipw_close(struct ipw_tty *tty) - { -- tty->open_count--; -- -- if (tty->open_count =3D=3D 0) { -+ if (local_dec_return(&tty->open_count) =3D=3D 0) { - struct tty_struct *linux_tty =3D tty->linux_tty; -=20 - if (linux_tty !=3D NULL) { -@@ -169,7 +168,7 @@ static void ipw_hangup(struct tty_struct - return; -=20 - mutex_lock(&tty->ipw_tty_mutex); -- if (tty->open_count =3D=3D 0) { -+ if (local_read(&tty->open_count) =3D=3D 0) { - mutex_unlock(&tty->ipw_tty_mutex); - return; - } -@@ -198,7 +197,7 @@ void ipwireless_tty_received(struct ipw_ - return; - } -=20 -- if (!tty->open_count) { -+ if (!local_read(&tty->open_count)) { - mutex_unlock(&tty->ipw_tty_mutex); - return; - } -@@ -240,7 +239,7 @@ static int ipw_write(struct tty_struct * - return -ENODEV; -=20 - mutex_lock(&tty->ipw_tty_mutex); -- if (!tty->open_count) { -+ if (!local_read(&tty->open_count)) { - mutex_unlock(&tty->ipw_tty_mutex); - return -EINVAL; - } -@@ -280,7 +279,7 @@ static int ipw_write_room(struct tty_str - if (!tty) - return -ENODEV; -=20 -- if (!tty->open_count) -+ if (!local_read(&tty->open_count)) - return -EINVAL; -=20 - room =3D IPWIRELESS_TX_QUEUE_SIZE - tty->tx_bytes_queued; -@@ -322,7 +321,7 @@ static int ipw_chars_in_buffer(struct tt - if (!tty) - return 0; -=20 -- if (!tty->open_count) -+ if (!local_read(&tty->open_count)) - return 0; -=20 - return tty->tx_bytes_queued; -@@ -403,7 +402,7 @@ static int ipw_tiocmget(struct tty_struc - if (!tty) - return -ENODEV; -=20 -- if (!tty->open_count) -+ if (!local_read(&tty->open_count)) - return -EINVAL; -=20 - return get_control_lines(tty); -@@ -419,7 +418,7 @@ ipw_tiocmset(struct tty_struct *linux_tt - if (!tty) - return -ENODEV; -=20 -- if (!tty->open_count) -+ if (!local_read(&tty->open_count)) - return -EINVAL; -=20 - return set_control_lines(tty, set, clear); -@@ -433,7 +432,7 @@ static int ipw_ioctl(struct tty_struct * - if (!tty) - return -ENODEV; +diff -urNp linux-3.0.8/drivers/char/nvram.c linux-3.0.8/drivers/char/nvr= am.c +--- linux-3.0.8/drivers/char/nvram.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/char/nvram.c 2011-08-23 21:47:55.000000000 -0400 +@@ -246,7 +246,7 @@ static ssize_t nvram_read(struct file *f =20 -- if (!tty->open_count) -+ if (!local_read(&tty->open_count)) - return -EINVAL; -=20 - /* FIXME: Exactly how is the tty object locked here .. */ -@@ -591,7 +590,7 @@ void ipwireless_tty_free(struct ipw_tty=20 - against a parallel ioctl etc */ - mutex_lock(&ttyj->ipw_tty_mutex); - } -- while (ttyj->open_count) -+ while (local_read(&ttyj->open_count)) - do_ipw_close(ttyj); - ipwireless_disassociate_network_ttys(network, - ttyj->channel_idx); -diff -urNp linux-2.6.32.48/drivers/char/pty.c linux-2.6.32.48/drivers/ch= ar/pty.c ---- linux-2.6.32.48/drivers/char/pty.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/char/pty.c 2011-11-12 12:46:42.000000000 -05= 00 -@@ -736,8 +736,10 @@ static void __init unix98_pty_init(void) - register_sysctl_table(pty_root_table); + spin_unlock_irq(&rtc_lock); =20 - /* Now create the /dev/ptmx special device */ -+ pax_open_kernel(); - tty_default_fops(&ptmx_fops); -- ptmx_fops.open =3D ptmx_open; -+ *(void **)&ptmx_fops.open =3D ptmx_open; -+ pax_close_kernel(); +- if (copy_to_user(buf, contents, tmp - contents)) ++ if (tmp - contents > sizeof(contents) || copy_to_user(buf, contents, t= mp - contents)) + return -EFAULT; =20 - cdev_init(&ptmx_cdev, &ptmx_fops); - if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) || -diff -urNp linux-2.6.32.48/drivers/char/random.c linux-2.6.32.48/drivers= /char/random.c ---- linux-2.6.32.48/drivers/char/random.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/char/random.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -254,8 +254,13 @@ + *ppos =3D i; +diff -urNp linux-3.0.8/drivers/char/random.c linux-3.0.8/drivers/char/ra= ndom.c +--- linux-3.0.8/drivers/char/random.c 2011-10-24 08:05:21.000000000 -040= 0 ++++ linux-3.0.8/drivers/char/random.c 2011-08-23 21:48:14.000000000 -040= 0 +@@ -261,8 +261,13 @@ /* * Configuration information */ @@ -29275,9 +25664,9 @@ diff -urNp linux-2.6.32.48/drivers/char/random.c = linux-2.6.32.48/drivers/char/ra #define OUTPUT_POOL_WORDS 32 +#endif #define SEC_XFER_SIZE 512 + #define EXTRACT_SIZE 10 =20 - /* -@@ -292,10 +297,17 @@ static struct poolinfo { +@@ -300,10 +305,17 @@ static struct poolinfo { int poolwords; int tap1, tap2, tap3, tap4, tap5; } poolinfo_table[] =3D { @@ -29295,7 +25684,16 @@ diff -urNp linux-2.6.32.48/drivers/char/random.c= linux-2.6.32.48/drivers/char/ra #if 0 /* x^2048 + x^1638 + x^1231 + x^819 + x^411 + x + 1 -- 115 */ { 2048, 1638, 1231, 819, 411, 1 }, -@@ -1209,7 +1221,7 @@ EXPORT_SYMBOL(generate_random_uuid); +@@ -909,7 +921,7 @@ static ssize_t extract_entropy_user(stru +=20 + extract_buf(r, tmp); + i =3D min_t(int, nbytes, EXTRACT_SIZE); +- if (copy_to_user(buf, tmp, i)) { ++ if (i > sizeof(tmp) || copy_to_user(buf, tmp, i)) { + ret =3D -EFAULT; + break; + } +@@ -1214,7 +1226,7 @@ EXPORT_SYMBOL(generate_random_uuid); #include =20 static int min_read_thresh =3D 8, min_write_thresh; @@ -29304,21 +25702,9 @@ diff -urNp linux-2.6.32.48/drivers/char/random.c= linux-2.6.32.48/drivers/char/ra static int max_write_thresh =3D INPUT_POOL_WORDS * 32; static char sysctl_bootid[16]; =20 -diff -urNp linux-2.6.32.48/drivers/char/rocket.c linux-2.6.32.48/drivers= /char/rocket.c ---- linux-2.6.32.48/drivers/char/rocket.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/char/rocket.c 2011-11-12 12:46:42.000000000 = -0500 -@@ -1266,6 +1266,8 @@ static int get_ports(struct r_port *info - struct rocket_ports tmp; - int board; -=20 -+ pax_track_stack(); -+ - if (!retports) - return -EFAULT; - memset(&tmp, 0, sizeof (tmp)); -diff -urNp linux-2.6.32.48/drivers/char/sonypi.c linux-2.6.32.48/drivers= /char/sonypi.c ---- linux-2.6.32.48/drivers/char/sonypi.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/char/sonypi.c 2011-11-12 12:46:42.000000000 = -0500 +diff -urNp linux-3.0.8/drivers/char/sonypi.c linux-3.0.8/drivers/char/so= nypi.c +--- linux-3.0.8/drivers/char/sonypi.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/char/sonypi.c 2011-08-23 21:47:55.000000000 -040= 0 @@ -55,6 +55,7 @@ #include #include @@ -29336,7 +25722,7 @@ diff -urNp linux-2.6.32.48/drivers/char/sonypi.c = linux-2.6.32.48/drivers/char/so int model; struct input_dev *input_jog_dev; struct input_dev *input_key_dev; -@@ -895,7 +896,7 @@ static int sonypi_misc_fasync(int fd, st +@@ -898,7 +899,7 @@ static int sonypi_misc_fasync(int fd, st static int sonypi_misc_release(struct inode *inode, struct file *file) { mutex_lock(&sonypi_device.lock); @@ -29345,34 +25731,22 @@ diff -urNp linux-2.6.32.48/drivers/char/sonypi.= c linux-2.6.32.48/drivers/char/so mutex_unlock(&sonypi_device.lock); return 0; } -@@ -905,9 +906,9 @@ static int sonypi_misc_open(struct inode - lock_kernel(); +@@ -907,9 +908,9 @@ static int sonypi_misc_open(struct inode + { mutex_lock(&sonypi_device.lock); /* Flush input queue on first open */ - if (!sonypi_device.open_count) + if (!local_read(&sonypi_device.open_count)) - kfifo_reset(sonypi_device.fifo); + kfifo_reset(&sonypi_device.fifo); - sonypi_device.open_count++; + local_inc(&sonypi_device.open_count); mutex_unlock(&sonypi_device.lock); - unlock_kernel(); - return 0; -diff -urNp linux-2.6.32.48/drivers/char/stallion.c linux-2.6.32.48/drive= rs/char/stallion.c ---- linux-2.6.32.48/drivers/char/stallion.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/stallion.c 2011-11-12 12:46:42.00000000= 0 -0500 -@@ -2448,6 +2448,8 @@ static int stl_getportstruct(struct stlp - struct stlport stl_dummyport; - struct stlport *portp; =20 -+ pax_track_stack(); -+ - if (copy_from_user(&stl_dummyport, arg, sizeof(struct stlport))) - return -EFAULT; - portp =3D stl_getport(stl_dummyport.brdnr, stl_dummyport.panelnr, -diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm_bios.c linux-2.6.32.48/d= rivers/char/tpm/tpm_bios.c ---- linux-2.6.32.48/drivers/char/tpm/tpm_bios.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/char/tpm/tpm_bios.c 2011-11-12 12:46:42.0000= 00000 -0500 -@@ -172,7 +172,7 @@ static void *tpm_bios_measurements_start + return 0; +diff -urNp linux-3.0.8/drivers/char/tpm/tpm_bios.c linux-3.0.8/drivers/c= har/tpm/tpm_bios.c +--- linux-3.0.8/drivers/char/tpm/tpm_bios.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/char/tpm/tpm_bios.c 2011-10-06 04:17:55.00000000= 0 -0400 +@@ -173,7 +173,7 @@ static void *tpm_bios_measurements_start event =3D addr; =20 if ((event->event_type =3D=3D 0 && event->event_size =3D=3D 0) || @@ -29381,7 +25755,7 @@ diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm_b= ios.c linux-2.6.32.48/drivers/c return NULL; =20 return addr; -@@ -197,7 +197,7 @@ static void *tpm_bios_measurements_next( +@@ -198,7 +198,7 @@ static void *tpm_bios_measurements_next( return NULL; =20 if ((event->event_type =3D=3D 0 && event->event_size =3D=3D 0) || @@ -29390,7 +25764,7 @@ diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm_b= ios.c linux-2.6.32.48/drivers/c return NULL; =20 (*pos)++; -@@ -290,7 +290,8 @@ static int tpm_binary_bios_measurements_ +@@ -291,7 +291,8 @@ static int tpm_binary_bios_measurements_ int i; =20 for (i =3D 0; i < sizeof(struct tcpa_event) + event->event_size; i++) @@ -29400,7 +25774,7 @@ diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm_b= ios.c linux-2.6.32.48/drivers/c =20 return 0; } -@@ -409,8 +410,13 @@ static int read_log(struct tpm_bios_log=20 +@@ -410,8 +411,13 @@ static int read_log(struct tpm_bios_log=20 log->bios_event_log_end =3D log->bios_event_log + len; =20 virt =3D acpi_os_map_memory(start, len); @@ -29415,10 +25789,10 @@ diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm= _bios.c linux-2.6.32.48/drivers/c =20 acpi_os_unmap_memory(virt, len); return 0; -diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm.c linux-2.6.32.48/driver= s/char/tpm/tpm.c ---- linux-2.6.32.48/drivers/char/tpm/tpm.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/char/tpm/tpm.c 2011-11-12 12:51:33.000000000= -0500 -@@ -405,7 +405,7 @@ static ssize_t tpm_transmit(struct tpm_c +diff -urNp linux-3.0.8/drivers/char/tpm/tpm.c linux-3.0.8/drivers/char/t= pm/tpm.c +--- linux-3.0.8/drivers/char/tpm/tpm.c 2011-10-24 08:05:30.000000000 -04= 00 ++++ linux-3.0.8/drivers/char/tpm/tpm.c 2011-10-16 21:55:27.000000000 -04= 00 +@@ -414,7 +414,7 @@ static ssize_t tpm_transmit(struct tpm_c chip->vendor.req_complete_val) goto out_recv; =20 @@ -29427,7 +25801,7 @@ diff -urNp linux-2.6.32.48/drivers/char/tpm/tpm.c= linux-2.6.32.48/drivers/char/t dev_err(chip->dev, "Operation Canceled\n"); rc =3D -ECANCELED; goto out; -@@ -824,6 +824,8 @@ ssize_t tpm_show_pubek(struct device *de +@@ -847,6 +847,8 @@ ssize_t tpm_show_pubek(struct device *de =20 struct tpm_chip *chip =3D dev_get_drvdata(dev); =20 @@ -29436,231 +25810,30 @@ diff -urNp linux-2.6.32.48/drivers/char/tpm/tp= m.c linux-2.6.32.48/drivers/char/t tpm_cmd.header.in =3D tpm_readpubek_header; err =3D transmit_cmd(chip, &tpm_cmd, READ_PUBEK_RESULT_SIZE, "attempting to read the PUBEK"); -diff -urNp linux-2.6.32.48/drivers/char/tty_io.c linux-2.6.32.48/drivers= /char/tty_io.c ---- linux-2.6.32.48/drivers/char/tty_io.c 2011-11-12 12:44:28.000000000 = -0500 -+++ linux-2.6.32.48/drivers/char/tty_io.c 2011-11-12 12:50:08.000000000 = -0500 -@@ -1773,6 +1773,7 @@ got_driver: -=20 - if (IS_ERR(tty)) { - mutex_unlock(&tty_mutex); -+ tty_driver_kref_put(driver); - return PTR_ERR(tty); - } - } -@@ -2582,8 +2583,10 @@ long tty_ioctl(struct file *file, unsign - return retval; - } -=20 -+EXPORT_SYMBOL(tty_ioctl); -+ - #ifdef CONFIG_COMPAT --static long tty_compat_ioctl(struct file *file, unsigned int cmd, -+long tty_compat_ioctl(struct file *file, unsigned int cmd, - unsigned long arg) - { - struct inode *inode =3D file->f_dentry->d_inode; -@@ -2607,6 +2610,8 @@ static long tty_compat_ioctl(struct file -=20 - return retval; - } -+ -+EXPORT_SYMBOL(tty_compat_ioctl); - #endif -=20 - /* -@@ -3052,7 +3057,7 @@ EXPORT_SYMBOL_GPL(get_current_tty); -=20 - void tty_default_fops(struct file_operations *fops) - { -- *fops =3D tty_fops; -+ memcpy((void *)fops, &tty_fops, sizeof(tty_fops)); - } -=20 - /* -diff -urNp linux-2.6.32.48/drivers/char/tty_ldisc.c linux-2.6.32.48/driv= ers/char/tty_ldisc.c ---- linux-2.6.32.48/drivers/char/tty_ldisc.c 2011-11-12 12:44:28.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/char/tty_ldisc.c 2011-11-12 12:46:45.0000000= 00 -0500 -@@ -74,7 +74,7 @@ static void put_ldisc(struct tty_ldisc * - if (atomic_dec_and_lock(&ld->users, &tty_ldisc_lock)) { - struct tty_ldisc_ops *ldo =3D ld->ops; -=20 -- ldo->refcount--; -+ atomic_dec(&ldo->refcount); - module_put(ldo->owner); - spin_unlock_irqrestore(&tty_ldisc_lock, flags); -=20 -@@ -109,7 +109,7 @@ int tty_register_ldisc(int disc, struct=20 - spin_lock_irqsave(&tty_ldisc_lock, flags); - tty_ldiscs[disc] =3D new_ldisc; - new_ldisc->num =3D disc; -- new_ldisc->refcount =3D 0; -+ atomic_set(&new_ldisc->refcount, 0); - spin_unlock_irqrestore(&tty_ldisc_lock, flags); -=20 - return ret; -@@ -137,7 +137,7 @@ int tty_unregister_ldisc(int disc) - return -EINVAL; -=20 - spin_lock_irqsave(&tty_ldisc_lock, flags); -- if (tty_ldiscs[disc]->refcount) -+ if (atomic_read(&tty_ldiscs[disc]->refcount)) - ret =3D -EBUSY; - else - tty_ldiscs[disc] =3D NULL; -@@ -158,7 +158,7 @@ static struct tty_ldisc_ops *get_ldops(i - if (ldops) { - ret =3D ERR_PTR(-EAGAIN); - if (try_module_get(ldops->owner)) { -- ldops->refcount++; -+ atomic_inc(&ldops->refcount); - ret =3D ldops; - } - } -@@ -171,7 +171,7 @@ static void put_ldops(struct tty_ldisc_o - unsigned long flags; -=20 - spin_lock_irqsave(&tty_ldisc_lock, flags); -- ldops->refcount--; -+ atomic_dec(&ldops->refcount); - module_put(ldops->owner); - spin_unlock_irqrestore(&tty_ldisc_lock, flags); - } -diff -urNp linux-2.6.32.48/drivers/char/virtio_console.c linux-2.6.32.48= /drivers/char/virtio_console.c ---- linux-2.6.32.48/drivers/char/virtio_console.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/char/virtio_console.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -133,7 +133,9 @@ static int get_chars(u32 vtermno, char * - * virtqueue, so we let the drivers do some boutique early-output thing= . */ - int __init virtio_cons_early_init(int (*put_chars)(u32, const char *, i= nt)) - { -- virtio_cons.put_chars =3D put_chars; -+ pax_open_kernel(); -+ *(void **)&virtio_cons.put_chars =3D put_chars; -+ pax_close_kernel(); - return hvc_instantiate(0, 0, &virtio_cons); - } -=20 -@@ -213,11 +215,13 @@ static int __devinit virtcons_probe(stru - out_vq =3D vqs[1]; -=20 - /* Start using the new console output. */ -- virtio_cons.get_chars =3D get_chars; -- virtio_cons.put_chars =3D put_chars; -- virtio_cons.notifier_add =3D notifier_add_vio; -- virtio_cons.notifier_del =3D notifier_del_vio; -- virtio_cons.notifier_hangup =3D notifier_del_vio; -+ pax_open_kernel(); -+ *(void **)&virtio_cons.get_chars =3D get_chars; -+ *(void **)&virtio_cons.put_chars =3D put_chars; -+ *(void **)&virtio_cons.notifier_add =3D notifier_add_vio; -+ *(void **)&virtio_cons.notifier_del =3D notifier_del_vio; -+ *(void **)&virtio_cons.notifier_hangup =3D notifier_del_vio; -+ pax_close_kernel(); -=20 - /* The first argument of hvc_alloc() is the virtual console number, so - * we use zero. The second argument is the parameter for the -diff -urNp linux-2.6.32.48/drivers/char/vt.c linux-2.6.32.48/drivers/cha= r/vt.c ---- linux-2.6.32.48/drivers/char/vt.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/char/vt.c 2011-11-12 12:46:45.000000000 -050= 0 -@@ -243,7 +243,7 @@ EXPORT_SYMBOL_GPL(unregister_vt_notifier -=20 - static void notify_write(struct vc_data *vc, unsigned int unicode) - { -- struct vt_notifier_param param =3D { .vc =3D vc, unicode =3D unicode }= ; -+ struct vt_notifier_param param =3D { .vc =3D vc, .c =3D unicode }; - atomic_notifier_call_chain(&vt_notifier_list, VT_WRITE, ¶m); - } -=20 -diff -urNp linux-2.6.32.48/drivers/char/vt_ioctl.c linux-2.6.32.48/drive= rs/char/vt_ioctl.c ---- linux-2.6.32.48/drivers/char/vt_ioctl.c 2011-11-12 12:44:28.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/char/vt_ioctl.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -210,9 +210,6 @@ do_kdsk_ioctl(int cmd, struct kbentry __ - if (copy_from_user(&tmp, user_kbe, sizeof(struct kbentry))) - return -EFAULT; -=20 -- if (!capable(CAP_SYS_TTY_CONFIG)) -- perm =3D 0; -- - switch (cmd) { - case KDGKBENT: - key_map =3D key_maps[s]; -@@ -224,8 +221,12 @@ do_kdsk_ioctl(int cmd, struct kbentry __ - val =3D (i ? K_HOLE : K_NOSUCHMAP); - return put_user(val, &user_kbe->kb_value); - case KDSKBENT: -+ if (!capable(CAP_SYS_TTY_CONFIG)) -+ perm =3D 0; -+ - if (!perm) - return -EPERM; -+ - if (!i && v =3D=3D K_NOSUCHMAP) { - /* deallocate map */ - key_map =3D key_maps[s]; -@@ -325,9 +326,6 @@ do_kdgkb_ioctl(int cmd, struct kbsentry=20 - int i, j, k; - int ret; -=20 -- if (!capable(CAP_SYS_TTY_CONFIG)) -- perm =3D 0; -- - kbs =3D kmalloc(sizeof(*kbs), GFP_KERNEL); - if (!kbs) { - ret =3D -ENOMEM; -@@ -361,6 +359,9 @@ do_kdgkb_ioctl(int cmd, struct kbsentry=20 - kfree(kbs); - return ((p && *p) ? -EOVERFLOW : 0); - case KDSKBSENT: -+ if (!capable(CAP_SYS_TTY_CONFIG)) -+ perm =3D 0; -+ - if (!perm) { - ret =3D -EPERM; - goto reterr; -diff -urNp linux-2.6.32.48/drivers/cpufreq/cpufreq.c linux-2.6.32.48/dri= vers/cpufreq/cpufreq.c ---- linux-2.6.32.48/drivers/cpufreq/cpufreq.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/cpufreq/cpufreq.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -750,7 +750,7 @@ static void cpufreq_sysfs_release(struct - complete(&policy->kobj_unregister); - } -=20 --static struct sysfs_ops sysfs_ops =3D { -+static const struct sysfs_ops sysfs_ops =3D { - .show =3D show, - .store =3D store, - }; -diff -urNp linux-2.6.32.48/drivers/cpuidle/sysfs.c linux-2.6.32.48/drive= rs/cpuidle/sysfs.c ---- linux-2.6.32.48/drivers/cpuidle/sysfs.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/cpuidle/sysfs.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -191,7 +191,7 @@ static ssize_t cpuidle_store(struct kobj - return ret; - } +diff -urNp linux-3.0.8/drivers/char/virtio_console.c linux-3.0.8/drivers= /char/virtio_console.c +--- linux-3.0.8/drivers/char/virtio_console.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/char/virtio_console.c 2011-10-06 04:17:55.000000= 000 -0400 +@@ -555,7 +555,7 @@ static ssize_t fill_readbuf(struct port=20 + if (to_user) { + ssize_t ret; +=20 +- ret =3D copy_to_user(out_buf, buf->buf + buf->offset, out_count); ++ ret =3D copy_to_user((char __force_user *)out_buf, buf->buf + buf->of= fset, out_count); + if (ret) + return -EFAULT; + } else { +@@ -654,7 +654,7 @@ static ssize_t port_fops_read(struct fil + if (!port_has_data(port) && !port->host_connected) + return 0; =20 --static struct sysfs_ops cpuidle_sysfs_ops =3D { -+static const struct sysfs_ops cpuidle_sysfs_ops =3D { - .show =3D cpuidle_show, - .store =3D cpuidle_store, - }; -@@ -277,7 +277,7 @@ static ssize_t cpuidle_state_show(struct - return ret; +- return fill_readbuf(port, ubuf, count, true); ++ return fill_readbuf(port, (char __force_kernel *)ubuf, count, true); } =20 --static struct sysfs_ops cpuidle_state_sysfs_ops =3D { -+static const struct sysfs_ops cpuidle_state_sysfs_ops =3D { - .show =3D cpuidle_state_show, - }; -=20 -@@ -294,7 +294,7 @@ static struct kobj_type ktype_state_cpui - .release =3D cpuidle_state_sysfs_release, - }; -=20 --static void inline cpuidle_free_state_kobj(struct cpuidle_device *devic= e, int i) -+static inline void cpuidle_free_state_kobj(struct cpuidle_device *devic= e, int i) - { - kobject_put(&device->kobjs[i]->kobj); - wait_for_completion(&device->kobjs[i]->kobj_unregister); -diff -urNp linux-2.6.32.48/drivers/crypto/hifn_795x.c linux-2.6.32.48/dr= ivers/crypto/hifn_795x.c ---- linux-2.6.32.48/drivers/crypto/hifn_795x.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/crypto/hifn_795x.c 2011-11-12 12:46:45.00000= 0000 -0500 + static ssize_t port_fops_write(struct file *filp, const char __user *ub= uf, +diff -urNp linux-3.0.8/drivers/crypto/hifn_795x.c linux-3.0.8/drivers/cr= ypto/hifn_795x.c +--- linux-3.0.8/drivers/crypto/hifn_795x.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/crypto/hifn_795x.c 2011-08-23 21:48:14.000000000= -0400 @@ -1655,6 +1655,8 @@ static int hifn_test(struct hifn_device=20 0xCA, 0x34, 0x2B, 0x2E}; struct scatterlist sg; @@ -29670,10 +25843,10 @@ diff -urNp linux-2.6.32.48/drivers/crypto/hifn_= 795x.c linux-2.6.32.48/drivers/cr memset(src, 0, sizeof(src)); memset(ctx.key, 0, sizeof(ctx.key)); =20 -diff -urNp linux-2.6.32.48/drivers/crypto/padlock-aes.c linux-2.6.32.48/= drivers/crypto/padlock-aes.c ---- linux-2.6.32.48/drivers/crypto/padlock-aes.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/crypto/padlock-aes.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -108,6 +108,8 @@ static int aes_set_key(struct crypto_tfm +diff -urNp linux-3.0.8/drivers/crypto/padlock-aes.c linux-3.0.8/drivers/= crypto/padlock-aes.c +--- linux-3.0.8/drivers/crypto/padlock-aes.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/crypto/padlock-aes.c 2011-08-23 21:48:14.0000000= 00 -0400 +@@ -109,6 +109,8 @@ static int aes_set_key(struct crypto_tfm struct crypto_aes_ctx gen_aes; int cpu; =20 @@ -29682,85 +25855,76 @@ diff -urNp linux-2.6.32.48/drivers/crypto/padlo= ck-aes.c linux-2.6.32.48/drivers/ if (key_len % 8) { *flags |=3D CRYPTO_TFM_RES_BAD_KEY_LEN; return -EINVAL; -diff -urNp linux-2.6.32.48/drivers/dma/ioat/dma.c linux-2.6.32.48/driver= s/dma/ioat/dma.c ---- linux-2.6.32.48/drivers/dma/ioat/dma.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/dma/ioat/dma.c 2011-11-12 12:46:45.000000000= -0500 -@@ -1146,7 +1146,7 @@ ioat_attr_show(struct kobject *kobj, str - return entry->show(&chan->common, page); - } -=20 --struct sysfs_ops ioat_sysfs_ops =3D { -+const struct sysfs_ops ioat_sysfs_ops =3D { - .show =3D ioat_attr_show, - }; -=20 -diff -urNp linux-2.6.32.48/drivers/dma/ioat/dma.h linux-2.6.32.48/driver= s/dma/ioat/dma.h ---- linux-2.6.32.48/drivers/dma/ioat/dma.h 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/dma/ioat/dma.h 2011-11-12 12:46:45.000000000= -0500 -@@ -347,7 +347,7 @@ bool ioat_cleanup_preamble(struct ioat_c - unsigned long *phys_complete); - void ioat_kobject_add(struct ioatdma_device *device, struct kobj_type *= type); - void ioat_kobject_del(struct ioatdma_device *device); --extern struct sysfs_ops ioat_sysfs_ops; -+extern const struct sysfs_ops ioat_sysfs_ops; - extern struct ioat_sysfs_entry ioat_version_attr; - extern struct ioat_sysfs_entry ioat_cap_attr; - #endif /* IOATDMA_H */ -diff -urNp linux-2.6.32.48/drivers/edac/edac_device_sysfs.c linux-2.6.32= .48/drivers/edac/edac_device_sysfs.c ---- linux-2.6.32.48/drivers/edac/edac_device_sysfs.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/edac/edac_device_sysfs.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -137,7 +137,7 @@ static ssize_t edac_dev_ctl_info_store(s - } -=20 - /* edac_dev file operations for an 'ctl_info' */ --static struct sysfs_ops device_ctl_info_ops =3D { -+static const struct sysfs_ops device_ctl_info_ops =3D { - .show =3D edac_dev_ctl_info_show, - .store =3D edac_dev_ctl_info_store - }; -@@ -373,7 +373,7 @@ static ssize_t edac_dev_instance_store(s - } -=20 - /* edac_dev file operations for an 'instance' */ --static struct sysfs_ops device_instance_ops =3D { -+static const struct sysfs_ops device_instance_ops =3D { - .show =3D edac_dev_instance_show, - .store =3D edac_dev_instance_store - }; -@@ -476,7 +476,7 @@ static ssize_t edac_dev_block_store(stru +diff -urNp linux-3.0.8/drivers/dma/ioat/dma_v3.c linux-3.0.8/drivers/dma= /ioat/dma_v3.c +--- linux-3.0.8/drivers/dma/ioat/dma_v3.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/dma/ioat/dma_v3.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -73,10 +73,10 @@ + /* provide a lookup table for setting the source address in the base or + * extended descriptor of an xor or pq descriptor + */ +-static const u8 xor_idx_to_desc __read_mostly =3D 0xd0; +-static const u8 xor_idx_to_field[] __read_mostly =3D { 1, 4, 5, 6, 7, 0= , 1, 2 }; +-static const u8 pq_idx_to_desc __read_mostly =3D 0xf8; +-static const u8 pq_idx_to_field[] __read_mostly =3D { 1, 4, 5, 0, 1, 2,= 4, 5 }; ++static const u8 xor_idx_to_desc =3D 0xd0; ++static const u8 xor_idx_to_field[] =3D { 1, 4, 5, 6, 7, 0, 1, 2 }; ++static const u8 pq_idx_to_desc =3D 0xf8; ++static const u8 pq_idx_to_field[] =3D { 1, 4, 5, 0, 1, 2, 4, 5 }; +=20 + static dma_addr_t xor_get_src(struct ioat_raw_descriptor *descs[2], int= idx) + { +diff -urNp linux-3.0.8/drivers/edac/amd64_edac.c linux-3.0.8/drivers/eda= c/amd64_edac.c +--- linux-3.0.8/drivers/edac/amd64_edac.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/edac/amd64_edac.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -2670,7 +2670,7 @@ static void __devexit amd64_remove_one_i + * PCI core identifies what devices are on a system during boot, and th= en + * inquiry this table to see if this driver is for a given device found= . + */ +-static const struct pci_device_id amd64_pci_table[] __devinitdata =3D { ++static const struct pci_device_id amd64_pci_table[] __devinitconst =3D = { + { + .vendor =3D PCI_VENDOR_ID_AMD, + .device =3D PCI_DEVICE_ID_AMD_K8_NB_MEMCTL, +diff -urNp linux-3.0.8/drivers/edac/amd76x_edac.c linux-3.0.8/drivers/ed= ac/amd76x_edac.c +--- linux-3.0.8/drivers/edac/amd76x_edac.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/edac/amd76x_edac.c 2011-10-11 10:44:33.000000000= -0400 +@@ -321,7 +321,7 @@ static void __devexit amd76x_remove_one( + edac_mc_free(mci); } =20 - /* edac_dev file operations for a 'block' */ --static struct sysfs_ops device_block_ops =3D { -+static const struct sysfs_ops device_block_ops =3D { - .show =3D edac_dev_block_show, - .store =3D edac_dev_block_store - }; -diff -urNp linux-2.6.32.48/drivers/edac/edac_mc_sysfs.c linux-2.6.32.48/= drivers/edac/edac_mc_sysfs.c ---- linux-2.6.32.48/drivers/edac/edac_mc_sysfs.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/edac/edac_mc_sysfs.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -245,7 +245,7 @@ static ssize_t csrowdev_store(struct kob - return -EIO; +-static const struct pci_device_id amd76x_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id amd76x_pci_tbl[] __devinitconst =3D { + { + PCI_VEND_DEV(AMD, FE_GATE_700C), PCI_ANY_ID, PCI_ANY_ID, 0, 0, + AMD762}, +diff -urNp linux-3.0.8/drivers/edac/e752x_edac.c linux-3.0.8/drivers/eda= c/e752x_edac.c +--- linux-3.0.8/drivers/edac/e752x_edac.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/edac/e752x_edac.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -1380,7 +1380,7 @@ static void __devexit e752x_remove_one(s + edac_mc_free(mci); } =20 --static struct sysfs_ops csrowfs_ops =3D { -+static const struct sysfs_ops csrowfs_ops =3D { - .show =3D csrowdev_show, - .store =3D csrowdev_store - }; -@@ -575,7 +575,7 @@ static ssize_t mcidev_store(struct kobje +-static const struct pci_device_id e752x_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id e752x_pci_tbl[] __devinitconst =3D { + { + PCI_VEND_DEV(INTEL, 7520_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0, + E7520}, +diff -urNp linux-3.0.8/drivers/edac/e7xxx_edac.c linux-3.0.8/drivers/eda= c/e7xxx_edac.c +--- linux-3.0.8/drivers/edac/e7xxx_edac.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/edac/e7xxx_edac.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -525,7 +525,7 @@ static void __devexit e7xxx_remove_one(s + edac_mc_free(mci); } =20 - /* Intermediate show/store table */ --static struct sysfs_ops mci_ops =3D { -+static const struct sysfs_ops mci_ops =3D { - .show =3D mcidev_show, - .store =3D mcidev_store - }; -diff -urNp linux-2.6.32.48/drivers/edac/edac_pci_sysfs.c linux-2.6.32.48= /drivers/edac/edac_pci_sysfs.c ---- linux-2.6.32.48/drivers/edac/edac_pci_sysfs.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/edac/edac_pci_sysfs.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -25,8 +25,8 @@ static int edac_pci_log_pe =3D 1; /* log=20 +-static const struct pci_device_id e7xxx_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id e7xxx_pci_tbl[] __devinitconst =3D { + { + PCI_VEND_DEV(INTEL, 7205_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0, + E7205}, +diff -urNp linux-3.0.8/drivers/edac/edac_pci_sysfs.c linux-3.0.8/drivers= /edac/edac_pci_sysfs.c +--- linux-3.0.8/drivers/edac/edac_pci_sysfs.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/edac/edac_pci_sysfs.c 2011-08-23 21:47:55.000000= 000 -0400 +@@ -26,8 +26,8 @@ static int edac_pci_log_pe =3D 1; /* log=20 static int edac_pci_log_npe =3D 1; /* log PCI non-parity error errors *= / static int edac_pci_poll_msec =3D 1000; /* one second workq period */ =20 @@ -29771,25 +25935,7 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_pci= _sysfs.c linux-2.6.32.48/drivers =20 static struct kobject *edac_pci_top_main_kobj; static atomic_t edac_pci_sysfs_refcount =3D ATOMIC_INIT(0); -@@ -121,7 +121,7 @@ static ssize_t edac_pci_instance_store(s - } -=20 - /* fs_ops table */ --static struct sysfs_ops pci_instance_ops =3D { -+static const struct sysfs_ops pci_instance_ops =3D { - .show =3D edac_pci_instance_show, - .store =3D edac_pci_instance_store - }; -@@ -261,7 +261,7 @@ static ssize_t edac_pci_dev_store(struct - return -EIO; - } -=20 --static struct sysfs_ops edac_pci_sysfs_ops =3D { -+static const struct sysfs_ops edac_pci_sysfs_ops =3D { - .show =3D edac_pci_dev_show, - .store =3D edac_pci_dev_store - }; -@@ -579,7 +579,7 @@ static void edac_pci_dev_parity_test(str +@@ -582,7 +582,7 @@ static void edac_pci_dev_parity_test(str edac_printk(KERN_CRIT, EDAC_PCI, "Signaled System Error on %s\n", pci_name(dev)); @@ -29798,7 +25944,7 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_pci_= sysfs.c linux-2.6.32.48/drivers } =20 if (status & (PCI_STATUS_PARITY)) { -@@ -587,7 +587,7 @@ static void edac_pci_dev_parity_test(str +@@ -590,7 +590,7 @@ static void edac_pci_dev_parity_test(str "Master Data Parity Error on %s\n", pci_name(dev)); =20 @@ -29807,7 +25953,7 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_pci_= sysfs.c linux-2.6.32.48/drivers } =20 if (status & (PCI_STATUS_DETECTED_PARITY)) { -@@ -595,7 +595,7 @@ static void edac_pci_dev_parity_test(str +@@ -598,7 +598,7 @@ static void edac_pci_dev_parity_test(str "Detected Parity Error on %s\n", pci_name(dev)); =20 @@ -29816,7 +25962,7 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_pci_= sysfs.c linux-2.6.32.48/drivers } } =20 -@@ -616,7 +616,7 @@ static void edac_pci_dev_parity_test(str +@@ -619,7 +619,7 @@ static void edac_pci_dev_parity_test(str edac_printk(KERN_CRIT, EDAC_PCI, "Bridge " "Signaled System Error on %s\n", pci_name(dev)); @@ -29825,7 +25971,7 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_pci_= sysfs.c linux-2.6.32.48/drivers } =20 if (status & (PCI_STATUS_PARITY)) { -@@ -624,7 +624,7 @@ static void edac_pci_dev_parity_test(str +@@ -627,7 +627,7 @@ static void edac_pci_dev_parity_test(str "Master Data Parity Error on " "%s\n", pci_name(dev)); =20 @@ -29834,7 +25980,7 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_pci_= sysfs.c linux-2.6.32.48/drivers } =20 if (status & (PCI_STATUS_DETECTED_PARITY)) { -@@ -632,7 +632,7 @@ static void edac_pci_dev_parity_test(str +@@ -635,7 +635,7 @@ static void edac_pci_dev_parity_test(str "Detected Parity Error on %s\n", pci_name(dev)); =20 @@ -29843,7 +25989,7 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_pci_= sysfs.c linux-2.6.32.48/drivers } } } -@@ -674,7 +674,7 @@ void edac_pci_do_parity_check(void) +@@ -677,7 +677,7 @@ void edac_pci_do_parity_check(void) if (!check_pci_errors) return; =20 @@ -29852,7 +25998,7 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_pci_= sysfs.c linux-2.6.32.48/drivers =20 /* scan all PCI devices looking for a Parity Error on devices and * bridges. -@@ -686,7 +686,7 @@ void edac_pci_do_parity_check(void) +@@ -689,7 +689,7 @@ void edac_pci_do_parity_check(void) /* Only if operator has selected panic on PCI Error */ if (edac_pci_get_panic_on_pe()) { /* If the count is different 'after' from 'before' */ @@ -29861,10 +26007,178 @@ diff -urNp linux-2.6.32.48/drivers/edac/edac_p= ci_sysfs.c linux-2.6.32.48/drivers panic("EDAC: PCI Parity Error"); } } -diff -urNp linux-2.6.32.48/drivers/firewire/core-card.c linux-2.6.32.48/= drivers/firewire/core-card.c ---- linux-2.6.32.48/drivers/firewire/core-card.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/firewire/core-card.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -558,7 +558,7 @@ void fw_card_release(struct kref *kref) +diff -urNp linux-3.0.8/drivers/edac/i3000_edac.c linux-3.0.8/drivers/eda= c/i3000_edac.c +--- linux-3.0.8/drivers/edac/i3000_edac.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/edac/i3000_edac.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -470,7 +470,7 @@ static void __devexit i3000_remove_one(s + edac_mc_free(mci); + } +=20 +-static const struct pci_device_id i3000_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id i3000_pci_tbl[] __devinitconst =3D { + { + PCI_VEND_DEV(INTEL, 3000_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0, + I3000}, +diff -urNp linux-3.0.8/drivers/edac/i3200_edac.c linux-3.0.8/drivers/eda= c/i3200_edac.c +--- linux-3.0.8/drivers/edac/i3200_edac.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/edac/i3200_edac.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -456,7 +456,7 @@ static void __devexit i3200_remove_one(s + edac_mc_free(mci); + } +=20 +-static const struct pci_device_id i3200_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id i3200_pci_tbl[] __devinitconst =3D { + { + PCI_VEND_DEV(INTEL, 3200_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0, + I3200}, +diff -urNp linux-3.0.8/drivers/edac/i5000_edac.c linux-3.0.8/drivers/eda= c/i5000_edac.c +--- linux-3.0.8/drivers/edac/i5000_edac.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/edac/i5000_edac.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -1516,7 +1516,7 @@ static void __devexit i5000_remove_one(s + * + * The "E500P" device is the first device supported. + */ +-static const struct pci_device_id i5000_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id i5000_pci_tbl[] __devinitconst =3D { + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I5000_DEV16), + .driver_data =3D I5000P}, +=20 +diff -urNp linux-3.0.8/drivers/edac/i5100_edac.c linux-3.0.8/drivers/eda= c/i5100_edac.c +--- linux-3.0.8/drivers/edac/i5100_edac.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/edac/i5100_edac.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -1051,7 +1051,7 @@ static void __devexit i5100_remove_one(s + edac_mc_free(mci); + } +=20 +-static const struct pci_device_id i5100_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id i5100_pci_tbl[] __devinitconst =3D { + /* Device 16, Function 0, Channel 0 Memory Map, Error Flag/Mask, ... *= / + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5100_16) }, + { 0, } +diff -urNp linux-3.0.8/drivers/edac/i5400_edac.c linux-3.0.8/drivers/eda= c/i5400_edac.c +--- linux-3.0.8/drivers/edac/i5400_edac.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/edac/i5400_edac.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -1383,7 +1383,7 @@ static void __devexit i5400_remove_one(s + * + * The "E500P" device is the first device supported. + */ +-static const struct pci_device_id i5400_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id i5400_pci_tbl[] __devinitconst =3D { + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5400_ERR)}, + {0,} /* 0 terminated list. */ + }; +diff -urNp linux-3.0.8/drivers/edac/i7300_edac.c linux-3.0.8/drivers/eda= c/i7300_edac.c +--- linux-3.0.8/drivers/edac/i7300_edac.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/edac/i7300_edac.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -1191,7 +1191,7 @@ static void __devexit i7300_remove_one(s + * + * Has only 8086:360c PCI ID + */ +-static const struct pci_device_id i7300_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id i7300_pci_tbl[] __devinitconst =3D { + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I7300_MCH_ERR)}, + {0,} /* 0 terminated list. */ + }; +diff -urNp linux-3.0.8/drivers/edac/i7core_edac.c linux-3.0.8/drivers/ed= ac/i7core_edac.c +--- linux-3.0.8/drivers/edac/i7core_edac.c 2011-10-24 08:05:23.000000000= -0400 ++++ linux-3.0.8/drivers/edac/i7core_edac.c 2011-10-11 10:44:33.000000000= -0400 +@@ -359,7 +359,7 @@ static const struct pci_id_table pci_dev + /* + * pci_device_id table for which devices we are looking for + */ +-static const struct pci_device_id i7core_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id i7core_pci_tbl[] __devinitconst =3D { + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_X58_HUB_MGMT)}, + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNNFIELD_QPI_LIN= K0)}, + {0,} /* 0 terminated list. */ +diff -urNp linux-3.0.8/drivers/edac/i82443bxgx_edac.c linux-3.0.8/driver= s/edac/i82443bxgx_edac.c +--- linux-3.0.8/drivers/edac/i82443bxgx_edac.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/edac/i82443bxgx_edac.c 2011-10-11 10:44:33.00000= 0000 -0400 +@@ -380,7 +380,7 @@ static void __devexit i82443bxgx_edacmc_ +=20 + EXPORT_SYMBOL_GPL(i82443bxgx_edacmc_remove_one); +=20 +-static const struct pci_device_id i82443bxgx_pci_tbl[] __devinitdata =3D= { ++static const struct pci_device_id i82443bxgx_pci_tbl[] __devinitconst =3D= { + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_0)}, + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_2)}, + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443GX_0)}, +diff -urNp linux-3.0.8/drivers/edac/i82860_edac.c linux-3.0.8/drivers/ed= ac/i82860_edac.c +--- linux-3.0.8/drivers/edac/i82860_edac.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/edac/i82860_edac.c 2011-10-11 10:44:33.000000000= -0400 +@@ -270,7 +270,7 @@ static void __devexit i82860_remove_one( + edac_mc_free(mci); + } +=20 +-static const struct pci_device_id i82860_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id i82860_pci_tbl[] __devinitconst =3D { + { + PCI_VEND_DEV(INTEL, 82860_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0, + I82860}, +diff -urNp linux-3.0.8/drivers/edac/i82875p_edac.c linux-3.0.8/drivers/e= dac/i82875p_edac.c +--- linux-3.0.8/drivers/edac/i82875p_edac.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/edac/i82875p_edac.c 2011-10-11 10:44:33.00000000= 0 -0400 +@@ -511,7 +511,7 @@ static void __devexit i82875p_remove_one + edac_mc_free(mci); + } +=20 +-static const struct pci_device_id i82875p_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id i82875p_pci_tbl[] __devinitconst =3D = { + { + PCI_VEND_DEV(INTEL, 82875_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0, + I82875P}, +diff -urNp linux-3.0.8/drivers/edac/i82975x_edac.c linux-3.0.8/drivers/e= dac/i82975x_edac.c +--- linux-3.0.8/drivers/edac/i82975x_edac.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/edac/i82975x_edac.c 2011-10-11 10:44:33.00000000= 0 -0400 +@@ -604,7 +604,7 @@ static void __devexit i82975x_remove_one + edac_mc_free(mci); + } +=20 +-static const struct pci_device_id i82975x_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id i82975x_pci_tbl[] __devinitconst =3D = { + { + PCI_VEND_DEV(INTEL, 82975_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0, + I82975X +diff -urNp linux-3.0.8/drivers/edac/mce_amd.h linux-3.0.8/drivers/edac/m= ce_amd.h +--- linux-3.0.8/drivers/edac/mce_amd.h 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/edac/mce_amd.h 2011-08-23 21:47:55.000000000 -04= 00 +@@ -83,7 +83,7 @@ struct amd_decoder_ops { + bool (*dc_mce)(u16, u8); + bool (*ic_mce)(u16, u8); + bool (*nb_mce)(u16, u8); +-}; ++} __no_const; +=20 + void amd_report_gart_errors(bool); + void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32)); +diff -urNp linux-3.0.8/drivers/edac/r82600_edac.c linux-3.0.8/drivers/ed= ac/r82600_edac.c +--- linux-3.0.8/drivers/edac/r82600_edac.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/edac/r82600_edac.c 2011-10-11 10:44:33.000000000= -0400 +@@ -373,7 +373,7 @@ static void __devexit r82600_remove_one( + edac_mc_free(mci); + } +=20 +-static const struct pci_device_id r82600_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id r82600_pci_tbl[] __devinitconst =3D { + { + PCI_DEVICE(PCI_VENDOR_ID_RADISYS, R82600_BRIDGE_ID) + }, +diff -urNp linux-3.0.8/drivers/edac/x38_edac.c linux-3.0.8/drivers/edac/= x38_edac.c +--- linux-3.0.8/drivers/edac/x38_edac.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/edac/x38_edac.c 2011-10-11 10:44:33.000000000 -0= 400 +@@ -440,7 +440,7 @@ static void __devexit x38_remove_one(str + edac_mc_free(mci); + } +=20 +-static const struct pci_device_id x38_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id x38_pci_tbl[] __devinitconst =3D { + { + PCI_VEND_DEV(INTEL, X38_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0, + X38}, +diff -urNp linux-3.0.8/drivers/firewire/core-card.c linux-3.0.8/drivers/= firewire/core-card.c +--- linux-3.0.8/drivers/firewire/core-card.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/firewire/core-card.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -657,7 +657,7 @@ void fw_card_release(struct kref *kref) =20 void fw_core_remove_card(struct fw_card *card) { @@ -29873,10 +26187,10 @@ diff -urNp linux-2.6.32.48/drivers/firewire/cor= e-card.c linux-2.6.32.48/drivers/ =20 card->driver->update_phy_reg(card, 4, PHY_LINK_ACTIVE | PHY_CONTENDER, 0); -diff -urNp linux-2.6.32.48/drivers/firewire/core-cdev.c linux-2.6.32.48/= drivers/firewire/core-cdev.c ---- linux-2.6.32.48/drivers/firewire/core-cdev.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/firewire/core-cdev.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -1141,8 +1141,7 @@ static int init_iso_resource(struct clie +diff -urNp linux-3.0.8/drivers/firewire/core-cdev.c linux-3.0.8/drivers/= firewire/core-cdev.c +--- linux-3.0.8/drivers/firewire/core-cdev.c 2011-10-24 08:05:21.0000000= 00 -0400 ++++ linux-3.0.8/drivers/firewire/core-cdev.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -1313,8 +1313,7 @@ static int init_iso_resource(struct clie int ret; =20 if ((request->channels =3D=3D 0 && request->bandwidth =3D=3D 0) || @@ -29886,10 +26200,10 @@ diff -urNp linux-2.6.32.48/drivers/firewire/cor= e-cdev.c linux-2.6.32.48/drivers/ return -EINVAL; =20 r =3D kmalloc(sizeof(*r), GFP_KERNEL); -diff -urNp linux-2.6.32.48/drivers/firewire/core.h linux-2.6.32.48/drive= rs/firewire/core.h ---- linux-2.6.32.48/drivers/firewire/core.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/firewire/core.h 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -86,6 +86,7 @@ struct fw_card_driver { +diff -urNp linux-3.0.8/drivers/firewire/core.h linux-3.0.8/drivers/firew= ire/core.h +--- linux-3.0.8/drivers/firewire/core.h 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/firewire/core.h 2011-08-23 21:47:55.000000000 -0= 400 +@@ -101,6 +101,7 @@ struct fw_card_driver { =20 int (*stop_iso)(struct fw_iso_context *ctx); }; @@ -29897,30 +26211,30 @@ diff -urNp linux-2.6.32.48/drivers/firewire/cor= e.h linux-2.6.32.48/drivers/firew =20 void fw_card_initialize(struct fw_card *card, const struct fw_card_driver *driver, struct device *device); -diff -urNp linux-2.6.32.48/drivers/firewire/core-transaction.c linux-2.6= .32.48/drivers/firewire/core-transaction.c ---- linux-2.6.32.48/drivers/firewire/core-transaction.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/firewire/core-transaction.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -36,6 +36,7 @@ - #include +diff -urNp linux-3.0.8/drivers/firewire/core-transaction.c linux-3.0.8/d= rivers/firewire/core-transaction.c +--- linux-3.0.8/drivers/firewire/core-transaction.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/firewire/core-transaction.c 2011-08-23 21:48:14.= 000000000 -0400 +@@ -37,6 +37,7 @@ #include #include + #include +#include =20 #include =20 -@@ -344,6 +345,8 @@ int fw_run_transaction(struct fw_card *c +@@ -422,6 +423,8 @@ int fw_run_transaction(struct fw_card *c struct transaction_callback_data d; struct fw_transaction t; =20 + pax_track_stack(); + + init_timer_on_stack(&t.split_timeout_timer); init_completion(&d.done); d.payload =3D payload; - fw_send_request(card, &t, tcode, destination_id, generation, speed, -diff -urNp linux-2.6.32.48/drivers/firmware/dmi_scan.c linux-2.6.32.48/d= rivers/firmware/dmi_scan.c ---- linux-2.6.32.48/drivers/firmware/dmi_scan.c 2011-11-12 12:44:28.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/firmware/dmi_scan.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -391,11 +391,6 @@ void __init dmi_scan_machine(void) +diff -urNp linux-3.0.8/drivers/firmware/dmi_scan.c linux-3.0.8/drivers/f= irmware/dmi_scan.c +--- linux-3.0.8/drivers/firmware/dmi_scan.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/firmware/dmi_scan.c 2011-10-06 04:17:55.00000000= 0 -0400 +@@ -449,11 +449,6 @@ void __init dmi_scan_machine(void) } } else { @@ -29932,7 +26246,7 @@ diff -urNp linux-2.6.32.48/drivers/firmware/dmi_s= can.c linux-2.6.32.48/drivers/f p =3D dmi_ioremap(0xF0000, 0x10000); if (p =3D=3D NULL) goto error; -@@ -667,7 +662,7 @@ int dmi_walk(void (*decode)(const struct +@@ -725,7 +720,7 @@ int dmi_walk(void (*decode)(const struct if (buf =3D=3D NULL) return -1; =20 @@ -29941,57 +26255,9 @@ diff -urNp linux-2.6.32.48/drivers/firmware/dmi_= scan.c linux-2.6.32.48/drivers/f =20 iounmap(buf); return 0; -diff -urNp linux-2.6.32.48/drivers/firmware/edd.c linux-2.6.32.48/driver= s/firmware/edd.c ---- linux-2.6.32.48/drivers/firmware/edd.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/firmware/edd.c 2011-11-12 12:46:45.000000000= -0500 -@@ -122,7 +122,7 @@ edd_attr_show(struct kobject * kobj, str - return ret; - } -=20 --static struct sysfs_ops edd_attr_ops =3D { -+static const struct sysfs_ops edd_attr_ops =3D { - .show =3D edd_attr_show, - }; -=20 -diff -urNp linux-2.6.32.48/drivers/firmware/efivars.c linux-2.6.32.48/dr= ivers/firmware/efivars.c ---- linux-2.6.32.48/drivers/firmware/efivars.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/firmware/efivars.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -362,7 +362,7 @@ static ssize_t efivar_attr_store(struct=20 - return ret; - } -=20 --static struct sysfs_ops efivar_attr_ops =3D { -+static const struct sysfs_ops efivar_attr_ops =3D { - .show =3D efivar_attr_show, - .store =3D efivar_attr_store, - }; -diff -urNp linux-2.6.32.48/drivers/firmware/iscsi_ibft.c linux-2.6.32.48= /drivers/firmware/iscsi_ibft.c ---- linux-2.6.32.48/drivers/firmware/iscsi_ibft.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/firmware/iscsi_ibft.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -525,7 +525,7 @@ static ssize_t ibft_show_attribute(struc - return ret; - } -=20 --static struct sysfs_ops ibft_attr_ops =3D { -+static const struct sysfs_ops ibft_attr_ops =3D { - .show =3D ibft_show_attribute, - }; -=20 -diff -urNp linux-2.6.32.48/drivers/firmware/memmap.c linux-2.6.32.48/dri= vers/firmware/memmap.c ---- linux-2.6.32.48/drivers/firmware/memmap.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/firmware/memmap.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -74,7 +74,7 @@ static struct attribute *def_attrs[] =3D { - NULL - }; -=20 --static struct sysfs_ops memmap_attr_ops =3D { -+static const struct sysfs_ops memmap_attr_ops =3D { - .show =3D memmap_attr_show, - }; -=20 -diff -urNp linux-2.6.32.48/drivers/gpio/vr41xx_giu.c linux-2.6.32.48/dri= vers/gpio/vr41xx_giu.c ---- linux-2.6.32.48/drivers/gpio/vr41xx_giu.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/gpio/vr41xx_giu.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-3.0.8/drivers/gpio/vr41xx_giu.c linux-3.0.8/drivers/gpi= o/vr41xx_giu.c +--- linux-3.0.8/drivers/gpio/vr41xx_giu.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/gpio/vr41xx_giu.c 2011-08-23 21:47:55.000000000 = -0400 @@ -204,7 +204,7 @@ static int giu_get_irq(unsigned int irq) printk(KERN_ERR "spurious GIU interrupt: %04x(%04x),%04x(%04x)\n", maskl, pendl, maskh, pendh); @@ -30001,10 +26267,10 @@ diff -urNp linux-2.6.32.48/drivers/gpio/vr41xx_= giu.c linux-2.6.32.48/drivers/gpi =20 return -EINVAL; } -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_crtc.c linux-2.6.32.48/dr= ivers/gpu/drm/drm_crtc.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_crtc.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_crtc.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -1323,7 +1323,7 @@ int drm_mode_getconnector(struct drm_dev +diff -urNp linux-3.0.8/drivers/gpu/drm/drm_crtc.c linux-3.0.8/drivers/gp= u/drm/drm_crtc.c +--- linux-3.0.8/drivers/gpu/drm/drm_crtc.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/gpu/drm/drm_crtc.c 2011-10-06 04:17:55.000000000= -0400 +@@ -1372,7 +1372,7 @@ int drm_mode_getconnector(struct drm_dev */ if ((out_resp->count_modes >=3D mode_count) && mode_count) { copied =3D 0; @@ -30013,7 +26279,7 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_cr= tc.c linux-2.6.32.48/drivers/gp list_for_each_entry(mode, &connector->modes, head) { drm_crtc_convert_to_umode(&u_mode, mode); if (copy_to_user(mode_ptr + copied, -@@ -1338,8 +1338,8 @@ int drm_mode_getconnector(struct drm_dev +@@ -1387,8 +1387,8 @@ int drm_mode_getconnector(struct drm_dev =20 if ((out_resp->count_props >=3D props_count) && props_count) { copied =3D 0; @@ -30024,7 +26290,7 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_cr= tc.c linux-2.6.32.48/drivers/gp for (i =3D 0; i < DRM_CONNECTOR_MAX_PROPERTY; i++) { if (connector->property_ids[i] !=3D 0) { if (put_user(connector->property_ids[i], -@@ -1361,7 +1361,7 @@ int drm_mode_getconnector(struct drm_dev +@@ -1410,7 +1410,7 @@ int drm_mode_getconnector(struct drm_dev =20 if ((out_resp->count_encoders >=3D encoders_count) && encoders_count) = { copied =3D 0; @@ -30033,7 +26299,7 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_cr= tc.c linux-2.6.32.48/drivers/gp for (i =3D 0; i < DRM_CONNECTOR_MAX_ENCODER; i++) { if (connector->encoder_ids[i] !=3D 0) { if (put_user(connector->encoder_ids[i], -@@ -1513,7 +1513,7 @@ int drm_mode_setcrtc(struct drm_device * +@@ -1569,7 +1569,7 @@ int drm_mode_setcrtc(struct drm_device * } =20 for (i =3D 0; i < crtc_req->count_connectors; i++) { @@ -30042,7 +26308,16 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_c= rtc.c linux-2.6.32.48/drivers/gp if (get_user(out_id, &set_connectors_ptr[i])) { ret =3D -EFAULT; goto out; -@@ -2118,7 +2118,7 @@ int drm_mode_getproperty_ioctl(struct dr +@@ -1850,7 +1850,7 @@ int drm_mode_dirtyfb_ioctl(struct drm_de + fb =3D obj_to_fb(obj); +=20 + num_clips =3D r->num_clips; +- clips_ptr =3D (struct drm_clip_rect *)(unsigned long)r->clips_ptr; ++ clips_ptr =3D (struct drm_clip_rect __user *)(unsigned long)r->clips_p= tr; +=20 + if (!num_clips !=3D !clips_ptr) { + ret =3D -EINVAL; +@@ -2270,7 +2270,7 @@ int drm_mode_getproperty_ioctl(struct dr out_resp->flags =3D property->flags; =20 if ((out_resp->count_values >=3D value_count) && value_count) { @@ -30051,7 +26326,7 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_cr= tc.c linux-2.6.32.48/drivers/gp for (i =3D 0; i < value_count; i++) { if (copy_to_user(values_ptr + i, &property->values[i], sizeof(uint64= _t))) { ret =3D -EFAULT; -@@ -2131,7 +2131,7 @@ int drm_mode_getproperty_ioctl(struct dr +@@ -2283,7 +2283,7 @@ int drm_mode_getproperty_ioctl(struct dr if (property->flags & DRM_MODE_PROP_ENUM) { if ((out_resp->count_enum_blobs >=3D enum_count) && enum_count) { copied =3D 0; @@ -30060,7 +26335,7 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_cr= tc.c linux-2.6.32.48/drivers/gp list_for_each_entry(prop_enum, &property->enum_blob_list, head) { =20 if (copy_to_user(&enum_ptr[copied].value, &prop_enum->value, sizeof= (uint64_t))) { -@@ -2154,7 +2154,7 @@ int drm_mode_getproperty_ioctl(struct dr +@@ -2306,7 +2306,7 @@ int drm_mode_getproperty_ioctl(struct dr if ((out_resp->count_enum_blobs >=3D blob_count) && blob_count) { copied =3D 0; blob_id_ptr =3D (uint32_t *)(unsigned long)out_resp->enum_blob_ptr; @@ -30069,7 +26344,16 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_c= rtc.c linux-2.6.32.48/drivers/gp =20 list_for_each_entry(prop_blob, &property->enum_blob_list, head) { if (put_user(prop_blob->base.id, blob_id_ptr + copied)) { -@@ -2226,7 +2226,7 @@ int drm_mode_getblob_ioctl(struct drm_de +@@ -2367,7 +2367,7 @@ int drm_mode_getblob_ioctl(struct drm_de + struct drm_mode_get_blob *out_resp =3D data; + struct drm_property_blob *blob; + int ret =3D 0; +- void *blob_ptr; ++ void __user *blob_ptr; +=20 + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + return -EINVAL; +@@ -2381,7 +2381,7 @@ int drm_mode_getblob_ioctl(struct drm_de blob =3D obj_to_blob(obj); =20 if (out_resp->length =3D=3D blob->length) { @@ -30078,43 +26362,52 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_= crtc.c linux-2.6.32.48/drivers/gp if (copy_to_user(blob_ptr, blob->data, blob->length)){ ret =3D -EFAULT; goto done; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_crtc_helper.c linux-2.6.3= 2.48/drivers/gpu/drm/drm_crtc_helper.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_crtc_helper.c 2011-11-12 12:44:2= 8.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_crtc_helper.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -573,7 +573,7 @@ static bool drm_encoder_crtc_ok(struct d +diff -urNp linux-3.0.8/drivers/gpu/drm/drm_crtc_helper.c linux-3.0.8/dri= vers/gpu/drm/drm_crtc_helper.c +--- linux-3.0.8/drivers/gpu/drm/drm_crtc_helper.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/drm_crtc_helper.c 2011-08-23 21:48:14.00= 0000000 -0400 +@@ -276,7 +276,7 @@ static bool drm_encoder_crtc_ok(struct d struct drm_crtc *tmp; int crtc_mask =3D 1; =20 -- WARN(!crtc, "checking null crtc?"); +- WARN(!crtc, "checking null crtc?\n"); + BUG_ON(!crtc); =20 dev =3D crtc->dev; =20 -@@ -642,6 +642,8 @@ bool drm_crtc_helper_set_mode(struct drm -=20 - adjusted_mode =3D drm_mode_duplicate(dev, mode); +@@ -343,6 +343,8 @@ bool drm_crtc_helper_set_mode(struct drm + struct drm_encoder *encoder; + bool ret =3D true; =20 + pax_track_stack(); + crtc->enabled =3D drm_helper_crtc_in_use(crtc); -=20 if (!crtc->enabled) -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_drv.c linux-2.6.32.48/dri= vers/gpu/drm/drm_drv.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_drv.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_drv.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -417,7 +417,7 @@ int drm_ioctl(struct inode *inode, struc - char *kdata =3D NULL; + return true; +diff -urNp linux-3.0.8/drivers/gpu/drm/drm_drv.c linux-3.0.8/drivers/gpu= /drm/drm_drv.c +--- linux-3.0.8/drivers/gpu/drm/drm_drv.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/gpu/drm/drm_drv.c 2011-10-06 04:17:55.000000000 = -0400 +@@ -307,7 +307,7 @@ module_exit(drm_core_exit); + /** + * Copy and IOCTL return string to user space + */ +-static int drm_copy_field(char *buf, size_t *buf_len, const char *value= ) ++static int drm_copy_field(char __user *buf, size_t *buf_len, const char= *value) + { + int len; =20 +@@ -386,7 +386,7 @@ long drm_ioctl(struct file *filp, +=20 + dev =3D file_priv->minor->dev; atomic_inc(&dev->ioctl_count); - atomic_inc(&dev->counts[_DRM_STAT_IOCTLS]); + atomic_inc_unchecked(&dev->counts[_DRM_STAT_IOCTLS]); ++file_priv->ioctl_count; =20 DRM_DEBUG("pid=3D%d, cmd=3D0x%02x, nr=3D0x%02x, dev 0x%lx, auth=3D%d\n= ", -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_fops.c linux-2.6.32.48/dr= ivers/gpu/drm/drm_fops.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_fops.c 2011-11-12 12:44:28.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_fops.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -66,7 +66,7 @@ static int drm_setup(struct drm_device * +diff -urNp linux-3.0.8/drivers/gpu/drm/drm_fops.c linux-3.0.8/drivers/gp= u/drm/drm_fops.c +--- linux-3.0.8/drivers/gpu/drm/drm_fops.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/gpu/drm/drm_fops.c 2011-08-23 21:47:55.000000000= -0400 +@@ -70,7 +70,7 @@ static int drm_setup(struct drm_device * } =20 for (i =3D 0; i < ARRAY_SIZE(dev->counts); i++) @@ -30123,28 +26416,27 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_= fops.c linux-2.6.32.48/drivers/gp =20 dev->sigdata.lock =3D NULL; =20 -@@ -130,9 +130,9 @@ int drm_open(struct inode *inode, struct +@@ -134,8 +134,8 @@ int drm_open(struct inode *inode, struct =20 retcode =3D drm_open_helper(inode, filp, dev); if (!retcode) { - atomic_inc(&dev->counts[_DRM_STAT_OPENS]); +- if (!dev->open_count++) + atomic_inc_unchecked(&dev->counts[_DRM_STAT_OPENS]); - spin_lock(&dev->count_lock); -- if (!dev->open_count++) { -+ if (local_inc_return(&dev->open_count) =3D=3D 1) { - spin_unlock(&dev->count_lock); ++ if (local_inc_return(&dev->open_count) =3D=3D 1) retcode =3D drm_setup(dev); - goto out; -@@ -435,7 +435,7 @@ int drm_release(struct inode *inode, str + } + if (!retcode) { +@@ -472,7 +472,7 @@ int drm_release(struct inode *inode, str =20 - lock_kernel(); + mutex_lock(&drm_global_mutex); =20 - DRM_DEBUG("open_count =3D %d\n", dev->open_count); + DRM_DEBUG("open_count =3D %d\n", local_read(&dev->open_count)); =20 if (dev->driver->preclose) dev->driver->preclose(dev, file_priv); -@@ -447,7 +447,7 @@ int drm_release(struct inode *inode, str +@@ -484,7 +484,7 @@ int drm_release(struct inode *inode, str DRM_DEBUG("pid =3D %d, device =3D 0x%lx, open_count =3D %d\n", task_pid_nr(current), (long)old_encode_dev(file_priv->minor->device), @@ -30153,57 +26445,80 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_= fops.c linux-2.6.32.48/drivers/gp =20 /* if the master has gone away we can't do anything with the lock */ if (file_priv->minor->master) -@@ -524,9 +524,9 @@ int drm_release(struct inode *inode, str +@@ -565,8 +565,8 @@ int drm_release(struct inode *inode, str * End inline drm_release */ =20 - atomic_inc(&dev->counts[_DRM_STAT_CLOSES]); -+ atomic_inc_unchecked(&dev->counts[_DRM_STAT_CLOSES]); - spin_lock(&dev->count_lock); - if (!--dev->open_count) { ++ atomic_inc_unchecked(&dev->counts[_DRM_STAT_CLOSES]); + if (local_dec_and_test(&dev->open_count)) { if (atomic_read(&dev->ioctl_count)) { DRM_ERROR("Device busy: %d\n", atomic_read(&dev->ioctl_count)); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_gem.c linux-2.6.32.48/dri= vers/gpu/drm/drm_gem.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_gem.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_gem.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -83,11 +83,11 @@ drm_gem_init(struct drm_device *dev) - spin_lock_init(&dev->object_name_lock); - idr_init(&dev->object_name_idr); - atomic_set(&dev->object_count, 0); -- atomic_set(&dev->object_memory, 0); -+ atomic_set_unchecked(&dev->object_memory, 0); - atomic_set(&dev->pin_count, 0); -- atomic_set(&dev->pin_memory, 0); -+ atomic_set_unchecked(&dev->pin_memory, 0); - atomic_set(&dev->gtt_count, 0); -- atomic_set(&dev->gtt_memory, 0); -+ atomic_set_unchecked(&dev->gtt_memory, 0); -=20 - mm =3D kzalloc(sizeof(struct drm_gem_mm), GFP_KERNEL); - if (!mm) { -@@ -150,7 +150,7 @@ drm_gem_object_alloc(struct drm_device * - goto fput; - } - atomic_inc(&dev->object_count); -- atomic_add(obj->size, &dev->object_memory); -+ atomic_add_unchecked(obj->size, &dev->object_memory); - return obj; - fput: - fput(obj->filp); -@@ -429,7 +429,7 @@ drm_gem_object_free(struct kref *kref) -=20 - fput(obj->filp); - atomic_dec(&dev->object_count); -- atomic_sub(obj->size, &dev->object_memory); -+ atomic_sub_unchecked(obj->size, &dev->object_memory); - kfree(obj); - } - EXPORT_SYMBOL(drm_gem_object_free); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_info.c linux-2.6.32.48/dr= ivers/gpu/drm/drm_info.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_info.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_info.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-3.0.8/drivers/gpu/drm/drm_global.c linux-3.0.8/drivers/= gpu/drm/drm_global.c +--- linux-3.0.8/drivers/gpu/drm/drm_global.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/gpu/drm/drm_global.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -36,7 +36,7 @@ + struct drm_global_item { + struct mutex mutex; + void *object; +- int refcount; ++ atomic_t refcount; + }; +=20 + static struct drm_global_item glob[DRM_GLOBAL_NUM]; +@@ -49,7 +49,7 @@ void drm_global_init(void) + struct drm_global_item *item =3D &glob[i]; + mutex_init(&item->mutex); + item->object =3D NULL; +- item->refcount =3D 0; ++ atomic_set(&item->refcount, 0); + } + } +=20 +@@ -59,7 +59,7 @@ void drm_global_release(void) + for (i =3D 0; i < DRM_GLOBAL_NUM; ++i) { + struct drm_global_item *item =3D &glob[i]; + BUG_ON(item->object !=3D NULL); +- BUG_ON(item->refcount !=3D 0); ++ BUG_ON(atomic_read(&item->refcount) !=3D 0); + } + } +=20 +@@ -70,7 +70,7 @@ int drm_global_item_ref(struct drm_globa + void *object; +=20 + mutex_lock(&item->mutex); +- if (item->refcount =3D=3D 0) { ++ if (atomic_read(&item->refcount) =3D=3D 0) { + item->object =3D kzalloc(ref->size, GFP_KERNEL); + if (unlikely(item->object =3D=3D NULL)) { + ret =3D -ENOMEM; +@@ -83,7 +83,7 @@ int drm_global_item_ref(struct drm_globa + goto out_err; +=20 + } +- ++item->refcount; ++ atomic_inc(&item->refcount); + ref->object =3D item->object; + object =3D item->object; + mutex_unlock(&item->mutex); +@@ -100,9 +100,9 @@ void drm_global_item_unref(struct drm_gl + struct drm_global_item *item =3D &glob[ref->global_type]; +=20 + mutex_lock(&item->mutex); +- BUG_ON(item->refcount =3D=3D 0); ++ BUG_ON(atomic_read(&item->refcount) =3D=3D 0); + BUG_ON(ref->object !=3D item->object); +- if (--item->refcount =3D=3D 0) { ++ if (atomic_dec_and_test(&item->refcount)) { + ref->release(ref); + item->object =3D NULL; + } +diff -urNp linux-3.0.8/drivers/gpu/drm/drm_info.c linux-3.0.8/drivers/gp= u/drm/drm_info.c +--- linux-3.0.8/drivers/gpu/drm/drm_info.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/gpu/drm/drm_info.c 2011-08-23 21:48:14.000000000= -0400 @@ -75,10 +75,14 @@ int drm_vm_info(struct seq_file *m, void struct drm_local_map *map; struct drm_map_list *r_list; @@ -30232,46 +26547,7 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_i= nfo.c linux-2.6.32.48/drivers/gp type =3D "??"; else type =3D types[map->type]; -@@ -265,10 +269,10 @@ int drm_gem_object_info(struct seq_file=20 - struct drm_device *dev =3D node->minor->dev; -=20 - seq_printf(m, "%d objects\n", atomic_read(&dev->object_count)); -- seq_printf(m, "%d object bytes\n", atomic_read(&dev->object_memory)); -+ seq_printf(m, "%d object bytes\n", atomic_read_unchecked(&dev->object_= memory)); - seq_printf(m, "%d pinned\n", atomic_read(&dev->pin_count)); -- seq_printf(m, "%d pin bytes\n", atomic_read(&dev->pin_memory)); -- seq_printf(m, "%d gtt bytes\n", atomic_read(&dev->gtt_memory)); -+ seq_printf(m, "%d pin bytes\n", atomic_read_unchecked(&dev->pin_memory= )); -+ seq_printf(m, "%d gtt bytes\n", atomic_read_unchecked(&dev->gtt_memory= )); - seq_printf(m, "%d gtt total\n", dev->gtt_total); - return 0; - } -@@ -288,7 +292,11 @@ int drm_vma_info(struct seq_file *m, voi - mutex_lock(&dev->struct_mutex); - seq_printf(m, "vma use count: %d, high_memory =3D %p, 0x%08llx\n", - atomic_read(&dev->vma_count), -+#ifdef CONFIG_GRKERNSEC_HIDESYM -+ NULL, 0); -+#else - high_memory, (u64)virt_to_phys(high_memory)); -+#endif -=20 - list_for_each_entry(pt, &dev->vmalist, head) { - vma =3D pt->vma; -@@ -296,14 +304,23 @@ int drm_vma_info(struct seq_file *m, voi - continue; - seq_printf(m, - "\n%5d 0x%08lx-0x%08lx %c%c%c%c%c%c 0x%08lx000", -- pt->pid, vma->vm_start, vma->vm_end, -+ pt->pid, -+#ifdef CONFIG_GRKERNSEC_HIDESYM -+ 0, 0, -+#else -+ vma->vm_start, vma->vm_end, -+#endif - vma->vm_flags & VM_READ ? 'r' : '-', - vma->vm_flags & VM_WRITE ? 'w' : '-', - vma->vm_flags & VM_EXEC ? 'x' : '-', +@@ -290,7 +294,11 @@ int drm_vma_info(struct seq_file *m, voi vma->vm_flags & VM_MAYSHARE ? 's' : 'p', vma->vm_flags & VM_LOCKED ? 'l' : '-', vma->vm_flags & VM_IO ? 'i' : '-', @@ -30283,10 +26559,10 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_= info.c linux-2.6.32.48/drivers/gp =20 #if defined(__i386__) pgprot =3D pgprot_val(vma->vm_page_prot); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_ioc32.c linux-2.6.32.48/d= rivers/gpu/drm/drm_ioc32.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_ioc32.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_ioc32.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -463,7 +463,7 @@ static int compat_drm_infobufs(struct fi +diff -urNp linux-3.0.8/drivers/gpu/drm/drm_ioc32.c linux-3.0.8/drivers/g= pu/drm/drm_ioc32.c +--- linux-3.0.8/drivers/gpu/drm/drm_ioc32.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/gpu/drm/drm_ioc32.c 2011-10-06 04:17:55.00000000= 0 -0400 +@@ -455,7 +455,7 @@ static int compat_drm_infobufs(struct fi request =3D compat_alloc_user_space(nbytes); if (!access_ok(VERIFY_WRITE, request, nbytes)) return -EFAULT; @@ -30295,7 +26571,7 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_io= c32.c linux-2.6.32.48/drivers/g =20 if (__put_user(count, &request->count) || __put_user(list, &request->list)) -@@ -525,7 +525,7 @@ static int compat_drm_mapbufs(struct fil +@@ -516,7 +516,7 @@ static int compat_drm_mapbufs(struct fil request =3D compat_alloc_user_space(nbytes); if (!access_ok(VERIFY_WRITE, request, nbytes)) return -EFAULT; @@ -30304,10 +26580,10 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_= ioc32.c linux-2.6.32.48/drivers/g =20 if (__put_user(count, &request->count) || __put_user(list, &request->list)) -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_ioctl.c linux-2.6.32.48/d= rivers/gpu/drm/drm_ioctl.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_ioctl.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_ioctl.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -283,7 +283,7 @@ int drm_getstats(struct drm_device *dev, +diff -urNp linux-3.0.8/drivers/gpu/drm/drm_ioctl.c linux-3.0.8/drivers/g= pu/drm/drm_ioctl.c +--- linux-3.0.8/drivers/gpu/drm/drm_ioctl.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/gpu/drm/drm_ioctl.c 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -256,7 +256,7 @@ int drm_getstats(struct drm_device *dev, stats->data[i].value =3D (file_priv->master->lock.hw_lock ? file_priv->master->lock.hw_lo= ck->lock : 0); else @@ -30316,10 +26592,10 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_= ioctl.c linux-2.6.32.48/drivers/g stats->data[i].type =3D dev->types[i]; } =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_lock.c linux-2.6.32.48/dr= ivers/gpu/drm/drm_lock.c ---- linux-2.6.32.48/drivers/gpu/drm/drm_lock.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/drm_lock.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -87,7 +87,7 @@ int drm_lock(struct drm_device *dev, voi +diff -urNp linux-3.0.8/drivers/gpu/drm/drm_lock.c linux-3.0.8/drivers/gp= u/drm/drm_lock.c +--- linux-3.0.8/drivers/gpu/drm/drm_lock.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/gpu/drm/drm_lock.c 2011-08-23 21:47:55.000000000= -0400 +@@ -89,7 +89,7 @@ int drm_lock(struct drm_device *dev, voi if (drm_lock_take(&master->lock, lock->context)) { master->lock.file_priv =3D file_priv; master->lock.lock_time =3D jiffies; @@ -30328,19 +26604,19 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/drm_= lock.c linux-2.6.32.48/drivers/gp break; /* Got lock */ } =20 -@@ -165,7 +165,7 @@ int drm_unlock(struct drm_device *dev, v +@@ -160,7 +160,7 @@ int drm_unlock(struct drm_device *dev, v return -EINVAL; } =20 - atomic_inc(&dev->counts[_DRM_STAT_UNLOCKS]); + atomic_inc_unchecked(&dev->counts[_DRM_STAT_UNLOCKS]); =20 - /* kernel_context_switch isn't used by any of the x86 drm - * modules but is required by the Sparc driver. -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i810/i810_dma.c linux-2.6.32.= 48/drivers/gpu/drm/i810/i810_dma.c ---- linux-2.6.32.48/drivers/gpu/drm/i810/i810_dma.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i810/i810_dma.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -952,8 +952,8 @@ static int i810_dma_vertex(struct drm_de + if (drm_lock_free(&master->lock, lock->context)) { + /* FIXME: Should really bail out here. */ +diff -urNp linux-3.0.8/drivers/gpu/drm/i810/i810_dma.c linux-3.0.8/drive= rs/gpu/drm/i810/i810_dma.c +--- linux-3.0.8/drivers/gpu/drm/i810/i810_dma.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/i810/i810_dma.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -950,8 +950,8 @@ static int i810_dma_vertex(struct drm_de dma->buflist[vertex->idx], vertex->discard, vertex->used); =20 @@ -30351,7 +26627,7 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i810/i= 810_dma.c linux-2.6.32.48/drive sarea_priv->last_enqueue =3D dev_priv->counter - 1; sarea_priv->last_dispatch =3D (int)hw_status[5]; =20 -@@ -1115,8 +1115,8 @@ static int i810_dma_mc(struct drm_device +@@ -1111,8 +1111,8 @@ static int i810_dma_mc(struct drm_device i810_dma_dispatch_mc(dev, dma->buflist[mc->idx], mc->used, mc->last_render); =20 @@ -30362,9 +26638,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i810/i= 810_dma.c linux-2.6.32.48/drive sarea_priv->last_enqueue =3D dev_priv->counter - 1; sarea_priv->last_dispatch =3D (int)hw_status[5]; =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i810/i810_drv.h linux-2.6.32.= 48/drivers/gpu/drm/i810/i810_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/i810/i810_drv.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i810/i810_drv.h 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-3.0.8/drivers/gpu/drm/i810/i810_drv.h linux-3.0.8/drive= rs/gpu/drm/i810/i810_drv.h +--- linux-3.0.8/drivers/gpu/drm/i810/i810_drv.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/i810/i810_drv.h 2011-08-23 21:47:55.0000= 00000 -0400 @@ -108,8 +108,8 @@ typedef struct drm_i810_private { int page_flipping; =20 @@ -30376,316 +26652,121 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i8= 10/i810_drv.h linux-2.6.32.48/drive =20 int front_offset; } drm_i810_private_t; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i830/i830_drv.h linux-2.6.32.= 48/drivers/gpu/drm/i830/i830_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/i830/i830_drv.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i830/i830_drv.h 2011-11-12 12:46:45.= 000000000 -0500 -@@ -115,8 +115,8 @@ typedef struct drm_i830_private { - int page_flipping; -=20 - wait_queue_head_t irq_queue; -- atomic_t irq_received; -- atomic_t irq_emitted; -+ atomic_unchecked_t irq_received; -+ atomic_unchecked_t irq_emitted; -=20 - int use_mi_batchbuffer_start; -=20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i830/i830_irq.c linux-2.6.32.= 48/drivers/gpu/drm/i830/i830_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/i830/i830_irq.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i830/i830_irq.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -47,7 +47,7 @@ irqreturn_t i830_driver_irq_handler(DRM_ -=20 - I830_WRITE16(I830REG_INT_IDENTITY_R, temp); -=20 -- atomic_inc(&dev_priv->irq_received); -+ atomic_inc_unchecked(&dev_priv->irq_received); - wake_up_interruptible(&dev_priv->irq_queue); -=20 - return IRQ_HANDLED; -@@ -60,14 +60,14 @@ static int i830_emit_irq(struct drm_devi -=20 - DRM_DEBUG("%s\n", __func__); -=20 -- atomic_inc(&dev_priv->irq_emitted); -+ atomic_inc_unchecked(&dev_priv->irq_emitted); -=20 - BEGIN_LP_RING(2); - OUT_RING(0); - OUT_RING(GFX_OP_USER_INTERRUPT); - ADVANCE_LP_RING(); -=20 -- return atomic_read(&dev_priv->irq_emitted); -+ return atomic_read_unchecked(&dev_priv->irq_emitted); - } -=20 - static int i830_wait_irq(struct drm_device * dev, int irq_nr) -@@ -79,7 +79,7 @@ static int i830_wait_irq(struct drm_devi -=20 - DRM_DEBUG("%s\n", __func__); -=20 -- if (atomic_read(&dev_priv->irq_received) >=3D irq_nr) -+ if (atomic_read_unchecked(&dev_priv->irq_received) >=3D irq_nr) - return 0; -=20 - dev_priv->sarea_priv->perf_boxes |=3D I830_BOX_WAIT; -@@ -88,7 +88,7 @@ static int i830_wait_irq(struct drm_devi -=20 - for (;;) { - __set_current_state(TASK_INTERRUPTIBLE); -- if (atomic_read(&dev_priv->irq_received) >=3D irq_nr) -+ if (atomic_read_unchecked(&dev_priv->irq_received) >=3D irq_nr) - break; - if ((signed)(end - jiffies) <=3D 0) { - DRM_ERROR("timeout iir %x imr %x ier %x hwstam %x\n", -@@ -163,8 +163,8 @@ void i830_driver_irq_preinstall(struct d - I830_WRITE16(I830REG_HWSTAM, 0xffff); - I830_WRITE16(I830REG_INT_MASK_R, 0x0); - I830_WRITE16(I830REG_INT_ENABLE_R, 0x0); -- atomic_set(&dev_priv->irq_received, 0); -- atomic_set(&dev_priv->irq_emitted, 0); -+ atomic_set_unchecked(&dev_priv->irq_received, 0); -+ atomic_set_unchecked(&dev_priv->irq_emitted, 0); - init_waitqueue_head(&dev_priv->irq_queue); - } -=20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7017.c linux-2.6.3= 2.48/drivers/gpu/drm/i915/dvo_ch7017.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7017.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7017.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -443,7 +443,7 @@ static void ch7017_destroy(struct intel_ - } - } -=20 --struct intel_dvo_dev_ops ch7017_ops =3D { -+const struct intel_dvo_dev_ops ch7017_ops =3D { - .init =3D ch7017_init, - .detect =3D ch7017_detect, - .mode_valid =3D ch7017_mode_valid, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7xxx.c linux-2.6.3= 2.48/drivers/gpu/drm/i915/dvo_ch7xxx.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7xxx.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ch7xxx.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -356,7 +356,7 @@ static void ch7xxx_destroy(struct intel_ - } - } -=20 --struct intel_dvo_dev_ops ch7xxx_ops =3D { -+const struct intel_dvo_dev_ops ch7xxx_ops =3D { - .init =3D ch7xxx_init, - .detect =3D ch7xxx_detect, - .mode_valid =3D ch7xxx_mode_valid, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo.h linux-2.6.32.48/dr= ivers/gpu/drm/i915/dvo.h ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo.h 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -135,23 +135,23 @@ struct intel_dvo_dev_ops { - * - * \return singly-linked list of modes or NULL if no modes found. - */ -- struct drm_display_mode *(*get_modes)(struct intel_dvo_device *dvo); -+ struct drm_display_mode *(* const get_modes)(struct intel_dvo_device *= dvo); -=20 - /** - * Clean up driver-specific bits of the output - */ -- void (*destroy) (struct intel_dvo_device *dvo); -+ void (* const destroy) (struct intel_dvo_device *dvo); -=20 - /** - * Debugging hook to dump device registers to log file - */ -- void (*dump_regs)(struct intel_dvo_device *dvo); -+ void (* const dump_regs)(struct intel_dvo_device *dvo); - }; -=20 --extern struct intel_dvo_dev_ops sil164_ops; --extern struct intel_dvo_dev_ops ch7xxx_ops; --extern struct intel_dvo_dev_ops ivch_ops; --extern struct intel_dvo_dev_ops tfp410_ops; --extern struct intel_dvo_dev_ops ch7017_ops; -+extern const struct intel_dvo_dev_ops sil164_ops; -+extern const struct intel_dvo_dev_ops ch7xxx_ops; -+extern const struct intel_dvo_dev_ops ivch_ops; -+extern const struct intel_dvo_dev_ops tfp410_ops; -+extern const struct intel_dvo_dev_ops ch7017_ops; -=20 - #endif /* _INTEL_DVO_H */ -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ivch.c linux-2.6.32.= 48/drivers/gpu/drm/i915/dvo_ivch.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ivch.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo_ivch.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -430,7 +430,7 @@ static void ivch_destroy(struct intel_dv - } - } -=20 --struct intel_dvo_dev_ops ivch_ops=3D { -+const struct intel_dvo_dev_ops ivch_ops=3D { - .init =3D ivch_init, - .dpms =3D ivch_dpms, - .save =3D ivch_save, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo_sil164.c linux-2.6.3= 2.48/drivers/gpu/drm/i915/dvo_sil164.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo_sil164.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo_sil164.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -290,7 +290,7 @@ static void sil164_destroy(struct intel_ - } - } -=20 --struct intel_dvo_dev_ops sil164_ops =3D { -+const struct intel_dvo_dev_ops sil164_ops =3D { - .init =3D sil164_init, - .detect =3D sil164_detect, - .mode_valid =3D sil164_mode_valid, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/dvo_tfp410.c linux-2.6.3= 2.48/drivers/gpu/drm/i915/dvo_tfp410.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/dvo_tfp410.c 2011-11-12 12:44:2= 8.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/dvo_tfp410.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -323,7 +323,7 @@ static void tfp410_destroy(struct intel_ - } - } -=20 --struct intel_dvo_dev_ops tfp410_ops =3D { -+const struct intel_dvo_dev_ops tfp410_ops =3D { - .init =3D tfp410_init, - .detect =3D tfp410_detect, - .mode_valid =3D tfp410_mode_valid, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i915_debugfs.c linux-2.6= .32.48/drivers/gpu/drm/i915/i915_debugfs.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/i915_debugfs.c 2011-11-12 12:44= :28.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/i915_debugfs.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -192,7 +192,7 @@ static int i915_interrupt_info(struct se +diff -urNp linux-3.0.8/drivers/gpu/drm/i915/i915_debugfs.c linux-3.0.8/d= rivers/gpu/drm/i915/i915_debugfs.c +--- linux-3.0.8/drivers/gpu/drm/i915/i915_debugfs.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/i915/i915_debugfs.c 2011-10-06 04:17:55.= 000000000 -0400 +@@ -497,7 +497,7 @@ static int i915_interrupt_info(struct se I915_READ(GTIMR)); } seq_printf(m, "Interrupts received: %d\n", - atomic_read(&dev_priv->irq_received)); + atomic_read_unchecked(&dev_priv->irq_received)); - if (dev_priv->hw_status_page !=3D NULL) { - seq_printf(m, "Current sequence: %d\n", - i915_get_gem_seqno(dev)); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.c linux-2.6.32.= 48/drivers/gpu/drm/i915/i915_drv.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -285,7 +285,7 @@ i915_pci_resume(struct pci_dev *pdev) - return i915_resume(dev); - } -=20 --static struct vm_operations_struct i915_gem_vm_ops =3D { -+static const struct vm_operations_struct i915_gem_vm_ops =3D { - .fault =3D i915_gem_fault, - .open =3D drm_gem_vm_open, - .close =3D drm_gem_vm_close, -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.h linux-2.6.32.= 48/drivers/gpu/drm/i915/i915_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.h 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/i915_drv.h 2011-11-12 12:46:45.= 000000000 -0500 -@@ -168,7 +168,7 @@ struct drm_i915_display_funcs { + for (i =3D 0; i < I915_NUM_RINGS; i++) { + if (IS_GEN6(dev)) { + seq_printf(m, "Graphics Interrupt mask (%s): %08x\n", +@@ -1147,7 +1147,7 @@ static int i915_opregion(struct seq_file + return ret; +=20 + if (opregion->header) +- seq_write(m, opregion->header, OPREGION_SIZE); ++ seq_write(m, (const void __force_kernel *)opregion->header, OPREGION_= SIZE); +=20 + mutex_unlock(&dev->struct_mutex); +=20 +diff -urNp linux-3.0.8/drivers/gpu/drm/i915/i915_dma.c linux-3.0.8/drive= rs/gpu/drm/i915/i915_dma.c +--- linux-3.0.8/drivers/gpu/drm/i915/i915_dma.c 2011-10-24 08:05:21.0000= 00000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/i915/i915_dma.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -1169,7 +1169,7 @@ static bool i915_switcheroo_can_switch(s + bool can_switch; +=20 + spin_lock(&dev->count_lock); +- can_switch =3D (dev->open_count =3D=3D 0); ++ can_switch =3D (local_read(&dev->open_count) =3D=3D 0); + spin_unlock(&dev->count_lock); + return can_switch; + } +diff -urNp linux-3.0.8/drivers/gpu/drm/i915/i915_drv.h linux-3.0.8/drive= rs/gpu/drm/i915/i915_drv.h +--- linux-3.0.8/drivers/gpu/drm/i915/i915_drv.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/i915/i915_drv.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -219,7 +219,7 @@ struct drm_i915_display_funcs { + /* render clock increase/decrease */ /* display clock increase/decrease */ /* pll clock increase/decrease */ - /* clock gating init */ -}; +} __no_const; =20 - typedef struct drm_i915_private { - struct drm_device *dev; -@@ -197,7 +197,7 @@ typedef struct drm_i915_private { + struct intel_device_info { + u8 gen; +@@ -300,7 +300,7 @@ typedef struct drm_i915_private { + int current_page; int page_flipping; =20 - wait_queue_head_t irq_queue; - atomic_t irq_received; + atomic_unchecked_t irq_received; - /** Protects user_irq_refcount and irq_mask_reg */ - spinlock_t user_irq_lock; - /** Refcount for i915_user_irq_get() versus i915_user_irq_put(). */ -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i915_gem.c linux-2.6.32.= 48/drivers/gpu/drm/i915/i915_gem.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/i915_gem.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/i915_gem.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -102,7 +102,7 @@ i915_gem_get_aperture_ioctl(struct drm_d -=20 - args->aper_size =3D dev->gtt_total; - args->aper_available_size =3D (args->aper_size - -- atomic_read(&dev->pin_memory)); -+ atomic_read_unchecked(&dev->pin_memory)); =20 - return 0; - } -@@ -492,6 +492,11 @@ i915_gem_pread_ioctl(struct drm_device * - return -EINVAL; - } + /* protects the irq masks */ + spinlock_t irq_lock; +@@ -874,7 +874,7 @@ struct drm_i915_gem_object { + * will be page flipped away on the next vblank. When it + * reaches 0, dev_priv->pending_flip_queue will be woken up. + */ +- atomic_t pending_flip; ++ atomic_unchecked_t pending_flip; + }; =20 -+ if (!access_ok(VERIFY_WRITE, (char __user *) (uintptr_t)args->data_ptr= , args->size)) { -+ drm_gem_object_unreference(obj); -+ return -EFAULT; -+ } -+ - if (i915_gem_object_needs_bit17_swizzle(obj)) { - ret =3D i915_gem_shmem_pread_slow(dev, obj, args, file_priv); - } else { -@@ -965,6 +970,11 @@ i915_gem_pwrite_ioctl(struct drm_device=20 - return -EINVAL; - } + #define to_intel_bo(x) container_of(x, struct drm_i915_gem_object, base= ) +@@ -1247,7 +1247,7 @@ extern int intel_setup_gmbus(struct drm_ + extern void intel_teardown_gmbus(struct drm_device *dev); + extern void intel_gmbus_set_speed(struct i2c_adapter *adapter, int spee= d); + extern void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool for= ce_bit); +-extern inline bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapte= r) ++static inline bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapte= r) + { + return container_of(adapter, struct intel_gmbus, adapter)->force_bit; + } +diff -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 +--- linux-3.0.8/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2011-07-21 22= :17:23.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2011-08-23 21= :47:55.000000000 -0400 +@@ -188,7 +188,7 @@ i915_gem_object_set_to_gpu_domain(struct + i915_gem_clflush_object(obj); +=20 + if (obj->base.pending_write_domain) +- cd->flips |=3D atomic_read(&obj->pending_flip); ++ cd->flips |=3D atomic_read_unchecked(&obj->pending_flip); +=20 + /* The actual obj->write_domain will be updated with + * pending_write_domain after we emit the accumulated flush for all +diff -urNp linux-3.0.8/drivers/gpu/drm/i915/i915_irq.c linux-3.0.8/drive= rs/gpu/drm/i915/i915_irq.c +--- linux-3.0.8/drivers/gpu/drm/i915/i915_irq.c 2011-10-24 08:05:21.0000= 00000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/i915/i915_irq.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -473,7 +473,7 @@ static irqreturn_t ivybridge_irq_handler + u32 de_iir, gt_iir, de_ier, pch_iir, pm_iir; + struct drm_i915_master_private *master_priv; =20 -+ if (!access_ok(VERIFY_READ, (char __user *) (uintptr_t)args->data_ptr,= args->size)) { -+ drm_gem_object_unreference(obj); -+ return -EFAULT; -+ } -+ - /* We can only do the GTT pwrite on untiled buffers, as otherwise - * it would end up going through the fenced access, and we'll get - * different detiling behavior between reading and writing. -@@ -2054,7 +2064,7 @@ i915_gem_object_unbind(struct drm_gem_ob -=20 - if (obj_priv->gtt_space) { - atomic_dec(&dev->gtt_count); -- atomic_sub(obj->size, &dev->gtt_memory); -+ atomic_sub_unchecked(obj->size, &dev->gtt_memory); -=20 - drm_mm_put_block(obj_priv->gtt_space); - obj_priv->gtt_space =3D NULL; -@@ -2697,7 +2707,7 @@ i915_gem_object_bind_to_gtt(struct drm_g - goto search_free; - } - atomic_inc(&dev->gtt_count); -- atomic_add(obj->size, &dev->gtt_memory); -+ atomic_add_unchecked(obj->size, &dev->gtt_memory); -=20 - /* Assert that the object is not currently in any GPU domain. As it - * wasn't in the GTT, there shouldn't be any way it could have been in -@@ -3751,9 +3761,9 @@ i915_gem_execbuffer(struct drm_device *d - "%d/%d gtt bytes\n", - atomic_read(&dev->object_count), - atomic_read(&dev->pin_count), -- atomic_read(&dev->object_memory), -- atomic_read(&dev->pin_memory), -- atomic_read(&dev->gtt_memory), -+ atomic_read_unchecked(&dev->object_memory), -+ atomic_read_unchecked(&dev->pin_memory), -+ atomic_read_unchecked(&dev->gtt_memory), - dev->gtt_total); - } - goto err; -@@ -3985,7 +3995,7 @@ i915_gem_object_pin(struct drm_gem_objec - */ - if (obj_priv->pin_count =3D=3D 1) { - atomic_inc(&dev->pin_count); -- atomic_add(obj->size, &dev->pin_memory); -+ atomic_add_unchecked(obj->size, &dev->pin_memory); - if (!obj_priv->active && - (obj->write_domain & I915_GEM_GPU_DOMAINS) =3D=3D 0 && - !list_empty(&obj_priv->list)) -@@ -4018,7 +4028,7 @@ i915_gem_object_unpin(struct drm_gem_obj - list_move_tail(&obj_priv->list, - &dev_priv->mm.inactive_list); - atomic_dec(&dev->pin_count); -- atomic_sub(obj->size, &dev->pin_memory); -+ atomic_sub_unchecked(obj->size, &dev->pin_memory); - } - i915_verify_inactive(dev, __FILE__, __LINE__); - } -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/i915_irq.c linux-2.6.32.= 48/drivers/gpu/drm/i915/i915_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/i915_irq.c 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/i915_irq.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -528,7 +528,7 @@ irqreturn_t i915_driver_irq_handler(DRM_ - int irq_received; - int ret =3D IRQ_NONE; +- atomic_inc(&dev_priv->irq_received); ++ atomic_inc_unchecked(&dev_priv->irq_received); +=20 + /* disable master interrupt before clearing iir */ + de_ier =3D I915_READ(DEIER); +@@ -563,7 +563,7 @@ static irqreturn_t ironlake_irq_handler( + struct drm_i915_master_private *master_priv; + u32 bsd_usr_interrupt =3D GT_BSD_USER_INTERRUPT; =20 - atomic_inc(&dev_priv->irq_received); + atomic_inc_unchecked(&dev_priv->irq_received); =20 - if (IS_IGDNG(dev)) - return igdng_irq_handler(dev); -@@ -1021,7 +1021,7 @@ void i915_driver_irq_preinstall(struct d + if (IS_GEN6(dev)) + bsd_usr_interrupt =3D GT_GEN6_BSD_USER_INTERRUPT; +@@ -1226,7 +1226,7 @@ static irqreturn_t i915_driver_irq_handl + int ret =3D IRQ_NONE, pipe; + bool blc_event =3D false; +=20 +- atomic_inc(&dev_priv->irq_received); ++ atomic_inc_unchecked(&dev_priv->irq_received); +=20 + iir =3D I915_READ(IIR); +=20 +@@ -1735,7 +1735,7 @@ static void ironlake_irq_preinstall(stru { drm_i915_private_t *dev_priv =3D (drm_i915_private_t *) dev->dev_priva= te; =20 @@ -30694,23 +26775,66 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915= /i915_irq.c linux-2.6.32.48/drive =20 INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); INIT_WORK(&dev_priv->error_work, i915_error_work_func); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/i915/intel_sdvo.c linux-2.6.3= 2.48/drivers/gpu/drm/i915/intel_sdvo.c ---- linux-2.6.32.48/drivers/gpu/drm/i915/intel_sdvo.c 2011-11-12 12:44:2= 8.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/i915/intel_sdvo.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -2795,7 +2795,9 @@ bool intel_sdvo_init(struct drm_device * - sdvo_priv->slave_addr =3D intel_sdvo_get_slave_addr(dev, output_device= ); -=20 - /* Save the bit-banging i2c functionality for use by the DDC wrapper *= / -- intel_sdvo_i2c_bit_algo.functionality =3D intel_output->i2c_bus->algo-= >functionality; -+ pax_open_kernel(); -+ *(void **)&intel_sdvo_i2c_bit_algo.functionality =3D intel_output->i2c= _bus->algo->functionality; -+ pax_close_kernel(); +@@ -1899,7 +1899,7 @@ static void i915_driver_irq_preinstall(s + drm_i915_private_t *dev_priv =3D (drm_i915_private_t *) dev->dev_priva= te; + int pipe; +=20 +- atomic_set(&dev_priv->irq_received, 0); ++ atomic_set_unchecked(&dev_priv->irq_received, 0); +=20 + INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); + INIT_WORK(&dev_priv->error_work, i915_error_work_func); +diff -urNp linux-3.0.8/drivers/gpu/drm/i915/intel_display.c linux-3.0.8/= drivers/gpu/drm/i915/intel_display.c +--- linux-3.0.8/drivers/gpu/drm/i915/intel_display.c 2011-10-24 08:05:21= .000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/i915/intel_display.c 2011-08-23 21:47:55= .000000000 -0400 +@@ -1961,7 +1961,7 @@ intel_pipe_set_base(struct drm_crtc *crt +=20 + wait_event(dev_priv->pending_flip_queue, + atomic_read(&dev_priv->mm.wedged) || +- atomic_read(&obj->pending_flip) =3D=3D 0); ++ atomic_read_unchecked(&obj->pending_flip) =3D=3D 0); +=20 + /* Big Hammer, we also need to ensure that any pending + * MI_WAIT_FOR_EVENT inside a user batch buffer on the +@@ -2548,7 +2548,7 @@ static void intel_crtc_wait_for_pending_ + obj =3D to_intel_framebuffer(crtc->fb)->obj; + dev_priv =3D crtc->dev->dev_private; + wait_event(dev_priv->pending_flip_queue, +- atomic_read(&obj->pending_flip) =3D=3D 0); ++ atomic_read_unchecked(&obj->pending_flip) =3D=3D 0); + } +=20 + static bool intel_crtc_driving_pch(struct drm_crtc *crtc) +@@ -6225,7 +6225,7 @@ static void do_intel_finish_page_flip(st +=20 + atomic_clear_mask(1 << intel_crtc->plane, + &obj->pending_flip.counter); +- if (atomic_read(&obj->pending_flip) =3D=3D 0) ++ if (atomic_read_unchecked(&obj->pending_flip) =3D=3D 0) + wake_up(&dev_priv->pending_flip_queue); +=20 + schedule_work(&work->work); +@@ -6514,7 +6514,7 @@ static int intel_crtc_page_flip(struct d + /* Block clients from rendering to the new back buffer until + * the flip occurs and the object is no longer visible. + */ +- atomic_add(1 << intel_crtc->plane, &work->old_fb_obj->pending_flip); ++ atomic_add_unchecked(1 << intel_crtc->plane, &work->old_fb_obj->pendin= g_flip); +=20 + ret =3D dev_priv->display.queue_flip(dev, crtc, fb, obj); + if (ret) +@@ -6527,7 +6527,7 @@ static int intel_crtc_page_flip(struct d + return 0; =20 - /* Read the regs to test if we can talk to the device */ - for (i =3D 0; i < 0x40; i++) { -diff -urNp linux-2.6.32.48/drivers/gpu/drm/mga/mga_drv.h linux-2.6.32.48= /drivers/gpu/drm/mga/mga_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/mga/mga_drv.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/mga/mga_drv.h 2011-11-12 12:46:45.00= 0000000 -0500 + cleanup_pending: +- atomic_sub(1 << intel_crtc->plane, &work->old_fb_obj->pending_flip); ++ atomic_sub_unchecked(1 << intel_crtc->plane, &work->old_fb_obj->pendin= g_flip); + cleanup_objs: + drm_gem_object_unreference(&work->old_fb_obj->base); + drm_gem_object_unreference(&obj->base); +diff -urNp linux-3.0.8/drivers/gpu/drm/mga/mga_drv.h linux-3.0.8/drivers= /gpu/drm/mga/mga_drv.h +--- linux-3.0.8/drivers/gpu/drm/mga/mga_drv.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/mga/mga_drv.h 2011-08-23 21:47:55.000000= 000 -0400 @@ -120,9 +120,9 @@ typedef struct drm_mga_private { u32 clear_cmd; u32 maccess; @@ -30723,9 +26847,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/mga/mg= a_drv.h linux-2.6.32.48/drivers u32 next_fence_to_post; =20 unsigned int fb_cpp; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/mga/mga_irq.c linux-2.6.32.48= /drivers/gpu/drm/mga/mga_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/mga/mga_irq.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/mga/mga_irq.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-3.0.8/drivers/gpu/drm/mga/mga_irq.c linux-3.0.8/drivers= /gpu/drm/mga/mga_irq.c +--- linux-3.0.8/drivers/gpu/drm/mga/mga_irq.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/mga/mga_irq.c 2011-08-23 21:47:55.000000= 000 -0400 @@ -44,7 +44,7 @@ u32 mga_get_vblank_counter(struct drm_de if (crtc !=3D 0) return 0; @@ -30744,16 +26868,16 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/mga/= mga_irq.c linux-2.6.32.48/drivers drm_handle_vblank(dev, 0); handled =3D 1; } -@@ -80,7 +80,7 @@ irqreturn_t mga_driver_irq_handler(DRM_I +@@ -79,7 +79,7 @@ irqreturn_t mga_driver_irq_handler(DRM_I + if ((prim_start & ~0x03) !=3D (prim_end & ~0x03)) MGA_WRITE(MGA_PRIMEND, prim_end); - } =20 - atomic_inc(&dev_priv->last_fence_retired); + atomic_inc_unchecked(&dev_priv->last_fence_retired); DRM_WAKEUP(&dev_priv->fence_queue); handled =3D 1; } -@@ -131,7 +131,7 @@ int mga_driver_fence_wait(struct drm_dev +@@ -130,7 +130,7 @@ int mga_driver_fence_wait(struct drm_dev * using fences. */ DRM_WAIT_ON(ret, dev_priv->fence_queue, 3 * DRM_HZ, @@ -30762,9 +26886,142 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/mga/= mga_irq.c linux-2.6.32.48/drivers - *sequence) <=3D (1 << 23))); =20 *sequence =3D cur_fence; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r128_cce.c linux-2.6.32.= 48/drivers/gpu/drm/r128/r128_cce.c ---- linux-2.6.32.48/drivers/gpu/drm/r128/r128_cce.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/r128/r128_cce.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_bios.c linux-3.0.= 8/drivers/gpu/drm/nouveau/nouveau_bios.c +--- linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-08-26 19:49:= 56.000000000 -0400 +@@ -200,7 +200,7 @@ struct methods { + const char desc[8]; + void (*loadbios)(struct drm_device *, uint8_t *); + const bool rw; +-}; ++} __do_const; +=20 + static struct methods shadow_methods[] =3D { + { "PRAMIN", load_vbios_pramin, true }, +@@ -5488,7 +5488,7 @@ parse_bit_displayport_tbl_entry(struct d + struct bit_table { + const char id; + int (* const parse_fn)(struct drm_device *, struct nvbios *, struct bi= t_entry *); +-}; ++} __no_const; +=20 + #define BIT_TABLE(id, funcid) ((struct bit_table){ id, parse_bit_##func= id##_tbl_entry }) +=20 +diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_drv.h linux-3.0.8= /drivers/gpu/drm/nouveau/nouveau_drv.h +--- linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -227,7 +227,7 @@ struct nouveau_channel { + struct list_head pending; + uint32_t sequence; + uint32_t sequence_ack; +- atomic_t last_sequence_irq; ++ atomic_unchecked_t last_sequence_irq; + } fence; +=20 + /* DMA push buffer */ +@@ -304,7 +304,7 @@ struct nouveau_exec_engine { + u32 handle, u16 class); + void (*set_tile_region)(struct drm_device *dev, int i); + void (*tlb_flush)(struct drm_device *, int engine); +-}; ++} __no_const; +=20 + struct nouveau_instmem_engine { + void *priv; +@@ -325,13 +325,13 @@ struct nouveau_instmem_engine { + struct nouveau_mc_engine { + int (*init)(struct drm_device *dev); + void (*takedown)(struct drm_device *dev); +-}; ++} __no_const; +=20 + struct nouveau_timer_engine { + int (*init)(struct drm_device *dev); + void (*takedown)(struct drm_device *dev); + uint64_t (*read)(struct drm_device *dev); +-}; ++} __no_const; +=20 + struct nouveau_fb_engine { + int num_tiles; +@@ -494,7 +494,7 @@ struct nouveau_vram_engine { + void (*put)(struct drm_device *, struct nouveau_mem **); +=20 + bool (*flags_valid)(struct drm_device *, u32 tile_flags); +-}; ++} __no_const; +=20 + struct nouveau_engine { + struct nouveau_instmem_engine instmem; +@@ -640,7 +640,7 @@ struct drm_nouveau_private { + struct drm_global_reference mem_global_ref; + struct ttm_bo_global_ref bo_global_ref; + struct ttm_bo_device bdev; +- atomic_t validate_sequence; ++ atomic_unchecked_t validate_sequence; + } ttm; +=20 + struct { +diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_fence.c linux-3.0= .8/drivers/gpu/drm/nouveau/nouveau_fence.c +--- linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-08-23 21:47= :55.000000000 -0400 +@@ -85,7 +85,7 @@ nouveau_fence_update(struct nouveau_chan + if (USE_REFCNT(dev)) + sequence =3D nvchan_rd32(chan, 0x48); + else +- sequence =3D atomic_read(&chan->fence.last_sequence_irq); ++ sequence =3D atomic_read_unchecked(&chan->fence.last_sequence_irq); +=20 + if (chan->fence.sequence_ack =3D=3D sequence) + goto out; +@@ -544,7 +544,7 @@ nouveau_fence_channel_init(struct nouvea +=20 + INIT_LIST_HEAD(&chan->fence.pending); + spin_lock_init(&chan->fence.lock); +- atomic_set(&chan->fence.last_sequence_irq, 0); ++ atomic_set_unchecked(&chan->fence.last_sequence_irq, 0); + return 0; + } +=20 +diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_gem.c linux-3.0.8= /drivers/gpu/drm/nouveau/nouveau_gem.c +--- linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -249,7 +249,7 @@ validate_init(struct nouveau_channel *ch + int trycnt =3D 0; + int ret, i; +=20 +- sequence =3D atomic_add_return(1, &dev_priv->ttm.validate_sequence); ++ sequence =3D atomic_add_return_unchecked(1, &dev_priv->ttm.validate_se= quence); + retry: + if (++trycnt > 100000) { + NV_ERROR(dev, "%s failed and gave up.\n", __func__); +diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_state.c linux-3.0= .8/drivers/gpu/drm/nouveau/nouveau_state.c +--- linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_state.c 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_state.c 2011-08-23 21:47= :55.000000000 -0400 +@@ -488,7 +488,7 @@ static bool nouveau_switcheroo_can_switc + bool can_switch; +=20 + spin_lock(&dev->count_lock); +- can_switch =3D (dev->open_count =3D=3D 0); ++ can_switch =3D (local_read(&dev->open_count) =3D=3D 0); + spin_unlock(&dev->count_lock); + return can_switch; + } +diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nv04_graph.c linux-3.0.8/= drivers/gpu/drm/nouveau/nv04_graph.c +--- linux-3.0.8/drivers/gpu/drm/nouveau/nv04_graph.c 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/nouveau/nv04_graph.c 2011-08-23 21:47:55= .000000000 -0400 +@@ -560,7 +560,7 @@ static int + nv04_graph_mthd_set_ref(struct nouveau_channel *chan, + u32 class, u32 mthd, u32 data) + { +- atomic_set(&chan->fence.last_sequence_irq, data); ++ atomic_set_unchecked(&chan->fence.last_sequence_irq, data); + return 0; + } +=20 +diff -urNp linux-3.0.8/drivers/gpu/drm/r128/r128_cce.c linux-3.0.8/drive= rs/gpu/drm/r128/r128_cce.c +--- linux-3.0.8/drivers/gpu/drm/r128/r128_cce.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/r128/r128_cce.c 2011-08-23 21:47:55.0000= 00000 -0400 @@ -377,7 +377,7 @@ static int r128_do_init_cce(struct drm_d =20 /* GH: Simple idle check. @@ -30774,9 +27031,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r= 128_cce.c linux-2.6.32.48/drive =20 /* We don't support anything other than bus-mastering ring mode, * but the ring can be in either AGP or PCI space for the ring -diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r128_drv.h linux-2.6.32.= 48/drivers/gpu/drm/r128/r128_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/r128/r128_drv.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/r128/r128_drv.h 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-3.0.8/drivers/gpu/drm/r128/r128_drv.h linux-3.0.8/drive= rs/gpu/drm/r128/r128_drv.h +--- linux-3.0.8/drivers/gpu/drm/r128/r128_drv.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/r128/r128_drv.h 2011-08-23 21:47:55.0000= 00000 -0400 @@ -90,14 +90,14 @@ typedef struct drm_r128_private { int is_pci; unsigned long cce_buffers_offset; @@ -30794,9 +27051,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r= 128_drv.h linux-2.6.32.48/drive =20 u32 color_fmt; unsigned int front_offset; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r128_irq.c linux-2.6.32.= 48/drivers/gpu/drm/r128/r128_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/r128/r128_irq.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/r128/r128_irq.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-3.0.8/drivers/gpu/drm/r128/r128_irq.c linux-3.0.8/drive= rs/gpu/drm/r128/r128_irq.c +--- linux-3.0.8/drivers/gpu/drm/r128/r128_irq.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/r128/r128_irq.c 2011-08-23 21:47:55.0000= 00000 -0400 @@ -42,7 +42,7 @@ u32 r128_get_vblank_counter(struct drm_d if (crtc !=3D 0) return 0; @@ -30815,26 +27072,26 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128= /r128_irq.c linux-2.6.32.48/drive drm_handle_vblank(dev, 0); return IRQ_HANDLED; } -diff -urNp linux-2.6.32.48/drivers/gpu/drm/r128/r128_state.c linux-2.6.3= 2.48/drivers/gpu/drm/r128/r128_state.c ---- linux-2.6.32.48/drivers/gpu/drm/r128/r128_state.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/r128/r128_state.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -323,10 +323,10 @@ static void r128_clear_box(drm_r128_priv +diff -urNp linux-3.0.8/drivers/gpu/drm/r128/r128_state.c linux-3.0.8/dri= vers/gpu/drm/r128/r128_state.c +--- linux-3.0.8/drivers/gpu/drm/r128/r128_state.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/r128/r128_state.c 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -321,10 +321,10 @@ static void r128_clear_box(drm_r128_priv =20 - static void r128_cce_performance_boxes(drm_r128_private_t * dev_priv) + static void r128_cce_performance_boxes(drm_r128_private_t *dev_priv) { -- if (atomic_read(&dev_priv->idle_count) =3D=3D 0) { -+ if (atomic_read_unchecked(&dev_priv->idle_count) =3D=3D 0) { +- if (atomic_read(&dev_priv->idle_count) =3D=3D 0) ++ if (atomic_read_unchecked(&dev_priv->idle_count) =3D=3D 0) r128_clear_box(dev_priv, 64, 4, 8, 8, 0, 255, 0); - } else { + else - atomic_set(&dev_priv->idle_count, 0); + atomic_set_unchecked(&dev_priv->idle_count, 0); - } } =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/atom.c linux-2.6.32.48= /drivers/gpu/drm/radeon/atom.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/atom.c 2011-11-12 12:44:28.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/atom.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -1115,6 +1115,8 @@ struct atom_context *atom_parse(struct c + #endif +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/atom.c linux-3.0.8/drivers= /gpu/drm/radeon/atom.c +--- linux-3.0.8/drivers/gpu/drm/radeon/atom.c 2011-10-25 09:10:33.000000= 000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/atom.c 2011-10-25 09:10:41.000000= 000 -0400 +@@ -1254,6 +1254,8 @@ struct atom_context *atom_parse(struct c char name[512]; int i; =20 @@ -30843,9 +27100,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /atom.c linux-2.6.32.48/drivers ctx->card =3D card; ctx->bios =3D bios; =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/mkregtable.c linux-2.6= .32.48/drivers/gpu/drm/radeon/mkregtable.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/mkregtable.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/mkregtable.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/mkregtable.c linux-3.0.8/d= rivers/gpu/drm/radeon/mkregtable.c +--- linux-3.0.8/drivers/gpu/drm/radeon/mkregtable.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/mkregtable.c 2011-08-23 21:47:55.= 000000000 -0400 @@ -637,14 +637,14 @@ static int parser_auth(struct table *t,=20 regex_t mask_rex; regmatch_t match[4]; @@ -30863,58 +27120,46 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/rade= on/mkregtable.c linux-2.6.32.48/d =20 if (regcomp (&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) { -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_atombios.c linu= x-2.6.32.48/drivers/gpu/drm/radeon/radeon_atombios.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_atombios.c 2011-11-12 = 12:44:28.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_atombios.c 2011-11-12 = 12:46:45.000000000 -0500 -@@ -275,6 +275,8 @@ bool radeon_get_atom_connector_info_from - bool linkb; - struct radeon_i2c_bus_rec ddc_bus; +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_atombios.c linux-3.= 0.8/drivers/gpu/drm/radeon/radeon_atombios.c +--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_atombios.c 2011-07-21 22:1= 7:23.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_atombios.c 2011-08-23 21:4= 8:14.000000000 -0400 +@@ -545,6 +545,8 @@ bool radeon_get_atom_connector_info_from + struct radeon_gpio_rec gpio; + struct radeon_hpd hpd; =20 + pax_track_stack(); + - atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset); + if (!atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_off= set)) + return false; =20 - if (data_offset =3D=3D 0) -@@ -520,13 +522,13 @@ static uint16_t atombios_get_connector_o - } - } +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_device.c linux-3.0.= 8/drivers/gpu/drm/radeon/radeon_device.c +--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_device.c 2011-10-24 08:05:= 21.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_device.c 2011-08-23 21:47:= 55.000000000 -0400 +@@ -678,7 +678,7 @@ static bool radeon_switcheroo_can_switch + bool can_switch; =20 --struct bios_connector { -+static struct bios_connector { - bool valid; - uint16_t line_mux; - uint16_t devices; - int connector_type; - struct radeon_i2c_bus_rec ddc_bus; --}; -+} bios_connectors[ATOM_MAX_SUPPORTED_DEVICE]; + spin_lock(&dev->count_lock); +- can_switch =3D (dev->open_count =3D=3D 0); ++ can_switch =3D (local_read(&dev->open_count) =3D=3D 0); + spin_unlock(&dev->count_lock); + return can_switch; + } +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_display.c linux-3.0= .8/drivers/gpu/drm/radeon/radeon_display.c +--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_display.c 2011-10-24 08:05= :21.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_display.c 2011-08-23 21:48= :14.000000000 -0400 +@@ -946,6 +946,8 @@ void radeon_compute_pll_legacy(struct ra + uint32_t post_div; + u32 pll_out_min, pll_out_max; =20 - bool radeon_get_atom_connector_info_from_supported_devices_table(struct - drm_device -@@ -542,7 +544,6 @@ bool radeon_get_atom_connector_info_from - uint8_t dac; - union atom_supported_devices *supported_devices; - int i, j; -- struct bios_connector bios_connectors[ATOM_MAX_SUPPORTED_DEVICE]; -=20 - atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset); -=20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_display.c linux= -2.6.32.48/drivers/gpu/drm/radeon/radeon_display.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_display.c 2011-11-12 1= 2:44:28.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_display.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -482,7 +482,7 @@ void radeon_compute_pll(struct radeon_pl -=20 - if (flags & RADEON_PLL_PREFER_CLOSEST_LOWER) { - error =3D freq - current_freq; -- error =3D error < 0 ? 0xffffffff : error; -+ error =3D (int32_t)error < 0 ? 0xffffffff : error; - } else - error =3D abs(current_freq - freq); - vco_diff =3D abs(vco - best_vco); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_drv.h linux-2.6= .32.48/drivers/gpu/drm/radeon/radeon_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_drv.h 2011-11-12 12:44= :28.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_drv.h 2011-11-12 12:46= :45.000000000 -0500 -@@ -253,7 +253,7 @@ typedef struct drm_radeon_private { ++ pax_track_stack(); ++ + DRM_DEBUG_KMS("PLL freq %llu %u %u\n", freq, pll->min_ref_div, pll->ma= x_ref_div); + freq =3D freq * 1000; +=20 +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_drv.h linux-3.0.8/d= rivers/gpu/drm/radeon/radeon_drv.h +--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_drv.h 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_drv.h 2011-08-23 21:47:55.= 000000000 -0400 +@@ -255,7 +255,7 @@ typedef struct drm_radeon_private { =20 /* SW interrupt */ wait_queue_head_t swi_queue; @@ -30923,52 +27168,52 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/rade= on/radeon_drv.h linux-2.6.32.48/d int vblank_crtc; uint32_t irq_enable_reg; uint32_t r500_disp_irq_reg; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_fence.c linux-2= .6.32.48/drivers/gpu/drm/radeon/radeon_fence.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_fence.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_fence.c 2011-11-12 12:= 46:45.000000000 -0500 -@@ -47,7 +47,7 @@ int radeon_fence_emit(struct radeon_devi +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_fence.c linux-3.0.8= /drivers/gpu/drm/radeon/radeon_fence.c +--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_fence.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_fence.c 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -78,7 +78,7 @@ int radeon_fence_emit(struct radeon_devi write_unlock_irqrestore(&rdev->fence_drv.lock, irq_flags); return 0; } - fence->seq =3D atomic_add_return(1, &rdev->fence_drv.seq); + fence->seq =3D atomic_add_return_unchecked(1, &rdev->fence_drv.seq); - if (!rdev->cp.ready) { + if (!rdev->cp.ready) /* FIXME: cp is not running assume everythings is done right * away -@@ -364,7 +364,7 @@ int radeon_fence_driver_init(struct rade +@@ -373,7 +373,7 @@ int radeon_fence_driver_init(struct rade return r; } - WREG32(rdev->fence_drv.scratch_reg, 0); + radeon_fence_write(rdev, 0); - atomic_set(&rdev->fence_drv.seq, 0); + atomic_set_unchecked(&rdev->fence_drv.seq, 0); INIT_LIST_HEAD(&rdev->fence_drv.created); INIT_LIST_HEAD(&rdev->fence_drv.emited); INIT_LIST_HEAD(&rdev->fence_drv.signaled); -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon.h linux-2.6.32.= 48/drivers/gpu/drm/radeon/radeon.h ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon.h 2011-11-12 12:44:28.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon.h 2011-11-12 12:46:45.= 000000000 -0500 -@@ -149,7 +149,7 @@ int radeon_pm_init(struct radeon_device=20 +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon.h linux-3.0.8/drive= rs/gpu/drm/radeon/radeon.h +--- linux-3.0.8/drivers/gpu/drm/radeon/radeon.h 2011-10-24 08:05:30.0000= 00000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/radeon.h 2011-10-16 21:55:27.0000= 00000 -0400 +@@ -191,7 +191,7 @@ extern int sumo_get_temp(struct radeon_d */ struct radeon_fence_driver { uint32_t scratch_reg; - atomic_t seq; + atomic_unchecked_t seq; uint32_t last_seq; - unsigned long count_timeout; - wait_queue_head_t queue; -@@ -640,7 +640,7 @@ struct radeon_asic { - uint32_t offset, uint32_t obj_size); - int (*clear_surface_reg)(struct radeon_device *rdev, int reg); - void (*bandwidth_update)(struct radeon_device *rdev); + unsigned long last_jiffies; + unsigned long last_timeout; +@@ -961,7 +961,7 @@ struct radeon_asic { + void (*pre_page_flip)(struct radeon_device *rdev, int crtc); + u32 (*page_flip)(struct radeon_device *rdev, int crtc, u64 crtc_base); + void (*post_page_flip)(struct radeon_device *rdev, int crtc); -}; +} __no_const; =20 /* * Asic structures -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ioc32.c linux-2= .6.32.48/drivers/gpu/drm/radeon/radeon_ioc32.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ioc32.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-11-12 12:= 46:45.000000000 -0500 -@@ -368,7 +368,7 @@ static int compat_radeon_cp_setparam(str +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_ioc32.c linux-3.0.8= /drivers/gpu/drm/radeon/radeon_ioc32.c +--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -359,7 +359,7 @@ static int compat_radeon_cp_setparam(str request =3D compat_alloc_user_space(sizeof(*request)); if (!access_ok(VERIFY_WRITE, request, sizeof(*request)) || __put_user(req32.param, &request->param) @@ -30977,9 +27222,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon= /radeon_ioc32.c linux-2.6.32.48 &request->value)) return -EFAULT; =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_irq.c linux-2.6= .32.48/drivers/gpu/drm/radeon/radeon_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_irq.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_irq.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_irq.c linux-3.0.8/d= rivers/gpu/drm/radeon/radeon_irq.c +--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_irq.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_irq.c 2011-08-23 21:47:55.= 000000000 -0400 @@ -225,8 +225,8 @@ static int radeon_emit_irq(struct drm_de unsigned int ret; RING_LOCALS; @@ -31000,10 +27245,19 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/rade= on/radeon_irq.c linux-2.6.32.48/d DRM_INIT_WAITQUEUE(&dev_priv->swi_queue); =20 dev->max_vblank_count =3D 0x001fffff; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_state.c linux-2= .6.32.48/drivers/gpu/drm/radeon/radeon_state.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_state.c 2011-11-12 12:= 44:28.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_state.c 2011-11-12 12:= 46:45.000000000 -0500 -@@ -3021,7 +3021,7 @@ static int radeon_cp_getparam(struct drm +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_state.c linux-3.0.8= /drivers/gpu/drm/radeon/radeon_state.c +--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_state.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_state.c 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -2168,7 +2168,7 @@ static int radeon_cp_clear(struct drm_de + if (sarea_priv->nbox > RADEON_NR_SAREA_CLIPRECTS) + sarea_priv->nbox =3D RADEON_NR_SAREA_CLIPRECTS; +=20 +- if (DRM_COPY_FROM_USER(&depth_boxes, clear->depth_boxes, ++ if (sarea_priv->nbox > RADEON_NR_SAREA_CLIPRECTS || DRM_COPY_FROM_USER= (&depth_boxes, clear->depth_boxes, + sarea_priv->nbox * sizeof(depth_boxes[0]))) + return -EFAULT; +=20 +@@ -3031,7 +3031,7 @@ static int radeon_cp_getparam(struct drm { drm_radeon_private_t *dev_priv =3D dev->dev_private; drm_radeon_getparam_t *param =3D data; @@ -31012,186 +27266,56 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/rad= eon/radeon_state.c linux-2.6.32.48 =20 DRM_DEBUG("pid=3D%d\n", DRM_CURRENTPID); =20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ttm.c linux-2.6= .32.48/drivers/gpu/drm/radeon/radeon_ttm.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ttm.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/radeon_ttm.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -535,27 +535,10 @@ void radeon_ttm_fini(struct radeon_devic - DRM_INFO("radeon: ttm finalized\n"); - } -=20 --static struct vm_operations_struct radeon_ttm_vm_ops; --static const struct vm_operations_struct *ttm_vm_ops =3D NULL; -- --static int radeon_ttm_fault(struct vm_area_struct *vma, struct vm_fault= *vmf) --{ -- struct ttm_buffer_object *bo; -- int r; -- -- bo =3D (struct ttm_buffer_object *)vma->vm_private_data; -- if (bo =3D=3D NULL) { -- return VM_FAULT_NOPAGE; -- } -- r =3D ttm_vm_ops->fault(vma, vmf); -- return r; --} -- - int radeon_mmap(struct file *filp, struct vm_area_struct *vma) - { - struct drm_file *file_priv; - struct radeon_device *rdev; -- int r; -=20 - if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) { - return drm_mmap(filp, vma); -@@ -563,20 +546,9 @@ int radeon_mmap(struct file *filp, struc -=20 - file_priv =3D (struct drm_file *)filp->private_data; - rdev =3D file_priv->minor->dev->dev_private; -- if (rdev =3D=3D NULL) { -+ if (!rdev) - return -EINVAL; -- } -- r =3D ttm_bo_mmap(filp, vma, &rdev->mman.bdev); -- if (unlikely(r !=3D 0)) { -- return r; -- } -- if (unlikely(ttm_vm_ops =3D=3D NULL)) { -- ttm_vm_ops =3D vma->vm_ops; +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_ttm.c linux-3.0.8/d= rivers/gpu/drm/radeon/radeon_ttm.c +--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_ttm.c 2011-10-24 08:05:30.= 000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_ttm.c 2011-10-16 21:55:27.= 000000000 -0400 +@@ -649,8 +649,10 @@ int radeon_mmap(struct file *filp, struc + } + if (unlikely(ttm_vm_ops =3D=3D NULL)) { + ttm_vm_ops =3D vma->vm_ops; - radeon_ttm_vm_ops =3D *ttm_vm_ops; - radeon_ttm_vm_ops.fault =3D &radeon_ttm_fault; -- } -- vma->vm_ops =3D &radeon_ttm_vm_ops; -- return 0; -+ return ttm_bo_mmap(filp, vma, &rdev->mman.bdev); - } -=20 -=20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/radeon/rs690.c linux-2.6.32.4= 8/drivers/gpu/drm/radeon/rs690.c ---- linux-2.6.32.48/drivers/gpu/drm/radeon/rs690.c 2011-11-12 12:44:28.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/radeon/rs690.c 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -302,9 +302,11 @@ void rs690_crtc_bandwidth_compute(struct ++ pax_open_kernel(); ++ memcpy((void *)&radeon_ttm_vm_ops, ttm_vm_ops, sizeof(radeon_ttm_vm_o= ps)); ++ *(void **)&radeon_ttm_vm_ops.fault =3D &radeon_ttm_fault; ++ pax_close_kernel(); + } + vma->vm_ops =3D &radeon_ttm_vm_ops; + return 0; +diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/rs690.c linux-3.0.8/driver= s/gpu/drm/radeon/rs690.c +--- linux-3.0.8/drivers/gpu/drm/radeon/rs690.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/radeon/rs690.c 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -304,9 +304,11 @@ void rs690_crtc_bandwidth_compute(struct if (rdev->pm.max_bandwidth.full > rdev->pm.sideport_bandwidth.full && rdev->pm.sideport_bandwidth.full) rdev->pm.max_bandwidth =3D rdev->pm.sideport_bandwidth; -- read_delay_latency.full =3D rfixed_const(370 * 800 * 1000); -+ read_delay_latency.full =3D rfixed_const(800 * 1000); - read_delay_latency.full =3D rfixed_div(read_delay_latency, +- read_delay_latency.full =3D dfixed_const(370 * 800 * 1000); ++ read_delay_latency.full =3D dfixed_const(800 * 1000); + read_delay_latency.full =3D dfixed_div(read_delay_latency, rdev->pm.igp_sideport_mclk); -+ a.full =3D rfixed_const(370); -+ read_delay_latency.full =3D rfixed_mul(read_delay_latency, a); ++ a.full =3D dfixed_const(370); ++ read_delay_latency.full =3D dfixed_mul(read_delay_latency, a); } else { if (rdev->pm.max_bandwidth.full > rdev->pm.k8_bandwidth.full && rdev->pm.k8_bandwidth.full) -diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo.c linux-2.6.32.48/= drivers/gpu/drm/ttm/ttm_bo.c ---- linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo.c 2011-11-12 12:44:28.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -67,7 +67,7 @@ static struct attribute *ttm_bo_global_a - NULL - }; -=20 --static struct sysfs_ops ttm_bo_global_ops =3D { -+static const struct sysfs_ops ttm_bo_global_ops =3D { - .show =3D &ttm_bo_global_show - }; -=20 -diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo_vm.c linux-2.6.32.= 48/drivers/gpu/drm/ttm/ttm_bo_vm.c ---- linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo_vm.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_bo_vm.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -73,7 +73,7 @@ static int ttm_bo_vm_fault(struct vm_are - { - struct ttm_buffer_object *bo =3D (struct ttm_buffer_object *) - vma->vm_private_data; -- struct ttm_bo_device *bdev =3D bo->bdev; -+ struct ttm_bo_device *bdev; - unsigned long bus_base; - unsigned long bus_offset; - unsigned long bus_size; -@@ -88,6 +88,10 @@ static int ttm_bo_vm_fault(struct vm_are - unsigned long address =3D (unsigned long)vmf->virtual_address; - int retval =3D VM_FAULT_NOPAGE; -=20 -+ if (!bo) -+ return VM_FAULT_NOPAGE; -+ bdev =3D bo->bdev; -+ - /* - * Work around locking order reversal in fault / nopfn - * between mmap_sem and bo_reserve: Perform a trylock operation -diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_global.c linux-2.6.32= .48/drivers/gpu/drm/ttm/ttm_global.c ---- linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_global.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_global.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -36,7 +36,7 @@ - struct ttm_global_item { - struct mutex mutex; - void *object; -- int refcount; -+ atomic_t refcount; - }; -=20 - static struct ttm_global_item glob[TTM_GLOBAL_NUM]; -@@ -49,7 +49,7 @@ void ttm_global_init(void) - struct ttm_global_item *item =3D &glob[i]; - mutex_init(&item->mutex); - item->object =3D NULL; -- item->refcount =3D 0; -+ atomic_set(&item->refcount, 0); - } - } -=20 -@@ -59,7 +59,7 @@ void ttm_global_release(void) - for (i =3D 0; i < TTM_GLOBAL_NUM; ++i) { - struct ttm_global_item *item =3D &glob[i]; - BUG_ON(item->object !=3D NULL); -- BUG_ON(item->refcount !=3D 0); -+ BUG_ON(atomic_read(&item->refcount) !=3D 0); - } - } -=20 -@@ -70,7 +70,7 @@ int ttm_global_item_ref(struct ttm_globa - void *object; -=20 - mutex_lock(&item->mutex); -- if (item->refcount =3D=3D 0) { -+ if (atomic_read(&item->refcount) =3D=3D 0) { - item->object =3D kzalloc(ref->size, GFP_KERNEL); - if (unlikely(item->object =3D=3D NULL)) { - ret =3D -ENOMEM; -@@ -83,7 +83,7 @@ int ttm_global_item_ref(struct ttm_globa - goto out_err; -=20 - } -- ++item->refcount; -+ atomic_inc(&item->refcount); - ref->object =3D item->object; - object =3D item->object; - mutex_unlock(&item->mutex); -@@ -100,9 +100,9 @@ void ttm_global_item_unref(struct ttm_gl - struct ttm_global_item *item =3D &glob[ref->global_type]; -=20 - mutex_lock(&item->mutex); -- BUG_ON(item->refcount =3D=3D 0); -+ BUG_ON(atomic_read(&item->refcount) =3D=3D 0); - BUG_ON(ref->object !=3D item->object); -- if (--item->refcount =3D=3D 0) { -+ if (atomic_dec_and_test(&item->refcount)) { - ref->release(ref); - item->object =3D NULL; - } -diff -urNp linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_memory.c linux-2.6.32= .48/drivers/gpu/drm/ttm/ttm_memory.c ---- linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_memory.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/ttm/ttm_memory.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -152,7 +152,7 @@ static struct attribute *ttm_mem_zone_at - NULL - }; -=20 --static struct sysfs_ops ttm_mem_zone_ops =3D { -+static const struct sysfs_ops ttm_mem_zone_ops =3D { - .show =3D &ttm_mem_zone_show, - .store =3D &ttm_mem_zone_store - }; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/via/via_drv.h linux-2.6.32.48= /drivers/gpu/drm/via/via_drv.h ---- linux-2.6.32.48/drivers/gpu/drm/via/via_drv.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/via/via_drv.h 2011-11-12 12:46:45.00= 0000000 -0500 +diff -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 +--- linux-3.0.8/drivers/gpu/drm/ttm/ttm_page_alloc.c 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/ttm/ttm_page_alloc.c 2011-08-23 21:47:55= .000000000 -0400 +@@ -398,9 +398,9 @@ static int ttm_pool_get_num_unused_pages + static int ttm_pool_mm_shrink(struct shrinker *shrink, + struct shrink_control *sc) + { +- static atomic_t start_pool =3D ATOMIC_INIT(0); ++ static atomic_unchecked_t start_pool =3D ATOMIC_INIT(0); + unsigned i; +- unsigned pool_offset =3D atomic_add_return(1, &start_pool); ++ unsigned pool_offset =3D atomic_add_return_unchecked(1, &start_pool); + struct ttm_page_pool *pool; + int shrink_pages =3D sc->nr_to_scan; +=20 +diff -urNp linux-3.0.8/drivers/gpu/drm/via/via_drv.h linux-3.0.8/drivers= /gpu/drm/via/via_drv.h +--- linux-3.0.8/drivers/gpu/drm/via/via_drv.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/via/via_drv.h 2011-08-23 21:47:55.000000= 000 -0400 @@ -51,7 +51,7 @@ typedef struct drm_via_ring_buffer { typedef uint32_t maskarray_t[5]; =20 @@ -31210,9 +27334,9 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/via/vi= a_drv.h linux-2.6.32.48/drivers drm_via_state_t hc_state; char pci_buf[VIA_PCI_BUF_SIZE]; const uint32_t *fire_offsets[VIA_FIRE_BUF_SIZE]; -diff -urNp linux-2.6.32.48/drivers/gpu/drm/via/via_irq.c linux-2.6.32.48= /drivers/gpu/drm/via/via_irq.c ---- linux-2.6.32.48/drivers/gpu/drm/via/via_irq.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/gpu/drm/via/via_irq.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-3.0.8/drivers/gpu/drm/via/via_irq.c linux-3.0.8/drivers= /gpu/drm/via/via_irq.c +--- linux-3.0.8/drivers/gpu/drm/via/via_irq.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/via/via_irq.c 2011-08-23 21:47:55.000000= 000 -0400 @@ -102,7 +102,7 @@ u32 via_get_vblank_counter(struct drm_de if (crtc !=3D 0) return 0; @@ -31250,8 +27374,8 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/via/vi= a_irq.c linux-2.6.32.48/drivers + atomic_inc_unchecked(&cur_irq->irq_received); DRM_WAKEUP(&cur_irq->irq_queue); handled =3D 1; - if (dev_priv->irq_map[drm_via_irq_dma0_td] =3D=3D i) { -@@ -244,11 +244,11 @@ via_driver_irq_wait(struct drm_device *=20 + if (dev_priv->irq_map[drm_via_irq_dma0_td] =3D=3D i) +@@ -243,11 +243,11 @@ via_driver_irq_wait(struct drm_device *d DRM_WAIT_ON(ret, cur_irq->irq_queue, 3 * DRM_HZ, ((VIA_READ(masks[irq][2]) & masks[irq][3]) =3D=3D masks[irq][4])); @@ -31265,7 +27389,7 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/via/vi= a_irq.c linux-2.6.32.48/drivers *sequence) <=3D (1 << 23))); } *sequence =3D cur_irq_sequence; -@@ -286,7 +286,7 @@ void via_driver_irq_preinstall(struct dr +@@ -285,7 +285,7 @@ void via_driver_irq_preinstall(struct dr } =20 for (i =3D 0; i < dev_priv->num_irqs; ++i) { @@ -31274,7 +27398,7 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/via/vi= a_irq.c linux-2.6.32.48/drivers cur_irq->enable_mask =3D dev_priv->irq_masks[i][0]; cur_irq->pending_mask =3D dev_priv->irq_masks[i][1]; DRM_INIT_WAITQUEUE(&cur_irq->irq_queue); -@@ -368,7 +368,7 @@ int via_wait_irq(struct drm_device *dev, +@@ -367,7 +367,7 @@ int via_wait_irq(struct drm_device *dev, switch (irqwait->request.type & ~VIA_IRQ_FLAGS_MASK) { case VIA_IRQ_RELATIVE: irqwait->request.sequence +=3D @@ -31283,10 +27407,106 @@ diff -urNp linux-2.6.32.48/drivers/gpu/drm/via= /via_irq.c linux-2.6.32.48/drivers irqwait->request.type &=3D ~_DRM_VBLANK_RELATIVE; case VIA_IRQ_ABSOLUTE: break; -diff -urNp linux-2.6.32.48/drivers/hid/hid-core.c linux-2.6.32.48/driver= s/hid/hid-core.c ---- linux-2.6.32.48/drivers/hid/hid-core.c 2011-11-12 12:44:28.000000000= -0500 -+++ linux-2.6.32.48/drivers/hid/hid-core.c 2011-11-12 12:46:45.000000000= -0500 -@@ -1752,7 +1752,7 @@ static bool hid_ignore(struct hid_device +diff -urNp linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h linux-3.0.8/d= rivers/gpu/drm/vmwgfx/vmwgfx_drv.h +--- linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 2011-08-23 21:47:55.= 000000000 -0400 +@@ -240,7 +240,7 @@ struct vmw_private { + * Fencing and IRQs. + */ +=20 +- atomic_t fence_seq; ++ atomic_unchecked_t fence_seq; + wait_queue_head_t fence_queue; + wait_queue_head_t fifo_queue; + atomic_t fence_queue_waiters; +diff -urNp linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c linux-3.0= .8/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +--- linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 2011-10-06 04:17= :55.000000000 -0400 +@@ -610,7 +610,7 @@ int vmw_execbuf_ioctl(struct drm_device=20 + struct drm_vmw_fence_rep fence_rep; + struct drm_vmw_fence_rep __user *user_fence_rep; + int ret; +- void *user_cmd; ++ void __user *user_cmd; + void *cmd; + uint32_t sequence; + struct vmw_sw_context *sw_context =3D &dev_priv->ctx; +diff -urNp linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c linux-3.0.8= /drivers/gpu/drm/vmwgfx/vmwgfx_fence.c +--- linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -151,7 +151,7 @@ int vmw_wait_lag(struct vmw_private *dev + while (!vmw_lag_lt(queue, us)) { + spin_lock(&queue->lock); + if (list_empty(&queue->head)) +- sequence =3D atomic_read(&dev_priv->fence_seq); ++ sequence =3D atomic_read_unchecked(&dev_priv->fence_seq); + else { + fence =3D list_first_entry(&queue->head, + struct vmw_fence, head); +diff -urNp linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c linux-3.0.8/= drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c +--- linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 2011-10-06 04:17:55= .000000000 -0400 +@@ -137,7 +137,7 @@ int vmw_fifo_init(struct vmw_private *de + (unsigned int) min, + (unsigned int) fifo->capabilities); +=20 +- atomic_set(&dev_priv->fence_seq, dev_priv->last_read_sequence); ++ atomic_set_unchecked(&dev_priv->fence_seq, dev_priv->last_read_sequenc= e); + iowrite32(dev_priv->last_read_sequence, fifo_mem + SVGA_FIFO_FENCE); + vmw_fence_queue_init(&fifo->fence_queue); + return vmw_fifo_send_fence(dev_priv, &dummy); +@@ -356,7 +356,7 @@ void *vmw_fifo_reserve(struct vmw_privat + if (reserveable) + iowrite32(bytes, fifo_mem + + SVGA_FIFO_RESERVED); +- return fifo_mem + (next_cmd >> 2); ++ return (__le32 __force_kernel *)fifo_mem + (next_cmd >> 2); + } else { + need_bounce =3D true; + } +@@ -476,7 +476,7 @@ int vmw_fifo_send_fence(struct vmw_priva +=20 + fm =3D vmw_fifo_reserve(dev_priv, bytes); + if (unlikely(fm =3D=3D NULL)) { +- *sequence =3D atomic_read(&dev_priv->fence_seq); ++ *sequence =3D atomic_read_unchecked(&dev_priv->fence_seq); + ret =3D -ENOMEM; + (void)vmw_fallback_wait(dev_priv, false, true, *sequence, + false, 3*HZ); +@@ -484,7 +484,7 @@ int vmw_fifo_send_fence(struct vmw_priva + } +=20 + do { +- *sequence =3D atomic_add_return(1, &dev_priv->fence_seq); ++ *sequence =3D atomic_add_return_unchecked(1, &dev_priv->fence_seq); + } while (*sequence =3D=3D 0); +=20 + if (!(fifo_state->capabilities & SVGA_FIFO_CAP_FENCE)) { +diff -urNp linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c linux-3.0.8/d= rivers/gpu/drm/vmwgfx/vmwgfx_irq.c +--- linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 2011-08-23 21:47:55.= 000000000 -0400 +@@ -100,7 +100,7 @@ bool vmw_fence_signaled(struct vmw_priva + * emitted. Then the fence is stale and signaled. + */ +=20 +- ret =3D ((atomic_read(&dev_priv->fence_seq) - sequence) ++ ret =3D ((atomic_read_unchecked(&dev_priv->fence_seq) - sequence) + > VMW_FENCE_WRAP); +=20 + return ret; +@@ -131,7 +131,7 @@ int vmw_fallback_wait(struct vmw_private +=20 + if (fifo_idle) + down_read(&fifo_state->rwsem); +- signal_seq =3D atomic_read(&dev_priv->fence_seq); ++ signal_seq =3D atomic_read_unchecked(&dev_priv->fence_seq); + ret =3D 0; +=20 + for (;;) { +diff -urNp linux-3.0.8/drivers/hid/hid-core.c linux-3.0.8/drivers/hid/hi= d-core.c +--- linux-3.0.8/drivers/hid/hid-core.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/hid/hid-core.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -1923,7 +1923,7 @@ static bool hid_ignore(struct hid_device =20 int hid_add_device(struct hid_device *hdev) { @@ -31295,91 +27515,52 @@ diff -urNp linux-2.6.32.48/drivers/hid/hid-core= .c linux-2.6.32.48/drivers/hid/hi int ret; =20 if (WARN_ON(hdev->status & HID_STAT_ADDED)) -@@ -1766,7 +1766,7 @@ int hid_add_device(struct hid_device *hd +@@ -1938,7 +1938,7 @@ int hid_add_device(struct hid_device *hd /* XXX hack, any other cleaner solution after the driver core * is converted to allow more than 20 bytes as the device name? */ dev_set_name(&hdev->dev, "%04X:%04X:%04X.%04X", hdev->bus, - hdev->vendor, hdev->product, atomic_inc_return(&id)); + hdev->vendor, hdev->product, atomic_inc_return_unchecked(&id)); =20 + hid_debug_register(hdev, dev_name(&hdev->dev)); ret =3D device_add(&hdev->dev); - if (!ret) -diff -urNp linux-2.6.32.48/drivers/hid/usbhid/hiddev.c linux-2.6.32.48/d= rivers/hid/usbhid/hiddev.c ---- linux-2.6.32.48/drivers/hid/usbhid/hiddev.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/hid/usbhid/hiddev.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -617,7 +617,7 @@ static long hiddev_ioctl(struct file *fi - return put_user(HID_VERSION, (int __user *)arg); +diff -urNp linux-3.0.8/drivers/hid/usbhid/hiddev.c linux-3.0.8/drivers/h= id/usbhid/hiddev.c +--- linux-3.0.8/drivers/hid/usbhid/hiddev.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/hid/usbhid/hiddev.c 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -624,7 +624,7 @@ static long hiddev_ioctl(struct file *fi + break; =20 case HIDIOCAPPLICATION: - if (arg < 0 || arg >=3D hid->maxapplication) + if (arg >=3D hid->maxapplication) - return -EINVAL; + break; =20 for (i =3D 0; i < hid->maxcollection; i++) -diff -urNp linux-2.6.32.48/drivers/hwmon/lis3lv02d.c linux-2.6.32.48/dri= vers/hwmon/lis3lv02d.c ---- linux-2.6.32.48/drivers/hwmon/lis3lv02d.c 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/hwmon/lis3lv02d.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -146,7 +146,7 @@ static irqreturn_t lis302dl_interrupt(in - * the lid is closed. This leads to interrupts as soon as a little mov= e - * is done. - */ -- atomic_inc(&lis3_dev.count); -+ atomic_inc_unchecked(&lis3_dev.count); -=20 - wake_up_interruptible(&lis3_dev.misc_wait); - kill_fasync(&lis3_dev.async_queue, SIGIO, POLL_IN); -@@ -160,7 +160,7 @@ static int lis3lv02d_misc_open(struct in - if (test_and_set_bit(0, &lis3_dev.misc_opened)) - return -EBUSY; /* already open */ -=20 -- atomic_set(&lis3_dev.count, 0); -+ atomic_set_unchecked(&lis3_dev.count, 0); -=20 - /* - * The sensor can generate interrupts for free-fall and direction -@@ -206,7 +206,7 @@ static ssize_t lis3lv02d_misc_read(struc - add_wait_queue(&lis3_dev.misc_wait, &wait); - while (true) { - set_current_state(TASK_INTERRUPTIBLE); -- data =3D atomic_xchg(&lis3_dev.count, 0); -+ data =3D atomic_xchg_unchecked(&lis3_dev.count, 0); - if (data) - break; +diff -urNp linux-3.0.8/drivers/hwmon/acpi_power_meter.c linux-3.0.8/driv= ers/hwmon/acpi_power_meter.c +--- linux-3.0.8/drivers/hwmon/acpi_power_meter.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/hwmon/acpi_power_meter.c 2011-08-23 21:47:55.000= 000000 -0400 +@@ -316,8 +316,6 @@ static ssize_t set_trip(struct device *d + return res; =20 -@@ -244,7 +244,7 @@ out: - static unsigned int lis3lv02d_misc_poll(struct file *file, poll_table *= wait) - { - poll_wait(file, &lis3_dev.misc_wait, wait); -- if (atomic_read(&lis3_dev.count)) -+ if (atomic_read_unchecked(&lis3_dev.count)) - return POLLIN | POLLRDNORM; - return 0; - } -diff -urNp linux-2.6.32.48/drivers/hwmon/lis3lv02d.h linux-2.6.32.48/dri= vers/hwmon/lis3lv02d.h ---- linux-2.6.32.48/drivers/hwmon/lis3lv02d.h 2011-11-12 12:44:28.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/hwmon/lis3lv02d.h 2011-11-12 12:46:45.000000= 000 -0500 -@@ -201,7 +201,7 @@ struct lis3lv02d { + temp /=3D 1000; +- if (temp < 0) +- return -EINVAL; =20 - struct input_polled_dev *idev; /* input device */ - struct platform_device *pdev; /* platform device */ -- atomic_t count; /* interrupt count after last read */ -+ atomic_unchecked_t count; /* interrupt count after last read */ - int xcalib; /* calibrated null value for x */ - int ycalib; /* calibrated null value for y */ - int zcalib; /* calibrated null value for z */ -diff -urNp linux-2.6.32.48/drivers/hwmon/sht15.c linux-2.6.32.48/drivers= /hwmon/sht15.c ---- linux-2.6.32.48/drivers/hwmon/sht15.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/hwmon/sht15.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -112,7 +112,7 @@ struct sht15_data { + mutex_lock(&resource->lock); + resource->trip[attr->index - 7] =3D temp; +diff -urNp linux-3.0.8/drivers/hwmon/sht15.c linux-3.0.8/drivers/hwmon/s= ht15.c +--- linux-3.0.8/drivers/hwmon/sht15.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/hwmon/sht15.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -166,7 +166,7 @@ struct sht15_data { int supply_uV; - int supply_uV_valid; + bool supply_uV_valid; struct work_struct update_supply_work; - atomic_t interrupt_handled; + atomic_unchecked_t interrupt_handled; }; =20 /** -@@ -245,13 +245,13 @@ static inline int sht15_update_single_va +@@ -509,13 +509,13 @@ static int sht15_measurement(struct sht1 return ret; =20 gpio_direction_input(data->pdata->gpio_data); @@ -31389,39 +27570,39 @@ diff -urNp linux-2.6.32.48/drivers/hwmon/sht15.= c linux-2.6.32.48/drivers/hwmon/s enable_irq(gpio_to_irq(data->pdata->gpio_data)); if (gpio_get_value(data->pdata->gpio_data) =3D=3D 0) { disable_irq_nosync(gpio_to_irq(data->pdata->gpio_data)); - /* Only relevant if the interrupt hasn't occured. */ + /* Only relevant if the interrupt hasn't occurred. */ - if (!atomic_read(&data->interrupt_handled)) + if (!atomic_read_unchecked(&data->interrupt_handled)) schedule_work(&data->read_work); } ret =3D wait_event_timeout(data->wait_queue, -@@ -398,7 +398,7 @@ static irqreturn_t sht15_interrupt_fired - struct sht15_data *data =3D d; +@@ -782,7 +782,7 @@ static irqreturn_t sht15_interrupt_fired +=20 /* First disable the interrupt */ disable_irq_nosync(irq); - atomic_inc(&data->interrupt_handled); + atomic_inc_unchecked(&data->interrupt_handled); /* Then schedule a reading work struct */ - if (data->flag !=3D SHT15_READING_NOTHING) + if (data->state !=3D SHT15_READING_NOTHING) schedule_work(&data->read_work); -@@ -449,11 +449,11 @@ static void sht15_bh_read_data(struct wo - here as could have gone low in meantime so verify - it hasn't! - */ +@@ -804,11 +804,11 @@ static void sht15_bh_read_data(struct wo + * If not, then start the interrupt again - care here as could + * have gone low in meantime so verify it hasn't! + */ - atomic_set(&data->interrupt_handled, 0); + atomic_set_unchecked(&data->interrupt_handled, 0); enable_irq(gpio_to_irq(data->pdata->gpio_data)); - /* If still not occured or another handler has been scheduled */ + /* If still not occurred or another handler has been scheduled */ if (gpio_get_value(data->pdata->gpio_data) - || atomic_read(&data->interrupt_handled)) + || atomic_read_unchecked(&data->interrupt_handled)) return; } - /* Read the data back from the device */ -diff -urNp linux-2.6.32.48/drivers/hwmon/w83791d.c linux-2.6.32.48/drive= rs/hwmon/w83791d.c ---- linux-2.6.32.48/drivers/hwmon/w83791d.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/hwmon/w83791d.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -330,8 +330,8 @@ static int w83791d_detect(struct i2c_cli +=20 +diff -urNp linux-3.0.8/drivers/hwmon/w83791d.c linux-3.0.8/drivers/hwmon= /w83791d.c +--- linux-3.0.8/drivers/hwmon/w83791d.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/hwmon/w83791d.c 2011-08-23 21:47:55.000000000 -0= 400 +@@ -329,8 +329,8 @@ static int w83791d_detect(struct i2c_cli struct i2c_board_info *info); static int w83791d_remove(struct i2c_client *client); =20 @@ -31432,9 +27613,9 @@ diff -urNp linux-2.6.32.48/drivers/hwmon/w83791d.= c linux-2.6.32.48/drivers/hwmon static struct w83791d_data *w83791d_update_device(struct device *dev); =20 #ifdef DEBUG -diff -urNp linux-2.6.32.48/drivers/i2c/busses/i2c-amd756-s4882.c linux-2= .6.32.48/drivers/i2c/busses/i2c-amd756-s4882.c ---- linux-2.6.32.48/drivers/i2c/busses/i2c-amd756-s4882.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/i2c/busses/i2c-amd756-s4882.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/i2c/busses/i2c-amd756-s4882.c linux-3.0.8= /drivers/i2c/busses/i2c-amd756-s4882.c +--- linux-3.0.8/drivers/i2c/busses/i2c-amd756-s4882.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/i2c/busses/i2c-amd756-s4882.c 2011-08-23 21:47:5= 5.000000000 -0400 @@ -43,7 +43,7 @@ extern struct i2c_adapter amd756_smbus; =20 @@ -31444,9 +27625,9 @@ diff -urNp linux-2.6.32.48/drivers/i2c/busses/i2c= -amd756-s4882.c linux-2.6.32.48 =20 /* Wrapper access functions for multiplexed SMBus */ static DEFINE_MUTEX(amd756_lock); -diff -urNp linux-2.6.32.48/drivers/i2c/busses/i2c-nforce2-s4985.c linux-= 2.6.32.48/drivers/i2c/busses/i2c-nforce2-s4985.c ---- linux-2.6.32.48/drivers/i2c/busses/i2c-nforce2-s4985.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/i2c/busses/i2c-nforce2-s4985.c linux-3.0.= 8/drivers/i2c/busses/i2c-nforce2-s4985.c +--- linux-3.0.8/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-08-23 21:47:= 55.000000000 -0400 @@ -41,7 +41,7 @@ extern struct i2c_adapter *nforce2_smbus; =20 @@ -31456,10 +27637,241 @@ diff -urNp linux-2.6.32.48/drivers/i2c/busses/= i2c-nforce2-s4985.c linux-2.6.32.4 =20 /* Wrapper access functions for multiplexed SMBus */ static DEFINE_MUTEX(nforce2_lock); -diff -urNp linux-2.6.32.48/drivers/ide/ide-cd.c linux-2.6.32.48/drivers/= ide/ide-cd.c ---- linux-2.6.32.48/drivers/ide/ide-cd.c 2011-11-12 12:44:29.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/ide/ide-cd.c 2011-11-12 12:46:45.000000000 -= 0500 -@@ -774,7 +774,7 @@ static void cdrom_do_block_pc(ide_drive_ +diff -urNp linux-3.0.8/drivers/i2c/i2c-mux.c linux-3.0.8/drivers/i2c/i2c= -mux.c +--- linux-3.0.8/drivers/i2c/i2c-mux.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/i2c/i2c-mux.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -28,7 +28,7 @@ + /* multiplexer per channel data */ + struct i2c_mux_priv { + struct i2c_adapter adap; +- struct i2c_algorithm algo; ++ i2c_algorithm_no_const algo; +=20 + struct i2c_adapter *parent; + void *mux_dev; /* the mux chip/device */ +diff -urNp linux-3.0.8/drivers/ide/aec62xx.c linux-3.0.8/drivers/ide/aec= 62xx.c +--- linux-3.0.8/drivers/ide/aec62xx.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/ide/aec62xx.c 2011-10-11 10:44:33.000000000 -040= 0 +@@ -181,7 +181,7 @@ static const struct ide_port_ops atp86x_ + .cable_detect =3D atp86x_cable_detect, + }; +=20 +-static const struct ide_port_info aec62xx_chipsets[] __devinitdata =3D = { ++static const struct ide_port_info aec62xx_chipsets[] __devinitconst =3D= { + { /* 0: AEC6210 */ + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_aec62xx, +diff -urNp linux-3.0.8/drivers/ide/alim15x3.c linux-3.0.8/drivers/ide/al= im15x3.c +--- linux-3.0.8/drivers/ide/alim15x3.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/ide/alim15x3.c 2011-10-11 10:44:33.000000000 -04= 00 +@@ -512,7 +512,7 @@ static const struct ide_dma_ops ali_dma_ + .dma_sff_read_status =3D ide_dma_sff_read_status, + }; +=20 +-static const struct ide_port_info ali15x3_chipset __devinitdata =3D { ++static const struct ide_port_info ali15x3_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_ali15x3, + .init_hwif =3D init_hwif_ali15x3, +diff -urNp linux-3.0.8/drivers/ide/amd74xx.c linux-3.0.8/drivers/ide/amd= 74xx.c +--- linux-3.0.8/drivers/ide/amd74xx.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/ide/amd74xx.c 2011-10-11 10:44:33.000000000 -040= 0 +@@ -223,7 +223,7 @@ static const struct ide_port_ops amd_por + .udma_mask =3D udma, \ + } +=20 +-static const struct ide_port_info amd74xx_chipsets[] __devinitdata =3D = { ++static const struct ide_port_info amd74xx_chipsets[] __devinitconst =3D= { + /* 0: AMD7401 */ DECLARE_AMD_DEV(0x00, ATA_UDMA2), + /* 1: AMD7409 */ DECLARE_AMD_DEV(ATA_SWDMA2, ATA_UDMA4), + /* 2: AMD7411/7441 */ DECLARE_AMD_DEV(ATA_SWDMA2, ATA_UDMA5), +diff -urNp linux-3.0.8/drivers/ide/atiixp.c linux-3.0.8/drivers/ide/atii= xp.c +--- linux-3.0.8/drivers/ide/atiixp.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/atiixp.c 2011-10-11 10:44:33.000000000 -0400 +@@ -139,7 +139,7 @@ static const struct ide_port_ops atiixp_ + .cable_detect =3D atiixp_cable_detect, + }; +=20 +-static const struct ide_port_info atiixp_pci_info[] __devinitdata =3D { ++static const struct ide_port_info atiixp_pci_info[] __devinitconst =3D = { + { /* 0: IXP200/300/400/700 */ + .name =3D DRV_NAME, + .enablebits =3D {{0x48,0x01,0x00}, {0x48,0x08,0x00}}, +diff -urNp linux-3.0.8/drivers/ide/cmd64x.c linux-3.0.8/drivers/ide/cmd6= 4x.c +--- linux-3.0.8/drivers/ide/cmd64x.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/cmd64x.c 2011-10-11 10:44:33.000000000 -0400 +@@ -327,7 +327,7 @@ static const struct ide_dma_ops cmd646_r + .dma_sff_read_status =3D ide_dma_sff_read_status, + }; +=20 +-static const struct ide_port_info cmd64x_chipsets[] __devinitdata =3D { ++static const struct ide_port_info cmd64x_chipsets[] __devinitconst =3D = { + { /* 0: CMD643 */ + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_cmd64x, +diff -urNp linux-3.0.8/drivers/ide/cs5520.c linux-3.0.8/drivers/ide/cs55= 20.c +--- linux-3.0.8/drivers/ide/cs5520.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/cs5520.c 2011-10-11 10:44:33.000000000 -0400 +@@ -94,7 +94,7 @@ static const struct ide_port_ops cs5520_ + .set_dma_mode =3D cs5520_set_dma_mode, + }; +=20 +-static const struct ide_port_info cyrix_chipset __devinitdata =3D { ++static const struct ide_port_info cyrix_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .enablebits =3D { { 0x60, 0x01, 0x01 }, { 0x60, 0x02, 0x02 } }, + .port_ops =3D &cs5520_port_ops, +diff -urNp linux-3.0.8/drivers/ide/cs5530.c linux-3.0.8/drivers/ide/cs55= 30.c +--- linux-3.0.8/drivers/ide/cs5530.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/cs5530.c 2011-10-11 10:44:33.000000000 -0400 +@@ -245,7 +245,7 @@ static const struct ide_port_ops cs5530_ + .udma_filter =3D cs5530_udma_filter, + }; +=20 +-static const struct ide_port_info cs5530_chipset __devinitdata =3D { ++static const struct ide_port_info cs5530_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_cs5530, + .init_hwif =3D init_hwif_cs5530, +diff -urNp linux-3.0.8/drivers/ide/cs5535.c linux-3.0.8/drivers/ide/cs55= 35.c +--- linux-3.0.8/drivers/ide/cs5535.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/cs5535.c 2011-10-11 10:44:33.000000000 -0400 +@@ -170,7 +170,7 @@ static const struct ide_port_ops cs5535_ + .cable_detect =3D cs5535_cable_detect, + }; +=20 +-static const struct ide_port_info cs5535_chipset __devinitdata =3D { ++static const struct ide_port_info cs5535_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .port_ops =3D &cs5535_port_ops, + .host_flags =3D IDE_HFLAG_SINGLE | IDE_HFLAG_POST_SET_MODE, +diff -urNp linux-3.0.8/drivers/ide/cy82c693.c linux-3.0.8/drivers/ide/cy= 82c693.c +--- linux-3.0.8/drivers/ide/cy82c693.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/ide/cy82c693.c 2011-10-11 10:44:33.000000000 -04= 00 +@@ -161,7 +161,7 @@ static const struct ide_port_ops cy82c69 + .set_dma_mode =3D cy82c693_set_dma_mode, + }; +=20 +-static const struct ide_port_info cy82c693_chipset __devinitdata =3D { ++static const struct ide_port_info cy82c693_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .init_iops =3D init_iops_cy82c693, + .port_ops =3D &cy82c693_port_ops, +diff -urNp linux-3.0.8/drivers/ide/hpt366.c linux-3.0.8/drivers/ide/hpt3= 66.c +--- linux-3.0.8/drivers/ide/hpt366.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/hpt366.c 2011-10-11 10:44:33.000000000 -0400 +@@ -443,7 +443,7 @@ static struct hpt_timings hpt37x_timings + } + }; +=20 +-static const struct hpt_info hpt36x __devinitdata =3D { ++static const struct hpt_info hpt36x __devinitconst =3D { + .chip_name =3D "HPT36x", + .chip_type =3D HPT36x, + .udma_mask =3D HPT366_ALLOW_ATA66_3 ? (HPT366_ALLOW_ATA66_4 ? ATA_UDMA= 4 : ATA_UDMA3) : ATA_UDMA2, +@@ -451,7 +451,7 @@ static const struct hpt_info hpt36x __de + .timings =3D &hpt36x_timings + }; +=20 +-static const struct hpt_info hpt370 __devinitdata =3D { ++static const struct hpt_info hpt370 __devinitconst =3D { + .chip_name =3D "HPT370", + .chip_type =3D HPT370, + .udma_mask =3D HPT370_ALLOW_ATA100_5 ? ATA_UDMA5 : ATA_UDMA4, +@@ -459,7 +459,7 @@ static const struct hpt_info hpt370 __de + .timings =3D &hpt37x_timings + }; +=20 +-static const struct hpt_info hpt370a __devinitdata =3D { ++static const struct hpt_info hpt370a __devinitconst =3D { + .chip_name =3D "HPT370A", + .chip_type =3D HPT370A, + .udma_mask =3D HPT370_ALLOW_ATA100_5 ? ATA_UDMA5 : ATA_UDMA4, +@@ -467,7 +467,7 @@ static const struct hpt_info hpt370a __d + .timings =3D &hpt37x_timings + }; +=20 +-static const struct hpt_info hpt374 __devinitdata =3D { ++static const struct hpt_info hpt374 __devinitconst =3D { + .chip_name =3D "HPT374", + .chip_type =3D HPT374, + .udma_mask =3D ATA_UDMA5, +@@ -475,7 +475,7 @@ static const struct hpt_info hpt374 __de + .timings =3D &hpt37x_timings + }; +=20 +-static const struct hpt_info hpt372 __devinitdata =3D { ++static const struct hpt_info hpt372 __devinitconst =3D { + .chip_name =3D "HPT372", + .chip_type =3D HPT372, + .udma_mask =3D HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, +@@ -483,7 +483,7 @@ static const struct hpt_info hpt372 __de + .timings =3D &hpt37x_timings + }; +=20 +-static const struct hpt_info hpt372a __devinitdata =3D { ++static const struct hpt_info hpt372a __devinitconst =3D { + .chip_name =3D "HPT372A", + .chip_type =3D HPT372A, + .udma_mask =3D HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, +@@ -491,7 +491,7 @@ static const struct hpt_info hpt372a __d + .timings =3D &hpt37x_timings + }; +=20 +-static const struct hpt_info hpt302 __devinitdata =3D { ++static const struct hpt_info hpt302 __devinitconst =3D { + .chip_name =3D "HPT302", + .chip_type =3D HPT302, + .udma_mask =3D HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, +@@ -499,7 +499,7 @@ static const struct hpt_info hpt302 __de + .timings =3D &hpt37x_timings + }; +=20 +-static const struct hpt_info hpt371 __devinitdata =3D { ++static const struct hpt_info hpt371 __devinitconst =3D { + .chip_name =3D "HPT371", + .chip_type =3D HPT371, + .udma_mask =3D HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, +@@ -507,7 +507,7 @@ static const struct hpt_info hpt371 __de + .timings =3D &hpt37x_timings + }; +=20 +-static const struct hpt_info hpt372n __devinitdata =3D { ++static const struct hpt_info hpt372n __devinitconst =3D { + .chip_name =3D "HPT372N", + .chip_type =3D HPT372N, + .udma_mask =3D HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, +@@ -515,7 +515,7 @@ static const struct hpt_info hpt372n __d + .timings =3D &hpt37x_timings + }; +=20 +-static const struct hpt_info hpt302n __devinitdata =3D { ++static const struct hpt_info hpt302n __devinitconst =3D { + .chip_name =3D "HPT302N", + .chip_type =3D HPT302N, + .udma_mask =3D HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, +@@ -523,7 +523,7 @@ static const struct hpt_info hpt302n __d + .timings =3D &hpt37x_timings + }; +=20 +-static const struct hpt_info hpt371n __devinitdata =3D { ++static const struct hpt_info hpt371n __devinitconst =3D { + .chip_name =3D "HPT371N", + .chip_type =3D HPT371N, + .udma_mask =3D HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, +@@ -1361,7 +1361,7 @@ static const struct ide_dma_ops hpt36x_d + .dma_sff_read_status =3D ide_dma_sff_read_status, + }; +=20 +-static const struct ide_port_info hpt366_chipsets[] __devinitdata =3D { ++static const struct ide_port_info hpt366_chipsets[] __devinitconst =3D = { + { /* 0: HPT36x */ + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_hpt366, +diff -urNp linux-3.0.8/drivers/ide/ide-cd.c linux-3.0.8/drivers/ide/ide-= cd.c +--- linux-3.0.8/drivers/ide/ide-cd.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/ide-cd.c 2011-08-23 21:47:55.000000000 -0400 +@@ -769,7 +769,7 @@ static void cdrom_do_block_pc(ide_drive_ alignment =3D queue_dma_alignment(q) | q->dma_pad_mask; if ((unsigned long)buf & alignment || blk_rq_bytes(rq) & q->dma_pad_mask @@ -31468,10 +27880,10 @@ diff -urNp linux-2.6.32.48/drivers/ide/ide-cd.c= linux-2.6.32.48/drivers/ide/ide- drive->dma =3D 0; } } -diff -urNp linux-2.6.32.48/drivers/ide/ide-floppy.c linux-2.6.32.48/driv= ers/ide/ide-floppy.c ---- linux-2.6.32.48/drivers/ide/ide-floppy.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ide/ide-floppy.c 2011-11-12 12:46:45.0000000= 00 -0500 -@@ -373,6 +373,8 @@ static int ide_floppy_get_capacity(ide_d +diff -urNp linux-3.0.8/drivers/ide/ide-floppy.c linux-3.0.8/drivers/ide/= ide-floppy.c +--- linux-3.0.8/drivers/ide/ide-floppy.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/ide/ide-floppy.c 2011-08-23 21:48:14.000000000 -= 0400 +@@ -379,6 +379,8 @@ static int ide_floppy_get_capacity(ide_d u8 pc_buf[256], header_len, desc_cnt; int i, rc =3D 1, blocks, length; =20 @@ -31480,9 +27892,177 @@ diff -urNp linux-2.6.32.48/drivers/ide/ide-flop= py.c linux-2.6.32.48/drivers/ide/ ide_debug_log(IDE_DBG_FUNC, "enter"); =20 drive->bios_cyl =3D 0; -diff -urNp linux-2.6.32.48/drivers/ide/setup-pci.c linux-2.6.32.48/drive= rs/ide/setup-pci.c ---- linux-2.6.32.48/drivers/ide/setup-pci.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ide/setup-pci.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-3.0.8/drivers/ide/ide-pci-generic.c linux-3.0.8/drivers= /ide/ide-pci-generic.c +--- linux-3.0.8/drivers/ide/ide-pci-generic.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/ide/ide-pci-generic.c 2011-10-11 10:44:33.000000= 000 -0400 +@@ -53,7 +53,7 @@ static const struct ide_port_ops netcell + .udma_mask =3D ATA_UDMA6, \ + } +=20 +-static const struct ide_port_info generic_chipsets[] __devinitdata =3D = { ++static const struct ide_port_info generic_chipsets[] __devinitconst =3D= { + /* 0: Unknown */ + DECLARE_GENERIC_PCI_DEV(0), +=20 +diff -urNp linux-3.0.8/drivers/ide/it8172.c linux-3.0.8/drivers/ide/it81= 72.c +--- linux-3.0.8/drivers/ide/it8172.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/it8172.c 2011-10-11 10:44:33.000000000 -0400 +@@ -115,7 +115,7 @@ static const struct ide_port_ops it8172_ + .set_dma_mode =3D it8172_set_dma_mode, + }; +=20 +-static const struct ide_port_info it8172_port_info __devinitdata =3D { ++static const struct ide_port_info it8172_port_info __devinitconst =3D { + .name =3D DRV_NAME, + .port_ops =3D &it8172_port_ops, + .enablebits =3D { {0x41, 0x80, 0x80}, {0x00, 0x00, 0x00} }, +diff -urNp linux-3.0.8/drivers/ide/it8213.c linux-3.0.8/drivers/ide/it82= 13.c +--- linux-3.0.8/drivers/ide/it8213.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/it8213.c 2011-10-11 10:44:33.000000000 -0400 +@@ -156,7 +156,7 @@ static const struct ide_port_ops it8213_ + .cable_detect =3D it8213_cable_detect, + }; +=20 +-static const struct ide_port_info it8213_chipset __devinitdata =3D { ++static const struct ide_port_info it8213_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .enablebits =3D { {0x41, 0x80, 0x80} }, + .port_ops =3D &it8213_port_ops, +diff -urNp linux-3.0.8/drivers/ide/it821x.c linux-3.0.8/drivers/ide/it82= 1x.c +--- linux-3.0.8/drivers/ide/it821x.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/it821x.c 2011-10-11 10:44:33.000000000 -0400 +@@ -630,7 +630,7 @@ static const struct ide_port_ops it821x_ + .cable_detect =3D it821x_cable_detect, + }; +=20 +-static const struct ide_port_info it821x_chipset __devinitdata =3D { ++static const struct ide_port_info it821x_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_it821x, + .init_hwif =3D init_hwif_it821x, +diff -urNp linux-3.0.8/drivers/ide/jmicron.c linux-3.0.8/drivers/ide/jmi= cron.c +--- linux-3.0.8/drivers/ide/jmicron.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/ide/jmicron.c 2011-10-11 10:44:33.000000000 -040= 0 +@@ -102,7 +102,7 @@ static const struct ide_port_ops jmicron + .cable_detect =3D jmicron_cable_detect, + }; +=20 +-static const struct ide_port_info jmicron_chipset __devinitdata =3D { ++static const struct ide_port_info jmicron_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .enablebits =3D { { 0x40, 0x01, 0x01 }, { 0x40, 0x10, 0x10 } }, + .port_ops =3D &jmicron_port_ops, +diff -urNp linux-3.0.8/drivers/ide/ns87415.c linux-3.0.8/drivers/ide/ns8= 7415.c +--- linux-3.0.8/drivers/ide/ns87415.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/ide/ns87415.c 2011-10-11 10:44:33.000000000 -040= 0 +@@ -293,7 +293,7 @@ static const struct ide_dma_ops ns87415_ + .dma_sff_read_status =3D superio_dma_sff_read_status, + }; +=20 +-static const struct ide_port_info ns87415_chipset __devinitdata =3D { ++static const struct ide_port_info ns87415_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .init_hwif =3D init_hwif_ns87415, + .tp_ops =3D &ns87415_tp_ops, +diff -urNp linux-3.0.8/drivers/ide/opti621.c linux-3.0.8/drivers/ide/opt= i621.c +--- linux-3.0.8/drivers/ide/opti621.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/ide/opti621.c 2011-10-11 10:44:33.000000000 -040= 0 +@@ -131,7 +131,7 @@ static const struct ide_port_ops opti621 + .set_pio_mode =3D opti621_set_pio_mode, + }; +=20 +-static const struct ide_port_info opti621_chipset __devinitdata =3D { ++static const struct ide_port_info opti621_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .enablebits =3D { {0x45, 0x80, 0x00}, {0x40, 0x08, 0x00} }, + .port_ops =3D &opti621_port_ops, +diff -urNp linux-3.0.8/drivers/ide/pdc202xx_new.c linux-3.0.8/drivers/id= e/pdc202xx_new.c +--- linux-3.0.8/drivers/ide/pdc202xx_new.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/ide/pdc202xx_new.c 2011-10-11 10:44:33.000000000= -0400 +@@ -465,7 +465,7 @@ static const struct ide_port_ops pdcnew_ + .udma_mask =3D udma, \ + } +=20 +-static const struct ide_port_info pdcnew_chipsets[] __devinitdata =3D { ++static const struct ide_port_info pdcnew_chipsets[] __devinitconst =3D = { + /* 0: PDC202{68,70} */ DECLARE_PDCNEW_DEV(ATA_UDMA5), + /* 1: PDC202{69,71,75,76,77} */ DECLARE_PDCNEW_DEV(ATA_UDMA6), + }; +diff -urNp linux-3.0.8/drivers/ide/pdc202xx_old.c linux-3.0.8/drivers/id= e/pdc202xx_old.c +--- linux-3.0.8/drivers/ide/pdc202xx_old.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/ide/pdc202xx_old.c 2011-10-11 10:44:33.000000000= -0400 +@@ -270,7 +270,7 @@ static const struct ide_dma_ops pdc2026x + .max_sectors =3D sectors, \ + } +=20 +-static const struct ide_port_info pdc202xx_chipsets[] __devinitdata =3D= { ++static const struct ide_port_info pdc202xx_chipsets[] __devinitconst =3D= { + { /* 0: PDC20246 */ + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_pdc202xx, +diff -urNp linux-3.0.8/drivers/ide/piix.c linux-3.0.8/drivers/ide/piix.c +--- linux-3.0.8/drivers/ide/piix.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/piix.c 2011-10-11 10:44:33.000000000 -0400 +@@ -344,7 +344,7 @@ static const struct ide_port_ops ich_por + .udma_mask =3D udma, \ + } +=20 +-static const struct ide_port_info piix_pci_info[] __devinitdata =3D { ++static const struct ide_port_info piix_pci_info[] __devinitconst =3D { + /* 0: MPIIX */ + { /* + * MPIIX actually has only a single IDE channel mapped to +diff -urNp linux-3.0.8/drivers/ide/rz1000.c linux-3.0.8/drivers/ide/rz10= 00.c +--- linux-3.0.8/drivers/ide/rz1000.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/rz1000.c 2011-10-11 10:44:33.000000000 -0400 +@@ -38,7 +38,7 @@ static int __devinit rz1000_disable_read + } + } +=20 +-static const struct ide_port_info rz1000_chipset __devinitdata =3D { ++static const struct ide_port_info rz1000_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .host_flags =3D IDE_HFLAG_NO_DMA, + }; +diff -urNp linux-3.0.8/drivers/ide/sc1200.c linux-3.0.8/drivers/ide/sc12= 00.c +--- linux-3.0.8/drivers/ide/sc1200.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/sc1200.c 2011-10-11 10:44:33.000000000 -0400 +@@ -291,7 +291,7 @@ static const struct ide_dma_ops sc1200_d + .dma_sff_read_status =3D ide_dma_sff_read_status, + }; +=20 +-static const struct ide_port_info sc1200_chipset __devinitdata =3D { ++static const struct ide_port_info sc1200_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .port_ops =3D &sc1200_port_ops, + .dma_ops =3D &sc1200_dma_ops, +diff -urNp linux-3.0.8/drivers/ide/scc_pata.c linux-3.0.8/drivers/ide/sc= c_pata.c +--- linux-3.0.8/drivers/ide/scc_pata.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/ide/scc_pata.c 2011-10-11 10:44:33.000000000 -04= 00 +@@ -811,7 +811,7 @@ static const struct ide_dma_ops scc_dma_ + .dma_sff_read_status =3D scc_dma_sff_read_status, + }; +=20 +-static const struct ide_port_info scc_chipset __devinitdata =3D { ++static const struct ide_port_info scc_chipset __devinitconst =3D { + .name =3D "sccIDE", + .init_iops =3D init_iops_scc, + .init_dma =3D scc_init_dma, +diff -urNp linux-3.0.8/drivers/ide/serverworks.c linux-3.0.8/drivers/ide= /serverworks.c +--- linux-3.0.8/drivers/ide/serverworks.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/ide/serverworks.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -337,7 +337,7 @@ static const struct ide_port_ops svwks_p + .cable_detect =3D svwks_cable_detect, + }; +=20 +-static const struct ide_port_info serverworks_chipsets[] __devinitdata = =3D { ++static const struct ide_port_info serverworks_chipsets[] __devinitconst= =3D { + { /* 0: OSB4 */ + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_svwks, +diff -urNp linux-3.0.8/drivers/ide/setup-pci.c linux-3.0.8/drivers/ide/s= etup-pci.c +--- linux-3.0.8/drivers/ide/setup-pci.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/ide/setup-pci.c 2011-08-23 21:48:14.000000000 -0= 400 @@ -542,6 +542,8 @@ int ide_pci_init_two(struct pci_dev *dev int ret, i, n_ports =3D dev2 ? 4 : 2; struct ide_hw hw[4], *hws[] =3D { NULL, NULL, NULL, NULL }; @@ -31492,72 +28072,106 @@ diff -urNp linux-2.6.32.48/drivers/ide/setup-p= ci.c linux-2.6.32.48/drivers/ide/s for (i =3D 0; i < n_ports / 2; i++) { ret =3D ide_setup_pci_controller(pdev[i], d, !i); if (ret < 0) -diff -urNp linux-2.6.32.48/drivers/ieee1394/dv1394.c linux-2.6.32.48/dri= vers/ieee1394/dv1394.c ---- linux-2.6.32.48/drivers/ieee1394/dv1394.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/ieee1394/dv1394.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -739,7 +739,7 @@ static void frame_prepare(struct video_c - based upon DIF section and sequence - */ +diff -urNp linux-3.0.8/drivers/ide/siimage.c linux-3.0.8/drivers/ide/sii= mage.c +--- linux-3.0.8/drivers/ide/siimage.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/ide/siimage.c 2011-10-11 10:44:33.000000000 -040= 0 +@@ -719,7 +719,7 @@ static const struct ide_dma_ops sil_dma_ + .udma_mask =3D ATA_UDMA6, \ + } =20 --static void inline -+static inline void - frame_put_packet (struct frame *f, struct packet *p) - { - int section_type =3D p->data[0] >> 5; /* section type is in = bits 5 - 7 */ -diff -urNp linux-2.6.32.48/drivers/ieee1394/hosts.c linux-2.6.32.48/driv= ers/ieee1394/hosts.c ---- linux-2.6.32.48/drivers/ieee1394/hosts.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/ieee1394/hosts.c 2011-11-12 12:46:45.0000000= 00 -0500 -@@ -78,6 +78,7 @@ static int dummy_isoctl(struct hpsb_iso=20 - } -=20 - static struct hpsb_host_driver dummy_driver =3D { -+ .name =3D "dummy", - .transmit_packet =3D dummy_transmit_packet, - .devctl =3D dummy_devctl, - .isoctl =3D dummy_isoctl -diff -urNp linux-2.6.32.48/drivers/ieee1394/init_ohci1394_dma.c linux-2.= 6.32.48/drivers/ieee1394/init_ohci1394_dma.c ---- linux-2.6.32.48/drivers/ieee1394/init_ohci1394_dma.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/ieee1394/init_ohci1394_dma.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -257,7 +257,7 @@ void __init init_ohci1394_dma_on_all_con - for (func =3D 0; func < 8; func++) { - u32 class =3D read_pci_config(num,slot,func, - PCI_CLASS_REVISION); -- if ((class =3D=3D 0xffffffff)) -+ if (class =3D=3D 0xffffffff) - continue; /* No device at this func */ -=20 - if (class>>8 !=3D PCI_CLASS_SERIAL_FIREWIRE_OHCI) -diff -urNp linux-2.6.32.48/drivers/ieee1394/ohci1394.c linux-2.6.32.48/d= rivers/ieee1394/ohci1394.c ---- linux-2.6.32.48/drivers/ieee1394/ohci1394.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/ieee1394/ohci1394.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -147,9 +147,9 @@ printk(level "%s: " fmt "\n" , OHCI1394_ - printk(level "%s: fw-host%d: " fmt "\n" , OHCI1394_DRIVER_NAME, ohci->h= ost->id , ## args) -=20 - /* Module Parameters */ --static int phys_dma =3D 1; -+static int phys_dma; - module_param(phys_dma, int, 0444); --MODULE_PARM_DESC(phys_dma, "Enable physical DMA (default =3D 1)."); -+MODULE_PARM_DESC(phys_dma, "Enable physical DMA (default =3D 0)."); -=20 - static void dma_trm_tasklet(unsigned long data); - static void dma_trm_reset(struct dma_trm_ctx *d); -diff -urNp linux-2.6.32.48/drivers/ieee1394/sbp2.c linux-2.6.32.48/drive= rs/ieee1394/sbp2.c ---- linux-2.6.32.48/drivers/ieee1394/sbp2.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/ieee1394/sbp2.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -2111,7 +2111,7 @@ MODULE_DESCRIPTION("IEEE-1394 SBP-2 prot - MODULE_SUPPORTED_DEVICE(SBP2_DEVICE_NAME); - MODULE_LICENSE("GPL"); +-static const struct ide_port_info siimage_chipsets[] __devinitdata =3D = { ++static const struct ide_port_info siimage_chipsets[] __devinitconst =3D= { + /* 0: SiI680 */ DECLARE_SII_DEV(&sil_pata_port_ops), + /* 1: SiI3112 */ DECLARE_SII_DEV(&sil_sata_port_ops) + }; +diff -urNp linux-3.0.8/drivers/ide/sis5513.c linux-3.0.8/drivers/ide/sis= 5513.c +--- linux-3.0.8/drivers/ide/sis5513.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/ide/sis5513.c 2011-10-11 10:44:33.000000000 -040= 0 +@@ -563,7 +563,7 @@ static const struct ide_port_ops sis_ata + .cable_detect =3D sis_cable_detect, + }; =20 --static int sbp2_module_init(void) -+static int __init sbp2_module_init(void) - { - int ret; +-static const struct ide_port_info sis5513_chipset __devinitdata =3D { ++static const struct ide_port_info sis5513_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_sis5513, + .enablebits =3D { {0x4a, 0x02, 0x02}, {0x4a, 0x04, 0x04} }, +diff -urNp linux-3.0.8/drivers/ide/sl82c105.c linux-3.0.8/drivers/ide/sl= 82c105.c +--- linux-3.0.8/drivers/ide/sl82c105.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/ide/sl82c105.c 2011-10-11 10:44:33.000000000 -04= 00 +@@ -299,7 +299,7 @@ static const struct ide_dma_ops sl82c105 + .dma_sff_read_status =3D ide_dma_sff_read_status, + }; +=20 +-static const struct ide_port_info sl82c105_chipset __devinitdata =3D { ++static const struct ide_port_info sl82c105_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_sl82c105, + .enablebits =3D {{0x40,0x01,0x01}, {0x40,0x10,0x10}}, +diff -urNp linux-3.0.8/drivers/ide/slc90e66.c linux-3.0.8/drivers/ide/sl= c90e66.c +--- linux-3.0.8/drivers/ide/slc90e66.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/ide/slc90e66.c 2011-10-11 10:44:33.000000000 -04= 00 +@@ -132,7 +132,7 @@ static const struct ide_port_ops slc90e6 + .cable_detect =3D slc90e66_cable_detect, + }; +=20 +-static const struct ide_port_info slc90e66_chipset __devinitdata =3D { ++static const struct ide_port_info slc90e66_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .enablebits =3D { {0x41, 0x80, 0x80}, {0x43, 0x80, 0x80} }, + .port_ops =3D &slc90e66_port_ops, +diff -urNp linux-3.0.8/drivers/ide/tc86c001.c linux-3.0.8/drivers/ide/tc= 86c001.c +--- linux-3.0.8/drivers/ide/tc86c001.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/ide/tc86c001.c 2011-10-11 10:44:33.000000000 -04= 00 +@@ -191,7 +191,7 @@ static const struct ide_dma_ops tc86c001 + .dma_sff_read_status =3D ide_dma_sff_read_status, + }; +=20 +-static const struct ide_port_info tc86c001_chipset __devinitdata =3D { ++static const struct ide_port_info tc86c001_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .init_hwif =3D init_hwif_tc86c001, + .port_ops =3D &tc86c001_port_ops, +diff -urNp linux-3.0.8/drivers/ide/triflex.c linux-3.0.8/drivers/ide/tri= flex.c +--- linux-3.0.8/drivers/ide/triflex.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/ide/triflex.c 2011-10-11 10:44:33.000000000 -040= 0 +@@ -92,7 +92,7 @@ static const struct ide_port_ops triflex + .set_dma_mode =3D triflex_set_mode, + }; +=20 +-static const struct ide_port_info triflex_device __devinitdata =3D { ++static const struct ide_port_info triflex_device __devinitconst =3D { + .name =3D DRV_NAME, + .enablebits =3D {{0x80, 0x01, 0x01}, {0x80, 0x02, 0x02}}, + .port_ops =3D &triflex_port_ops, +diff -urNp linux-3.0.8/drivers/ide/trm290.c linux-3.0.8/drivers/ide/trm2= 90.c +--- linux-3.0.8/drivers/ide/trm290.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/ide/trm290.c 2011-10-11 10:44:33.000000000 -0400 +@@ -324,7 +324,7 @@ static struct ide_dma_ops trm290_dma_ops + .dma_check =3D trm290_dma_check, + }; +=20 +-static const struct ide_port_info trm290_chipset __devinitdata =3D { ++static const struct ide_port_info trm290_chipset __devinitconst =3D { + .name =3D DRV_NAME, + .init_hwif =3D init_hwif_trm290, + .tp_ops =3D &trm290_tp_ops, +diff -urNp linux-3.0.8/drivers/ide/via82cxxx.c linux-3.0.8/drivers/ide/v= ia82cxxx.c +--- linux-3.0.8/drivers/ide/via82cxxx.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/ide/via82cxxx.c 2011-10-11 10:44:33.000000000 -0= 400 +@@ -403,7 +403,7 @@ static const struct ide_port_ops via_por + .cable_detect =3D via82cxxx_cable_detect, + }; =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/core/cm.c linux-2.6.32.48/= drivers/infiniband/core/cm.c ---- linux-2.6.32.48/drivers/infiniband/core/cm.c 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/core/cm.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -112,7 +112,7 @@ static char const counter_group_names[CM +-static const struct ide_port_info via82cxxx_chipset __devinitdata =3D { ++static const struct ide_port_info via82cxxx_chipset __devinitconst =3D = { + .name =3D DRV_NAME, + .init_chipset =3D init_chipset_via82cxxx, + .enablebits =3D { { 0x40, 0x02, 0x02 }, { 0x40, 0x01, 0x01 } }, +diff -urNp linux-3.0.8/drivers/infiniband/core/cm.c linux-3.0.8/drivers/= infiniband/core/cm.c +--- linux-3.0.8/drivers/infiniband/core/cm.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/infiniband/core/cm.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -113,7 +113,7 @@ static char const counter_group_names[CM =20 struct cm_counter_group { struct kobject obj; @@ -31566,7 +28180,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ }; =20 struct cm_counter_attribute { -@@ -1386,7 +1386,7 @@ static void cm_dup_req_handler(struct cm +@@ -1387,7 +1387,7 @@ static void cm_dup_req_handler(struct cm struct ib_mad_send_buf *msg =3D NULL; int ret; =20 @@ -31575,7 +28189,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[CM_REQ_COUNTER]); =20 /* Quick state check to discard duplicate REQs. */ -@@ -1764,7 +1764,7 @@ static void cm_dup_rep_handler(struct cm +@@ -1765,7 +1765,7 @@ static void cm_dup_rep_handler(struct cm if (!cm_id_priv) return; =20 @@ -31584,7 +28198,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[CM_REP_COUNTER]); ret =3D cm_alloc_response_msg(work->port, work->mad_recv_wc, &msg); if (ret) -@@ -1931,7 +1931,7 @@ static int cm_rtu_handler(struct cm_work +@@ -1932,7 +1932,7 @@ static int cm_rtu_handler(struct cm_work if (cm_id_priv->id.state !=3D IB_CM_REP_SENT && cm_id_priv->id.state !=3D IB_CM_MRA_REP_RCVD) { spin_unlock_irq(&cm_id_priv->lock); @@ -31593,7 +28207,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[CM_RTU_COUNTER]); goto out; } -@@ -2110,7 +2110,7 @@ static int cm_dreq_handler(struct cm_wor +@@ -2115,7 +2115,7 @@ static int cm_dreq_handler(struct cm_wor cm_id_priv =3D cm_acquire_id(dreq_msg->remote_comm_id, dreq_msg->local_comm_id); if (!cm_id_priv) { @@ -31602,7 +28216,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[CM_DREQ_COUNTER]); cm_issue_drep(work->port, work->mad_recv_wc); return -EINVAL; -@@ -2131,7 +2131,7 @@ static int cm_dreq_handler(struct cm_wor +@@ -2140,7 +2140,7 @@ static int cm_dreq_handler(struct cm_wor case IB_CM_MRA_REP_RCVD: break; case IB_CM_TIMEWAIT: @@ -31611,7 +28225,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[CM_DREQ_COUNTER]); if (cm_alloc_response_msg(work->port, work->mad_recv_wc, &msg)) goto unlock; -@@ -2145,7 +2145,7 @@ static int cm_dreq_handler(struct cm_wor +@@ -2154,7 +2154,7 @@ static int cm_dreq_handler(struct cm_wor cm_free_msg(msg); goto deref; case IB_CM_DREQ_RCVD: @@ -31620,7 +28234,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[CM_DREQ_COUNTER]); goto unlock; default: -@@ -2501,7 +2501,7 @@ static int cm_mra_handler(struct cm_work +@@ -2521,7 +2521,7 @@ static int cm_mra_handler(struct cm_work ib_modify_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg, timeout)) { if (cm_id_priv->id.lap_state =3D=3D IB_CM_MRA_LAP_RCVD) @@ -31629,7 +28243,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter_group[CM_RECV_DUPLICATES]. counter[CM_MRA_COUNTER]); goto out; -@@ -2510,7 +2510,7 @@ static int cm_mra_handler(struct cm_work +@@ -2530,7 +2530,7 @@ static int cm_mra_handler(struct cm_work break; case IB_CM_MRA_REQ_RCVD: case IB_CM_MRA_REP_RCVD: @@ -31638,7 +28252,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[CM_MRA_COUNTER]); /* fall through */ default: -@@ -2672,7 +2672,7 @@ static int cm_lap_handler(struct cm_work +@@ -2692,7 +2692,7 @@ static int cm_lap_handler(struct cm_work case IB_CM_LAP_IDLE: break; case IB_CM_MRA_LAP_SENT: @@ -31647,7 +28261,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[CM_LAP_COUNTER]); if (cm_alloc_response_msg(work->port, work->mad_recv_wc, &msg)) goto unlock; -@@ -2688,7 +2688,7 @@ static int cm_lap_handler(struct cm_work +@@ -2708,7 +2708,7 @@ static int cm_lap_handler(struct cm_work cm_free_msg(msg); goto deref; case IB_CM_LAP_RCVD: @@ -31656,7 +28270,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[CM_LAP_COUNTER]); goto unlock; default: -@@ -2972,7 +2972,7 @@ static int cm_sidr_req_handler(struct cm +@@ -2992,7 +2992,7 @@ static int cm_sidr_req_handler(struct cm cur_cm_id_priv =3D cm_insert_remote_sidr(cm_id_priv); if (cur_cm_id_priv) { spin_unlock_irq(&cm.lock); @@ -31665,7 +28279,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[CM_SIDR_REQ_COUNTER]); goto out; /* Duplicate message. */ } -@@ -3184,10 +3184,10 @@ static void cm_send_handler(struct ib_ma +@@ -3204,10 +3204,10 @@ static void cm_send_handler(struct ib_ma if (!msg->context[0] && (attr_index !=3D CM_REJ_COUNTER)) msg->retries =3D 1; =20 @@ -31678,7 +28292,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ &port->counter_group[CM_XMIT_RETRIES]. counter[attr_index]); =20 -@@ -3397,7 +3397,7 @@ static void cm_recv_handler(struct ib_ma +@@ -3417,7 +3417,7 @@ static void cm_recv_handler(struct ib_ma } =20 attr_id =3D be16_to_cpu(mad_recv_wc->recv_buf.mad->mad_hdr.attr_id); @@ -31687,7 +28301,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/cor= e/cm.c linux-2.6.32.48/drivers/ counter[attr_id - CM_ATTR_ID_OFFSET]); =20 work =3D kmalloc(sizeof *work + sizeof(struct ib_sa_path_rec) * paths, -@@ -3595,10 +3595,10 @@ static ssize_t cm_show_counter(struct ko +@@ -3615,7 +3615,7 @@ static ssize_t cm_show_counter(struct ko cm_attr =3D container_of(attr, struct cm_counter_attribute, attr); =20 return sprintf(buf, "%ld\n", @@ -31695,14 +28309,10 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/c= ore/cm.c linux-2.6.32.48/drivers/ + atomic_long_read_unchecked(&group->counter[cm_attr->index])); } =20 --static struct sysfs_ops cm_counter_ops =3D { -+static const struct sysfs_ops cm_counter_ops =3D { - .show =3D cm_show_counter - }; -=20 -diff -urNp linux-2.6.32.48/drivers/infiniband/core/fmr_pool.c linux-2.6.= 32.48/drivers/infiniband/core/fmr_pool.c ---- linux-2.6.32.48/drivers/infiniband/core/fmr_pool.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/core/fmr_pool.c 2011-11-12 12:46:= 45.000000000 -0500 + static const struct sysfs_ops cm_counter_ops =3D { +diff -urNp linux-3.0.8/drivers/infiniband/core/fmr_pool.c linux-3.0.8/dr= ivers/infiniband/core/fmr_pool.c +--- linux-3.0.8/drivers/infiniband/core/fmr_pool.c 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/infiniband/core/fmr_pool.c 2011-08-23 21:47:55.0= 00000000 -0400 @@ -97,8 +97,8 @@ struct ib_fmr_pool { =20 struct task_struct *thread; @@ -31770,55 +28380,31 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/c= ore/fmr_pool.c linux-2.6.32.48/dr wake_up_process(pool->thread); } } -diff -urNp linux-2.6.32.48/drivers/infiniband/core/sysfs.c linux-2.6.32.= 48/drivers/infiniband/core/sysfs.c ---- linux-2.6.32.48/drivers/infiniband/core/sysfs.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/core/sysfs.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -79,7 +79,7 @@ static ssize_t port_attr_show(struct kob - return port_attr->show(p, port_attr, buf); - } -=20 --static struct sysfs_ops port_sysfs_ops =3D { -+static const struct sysfs_ops port_sysfs_ops =3D { - .show =3D port_attr_show - }; +diff -urNp linux-3.0.8/drivers/infiniband/hw/cxgb4/mem.c linux-3.0.8/dri= vers/infiniband/hw/cxgb4/mem.c +--- linux-3.0.8/drivers/infiniband/hw/cxgb4/mem.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/infiniband/hw/cxgb4/mem.c 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -122,7 +122,7 @@ static int write_tpt_entry(struct c4iw_r + int err; + struct fw_ri_tpte tpt; + u32 stag_idx; +- static atomic_t key; ++ static atomic_unchecked_t key; =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/core/uverbs_marshall.c lin= ux-2.6.32.48/drivers/infiniband/core/uverbs_marshall.c ---- linux-2.6.32.48/drivers/infiniband/core/uverbs_marshall.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/core/uverbs_marshall.c 2011-11-12= 12:46:45.000000000 -0500 -@@ -40,18 +40,21 @@ void ib_copy_ah_attr_to_user(struct ib_u - dst->grh.sgid_index =3D src->grh.sgid_index; - dst->grh.hop_limit =3D src->grh.hop_limit; - dst->grh.traffic_class =3D src->grh.traffic_class; -+ memset(&dst->grh.reserved, 0, sizeof(dst->grh.reserved)); - dst->dlid =3D src->dlid; - dst->sl =3D src->sl; - dst->src_path_bits =3D src->src_path_bits; - dst->static_rate =3D src->static_rate; - dst->is_global =3D src->ah_flags & IB_AH_GRH ? 1 : 0; - dst->port_num =3D src->port_num; -+ dst->reserved =3D 0; - } - EXPORT_SYMBOL(ib_copy_ah_attr_to_user); -=20 - void ib_copy_qp_attr_to_user(struct ib_uverbs_qp_attr *dst, - struct ib_qp_attr *src) - { -+ dst->qp_state =3D src->qp_state; - dst->cur_qp_state =3D src->cur_qp_state; - dst->path_mtu =3D src->path_mtu; - dst->path_mig_state =3D src->path_mig_state; -@@ -83,6 +86,7 @@ void ib_copy_qp_attr_to_user(struct ib_u - dst->rnr_retry =3D src->rnr_retry; - dst->alt_port_num =3D src->alt_port_num; - dst->alt_timeout =3D src->alt_timeout; -+ memset(dst->reserved, 0, sizeof(dst->reserved)); - } - EXPORT_SYMBOL(ib_copy_qp_attr_to_user); -=20 -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/ipath/ipath_fs.c linux-= 2.6.32.48/drivers/infiniband/hw/ipath/ipath_fs.c ---- linux-2.6.32.48/drivers/infiniband/hw/ipath/ipath_fs.c 2011-11-12 12= :44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/ipath/ipath_fs.c 2011-11-12 12= :46:45.000000000 -0500 -@@ -110,6 +110,8 @@ static ssize_t atomic_counters_read(stru + if (c4iw_fatal_error(rdev)) + return -EIO; +@@ -135,7 +135,7 @@ static int write_tpt_entry(struct c4iw_r + &rdev->resource.tpt_fifo_lock); + if (!stag_idx) + return -ENOMEM; +- *stag =3D (stag_idx << 8) | (atomic_inc_return(&key) & 0xff); ++ *stag =3D (stag_idx << 8) | (atomic_inc_return_unchecked(&key) & 0xff= ); + } + PDBG("%s stag_state 0x%0x type 0x%0x pdid 0x%0x, stag_idx 0x%x\n", + __func__, stag_state, type, pdid, stag_idx); +diff -urNp linux-3.0.8/drivers/infiniband/hw/ipath/ipath_fs.c linux-3.0.= 8/drivers/infiniband/hw/ipath/ipath_fs.c +--- linux-3.0.8/drivers/infiniband/hw/ipath/ipath_fs.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/infiniband/hw/ipath/ipath_fs.c 2011-08-23 21:48:= 14.000000000 -0400 +@@ -113,6 +113,8 @@ static ssize_t atomic_counters_read(stru struct infinipath_counters counters; struct ipath_devdata *dd; =20 @@ -31827,10 +28413,62 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/h= w/ipath/ipath_fs.c linux-2.6.32.4 dd =3D file->f_path.dentry->d_inode->i_private; dd->ipath_f_read_counters(dd, &counters); =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/nes/nes.c linux-2.6.32.= 48/drivers/infiniband/hw/nes/nes.c ---- linux-2.6.32.48/drivers/infiniband/hw/nes/nes.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/nes/nes.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -102,7 +102,7 @@ MODULE_PARM_DESC(limit_maxrdreqsz, "Limi +diff -urNp linux-3.0.8/drivers/infiniband/hw/ipath/ipath_rc.c linux-3.0.= 8/drivers/infiniband/hw/ipath/ipath_rc.c +--- linux-3.0.8/drivers/infiniband/hw/ipath/ipath_rc.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/infiniband/hw/ipath/ipath_rc.c 2011-08-23 21:47:= 55.000000000 -0400 +@@ -1868,7 +1868,7 @@ void ipath_rc_rcv(struct ipath_ibdev *de + struct ib_atomic_eth *ateth; + struct ipath_ack_entry *e; + u64 vaddr; +- atomic64_t *maddr; ++ atomic64_unchecked_t *maddr; + u64 sdata; + u32 rkey; + u8 next; +@@ -1903,11 +1903,11 @@ void ipath_rc_rcv(struct ipath_ibdev *de + IB_ACCESS_REMOTE_ATOMIC))) + goto nack_acc_unlck; + /* Perform atomic OP and save result. */ +- maddr =3D (atomic64_t *) qp->r_sge.sge.vaddr; ++ maddr =3D (atomic64_unchecked_t *) qp->r_sge.sge.vaddr; + sdata =3D be64_to_cpu(ateth->swap_data); + e =3D &qp->s_ack_queue[qp->r_head_ack_queue]; + e->atomic_data =3D (opcode =3D=3D OP(FETCH_ADD)) ? +- (u64) atomic64_add_return(sdata, maddr) - sdata : ++ (u64) atomic64_add_return_unchecked(sdata, maddr) - sdata : + (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr, + be64_to_cpu(ateth->compare_data), + sdata); +diff -urNp linux-3.0.8/drivers/infiniband/hw/ipath/ipath_ruc.c linux-3.0= .8/drivers/infiniband/hw/ipath/ipath_ruc.c +--- linux-3.0.8/drivers/infiniband/hw/ipath/ipath_ruc.c 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/drivers/infiniband/hw/ipath/ipath_ruc.c 2011-08-23 21:47= :55.000000000 -0400 +@@ -266,7 +266,7 @@ static void ipath_ruc_loopback(struct ip + unsigned long flags; + struct ib_wc wc; + u64 sdata; +- atomic64_t *maddr; ++ atomic64_unchecked_t *maddr; + enum ib_wc_status send_status; +=20 + /* +@@ -382,11 +382,11 @@ again: + IB_ACCESS_REMOTE_ATOMIC))) + goto acc_err; + /* Perform atomic OP and save result. */ +- maddr =3D (atomic64_t *) qp->r_sge.sge.vaddr; ++ maddr =3D (atomic64_unchecked_t *) qp->r_sge.sge.vaddr; + sdata =3D wqe->wr.wr.atomic.compare_add; + *(u64 *) sqp->s_sge.sge.vaddr =3D + (wqe->wr.opcode =3D=3D IB_WR_ATOMIC_FETCH_AND_ADD) ? +- (u64) atomic64_add_return(sdata, maddr) - sdata : ++ (u64) atomic64_add_return_unchecked(sdata, maddr) - sdata : + (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr, + sdata, wqe->wr.wr.atomic.swap); + goto send_comp; +diff -urNp linux-3.0.8/drivers/infiniband/hw/nes/nes.c linux-3.0.8/drive= rs/infiniband/hw/nes/nes.c +--- linux-3.0.8/drivers/infiniband/hw/nes/nes.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/infiniband/hw/nes/nes.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -103,7 +103,7 @@ MODULE_PARM_DESC(limit_maxrdreqsz, "Limi LIST_HEAD(nes_adapter_list); static LIST_HEAD(nes_dev_list); =20 @@ -31839,21 +28477,26 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/h= w/nes/nes.c linux-2.6.32.48/drive =20 static unsigned int ee_flsh_adapter; static unsigned int sysfs_nonidx_addr; -@@ -259,7 +259,7 @@ static void nes_cqp_rem_ref_callback(str +@@ -275,7 +275,7 @@ static void nes_cqp_rem_ref_callback(str + struct nes_qp *nesqp =3D cqp_request->cqp_callback_pointer; struct nes_adapter *nesadapter =3D nesdev->nesadapter; - u32 qp_id; =20 - atomic_inc(&qps_destroyed); + atomic_inc_unchecked(&qps_destroyed); =20 /* Free the control structures */ =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/nes/nes_cm.c linux-2.6.= 32.48/drivers/infiniband/hw/nes/nes_cm.c ---- linux-2.6.32.48/drivers/infiniband/hw/nes/nes_cm.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/nes/nes_cm.c 2011-11-12 12:46:= 45.000000000 -0500 -@@ -69,11 +69,11 @@ u32 cm_packets_received; - u32 cm_listens_created; - u32 cm_listens_destroyed; +diff -urNp linux-3.0.8/drivers/infiniband/hw/nes/nes_cm.c linux-3.0.8/dr= ivers/infiniband/hw/nes/nes_cm.c +--- linux-3.0.8/drivers/infiniband/hw/nes/nes_cm.c 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/infiniband/hw/nes/nes_cm.c 2011-08-23 21:47:55.0= 00000000 -0400 +@@ -68,14 +68,14 @@ u32 cm_packets_dropped; + u32 cm_packets_retrans; + u32 cm_packets_created; + u32 cm_packets_received; +-atomic_t cm_listens_created; +-atomic_t cm_listens_destroyed; ++atomic_unchecked_t cm_listens_created; ++atomic_unchecked_t cm_listens_destroyed; u32 cm_backlog_drops; -atomic_t cm_loopbacks; -atomic_t cm_nodes_created; @@ -31868,7 +28511,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr =20 static inline int mini_cm_accelerated(struct nes_cm_core *, struct nes_cm_node *); -@@ -149,13 +149,13 @@ static struct nes_cm_ops nes_cm_api =3D { +@@ -151,13 +151,13 @@ static struct nes_cm_ops nes_cm_api =3D { =20 static struct nes_cm_core *g_cm_core; =20 @@ -31889,7 +28532,16 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw= /nes/nes_cm.c linux-2.6.32.48/dr =20 =20 /** -@@ -1195,7 +1195,7 @@ static struct nes_cm_node *make_cm_node( +@@ -1045,7 +1045,7 @@ static int mini_cm_dec_refcnt_listen(str + kfree(listener); + listener =3D NULL; + ret =3D 0; +- atomic_inc(&cm_listens_destroyed); ++ atomic_inc_unchecked(&cm_listens_destroyed); + } else { + spin_unlock_irqrestore(&cm_core->listen_list_lock, flags); + } +@@ -1240,7 +1240,7 @@ static struct nes_cm_node *make_cm_node( cm_node->rem_mac); =20 add_hte_node(cm_core, cm_node); @@ -31898,7 +28550,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr =20 return cm_node; } -@@ -1253,7 +1253,7 @@ static int rem_ref_cm_node(struct nes_cm +@@ -1298,7 +1298,7 @@ static int rem_ref_cm_node(struct nes_cm } =20 atomic_dec(&cm_core->node_cnt); @@ -31907,7 +28559,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr nesqp =3D cm_node->nesqp; if (nesqp) { nesqp->cm_node =3D NULL; -@@ -1320,7 +1320,7 @@ static int process_options(struct nes_cm +@@ -1365,7 +1365,7 @@ static int process_options(struct nes_cm =20 static void drop_packet(struct sk_buff *skb) { @@ -31916,16 +28568,16 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/h= w/nes/nes_cm.c linux-2.6.32.48/dr dev_kfree_skb_any(skb); } =20 -@@ -1377,7 +1377,7 @@ static void handle_rst_pkt(struct nes_cm +@@ -1428,7 +1428,7 @@ static void handle_rst_pkt(struct nes_cm + { =20 int reset =3D 0; /* whether to send reset in case of err.. */ - int passive_state; - atomic_inc(&cm_resets_recvd); + atomic_inc_unchecked(&cm_resets_recvd); nes_debug(NES_DBG_CM, "Received Reset, cm_node =3D %p, state =3D %u." " refcnt=3D%d\n", cm_node, cm_node->state, atomic_read(&cm_node->ref_count)); -@@ -2000,7 +2000,7 @@ static struct nes_cm_node *mini_cm_conne +@@ -2057,7 +2057,7 @@ static struct nes_cm_node *mini_cm_conne rem_ref_cm_node(cm_node->cm_core, cm_node); return NULL; } @@ -31934,7 +28586,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr loopbackremotenode->loopbackpartner =3D cm_node; loopbackremotenode->tcp_cntxt.rcv_wscale =3D NES_CM_DEFAULT_RCV_WND_SCALE; -@@ -2262,7 +2262,7 @@ static int mini_cm_recv_pkt(struct nes_c +@@ -2332,7 +2332,7 @@ static int mini_cm_recv_pkt(struct nes_c add_ref_cm_node(cm_node); } else if (cm_node->state =3D=3D NES_CM_STATE_TSA) { rem_ref_cm_node(cm_core, cm_node); @@ -31943,7 +28595,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr dev_kfree_skb_any(skb); break; } -@@ -2568,7 +2568,7 @@ static int nes_cm_disconn_true(struct ne +@@ -2638,7 +2638,7 @@ static int nes_cm_disconn_true(struct ne =20 if ((cm_id) && (cm_id->event_handler)) { if (issue_disconn) { @@ -31952,7 +28604,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr cm_event.event =3D IW_CM_EVENT_DISCONNECT; cm_event.status =3D disconn_status; cm_event.local_addr =3D cm_id->local_addr; -@@ -2590,7 +2590,7 @@ static int nes_cm_disconn_true(struct ne +@@ -2660,7 +2660,7 @@ static int nes_cm_disconn_true(struct ne } =20 if (issue_close) { @@ -31961,7 +28613,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr nes_disconnect(nesqp, 1); =20 cm_id->provider_data =3D nesqp; -@@ -2710,7 +2710,7 @@ int nes_accept(struct iw_cm_id *cm_id, s +@@ -2791,7 +2791,7 @@ int nes_accept(struct iw_cm_id *cm_id, s =20 nes_debug(NES_DBG_CM, "QP%u, cm_node=3D%p, jiffies =3D %lu listener =3D= %p\n", nesqp->hwqp.qp_id, cm_node, jiffies, cm_node->listener); @@ -31969,8 +28621,8 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr + atomic_inc_unchecked(&cm_accepts); =20 nes_debug(NES_DBG_CM, "netdev refcnt =3D %u.\n", - atomic_read(&nesvnic->netdev->refcnt)); -@@ -2919,7 +2919,7 @@ int nes_reject(struct iw_cm_id *cm_id, c + netdev_refcnt_read(nesvnic->netdev)); +@@ -3001,7 +3001,7 @@ int nes_reject(struct iw_cm_id *cm_id, c =20 struct nes_cm_core *cm_core; =20 @@ -31979,7 +28631,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr cm_node =3D (struct nes_cm_node *) cm_id->provider_data; loopback =3D cm_node->loopbackpartner; cm_core =3D cm_node->cm_core; -@@ -2982,7 +2982,7 @@ int nes_connect(struct iw_cm_id *cm_id,=20 +@@ -3067,7 +3067,7 @@ int nes_connect(struct iw_cm_id *cm_id,=20 ntohl(cm_id->local_addr.sin_addr.s_addr), ntohs(cm_id->local_addr.sin_port)); =20 @@ -31988,7 +28640,16 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw= /nes/nes_cm.c linux-2.6.32.48/dr nesqp->active_conn =3D 1; =20 /* cache the cm_id in the qp */ -@@ -3195,7 +3195,7 @@ static void cm_event_connected(struct ne +@@ -3173,7 +3173,7 @@ int nes_create_listen(struct iw_cm_id *c + g_cm_core->api->stop_listener(g_cm_core, (void *)cm_node); + return err; + } +- atomic_inc(&cm_listens_created); ++ atomic_inc_unchecked(&cm_listens_created); + } +=20 + cm_id->add_ref(cm_id); +@@ -3278,7 +3278,7 @@ static void cm_event_connected(struct ne if (nesqp->destroyed) { return; } @@ -31997,16 +28658,16 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/h= w/nes/nes_cm.c linux-2.6.32.48/dr nes_debug(NES_DBG_CM, "QP%u attempting to connect to 0x%08X:0x%04X on= " " local port 0x%04X. jiffies =3D %lu.\n", nesqp->hwqp.qp_id, -@@ -3403,7 +3403,7 @@ static void cm_event_reset(struct nes_cm +@@ -3493,7 +3493,7 @@ static void cm_event_reset(struct nes_cm =20 - ret =3D cm_id->event_handler(cm_id, &cm_event); cm_id->add_ref(cm_id); + ret =3D cm_id->event_handler(cm_id, &cm_event); - atomic_inc(&cm_closes); + atomic_inc_unchecked(&cm_closes); cm_event.event =3D IW_CM_EVENT_CLOSE; - cm_event.status =3D IW_CM_EVENT_STATUS_OK; + cm_event.status =3D 0; cm_event.provider_data =3D cm_id->provider_data; -@@ -3439,7 +3439,7 @@ static void cm_event_mpa_req(struct nes_ +@@ -3529,7 +3529,7 @@ static void cm_event_mpa_req(struct nes_ return; cm_id =3D cm_node->cm_id; =20 @@ -32015,7 +28676,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_cm.c linux-2.6.32.48/dr nes_debug(NES_DBG_CM, "cm_node =3D %p - cm_id =3D %p, jiffies =3D %lu\= n", cm_node, cm_id, jiffies); =20 -@@ -3477,7 +3477,7 @@ static void cm_event_mpa_reject(struct n +@@ -3567,7 +3567,7 @@ static void cm_event_mpa_reject(struct n return; cm_id =3D cm_node->cm_id; =20 @@ -32024,10 +28685,10 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/h= w/nes/nes_cm.c linux-2.6.32.48/dr nes_debug(NES_DBG_CM, "cm_node =3D %p - cm_id =3D %p, jiffies =3D %lu\= n", cm_node, cm_id, jiffies); =20 -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/nes/nes.h linux-2.6.32.= 48/drivers/infiniband/hw/nes/nes.h ---- linux-2.6.32.48/drivers/infiniband/hw/nes/nes.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/nes/nes.h 2011-11-12 12:46:45.= 000000000 -0500 -@@ -174,17 +174,17 @@ extern unsigned int nes_debug_level; +diff -urNp linux-3.0.8/drivers/infiniband/hw/nes/nes.h linux-3.0.8/drive= rs/infiniband/hw/nes/nes.h +--- linux-3.0.8/drivers/infiniband/hw/nes/nes.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/infiniband/hw/nes/nes.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -175,17 +175,17 @@ extern unsigned int nes_debug_level; extern unsigned int wqm_quanta; extern struct list_head nes_adapter_list; =20 @@ -32056,9 +28717,14 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw= /nes/nes.h linux-2.6.32.48/drive extern u32 mh_detected; extern u32 mh_pauses_sent; extern u32 cm_packets_sent; -@@ -196,11 +196,11 @@ extern u32 cm_packets_retrans; - extern u32 cm_listens_created; - extern u32 cm_listens_destroyed; +@@ -194,14 +194,14 @@ extern u32 cm_packets_created; + extern u32 cm_packets_received; + extern u32 cm_packets_dropped; + extern u32 cm_packets_retrans; +-extern atomic_t cm_listens_created; +-extern atomic_t cm_listens_destroyed; ++extern atomic_unchecked_t cm_listens_created; ++extern atomic_unchecked_t cm_listens_destroyed; extern u32 cm_backlog_drops; -extern atomic_t cm_loopbacks; -extern atomic_t cm_nodes_created; @@ -32073,10 +28739,10 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/h= w/nes/nes.h linux-2.6.32.48/drive =20 extern u32 int_mod_timer_init; extern u32 int_mod_cq_depth_256; -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/nes/nes_nic.c linux-2.6= .32.48/drivers/infiniband/hw/nes/nes_nic.c ---- linux-2.6.32.48/drivers/infiniband/hw/nes/nes_nic.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/nes/nes_nic.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -1210,17 +1210,17 @@ static void nes_netdev_get_ethtool_stats +diff -urNp linux-3.0.8/drivers/infiniband/hw/nes/nes_nic.c linux-3.0.8/d= rivers/infiniband/hw/nes/nes_nic.c +--- linux-3.0.8/drivers/infiniband/hw/nes/nes_nic.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/infiniband/hw/nes/nes_nic.c 2011-08-23 21:47:55.= 000000000 -0400 +@@ -1274,31 +1274,31 @@ static void nes_netdev_get_ethtool_stats target_stat_values[++index] =3D mh_detected; target_stat_values[++index] =3D mh_pauses_sent; target_stat_values[++index] =3D nesvnic->endnode_ipv4_tcp_retransmits; @@ -32105,9 +28771,13 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw= /nes/nes_nic.c linux-2.6.32.48/d target_stat_values[++index] =3D cm_packets_sent; target_stat_values[++index] =3D cm_packets_bounced; target_stat_values[++index] =3D cm_packets_created; -@@ -1230,11 +1230,11 @@ static void nes_netdev_get_ethtool_stats - target_stat_values[++index] =3D cm_listens_created; - target_stat_values[++index] =3D cm_listens_destroyed; + target_stat_values[++index] =3D cm_packets_received; + target_stat_values[++index] =3D cm_packets_dropped; + target_stat_values[++index] =3D cm_packets_retrans; +- target_stat_values[++index] =3D atomic_read(&cm_listens_created); +- target_stat_values[++index] =3D atomic_read(&cm_listens_destroyed); ++ target_stat_values[++index] =3D atomic_read_unchecked(&cm_listens_crea= ted); ++ target_stat_values[++index] =3D atomic_read_unchecked(&cm_listens_dest= royed); target_stat_values[++index] =3D cm_backlog_drops; - target_stat_values[++index] =3D atomic_read(&cm_loopbacks); - target_stat_values[++index] =3D atomic_read(&cm_nodes_created); @@ -32119,13 +28789,13 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/h= w/nes/nes_nic.c linux-2.6.32.48/d + target_stat_values[++index] =3D atomic_read_unchecked(&cm_nodes_destro= yed); + target_stat_values[++index] =3D atomic_read_unchecked(&cm_accel_droppe= d_pkts); + target_stat_values[++index] =3D atomic_read_unchecked(&cm_resets_recvd= ); + target_stat_values[++index] =3D nesadapter->free_4kpbl; + target_stat_values[++index] =3D nesadapter->free_256pbl; target_stat_values[++index] =3D int_mod_timer_init; - target_stat_values[++index] =3D int_mod_cq_depth_1; - target_stat_values[++index] =3D int_mod_cq_depth_4; -diff -urNp linux-2.6.32.48/drivers/infiniband/hw/nes/nes_verbs.c linux-2= .6.32.48/drivers/infiniband/hw/nes/nes_verbs.c ---- linux-2.6.32.48/drivers/infiniband/hw/nes/nes_verbs.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/infiniband/hw/nes/nes_verbs.c 2011-11-12 12:= 46:45.000000000 -0500 -@@ -45,9 +45,9 @@ +diff -urNp linux-3.0.8/drivers/infiniband/hw/nes/nes_verbs.c linux-3.0.8= /drivers/infiniband/hw/nes/nes_verbs.c +--- linux-3.0.8/drivers/infiniband/hw/nes/nes_verbs.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/infiniband/hw/nes/nes_verbs.c 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -46,9 +46,9 @@ =20 #include =20 @@ -32138,7 +28808,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_verbs.c linux-2.6.32.48 =20 static void nes_unregister_ofa_device(struct nes_ib_device *nesibdev); =20 -@@ -1240,7 +1240,7 @@ static struct ib_qp *nes_create_qp(struc +@@ -1141,7 +1141,7 @@ static struct ib_qp *nes_create_qp(struc if (init_attr->create_flags) return ERR_PTR(-EINVAL); =20 @@ -32147,7 +28817,7 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/hw/= nes/nes_verbs.c linux-2.6.32.48 switch (init_attr->qp_type) { case IB_QPT_RC: if (nes_drv_opt & NES_DRV_OPT_NO_INLINE_DATA) { -@@ -1568,7 +1568,7 @@ static int nes_destroy_qp(struct ib_qp * +@@ -1470,7 +1470,7 @@ static int nes_destroy_qp(struct ib_qp * struct iw_cm_event cm_event; int ret; =20 @@ -32156,10 +28826,21 @@ diff -urNp linux-2.6.32.48/drivers/infiniband/h= w/nes/nes_verbs.c linux-2.6.32.48 nesqp->destroyed =3D 1; =20 /* Blow away the connection if it exists. */ -diff -urNp linux-2.6.32.48/drivers/input/gameport/gameport.c linux-2.6.3= 2.48/drivers/input/gameport/gameport.c ---- linux-2.6.32.48/drivers/input/gameport/gameport.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/input/gameport/gameport.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -515,13 +515,13 @@ EXPORT_SYMBOL(gameport_set_phys); +diff -urNp linux-3.0.8/drivers/infiniband/hw/qib/qib.h linux-3.0.8/drive= rs/infiniband/hw/qib/qib.h +--- linux-3.0.8/drivers/infiniband/hw/qib/qib.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/infiniband/hw/qib/qib.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -51,6 +51,7 @@ + #include + #include + #include ++#include +=20 + #include "qib_common.h" + #include "qib_verbs.h" +diff -urNp linux-3.0.8/drivers/input/gameport/gameport.c linux-3.0.8/dri= vers/input/gameport/gameport.c +--- linux-3.0.8/drivers/input/gameport/gameport.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/input/gameport/gameport.c 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -488,14 +488,14 @@ EXPORT_SYMBOL(gameport_set_phys); */ static void gameport_init_port(struct gameport *gameport) { @@ -32170,15 +28851,16 @@ diff -urNp linux-2.6.32.48/drivers/input/gamepo= rt/gameport.c linux-2.6.32.48/dri =20 mutex_init(&gameport->drv_mutex); device_initialize(&gameport->dev); -- dev_set_name(&gameport->dev, "gameport%lu", (unsigned long)atomic_inc_= return(&gameport_no) - 1); -+ dev_set_name(&gameport->dev, "gameport%lu", (unsigned long)atomic_inc_= return_unchecked(&gameport_no) - 1); + dev_set_name(&gameport->dev, "gameport%lu", +- (unsigned long)atomic_inc_return(&gameport_no) - 1); ++ (unsigned long)atomic_inc_return_unchecked(&gameport_no) - 1); gameport->dev.bus =3D &gameport_bus; gameport->dev.release =3D gameport_release_port; if (gameport->parent) -diff -urNp linux-2.6.32.48/drivers/input/input.c linux-2.6.32.48/drivers= /input/input.c ---- linux-2.6.32.48/drivers/input/input.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/input/input.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -1558,7 +1558,7 @@ EXPORT_SYMBOL(input_set_capability); +diff -urNp linux-3.0.8/drivers/input/input.c linux-3.0.8/drivers/input/i= nput.c +--- linux-3.0.8/drivers/input/input.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/input/input.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -1814,7 +1814,7 @@ static void input_cleanse_bitmasks(struc */ int input_register_device(struct input_dev *dev) { @@ -32187,7 +28869,7 @@ diff -urNp linux-2.6.32.48/drivers/input/input.c = linux-2.6.32.48/drivers/input/i struct input_handler *handler; const char *path; int error; -@@ -1585,7 +1585,7 @@ int input_register_device(struct input_d +@@ -1851,7 +1851,7 @@ int input_register_device(struct input_d dev->setkeycode =3D input_default_setkeycode; =20 dev_set_name(&dev->dev, "input%ld", @@ -32196,9 +28878,9 @@ diff -urNp linux-2.6.32.48/drivers/input/input.c = linux-2.6.32.48/drivers/input/i =20 error =3D device_add(&dev->dev); if (error) -diff -urNp linux-2.6.32.48/drivers/input/joystick/sidewinder.c linux-2.6= .32.48/drivers/input/joystick/sidewinder.c ---- linux-2.6.32.48/drivers/input/joystick/sidewinder.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/input/joystick/sidewinder.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/input/joystick/sidewinder.c linux-3.0.8/d= rivers/input/joystick/sidewinder.c +--- linux-3.0.8/drivers/input/joystick/sidewinder.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/input/joystick/sidewinder.c 2011-08-23 21:48:14.= 000000000 -0400 @@ -30,6 +30,7 @@ #include #include @@ -32216,10 +28898,10 @@ diff -urNp linux-2.6.32.48/drivers/input/joysti= ck/sidewinder.c linux-2.6.32.48/d i =3D sw_read_packet(sw->gameport, buf, sw->length, 0); =20 if (sw->type =3D=3D SW_ID_3DP && sw->length =3D=3D 66 && i !=3D 66) { = /* Broken packet, try to fix */ -diff -urNp linux-2.6.32.48/drivers/input/joystick/xpad.c linux-2.6.32.48= /drivers/input/joystick/xpad.c ---- linux-2.6.32.48/drivers/input/joystick/xpad.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/input/joystick/xpad.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -621,7 +621,7 @@ static void xpad_led_set(struct led_clas +diff -urNp linux-3.0.8/drivers/input/joystick/xpad.c linux-3.0.8/drivers= /input/joystick/xpad.c +--- linux-3.0.8/drivers/input/joystick/xpad.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/input/joystick/xpad.c 2011-08-23 21:47:55.000000= 000 -0400 +@@ -689,7 +689,7 @@ static void xpad_led_set(struct led_clas =20 static int xpad_led_probe(struct usb_xpad *xpad) { @@ -32228,7 +28910,7 @@ diff -urNp linux-2.6.32.48/drivers/input/joystick= /xpad.c linux-2.6.32.48/drivers long led_no; struct xpad_led *led; struct led_classdev *led_cdev; -@@ -634,7 +634,7 @@ static int xpad_led_probe(struct usb_xpa +@@ -702,7 +702,7 @@ static int xpad_led_probe(struct usb_xpa if (!led) return -ENOMEM; =20 @@ -32237,10 +28919,22 @@ diff -urNp linux-2.6.32.48/drivers/input/joysti= ck/xpad.c linux-2.6.32.48/drivers =20 snprintf(led->name, sizeof(led->name), "xpad%ld", led_no); led->xpad =3D xpad; -diff -urNp linux-2.6.32.48/drivers/input/serio/serio.c linux-2.6.32.48/d= rivers/input/serio/serio.c ---- linux-2.6.32.48/drivers/input/serio/serio.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/input/serio/serio.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -527,7 +527,7 @@ static void serio_release_port(struct de +diff -urNp linux-3.0.8/drivers/input/mousedev.c linux-3.0.8/drivers/inpu= t/mousedev.c +--- linux-3.0.8/drivers/input/mousedev.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/input/mousedev.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -763,7 +763,7 @@ static ssize_t mousedev_read(struct file +=20 + spin_unlock_irq(&client->packet_lock); +=20 +- if (copy_to_user(buffer, data, count)) ++ if (count > sizeof(data) || copy_to_user(buffer, data, count)) + return -EFAULT; +=20 + return count; +diff -urNp linux-3.0.8/drivers/input/serio/serio.c linux-3.0.8/drivers/i= nput/serio/serio.c +--- linux-3.0.8/drivers/input/serio/serio.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/input/serio/serio.c 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -497,7 +497,7 @@ static void serio_release_port(struct de */ static void serio_init_port(struct serio *serio) { @@ -32249,7 +28943,7 @@ diff -urNp linux-2.6.32.48/drivers/input/serio/se= rio.c linux-2.6.32.48/drivers/i =20 __module_get(THIS_MODULE); =20 -@@ -536,7 +536,7 @@ static void serio_init_port(struct serio +@@ -508,7 +508,7 @@ static void serio_init_port(struct serio mutex_init(&serio->drv_mutex); device_initialize(&serio->dev); dev_set_name(&serio->dev, "serio%ld", @@ -32257,11 +28951,51 @@ diff -urNp linux-2.6.32.48/drivers/input/serio/= serio.c linux-2.6.32.48/drivers/i + (long)atomic_inc_return_unchecked(&serio_no) - 1); serio->dev.bus =3D &serio_bus; serio->dev.release =3D serio_release_port; - if (serio->parent) { -diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/common.c linux-2.6.32.48= /drivers/isdn/gigaset/common.c ---- linux-2.6.32.48/drivers/isdn/gigaset/common.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/gigaset/common.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -712,7 +712,7 @@ struct cardstate *gigaset_initcs(struct=20 + serio->dev.groups =3D serio_device_attr_groups; +diff -urNp linux-3.0.8/drivers/isdn/capi/capi.c linux-3.0.8/drivers/isdn= /capi/capi.c +--- linux-3.0.8/drivers/isdn/capi/capi.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/isdn/capi/capi.c 2011-08-23 21:47:55.000000000 -= 0400 +@@ -83,8 +83,8 @@ struct capiminor { +=20 + struct capi20_appl *ap; + u32 ncci; +- atomic_t datahandle; +- atomic_t msgid; ++ atomic_unchecked_t datahandle; ++ atomic_unchecked_t msgid; +=20 + struct tty_port port; + int ttyinstop; +@@ -397,7 +397,7 @@ gen_data_b3_resp_for(struct capiminor *m + capimsg_setu16(s, 2, mp->ap->applid); + capimsg_setu8 (s, 4, CAPI_DATA_B3); + capimsg_setu8 (s, 5, CAPI_RESP); +- capimsg_setu16(s, 6, atomic_inc_return(&mp->msgid)); ++ capimsg_setu16(s, 6, atomic_inc_return_unchecked(&mp->msgid)); + capimsg_setu32(s, 8, mp->ncci); + capimsg_setu16(s, 12, datahandle); + } +@@ -518,14 +518,14 @@ static void handle_minor_send(struct cap + mp->outbytes -=3D len; + spin_unlock_bh(&mp->outlock); +=20 +- datahandle =3D atomic_inc_return(&mp->datahandle); ++ datahandle =3D atomic_inc_return_unchecked(&mp->datahandle); + skb_push(skb, CAPI_DATA_B3_REQ_LEN); + memset(skb->data, 0, CAPI_DATA_B3_REQ_LEN); + capimsg_setu16(skb->data, 0, CAPI_DATA_B3_REQ_LEN); + capimsg_setu16(skb->data, 2, mp->ap->applid); + capimsg_setu8 (skb->data, 4, CAPI_DATA_B3); + capimsg_setu8 (skb->data, 5, CAPI_REQ); +- capimsg_setu16(skb->data, 6, atomic_inc_return(&mp->msgid)); ++ capimsg_setu16(skb->data, 6, atomic_inc_return_unchecked(&mp->msgid))= ; + capimsg_setu32(skb->data, 8, mp->ncci); /* NCCI */ + capimsg_setu32(skb->data, 12, (u32)(long)skb->data);/* Data32 */ + capimsg_setu16(skb->data, 16, len); /* Data length */ +diff -urNp linux-3.0.8/drivers/isdn/gigaset/common.c linux-3.0.8/drivers= /isdn/gigaset/common.c +--- linux-3.0.8/drivers/isdn/gigaset/common.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/isdn/gigaset/common.c 2011-08-23 21:47:55.000000= 000 -0400 +@@ -723,7 +723,7 @@ struct cardstate *gigaset_initcs(struct=20 cs->commands_pending =3D 0; cs->cur_at_seq =3D 0; cs->gotfwver =3D -1; @@ -32270,18 +29004,18 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset= /common.c linux-2.6.32.48/drivers cs->dev =3D NULL; cs->tty =3D NULL; cs->tty_dev =3D NULL; -diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/gigaset.h linux-2.6.32.4= 8/drivers/isdn/gigaset/gigaset.h ---- linux-2.6.32.48/drivers/isdn/gigaset/gigaset.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/gigaset/gigaset.h 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -34,6 +34,7 @@ +diff -urNp linux-3.0.8/drivers/isdn/gigaset/gigaset.h linux-3.0.8/driver= s/isdn/gigaset/gigaset.h +--- linux-3.0.8/drivers/isdn/gigaset/gigaset.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/isdn/gigaset/gigaset.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -35,6 +35,7 @@ #include #include #include +#include =20 - #define GIG_VERSION {0,5,0,0} - #define GIG_COMPAT {0,4,0,0} -@@ -446,7 +447,7 @@ struct cardstate { + #define GIG_VERSION {0, 5, 0, 0} + #define GIG_COMPAT {0, 4, 0, 0} +@@ -433,7 +434,7 @@ struct cardstate { spinlock_t cmdlock; unsigned curlen, cmdbytes; =20 @@ -32290,11 +29024,11 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset= /gigaset.h linux-2.6.32.48/driver struct tty_struct *tty; struct tasklet_struct if_wake_tasklet; unsigned control_state; -diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/interface.c linux-2.6.32= .48/drivers/isdn/gigaset/interface.c ---- linux-2.6.32.48/drivers/isdn/gigaset/interface.c 2011-11-12 12:44:29= .000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/gigaset/interface.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -165,9 +165,7 @@ static int if_open(struct tty_struct *tt - return -ERESTARTSYS; // FIXME -EINTR? +diff -urNp linux-3.0.8/drivers/isdn/gigaset/interface.c linux-3.0.8/driv= ers/isdn/gigaset/interface.c +--- linux-3.0.8/drivers/isdn/gigaset/interface.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/isdn/gigaset/interface.c 2011-08-23 21:47:55.000= 000000 -0400 +@@ -162,9 +162,7 @@ static int if_open(struct tty_struct *tt + } tty->driver_data =3D cs; =20 - ++cs->open_count; @@ -32304,7 +29038,7 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/i= nterface.c linux-2.6.32.48/driv spin_lock_irqsave(&cs->lock, flags); cs->tty =3D tty; spin_unlock_irqrestore(&cs->lock, flags); -@@ -195,10 +193,10 @@ static void if_close(struct tty_struct * +@@ -192,10 +190,10 @@ static void if_close(struct tty_struct * =20 if (!cs->connected) gig_dbg(DEBUG_IF, "not connected"); /* nothing to do */ @@ -32317,7 +29051,7 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/i= nterface.c linux-2.6.32.48/driv spin_lock_irqsave(&cs->lock, flags); cs->tty =3D NULL; spin_unlock_irqrestore(&cs->lock, flags); -@@ -233,7 +231,7 @@ static int if_ioctl(struct tty_struct *t +@@ -230,7 +228,7 @@ static int if_ioctl(struct tty_struct *t if (!cs->connected) { gig_dbg(DEBUG_IF, "not connected"); retval =3D -ENODEV; @@ -32326,16 +29060,16 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset= /interface.c linux-2.6.32.48/driv dev_warn(cs->dev, "%s: device not opened\n", __func__); else { retval =3D 0; -@@ -361,7 +359,7 @@ static int if_write(struct tty_struct *t - if (!cs->connected) { - gig_dbg(DEBUG_IF, "not connected"); +@@ -360,7 +358,7 @@ static int if_write(struct tty_struct *t retval =3D -ENODEV; -- } else if (!cs->open_count) -+ } else if (!local_read(&cs->open_count)) + goto done; + } +- if (!cs->open_count) { ++ if (!local_read(&cs->open_count)) { dev_warn(cs->dev, "%s: device not opened\n", __func__); - else if (cs->mstate !=3D MS_LOCKED) { - dev_warn(cs->dev, "can't write to unlocked device\n"); -@@ -395,7 +393,7 @@ static int if_write_room(struct tty_stru + retval =3D -ENODEV; + goto done; +@@ -413,7 +411,7 @@ static int if_write_room(struct tty_stru if (!cs->connected) { gig_dbg(DEBUG_IF, "not connected"); retval =3D -ENODEV; @@ -32344,7 +29078,7 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset/i= nterface.c linux-2.6.32.48/driv dev_warn(cs->dev, "%s: device not opened\n", __func__); else if (cs->mstate !=3D MS_LOCKED) { dev_warn(cs->dev, "can't write to unlocked device\n"); -@@ -425,7 +423,7 @@ static int if_chars_in_buffer(struct tty +@@ -443,7 +441,7 @@ static int if_chars_in_buffer(struct tty =20 if (!cs->connected) gig_dbg(DEBUG_IF, "not connected"); @@ -32353,25 +29087,25 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset= /interface.c linux-2.6.32.48/driv dev_warn(cs->dev, "%s: device not opened\n", __func__); else if (cs->mstate !=3D MS_LOCKED) dev_warn(cs->dev, "can't write to unlocked device\n"); -@@ -453,7 +451,7 @@ static void if_throttle(struct tty_struc +@@ -471,7 +469,7 @@ static void if_throttle(struct tty_struc =20 if (!cs->connected) gig_dbg(DEBUG_IF, "not connected"); /* nothing to do */ - else if (!cs->open_count) + else if (!local_read(&cs->open_count)) dev_warn(cs->dev, "%s: device not opened\n", __func__); - else { - //FIXME -@@ -478,7 +476,7 @@ static void if_unthrottle(struct tty_str + else + gig_dbg(DEBUG_IF, "%s: not implemented\n", __func__); +@@ -495,7 +493,7 @@ static void if_unthrottle(struct tty_str =20 if (!cs->connected) gig_dbg(DEBUG_IF, "not connected"); /* nothing to do */ - else if (!cs->open_count) + else if (!local_read(&cs->open_count)) dev_warn(cs->dev, "%s: device not opened\n", __func__); - else { - //FIXME -@@ -510,7 +508,7 @@ static void if_set_termios(struct tty_st + else + gig_dbg(DEBUG_IF, "%s: not implemented\n", __func__); +@@ -526,7 +524,7 @@ static void if_set_termios(struct tty_st goto out; } =20 @@ -32380,10 +29114,10 @@ diff -urNp linux-2.6.32.48/drivers/isdn/gigaset= /interface.c linux-2.6.32.48/driv dev_warn(cs->dev, "%s: device not opened\n", __func__); goto out; } -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/avm/b1.c linux-2.6.32.4= 8/drivers/isdn/hardware/avm/b1.c ---- linux-2.6.32.48/drivers/isdn/hardware/avm/b1.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/avm/b1.c 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -173,7 +173,7 @@ int b1_load_t4file(avmcard *card, capilo +diff -urNp linux-3.0.8/drivers/isdn/hardware/avm/b1.c linux-3.0.8/driver= s/isdn/hardware/avm/b1.c +--- linux-3.0.8/drivers/isdn/hardware/avm/b1.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/isdn/hardware/avm/b1.c 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -176,7 +176,7 @@ int b1_load_t4file(avmcard *card, capilo } if (left) { if (t4file->user) { @@ -32392,7 +29126,7 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= avm/b1.c linux-2.6.32.48/driver return -EFAULT; } else { memcpy(buf, dp, left); -@@ -221,7 +221,7 @@ int b1_load_config(avmcard *card, capilo +@@ -224,7 +224,7 @@ int b1_load_config(avmcard *card, capilo } if (left) { if (config->user) { @@ -32401,9 +29135,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= avm/b1.c linux-2.6.32.48/driver return -EFAULT; } else { memcpy(buf, dp, left); -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/capidtmf.c linux-= 2.6.32.48/drivers/isdn/hardware/eicon/capidtmf.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/capidtmf.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/capidtmf.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/capidtmf.c linux-3.0.= 8/drivers/isdn/hardware/eicon/capidtmf.c +--- linux-3.0.8/drivers/isdn/hardware/eicon/capidtmf.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/isdn/hardware/eicon/capidtmf.c 2011-08-23 21:48:= 14.000000000 -0400 @@ -498,6 +498,7 @@ void capidtmf_recv_block (t_capidtmf_sta byte goertzel_result_buffer[CAPIDTMF_RECV_TOTAL_FREQUENCY_COUNT]; short windowed_sample_buffer[CAPIDTMF_RECV_WINDOWED_SAMPLES]; @@ -32412,9 +29146,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/capidtmf.c linux-2.6.32.4 =20 if (p_state->recv.state & CAPIDTMF_RECV_STATE_DTMF_ACTIVE) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/capifunc.c linux-= 2.6.32.48/drivers/isdn/hardware/eicon/capifunc.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/capifunc.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/capifunc.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/capifunc.c linux-3.0.= 8/drivers/isdn/hardware/eicon/capifunc.c +--- linux-3.0.8/drivers/isdn/hardware/eicon/capifunc.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/isdn/hardware/eicon/capifunc.c 2011-08-23 21:48:= 14.000000000 -0400 @@ -1055,6 +1055,8 @@ static int divacapi_connect_didd(void) IDI_SYNC_REQ req; DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; @@ -32424,9 +29158,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/capifunc.c linux-2.6.32.4 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); =20 for (x =3D 0; x < MAX_DESCRIPTORS; x++) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/diddfunc.c linux-= 2.6.32.48/drivers/isdn/hardware/eicon/diddfunc.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/diddfunc.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/diddfunc.c 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/diddfunc.c linux-3.0.= 8/drivers/isdn/hardware/eicon/diddfunc.c +--- linux-3.0.8/drivers/isdn/hardware/eicon/diddfunc.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/isdn/hardware/eicon/diddfunc.c 2011-08-23 21:48:= 14.000000000 -0400 @@ -54,6 +54,8 @@ static int DIVA_INIT_FUNCTION connect_di IDI_SYNC_REQ req; DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; @@ -32436,10 +29170,10 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardwar= e/eicon/diddfunc.c linux-2.6.32.4 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); =20 for (x =3D 0; x < MAX_DESCRIPTORS; x++) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/divasfunc.c linux= -2.6.32.48/drivers/isdn/hardware/eicon/divasfunc.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/divasfunc.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/divasfunc.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -161,6 +161,8 @@ static int DIVA_INIT_FUNCTION connect_di +diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/divasfunc.c linux-3.0= .8/drivers/isdn/hardware/eicon/divasfunc.c +--- linux-3.0.8/drivers/isdn/hardware/eicon/divasfunc.c 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/drivers/isdn/hardware/eicon/divasfunc.c 2011-08-23 21:48= :14.000000000 -0400 +@@ -160,6 +160,8 @@ static int DIVA_INIT_FUNCTION connect_di IDI_SYNC_REQ req; DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; =20 @@ -32448,9 +29182,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/divasfunc.c linux-2.6.32. DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); =20 for (x =3D 0; x < MAX_DESCRIPTORS; x++) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/divasync.h linux-= 2.6.32.48/drivers/isdn/hardware/eicon/divasync.h ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/divasync.h 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/divasync.h 2011-11-12 12= :46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/divasync.h linux-3.0.= 8/drivers/isdn/hardware/eicon/divasync.h +--- linux-3.0.8/drivers/isdn/hardware/eicon/divasync.h 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/isdn/hardware/eicon/divasync.h 2011-08-23 21:47:= 55.000000000 -0400 @@ -146,7 +146,7 @@ typedef struct _diva_didd_add_adapter { } diva_didd_add_adapter_t; typedef struct _diva_didd_remove_adapter { @@ -32460,9 +29194,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/divasync.h linux-2.6.32.4 typedef struct _diva_didd_read_adapter_array { void * buffer; dword length; -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/idifunc.c linux-2= .6.32.48/drivers/isdn/hardware/eicon/idifunc.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/idifunc.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/idifunc.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/idifunc.c linux-3.0.8= /drivers/isdn/hardware/eicon/idifunc.c +--- linux-3.0.8/drivers/isdn/hardware/eicon/idifunc.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/isdn/hardware/eicon/idifunc.c 2011-08-23 21:48:1= 4.000000000 -0400 @@ -188,6 +188,8 @@ static int DIVA_INIT_FUNCTION connect_di IDI_SYNC_REQ req; DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; @@ -32472,10 +29206,10 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardwar= e/eicon/idifunc.c linux-2.6.32.48 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); =20 for (x =3D 0; x < MAX_DESCRIPTORS; x++) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/message.c linux-2= .6.32.48/drivers/isdn/hardware/eicon/message.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/message.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/message.c 2011-11-12 12:= 46:45.000000000 -0500 -@@ -4889,6 +4889,8 @@ static void sig_ind(PLCI *plci) +diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/message.c linux-3.0.8= /drivers/isdn/hardware/eicon/message.c +--- linux-3.0.8/drivers/isdn/hardware/eicon/message.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/isdn/hardware/eicon/message.c 2011-08-23 21:48:1= 4.000000000 -0400 +@@ -4886,6 +4886,8 @@ static void sig_ind(PLCI *plci) dword d; word w; =20 @@ -32484,7 +29218,7 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/message.c linux-2.6.32.48 a =3D plci->adapter; Id =3D ((word)plci->Id<<8)|a->Id; PUT_WORD(&SS_Ind[4],0x0000); -@@ -7484,6 +7486,8 @@ static word add_b1(PLCI *plci, API_PARSE +@@ -7480,6 +7482,8 @@ static word add_b1(PLCI *plci, API_PARSE word j, n, w; dword d; =20 @@ -32493,7 +29227,7 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/message.c linux-2.6.32.48 =20 for(i=3D0;i<8;i++) bp_parms[i].length =3D 0; for(i=3D0;i<2;i++) global_config[i].length =3D 0; -@@ -7958,6 +7962,8 @@ static word add_b23(PLCI *plci, API_PARS +@@ -7954,6 +7958,8 @@ static word add_b23(PLCI *plci, API_PARS const byte llc3[] =3D {4,3,2,2,6,6,0}; const byte header[] =3D {0,2,3,3,0,0,0}; =20 @@ -32502,7 +29236,7 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/message.c linux-2.6.32.48 for(i=3D0;i<8;i++) bp_parms[i].length =3D 0; for(i=3D0;i<6;i++) b2_config_parms[i].length =3D 0; for(i=3D0;i<5;i++) b3_config_parms[i].length =3D 0; -@@ -14761,6 +14767,8 @@ static void group_optimization(DIVA_CAPI +@@ -14741,6 +14747,8 @@ static void group_optimization(DIVA_CAPI word appl_number_group_type[MAX_APPL]; PLCI *auxplci; =20 @@ -32511,9 +29245,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/message.c linux-2.6.32.48 set_group_ind_mask (plci); /* all APPLs within this inc. call are all= owed to dial in */ =20 if(!a->group_optimization_enabled) -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/mntfunc.c linux-2= .6.32.48/drivers/isdn/hardware/eicon/mntfunc.c ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/mntfunc.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/mntfunc.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/mntfunc.c linux-3.0.8= /drivers/isdn/hardware/eicon/mntfunc.c +--- linux-3.0.8/drivers/isdn/hardware/eicon/mntfunc.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/isdn/hardware/eicon/mntfunc.c 2011-08-23 21:48:1= 4.000000000 -0400 @@ -79,6 +79,8 @@ static int DIVA_INIT_FUNCTION connect_di IDI_SYNC_REQ req; DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; @@ -32523,9 +29257,9 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardware/= eicon/mntfunc.c linux-2.6.32.48 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); =20 for (x =3D 0; x < MAX_DESCRIPTORS; x++) { -diff -urNp linux-2.6.32.48/drivers/isdn/hardware/eicon/xdi_adapter.h lin= ux-2.6.32.48/drivers/isdn/hardware/eicon/xdi_adapter.h ---- linux-2.6.32.48/drivers/isdn/hardware/eicon/xdi_adapter.h 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-11-12= 12:46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/xdi_adapter.h linux-3= .0.8/drivers/isdn/hardware/eicon/xdi_adapter.h +--- linux-3.0.8/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-07-21 22:= 17:23.000000000 -0400 ++++ linux-3.0.8/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-08-23 21:= 47:55.000000000 -0400 @@ -44,7 +44,7 @@ typedef struct _xdi_mbox_t { typedef struct _diva_os_idi_adapter_interface { diva_init_card_proc_t cleanup_adapter_proc; @@ -32535,10 +29269,10 @@ diff -urNp linux-2.6.32.48/drivers/isdn/hardwar= e/eicon/xdi_adapter.h linux-2.6.3 =20 typedef struct _diva_os_xdi_adapter { struct list_head link; -diff -urNp linux-2.6.32.48/drivers/isdn/i4l/isdn_common.c linux-2.6.32.4= 8/drivers/isdn/i4l/isdn_common.c ---- linux-2.6.32.48/drivers/isdn/i4l/isdn_common.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/isdn/i4l/isdn_common.c 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -1290,6 +1290,8 @@ isdn_ioctl(struct inode *inode, struct f +diff -urNp linux-3.0.8/drivers/isdn/i4l/isdn_common.c linux-3.0.8/driver= s/isdn/i4l/isdn_common.c +--- linux-3.0.8/drivers/isdn/i4l/isdn_common.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/isdn/i4l/isdn_common.c 2011-08-23 21:48:14.00000= 0000 -0400 +@@ -1286,6 +1286,8 @@ isdn_ioctl(struct file *file, uint cmd,=20 } iocpar; void __user *argp =3D (void __user *)arg; =20 @@ -32547,10 +29281,10 @@ diff -urNp linux-2.6.32.48/drivers/isdn/i4l/isd= n_common.c linux-2.6.32.48/driver #define name iocpar.name #define bname iocpar.bname #define iocts iocpar.iocts -diff -urNp linux-2.6.32.48/drivers/isdn/icn/icn.c linux-2.6.32.48/driver= s/isdn/icn/icn.c ---- linux-2.6.32.48/drivers/isdn/icn/icn.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/isdn/icn/icn.c 2011-11-12 12:46:45.000000000= -0500 -@@ -1044,7 +1044,7 @@ icn_writecmd(const u_char * buf, int len +diff -urNp linux-3.0.8/drivers/isdn/icn/icn.c linux-3.0.8/drivers/isdn/i= cn/icn.c +--- linux-3.0.8/drivers/isdn/icn/icn.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/isdn/icn/icn.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -1045,7 +1045,7 @@ icn_writecmd(const u_char * buf, int len if (count > len) count =3D len; if (user) { @@ -32559,66 +29293,10 @@ diff -urNp linux-2.6.32.48/drivers/isdn/icn/icn= .c linux-2.6.32.48/drivers/isdn/i return -EFAULT; } else memcpy(msg, buf, count); -diff -urNp linux-2.6.32.48/drivers/isdn/mISDN/socket.c linux-2.6.32.48/d= rivers/isdn/mISDN/socket.c ---- linux-2.6.32.48/drivers/isdn/mISDN/socket.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/isdn/mISDN/socket.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -391,6 +391,7 @@ data_sock_ioctl(struct socket *sock, uns - if (dev) { - struct mISDN_devinfo di; -=20 -+ memset(&di, 0, sizeof(di)); - di.id =3D dev->id; - di.Dprotocols =3D dev->Dprotocols; - di.Bprotocols =3D dev->Bprotocols | get_all_Bprotocols(); -@@ -671,6 +672,7 @@ base_sock_ioctl(struct socket *sock, uns - if (dev) { - struct mISDN_devinfo di; -=20 -+ memset(&di, 0, sizeof(di)); - di.id =3D dev->id; - di.Dprotocols =3D dev->Dprotocols; - di.Bprotocols =3D dev->Bprotocols | get_all_Bprotocols(); -diff -urNp linux-2.6.32.48/drivers/isdn/sc/interrupt.c linux-2.6.32.48/d= rivers/isdn/sc/interrupt.c ---- linux-2.6.32.48/drivers/isdn/sc/interrupt.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/isdn/sc/interrupt.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -112,11 +112,19 @@ irqreturn_t interrupt_handler(int dummy, - } - else if(callid>=3D0x0000 && callid<=3D0x7FFF) - { -+ int len; -+ - pr_debug("%s: Got Incoming Call\n", - sc_adapter[card]->devicename); -- strcpy(setup.phone,&(rcvmsg.msg_data.byte_array[4])); -- strcpy(setup.eazmsn, -- sc_adapter[card]->channel[rcvmsg.phy_link_no-1].dn); -+ len =3D strlcpy(setup.phone, &(rcvmsg.msg_data.byte_array[4]), -+ sizeof(setup.phone)); -+ if (len >=3D sizeof(setup.phone)) -+ continue; -+ len =3D strlcpy(setup.eazmsn, -+ sc_adapter[card]->channel[rcvmsg.phy_link_no - 1].dn, -+ sizeof(setup.eazmsn)); -+ if (len >=3D sizeof(setup.eazmsn)) -+ continue; - setup.si1 =3D 7; - setup.si2 =3D 0; - setup.plan =3D 0; -@@ -176,7 +184,9 @@ irqreturn_t interrupt_handler(int dummy, - * Handle a GetMyNumber Rsp - */ - if (IS_CE_MESSAGE(rcvmsg,Call,0,GetMyNumber)){ -- strcpy(sc_adapter[card]->channel[rcvmsg.phy_link_no-1].dn,rcvmsg.msg= _data.byte_array); -+ strlcpy(sc_adapter[card]->channel[rcvmsg.phy_link_no - 1].dn, -+ rcvmsg.msg_data.byte_array, -+ sizeof(rcvmsg.msg_data.byte_array)); - continue; - } - =09 -diff -urNp linux-2.6.32.48/drivers/lguest/core.c linux-2.6.32.48/drivers= /lguest/core.c ---- linux-2.6.32.48/drivers/lguest/core.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/lguest/core.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -91,9 +91,17 @@ static __init int map_switcher(void) +diff -urNp linux-3.0.8/drivers/lguest/core.c linux-3.0.8/drivers/lguest/= core.c +--- linux-3.0.8/drivers/lguest/core.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/lguest/core.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -92,9 +92,17 @@ static __init int map_switcher(void) * it's worked so far. The end address needs +1 because __get_vm_area * allocates an extra guard page, so we need space for that. */ @@ -32636,7 +29314,7 @@ diff -urNp linux-2.6.32.48/drivers/lguest/core.c = linux-2.6.32.48/drivers/lguest/ if (!switcher_vma) { err =3D -ENOMEM; printk("lguest: could not map switcher pages high\n"); -@@ -118,7 +126,7 @@ static __init int map_switcher(void) +@@ -119,7 +127,7 @@ static __init int map_switcher(void) * Now the Switcher is mapped at the right address, we can't fail! * Copy in the compiled-in Switcher code (from _switcher.S). */ @@ -32645,9 +29323,9 @@ diff -urNp linux-2.6.32.48/drivers/lguest/core.c = linux-2.6.32.48/drivers/lguest/ end_switcher_text - start_switcher_text); =20 printk(KERN_INFO "lguest: mapped switcher at %p\n", -diff -urNp linux-2.6.32.48/drivers/lguest/x86/core.c linux-2.6.32.48/dri= vers/lguest/x86/core.c ---- linux-2.6.32.48/drivers/lguest/x86/core.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/lguest/x86/core.c 2011-11-12 12:46:45.000000= 000 -0500 +diff -urNp linux-3.0.8/drivers/lguest/x86/core.c linux-3.0.8/drivers/lgu= est/x86/core.c +--- linux-3.0.8/drivers/lguest/x86/core.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/lguest/x86/core.c 2011-08-23 21:47:55.000000000 = -0400 @@ -59,7 +59,7 @@ static struct { /* Offset from where switcher.S was compiled to where we've copied it *= / static unsigned long switcher_offset(void) @@ -32671,7 +29349,7 @@ diff -urNp linux-2.6.32.48/drivers/lguest/x86/cor= e.c linux-2.6.32.48/drivers/lgu /* * Set up the Guest's page tables to see this CPU's pages (and no * other CPU's pages). -@@ -535,7 +541,7 @@ void __init lguest_arch_host_init(void) +@@ -547,7 +553,7 @@ void __init lguest_arch_host_init(void) * compiled-in switcher code and the high-mapped copy we just made. */ for (i =3D 0; i < IDT_ENTRIES; i++) @@ -32680,7 +29358,7 @@ diff -urNp linux-2.6.32.48/drivers/lguest/x86/cor= e.c linux-2.6.32.48/drivers/lgu =20 /* * Set up the Switcher's per-cpu areas. -@@ -618,7 +624,7 @@ void __init lguest_arch_host_init(void) +@@ -630,7 +636,7 @@ void __init lguest_arch_host_init(void) * it will be undisturbed when we switch. To change %cs and jump we * need this structure to feed to Intel's "lcall" instruction. */ @@ -32689,9 +29367,9 @@ diff -urNp linux-2.6.32.48/drivers/lguest/x86/cor= e.c linux-2.6.32.48/drivers/lgu lguest_entry.segment =3D LGUEST_CS; =20 /* -diff -urNp linux-2.6.32.48/drivers/lguest/x86/switcher_32.S linux-2.6.32= .48/drivers/lguest/x86/switcher_32.S ---- linux-2.6.32.48/drivers/lguest/x86/switcher_32.S 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/lguest/x86/switcher_32.S 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-3.0.8/drivers/lguest/x86/switcher_32.S linux-3.0.8/driv= ers/lguest/x86/switcher_32.S +--- linux-3.0.8/drivers/lguest/x86/switcher_32.S 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/lguest/x86/switcher_32.S 2011-08-23 21:47:55.000= 000000 -0400 @@ -87,6 +87,7 @@ #include #include @@ -32750,43 +29428,22 @@ diff -urNp linux-2.6.32.48/drivers/lguest/x86/s= witcher_32.S linux-2.6.32.48/driv =20 // Every interrupt can come to us here // But we must truly tell each apart. -diff -urNp linux-2.6.32.48/drivers/macintosh/via-pmu-backlight.c linux-2= .6.32.48/drivers/macintosh/via-pmu-backlight.c ---- linux-2.6.32.48/drivers/macintosh/via-pmu-backlight.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/macintosh/via-pmu-backlight.c 2011-11-12 12:= 46:45.000000000 -0500 -@@ -15,7 +15,7 @@ -=20 - #define MAX_PMU_LEVEL 0xFF -=20 --static struct backlight_ops pmu_backlight_data; -+static const struct backlight_ops pmu_backlight_data; - static DEFINE_SPINLOCK(pmu_backlight_lock); - static int sleeping, uses_pmu_bl; - static u8 bl_curve[FB_BACKLIGHT_LEVELS]; -@@ -115,7 +115,7 @@ static int pmu_backlight_get_brightness( - return bd->props.brightness; - } -=20 --static struct backlight_ops pmu_backlight_data =3D { -+static const struct backlight_ops pmu_backlight_data =3D { - .get_brightness =3D pmu_backlight_get_brightness, - .update_status =3D pmu_backlight_update_status, -=20 -diff -urNp linux-2.6.32.48/drivers/macintosh/via-pmu.c linux-2.6.32.48/d= rivers/macintosh/via-pmu.c ---- linux-2.6.32.48/drivers/macintosh/via-pmu.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/macintosh/via-pmu.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -2232,7 +2232,7 @@ static int pmu_sleep_valid(suspend_state - && (pmac_call_feature(PMAC_FTR_SLEEP_STATE, NULL, 0, -1) >=3D 0); - } -=20 --static struct platform_suspend_ops pmu_pm_ops =3D { -+static const struct platform_suspend_ops pmu_pm_ops =3D { - .enter =3D powerbook_sleep, - .valid =3D pmu_sleep_valid, - }; -diff -urNp linux-2.6.32.48/drivers/md/dm.c linux-2.6.32.48/drivers/md/dm= .c ---- linux-2.6.32.48/drivers/md/dm.c 2011-11-12 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/md/dm.c 2011-11-12 12:46:45.000000000 -0500 -@@ -165,9 +165,9 @@ struct mapped_device { +diff -urNp linux-3.0.8/drivers/macintosh/macio_asic.c linux-3.0.8/driver= s/macintosh/macio_asic.c +--- linux-3.0.8/drivers/macintosh/macio_asic.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/macintosh/macio_asic.c 2011-10-11 10:44:33.00000= 0000 -0400 +@@ -748,7 +748,7 @@ static void __devexit macio_pci_remove(s + * MacIO is matched against any Apple ID, it's probe() function + * will then decide wether it applies or not + */ +-static const struct pci_device_id __devinitdata pci_ids [] =3D { { ++static const struct pci_device_id __devinitconst pci_ids [] =3D { { + .vendor =3D PCI_VENDOR_ID_APPLE, + .device =3D PCI_ANY_ID, + .subvendor =3D PCI_ANY_ID, +diff -urNp linux-3.0.8/drivers/md/dm.c linux-3.0.8/drivers/md/dm.c +--- linux-3.0.8/drivers/md/dm.c 2011-10-24 08:05:21.000000000 -0400 ++++ linux-3.0.8/drivers/md/dm.c 2011-08-23 21:47:55.000000000 -0400 +@@ -164,9 +164,9 @@ struct mapped_device { /* * Event handling. */ @@ -32798,7 +29455,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm.c linux-= 2.6.32.48/drivers/md/dm.c struct list_head uevent_list; spinlock_t uevent_lock; /* Protect access to uevent_list */ =20 -@@ -1776,8 +1776,8 @@ static struct mapped_device *alloc_dev(i +@@ -1842,8 +1842,8 @@ static struct mapped_device *alloc_dev(i rwlock_init(&md->map_lock); atomic_set(&md->holders, 1); atomic_set(&md->open_count, 0); @@ -32809,7 +29466,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm.c linux-= 2.6.32.48/drivers/md/dm.c INIT_LIST_HEAD(&md->uevent_list); spin_lock_init(&md->uevent_lock); =20 -@@ -1927,7 +1927,7 @@ static void event_callback(void *context +@@ -1977,7 +1977,7 @@ static void event_callback(void *context =20 dm_send_uevents(&uevents, &disk_to_dev(md->disk)->kobj); =20 @@ -32818,7 +29475,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm.c linux-= 2.6.32.48/drivers/md/dm.c wake_up(&md->eventq); } =20 -@@ -2562,18 +2562,18 @@ void dm_kobject_uevent(struct mapped_dev +@@ -2553,18 +2553,18 @@ int dm_kobject_uevent(struct mapped_devi =20 uint32_t dm_next_uevent_seq(struct mapped_device *md) { @@ -32840,10 +29497,10 @@ diff -urNp linux-2.6.32.48/drivers/md/dm.c linu= x-2.6.32.48/drivers/md/dm.c } =20 void dm_uevent_add(struct mapped_device *md, struct list_head *elist) -diff -urNp linux-2.6.32.48/drivers/md/dm-ioctl.c linux-2.6.32.48/drivers= /md/dm-ioctl.c ---- linux-2.6.32.48/drivers/md/dm-ioctl.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/md/dm-ioctl.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -1437,7 +1437,7 @@ static int validate_params(uint cmd, str +diff -urNp linux-3.0.8/drivers/md/dm-ioctl.c linux-3.0.8/drivers/md/dm-i= octl.c +--- linux-3.0.8/drivers/md/dm-ioctl.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/md/dm-ioctl.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -1551,7 +1551,7 @@ static int validate_params(uint cmd, str cmd =3D=3D DM_LIST_VERSIONS_CMD) return 0; =20 @@ -32852,10 +29509,10 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-ioctl.= c linux-2.6.32.48/drivers/md/dm-i if (!*param->name) { DMWARN("name not supplied when creating device"); return -EINVAL; -diff -urNp linux-2.6.32.48/drivers/md/dm-raid1.c linux-2.6.32.48/drivers= /md/dm-raid1.c ---- linux-2.6.32.48/drivers/md/dm-raid1.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/md/dm-raid1.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -41,7 +41,7 @@ enum dm_raid1_error { +diff -urNp linux-3.0.8/drivers/md/dm-raid1.c linux-3.0.8/drivers/md/dm-r= aid1.c +--- linux-3.0.8/drivers/md/dm-raid1.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/md/dm-raid1.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -40,7 +40,7 @@ enum dm_raid1_error { =20 struct mirror { struct mirror_set *ms; @@ -32864,7 +29521,16 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-raid1.c= linux-2.6.32.48/drivers/md/dm-r unsigned long error_type; struct dm_dev *dev; sector_t offset; -@@ -203,7 +203,7 @@ static void fail_mirror(struct mirror *m +@@ -185,7 +185,7 @@ static struct mirror *get_valid_mirror(s + struct mirror *m; +=20 + for (m =3D ms->mirror; m < ms->mirror + ms->nr_mirrors; m++) +- if (!atomic_read(&m->error_count)) ++ if (!atomic_read_unchecked(&m->error_count)) + return m; +=20 + return NULL; +@@ -217,7 +217,7 @@ static void fail_mirror(struct mirror *m * simple way to tell if a device has encountered * errors. */ @@ -32873,16 +29539,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-raid1.c= linux-2.6.32.48/drivers/md/dm-r =20 if (test_and_set_bit(error_type, &m->error_type)) return; -@@ -225,7 +225,7 @@ static void fail_mirror(struct mirror *m - } -=20 - for (new =3D ms->mirror; new < ms->mirror + ms->nr_mirrors; new++) -- if (!atomic_read(&new->error_count)) { -+ if (!atomic_read_unchecked(&new->error_count)) { - set_default_mirror(new); - break; - } -@@ -363,7 +363,7 @@ static struct mirror *choose_mirror(stru +@@ -408,7 +408,7 @@ static struct mirror *choose_mirror(stru struct mirror *m =3D get_default_mirror(ms); =20 do { @@ -32891,7 +29548,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-raid1.c = linux-2.6.32.48/drivers/md/dm-r return m; =20 if (m-- =3D=3D ms->mirror) -@@ -377,7 +377,7 @@ static int default_ok(struct mirror *m) +@@ -422,7 +422,7 @@ static int default_ok(struct mirror *m) { struct mirror *default_mirror =3D get_default_mirror(m->ms); =20 @@ -32900,7 +29557,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-raid1.c = linux-2.6.32.48/drivers/md/dm-r } =20 static int mirror_available(struct mirror_set *ms, struct bio *bio) -@@ -484,7 +484,7 @@ static void do_reads(struct mirror_set * +@@ -559,7 +559,7 @@ static void do_reads(struct mirror_set * */ if (likely(region_in_sync(ms, region, 1))) m =3D choose_mirror(ms, bio->bi_sector); @@ -32909,7 +29566,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-raid1.c = linux-2.6.32.48/drivers/md/dm-r m =3D NULL; =20 if (likely(m)) -@@ -855,7 +855,7 @@ static int get_mirror(struct mirror_set=20 +@@ -937,7 +937,7 @@ static int get_mirror(struct mirror_set=20 } =20 ms->mirror[mirror].ms =3D ms; @@ -32918,7 +29575,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-raid1.c = linux-2.6.32.48/drivers/md/dm-r ms->mirror[mirror].error_type =3D 0; ms->mirror[mirror].offset =3D offset; =20 -@@ -1241,7 +1241,7 @@ static void mirror_resume(struct dm_targ +@@ -1347,7 +1347,7 @@ static void mirror_resume(struct dm_targ */ static char device_status_char(struct mirror *m) { @@ -32926,10 +29583,10 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-raid1.= c linux-2.6.32.48/drivers/md/dm-r + if (!atomic_read_unchecked(&(m->error_count))) return 'A'; =20 - return (test_bit(DM_RAID1_WRITE_ERROR, &(m->error_type))) ? 'D' : -diff -urNp linux-2.6.32.48/drivers/md/dm-stripe.c linux-2.6.32.48/driver= s/md/dm-stripe.c ---- linux-2.6.32.48/drivers/md/dm-stripe.c 2011-11-12 12:44:29.000000000= -0500 -+++ linux-2.6.32.48/drivers/md/dm-stripe.c 2011-11-12 12:46:45.000000000= -0500 + return (test_bit(DM_RAID1_FLUSH_ERROR, &(m->error_type))) ? 'F' : +diff -urNp linux-3.0.8/drivers/md/dm-stripe.c linux-3.0.8/drivers/md/dm-= stripe.c +--- linux-3.0.8/drivers/md/dm-stripe.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/md/dm-stripe.c 2011-08-23 21:47:55.000000000 -04= 00 @@ -20,7 +20,7 @@ struct stripe { struct dm_dev *dev; sector_t physical_start; @@ -32939,7 +29596,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-stripe.c= linux-2.6.32.48/drivers/md/dm- }; =20 struct stripe_c { -@@ -188,7 +188,7 @@ static int stripe_ctr(struct dm_target * +@@ -192,7 +192,7 @@ static int stripe_ctr(struct dm_target * kfree(sc); return r; } @@ -32948,7 +29605,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-stripe.c= linux-2.6.32.48/drivers/md/dm- } =20 ti->private =3D sc; -@@ -257,7 +257,7 @@ static int stripe_status(struct dm_targe +@@ -314,7 +314,7 @@ static int stripe_status(struct dm_targe DMEMIT("%d ", sc->stripes); for (i =3D 0; i < sc->stripes; i++) { DMEMIT("%s ", sc->stripe[i].dev->name); @@ -32957,7 +29614,7 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-stripe.c= linux-2.6.32.48/drivers/md/dm- 'D' : 'A'; } buffer[i] =3D '\0'; -@@ -304,8 +304,8 @@ static int stripe_end_io(struct dm_targe +@@ -361,8 +361,8 @@ static int stripe_end_io(struct dm_targe */ for (i =3D 0; i < sc->stripes; i++) if (!strcmp(sc->stripe[i].dev->name, major_minor)) { @@ -32966,24 +29623,12 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-stripe= .c linux-2.6.32.48/drivers/md/dm- + atomic_inc_unchecked(&(sc->stripe[i].error_count)); + if (atomic_read_unchecked(&(sc->stripe[i].error_count)) < DM_IO_ERROR_THRESHOLD) - queue_work(kstriped, &sc->kstriped_ws); + schedule_work(&sc->trigger_event); } -diff -urNp linux-2.6.32.48/drivers/md/dm-sysfs.c linux-2.6.32.48/drivers= /md/dm-sysfs.c ---- linux-2.6.32.48/drivers/md/dm-sysfs.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/md/dm-sysfs.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -75,7 +75,7 @@ static struct attribute *dm_attrs[] =3D { - NULL, - }; -=20 --static struct sysfs_ops dm_sysfs_ops =3D { -+static const struct sysfs_ops dm_sysfs_ops =3D { - .show =3D dm_attr_show, - }; -=20 -diff -urNp linux-2.6.32.48/drivers/md/dm-table.c linux-2.6.32.48/drivers= /md/dm-table.c ---- linux-2.6.32.48/drivers/md/dm-table.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/md/dm-table.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -376,7 +376,7 @@ static int device_area_is_invalid(struct +diff -urNp linux-3.0.8/drivers/md/dm-table.c linux-3.0.8/drivers/md/dm-t= able.c +--- linux-3.0.8/drivers/md/dm-table.c 2011-10-24 08:05:32.000000000 -040= 0 ++++ linux-3.0.8/drivers/md/dm-table.c 2011-10-17 23:17:19.000000000 -040= 0 +@@ -390,7 +390,7 @@ static int device_area_is_invalid(struct if (!dev_size) return 0; =20 @@ -32992,10 +29637,10 @@ diff -urNp linux-2.6.32.48/drivers/md/dm-table.= c linux-2.6.32.48/drivers/md/dm-t DMWARN("%s: %s too small for target: " "start=3D%llu, len=3D%llu, dev_size=3D%llu", dm_device_name(ti->table->md), bdevname(bdev, b), -diff -urNp linux-2.6.32.48/drivers/md/md.c linux-2.6.32.48/drivers/md/md= .c ---- linux-2.6.32.48/drivers/md/md.c 2011-11-12 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/md/md.c 2011-11-12 12:46:45.000000000 -0500 -@@ -153,10 +153,10 @@ static int start_readonly; +diff -urNp linux-3.0.8/drivers/md/md.c linux-3.0.8/drivers/md/md.c +--- linux-3.0.8/drivers/md/md.c 2011-10-24 08:05:32.000000000 -0400 ++++ linux-3.0.8/drivers/md/md.c 2011-10-17 23:17:19.000000000 -0400 +@@ -231,10 +231,10 @@ EXPORT_SYMBOL_GPL(bio_clone_mddev); * start build, activate spare */ static DECLARE_WAIT_QUEUE_HEAD(md_event_waiters); @@ -33008,7 +29653,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c wake_up(&md_event_waiters); } EXPORT_SYMBOL_GPL(md_new_event); -@@ -166,7 +166,7 @@ EXPORT_SYMBOL_GPL(md_new_event); +@@ -244,7 +244,7 @@ EXPORT_SYMBOL_GPL(md_new_event); */ static void md_new_event_inintr(mddev_t *mddev) { @@ -33017,7 +29662,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c wake_up(&md_event_waiters); } =20 -@@ -1226,7 +1226,7 @@ static int super_1_load(mdk_rdev_t *rdev +@@ -1475,7 +1475,7 @@ static int super_1_load(mdk_rdev_t *rdev =20 rdev->preferred_minor =3D 0xffff; rdev->data_offset =3D le64_to_cpu(sb->data_offset); @@ -33026,7 +29671,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c =20 rdev->sb_size =3D le32_to_cpu(sb->max_dev) * 2 + 256; bmask =3D queue_logical_block_size(rdev->bdev->bd_disk->queue)-1; -@@ -1400,7 +1400,7 @@ static void super_1_sync(mddev_t *mddev, +@@ -1653,7 +1653,7 @@ static void super_1_sync(mddev_t *mddev, else sb->resync_offset =3D cpu_to_le64(0); =20 @@ -33035,7 +29680,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c =20 sb->raid_disks =3D cpu_to_le32(mddev->raid_disks); sb->size =3D cpu_to_le64(mddev->dev_sectors); -@@ -2222,7 +2222,7 @@ __ATTR(state, S_IRUGO|S_IWUSR, state_sho +@@ -2446,7 +2446,7 @@ __ATTR(state, S_IRUGO|S_IWUSR, state_sho static ssize_t errors_show(mdk_rdev_t *rdev, char *page) { @@ -33044,7 +29689,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c } =20 static ssize_t -@@ -2231,7 +2231,7 @@ errors_store(mdk_rdev_t *rdev, const cha +@@ -2455,7 +2455,7 @@ errors_store(mdk_rdev_t *rdev, const cha char *e; unsigned long n =3D simple_strtoul(buf, &e, 10); if (*buf && (*e =3D=3D 0 || *e =3D=3D '\n')) { @@ -33053,46 +29698,18 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linu= x-2.6.32.48/drivers/md/md.c return len; } return -EINVAL; -@@ -2525,7 +2525,7 @@ static void rdev_free(struct kobject *ko - mdk_rdev_t *rdev =3D container_of(ko, mdk_rdev_t, kobj); - kfree(rdev); - } --static struct sysfs_ops rdev_sysfs_ops =3D { -+static const struct sysfs_ops rdev_sysfs_ops =3D { - .show =3D rdev_attr_show, - .store =3D rdev_attr_store, - }; -@@ -2574,8 +2574,8 @@ static mdk_rdev_t *md_import_device(dev_ - rdev->data_offset =3D 0; - rdev->sb_events =3D 0; +@@ -2811,8 +2811,8 @@ void md_rdev_init(mdk_rdev_t *rdev) + rdev->last_read_error.tv_sec =3D 0; + rdev->last_read_error.tv_nsec =3D 0; atomic_set(&rdev->nr_pending, 0); - atomic_set(&rdev->read_errors, 0); - atomic_set(&rdev->corrected_errors, 0); + atomic_set_unchecked(&rdev->read_errors, 0); + atomic_set_unchecked(&rdev->corrected_errors, 0); =20 - size =3D rdev->bdev->bd_inode->i_size >> BLOCK_SIZE_BITS; - if (!size) { -@@ -3895,7 +3895,7 @@ static void md_free(struct kobject *ko) - kfree(mddev); - } -=20 --static struct sysfs_ops md_sysfs_ops =3D { -+static const struct sysfs_ops md_sysfs_ops =3D { - .show =3D md_attr_show, - .store =3D md_attr_store, - }; -@@ -4482,7 +4482,8 @@ out: - err =3D 0; - blk_integrity_unregister(disk); - md_new_event(mddev); -- sysfs_notify_dirent(mddev->sysfs_state); -+ if (mddev->sysfs_state) -+ sysfs_notify_dirent(mddev->sysfs_state); - return err; - } -=20 -@@ -5962,7 +5963,7 @@ static int md_seq_show(struct seq_file * + INIT_LIST_HEAD(&rdev->same_set); + init_waitqueue_head(&rdev->blocked_wait); +@@ -6440,7 +6440,7 @@ static int md_seq_show(struct seq_file * =20 spin_unlock(&pers_lock); seq_printf(seq, "\n"); @@ -33101,7 +29718,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c return 0; } if (v =3D=3D (void*)2) { -@@ -6051,7 +6052,7 @@ static int md_seq_show(struct seq_file * +@@ -6529,7 +6529,7 @@ static int md_seq_show(struct seq_file * chunk_kb ? "KB" : "B"); if (bitmap->file) { seq_printf(seq, ", file: "); @@ -33110,7 +29727,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c } =20 seq_printf(seq, "\n"); -@@ -6085,7 +6086,7 @@ static int md_seq_open(struct inode *ino +@@ -6563,7 +6563,7 @@ static int md_seq_open(struct inode *ino else { struct seq_file *p =3D file->private_data; p->private =3D mi; @@ -33119,7 +29736,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c } return error; } -@@ -6101,7 +6102,7 @@ static unsigned int mdstat_poll(struct f +@@ -6579,7 +6579,7 @@ static unsigned int mdstat_poll(struct f /* always allow read */ mask =3D POLLIN | POLLRDNORM; =20 @@ -33128,7 +29745,7 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linux-= 2.6.32.48/drivers/md/md.c mask |=3D POLLERR | POLLPRI; return mask; } -@@ -6145,7 +6146,7 @@ static int is_mddev_idle(mddev_t *mddev, +@@ -6623,7 +6623,7 @@ static int is_mddev_idle(mddev_t *mddev, struct gendisk *disk =3D rdev->bdev->bd_contains->bd_disk; curr_events =3D (int)part_stat_read(&disk->part0, sectors[0]) + (int)part_stat_read(&disk->part0, sectors[1]) - @@ -33137,10 +29754,10 @@ diff -urNp linux-2.6.32.48/drivers/md/md.c linu= x-2.6.32.48/drivers/md/md.c /* sync IO will cause sync_io to increase before the disk_stats * as sync_io is counted when a request starts, and * disk_stats is counted when it completes. -diff -urNp linux-2.6.32.48/drivers/md/md.h linux-2.6.32.48/drivers/md/md= .h ---- linux-2.6.32.48/drivers/md/md.h 2011-11-12 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/md/md.h 2011-11-12 12:46:45.000000000 -0500 -@@ -94,10 +94,10 @@ struct mdk_rdev_s +diff -urNp linux-3.0.8/drivers/md/md.h linux-3.0.8/drivers/md/md.h +--- linux-3.0.8/drivers/md/md.h 2011-10-24 08:05:32.000000000 -0400 ++++ linux-3.0.8/drivers/md/md.h 2011-10-17 23:17:19.000000000 -0400 +@@ -97,13 +97,13 @@ struct mdk_rdev_s * only maintained for arrays that * support hot removal */ @@ -33148,12 +29765,15 @@ diff -urNp linux-2.6.32.48/drivers/md/md.h linu= x-2.6.32.48/drivers/md/md.h + atomic_unchecked_t read_errors; /* number of consecutive read errors t= hat * we have tried to ignore. */ + struct timespec last_read_error; /* monotonic time since our + * last read error + */ - atomic_t corrected_errors; /* number of corrected read errors, + atomic_unchecked_t corrected_errors; /* number of corrected read error= s, * for reporting to userspace and storing * in superblock. */ -@@ -304,7 +304,7 @@ static inline void rdev_dec_pending(mdk_ +@@ -344,7 +344,7 @@ static inline void rdev_dec_pending(mdk_ =20 static inline void md_sync_acct(struct block_device *bdev, unsigned lon= g nr_sectors) { @@ -33162,10 +29782,10 @@ diff -urNp linux-2.6.32.48/drivers/md/md.h linu= x-2.6.32.48/drivers/md/md.h } =20 struct mdk_personality -diff -urNp linux-2.6.32.48/drivers/md/raid10.c linux-2.6.32.48/drivers/m= d/raid10.c ---- linux-2.6.32.48/drivers/md/raid10.c 2011-11-12 12:44:29.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/md/raid10.c 2011-11-12 12:46:45.000000000 -0= 500 -@@ -1255,7 +1255,7 @@ static void end_sync_read(struct bio *bi +diff -urNp linux-3.0.8/drivers/md/raid10.c linux-3.0.8/drivers/md/raid10= .c +--- linux-3.0.8/drivers/md/raid10.c 2011-10-24 08:05:32.000000000 -0400 ++++ linux-3.0.8/drivers/md/raid10.c 2011-10-17 23:17:19.000000000 -0400 +@@ -1186,7 +1186,7 @@ static void end_sync_read(struct bio *bi if (test_bit(BIO_UPTODATE, &bio->bi_flags)) set_bit(R10BIO_Uptodate, &r10_bio->state); else { @@ -33174,40 +29794,81 @@ diff -urNp linux-2.6.32.48/drivers/md/raid10.c = linux-2.6.32.48/drivers/md/raid10 &conf->mirrors[d].rdev->corrected_errors); if (!test_bit(MD_RECOVERY_SYNC, &conf->mddev->recovery)) md_error(r10_bio->mddev, +@@ -1394,7 +1394,7 @@ static void check_decay_read_errors(mdde + { + struct timespec cur_time_mon; + unsigned long hours_since_last; +- unsigned int read_errors =3D atomic_read(&rdev->read_errors); ++ unsigned int read_errors =3D atomic_read_unchecked(&rdev->read_errors)= ; +=20 + ktime_get_ts(&cur_time_mon); +=20 +@@ -1416,9 +1416,9 @@ static void check_decay_read_errors(mdde + * overflowing the shift of read_errors by hours_since_last. + */ + if (hours_since_last >=3D 8 * sizeof(read_errors)) +- atomic_set(&rdev->read_errors, 0); ++ atomic_set_unchecked(&rdev->read_errors, 0); + else +- atomic_set(&rdev->read_errors, read_errors >> hours_since_last); ++ atomic_set_unchecked(&rdev->read_errors, read_errors >> hours_since_l= ast); + } +=20 + /* +@@ -1448,8 +1448,8 @@ static void fix_read_error(conf_t *conf, + return; +=20 + check_decay_read_errors(mddev, rdev); +- atomic_inc(&rdev->read_errors); +- if (atomic_read(&rdev->read_errors) > max_read_errors) { ++ atomic_inc_unchecked(&rdev->read_errors); ++ if (atomic_read_unchecked(&rdev->read_errors) > max_read_errors) { + char b[BDEVNAME_SIZE]; + bdevname(rdev->bdev, b); +=20 +@@ -1457,7 +1457,7 @@ static void fix_read_error(conf_t *conf, + "md/raid10:%s: %s: Raid device exceeded " + "read_error threshold [cur %d:max %d]\n", + mdname(mddev), b, +- atomic_read(&rdev->read_errors), max_read_errors); ++ atomic_read_unchecked(&rdev->read_errors), max_read_errors); + printk(KERN_NOTICE + "md/raid10:%s: %s: Failing raid device\n", + mdname(mddev), b); @@ -1520,7 +1520,7 @@ static void fix_read_error(conf_t *conf, test_bit(In_sync, &rdev->flags)) { atomic_inc(&rdev->nr_pending); rcu_read_unlock(); - atomic_add(s, &rdev->corrected_errors); + atomic_add_unchecked(s, &rdev->corrected_errors); - if (sync_page_io(rdev->bdev, + if (sync_page_io(rdev, r10_bio->devs[sl].addr + - sect + rdev->data_offset, -diff -urNp linux-2.6.32.48/drivers/md/raid1.c linux-2.6.32.48/drivers/md= /raid1.c ---- linux-2.6.32.48/drivers/md/raid1.c 2011-11-12 12:44:29.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/md/raid1.c 2011-11-12 12:46:45.000000000 -05= 00 -@@ -1415,7 +1415,7 @@ static void sync_request_write(mddev_t * - if (r1_bio->bios[d]->bi_end_io !=3D end_sync_read) - continue; - rdev =3D conf->mirrors[d].rdev; -- atomic_add(s, &rdev->corrected_errors); -+ atomic_add_unchecked(s, &rdev->corrected_errors); - if (sync_page_io(rdev->bdev, - sect + rdev->data_offset, - s<<9, -@@ -1564,7 +1564,7 @@ static void fix_read_error(conf_t *conf, + sect, +diff -urNp linux-3.0.8/drivers/md/raid1.c linux-3.0.8/drivers/md/raid1.c +--- linux-3.0.8/drivers/md/raid1.c 2011-10-24 08:05:32.000000000 -0400 ++++ linux-3.0.8/drivers/md/raid1.c 2011-10-17 23:17:19.000000000 -0400 +@@ -1263,7 +1263,7 @@ static int fix_sync_read_error(r1bio_t * + rdev_dec_pending(rdev, mddev); + md_error(mddev, rdev); + } else +- atomic_add(s, &rdev->corrected_errors); ++ atomic_add_unchecked(s, &rdev->corrected_errors); + } + d =3D start; + while (d !=3D r1_bio->read_disk) { +@@ -1492,7 +1492,7 @@ static void fix_read_error(conf_t *conf, /* Well, this device is dead */ md_error(mddev, rdev); else { - atomic_add(s, &rdev->corrected_errors); + atomic_add_unchecked(s, &rdev->corrected_errors); printk(KERN_INFO - "raid1:%s: read error corrected " + "md/raid1:%s: read error corrected " "(%d sectors at %llu on %s)\n", -diff -urNp linux-2.6.32.48/drivers/md/raid5.c linux-2.6.32.48/drivers/md= /raid5.c ---- linux-2.6.32.48/drivers/md/raid5.c 2011-11-12 12:44:29.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/md/raid5.c 2011-11-12 12:46:45.000000000 -05= 00 -@@ -482,7 +482,7 @@ static void ops_run_io(struct stripe_hea +diff -urNp linux-3.0.8/drivers/md/raid5.c linux-3.0.8/drivers/md/raid5.c +--- linux-3.0.8/drivers/md/raid5.c 2011-10-24 08:05:32.000000000 -0400 ++++ linux-3.0.8/drivers/md/raid5.c 2011-10-17 23:17:19.000000000 -0400 +@@ -550,7 +550,7 @@ static void ops_run_io(struct stripe_hea bi->bi_next =3D NULL; if ((rw & WRITE) && test_bit(R5_ReWrite, &sh->dev[i].flags)) @@ -33216,7 +29877,7 @@ diff -urNp linux-2.6.32.48/drivers/md/raid5.c lin= ux-2.6.32.48/drivers/md/raid5.c &rdev->corrected_errors); generic_make_request(bi); } else { -@@ -1517,15 +1517,15 @@ static void raid5_end_read_request(struc +@@ -1596,15 +1596,15 @@ static void raid5_end_read_request(struc clear_bit(R5_ReadError, &sh->dev[i].flags); clear_bit(R5_ReWrite, &sh->dev[i].flags); } @@ -33234,8 +29895,8 @@ diff -urNp linux-2.6.32.48/drivers/md/raid5.c lin= ux-2.6.32.48/drivers/md/raid5.c + atomic_inc_unchecked(&rdev->read_errors); if (conf->mddev->degraded >=3D conf->max_degraded) printk_rl(KERN_WARNING - "raid5:%s: read error not correctable " -@@ -1543,7 +1543,7 @@ static void raid5_end_read_request(struc + "md/raid:%s: read error not correctable " +@@ -1622,7 +1622,7 @@ static void raid5_end_read_request(struc (unsigned long long)(sh->sector + rdev->data_offset), bdn); @@ -33243,8 +29904,8 @@ diff -urNp linux-2.6.32.48/drivers/md/raid5.c lin= ux-2.6.32.48/drivers/md/raid5.c + else if (atomic_read_unchecked(&rdev->read_errors) > conf->max_nr_stripes) printk(KERN_WARNING - "raid5:%s: Too many read errors, failing device %s.\n", -@@ -1870,6 +1870,7 @@ static sector_t compute_blocknr(struct s + "md/raid:%s: Too many read errors, failing device %s.\n", +@@ -1945,6 +1945,7 @@ static sector_t compute_blocknr(struct s sector_t r_sector; struct stripe_head sh2; =20 @@ -33252,9 +29913,9 @@ diff -urNp linux-2.6.32.48/drivers/md/raid5.c lin= ux-2.6.32.48/drivers/md/raid5.c =20 chunk_offset =3D sector_div(new_sector, sectors_per_chunk); stripe =3D new_sector; -diff -urNp linux-2.6.32.48/drivers/media/common/saa7146_hlp.c linux-2.6.= 32.48/drivers/media/common/saa7146_hlp.c ---- linux-2.6.32.48/drivers/media/common/saa7146_hlp.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/common/saa7146_hlp.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/media/common/saa7146_hlp.c linux-3.0.8/dr= ivers/media/common/saa7146_hlp.c +--- linux-3.0.8/drivers/media/common/saa7146_hlp.c 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/media/common/saa7146_hlp.c 2011-08-23 21:48:14.0= 00000000 -0400 @@ -353,6 +353,8 @@ static void calculate_clipping_registers =20 int x[32], y[32], w[32], h[32]; @@ -33264,9 +29925,9 @@ diff -urNp linux-2.6.32.48/drivers/media/common/s= aa7146_hlp.c linux-2.6.32.48/dr /* clear out memory */ memset(&line_list[0], 0x00, sizeof(u32)*32); memset(&pixel_list[0], 0x00, sizeof(u32)*32); -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_ca_en50221.c l= inux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_ca_en50221.c ---- linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2009-12-= 02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-11-= 12 12:46:45.000000000 -0500 +diff -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 +--- linux-3.0.8/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-07-21 2= 2:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-08-23 2= 1:48:14.000000000 -0400 @@ -590,6 +590,8 @@ static int dvb_ca_en50221_read_data(stru u8 buf[HOST_LINK_BUF_SIZE]; int i; @@ -33285,10 +29946,16 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/dv= b-core/dvb_ca_en50221.c linux-2.6 dprintk("%s\n", __func__); =20 /* Incoming packet has a 2 byte header. hdr[0] =3D slot_id, hdr[1] =3D= connection_id */ -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_demux.h linux-= 2.6.32.48/drivers/media/dvb/dvb-core/dvb_demux.h ---- linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_demux.h 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-core/dvb_demux.h 2011-11-12 12= :46:45.000000000 -0500 -@@ -71,7 +71,7 @@ struct dvb_demux_feed { +diff -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 +--- linux-3.0.8/drivers/media/dvb/dvb-core/dvb_demux.h 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/dvb-core/dvb_demux.h 2011-08-24 18:24:= 40.000000000 -0400 +@@ -68,12 +68,12 @@ struct dvb_demux_feed { + union { + struct dmx_ts_feed ts; + struct dmx_section_feed sec; +- } feed; ++ } __no_const feed; +=20 union { dmx_ts_cb ts; dmx_section_cb sec; @@ -33297,10 +29964,10 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/dv= b-core/dvb_demux.h linux-2.6.32.4 =20 struct dvb_demux *demux; void *priv; -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-core/dvbdev.c linux-2.6= .32.48/drivers/media/dvb/dvb-core/dvbdev.c ---- linux-2.6.32.48/drivers/media/dvb/dvb-core/dvbdev.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-core/dvbdev.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -191,7 +191,7 @@ int dvb_register_device(struct dvb_adapt +diff -urNp linux-3.0.8/drivers/media/dvb/dvb-core/dvbdev.c linux-3.0.8/d= rivers/media/dvb/dvb-core/dvbdev.c +--- linux-3.0.8/drivers/media/dvb/dvb-core/dvbdev.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/dvb-core/dvbdev.c 2011-08-24 18:24:19.= 000000000 -0400 +@@ -192,7 +192,7 @@ int dvb_register_device(struct dvb_adapt const struct dvb_device *template, void *priv, int type) { struct dvb_device *dvbdev; @@ -33309,10 +29976,10 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/dv= b-core/dvbdev.c linux-2.6.32.48/d struct device *clsdev; int minor; int id; -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-usb/cxusb.c linux-2.6.3= 2.48/drivers/media/dvb/dvb-usb/cxusb.c ---- linux-2.6.32.48/drivers/media/dvb/dvb-usb/cxusb.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-usb/cxusb.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -1040,7 +1040,7 @@ static struct dib0070_config dib7070p_di +diff -urNp linux-3.0.8/drivers/media/dvb/dvb-usb/cxusb.c linux-3.0.8/dri= vers/media/dvb/dvb-usb/cxusb.c +--- linux-3.0.8/drivers/media/dvb/dvb-usb/cxusb.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/dvb-usb/cxusb.c 2011-08-24 18:26:33.00= 0000000 -0400 +@@ -1059,7 +1059,7 @@ static struct dib0070_config dib7070p_di struct dib0700_adapter_state { int (*set_param_save) (struct dvb_frontend *, struct dvb_frontend_parameters *); @@ -33321,45 +29988,105 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/d= vb-usb/cxusb.c linux-2.6.32.48/dri =20 static int dib7070_set_param_override(struct dvb_frontend *fe, struct dvb_frontend_parameters *fep) -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_core.c linu= x-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_core.c ---- linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_core.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-11-12 = 12:46:45.000000000 -0500 -@@ -332,6 +332,8 @@ int dib0700_download_firmware(struct usb -=20 - u8 buf[260]; +diff -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 +--- linux-3.0.8/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-07-21 22:1= 7:23.000000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-08-23 21:4= 8:14.000000000 -0400 +@@ -434,6 +434,8 @@ int dib0700_download_firmware(struct usb + if (!buf) + return -ENOMEM; =20 + pax_track_stack(); + while ((ret =3D dvb_usb_get_hexline(fw, &hx, &pos)) > 0) { - deb_fwdata("writing to address 0x%08x (buffer: 0x%02x %02x)\n",hx.add= r, hx.len, hx.chk); -=20 -diff -urNp linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_devices.c l= inux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_devices.c ---- linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_devices.c 2011-11-= 12 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/dvb-usb/dib0700_devices.c 2011-11-= 12 12:46:45.000000000 -0500 -@@ -28,7 +28,7 @@ MODULE_PARM_DESC(force_lna_activation, " + deb_fwdata("writing to address 0x%08x (buffer: 0x%02x %02x)\n", + hx.addr, hx.len, hx.chk); +diff -urNp linux-3.0.8/drivers/media/dvb/dvb-usb/dibusb.h linux-3.0.8/dr= ivers/media/dvb/dvb-usb/dibusb.h +--- linux-3.0.8/drivers/media/dvb/dvb-usb/dibusb.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/dvb-usb/dibusb.h 2011-08-24 18:27:27.0= 00000000 -0400 +@@ -97,7 +97,7 @@ + #define DIBUSB_IOCTL_CMD_DISABLE_STREAM 0x02 +=20 + struct dibusb_state { +- struct dib_fe_xfer_ops ops; ++ dib_fe_xfer_ops_no_const ops; + int mt2060_present; + u8 tuner_addr; + }; +diff -urNp linux-3.0.8/drivers/media/dvb/dvb-usb/dw2102.c linux-3.0.8/dr= ivers/media/dvb/dvb-usb/dw2102.c +--- linux-3.0.8/drivers/media/dvb/dvb-usb/dw2102.c 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/dvb-usb/dw2102.c 2011-08-24 18:27:45.0= 00000000 -0400 +@@ -95,7 +95,7 @@ struct su3000_state { =20 - struct dib0700_adapter_state { - int (*set_param_save) (struct dvb_frontend *, struct dvb_frontend_para= meters *); + struct s6x0_state { + int (*old_set_voltage)(struct dvb_frontend *f, fe_sec_voltage_t v); -}; +} __no_const; =20 - /* Hauppauge Nova-T 500 (aka Bristol) - * has a LNA on GPIO0 which is enabled by setting 1 */ -diff -urNp linux-2.6.32.48/drivers/media/dvb/frontends/dib3000.h linux-2= .6.32.48/drivers/media/dvb/frontends/dib3000.h ---- linux-2.6.32.48/drivers/media/dvb/frontends/dib3000.h 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/frontends/dib3000.h 2011-11-12 12:= 46:45.000000000 -0500 -@@ -39,7 +39,7 @@ struct dib_fe_xfer_ops - int (*fifo_ctrl)(struct dvb_frontend *fe, int onoff); + /* debug */ + static int dvb_usb_dw2102_debug; +diff -urNp linux-3.0.8/drivers/media/dvb/dvb-usb/lmedm04.c linux-3.0.8/d= rivers/media/dvb/dvb-usb/lmedm04.c +--- linux-3.0.8/drivers/media/dvb/dvb-usb/lmedm04.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/dvb-usb/lmedm04.c 2011-08-23 21:48:14.= 000000000 -0400 +@@ -742,6 +742,7 @@ static int lme2510_download_firmware(str + usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), + 0x06, 0x80, 0x0200, 0x00, data, 0x0109, 1000); +=20 ++ pax_track_stack(); +=20 + data[0] =3D 0x8a; + len_in =3D 1; +@@ -764,6 +765,8 @@ static void lme_coldreset(struct usb_dev + int ret =3D 0, len_in; + u8 data[512] =3D {0}; +=20 ++ pax_track_stack(); ++ + data[0] =3D 0x0a; + len_in =3D 1; + info("FRM Firmware Cold Reset"); +diff -urNp linux-3.0.8/drivers/media/dvb/frontends/dib3000.h linux-3.0.8= /drivers/media/dvb/frontends/dib3000.h +--- linux-3.0.8/drivers/media/dvb/frontends/dib3000.h 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/frontends/dib3000.h 2011-10-07 19:07:3= 9.000000000 -0400 +@@ -40,10 +40,11 @@ struct dib_fe_xfer_ops int (*pid_ctrl)(struct dvb_frontend *fe, int index, int pid, int onoff= ); int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl= ); --}; -+} __no_const; + }; ++typedef struct dib_fe_xfer_ops __no_const dib_fe_xfer_ops_no_const; =20 #if defined(CONFIG_DVB_DIB3000MB) || (defined(CONFIG_DVB_DIB3000MB_MODU= LE) && defined(MODULE)) extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_confi= g* config, -diff -urNp linux-2.6.32.48/drivers/media/dvb/frontends/or51211.c linux-2= .6.32.48/drivers/media/dvb/frontends/or51211.c ---- linux-2.6.32.48/drivers/media/dvb/frontends/or51211.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/dvb/frontends/or51211.c 2011-11-12 12:= 46:45.000000000 -0500 +- struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops); ++ struct i2c_adapter* i2c, dib_fe_xfer_ops_no_const *xfer_ops); + #else + static inline struct dvb_frontend* dib3000mb_attach(const struct dib300= 0_config* config, + struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops) +diff -urNp linux-3.0.8/drivers/media/dvb/frontends/dib3000mb.c linux-3.0= .8/drivers/media/dvb/frontends/dib3000mb.c +--- linux-3.0.8/drivers/media/dvb/frontends/dib3000mb.c 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/frontends/dib3000mb.c 2011-08-24 18:28= :42.000000000 -0400 +@@ -756,7 +756,7 @@ static int dib3000mb_tuner_pass_ctrl(str + static struct dvb_frontend_ops dib3000mb_ops; +=20 + struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* conf= ig, +- struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops) ++ struct i2c_adapter* i2c, dib_fe_xfer_ops_no_const *xfer_ops) + { + struct dib3000_state* state =3D NULL; +=20 +diff -urNp linux-3.0.8/drivers/media/dvb/frontends/mb86a16.c linux-3.0.8= /drivers/media/dvb/frontends/mb86a16.c +--- linux-3.0.8/drivers/media/dvb/frontends/mb86a16.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/frontends/mb86a16.c 2011-08-23 21:48:1= 4.000000000 -0400 +@@ -1060,6 +1060,8 @@ static int mb86a16_set_fe(struct mb86a16 + int ret =3D -1; + int sync; +=20 ++ pax_track_stack(); ++ + dprintk(verbose, MB86A16_INFO, 1, "freq=3D%d Mhz, symbrt=3D%d Ksps", s= tate->frequency, state->srate); +=20 + fcp =3D 3000; +diff -urNp linux-3.0.8/drivers/media/dvb/frontends/or51211.c linux-3.0.8= /drivers/media/dvb/frontends/or51211.c +--- linux-3.0.8/drivers/media/dvb/frontends/or51211.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/frontends/or51211.c 2011-08-23 21:48:1= 4.000000000 -0400 @@ -113,6 +113,8 @@ static int or51211_load_firmware (struct u8 tudata[585]; int i; @@ -33369,31 +30096,22 @@ diff -urNp linux-2.6.32.48/drivers/media/dvb/fr= ontends/or51211.c linux-2.6.32.48 dprintk("Firmware is %zd bytes\n",fw->size); =20 /* Get eprom data */ -diff -urNp linux-2.6.32.48/drivers/media/radio/radio-cadet.c linux-2.6.3= 2.48/drivers/media/radio/radio-cadet.c ---- linux-2.6.32.48/drivers/media/radio/radio-cadet.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/radio/radio-cadet.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -347,7 +347,7 @@ static ssize_t cadet_read(struct file *f - while (i < count && dev->rdsin !=3D dev->rdsout) - readbuf[i++] =3D dev->rdsbuf[dev->rdsout++]; -=20 -- if (copy_to_user(data, readbuf, i)) -+ if (i > sizeof readbuf || copy_to_user(data, readbuf, i)) - return -EFAULT; - return i; - } -diff -urNp linux-2.6.32.48/drivers/media/video/cx18/cx18-driver.c linux-= 2.6.32.48/drivers/media/video/cx18/cx18-driver.c ---- linux-2.6.32.48/drivers/media/video/cx18/cx18-driver.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/cx18/cx18-driver.c 2011-11-12 12= :46:45.000000000 -0500 -@@ -56,7 +56,7 @@ static struct pci_device_id cx18_pci_tbl -=20 - MODULE_DEVICE_TABLE(pci, cx18_pci_tbl); -=20 --static atomic_t cx18_instance =3D ATOMIC_INIT(0); -+static atomic_unchecked_t cx18_instance =3D ATOMIC_INIT(0); -=20 - /* Parameter declarations */ - static int cardtype[CX18_MAX_CARDS]; -@@ -288,6 +288,8 @@ void cx18_read_eeprom(struct cx18 *cx, s +diff -urNp linux-3.0.8/drivers/media/dvb/ngene/ngene-cards.c linux-3.0.8= /drivers/media/dvb/ngene/ngene-cards.c +--- linux-3.0.8/drivers/media/dvb/ngene/ngene-cards.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/media/dvb/ngene/ngene-cards.c 2011-10-11 10:44:3= 3.000000000 -0400 +@@ -379,7 +379,7 @@ static struct ngene_info ngene_info_m780 +=20 + /**********************************************************************= ******/ +=20 +-static const struct pci_device_id ngene_id_tbl[] __devinitdata =3D { ++static const struct pci_device_id ngene_id_tbl[] __devinitconst =3D { + NGENE_ID(0x18c3, 0xabc3, ngene_info_cineS2), + NGENE_ID(0x18c3, 0xabc4, ngene_info_cineS2), + NGENE_ID(0x18c3, 0xdb01, ngene_info_satixS2), +diff -urNp linux-3.0.8/drivers/media/video/cx18/cx18-driver.c linux-3.0.= 8/drivers/media/video/cx18/cx18-driver.c +--- linux-3.0.8/drivers/media/video/cx18/cx18-driver.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/media/video/cx18/cx18-driver.c 2011-08-23 21:48:= 14.000000000 -0400 +@@ -327,6 +327,8 @@ void cx18_read_eeprom(struct cx18 *cx, s struct i2c_client c; u8 eedata[256]; =20 @@ -33402,55 +30120,34 @@ diff -urNp linux-2.6.32.48/drivers/media/video/= cx18/cx18-driver.c linux-2.6.32.4 memset(&c, 0, sizeof(c)); strlcpy(c.name, "cx18 tveeprom tmp", sizeof(c.name)); c.adapter =3D &cx->i2c_adap[0]; -@@ -800,7 +802,7 @@ static int __devinit cx18_probe(struct p - struct cx18 *cx; -=20 - /* FIXME - module parameter arrays constrain max instances */ -- i =3D atomic_inc_return(&cx18_instance) - 1; -+ i =3D atomic_inc_return_unchecked(&cx18_instance) - 1; - if (i >=3D CX18_MAX_CARDS) { - printk(KERN_ERR "cx18: cannot manage card %d, driver has a " - "limit of 0 - %d\n", i, CX18_MAX_CARDS - 1); -diff -urNp linux-2.6.32.48/drivers/media/video/ivtv/ivtv-driver.c linux-= 2.6.32.48/drivers/media/video/ivtv/ivtv-driver.c ---- linux-2.6.32.48/drivers/media/video/ivtv/ivtv-driver.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/ivtv/ivtv-driver.c 2011-11-12 12= :46:45.000000000 -0500 -@@ -79,7 +79,7 @@ static struct pci_device_id ivtv_pci_tbl - MODULE_DEVICE_TABLE(pci,ivtv_pci_tbl); -=20 - /* ivtv instance counter */ --static atomic_t ivtv_instance =3D ATOMIC_INIT(0); -+static atomic_unchecked_t ivtv_instance =3D ATOMIC_INIT(0); -=20 - /* Parameter declarations */ - static int cardtype[IVTV_MAX_CARDS]; -diff -urNp linux-2.6.32.48/drivers/media/video/omap24xxcam.c linux-2.6.3= 2.48/drivers/media/video/omap24xxcam.c ---- linux-2.6.32.48/drivers/media/video/omap24xxcam.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/omap24xxcam.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -401,7 +401,7 @@ static void omap24xxcam_vbq_complete(str - spin_unlock_irqrestore(&cam->core_enable_disable_lock, flags); -=20 - do_gettimeofday(&vb->ts); -- vb->field_count =3D atomic_add_return(2, &fh->field_count); -+ vb->field_count =3D atomic_add_return_unchecked(2, &fh->field_count); - if (csr & csr_error) { - vb->state =3D VIDEOBUF_ERROR; - if (!atomic_read(&fh->cam->in_reset)) { -diff -urNp linux-2.6.32.48/drivers/media/video/omap24xxcam.h linux-2.6.3= 2.48/drivers/media/video/omap24xxcam.h ---- linux-2.6.32.48/drivers/media/video/omap24xxcam.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/omap24xxcam.h 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -533,7 +533,7 @@ struct omap24xxcam_fh { - spinlock_t vbq_lock; /* spinlock for the videobuf queue */ - struct videobuf_queue vbq; - struct v4l2_pix_format pix; /* serialise pix by vbq->lock */ -- atomic_t field_count; /* field counter for videobuf_buffer */ -+ atomic_unchecked_t field_count; /* field counter for videobuf_buffer *= / - /* accessing cam here doesn't need serialisation: it's constant */ - struct omap24xxcam_device *cam; - }; -diff -urNp linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-eeprom.c = linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-eeprom.c ---- linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2009-12= -02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-11= -12 12:46:45.000000000 -0500 -@@ -119,6 +119,8 @@ int pvr2_eeprom_analyze(struct pvr2_hdw=20 +diff -urNp linux-3.0.8/drivers/media/video/cx23885/cx23885-input.c linux= -3.0.8/drivers/media/video/cx23885/cx23885-input.c +--- linux-3.0.8/drivers/media/video/cx23885/cx23885-input.c 2011-07-21 2= 2:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/media/video/cx23885/cx23885-input.c 2011-08-23 2= 1:48:14.000000000 -0400 +@@ -53,6 +53,8 @@ static void cx23885_input_process_measur + bool handle =3D false; + struct ir_raw_event ir_core_event[64]; +=20 ++ pax_track_stack(); ++ + do { + num =3D 0; + v4l2_subdev_call(dev->sd_ir, ir, rx_read, (u8 *) ir_core_event, +diff -urNp linux-3.0.8/drivers/media/video/cx88/cx88-alsa.c linux-3.0.8/= drivers/media/video/cx88/cx88-alsa.c +--- linux-3.0.8/drivers/media/video/cx88/cx88-alsa.c 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/drivers/media/video/cx88/cx88-alsa.c 2011-10-11 10:44:33= .000000000 -0400 +@@ -764,7 +764,7 @@ static struct snd_kcontrol_new snd_cx88_ + * Only boards with eeprom and byte 1 at eeprom=3D1 have it + */ +=20 +-static const struct pci_device_id const cx88_audio_pci_tbl[] __devinitd= ata =3D { ++static const struct pci_device_id const cx88_audio_pci_tbl[] __devinitc= onst =3D { + {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, + {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, + {0, } +diff -urNp linux-3.0.8/drivers/media/video/pvrusb2/pvrusb2-eeprom.c linu= x-3.0.8/drivers/media/video/pvrusb2/pvrusb2-eeprom.c +--- linux-3.0.8/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-07-21 = 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-08-23 = 21:48:14.000000000 -0400 +@@ -120,6 +120,8 @@ int pvr2_eeprom_analyze(struct pvr2_hdw=20 u8 *eeprom; struct tveeprom tvdata; =20 @@ -33459,22 +30156,10 @@ diff -urNp linux-2.6.32.48/drivers/media/video/= pvrusb2/pvrusb2-eeprom.c linux-2. memset(&tvdata,0,sizeof(tvdata)); =20 eeprom =3D pvr2_eeprom_fetch(hdw); -diff -urNp linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-hdw-inter= nal.h linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h ---- linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h 2= 009-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h 2= 011-11-12 12:46:45.000000000 -0500 -@@ -195,7 +195,7 @@ struct pvr2_hdw { -=20 - /* I2C stuff */ - struct i2c_adapter i2c_adap; -- struct i2c_algorithm i2c_algo; -+ i2c_algorithm_no_const i2c_algo; - pvr2_i2c_func i2c_func[PVR2_I2C_FUNC_CNT]; - int i2c_cx25840_hack_state; - int i2c_linked; -diff -urNp linux-2.6.32.48/drivers/media/video/saa7134/saa6752hs.c linux= -2.6.32.48/drivers/media/video/saa7134/saa6752hs.c ---- linux-2.6.32.48/drivers/media/video/saa7134/saa6752hs.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/saa7134/saa6752hs.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -683,6 +683,8 @@ static int saa6752hs_init(struct v4l2_su +diff -urNp linux-3.0.8/drivers/media/video/saa7134/saa6752hs.c linux-3.0= .8/drivers/media/video/saa7134/saa6752hs.c +--- linux-3.0.8/drivers/media/video/saa7134/saa6752hs.c 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/drivers/media/video/saa7134/saa6752hs.c 2011-08-23 21:48= :14.000000000 -0400 +@@ -682,6 +682,8 @@ static int saa6752hs_init(struct v4l2_su unsigned char localPAT[256]; unsigned char localPMT[256]; =20 @@ -33483,11 +30168,11 @@ diff -urNp linux-2.6.32.48/drivers/media/video/= saa7134/saa6752hs.c linux-2.6.32. /* Set video format - must be done first as it resets other settings *= / set_reg8(client, 0x41, h->video_format); =20 -diff -urNp linux-2.6.32.48/drivers/media/video/saa7164/saa7164-cmd.c lin= ux-2.6.32.48/drivers/media/video/saa7164/saa7164-cmd.c ---- linux-2.6.32.48/drivers/media/video/saa7164/saa7164-cmd.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/saa7164/saa7164-cmd.c 2011-11-12= 12:46:45.000000000 -0500 -@@ -87,6 +87,8 @@ int saa7164_irq_dequeue(struct saa7164_d - wait_queue_head_t *q =3D 0; +diff -urNp linux-3.0.8/drivers/media/video/saa7164/saa7164-cmd.c linux-3= .0.8/drivers/media/video/saa7164/saa7164-cmd.c +--- linux-3.0.8/drivers/media/video/saa7164/saa7164-cmd.c 2011-07-21 22:= 17:23.000000000 -0400 ++++ linux-3.0.8/drivers/media/video/saa7164/saa7164-cmd.c 2011-08-23 21:= 48:14.000000000 -0400 +@@ -88,6 +88,8 @@ int saa7164_irq_dequeue(struct saa7164_d + u8 tmp[512]; dprintk(DBGLVL_CMD, "%s()\n", __func__); =20 + pax_track_stack(); @@ -33495,7 +30180,7 @@ diff -urNp linux-2.6.32.48/drivers/media/video/sa= a7164/saa7164-cmd.c linux-2.6.3 /* While any outstand message on the bus exists... */ do { =20 -@@ -126,6 +128,8 @@ int saa7164_cmd_dequeue(struct saa7164_d +@@ -141,6 +143,8 @@ int saa7164_cmd_dequeue(struct saa7164_d u8 tmp[512]; dprintk(DBGLVL_CMD, "%s()\n", __func__); =20 @@ -33503,179 +30188,35 @@ diff -urNp linux-2.6.32.48/drivers/media/video= /saa7164/saa7164-cmd.c linux-2.6.3 + while (loop) { =20 - tmComResInfo_t tRsp =3D { 0, 0, 0, 0, 0, 0 }; -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/ibmcam.c linux-2= .6.32.48/drivers/media/video/usbvideo/ibmcam.c ---- linux-2.6.32.48/drivers/media/video/usbvideo/ibmcam.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/ibmcam.c 2011-11-12 12:= 46:45.000000000 -0500 -@@ -3947,15 +3947,15 @@ static struct usb_device_id id_table[] =3D - static int __init ibmcam_init(void) - { - struct usbvideo_cb cbTbl; -- memset(&cbTbl, 0, sizeof(cbTbl)); -- cbTbl.probe =3D ibmcam_probe; -- cbTbl.setupOnOpen =3D ibmcam_setup_on_open; -- cbTbl.videoStart =3D ibmcam_video_start; -- cbTbl.videoStop =3D ibmcam_video_stop; -- cbTbl.processData =3D ibmcam_ProcessIsocData; -- cbTbl.postProcess =3D usbvideo_DeinterlaceFrame; -- cbTbl.adjustPicture =3D ibmcam_adjust_picture; -- cbTbl.getFPS =3D ibmcam_calculate_fps; -+ memset((void *)&cbTbl, 0, sizeof(cbTbl)); -+ *(void **)&cbTbl.probe =3D ibmcam_probe; -+ *(void **)&cbTbl.setupOnOpen =3D ibmcam_setup_on_open; -+ *(void **)&cbTbl.videoStart =3D ibmcam_video_start; -+ *(void **)&cbTbl.videoStop =3D ibmcam_video_stop; -+ *(void **)&cbTbl.processData =3D ibmcam_ProcessIsocData; -+ *(void **)&cbTbl.postProcess =3D usbvideo_DeinterlaceFrame; -+ *(void **)&cbTbl.adjustPicture =3D ibmcam_adjust_picture; -+ *(void **)&cbTbl.getFPS =3D ibmcam_calculate_fps; - return usbvideo_register( - &cams, - MAX_IBMCAM, -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/konicawc.c linux= -2.6.32.48/drivers/media/video/usbvideo/konicawc.c ---- linux-2.6.32.48/drivers/media/video/usbvideo/konicawc.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/konicawc.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -225,7 +225,7 @@ static void konicawc_register_input(stru - int error; -=20 - usb_make_path(dev, cam->input_physname, sizeof(cam->input_physname)); -- strncat(cam->input_physname, "/input0", sizeof(cam->input_physname)); -+ strlcat(cam->input_physname, "/input0", sizeof(cam->input_physname)); -=20 - cam->input =3D input_dev =3D input_allocate_device(); - if (!input_dev) { -@@ -935,16 +935,16 @@ static int __init konicawc_init(void) - struct usbvideo_cb cbTbl; - printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":" - DRIVER_DESC "\n"); -- memset(&cbTbl, 0, sizeof(cbTbl)); -- cbTbl.probe =3D konicawc_probe; -- cbTbl.setupOnOpen =3D konicawc_setup_on_open; -- cbTbl.processData =3D konicawc_process_isoc; -- cbTbl.getFPS =3D konicawc_calculate_fps; -- cbTbl.setVideoMode =3D konicawc_set_video_mode; -- cbTbl.startDataPump =3D konicawc_start_data; -- cbTbl.stopDataPump =3D konicawc_stop_data; -- cbTbl.adjustPicture =3D konicawc_adjust_picture; -- cbTbl.userFree =3D konicawc_free_uvd; -+ memset((void * )&cbTbl, 0, sizeof(cbTbl)); -+ *(void **)&cbTbl.probe =3D konicawc_probe; -+ *(void **)&cbTbl.setupOnOpen =3D konicawc_setup_on_open; -+ *(void **)&cbTbl.processData =3D konicawc_process_isoc; -+ *(void **)&cbTbl.getFPS =3D konicawc_calculate_fps; -+ *(void **)&cbTbl.setVideoMode =3D konicawc_set_video_mode; -+ *(void **)&cbTbl.startDataPump =3D konicawc_start_data; -+ *(void **)&cbTbl.stopDataPump =3D konicawc_stop_data; -+ *(void **)&cbTbl.adjustPicture =3D konicawc_adjust_picture; -+ *(void **)&cbTbl.userFree =3D konicawc_free_uvd; - return usbvideo_register( - &cams, - MAX_CAMERAS, -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/quickcam_messeng= er.c linux-2.6.32.48/drivers/media/video/usbvideo/quickcam_messenger.c ---- linux-2.6.32.48/drivers/media/video/usbvideo/quickcam_messenger.c 20= 09-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/quickcam_messenger.c 20= 11-11-12 12:46:45.000000000 -0500 -@@ -89,7 +89,7 @@ static void qcm_register_input(struct qc - int error; -=20 - usb_make_path(dev, cam->input_physname, sizeof(cam->input_physname)); -- strncat(cam->input_physname, "/input0", sizeof(cam->input_physname)); -+ strlcat(cam->input_physname, "/input0", sizeof(cam->input_physname)); -=20 - cam->input =3D input_dev =3D input_allocate_device(); - if (!input_dev) { -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/ultracam.c linux= -2.6.32.48/drivers/media/video/usbvideo/ultracam.c ---- linux-2.6.32.48/drivers/media/video/usbvideo/ultracam.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/ultracam.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -655,14 +655,14 @@ static int __init ultracam_init(void) - { - struct usbvideo_cb cbTbl; - memset(&cbTbl, 0, sizeof(cbTbl)); -- cbTbl.probe =3D ultracam_probe; -- cbTbl.setupOnOpen =3D ultracam_setup_on_open; -- cbTbl.videoStart =3D ultracam_video_start; -- cbTbl.videoStop =3D ultracam_video_stop; -- cbTbl.processData =3D ultracam_ProcessIsocData; -- cbTbl.postProcess =3D usbvideo_DeinterlaceFrame; -- cbTbl.adjustPicture =3D ultracam_adjust_picture; -- cbTbl.getFPS =3D ultracam_calculate_fps; -+ *(void **)&cbTbl.probe =3D ultracam_probe; -+ *(void **)&cbTbl.setupOnOpen =3D ultracam_setup_on_open; -+ *(void **)&cbTbl.videoStart =3D ultracam_video_start; -+ *(void **)&cbTbl.videoStop =3D ultracam_video_stop; -+ *(void **)&cbTbl.processData =3D ultracam_ProcessIsocData; -+ *(void **)&cbTbl.postProcess =3D usbvideo_DeinterlaceFrame; -+ *(void **)&cbTbl.adjustPicture =3D ultracam_adjust_picture; -+ *(void **)&cbTbl.getFPS =3D ultracam_calculate_fps; - return usbvideo_register( - &cams, - MAX_CAMERAS, -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.c linux= -2.6.32.48/drivers/media/video/usbvideo/usbvideo.c ---- linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -697,15 +697,15 @@ int usbvideo_register( - __func__, cams, base_size, num_cams); -=20 - /* Copy callbacks, apply defaults for those that are not set */ -- memmove(&cams->cb, cbTbl, sizeof(cams->cb)); -+ memmove((void *)&cams->cb, cbTbl, sizeof(cams->cb)); - if (cams->cb.getFrame =3D=3D NULL) -- cams->cb.getFrame =3D usbvideo_GetFrame; -+ *(void **)&cams->cb.getFrame =3D usbvideo_GetFrame; - if (cams->cb.disconnect =3D=3D NULL) -- cams->cb.disconnect =3D usbvideo_Disconnect; -+ *(void **)&cams->cb.disconnect =3D usbvideo_Disconnect; - if (cams->cb.startDataPump =3D=3D NULL) -- cams->cb.startDataPump =3D usbvideo_StartDataPump; -+ *(void **)&cams->cb.startDataPump =3D usbvideo_StartDataPump; - if (cams->cb.stopDataPump =3D=3D NULL) -- cams->cb.stopDataPump =3D usbvideo_StopDataPump; -+ *(void **)&cams->cb.stopDataPump =3D usbvideo_StopDataPump; -=20 - cams->num_cameras =3D num_cams; - cams->cam =3D (struct uvd *) &cams[1]; -diff -urNp linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.h linux= -2.6.32.48/drivers/media/video/usbvideo/usbvideo.h ---- linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvideo/usbvideo.h 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -268,7 +268,7 @@ struct usbvideo_cb { - int (*startDataPump)(struct uvd *uvd); - void (*stopDataPump)(struct uvd *uvd); - int (*setVideoMode)(struct uvd *uvd, struct video_window *vw); --}; -+} __no_const; -=20 - struct usbvideo { - int num_cameras; /* As allocated */ -diff -urNp linux-2.6.32.48/drivers/media/video/usbvision/usbvision-core.= c linux-2.6.32.48/drivers/media/video/usbvision/usbvision-core.c ---- linux-2.6.32.48/drivers/media/video/usbvision/usbvision-core.c 2009-= 12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/usbvision/usbvision-core.c 2011-= 11-12 12:46:45.000000000 -0500 -@@ -820,6 +820,8 @@ static enum ParseState usbvision_parse_c + struct tmComResInfo tRsp =3D { 0, 0, 0, 0, 0, 0 }; +diff -urNp linux-3.0.8/drivers/media/video/timblogiw.c linux-3.0.8/drive= rs/media/video/timblogiw.c +--- linux-3.0.8/drivers/media/video/timblogiw.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/media/video/timblogiw.c 2011-08-24 18:29:20.0000= 00000 -0400 +@@ -745,7 +745,7 @@ static int timblogiw_mmap(struct file *f +=20 + /* Platform device functions */ +=20 +-static __devinitconst struct v4l2_ioctl_ops timblogiw_ioctl_ops =3D { ++static __devinitconst v4l2_ioctl_ops_no_const timblogiw_ioctl_ops =3D { + .vidioc_querycap =3D timblogiw_querycap, + .vidioc_enum_fmt_vid_cap =3D timblogiw_enum_fmt, + .vidioc_g_fmt_vid_cap =3D timblogiw_g_fmt, +diff -urNp linux-3.0.8/drivers/media/video/usbvision/usbvision-core.c li= nux-3.0.8/drivers/media/video/usbvision/usbvision-core.c +--- linux-3.0.8/drivers/media/video/usbvision/usbvision-core.c 2011-07-2= 1 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/media/video/usbvision/usbvision-core.c 2011-08-2= 3 21:48:14.000000000 -0400 +@@ -707,6 +707,8 @@ static enum parse_state usbvision_parse_ unsigned char rv, gv, bv; static unsigned char *Y, *U, *V; =20 + pax_track_stack(); + - frame =3D usbvision->curFrame; - imageSize =3D frame->frmwidth * frame->frmheight; - if ( (frame->v4l2_format.format =3D=3D V4L2_PIX_FMT_YUV422P) || -diff -urNp linux-2.6.32.48/drivers/media/video/v4l2-device.c linux-2.6.3= 2.48/drivers/media/video/v4l2-device.c ---- linux-2.6.32.48/drivers/media/video/v4l2-device.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/v4l2-device.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -50,9 +50,9 @@ int v4l2_device_register(struct device * - EXPORT_SYMBOL_GPL(v4l2_device_register); -=20 - int v4l2_device_set_name(struct v4l2_device *v4l2_dev, const char *base= name, -- atomic_t *instance) -+ atomic_unchecked_t *instance) - { -- int num =3D atomic_inc_return(instance) - 1; -+ int num =3D atomic_inc_return_unchecked(instance) - 1; - int len =3D strlen(basename); -=20 - if (basename[len - 1] >=3D '0' && basename[len - 1] <=3D '9') -diff -urNp linux-2.6.32.48/drivers/media/video/videobuf-dma-sg.c linux-2= .6.32.48/drivers/media/video/videobuf-dma-sg.c ---- linux-2.6.32.48/drivers/media/video/videobuf-dma-sg.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/media/video/videobuf-dma-sg.c 2011-11-12 12:= 46:45.000000000 -0500 -@@ -693,6 +693,8 @@ void *videobuf_sg_alloc(size_t size) + frame =3D usbvision->cur_frame; + image_size =3D frame->frmwidth * frame->frmheight; + if ((frame->v4l2_format.format =3D=3D V4L2_PIX_FMT_YUV422P) || +diff -urNp linux-3.0.8/drivers/media/video/videobuf-dma-sg.c linux-3.0.8= /drivers/media/video/videobuf-dma-sg.c +--- linux-3.0.8/drivers/media/video/videobuf-dma-sg.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/media/video/videobuf-dma-sg.c 2011-08-23 21:48:1= 4.000000000 -0400 +@@ -606,6 +606,8 @@ void *videobuf_sg_alloc(size_t size) { struct videobuf_queue q; =20 @@ -33684,28 +30225,27 @@ diff -urNp linux-2.6.32.48/drivers/media/video/= videobuf-dma-sg.c linux-2.6.32.48 /* Required to make generic handler to call __videobuf_alloc */ q.int_ops =3D &sg_ops; =20 -diff -urNp linux-2.6.32.48/drivers/message/fusion/mptbase.c linux-2.6.32= .48/drivers/message/fusion/mptbase.c ---- linux-2.6.32.48/drivers/message/fusion/mptbase.c 2011-11-12 12:44:29= .000000000 -0500 -+++ linux-2.6.32.48/drivers/message/fusion/mptbase.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -6709,8 +6709,14 @@ procmpt_iocinfo_read(char *buf, char **s - len +=3D sprintf(buf+len, " MaxChainDepth =3D 0x%02x frames\n", ioc->= facts.MaxChainDepth); - len +=3D sprintf(buf+len, " MinBlockSize =3D 0x%02x bytes\n", 4*ioc->= facts.BlockSize); +diff -urNp linux-3.0.8/drivers/message/fusion/mptbase.c linux-3.0.8/driv= ers/message/fusion/mptbase.c +--- linux-3.0.8/drivers/message/fusion/mptbase.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/message/fusion/mptbase.c 2011-08-23 21:48:14.000= 000000 -0400 +@@ -6681,8 +6681,13 @@ static int mpt_iocinfo_proc_show(struct=20 + seq_printf(m, " MaxChainDepth =3D 0x%02x frames\n", ioc->facts.MaxCha= inDepth); + seq_printf(m, " MinBlockSize =3D 0x%02x bytes\n", 4*ioc->facts.BlockS= ize); =20 +#ifdef CONFIG_GRKERNSEC_HIDESYM -+ len +=3D sprintf(buf+len, " RequestFrames @ 0x%p (Dma @ 0x%p)\n", -+ NULL, NULL); ++ seq_printf(m, " RequestFrames @ 0x%p (Dma @ 0x%p)\n", NULL, NULL); +#else - len +=3D sprintf(buf+len, " RequestFrames @ 0x%p (Dma @ 0x%p)\n", + seq_printf(m, " RequestFrames @ 0x%p (Dma @ 0x%p)\n", (void *)ioc->req_frames, (void *)(ulong)ioc->req_frames_dma); +#endif + /* * Rounding UP to nearest 4-kB boundary here... */ -diff -urNp linux-2.6.32.48/drivers/message/fusion/mptsas.c linux-2.6.32.= 48/drivers/message/fusion/mptsas.c ---- linux-2.6.32.48/drivers/message/fusion/mptsas.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/message/fusion/mptsas.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -436,6 +436,23 @@ mptsas_is_end_device(struct mptsas_devin +diff -urNp linux-3.0.8/drivers/message/fusion/mptsas.c linux-3.0.8/drive= rs/message/fusion/mptsas.c +--- linux-3.0.8/drivers/message/fusion/mptsas.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/message/fusion/mptsas.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -439,6 +439,23 @@ mptsas_is_end_device(struct mptsas_devin return 0; } =20 @@ -33729,7 +30269,7 @@ diff -urNp linux-2.6.32.48/drivers/message/fusion= /mptsas.c linux-2.6.32.48/drive /* no mutex */ static void mptsas_port_delete(MPT_ADAPTER *ioc, struct mptsas_portinfo_details * p= ort_details) -@@ -474,23 +491,6 @@ mptsas_get_rphy(struct mptsas_phyinfo *p +@@ -477,23 +494,6 @@ mptsas_get_rphy(struct mptsas_phyinfo *p return NULL; } =20 @@ -33753,10 +30293,10 @@ diff -urNp linux-2.6.32.48/drivers/message/fusi= on/mptsas.c linux-2.6.32.48/drive static inline struct sas_port * mptsas_get_port(struct mptsas_phyinfo *phy_info) { -diff -urNp linux-2.6.32.48/drivers/message/fusion/mptscsih.c linux-2.6.3= 2.48/drivers/message/fusion/mptscsih.c ---- linux-2.6.32.48/drivers/message/fusion/mptscsih.c 2011-11-12 12:44:2= 9.000000000 -0500 -+++ linux-2.6.32.48/drivers/message/fusion/mptscsih.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -1248,15 +1248,16 @@ mptscsih_info(struct Scsi_Host *SChost) +diff -urNp linux-3.0.8/drivers/message/fusion/mptscsih.c linux-3.0.8/dri= vers/message/fusion/mptscsih.c +--- linux-3.0.8/drivers/message/fusion/mptscsih.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/message/fusion/mptscsih.c 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -1268,15 +1268,16 @@ mptscsih_info(struct Scsi_Host *SChost) =20 h =3D shost_priv(SChost); =20 @@ -33781,10 +30321,10 @@ diff -urNp linux-2.6.32.48/drivers/message/fusi= on/mptscsih.c linux-2.6.32.48/dri =20 return h->info_kbuf; } -diff -urNp linux-2.6.32.48/drivers/message/i2o/i2o_config.c linux-2.6.32= .48/drivers/message/i2o/i2o_config.c ---- linux-2.6.32.48/drivers/message/i2o/i2o_config.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/message/i2o/i2o_config.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -787,6 +787,8 @@ static int i2o_cfg_passthru(unsigned lon +diff -urNp linux-3.0.8/drivers/message/i2o/i2o_config.c linux-3.0.8/driv= ers/message/i2o/i2o_config.c +--- linux-3.0.8/drivers/message/i2o/i2o_config.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/message/i2o/i2o_config.c 2011-08-23 21:48:14.000= 000000 -0400 +@@ -781,6 +781,8 @@ static int i2o_cfg_passthru(unsigned lon struct i2o_message *msg; unsigned int iop; =20 @@ -33793,10 +30333,10 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/= i2o_config.c linux-2.6.32.48/driv if (get_user(iop, &cmd->iop) || get_user(user_msg, &cmd->msg)) return -EFAULT; =20 -diff -urNp linux-2.6.32.48/drivers/message/i2o/i2o_proc.c linux-2.6.32.4= 8/drivers/message/i2o/i2o_proc.c ---- linux-2.6.32.48/drivers/message/i2o/i2o_proc.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/message/i2o/i2o_proc.c 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -259,13 +259,6 @@ static char *scsi_devices[] =3D { +diff -urNp linux-3.0.8/drivers/message/i2o/i2o_proc.c linux-3.0.8/driver= s/message/i2o/i2o_proc.c +--- linux-3.0.8/drivers/message/i2o/i2o_proc.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/message/i2o/i2o_proc.c 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -255,13 +255,6 @@ static char *scsi_devices[] =3D { "Array Controller Device" }; =20 @@ -33810,7 +30350,7 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/i2= o_proc.c linux-2.6.32.48/driver static int i2o_report_query_status(struct seq_file *seq, int block_stat= us, char *group) { -@@ -842,8 +835,7 @@ static int i2o_seq_show_ddm_table(struct +@@ -838,8 +831,7 @@ static int i2o_seq_show_ddm_table(struct =20 seq_printf(seq, "%-#7x", ddm_table.i2o_vendor_id); seq_printf(seq, "%-#8x", ddm_table.module_id); @@ -33820,7 +30360,7 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/i2= o_proc.c linux-2.6.32.48/driver seq_printf(seq, "%9d ", ddm_table.data_size); seq_printf(seq, "%8d", ddm_table.code_size); =20 -@@ -944,8 +936,8 @@ static int i2o_seq_show_drivers_stored(s +@@ -940,8 +932,8 @@ static int i2o_seq_show_drivers_stored(s =20 seq_printf(seq, "%-#7x", dst->i2o_vendor_id); seq_printf(seq, "%-#8x", dst->module_id); @@ -33831,7 +30371,7 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/i2= o_proc.c linux-2.6.32.48/driver seq_printf(seq, "%8d ", dst->module_size); seq_printf(seq, "%8d ", dst->mpb_size); seq_printf(seq, "0x%04x", dst->module_flags); -@@ -1276,14 +1268,10 @@ static int i2o_seq_show_dev_identity(str +@@ -1272,14 +1264,10 @@ static int i2o_seq_show_dev_identity(str seq_printf(seq, "Device Class : %s\n", i2o_get_class_name(work16[0]))= ; seq_printf(seq, "Owner TID : %0#5x\n", work16[2]); seq_printf(seq, "Parent TID : %0#5x\n", work16[3]); @@ -33850,7 +30390,7 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/i2= o_proc.c linux-2.6.32.48/driver =20 seq_printf(seq, "Serial number : "); print_serial_number(seq, (u8 *) (work32 + 16), -@@ -1328,10 +1316,8 @@ static int i2o_seq_show_ddm_identity(str +@@ -1324,10 +1312,8 @@ static int i2o_seq_show_ddm_identity(str } =20 seq_printf(seq, "Registering DDM TID : 0x%03x\n", result.ddm_tid); @@ -33863,7 +30403,7 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/i2= o_proc.c linux-2.6.32.48/driver =20 seq_printf(seq, "Serial number : "); print_serial_number(seq, result.serial_number, sizeof(result) - 36); -@@ -1362,14 +1348,10 @@ static int i2o_seq_show_uinfo(struct seq +@@ -1358,14 +1344,10 @@ static int i2o_seq_show_uinfo(struct seq return 0; } =20 @@ -33882,10 +30422,10 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/= i2o_proc.c linux-2.6.32.48/driver =20 return 0; } -diff -urNp linux-2.6.32.48/drivers/message/i2o/iop.c linux-2.6.32.48/dri= vers/message/i2o/iop.c ---- linux-2.6.32.48/drivers/message/i2o/iop.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/message/i2o/iop.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -110,10 +110,10 @@ u32 i2o_cntxt_list_add(struct i2o_contro +diff -urNp linux-3.0.8/drivers/message/i2o/iop.c linux-3.0.8/drivers/mes= sage/i2o/iop.c +--- linux-3.0.8/drivers/message/i2o/iop.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/message/i2o/iop.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -111,10 +111,10 @@ u32 i2o_cntxt_list_add(struct i2o_contro =20 spin_lock_irqsave(&c->context_list_lock, flags); =20 @@ -33899,7 +30439,7 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/io= p.c linux-2.6.32.48/drivers/mes =20 list_add(&entry->list, &c->context_list); =20 -@@ -1076,7 +1076,7 @@ struct i2o_controller *i2o_iop_alloc(voi +@@ -1077,7 +1077,7 @@ struct i2o_controller *i2o_iop_alloc(voi =20 #if BITS_PER_LONG =3D=3D 64 spin_lock_init(&c->context_list_lock); @@ -33908,10 +30448,45 @@ diff -urNp linux-2.6.32.48/drivers/message/i2o/= iop.c linux-2.6.32.48/drivers/mes INIT_LIST_HEAD(&c->context_list); #endif =20 -diff -urNp linux-2.6.32.48/drivers/mfd/wm8350-i2c.c linux-2.6.32.48/driv= ers/mfd/wm8350-i2c.c ---- linux-2.6.32.48/drivers/mfd/wm8350-i2c.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/mfd/wm8350-i2c.c 2011-11-12 12:46:45.0000000= 00 -0500 -@@ -43,6 +43,8 @@ static int wm8350_i2c_write_device(struc +diff -urNp linux-3.0.8/drivers/mfd/ab3100-core.c linux-3.0.8/drivers/mfd= /ab3100-core.c +--- linux-3.0.8/drivers/mfd/ab3100-core.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/mfd/ab3100-core.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -809,7 +809,7 @@ struct ab_family_id { + char *name; + }; +=20 +-static const struct ab_family_id ids[] __devinitdata =3D { ++static const struct ab_family_id ids[] __devinitconst =3D { + /* AB3100 */ + { + .id =3D 0xc0, +diff -urNp linux-3.0.8/drivers/mfd/abx500-core.c linux-3.0.8/drivers/mfd= /abx500-core.c +--- linux-3.0.8/drivers/mfd/abx500-core.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/mfd/abx500-core.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -14,7 +14,7 @@ static LIST_HEAD(abx500_list); +=20 + struct abx500_device_entry { + struct list_head list; +- struct abx500_ops ops; ++ abx500_ops_no_const ops; + struct device *dev; + }; +=20 +diff -urNp linux-3.0.8/drivers/mfd/janz-cmodio.c linux-3.0.8/drivers/mfd= /janz-cmodio.c +--- linux-3.0.8/drivers/mfd/janz-cmodio.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/mfd/janz-cmodio.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -13,6 +13,7 @@ +=20 + #include + #include ++#include + #include + #include + #include +diff -urNp linux-3.0.8/drivers/mfd/wm8350-i2c.c linux-3.0.8/drivers/mfd/= wm8350-i2c.c +--- linux-3.0.8/drivers/mfd/wm8350-i2c.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/mfd/wm8350-i2c.c 2011-08-23 21:48:14.000000000 -= 0400 +@@ -44,6 +44,8 @@ static int wm8350_i2c_write_device(struc u8 msg[(WM8350_MAX_REGISTER << 1) + 1]; int ret; =20 @@ -33920,44 +30495,74 @@ diff -urNp linux-2.6.32.48/drivers/mfd/wm8350-i= 2c.c linux-2.6.32.48/drivers/mfd/ if (bytes > ((WM8350_MAX_REGISTER << 1) + 1)) return -EINVAL; =20 -diff -urNp linux-2.6.32.48/drivers/misc/kgdbts.c linux-2.6.32.48/drivers= /misc/kgdbts.c ---- linux-2.6.32.48/drivers/misc/kgdbts.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/misc/kgdbts.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -118,7 +118,7 @@ - } while (0) - #define MAX_CONFIG_LEN 40 +diff -urNp linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.c linux-3.0.8/dr= ivers/misc/lis3lv02d/lis3lv02d.c +--- linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.c 2011-10-24 08:05:32.0= 00000000 -0400 ++++ linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.c 2011-10-17 23:17:19.0= 00000000 -0400 +@@ -437,7 +437,7 @@ static irqreturn_t lis302dl_interrupt(in + * the lid is closed. This leads to interrupts as soon as a little mov= e + * is done. + */ +- atomic_inc(&lis3_dev.count); ++ atomic_inc_unchecked(&lis3_dev.count); +=20 + wake_up_interruptible(&lis3_dev.misc_wait); + kill_fasync(&lis3_dev.async_queue, SIGIO, POLL_IN); +@@ -520,7 +520,7 @@ static int lis3lv02d_misc_open(struct in + if (lis3_dev.pm_dev) + pm_runtime_get_sync(lis3_dev.pm_dev); =20 --static struct kgdb_io kgdbts_io_ops; -+static const struct kgdb_io kgdbts_io_ops; - static char get_buf[BUFMAX]; - static int get_buf_cnt; - static char put_buf[BUFMAX]; -@@ -1102,7 +1102,7 @@ static void kgdbts_post_exp_handler(void - module_put(THIS_MODULE); +- atomic_set(&lis3_dev.count, 0); ++ atomic_set_unchecked(&lis3_dev.count, 0); + return 0; } =20 --static struct kgdb_io kgdbts_io_ops =3D { -+static const struct kgdb_io kgdbts_io_ops =3D { - .name =3D "kgdbts", - .read_char =3D kgdbts_get_char, - .write_char =3D kgdbts_put_char, -diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/gruhandles.c linux-2.6.3= 2.48/drivers/misc/sgi-gru/gruhandles.c ---- linux-2.6.32.48/drivers/misc/sgi-gru/gruhandles.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-gru/gruhandles.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -39,8 +39,8 @@ struct mcs_op_statistic mcs_op_statistic +@@ -547,7 +547,7 @@ static ssize_t lis3lv02d_misc_read(struc + add_wait_queue(&lis3_dev.misc_wait, &wait); + while (true) { + set_current_state(TASK_INTERRUPTIBLE); +- data =3D atomic_xchg(&lis3_dev.count, 0); ++ data =3D atomic_xchg_unchecked(&lis3_dev.count, 0); + if (data) + break; =20 - static void update_mcs_stats(enum mcs_op op, unsigned long clks) +@@ -585,7 +585,7 @@ out: + static unsigned int lis3lv02d_misc_poll(struct file *file, poll_table *= wait) { + poll_wait(file, &lis3_dev.misc_wait, wait); +- if (atomic_read(&lis3_dev.count)) ++ if (atomic_read_unchecked(&lis3_dev.count)) + return POLLIN | POLLRDNORM; + return 0; + } +diff -urNp linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.h linux-3.0.8/dr= ivers/misc/lis3lv02d/lis3lv02d.h +--- linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.h 2011-08-23 21:47:55.0= 00000000 -0400 +@@ -265,7 +265,7 @@ struct lis3lv02d { + struct input_polled_dev *idev; /* input device */ + struct platform_device *pdev; /* platform device */ + struct regulator_bulk_data regulators[2]; +- atomic_t count; /* interrupt count after last read */ ++ atomic_unchecked_t count; /* interrupt count after last read */ + union axis_conversion ac; /* hw -> logical axis */ + int mapped_btns[3]; +=20 +diff -urNp linux-3.0.8/drivers/misc/sgi-gru/gruhandles.c linux-3.0.8/dri= vers/misc/sgi-gru/gruhandles.c +--- linux-3.0.8/drivers/misc/sgi-gru/gruhandles.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/misc/sgi-gru/gruhandles.c 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -44,8 +44,8 @@ static void update_mcs_stats(enum mcs_op + unsigned long nsec; +=20 + nsec =3D CLKS2NSEC(clks); - atomic_long_inc(&mcs_op_statistics[op].count); -- atomic_long_add(clks, &mcs_op_statistics[op].total); +- atomic_long_add(nsec, &mcs_op_statistics[op].total); + atomic_long_inc_unchecked(&mcs_op_statistics[op].count); -+ atomic_long_add_unchecked(clks, &mcs_op_statistics[op].total); - if (mcs_op_statistics[op].max < clks) - mcs_op_statistics[op].max =3D clks; ++ atomic_long_add_unchecked(nsec, &mcs_op_statistics[op].total); + if (mcs_op_statistics[op].max < nsec) + mcs_op_statistics[op].max =3D nsec; } -diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/gruprocfs.c linux-2.6.32= .48/drivers/misc/sgi-gru/gruprocfs.c ---- linux-2.6.32.48/drivers/misc/sgi-gru/gruprocfs.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-gru/gruprocfs.c 2011-11-12 12:46:45= .000000000 -0500 +diff -urNp linux-3.0.8/drivers/misc/sgi-gru/gruprocfs.c linux-3.0.8/driv= ers/misc/sgi-gru/gruprocfs.c +--- linux-3.0.8/drivers/misc/sgi-gru/gruprocfs.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/misc/sgi-gru/gruprocfs.c 2011-08-23 21:47:55.000= 000000 -0400 @@ -32,9 +32,9 @@ =20 #define printstat(s, f) printstat_val(s, &gru_stats.f, #f) @@ -33968,11 +30573,11 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru= /gruprocfs.c linux-2.6.32.48/driv - unsigned long val =3D atomic_long_read(v); + unsigned long val =3D atomic_long_read_unchecked(v); =20 - if (val) - seq_printf(s, "%16lu %s\n", val, id); -@@ -136,8 +136,8 @@ static int mcs_statistics_show(struct se - "cch_interrupt_sync", "cch_deallocate", "tgh_invalidate"}; + seq_printf(s, "%16lu %s\n", val, id); + } +@@ -134,8 +134,8 @@ static int mcs_statistics_show(struct se =20 + seq_printf(s, "%-20s%12s%12s%12s\n", "#id", "count", "aver-clks", "max= -clks"); for (op =3D 0; op < mcsop_last; op++) { - count =3D atomic_long_read(&mcs_op_statistics[op].count); - total =3D atomic_long_read(&mcs_op_statistics[op].total); @@ -33981,10 +30586,10 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru= /gruprocfs.c linux-2.6.32.48/driv max =3D mcs_op_statistics[op].max; seq_printf(s, "%-20s%12ld%12ld%12ld\n", id[op], count, count ? total / count : 0, max); -diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/grutables.h linux-2.6.32= .48/drivers/misc/sgi-gru/grutables.h ---- linux-2.6.32.48/drivers/misc/sgi-gru/grutables.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-gru/grutables.h 2011-11-12 12:46:45= .000000000 -0500 -@@ -167,84 +167,84 @@ extern unsigned int gru_max_gids; +diff -urNp linux-3.0.8/drivers/misc/sgi-gru/grutables.h linux-3.0.8/driv= ers/misc/sgi-gru/grutables.h +--- linux-3.0.8/drivers/misc/sgi-gru/grutables.h 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/misc/sgi-gru/grutables.h 2011-08-23 21:47:55.000= 000000 -0400 +@@ -167,82 +167,82 @@ extern unsigned int gru_max_gids; * GRU statistics. */ struct gru_stats_s { @@ -33992,7 +30597,8 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/g= rutables.h linux-2.6.32.48/driv - atomic_long_t vdata_free; - atomic_long_t gts_alloc; - atomic_long_t gts_free; -- atomic_long_t vdata_double_alloc; +- atomic_long_t gms_alloc; +- atomic_long_t gms_free; - atomic_long_t gts_double_allocate; - atomic_long_t assign_context; - atomic_long_t assign_context_failed; @@ -34005,28 +30611,25 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru= /grutables.h linux-2.6.32.48/driv - atomic_long_t steal_kernel_context; - atomic_long_t steal_context_failed; - atomic_long_t nopfn; -- atomic_long_t break_cow; - atomic_long_t asid_new; - atomic_long_t asid_next; - atomic_long_t asid_wrap; - atomic_long_t asid_reuse; - atomic_long_t intr; +- atomic_long_t intr_cbr; +- atomic_long_t intr_tfh; +- atomic_long_t intr_spurious; - atomic_long_t intr_mm_lock_failed; - atomic_long_t call_os; -- atomic_long_t call_os_offnode_reference; -- atomic_long_t call_os_check_for_bug; - atomic_long_t call_os_wait_queue; - atomic_long_t user_flush_tlb; - atomic_long_t user_unload_context; - atomic_long_t user_exception; - atomic_long_t set_context_option; -- atomic_long_t migrate_check; -- atomic_long_t migrated_retarget; -- atomic_long_t migrated_unload; -- atomic_long_t migrated_unload_delay; -- atomic_long_t migrated_nopfn_retarget; -- atomic_long_t migrated_nopfn_unload; +- atomic_long_t check_context_retarget_intr; +- atomic_long_t check_context_unload; - atomic_long_t tlb_dropin; +- atomic_long_t tlb_preload_page; - atomic_long_t tlb_dropin_fail_no_asid; - atomic_long_t tlb_dropin_fail_upm; - atomic_long_t tlb_dropin_fail_invalid; @@ -34034,17 +30637,16 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru= /grutables.h linux-2.6.32.48/driv - atomic_long_t tlb_dropin_fail_idle; - atomic_long_t tlb_dropin_fail_fmm; - atomic_long_t tlb_dropin_fail_no_exception; -- atomic_long_t tlb_dropin_fail_no_exception_war; - atomic_long_t tfh_stale_on_fault; - atomic_long_t mmu_invalidate_range; - atomic_long_t mmu_invalidate_page; -- atomic_long_t mmu_clear_flush_young; - atomic_long_t flush_tlb; - atomic_long_t flush_tlb_gru; - atomic_long_t flush_tlb_gru_tgh; - atomic_long_t flush_tlb_gru_zero_asid; - - atomic_long_t copy_gpa; +- atomic_long_t read_gpa; - - atomic_long_t mesq_receive; - atomic_long_t mesq_receive_none; @@ -34056,7 +30658,7 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/g= rutables.h linux-2.6.32.48/driv - atomic_long_t mesq_send_qlimit_reached; - atomic_long_t mesq_send_amo_nacked; - atomic_long_t mesq_send_put_nacked; -- atomic_long_t mesq_qf_not_full; +- atomic_long_t mesq_page_overflow; - atomic_long_t mesq_qf_locked; - atomic_long_t mesq_qf_noop_not_full; - atomic_long_t mesq_qf_switch_head_failed; @@ -34066,11 +30668,13 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru= /grutables.h linux-2.6.32.48/driv - atomic_long_t mesq_noop_qlimit_reached; - atomic_long_t mesq_noop_amo_nacked; - atomic_long_t mesq_noop_put_nacked; +- atomic_long_t mesq_noop_page_overflow; + atomic_long_unchecked_t vdata_alloc; + atomic_long_unchecked_t vdata_free; + atomic_long_unchecked_t gts_alloc; + atomic_long_unchecked_t gts_free; -+ atomic_long_unchecked_t vdata_double_alloc; ++ atomic_long_unchecked_t gms_alloc; ++ atomic_long_unchecked_t gms_free; + atomic_long_unchecked_t gts_double_allocate; + atomic_long_unchecked_t assign_context; + atomic_long_unchecked_t assign_context_failed; @@ -34083,28 +30687,25 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru= /grutables.h linux-2.6.32.48/driv + atomic_long_unchecked_t steal_kernel_context; + atomic_long_unchecked_t steal_context_failed; + atomic_long_unchecked_t nopfn; -+ atomic_long_unchecked_t break_cow; + atomic_long_unchecked_t asid_new; + atomic_long_unchecked_t asid_next; + atomic_long_unchecked_t asid_wrap; + atomic_long_unchecked_t asid_reuse; + atomic_long_unchecked_t intr; ++ atomic_long_unchecked_t intr_cbr; ++ atomic_long_unchecked_t intr_tfh; ++ atomic_long_unchecked_t intr_spurious; + atomic_long_unchecked_t intr_mm_lock_failed; + atomic_long_unchecked_t call_os; -+ atomic_long_unchecked_t call_os_offnode_reference; -+ atomic_long_unchecked_t call_os_check_for_bug; + atomic_long_unchecked_t call_os_wait_queue; + atomic_long_unchecked_t user_flush_tlb; + atomic_long_unchecked_t user_unload_context; + atomic_long_unchecked_t user_exception; + atomic_long_unchecked_t set_context_option; -+ atomic_long_unchecked_t migrate_check; -+ atomic_long_unchecked_t migrated_retarget; -+ atomic_long_unchecked_t migrated_unload; -+ atomic_long_unchecked_t migrated_unload_delay; -+ atomic_long_unchecked_t migrated_nopfn_retarget; -+ atomic_long_unchecked_t migrated_nopfn_unload; ++ atomic_long_unchecked_t check_context_retarget_intr; ++ atomic_long_unchecked_t check_context_unload; + atomic_long_unchecked_t tlb_dropin; ++ atomic_long_unchecked_t tlb_preload_page; + atomic_long_unchecked_t tlb_dropin_fail_no_asid; + atomic_long_unchecked_t tlb_dropin_fail_upm; + atomic_long_unchecked_t tlb_dropin_fail_invalid; @@ -34112,17 +30713,16 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru= /grutables.h linux-2.6.32.48/driv + atomic_long_unchecked_t tlb_dropin_fail_idle; + atomic_long_unchecked_t tlb_dropin_fail_fmm; + atomic_long_unchecked_t tlb_dropin_fail_no_exception; -+ atomic_long_unchecked_t tlb_dropin_fail_no_exception_war; + atomic_long_unchecked_t tfh_stale_on_fault; + atomic_long_unchecked_t mmu_invalidate_range; + atomic_long_unchecked_t mmu_invalidate_page; -+ atomic_long_unchecked_t mmu_clear_flush_young; + atomic_long_unchecked_t flush_tlb; + atomic_long_unchecked_t flush_tlb_gru; + atomic_long_unchecked_t flush_tlb_gru_tgh; + atomic_long_unchecked_t flush_tlb_gru_zero_asid; + + atomic_long_unchecked_t copy_gpa; ++ atomic_long_unchecked_t read_gpa; + + atomic_long_unchecked_t mesq_receive; + atomic_long_unchecked_t mesq_receive_none; @@ -34134,7 +30734,7 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/g= rutables.h linux-2.6.32.48/driv + atomic_long_unchecked_t mesq_send_qlimit_reached; + atomic_long_unchecked_t mesq_send_amo_nacked; + atomic_long_unchecked_t mesq_send_put_nacked; -+ atomic_long_unchecked_t mesq_qf_not_full; ++ atomic_long_unchecked_t mesq_page_overflow; + atomic_long_unchecked_t mesq_qf_locked; + atomic_long_unchecked_t mesq_qf_noop_not_full; + atomic_long_unchecked_t mesq_qf_switch_head_failed; @@ -34144,11 +30744,12 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru= /grutables.h linux-2.6.32.48/driv + atomic_long_unchecked_t mesq_noop_qlimit_reached; + atomic_long_unchecked_t mesq_noop_amo_nacked; + atomic_long_unchecked_t mesq_noop_put_nacked; ++ atomic_long_unchecked_t mesq_noop_page_overflow; =20 }; =20 -@@ -252,8 +252,8 @@ enum mcs_op {cchop_allocate, cchop_start - cchop_deallocate, tghop_invalidate, mcsop_last}; +@@ -251,8 +251,8 @@ enum mcs_op {cchop_allocate, cchop_start + tghop_invalidate, mcsop_last}; =20 struct mcs_op_statistic { - atomic_long_t count; @@ -34158,7 +30759,7 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru/g= rutables.h linux-2.6.32.48/driv unsigned long max; }; =20 -@@ -276,7 +276,7 @@ extern struct mcs_op_statistic mcs_op_st +@@ -275,7 +275,7 @@ extern struct mcs_op_statistic mcs_op_st =20 #define STAT(id) do { \ if (gru_options & OPT_STATS) \ @@ -34167,79 +30768,41 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-gru= /grutables.h linux-2.6.32.48/driv } while (0) =20 #ifdef CONFIG_SGI_GRU_DEBUG -diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xpc.h linux-2.6.32.48/dri= vers/misc/sgi-xp/xpc.h ---- linux-2.6.32.48/drivers/misc/sgi-xp/xpc.h 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-xp/xpc.h 2011-11-12 12:46:45.000000= 000 -0500 -@@ -876,7 +876,7 @@ extern struct xpc_registration xpc_regis +diff -urNp linux-3.0.8/drivers/misc/sgi-xp/xpc.h linux-3.0.8/drivers/mis= c/sgi-xp/xpc.h +--- linux-3.0.8/drivers/misc/sgi-xp/xpc.h 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/misc/sgi-xp/xpc.h 2011-10-11 10:44:33.000000000 = -0400 +@@ -835,6 +835,7 @@ struct xpc_arch_operations { + void (*received_payload) (struct xpc_channel *, void *); + void (*notify_senders_of_disconnect) (struct xpc_channel *); + }; ++typedef struct xpc_arch_operations __no_const xpc_arch_operations_no_co= nst; +=20 + /* struct xpc_partition act_state values (for XPC HB) */ +=20 +@@ -876,7 +877,7 @@ extern struct xpc_registration xpc_regis /* found in xpc_main.c */ extern struct device *xpc_part; extern struct device *xpc_chan; -extern struct xpc_arch_operations xpc_arch_ops; -+extern const struct xpc_arch_operations xpc_arch_ops; ++extern xpc_arch_operations_no_const xpc_arch_ops; extern int xpc_disengage_timelimit; extern int xpc_disengage_timedout; extern int xpc_activate_IRQ_rcvd; -diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xpc_main.c linux-2.6.32.4= 8/drivers/misc/sgi-xp/xpc_main.c ---- linux-2.6.32.48/drivers/misc/sgi-xp/xpc_main.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-xp/xpc_main.c 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -169,7 +169,7 @@ static struct notifier_block xpc_die_not +diff -urNp linux-3.0.8/drivers/misc/sgi-xp/xpc_main.c linux-3.0.8/driver= s/misc/sgi-xp/xpc_main.c +--- linux-3.0.8/drivers/misc/sgi-xp/xpc_main.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/misc/sgi-xp/xpc_main.c 2011-10-11 10:44:33.00000= 0000 -0400 +@@ -162,7 +162,7 @@ static struct notifier_block xpc_die_not .notifier_call =3D xpc_system_die, }; =20 -struct xpc_arch_operations xpc_arch_ops; -+const struct xpc_arch_operations xpc_arch_ops; ++xpc_arch_operations_no_const xpc_arch_ops; =20 /* * Timer function to enforce the timelimit on the partition disengage. -diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xpc_sn2.c linux-2.6.32.48= /drivers/misc/sgi-xp/xpc_sn2.c ---- linux-2.6.32.48/drivers/misc/sgi-xp/xpc_sn2.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-xp/xpc_sn2.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -2350,7 +2350,7 @@ xpc_received_payload_sn2(struct xpc_chan - xpc_acknowledge_msgs_sn2(ch, get, msg->flags); - } -=20 --static struct xpc_arch_operations xpc_arch_ops_sn2 =3D { -+static const struct xpc_arch_operations xpc_arch_ops_sn2 =3D { - .setup_partitions =3D xpc_setup_partitions_sn2, - .teardown_partitions =3D xpc_teardown_partitions_sn2, - .process_activate_IRQ_rcvd =3D xpc_process_activate_IRQ_rcvd_sn2, -@@ -2413,7 +2413,9 @@ xpc_init_sn2(void) - int ret; - size_t buf_size; -=20 -- xpc_arch_ops =3D xpc_arch_ops_sn2; -+ pax_open_kernel(); -+ memcpy((void *)&xpc_arch_ops, &xpc_arch_ops_sn2, sizeof(xpc_arch_ops_s= n2)); -+ pax_close_kernel(); -=20 - if (offsetof(struct xpc_msg_sn2, payload) > XPC_MSG_HDR_MAX_SIZE) { - dev_err(xpc_part, "header portion of struct xpc_msg_sn2 is " -diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xpc_uv.c linux-2.6.32.48/= drivers/misc/sgi-xp/xpc_uv.c ---- linux-2.6.32.48/drivers/misc/sgi-xp/xpc_uv.c 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-xp/xpc_uv.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -1669,7 +1669,7 @@ xpc_received_payload_uv(struct xpc_chann - XPC_DEACTIVATE_PARTITION(&xpc_partitions[ch->partid], ret); - } -=20 --static struct xpc_arch_operations xpc_arch_ops_uv =3D { -+static const struct xpc_arch_operations xpc_arch_ops_uv =3D { - .setup_partitions =3D xpc_setup_partitions_uv, - .teardown_partitions =3D xpc_teardown_partitions_uv, - .process_activate_IRQ_rcvd =3D xpc_process_activate_IRQ_rcvd_uv, -@@ -1729,7 +1729,9 @@ static struct xpc_arch_operations xpc_ar - int - xpc_init_uv(void) - { -- xpc_arch_ops =3D xpc_arch_ops_uv; -+ pax_open_kernel(); -+ memcpy((void *)&xpc_arch_ops, &xpc_arch_ops_uv, sizeof(xpc_arch_ops_uv= )); -+ pax_close_kernel(); -=20 - if (sizeof(struct xpc_notify_mq_msghdr_uv) > XPC_MSG_HDR_MAX_SIZE) { - dev_err(xpc_part, "xpc_notify_mq_msghdr_uv is larger than %d\n", -diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/xp.h linux-2.6.32.48/driv= ers/misc/sgi-xp/xp.h ---- linux-2.6.32.48/drivers/misc/sgi-xp/xp.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/misc/sgi-xp/xp.h 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-3.0.8/drivers/misc/sgi-xp/xp.h linux-3.0.8/drivers/misc= /sgi-xp/xp.h +--- linux-3.0.8/drivers/misc/sgi-xp/xp.h 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/misc/sgi-xp/xp.h 2011-08-23 21:47:55.000000000 -= 0400 @@ -289,7 +289,7 @@ struct xpc_interface { xpc_notify_func, void *); void (*received) (short, int, void *); @@ -34249,10 +30812,22 @@ diff -urNp linux-2.6.32.48/drivers/misc/sgi-xp/= xp.h linux-2.6.32.48/drivers/misc =20 extern struct xpc_interface xpc_interface; =20 -diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0001.c linux-2.6= .32.48/drivers/mtd/chips/cfi_cmdset_0001.c ---- linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0001.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0001.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -743,6 +743,8 @@ static int chip_ready (struct map_info * +diff -urNp linux-3.0.8/drivers/mmc/host/sdhci-pci.c linux-3.0.8/drivers/= mmc/host/sdhci-pci.c +--- linux-3.0.8/drivers/mmc/host/sdhci-pci.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/mmc/host/sdhci-pci.c 2011-10-11 10:44:33.0000000= 00 -0400 +@@ -524,7 +524,7 @@ static const struct sdhci_pci_fixes sdhc + .probe =3D via_probe, + }; +=20 +-static const struct pci_device_id pci_ids[] __devinitdata =3D { ++static const struct pci_device_id pci_ids[] __devinitconst =3D { + { + .vendor =3D PCI_VENDOR_ID_RICOH, + .device =3D PCI_DEVICE_ID_RICOH_R5C822, +diff -urNp linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0001.c linux-3.0.8/d= rivers/mtd/chips/cfi_cmdset_0001.c +--- linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0001.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0001.c 2011-08-23 21:48:14.= 000000000 -0400 +@@ -757,6 +757,8 @@ static int chip_ready (struct map_info * struct cfi_pri_intelext *cfip =3D cfi->cmdset_priv; unsigned long timeo =3D jiffies + HZ; =20 @@ -34261,7 +30836,7 @@ diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_= cmdset_0001.c linux-2.6.32.48/d /* Prevent setting state FL_SYNCING for chip in suspended state. */ if (mode =3D=3D FL_SYNCING && chip->oldstate !=3D FL_READY) goto sleep; -@@ -1642,6 +1644,8 @@ static int __xipram do_write_buffer(stru +@@ -1653,6 +1655,8 @@ static int __xipram do_write_buffer(stru unsigned long initial_adr; int initial_len =3D len; =20 @@ -34270,7 +30845,7 @@ diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_= cmdset_0001.c linux-2.6.32.48/d wbufsize =3D cfi_interleave(cfi) << cfi->cfiq->MaxBufWriteSize; adr +=3D chip->start; initial_adr =3D adr; -@@ -1860,6 +1864,8 @@ static int __xipram do_erase_oneblock(st +@@ -1871,6 +1875,8 @@ static int __xipram do_erase_oneblock(st int retries =3D 3; int ret; =20 @@ -34279,9 +30854,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_= cmdset_0001.c linux-2.6.32.48/d adr +=3D chip->start; =20 retry: -diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0020.c linux-2.6= .32.48/drivers/mtd/chips/cfi_cmdset_0020.c ---- linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0020.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/mtd/chips/cfi_cmdset_0020.c 2011-11-12 12:46= :45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0020.c linux-3.0.8/d= rivers/mtd/chips/cfi_cmdset_0020.c +--- linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0020.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0020.c 2011-08-23 21:48:14.= 000000000 -0400 @@ -255,6 +255,8 @@ static inline int do_read_onechip(struct unsigned long cmd_addr; struct cfi_private *cfi =3D map->fldrv_priv; @@ -34291,7 +30866,7 @@ diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_= cmdset_0020.c linux-2.6.32.48/d adr +=3D chip->start; =20 /* Ensure cmd read/writes are aligned. */ -@@ -428,6 +430,8 @@ static inline int do_write_buffer(struct +@@ -429,6 +431,8 @@ static inline int do_write_buffer(struct DECLARE_WAITQUEUE(wait, current); int wbufsize, z; =20 @@ -34300,7 +30875,7 @@ diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_= cmdset_0020.c linux-2.6.32.48/d /* M58LW064A requires bus alignment for buffer wriets -- saw */ if (adr & (map_bankwidth(map)-1)) return -EINVAL; -@@ -742,6 +746,8 @@ static inline int do_erase_oneblock(stru +@@ -743,6 +747,8 @@ static inline int do_erase_oneblock(stru DECLARE_WAITQUEUE(wait, current); int ret =3D 0; =20 @@ -34309,7 +30884,7 @@ diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_= cmdset_0020.c linux-2.6.32.48/d adr +=3D chip->start; =20 /* Let's determine this according to the interleave only once */ -@@ -1047,6 +1053,8 @@ static inline int do_lock_oneblock(struc +@@ -1048,6 +1054,8 @@ static inline int do_lock_oneblock(struc unsigned long timeo =3D jiffies + HZ; DECLARE_WAITQUEUE(wait, current); =20 @@ -34318,7 +30893,7 @@ diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_= cmdset_0020.c linux-2.6.32.48/d adr +=3D chip->start; =20 /* Let's determine this according to the interleave only once */ -@@ -1196,6 +1204,8 @@ static inline int do_unlock_oneblock(str +@@ -1197,6 +1205,8 @@ static inline int do_unlock_oneblock(str unsigned long timeo =3D jiffies + HZ; DECLARE_WAITQUEUE(wait, current); =20 @@ -34327,9 +30902,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/chips/cfi_= cmdset_0020.c linux-2.6.32.48/d adr +=3D chip->start; =20 /* Let's determine this according to the interleave only once */ -diff -urNp linux-2.6.32.48/drivers/mtd/devices/doc2000.c linux-2.6.32.48= /drivers/mtd/devices/doc2000.c ---- linux-2.6.32.48/drivers/mtd/devices/doc2000.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/mtd/devices/doc2000.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-3.0.8/drivers/mtd/devices/doc2000.c linux-3.0.8/drivers= /mtd/devices/doc2000.c +--- linux-3.0.8/drivers/mtd/devices/doc2000.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/mtd/devices/doc2000.c 2011-08-23 21:47:55.000000= 000 -0400 @@ -776,7 +776,7 @@ static int doc_write(struct mtd_info *mt =20 /* The ECC will not be calculated correctly if less than 512 is writt= en */ @@ -34339,9 +30914,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/devices/do= c2000.c linux-2.6.32.48/drivers printk(KERN_WARNING "ECC needs a full sector write (adr: %lx size %lx)\n", (long) to, (long) len); -diff -urNp linux-2.6.32.48/drivers/mtd/devices/doc2001.c linux-2.6.32.48= /drivers/mtd/devices/doc2001.c ---- linux-2.6.32.48/drivers/mtd/devices/doc2001.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/mtd/devices/doc2001.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-3.0.8/drivers/mtd/devices/doc2001.c linux-3.0.8/drivers= /mtd/devices/doc2001.c +--- linux-3.0.8/drivers/mtd/devices/doc2001.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/mtd/devices/doc2001.c 2011-08-23 21:47:55.000000= 000 -0400 @@ -393,7 +393,7 @@ static int doc_read (struct mtd_info *mt struct Nand *mychip =3D &this->chips[from >> (this->chipshift)]; =20 @@ -34351,9 +30926,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/devices/do= c2001.c linux-2.6.32.48/drivers return -EINVAL; =20 /* Don't allow a single read to cross a 512-byte block boundary */ -diff -urNp linux-2.6.32.48/drivers/mtd/ftl.c linux-2.6.32.48/drivers/mtd= /ftl.c ---- linux-2.6.32.48/drivers/mtd/ftl.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/mtd/ftl.c 2011-11-12 12:46:45.000000000 -050= 0 +diff -urNp linux-3.0.8/drivers/mtd/ftl.c linux-3.0.8/drivers/mtd/ftl.c +--- linux-3.0.8/drivers/mtd/ftl.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/mtd/ftl.c 2011-08-23 21:48:14.000000000 -0400 @@ -474,6 +474,8 @@ static int copy_erase_unit(partition_t * loff_t offset; uint16_t srcunitswap =3D cpu_to_le16(srcunit); @@ -34363,10 +30938,10 @@ diff -urNp linux-2.6.32.48/drivers/mtd/ftl.c li= nux-2.6.32.48/drivers/mtd/ftl.c eun =3D &part->EUNInfo[srcunit]; xfer =3D &part->XferInfo[xferunit]; DEBUG(2, "ftl_cs: copying block 0x%x to 0x%x\n", -diff -urNp linux-2.6.32.48/drivers/mtd/inftlcore.c linux-2.6.32.48/drive= rs/mtd/inftlcore.c ---- linux-2.6.32.48/drivers/mtd/inftlcore.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/mtd/inftlcore.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -260,6 +260,8 @@ static u16 INFTL_foldchain(struct INFTLr +diff -urNp linux-3.0.8/drivers/mtd/inftlcore.c linux-3.0.8/drivers/mtd/i= nftlcore.c +--- linux-3.0.8/drivers/mtd/inftlcore.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/mtd/inftlcore.c 2011-08-23 21:48:14.000000000 -0= 400 +@@ -259,6 +259,8 @@ static u16 INFTL_foldchain(struct INFTLr struct inftl_oob oob; size_t retlen; =20 @@ -34375,10 +30950,10 @@ diff -urNp linux-2.6.32.48/drivers/mtd/inftlcor= e.c linux-2.6.32.48/drivers/mtd/i DEBUG(MTD_DEBUG_LEVEL3, "INFTL: INFTL_foldchain(inftl=3D%p,thisVUC=3D%= d," "pending=3D%d)\n", inftl, thisVUC, pendingblock); =20 -diff -urNp linux-2.6.32.48/drivers/mtd/inftlmount.c linux-2.6.32.48/driv= ers/mtd/inftlmount.c ---- linux-2.6.32.48/drivers/mtd/inftlmount.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/mtd/inftlmount.c 2011-11-12 12:46:45.0000000= 00 -0500 -@@ -54,6 +54,8 @@ static int find_boot_record(struct INFTL +diff -urNp linux-3.0.8/drivers/mtd/inftlmount.c linux-3.0.8/drivers/mtd/= inftlmount.c +--- linux-3.0.8/drivers/mtd/inftlmount.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/mtd/inftlmount.c 2011-08-23 21:48:14.000000000 -= 0400 +@@ -53,6 +53,8 @@ static int find_boot_record(struct INFTL struct INFTLPartition *ip; size_t retlen; =20 @@ -34387,9 +30962,9 @@ diff -urNp linux-2.6.32.48/drivers/mtd/inftlmount= .c linux-2.6.32.48/drivers/mtd/ DEBUG(MTD_DEBUG_LEVEL3, "INFTL: find_boot_record(inftl=3D%p)\n", inftl= ); =20 /* -diff -urNp linux-2.6.32.48/drivers/mtd/lpddr/qinfo_probe.c linux-2.6.32.= 48/drivers/mtd/lpddr/qinfo_probe.c ---- linux-2.6.32.48/drivers/mtd/lpddr/qinfo_probe.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/mtd/lpddr/qinfo_probe.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-3.0.8/drivers/mtd/lpddr/qinfo_probe.c linux-3.0.8/drive= rs/mtd/lpddr/qinfo_probe.c +--- linux-3.0.8/drivers/mtd/lpddr/qinfo_probe.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/mtd/lpddr/qinfo_probe.c 2011-08-23 21:48:14.0000= 00000 -0400 @@ -106,6 +106,8 @@ static int lpddr_pfow_present(struct map { map_word pfow_val[4]; @@ -34399,10 +30974,10 @@ diff -urNp linux-2.6.32.48/drivers/mtd/lpddr/qi= nfo_probe.c linux-2.6.32.48/drive /* Check identification string */ pfow_val[0] =3D map_read(map, map->pfow_base + PFOW_QUERY_STRING_P); pfow_val[1] =3D map_read(map, map->pfow_base + PFOW_QUERY_STRING_F); -diff -urNp linux-2.6.32.48/drivers/mtd/mtdchar.c linux-2.6.32.48/drivers= /mtd/mtdchar.c ---- linux-2.6.32.48/drivers/mtd/mtdchar.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/mtd/mtdchar.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -460,6 +460,8 @@ static int mtd_ioctl(struct inode *inode +diff -urNp linux-3.0.8/drivers/mtd/mtdchar.c linux-3.0.8/drivers/mtd/mtd= char.c +--- linux-3.0.8/drivers/mtd/mtdchar.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/mtd/mtdchar.c 2011-08-23 21:48:14.000000000 -040= 0 +@@ -553,6 +553,8 @@ static int mtd_ioctl(struct file *file,=20 u_long size; struct mtd_info_user info; =20 @@ -34411,10 +30986,21 @@ diff -urNp linux-2.6.32.48/drivers/mtd/mtdchar.= c linux-2.6.32.48/drivers/mtd/mtd DEBUG(MTD_DEBUG_LEVEL0, "MTD_ioctl\n"); =20 size =3D (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT; -diff -urNp linux-2.6.32.48/drivers/mtd/nftlcore.c linux-2.6.32.48/driver= s/mtd/nftlcore.c ---- linux-2.6.32.48/drivers/mtd/nftlcore.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/mtd/nftlcore.c 2011-11-12 12:46:45.000000000= -0500 -@@ -254,6 +254,8 @@ static u16 NFTL_foldchain (struct NFTLre +diff -urNp linux-3.0.8/drivers/mtd/nand/denali.c linux-3.0.8/drivers/mtd= /nand/denali.c +--- linux-3.0.8/drivers/mtd/nand/denali.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/mtd/nand/denali.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include +=20 + #include "denali.h" +=20 +diff -urNp linux-3.0.8/drivers/mtd/nftlcore.c linux-3.0.8/drivers/mtd/nf= tlcore.c +--- linux-3.0.8/drivers/mtd/nftlcore.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/mtd/nftlcore.c 2011-08-23 21:48:14.000000000 -04= 00 +@@ -264,6 +264,8 @@ static u16 NFTL_foldchain (struct NFTLre int inplace =3D 1; size_t retlen; =20 @@ -34423,10 +31009,10 @@ diff -urNp linux-2.6.32.48/drivers/mtd/nftlcore= .c linux-2.6.32.48/drivers/mtd/nf memset(BlockMap, 0xff, sizeof(BlockMap)); memset(BlockFreeFound, 0, sizeof(BlockFreeFound)); =20 -diff -urNp linux-2.6.32.48/drivers/mtd/nftlmount.c linux-2.6.32.48/drive= rs/mtd/nftlmount.c ---- linux-2.6.32.48/drivers/mtd/nftlmount.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/mtd/nftlmount.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -23,6 +23,7 @@ +diff -urNp linux-3.0.8/drivers/mtd/nftlmount.c linux-3.0.8/drivers/mtd/n= ftlmount.c +--- linux-3.0.8/drivers/mtd/nftlmount.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/mtd/nftlmount.c 2011-08-23 21:48:14.000000000 -0= 400 +@@ -24,6 +24,7 @@ #include #include #include @@ -34434,7 +31020,7 @@ diff -urNp linux-2.6.32.48/drivers/mtd/nftlmount.= c linux-2.6.32.48/drivers/mtd/n #include #include #include -@@ -44,6 +45,8 @@ static int find_boot_record(struct NFTLr +@@ -45,6 +46,8 @@ static int find_boot_record(struct NFTLr struct mtd_info *mtd =3D nftl->mbd.mtd; unsigned int i; =20 @@ -34443,10 +31029,10 @@ diff -urNp linux-2.6.32.48/drivers/mtd/nftlmoun= t.c linux-2.6.32.48/drivers/mtd/n /* Assume logical EraseSize =3D=3D physical erasesize for start= ing the scan. We'll sort it out later if we find a MediaHeader which says otherwi= se */ /* Actually, we won't. The new DiskOnChip driver has already scanned -diff -urNp linux-2.6.32.48/drivers/mtd/ubi/build.c linux-2.6.32.48/drive= rs/mtd/ubi/build.c ---- linux-2.6.32.48/drivers/mtd/ubi/build.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/mtd/ubi/build.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -1255,7 +1255,7 @@ module_exit(ubi_exit); +diff -urNp linux-3.0.8/drivers/mtd/ubi/build.c linux-3.0.8/drivers/mtd/u= bi/build.c +--- linux-3.0.8/drivers/mtd/ubi/build.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/mtd/ubi/build.c 2011-08-23 21:47:55.000000000 -0= 400 +@@ -1287,7 +1287,7 @@ module_exit(ubi_exit); static int __init bytes_str_to_int(const char *str) { char *endp; @@ -34455,7 +31041,7 @@ diff -urNp linux-2.6.32.48/drivers/mtd/ubi/build.= c linux-2.6.32.48/drivers/mtd/u =20 result =3D simple_strtoul(str, &endp, 0); if (str =3D=3D endp || result >=3D INT_MAX) { -@@ -1266,11 +1266,11 @@ static int __init bytes_str_to_int(const +@@ -1298,11 +1298,11 @@ static int __init bytes_str_to_int(const =20 switch (*endp) { case 'G': @@ -34470,7 +31056,7 @@ diff -urNp linux-2.6.32.48/drivers/mtd/ubi/build.= c linux-2.6.32.48/drivers/mtd/u if (endp[1] =3D=3D 'i' && endp[2] =3D=3D 'B') endp +=3D 2; case '\0': -@@ -1281,7 +1281,13 @@ static int __init bytes_str_to_int(const +@@ -1313,7 +1313,13 @@ static int __init bytes_str_to_int(const return -EINVAL; } =20 @@ -34485,10 +31071,133 @@ diff -urNp linux-2.6.32.48/drivers/mtd/ubi/bui= ld.c linux-2.6.32.48/drivers/mtd/u } =20 /** -diff -urNp linux-2.6.32.48/drivers/net/bnx2.c linux-2.6.32.48/drivers/ne= t/bnx2.c ---- linux-2.6.32.48/drivers/net/bnx2.c 2011-11-12 12:44:29.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/net/bnx2.c 2011-11-12 12:46:45.000000000 -05= 00 -@@ -5809,6 +5809,8 @@ bnx2_test_nvram(struct bnx2 *bp) +diff -urNp linux-3.0.8/drivers/net/atlx/atl2.c linux-3.0.8/drivers/net/a= tlx/atl2.c +--- linux-3.0.8/drivers/net/atlx/atl2.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/net/atlx/atl2.c 2011-10-11 10:44:33.000000000 -0= 400 +@@ -2840,7 +2840,7 @@ static void atl2_force_ps(struct atl2_hw + */ +=20 + #define ATL2_PARAM(X, desc) \ +- static const int __devinitdata X[ATL2_MAX_NIC + 1] =3D ATL2_PARAM_I= NIT; \ ++ static const int __devinitconst X[ATL2_MAX_NIC + 1] =3D ATL2_PARAM_= INIT; \ + MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \ + MODULE_PARM_DESC(X, desc); + #else +diff -urNp linux-3.0.8/drivers/net/bna/bfa_ioc_ct.c linux-3.0.8/drivers/= net/bna/bfa_ioc_ct.c +--- linux-3.0.8/drivers/net/bna/bfa_ioc_ct.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/net/bna/bfa_ioc_ct.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -48,7 +48,21 @@ static void bfa_ioc_ct_sync_ack(struct b + static bool bfa_ioc_ct_sync_complete(struct bfa_ioc *ioc); + static enum bfa_status bfa_ioc_ct_pll_init(void __iomem *rb, bool fcmod= e); +=20 +-static struct bfa_ioc_hwif nw_hwif_ct; ++static struct bfa_ioc_hwif nw_hwif_ct =3D { ++ .ioc_pll_init =3D bfa_ioc_ct_pll_init, ++ .ioc_firmware_lock =3D bfa_ioc_ct_firmware_lock, ++ .ioc_firmware_unlock =3D bfa_ioc_ct_firmware_unlock, ++ .ioc_reg_init =3D bfa_ioc_ct_reg_init, ++ .ioc_map_port =3D bfa_ioc_ct_map_port, ++ .ioc_isr_mode_set =3D bfa_ioc_ct_isr_mode_set, ++ .ioc_notify_fail =3D bfa_ioc_ct_notify_fail, ++ .ioc_ownership_reset =3D bfa_ioc_ct_ownership_reset, ++ .ioc_sync_start =3D bfa_ioc_ct_sync_start, ++ .ioc_sync_join =3D bfa_ioc_ct_sync_join, ++ .ioc_sync_leave =3D bfa_ioc_ct_sync_leave, ++ .ioc_sync_ack =3D bfa_ioc_ct_sync_ack, ++ .ioc_sync_complete =3D bfa_ioc_ct_sync_complete ++}; +=20 + /** + * Called from bfa_ioc_attach() to map asic specific calls. +@@ -56,20 +70,6 @@ static struct bfa_ioc_hwif nw_hwif_ct; + void + bfa_nw_ioc_set_ct_hwif(struct bfa_ioc *ioc) + { +- nw_hwif_ct.ioc_pll_init =3D bfa_ioc_ct_pll_init; +- nw_hwif_ct.ioc_firmware_lock =3D bfa_ioc_ct_firmware_lock; +- nw_hwif_ct.ioc_firmware_unlock =3D bfa_ioc_ct_firmware_unlock; +- nw_hwif_ct.ioc_reg_init =3D bfa_ioc_ct_reg_init; +- nw_hwif_ct.ioc_map_port =3D bfa_ioc_ct_map_port; +- nw_hwif_ct.ioc_isr_mode_set =3D bfa_ioc_ct_isr_mode_set; +- nw_hwif_ct.ioc_notify_fail =3D bfa_ioc_ct_notify_fail; +- nw_hwif_ct.ioc_ownership_reset =3D bfa_ioc_ct_ownership_reset; +- nw_hwif_ct.ioc_sync_start =3D bfa_ioc_ct_sync_start; +- nw_hwif_ct.ioc_sync_join =3D bfa_ioc_ct_sync_join; +- nw_hwif_ct.ioc_sync_leave =3D bfa_ioc_ct_sync_leave; +- nw_hwif_ct.ioc_sync_ack =3D bfa_ioc_ct_sync_ack; +- nw_hwif_ct.ioc_sync_complete =3D bfa_ioc_ct_sync_complete; +- + ioc->ioc_hwif =3D &nw_hwif_ct; + } +=20 +diff -urNp linux-3.0.8/drivers/net/bna/bnad.c linux-3.0.8/drivers/net/bn= a/bnad.c +--- linux-3.0.8/drivers/net/bna/bnad.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/net/bna/bnad.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -1681,7 +1681,14 @@ bnad_setup_tx(struct bnad *bnad, uint tx + struct bna_intr_info *intr_info =3D + &res_info[BNA_TX_RES_INTR_T_TXCMPL].res_u.intr_info; + struct bna_tx_config *tx_config =3D &bnad->tx_config[tx_id]; +- struct bna_tx_event_cbfn tx_cbfn; ++ static struct bna_tx_event_cbfn tx_cbfn =3D { ++ /* Initialize the tx event handlers */ ++ .tcb_setup_cbfn =3D bnad_cb_tcb_setup, ++ .tcb_destroy_cbfn =3D bnad_cb_tcb_destroy, ++ .tx_stall_cbfn =3D bnad_cb_tx_stall, ++ .tx_resume_cbfn =3D bnad_cb_tx_resume, ++ .tx_cleanup_cbfn =3D bnad_cb_tx_cleanup ++ }; + struct bna_tx *tx; + unsigned long flags; +=20 +@@ -1690,13 +1697,6 @@ bnad_setup_tx(struct bnad *bnad, uint tx + tx_config->txq_depth =3D bnad->txq_depth; + tx_config->tx_type =3D BNA_TX_T_REGULAR; +=20 +- /* Initialize the tx event handlers */ +- tx_cbfn.tcb_setup_cbfn =3D bnad_cb_tcb_setup; +- tx_cbfn.tcb_destroy_cbfn =3D bnad_cb_tcb_destroy; +- tx_cbfn.tx_stall_cbfn =3D bnad_cb_tx_stall; +- tx_cbfn.tx_resume_cbfn =3D bnad_cb_tx_resume; +- tx_cbfn.tx_cleanup_cbfn =3D bnad_cb_tx_cleanup; +- + /* Get BNA's resource requirement for one tx object */ + spin_lock_irqsave(&bnad->bna_lock, flags); + bna_tx_res_req(bnad->num_txq_per_tx, +@@ -1827,21 +1827,21 @@ bnad_setup_rx(struct bnad *bnad, uint rx + struct bna_intr_info *intr_info =3D + &res_info[BNA_RX_RES_T_INTR].res_u.intr_info; + struct bna_rx_config *rx_config =3D &bnad->rx_config[rx_id]; +- struct bna_rx_event_cbfn rx_cbfn; ++ static struct bna_rx_event_cbfn rx_cbfn =3D { ++ /* Initialize the Rx event handlers */ ++ .rcb_setup_cbfn =3D bnad_cb_rcb_setup, ++ .rcb_destroy_cbfn =3D bnad_cb_rcb_destroy, ++ .ccb_setup_cbfn =3D bnad_cb_ccb_setup, ++ .ccb_destroy_cbfn =3D bnad_cb_ccb_destroy, ++ .rx_cleanup_cbfn =3D bnad_cb_rx_cleanup, ++ .rx_post_cbfn =3D bnad_cb_rx_post ++ }; + struct bna_rx *rx; + unsigned long flags; +=20 + /* Initialize the Rx object configuration */ + bnad_init_rx_config(bnad, rx_config); +=20 +- /* Initialize the Rx event handlers */ +- rx_cbfn.rcb_setup_cbfn =3D bnad_cb_rcb_setup; +- rx_cbfn.rcb_destroy_cbfn =3D bnad_cb_rcb_destroy; +- rx_cbfn.ccb_setup_cbfn =3D bnad_cb_ccb_setup; +- rx_cbfn.ccb_destroy_cbfn =3D bnad_cb_ccb_destroy; +- rx_cbfn.rx_cleanup_cbfn =3D bnad_cb_rx_cleanup; +- rx_cbfn.rx_post_cbfn =3D bnad_cb_rx_post; +- + /* Get BNA's resource requirement for one Rx object */ + spin_lock_irqsave(&bnad->bna_lock, flags); + bna_rx_res_req(rx_config, res_info); +diff -urNp linux-3.0.8/drivers/net/bnx2.c linux-3.0.8/drivers/net/bnx2.c +--- linux-3.0.8/drivers/net/bnx2.c 2011-10-24 08:05:30.000000000 -0400 ++++ linux-3.0.8/drivers/net/bnx2.c 2011-10-16 21:55:27.000000000 -0400 +@@ -5831,6 +5831,8 @@ bnx2_test_nvram(struct bnx2 *bp) int rc =3D 0; u32 magic, csum; =20 @@ -34497,10 +31206,56 @@ diff -urNp linux-2.6.32.48/drivers/net/bnx2.c l= inux-2.6.32.48/drivers/net/bnx2.c if ((rc =3D bnx2_nvram_read(bp, 0, data, 4)) !=3D 0) goto test_nvram_done; =20 -diff -urNp linux-2.6.32.48/drivers/net/cxgb3/l2t.h linux-2.6.32.48/drive= rs/net/cxgb3/l2t.h ---- linux-2.6.32.48/drivers/net/cxgb3/l2t.h 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/net/cxgb3/l2t.h 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -86,7 +86,7 @@ typedef void (*arp_failure_handler_func) +diff -urNp linux-3.0.8/drivers/net/bnx2x/bnx2x_ethtool.c linux-3.0.8/dri= vers/net/bnx2x/bnx2x_ethtool.c +--- linux-3.0.8/drivers/net/bnx2x/bnx2x_ethtool.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/net/bnx2x/bnx2x_ethtool.c 2011-08-23 21:48:14.00= 0000000 -0400 +@@ -1705,6 +1705,8 @@ static int bnx2x_test_nvram(struct bnx2x + int i, rc; + u32 magic, crc; +=20 ++ pax_track_stack(); ++ + if (BP_NOMCP(bp)) + return 0; +=20 +diff -urNp linux-3.0.8/drivers/net/can/mscan/mscan.c linux-3.0.8/drivers= /net/can/mscan/mscan.c +--- linux-3.0.8/drivers/net/can/mscan/mscan.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/net/can/mscan/mscan.c 2011-10-17 02:51:46.000000= 000 -0400 +@@ -261,11 +261,13 @@ static netdev_tx_t mscan_start_xmit(stru + void __iomem *data =3D ®s->tx.dsr1_0; + u16 *payload =3D (u16 *)frame->data; +=20 +- /* It is safe to write into dsr[dlc+1] */ +- for (i =3D 0; i < (frame->can_dlc + 1) / 2; i++) { ++ for (i =3D 0; i < frame->can_dlc / 2; i++) { + out_be16(data, *payload++); + data +=3D 2 + _MSCAN_RESERVED_DSR_SIZE; + } ++ /* write remaining byte if necessary */ ++ if (frame->can_dlc & 1) ++ out_8(data, frame->data[frame->can_dlc - 1]); + } +=20 + out_8(®s->tx.dlr, frame->can_dlc); +@@ -330,10 +332,13 @@ static void mscan_get_rx_frame(struct ne + void __iomem *data =3D ®s->rx.dsr1_0; + u16 *payload =3D (u16 *)frame->data; +=20 +- for (i =3D 0; i < (frame->can_dlc + 1) / 2; i++) { ++ for (i =3D 0; i < frame->can_dlc / 2; i++) { + *payload++ =3D in_be16(data); + data +=3D 2 + _MSCAN_RESERVED_DSR_SIZE; + } ++ /* read remaining byte if necessary */ ++ if (frame->can_dlc & 1) ++ frame->data[frame->can_dlc - 1] =3D in_8(data); + } +=20 + out_8(®s->canrflg, MSCAN_RXF); +diff -urNp linux-3.0.8/drivers/net/cxgb3/l2t.h linux-3.0.8/drivers/net/c= xgb3/l2t.h +--- linux-3.0.8/drivers/net/cxgb3/l2t.h 2011-10-24 08:05:30.000000000 -0= 400 ++++ linux-3.0.8/drivers/net/cxgb3/l2t.h 2011-10-16 21:55:27.000000000 -0= 400 +@@ -87,7 +87,7 @@ typedef void (*arp_failure_handler_func) */ struct l2t_skb_cb { arp_failure_handler_func arp_failure_handler; @@ -34509,22 +31264,34 @@ diff -urNp linux-2.6.32.48/drivers/net/cxgb3/l2= t.h linux-2.6.32.48/drivers/net/c =20 #define L2T_SKB_CB(skb) ((struct l2t_skb_cb *)(skb)->cb) =20 -diff -urNp linux-2.6.32.48/drivers/net/cxgb3/t3_hw.c linux-2.6.32.48/dri= vers/net/cxgb3/t3_hw.c ---- linux-2.6.32.48/drivers/net/cxgb3/t3_hw.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/net/cxgb3/t3_hw.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -699,6 +699,8 @@ static int get_vpd_params(struct adapter - int i, addr, ret; - struct t3_vpd vpd; +diff -urNp linux-3.0.8/drivers/net/cxgb4/cxgb4_main.c linux-3.0.8/driver= s/net/cxgb4/cxgb4_main.c +--- linux-3.0.8/drivers/net/cxgb4/cxgb4_main.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/net/cxgb4/cxgb4_main.c 2011-08-23 21:48:14.00000= 0000 -0400 +@@ -3396,6 +3396,8 @@ static int __devinit enable_msix(struct=20 + unsigned int nchan =3D adap->params.nports; + struct msix_entry entries[MAX_INGQ + 1]; =20 + pax_track_stack(); + - /* - * Card information is normally at VPD_BASE but some early cards had - * it at 0. -diff -urNp linux-2.6.32.48/drivers/net/e1000e/82571.c linux-2.6.32.48/dr= ivers/net/e1000e/82571.c ---- linux-2.6.32.48/drivers/net/e1000e/82571.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/e1000e/82571.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -212,7 +212,7 @@ static s32 e1000_init_mac_params_82571(s + for (i =3D 0; i < ARRAY_SIZE(entries); ++i) + entries[i].entry =3D i; +=20 +diff -urNp linux-3.0.8/drivers/net/cxgb4/t4_hw.c linux-3.0.8/drivers/net= /cxgb4/t4_hw.c +--- linux-3.0.8/drivers/net/cxgb4/t4_hw.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/net/cxgb4/t4_hw.c 2011-08-23 21:48:14.000000000 = -0400 +@@ -362,6 +362,8 @@ static int get_vpd_params(struct adapter + u8 vpd[VPD_LEN], csum; + unsigned int vpdr_len, kw_offset, id_len; +=20 ++ pax_track_stack(); ++ + ret =3D pci_read_vpd(adapter->pdev, VPD_BASE, sizeof(vpd), vpd); + if (ret < 0) + return ret; +diff -urNp linux-3.0.8/drivers/net/e1000e/82571.c linux-3.0.8/drivers/ne= t/e1000e/82571.c +--- linux-3.0.8/drivers/net/e1000e/82571.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/net/e1000e/82571.c 2011-08-23 21:47:55.000000000= -0400 +@@ -239,7 +239,7 @@ static s32 e1000_init_mac_params_82571(s { struct e1000_hw *hw =3D &adapter->hw; struct e1000_mac_info *mac =3D &hw->mac; @@ -34533,71 +31300,10 @@ diff -urNp linux-2.6.32.48/drivers/net/e1000e/8= 2571.c linux-2.6.32.48/drivers/ne u32 swsm =3D 0; u32 swsm2 =3D 0; bool force_clear_smbi =3D false; -@@ -1656,7 +1656,7 @@ static void e1000_clear_hw_cntrs_82571(s - temp =3D er32(ICRXDMTC); - } -=20 --static struct e1000_mac_operations e82571_mac_ops =3D { -+static const struct e1000_mac_operations e82571_mac_ops =3D { - /* .check_mng_mode: mac type dependent */ - /* .check_for_link: media type dependent */ - .id_led_init =3D e1000e_id_led_init, -@@ -1674,7 +1674,7 @@ static struct e1000_mac_operations e8257 - .setup_led =3D e1000e_setup_led_generic, - }; -=20 --static struct e1000_phy_operations e82_phy_ops_igp =3D { -+static const struct e1000_phy_operations e82_phy_ops_igp =3D { - .acquire_phy =3D e1000_get_hw_semaphore_82571, - .check_reset_block =3D e1000e_check_reset_block_generic, - .commit_phy =3D NULL, -@@ -1691,7 +1691,7 @@ static struct e1000_phy_operations e82_p - .cfg_on_link_up =3D NULL, - }; -=20 --static struct e1000_phy_operations e82_phy_ops_m88 =3D { -+static const struct e1000_phy_operations e82_phy_ops_m88 =3D { - .acquire_phy =3D e1000_get_hw_semaphore_82571, - .check_reset_block =3D e1000e_check_reset_block_generic, - .commit_phy =3D e1000e_phy_sw_reset, -@@ -1708,7 +1708,7 @@ static struct e1000_phy_operations e82_p - .cfg_on_link_up =3D NULL, - }; -=20 --static struct e1000_phy_operations e82_phy_ops_bm =3D { -+static const struct e1000_phy_operations e82_phy_ops_bm =3D { - .acquire_phy =3D e1000_get_hw_semaphore_82571, - .check_reset_block =3D e1000e_check_reset_block_generic, - .commit_phy =3D e1000e_phy_sw_reset, -@@ -1725,7 +1725,7 @@ static struct e1000_phy_operations e82_p - .cfg_on_link_up =3D NULL, - }; -=20 --static struct e1000_nvm_operations e82571_nvm_ops =3D { -+static const struct e1000_nvm_operations e82571_nvm_ops =3D { - .acquire_nvm =3D e1000_acquire_nvm_82571, - .read_nvm =3D e1000e_read_nvm_eerd, - .release_nvm =3D e1000_release_nvm_82571, -diff -urNp linux-2.6.32.48/drivers/net/e1000e/e1000.h linux-2.6.32.48/dr= ivers/net/e1000e/e1000.h ---- linux-2.6.32.48/drivers/net/e1000e/e1000.h 2011-11-12 12:44:29.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/e1000e/e1000.h 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -375,9 +375,9 @@ struct e1000_info { - u32 pba; - u32 max_hw_frame_size; - s32 (*get_variants)(struct e1000_adapter *); -- struct e1000_mac_operations *mac_ops; -- struct e1000_phy_operations *phy_ops; -- struct e1000_nvm_operations *nvm_ops; -+ const struct e1000_mac_operations *mac_ops; -+ const struct e1000_phy_operations *phy_ops; -+ const struct e1000_nvm_operations *nvm_ops; - }; -=20 - /* hardware capability, feature, and workaround flags */ -diff -urNp linux-2.6.32.48/drivers/net/e1000e/es2lan.c linux-2.6.32.48/d= rivers/net/e1000e/es2lan.c ---- linux-2.6.32.48/drivers/net/e1000e/es2lan.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/net/e1000e/es2lan.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -207,7 +207,7 @@ static s32 e1000_init_mac_params_80003es +diff -urNp linux-3.0.8/drivers/net/e1000e/es2lan.c linux-3.0.8/drivers/n= et/e1000e/es2lan.c +--- linux-3.0.8/drivers/net/e1000e/es2lan.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/net/e1000e/es2lan.c 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -205,7 +205,7 @@ static s32 e1000_init_mac_params_80003es { struct e1000_hw *hw =3D &adapter->hw; struct e1000_mac_info *mac =3D &hw->mac; @@ -34606,65 +31312,38 @@ diff -urNp linux-2.6.32.48/drivers/net/e1000e/e= s2lan.c linux-2.6.32.48/drivers/n =20 /* Set media type */ switch (adapter->pdev->device) { -@@ -1365,7 +1365,7 @@ static void e1000_clear_hw_cntrs_80003es - temp =3D er32(ICRXDMTC); - } -=20 --static struct e1000_mac_operations es2_mac_ops =3D { -+static const struct e1000_mac_operations es2_mac_ops =3D { - .id_led_init =3D e1000e_id_led_init, - .check_mng_mode =3D e1000e_check_mng_mode_generic, - /* check_for_link dependent on media type */ -@@ -1383,7 +1383,7 @@ static struct e1000_mac_operations es2_m - .setup_led =3D e1000e_setup_led_generic, - }; -=20 --static struct e1000_phy_operations es2_phy_ops =3D { -+static const struct e1000_phy_operations es2_phy_ops =3D { - .acquire_phy =3D e1000_acquire_phy_80003es2lan, - .check_reset_block =3D e1000e_check_reset_block_generic, - .commit_phy =3D e1000e_phy_sw_reset, -@@ -1400,7 +1400,7 @@ static struct e1000_phy_operations es2_p - .cfg_on_link_up =3D e1000_cfg_on_link_up_80003es2lan, - }; -=20 --static struct e1000_nvm_operations es2_nvm_ops =3D { -+static const struct e1000_nvm_operations es2_nvm_ops =3D { - .acquire_nvm =3D e1000_acquire_nvm_80003es2lan, - .read_nvm =3D e1000e_read_nvm_eerd, - .release_nvm =3D e1000_release_nvm_80003es2lan, -diff -urNp linux-2.6.32.48/drivers/net/e1000e/hw.h linux-2.6.32.48/drive= rs/net/e1000e/hw.h ---- linux-2.6.32.48/drivers/net/e1000e/hw.h 2011-11-12 12:44:29.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/net/e1000e/hw.h 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -753,6 +753,7 @@ struct e1000_mac_operations { - s32 (*setup_physical_interface)(struct e1000_hw *); - s32 (*setup_led)(struct e1000_hw *); +diff -urNp linux-3.0.8/drivers/net/e1000e/hw.h linux-3.0.8/drivers/net/e= 1000e/hw.h +--- linux-3.0.8/drivers/net/e1000e/hw.h 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/net/e1000e/hw.h 2011-08-23 21:47:55.000000000 -0= 400 +@@ -776,6 +776,7 @@ struct e1000_mac_operations { + void (*write_vfta)(struct e1000_hw *, u32, u32); + s32 (*read_mac_addr)(struct e1000_hw *); }; +typedef struct e1000_mac_operations __no_const e1000_mac_operations_no_= const; =20 /* Function pointers for the PHY. */ struct e1000_phy_operations { -@@ -774,6 +775,7 @@ struct e1000_phy_operations { - s32 (*write_phy_reg_locked)(struct e1000_hw *, u32, u16); - s32 (*cfg_on_link_up)(struct e1000_hw *); +@@ -799,6 +800,7 @@ struct e1000_phy_operations { + void (*power_up)(struct e1000_hw *); + void (*power_down)(struct e1000_hw *); }; +typedef struct e1000_phy_operations __no_const e1000_phy_operations_no_= const; =20 /* Function pointers for the NVM. */ struct e1000_nvm_operations { -@@ -785,9 +787,10 @@ struct e1000_nvm_operations { - s32 (*validate_nvm)(struct e1000_hw *); - s32 (*write_nvm)(struct e1000_hw *, u16, u16, u16 *); +@@ -810,9 +812,10 @@ struct e1000_nvm_operations { + s32 (*validate)(struct e1000_hw *); + s32 (*write)(struct e1000_hw *, u16, u16, u16 *); }; +typedef struct e1000_nvm_operations __no_const e1000_nvm_operations_no_= const; =20 struct e1000_mac_info { - struct e1000_mac_operations ops; + e1000_mac_operations_no_const ops; + u8 addr[ETH_ALEN]; + u8 perm_addr[ETH_ALEN]; =20 - u8 addr[6]; - u8 perm_addr[6]; -@@ -823,7 +826,7 @@ struct e1000_mac_info { +@@ -853,7 +856,7 @@ struct e1000_mac_info { }; =20 struct e1000_phy_info { @@ -34673,7 +31352,7 @@ diff -urNp linux-2.6.32.48/drivers/net/e1000e/hw.= h linux-2.6.32.48/drivers/net/e =20 enum e1000_phy_type type; =20 -@@ -857,7 +860,7 @@ struct e1000_phy_info { +@@ -887,7 +890,7 @@ struct e1000_phy_info { }; =20 struct e1000_nvm_info { @@ -34682,40 +31361,22 @@ diff -urNp linux-2.6.32.48/drivers/net/e1000e/h= w.h linux-2.6.32.48/drivers/net/e =20 enum e1000_nvm_type type; enum e1000_nvm_override override; -diff -urNp linux-2.6.32.48/drivers/net/e1000e/ich8lan.c linux-2.6.32.48/= drivers/net/e1000e/ich8lan.c ---- linux-2.6.32.48/drivers/net/e1000e/ich8lan.c 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/net/e1000e/ich8lan.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -3463,7 +3463,7 @@ static void e1000_clear_hw_cntrs_ich8lan - } - } -=20 --static struct e1000_mac_operations ich8_mac_ops =3D { -+static const struct e1000_mac_operations ich8_mac_ops =3D { - .id_led_init =3D e1000e_id_led_init, - .check_mng_mode =3D e1000_check_mng_mode_ich8lan, - .check_for_link =3D e1000_check_for_copper_link_ich8lan, -@@ -3481,7 +3481,7 @@ static struct e1000_mac_operations ich8_ - /* id_led_init dependent on mac type */ - }; -=20 --static struct e1000_phy_operations ich8_phy_ops =3D { -+static const struct e1000_phy_operations ich8_phy_ops =3D { - .acquire_phy =3D e1000_acquire_swflag_ich8lan, - .check_reset_block =3D e1000_check_reset_block_ich8lan, - .commit_phy =3D NULL, -@@ -3497,7 +3497,7 @@ static struct e1000_phy_operations ich8_ - .write_phy_reg =3D e1000e_write_phy_reg_igp, +diff -urNp linux-3.0.8/drivers/net/fealnx.c linux-3.0.8/drivers/net/feal= nx.c +--- linux-3.0.8/drivers/net/fealnx.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/fealnx.c 2011-10-11 10:44:33.000000000 -0400 +@@ -150,7 +150,7 @@ struct chip_info { + int flags; }; =20 --static struct e1000_nvm_operations ich8_nvm_ops =3D { -+static const struct e1000_nvm_operations ich8_nvm_ops =3D { - .acquire_nvm =3D e1000_acquire_nvm_ich8lan, - .read_nvm =3D e1000_read_nvm_ich8lan, - .release_nvm =3D e1000_release_nvm_ich8lan, -diff -urNp linux-2.6.32.48/drivers/net/hamradio/6pack.c linux-2.6.32.48/= drivers/net/hamradio/6pack.c ---- linux-2.6.32.48/drivers/net/hamradio/6pack.c 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/net/hamradio/6pack.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -461,6 +461,8 @@ static void sixpack_receive_buf(struct t +-static const struct chip_info skel_netdrv_tbl[] __devinitdata =3D { ++static const struct chip_info skel_netdrv_tbl[] __devinitconst =3D { + { "100/10M Ethernet PCI Adapter", HAS_MII_XCVR }, + { "100/10M Ethernet PCI Adapter", HAS_CHIP_XCVR }, + { "1000/100/10M Ethernet PCI Adapter", HAS_MII_XCVR }, +diff -urNp linux-3.0.8/drivers/net/hamradio/6pack.c linux-3.0.8/drivers/= net/hamradio/6pack.c +--- linux-3.0.8/drivers/net/hamradio/6pack.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/net/hamradio/6pack.c 2011-08-23 21:48:14.0000000= 00 -0400 +@@ -463,6 +463,8 @@ static void sixpack_receive_buf(struct t unsigned char buf[512]; int count1; =20 @@ -34724,50 +31385,10 @@ diff -urNp linux-2.6.32.48/drivers/net/hamradio= /6pack.c linux-2.6.32.48/drivers/ if (!count) return; =20 -diff -urNp linux-2.6.32.48/drivers/net/ibmveth.c linux-2.6.32.48/drivers= /net/ibmveth.c ---- linux-2.6.32.48/drivers/net/ibmveth.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/net/ibmveth.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -1577,7 +1577,7 @@ static struct attribute * veth_pool_attr - NULL, - }; -=20 --static struct sysfs_ops veth_pool_ops =3D { -+static const struct sysfs_ops veth_pool_ops =3D { - .show =3D veth_pool_show, - .store =3D veth_pool_store, - }; -diff -urNp linux-2.6.32.48/drivers/net/igb/e1000_82575.c linux-2.6.32.48= /drivers/net/igb/e1000_82575.c ---- linux-2.6.32.48/drivers/net/igb/e1000_82575.c 2011-11-12 12:44:29.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/net/igb/e1000_82575.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -1411,7 +1411,7 @@ void igb_vmdq_set_replication_pf(struct=20 - wr32(E1000_VT_CTL, vt_ctl); - } -=20 --static struct e1000_mac_operations e1000_mac_ops_82575 =3D { -+static const struct e1000_mac_operations e1000_mac_ops_82575 =3D { - .reset_hw =3D igb_reset_hw_82575, - .init_hw =3D igb_init_hw_82575, - .check_for_link =3D igb_check_for_link_82575, -@@ -1420,13 +1420,13 @@ static struct e1000_mac_operations e1000 - .get_speed_and_duplex =3D igb_get_speed_and_duplex_copper, - }; -=20 --static struct e1000_phy_operations e1000_phy_ops_82575 =3D { -+static const struct e1000_phy_operations e1000_phy_ops_82575 =3D { - .acquire =3D igb_acquire_phy_82575, - .get_cfg_done =3D igb_get_cfg_done_82575, - .release =3D igb_release_phy_82575, - }; -=20 --static struct e1000_nvm_operations e1000_nvm_ops_82575 =3D { -+static const struct e1000_nvm_operations e1000_nvm_ops_82575 =3D { - .acquire =3D igb_acquire_nvm_82575, - .read =3D igb_read_nvm_eerd, - .release =3D igb_release_nvm_82575, -diff -urNp linux-2.6.32.48/drivers/net/igb/e1000_hw.h linux-2.6.32.48/dr= ivers/net/igb/e1000_hw.h ---- linux-2.6.32.48/drivers/net/igb/e1000_hw.h 2011-11-12 12:44:29.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/igb/e1000_hw.h 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -288,6 +288,7 @@ struct e1000_mac_operations { +diff -urNp linux-3.0.8/drivers/net/igb/e1000_hw.h linux-3.0.8/drivers/ne= t/igb/e1000_hw.h +--- linux-3.0.8/drivers/net/igb/e1000_hw.h 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/net/igb/e1000_hw.h 2011-08-23 21:47:55.000000000= -0400 +@@ -314,6 +314,7 @@ struct e1000_mac_operations { s32 (*read_mac_addr)(struct e1000_hw *); s32 (*get_speed_and_duplex)(struct e1000_hw *, u16 *, u16 *); }; @@ -34775,7 +31396,7 @@ diff -urNp linux-2.6.32.48/drivers/net/igb/e1000_= hw.h linux-2.6.32.48/drivers/ne =20 struct e1000_phy_operations { s32 (*acquire)(struct e1000_hw *); -@@ -303,6 +304,7 @@ struct e1000_phy_operations { +@@ -330,6 +331,7 @@ struct e1000_phy_operations { s32 (*set_d3_lplu_state)(struct e1000_hw *, bool); s32 (*write_reg)(struct e1000_hw *, u32, u16); }; @@ -34783,15 +31404,15 @@ diff -urNp linux-2.6.32.48/drivers/net/igb/e100= 0_hw.h linux-2.6.32.48/drivers/ne =20 struct e1000_nvm_operations { s32 (*acquire)(struct e1000_hw *); -@@ -310,6 +312,7 @@ struct e1000_nvm_operations { - void (*release)(struct e1000_hw *); - s32 (*write)(struct e1000_hw *, u16, u16, u16 *); +@@ -339,6 +341,7 @@ struct e1000_nvm_operations { + s32 (*update)(struct e1000_hw *); + s32 (*validate)(struct e1000_hw *); }; +typedef struct e1000_nvm_operations __no_const e1000_nvm_operations_no_= const; =20 struct e1000_info { s32 (*get_invariants)(struct e1000_hw *); -@@ -321,7 +324,7 @@ struct e1000_info { +@@ -350,7 +353,7 @@ struct e1000_info { extern const struct e1000_info e1000_82575_info; =20 struct e1000_mac_info { @@ -34800,7 +31421,7 @@ diff -urNp linux-2.6.32.48/drivers/net/igb/e1000_= hw.h linux-2.6.32.48/drivers/ne =20 u8 addr[6]; u8 perm_addr[6]; -@@ -365,7 +368,7 @@ struct e1000_mac_info { +@@ -388,7 +391,7 @@ struct e1000_mac_info { }; =20 struct e1000_phy_info { @@ -34809,16 +31430,16 @@ diff -urNp linux-2.6.32.48/drivers/net/igb/e100= 0_hw.h linux-2.6.32.48/drivers/ne =20 enum e1000_phy_type type; =20 -@@ -400,7 +403,7 @@ struct e1000_phy_info { +@@ -423,7 +426,7 @@ struct e1000_phy_info { }; =20 struct e1000_nvm_info { - struct e1000_nvm_operations ops; + e1000_nvm_operations_no_const ops; -=20 enum e1000_nvm_type type; enum e1000_nvm_override override; -@@ -446,6 +449,7 @@ struct e1000_mbx_operations { +=20 +@@ -468,6 +471,7 @@ struct e1000_mbx_operations { s32 (*check_for_ack)(struct e1000_hw *, u16); s32 (*check_for_rst)(struct e1000_hw *, u16); }; @@ -34826,7 +31447,7 @@ diff -urNp linux-2.6.32.48/drivers/net/igb/e1000_= hw.h linux-2.6.32.48/drivers/ne =20 struct e1000_mbx_stats { u32 msgs_tx; -@@ -457,7 +461,7 @@ struct e1000_mbx_stats { +@@ -479,7 +483,7 @@ struct e1000_mbx_stats { }; =20 struct e1000_mbx_info { @@ -34835,10 +31456,10 @@ diff -urNp linux-2.6.32.48/drivers/net/igb/e100= 0_hw.h linux-2.6.32.48/drivers/ne struct e1000_mbx_stats stats; u32 timeout; u32 usec_delay; -diff -urNp linux-2.6.32.48/drivers/net/igbvf/vf.h linux-2.6.32.48/driver= s/net/igbvf/vf.h ---- linux-2.6.32.48/drivers/net/igbvf/vf.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/net/igbvf/vf.h 2011-11-12 12:46:45.000000000= -0500 -@@ -187,9 +187,10 @@ struct e1000_mac_operations { +diff -urNp linux-3.0.8/drivers/net/igbvf/vf.h linux-3.0.8/drivers/net/ig= bvf/vf.h +--- linux-3.0.8/drivers/net/igbvf/vf.h 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/net/igbvf/vf.h 2011-08-23 21:47:55.000000000 -04= 00 +@@ -189,9 +189,10 @@ struct e1000_mac_operations { s32 (*read_mac_addr)(struct e1000_hw *); s32 (*set_vfta)(struct e1000_hw *, u16, bool); }; @@ -34850,7 +31471,7 @@ diff -urNp linux-2.6.32.48/drivers/net/igbvf/vf.h= linux-2.6.32.48/drivers/net/ig u8 addr[6]; u8 perm_addr[6]; =20 -@@ -211,6 +212,7 @@ struct e1000_mbx_operations { +@@ -213,6 +214,7 @@ struct e1000_mbx_operations { s32 (*check_for_ack)(struct e1000_hw *); s32 (*check_for_rst)(struct e1000_hw *); }; @@ -34858,7 +31479,7 @@ diff -urNp linux-2.6.32.48/drivers/net/igbvf/vf.h= linux-2.6.32.48/drivers/net/ig =20 struct e1000_mbx_stats { u32 msgs_tx; -@@ -222,7 +224,7 @@ struct e1000_mbx_stats { +@@ -224,7 +226,7 @@ struct e1000_mbx_stats { }; =20 struct e1000_mbx_info { @@ -34867,31 +31488,10 @@ diff -urNp linux-2.6.32.48/drivers/net/igbvf/vf= .h linux-2.6.32.48/drivers/net/ig struct e1000_mbx_stats stats; u32 timeout; u32 usec_delay; -diff -urNp linux-2.6.32.48/drivers/net/iseries_veth.c linux-2.6.32.48/dr= ivers/net/iseries_veth.c ---- linux-2.6.32.48/drivers/net/iseries_veth.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/iseries_veth.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -384,7 +384,7 @@ static struct attribute *veth_cnx_defaul - NULL - }; -=20 --static struct sysfs_ops veth_cnx_sysfs_ops =3D { -+static const struct sysfs_ops veth_cnx_sysfs_ops =3D { - .show =3D veth_cnx_attribute_show - }; -=20 -@@ -441,7 +441,7 @@ static struct attribute *veth_port_defau - NULL - }; -=20 --static struct sysfs_ops veth_port_sysfs_ops =3D { -+static const struct sysfs_ops veth_port_sysfs_ops =3D { - .show =3D veth_port_attribute_show - }; -=20 -diff -urNp linux-2.6.32.48/drivers/net/ixgb/ixgb_main.c linux-2.6.32.48/= drivers/net/ixgb/ixgb_main.c ---- linux-2.6.32.48/drivers/net/ixgb/ixgb_main.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/net/ixgb/ixgb_main.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -1052,6 +1052,8 @@ ixgb_set_multi(struct net_device *netdev +diff -urNp linux-3.0.8/drivers/net/ixgb/ixgb_main.c linux-3.0.8/drivers/= net/ixgb/ixgb_main.c +--- linux-3.0.8/drivers/net/ixgb/ixgb_main.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/net/ixgb/ixgb_main.c 2011-08-23 21:48:14.0000000= 00 -0400 +@@ -1070,6 +1070,8 @@ ixgb_set_multi(struct net_device *netdev u32 rctl; int i; =20 @@ -34900,10 +31500,10 @@ diff -urNp linux-2.6.32.48/drivers/net/ixgb/ixg= b_main.c linux-2.6.32.48/drivers/ /* Check for Promiscuous and All Multicast modes */ =20 rctl =3D IXGB_READ_REG(hw, RCTL); -diff -urNp linux-2.6.32.48/drivers/net/ixgb/ixgb_param.c linux-2.6.32.48= /drivers/net/ixgb/ixgb_param.c ---- linux-2.6.32.48/drivers/net/ixgb/ixgb_param.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/net/ixgb/ixgb_param.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -260,6 +260,9 @@ void __devinit +diff -urNp linux-3.0.8/drivers/net/ixgb/ixgb_param.c linux-3.0.8/drivers= /net/ixgb/ixgb_param.c +--- linux-3.0.8/drivers/net/ixgb/ixgb_param.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/net/ixgb/ixgb_param.c 2011-08-23 21:48:14.000000= 000 -0400 +@@ -261,6 +261,9 @@ void __devinit ixgb_check_options(struct ixgb_adapter *adapter) { int bd =3D adapter->bd_number; @@ -34911,20 +31511,20 @@ diff -urNp linux-2.6.32.48/drivers/net/ixgb/ixg= b_param.c linux-2.6.32.48/drivers + pax_track_stack(); + if (bd >=3D IXGB_MAX_NIC) { - printk(KERN_NOTICE - "Warning: no configuration for board #%i\n", bd); -diff -urNp linux-2.6.32.48/drivers/net/ixgbe/ixgbe_type.h linux-2.6.32.4= 8/drivers/net/ixgbe/ixgbe_type.h ---- linux-2.6.32.48/drivers/net/ixgbe/ixgbe_type.h 2011-11-12 12:44:29.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/net/ixgbe/ixgbe_type.h 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -2327,6 +2327,7 @@ struct ixgbe_eeprom_operations { - s32 (*validate_checksum)(struct ixgbe_hw *, u16 *); + pr_notice("Warning: no configuration for board #%i\n", bd); + pr_notice("Using defaults for all values\n"); +diff -urNp linux-3.0.8/drivers/net/ixgbe/ixgbe_type.h linux-3.0.8/driver= s/net/ixgbe/ixgbe_type.h +--- linux-3.0.8/drivers/net/ixgbe/ixgbe_type.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/net/ixgbe/ixgbe_type.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -2584,6 +2584,7 @@ struct ixgbe_eeprom_operations { s32 (*update_checksum)(struct ixgbe_hw *); + u16 (*calc_checksum)(struct ixgbe_hw *); }; +typedef struct ixgbe_eeprom_operations __no_const ixgbe_eeprom_operatio= ns_no_const; =20 struct ixgbe_mac_operations { s32 (*init_hw)(struct ixgbe_hw *); -@@ -2376,6 +2377,7 @@ struct ixgbe_mac_operations { +@@ -2639,6 +2640,7 @@ struct ixgbe_mac_operations { /* Flow Control */ s32 (*fc_enable)(struct ixgbe_hw *, s32); }; @@ -34932,9 +31532,9 @@ diff -urNp linux-2.6.32.48/drivers/net/ixgbe/ixgb= e_type.h linux-2.6.32.48/driver =20 struct ixgbe_phy_operations { s32 (*identify)(struct ixgbe_hw *); -@@ -2394,9 +2396,10 @@ struct ixgbe_phy_operations { - s32 (*read_i2c_eeprom)(struct ixgbe_hw *, u8 , u8 *); +@@ -2658,9 +2660,10 @@ struct ixgbe_phy_operations { s32 (*write_i2c_eeprom)(struct ixgbe_hw *, u8, u8); + s32 (*check_overtemp)(struct ixgbe_hw *); }; +typedef struct ixgbe_phy_operations __no_const ixgbe_phy_operations_no_= const; =20 @@ -34944,16 +31544,16 @@ diff -urNp linux-2.6.32.48/drivers/net/ixgbe/ix= gbe_type.h linux-2.6.32.48/driver enum ixgbe_eeprom_type type; u32 semaphore_delay; u16 word_size; -@@ -2404,7 +2407,7 @@ struct ixgbe_eeprom_info { - }; +@@ -2670,7 +2673,7 @@ struct ixgbe_eeprom_info { =20 + #define IXGBE_FLAGS_DOUBLE_RESET_REQUIRED 0x01 struct ixgbe_mac_info { - struct ixgbe_mac_operations ops; + ixgbe_mac_operations_no_const ops; enum ixgbe_mac_type type; u8 addr[IXGBE_ETH_LENGTH_OF_ADDRESS]; u8 perm_addr[IXGBE_ETH_LENGTH_OF_ADDRESS]= ; -@@ -2423,7 +2426,7 @@ struct ixgbe_mac_info { +@@ -2698,7 +2701,7 @@ struct ixgbe_mac_info { }; =20 struct ixgbe_phy_info { @@ -34962,18 +31562,84 @@ diff -urNp linux-2.6.32.48/drivers/net/ixgbe/ix= gbe_type.h linux-2.6.32.48/driver struct mdio_if_info mdio; enum ixgbe_phy_type type; u32 id; -diff -urNp linux-2.6.32.48/drivers/net/mlx4/main.c linux-2.6.32.48/drive= rs/net/mlx4/main.c ---- linux-2.6.32.48/drivers/net/mlx4/main.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/net/mlx4/main.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -38,6 +38,7 @@ - #include - #include +@@ -2726,6 +2729,7 @@ struct ixgbe_mbx_operations { + s32 (*check_for_ack)(struct ixgbe_hw *, u16); + s32 (*check_for_rst)(struct ixgbe_hw *, u16); + }; ++typedef struct ixgbe_mbx_operations __no_const ixgbe_mbx_operations_no_= const; +=20 + struct ixgbe_mbx_stats { + u32 msgs_tx; +@@ -2737,7 +2741,7 @@ struct ixgbe_mbx_stats { + }; +=20 + struct ixgbe_mbx_info { +- struct ixgbe_mbx_operations ops; ++ ixgbe_mbx_operations_no_const ops; + struct ixgbe_mbx_stats stats; + u32 timeout; + u32 usec_delay; +diff -urNp linux-3.0.8/drivers/net/ixgbevf/vf.h linux-3.0.8/drivers/net/= ixgbevf/vf.h +--- linux-3.0.8/drivers/net/ixgbevf/vf.h 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/net/ixgbevf/vf.h 2011-08-23 21:47:55.000000000 -= 0400 +@@ -70,6 +70,7 @@ struct ixgbe_mac_operations { + s32 (*clear_vfta)(struct ixgbe_hw *); + s32 (*set_vfta)(struct ixgbe_hw *, u32, u32, bool); + }; ++typedef struct ixgbe_mac_operations __no_const ixgbe_mac_operations_no_= const; +=20 + enum ixgbe_mac_type { + ixgbe_mac_unknown =3D 0, +@@ -79,7 +80,7 @@ enum ixgbe_mac_type { + }; +=20 + struct ixgbe_mac_info { +- struct ixgbe_mac_operations ops; ++ ixgbe_mac_operations_no_const ops; + u8 addr[6]; + u8 perm_addr[6]; +=20 +@@ -103,6 +104,7 @@ struct ixgbe_mbx_operations { + s32 (*check_for_ack)(struct ixgbe_hw *); + s32 (*check_for_rst)(struct ixgbe_hw *); + }; ++typedef struct ixgbe_mbx_operations __no_const ixgbe_mbx_operations_no_= const; +=20 + struct ixgbe_mbx_stats { + u32 msgs_tx; +@@ -114,7 +116,7 @@ struct ixgbe_mbx_stats { + }; +=20 + struct ixgbe_mbx_info { +- struct ixgbe_mbx_operations ops; ++ ixgbe_mbx_operations_no_const ops; + struct ixgbe_mbx_stats stats; + u32 timeout; + u32 udelay; +diff -urNp linux-3.0.8/drivers/net/ksz884x.c linux-3.0.8/drivers/net/ksz= 884x.c +--- linux-3.0.8/drivers/net/ksz884x.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/net/ksz884x.c 2011-08-23 21:48:14.000000000 -040= 0 +@@ -6534,6 +6534,8 @@ static void netdev_get_ethtool_stats(str + int rc; + u64 counter[TOTAL_PORT_COUNTER_NUM]; +=20 ++ pax_track_stack(); ++ + mutex_lock(&hw_priv->lock); + n =3D SWITCH_PORT_NUM; + for (i =3D 0, p =3D port->first_port; i < port->mib_port_cnt; i++, p++= ) { +diff -urNp linux-3.0.8/drivers/net/mlx4/main.c linux-3.0.8/drivers/net/m= lx4/main.c +--- linux-3.0.8/drivers/net/mlx4/main.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/net/mlx4/main.c 2011-08-23 21:48:14.000000000 -0= 400 +@@ -40,6 +40,7 @@ #include + #include + #include +#include =20 #include #include -@@ -730,6 +731,8 @@ static int mlx4_init_hca(struct mlx4_dev +@@ -764,6 +765,8 @@ static int mlx4_init_hca(struct mlx4_dev u64 icm_size; int err; =20 @@ -34982,10 +31648,10 @@ diff -urNp linux-2.6.32.48/drivers/net/mlx4/mai= n.c linux-2.6.32.48/drivers/net/m err =3D mlx4_QUERY_FW(dev); if (err) { if (err =3D=3D -EACCES) -diff -urNp linux-2.6.32.48/drivers/net/niu.c linux-2.6.32.48/drivers/net= /niu.c ---- linux-2.6.32.48/drivers/net/niu.c 2011-11-12 12:44:29.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/net/niu.c 2011-11-12 12:46:45.000000000 -050= 0 -@@ -9128,6 +9128,8 @@ static void __devinit niu_try_msix(struc +diff -urNp linux-3.0.8/drivers/net/niu.c linux-3.0.8/drivers/net/niu.c +--- linux-3.0.8/drivers/net/niu.c 2011-10-24 08:05:21.000000000 -0400 ++++ linux-3.0.8/drivers/net/niu.c 2011-08-23 21:48:14.000000000 -0400 +@@ -9056,6 +9056,8 @@ static void __devinit niu_try_msix(struc int i, num_irqs, err; u8 first_ldg; =20 @@ -34994,10 +31660,10 @@ diff -urNp linux-2.6.32.48/drivers/net/niu.c li= nux-2.6.32.48/drivers/net/niu.c first_ldg =3D (NIU_NUM_LDG / parent->num_ports) * np->port; for (i =3D 0; i < (NIU_NUM_LDG / parent->num_ports); i++) ldg_num_map[i] =3D first_ldg + i; -diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c linux-2.6.32.48/drivers= /net/pcnet32.c ---- linux-2.6.32.48/drivers/net/pcnet32.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/net/pcnet32.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -79,7 +79,7 @@ static int cards_found; +diff -urNp linux-3.0.8/drivers/net/pcnet32.c linux-3.0.8/drivers/net/pcn= et32.c +--- linux-3.0.8/drivers/net/pcnet32.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/net/pcnet32.c 2011-08-23 21:47:55.000000000 -040= 0 +@@ -82,7 +82,7 @@ static int cards_found; /* * VLB I/O addresses */ @@ -35005,8 +31671,8 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn +static unsigned int pcnet32_portlist[] __devinitdata =3D { 0x300, 0x320, 0x340, 0x360, 0 }; =20 - static int pcnet32_debug =3D 0; -@@ -267,7 +267,7 @@ struct pcnet32_private { + static int pcnet32_debug; +@@ -270,7 +270,7 @@ struct pcnet32_private { struct sk_buff **rx_skbuff; dma_addr_t *tx_dma_addr; dma_addr_t *rx_dma_addr; @@ -35015,7 +31681,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn spinlock_t lock; /* Guard lock */ unsigned int cur_rx, cur_tx; /* The next free ring entry */ unsigned int rx_ring_size; /* current rx ring size */ -@@ -457,9 +457,9 @@ static void pcnet32_netif_start(struct n +@@ -460,9 +460,9 @@ static void pcnet32_netif_start(struct n u16 val; =20 netif_wake_queue(dev); @@ -35027,7 +31693,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn napi_enable(&lp->napi); } =20 -@@ -744,7 +744,7 @@ static u32 pcnet32_get_link(struct net_d +@@ -730,7 +730,7 @@ static u32 pcnet32_get_link(struct net_d r =3D mii_link_ok(&lp->mii_if); } else if (lp->chip_version >=3D PCNET32_79C970A) { ulong ioaddr =3D dev->base_addr; /* card base I/O address */ @@ -35036,7 +31702,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn } else { /* can not detect link on really old chips */ r =3D 1; } -@@ -806,7 +806,7 @@ static int pcnet32_set_ringparam(struct=20 +@@ -792,7 +792,7 @@ static int pcnet32_set_ringparam(struct=20 pcnet32_netif_stop(dev); =20 spin_lock_irqsave(&lp->lock, flags); @@ -35045,7 +31711,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn =20 size =3D min(ering->tx_pending, (unsigned int)TX_MAX_RING_SIZE); =20 -@@ -886,7 +886,7 @@ static void pcnet32_ethtool_test(struct=20 +@@ -868,7 +868,7 @@ static void pcnet32_ethtool_test(struct=20 static int pcnet32_loopback_test(struct net_device *dev, uint64_t * dat= a1) { struct pcnet32_private *lp =3D netdev_priv(dev); @@ -35054,7 +31720,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn ulong ioaddr =3D dev->base_addr; /* card base I/O address */ struct sk_buff *skb; /* sk buff */ int x, i; /* counters */ -@@ -906,21 +906,21 @@ static int pcnet32_loopback_test(struct=20 +@@ -888,21 +888,21 @@ static int pcnet32_loopback_test(struct=20 pcnet32_netif_stop(dev); =20 spin_lock_irqsave(&lp->lock, flags); @@ -35081,7 +31747,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn =20 /* Initialize Transmit buffers. */ size =3D data_len + 15; -@@ -966,10 +966,10 @@ static int pcnet32_loopback_test(struct=20 +@@ -947,10 +947,10 @@ static int pcnet32_loopback_test(struct=20 =20 /* set int loopback in CSR15 */ x =3D a->read_csr(ioaddr, CSR15) & 0xfffc; @@ -35094,7 +31760,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn =20 /* Check status of descriptors */ for (x =3D 0; x < numbuffs; x++) { -@@ -990,7 +990,7 @@ static int pcnet32_loopback_test(struct=20 +@@ -969,7 +969,7 @@ static int pcnet32_loopback_test(struct=20 } } =20 @@ -35102,8 +31768,8 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn + lp->a->write_csr(ioaddr, CSR0, CSR0_STOP); /* Set STOP bit */ wmb(); if (netif_msg_hw(lp) && netif_msg_pktdata(lp)) { - printk(KERN_DEBUG "%s: RX loopback packets:\n", dev->name); -@@ -1039,7 +1039,7 @@ static int pcnet32_loopback_test(struct=20 + netdev_printk(KERN_DEBUG, dev, "RX loopback packets:\n"); +@@ -1015,7 +1015,7 @@ clean_up: pcnet32_restart(dev, CSR0_NORMAL); } else { pcnet32_purge_rx_ring(dev); @@ -35112,8 +31778,8 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn } spin_unlock_irqrestore(&lp->lock, flags); =20 -@@ -1049,7 +1049,7 @@ static int pcnet32_loopback_test(struct=20 - static void pcnet32_led_blink_callback(struct net_device *dev) +@@ -1026,7 +1026,7 @@ static int pcnet32_set_phys_id(struct ne + enum ethtool_phys_id_state state) { struct pcnet32_private *lp =3D netdev_priv(dev); - struct pcnet32_access *a =3D &lp->a; @@ -35121,16 +31787,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c= linux-2.6.32.48/drivers/net/pcn ulong ioaddr =3D dev->base_addr; unsigned long flags; int i; -@@ -1066,7 +1066,7 @@ static void pcnet32_led_blink_callback(s - static int pcnet32_phys_id(struct net_device *dev, u32 data) - { - struct pcnet32_private *lp =3D netdev_priv(dev); -- struct pcnet32_access *a =3D &lp->a; -+ struct pcnet32_access *a =3D lp->a; - ulong ioaddr =3D dev->base_addr; - unsigned long flags; - int i, regs[4]; -@@ -1112,7 +1112,7 @@ static int pcnet32_suspend(struct net_de +@@ -1067,7 +1067,7 @@ static int pcnet32_suspend(struct net_de { int csr5; struct pcnet32_private *lp =3D netdev_priv(dev); @@ -35139,7 +31796,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn ulong ioaddr =3D dev->base_addr; int ticks; =20 -@@ -1388,8 +1388,8 @@ static int pcnet32_poll(struct napi_stru +@@ -1324,8 +1324,8 @@ static int pcnet32_poll(struct napi_stru spin_lock_irqsave(&lp->lock, flags); if (pcnet32_tx(dev)) { /* reset the chip to clear the error condition, then restart */ @@ -35150,7 +31807,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn pcnet32_restart(dev, CSR0_START); netif_wake_queue(dev); } -@@ -1401,12 +1401,12 @@ static int pcnet32_poll(struct napi_stru +@@ -1337,12 +1337,12 @@ static int pcnet32_poll(struct napi_stru __napi_complete(napi); =20 /* clear interrupt masks */ @@ -35166,7 +31823,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn =20 spin_unlock_irqrestore(&lp->lock, flags); } -@@ -1429,7 +1429,7 @@ static void pcnet32_get_regs(struct net_ +@@ -1365,7 +1365,7 @@ static void pcnet32_get_regs(struct net_ int i, csr0; u16 *buff =3D ptr; struct pcnet32_private *lp =3D netdev_priv(dev); @@ -35175,7 +31832,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn ulong ioaddr =3D dev->base_addr; unsigned long flags; =20 -@@ -1466,9 +1466,9 @@ static void pcnet32_get_regs(struct net_ +@@ -1401,9 +1401,9 @@ static void pcnet32_get_regs(struct net_ for (j =3D 0; j < PCNET32_MAX_PHYS; j++) { if (lp->phymask & (1 << j)) { for (i =3D 0; i < PCNET32_REGS_PER_PHY; i++) { @@ -35187,7 +31844,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn } } } -@@ -1858,7 +1858,7 @@ pcnet32_probe1(unsigned long ioaddr, int +@@ -1785,7 +1785,7 @@ pcnet32_probe1(unsigned long ioaddr, int ((cards_found >=3D MAX_UNITS) || full_duplex[cards_found])) lp->options |=3D PCNET32_PORT_FD; =20 @@ -35196,7 +31853,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn =20 /* prior to register_netdev, dev->name is not yet correct */ if (pcnet32_alloc_ring(dev, pci_name(lp->pci_dev))) { -@@ -1917,7 +1917,7 @@ pcnet32_probe1(unsigned long ioaddr, int +@@ -1844,7 +1844,7 @@ pcnet32_probe1(unsigned long ioaddr, int if (lp->mii) { /* lp->phycount and lp->phymask are set to 0 by memset above */ =20 @@ -35205,16 +31862,16 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.= c linux-2.6.32.48/drivers/net/pcn /* scan for PHYs */ for (i =3D 0; i < PCNET32_MAX_PHYS; i++) { unsigned short id1, id2; -@@ -1938,7 +1938,7 @@ pcnet32_probe1(unsigned long ioaddr, int - "Found PHY %04x:%04x at address %d.\n", - id1, id2, i); +@@ -1864,7 +1864,7 @@ pcnet32_probe1(unsigned long ioaddr, int + pr_info("Found PHY %04x:%04x at address %d\n", + id1, id2, i); } - lp->a.write_bcr(ioaddr, 33, (lp->mii_if.phy_id) << 5); + lp->a->write_bcr(ioaddr, 33, (lp->mii_if.phy_id) << 5); - if (lp->phycount > 1) { + if (lp->phycount > 1) lp->options |=3D PCNET32_PORT_MII; - } -@@ -2109,10 +2109,10 @@ static int pcnet32_open(struct net_devic + } +@@ -2020,10 +2020,10 @@ static int pcnet32_open(struct net_devic } =20 /* Reset the PCNET32 */ @@ -35225,10 +31882,10 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.= c linux-2.6.32.48/drivers/net/pcn - lp->a.write_bcr(ioaddr, 20, 2); + lp->a->write_bcr(ioaddr, 20, 2); =20 - if (netif_msg_ifup(lp)) - printk(KERN_DEBUG -@@ -2122,14 +2122,14 @@ static int pcnet32_open(struct net_devic - (u32) (lp->init_dma_addr)); + netif_printk(lp, ifup, KERN_DEBUG, dev, + "%s() irq %d tx/rx rings %#x/%#x init %#x\n", +@@ -2032,14 +2032,14 @@ static int pcnet32_open(struct net_devic + (u32) (lp->init_dma_addr)); =20 /* set/reset autoselect bit */ - val =3D lp->a.read_bcr(ioaddr, 2) & ~2; @@ -35245,7 +31902,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn if (lp->options & PCNET32_PORT_FD) { val |=3D 1; if (lp->options =3D=3D (PCNET32_PORT_FD | PCNET32_PORT_AUI)) -@@ -2139,14 +2139,14 @@ static int pcnet32_open(struct net_devic +@@ -2049,14 +2049,14 @@ static int pcnet32_open(struct net_devic if (lp->chip_version =3D=3D 0x2627) val |=3D 3; } @@ -35263,7 +31920,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn =20 /* Allied Telesyn AT 2700/2701 FX are 100Mbit only and do not negotiat= e */ if (pdev && pdev->subsystem_vendor =3D=3D PCI_VENDOR_ID_AT && -@@ -2167,24 +2167,24 @@ static int pcnet32_open(struct net_devic +@@ -2075,24 +2075,24 @@ static int pcnet32_open(struct net_devic * duplex, and/or enable auto negotiation, and clear DANAS */ if (lp->mii && !(lp->options & PCNET32_PORT_ASEL)) { @@ -35296,7 +31953,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn } } } else { -@@ -2197,10 +2197,10 @@ static int pcnet32_open(struct net_devic +@@ -2105,10 +2105,10 @@ static int pcnet32_open(struct net_devic * There is really no good other way to handle multiple PHYs * other than turning off all automatics */ @@ -35311,16 +31968,16 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.= c linux-2.6.32.48/drivers/net/pcn =20 if (!(lp->options & PCNET32_PORT_ASEL)) { /* setup ecmd */ -@@ -2210,7 +2210,7 @@ static int pcnet32_open(struct net_devic - ecmd.speed =3D - lp-> - options & PCNET32_PORT_100 ? SPEED_100 : SPEED_10; +@@ -2118,7 +2118,7 @@ static int pcnet32_open(struct net_devic + ethtool_cmd_speed_set(&ecmd, + (lp->options & PCNET32_PORT_100) ? + SPEED_100 : SPEED_10); - bcr9 =3D lp->a.read_bcr(ioaddr, 9); + bcr9 =3D lp->a->read_bcr(ioaddr, 9); =20 if (lp->options & PCNET32_PORT_FD) { ecmd.duplex =3D DUPLEX_FULL; -@@ -2219,7 +2219,7 @@ static int pcnet32_open(struct net_devic +@@ -2127,7 +2127,7 @@ static int pcnet32_open(struct net_devic ecmd.duplex =3D DUPLEX_HALF; bcr9 |=3D ~(1 << 0); } @@ -35329,7 +31986,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn } =20 for (i =3D 0; i < PCNET32_MAX_PHYS; i++) { -@@ -2252,9 +2252,9 @@ static int pcnet32_open(struct net_devic +@@ -2158,9 +2158,9 @@ static int pcnet32_open(struct net_devic =20 #ifdef DO_DXSUFLO if (lp->dxsuflo) { /* Disable transmit stop on underflow */ @@ -35341,7 +31998,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn } #endif =20 -@@ -2270,11 +2270,11 @@ static int pcnet32_open(struct net_devic +@@ -2176,11 +2176,11 @@ static int pcnet32_open(struct net_devic napi_enable(&lp->napi); =20 /* Re-initialize the PCNET32, and start it when done. */ @@ -35357,7 +32014,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn =20 netif_start_queue(dev); =20 -@@ -2286,20 +2286,20 @@ static int pcnet32_open(struct net_devic +@@ -2192,19 +2192,19 @@ static int pcnet32_open(struct net_devic =20 i =3D 0; while (i++ < 100) @@ -35371,26 +32028,25 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.= c linux-2.6.32.48/drivers/net/pcn - lp->a.write_csr(ioaddr, CSR0, CSR0_NORMAL); + lp->a->write_csr(ioaddr, CSR0, CSR0_NORMAL); =20 - if (netif_msg_ifup(lp)) - printk(KERN_DEBUG - "%s: pcnet32 open after %d ticks, init block %#x csr0 %4.4x.\n= ", - dev->name, i, - (u32) (lp->init_dma_addr), -- lp->a.read_csr(ioaddr, CSR0)); -+ lp->a->read_csr(ioaddr, CSR0)); + netif_printk(lp, ifup, KERN_DEBUG, dev, + "pcnet32 open after %d ticks, init block %#x csr0 %4.4x\n", + i, + (u32) (lp->init_dma_addr), +- lp->a.read_csr(ioaddr, CSR0)); ++ lp->a->read_csr(ioaddr, CSR0)); =20 spin_unlock_irqrestore(&lp->lock, flags); =20 -@@ -2313,7 +2313,7 @@ static int pcnet32_open(struct net_devic +@@ -2218,7 +2218,7 @@ err_free_ring: * Switch back to 16bit mode to avoid problems with dumb * DOS packet driver after a warm reboot */ - lp->a.write_bcr(ioaddr, 20, 4); + lp->a->write_bcr(ioaddr, 20, 4); =20 - err_free_irq: + err_free_irq: spin_unlock_irqrestore(&lp->lock, flags); -@@ -2420,7 +2420,7 @@ static void pcnet32_restart(struct net_d +@@ -2323,7 +2323,7 @@ static void pcnet32_restart(struct net_d =20 /* wait for stop */ for (i =3D 0; i < 100; i++) @@ -35398,8 +32054,8 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn + if (lp->a->read_csr(ioaddr, CSR0) & CSR0_STOP) break; =20 - if (i >=3D 100 && netif_msg_drv(lp)) -@@ -2433,13 +2433,13 @@ static void pcnet32_restart(struct net_d + if (i >=3D 100) +@@ -2335,13 +2335,13 @@ static void pcnet32_restart(struct net_d return; =20 /* ReInit Ring */ @@ -35416,10 +32072,10 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.= c linux-2.6.32.48/drivers/net/pcn } =20 static void pcnet32_tx_timeout(struct net_device *dev) -@@ -2452,8 +2452,8 @@ static void pcnet32_tx_timeout(struct ne +@@ -2353,8 +2353,8 @@ static void pcnet32_tx_timeout(struct ne + /* Transmitter timeout, serious problems. */ if (pcnet32_debug & NETIF_MSG_DRV) - printk(KERN_ERR - "%s: transmit timed out, status %4.4x, resetting.\n", + pr_err("%s: transmit timed out, status %4.4x, resetting\n", - dev->name, lp->a.read_csr(ioaddr, CSR0)); - lp->a.write_csr(ioaddr, CSR0, CSR0_STOP); + dev->name, lp->a->read_csr(ioaddr, CSR0)); @@ -35427,47 +32083,45 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.= c linux-2.6.32.48/drivers/net/pcn dev->stats.tx_errors++; if (netif_msg_tx_err(lp)) { int i; -@@ -2497,7 +2497,7 @@ static netdev_tx_t pcnet32_start_xmit(st - if (netif_msg_tx_queued(lp)) { - printk(KERN_DEBUG - "%s: pcnet32_start_xmit() called, csr0 %4.4x.\n", -- dev->name, lp->a.read_csr(ioaddr, CSR0)); -+ dev->name, lp->a->read_csr(ioaddr, CSR0)); - } +@@ -2397,7 +2397,7 @@ static netdev_tx_t pcnet32_start_xmit(st +=20 + netif_printk(lp, tx_queued, KERN_DEBUG, dev, + "%s() called, csr0 %4.4x\n", +- __func__, lp->a.read_csr(ioaddr, CSR0)); ++ __func__, lp->a->read_csr(ioaddr, CSR0)); =20 /* Default status -- will not enable Successful-TxDone -@@ -2528,7 +2528,7 @@ static netdev_tx_t pcnet32_start_xmit(st + * interrupt when that option is available to us. +@@ -2427,7 +2427,7 @@ static netdev_tx_t pcnet32_start_xmit(st dev->stats.tx_bytes +=3D skb->len; =20 /* Trigger an immediate send poll. */ - lp->a.write_csr(ioaddr, CSR0, CSR0_INTEN | CSR0_TXPOLL); + lp->a->write_csr(ioaddr, CSR0, CSR0_INTEN | CSR0_TXPOLL); =20 - dev->trans_start =3D jiffies; -=20 -@@ -2555,18 +2555,18 @@ pcnet32_interrupt(int irq, void *dev_id) + if (lp->tx_ring[(entry + 1) & lp->tx_mod_mask].base !=3D 0) { + lp->tx_full =3D 1; +@@ -2452,16 +2452,16 @@ pcnet32_interrupt(int irq, void *dev_id) =20 spin_lock(&lp->lock); =20 - csr0 =3D lp->a.read_csr(ioaddr, CSR0); + csr0 =3D lp->a->read_csr(ioaddr, CSR0); while ((csr0 & 0x8f00) && --boguscnt >=3D 0) { - if (csr0 =3D=3D 0xffff) { + if (csr0 =3D=3D 0xffff) break; /* PCMCIA remove happened */ - } /* Acknowledge all of the current interrupt sources ASAP. */ - lp->a.write_csr(ioaddr, CSR0, csr0 & ~0x004f); + lp->a->write_csr(ioaddr, CSR0, csr0 & ~0x004f); =20 - if (netif_msg_intr(lp)) - printk(KERN_DEBUG - "%s: interrupt csr0=3D%#2.2x new csr=3D%#2.2x.\n", -- dev->name, csr0, lp->a.read_csr(ioaddr, CSR0)); -+ dev->name, csr0, lp->a->read_csr(ioaddr, CSR0)); + netif_printk(lp, intr, KERN_DEBUG, dev, + "interrupt csr0=3D%#2.2x new csr=3D%#2.2x\n", +- csr0, lp->a.read_csr(ioaddr, CSR0)); ++ csr0, lp->a->read_csr(ioaddr, CSR0)); =20 /* Log misc errors. */ if (csr0 & 0x4000) -@@ -2595,19 +2595,19 @@ pcnet32_interrupt(int irq, void *dev_id) +@@ -2488,19 +2488,19 @@ pcnet32_interrupt(int irq, void *dev_id) if (napi_schedule_prep(&lp->napi)) { u16 val; /* set interrupt masks */ @@ -35484,25 +32138,24 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.= c linux-2.6.32.48/drivers/net/pcn + csr0 =3D lp->a->read_csr(ioaddr, CSR0); } =20 - if (netif_msg_intr(lp)) - printk(KERN_DEBUG "%s: exiting interrupt, csr0=3D%#4.4x.\n", -- dev->name, lp->a.read_csr(ioaddr, CSR0)); -+ dev->name, lp->a->read_csr(ioaddr, CSR0)); + netif_printk(lp, intr, KERN_DEBUG, dev, + "exiting interrupt, csr0=3D%#4.4x\n", +- lp->a.read_csr(ioaddr, CSR0)); ++ lp->a->read_csr(ioaddr, CSR0)); =20 spin_unlock(&lp->lock); =20 -@@ -2627,21 +2627,21 @@ static int pcnet32_close(struct net_devi +@@ -2520,20 +2520,20 @@ static int pcnet32_close(struct net_devi =20 spin_lock_irqsave(&lp->lock, flags); =20 - dev->stats.rx_missed_errors =3D lp->a.read_csr(ioaddr, 112); + dev->stats.rx_missed_errors =3D lp->a->read_csr(ioaddr, 112); =20 - if (netif_msg_ifdown(lp)) - printk(KERN_DEBUG - "%s: Shutting down ethercard, status was %2.2x.\n", -- dev->name, lp->a.read_csr(ioaddr, CSR0)); -+ dev->name, lp->a->read_csr(ioaddr, CSR0)); + netif_printk(lp, ifdown, KERN_DEBUG, dev, + "Shutting down ethercard, status was %2.2x\n", +- lp->a.read_csr(ioaddr, CSR0)); ++ lp->a->read_csr(ioaddr, CSR0)); =20 /* We stop the PCNET32 here -- it occasionally polls memory if we don'= t. */ - lp->a.write_csr(ioaddr, CSR0, CSR0_STOP); @@ -35517,7 +32170,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn =20 spin_unlock_irqrestore(&lp->lock, flags); =20 -@@ -2664,7 +2664,7 @@ static struct net_device_stats *pcnet32_ +@@ -2556,7 +2556,7 @@ static struct net_device_stats *pcnet32_ unsigned long flags; =20 spin_lock_irqsave(&lp->lock, flags); @@ -35526,7 +32179,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn spin_unlock_irqrestore(&lp->lock, flags); =20 return &dev->stats; -@@ -2686,10 +2686,10 @@ static void pcnet32_load_multicast(struc +@@ -2578,10 +2578,10 @@ static void pcnet32_load_multicast(struc if (dev->flags & IFF_ALLMULTI) { ib->filter[0] =3D cpu_to_le32(~0U); ib->filter[1] =3D cpu_to_le32(~0U); @@ -35541,16 +32194,16 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.= c linux-2.6.32.48/drivers/net/pcn return; } /* clear the multicast filter */ -@@ -2710,7 +2710,7 @@ static void pcnet32_load_multicast(struc +@@ -2601,7 +2601,7 @@ static void pcnet32_load_multicast(struc mcast_table[crc >> 4] |=3D cpu_to_le16(1 << (crc & 0xf)); } for (i =3D 0; i < 4; i++) - lp->a.write_csr(ioaddr, PCNET32_MC_FILTER + i, + lp->a->write_csr(ioaddr, PCNET32_MC_FILTER + i, le16_to_cpu(mcast_table[i])); - return; } -@@ -2726,7 +2726,7 @@ static void pcnet32_set_multicast_list(s +=20 +@@ -2616,28 +2616,28 @@ static void pcnet32_set_multicast_list(s =20 spin_lock_irqsave(&lp->lock, flags); suspended =3D pcnet32_suspend(dev, &flags, 0); @@ -35558,8 +32211,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn + csr15 =3D lp->a->read_csr(ioaddr, CSR15); if (dev->flags & IFF_PROMISC) { /* Log any net taps. */ - if (netif_msg_hw(lp)) -@@ -2735,21 +2735,21 @@ static void pcnet32_set_multicast_list(s + netif_info(lp, hw, dev, "Promiscuous mode enabled\n"); lp->init_block->mode =3D cpu_to_le16(0x8000 | (lp->options & PCNET32_PORT_PORTSEL) << 7); @@ -35586,7 +32238,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn pcnet32_restart(dev, CSR0_NORMAL); netif_wake_queue(dev); } -@@ -2767,8 +2767,8 @@ static int mdio_read(struct net_device * +@@ -2655,8 +2655,8 @@ static int mdio_read(struct net_device * if (!lp->mii) return 0; =20 @@ -35597,7 +32249,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn =20 return val_out; } -@@ -2782,8 +2782,8 @@ static void mdio_write(struct net_device +@@ -2670,8 +2670,8 @@ static void mdio_write(struct net_device if (!lp->mii) return; =20 @@ -35608,7 +32260,7 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn } =20 static int pcnet32_ioctl(struct net_device *dev, struct ifreq *rq, int = cmd) -@@ -2862,7 +2862,7 @@ static void pcnet32_check_media(struct n +@@ -2748,7 +2748,7 @@ static void pcnet32_check_media(struct n curr_link =3D mii_link_ok(&lp->mii_if); } else { ulong ioaddr =3D dev->base_addr; /* card base I/O address */ @@ -35617,9 +32269,9 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.c = linux-2.6.32.48/drivers/net/pcn } if (!curr_link) { if (prev_link || verbose) { -@@ -2887,13 +2887,13 @@ static void pcnet32_check_media(struct n - (ecmd.duplex =3D=3D - DUPLEX_FULL) ? "full" : "half"); +@@ -2771,13 +2771,13 @@ static void pcnet32_check_media(struct n + (ecmd.duplex =3D=3D DUPLEX_FULL) + ? "full" : "half"); } - bcr9 =3D lp->a.read_bcr(dev->base_addr, 9); + bcr9 =3D lp->a->read_bcr(dev->base_addr, 9); @@ -35632,11 +32284,74 @@ diff -urNp linux-2.6.32.48/drivers/net/pcnet32.= c linux-2.6.32.48/drivers/net/pcn + lp->a->write_bcr(dev->base_addr, 9, bcr9); } } else { - if (netif_msg_link(lp)) -diff -urNp linux-2.6.32.48/drivers/net/tg3.h linux-2.6.32.48/drivers/net= /tg3.h ---- linux-2.6.32.48/drivers/net/tg3.h 2011-11-12 12:44:29.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/net/tg3.h 2011-11-12 12:46:45.000000000 -050= 0 -@@ -95,6 +95,7 @@ + netif_info(lp, link, dev, "link up\n"); +diff -urNp linux-3.0.8/drivers/net/ppp_generic.c linux-3.0.8/drivers/net= /ppp_generic.c +--- linux-3.0.8/drivers/net/ppp_generic.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/net/ppp_generic.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -987,7 +987,6 @@ ppp_net_ioctl(struct net_device *dev, st + void __user *addr =3D (void __user *) ifr->ifr_ifru.ifru_data; + struct ppp_stats stats; + struct ppp_comp_stats cstats; +- char *vers; +=20 + switch (cmd) { + case SIOCGPPPSTATS: +@@ -1009,8 +1008,7 @@ ppp_net_ioctl(struct net_device *dev, st + break; +=20 + case SIOCGPPPVER: +- vers =3D PPP_VERSION; +- if (copy_to_user(addr, vers, strlen(vers) + 1)) ++ if (copy_to_user(addr, PPP_VERSION, sizeof(PPP_VERSION))) + break; + err =3D 0; + break; +diff -urNp linux-3.0.8/drivers/net/r8169.c linux-3.0.8/drivers/net/r8169= .c +--- linux-3.0.8/drivers/net/r8169.c 2011-10-24 08:05:21.000000000 -0400 ++++ linux-3.0.8/drivers/net/r8169.c 2011-08-23 21:47:55.000000000 -0400 +@@ -645,12 +645,12 @@ struct rtl8169_private { + struct mdio_ops { + void (*write)(void __iomem *, int, int); + int (*read)(void __iomem *, int); +- } mdio_ops; ++ } __no_const mdio_ops; +=20 + struct pll_power_ops { + void (*down)(struct rtl8169_private *); + void (*up)(struct rtl8169_private *); +- } pll_power_ops; ++ } __no_const pll_power_ops; +=20 + int (*set_speed)(struct net_device *, u8 aneg, u16 sp, u8 dpx, u32 adv= ); + int (*get_settings)(struct net_device *, struct ethtool_cmd *); +diff -urNp linux-3.0.8/drivers/net/sis190.c linux-3.0.8/drivers/net/sis1= 90.c +--- linux-3.0.8/drivers/net/sis190.c 2011-10-24 08:05:21.000000000 -0400 ++++ linux-3.0.8/drivers/net/sis190.c 2011-10-11 10:44:33.000000000 -0400 +@@ -1623,7 +1623,7 @@ static int __devinit sis190_get_mac_addr + static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev, + struct net_device *dev) + { +- static const u16 __devinitdata ids[] =3D { 0x0965, 0x0966, 0x0968 }; ++ static const u16 __devinitconst ids[] =3D { 0x0965, 0x0966, 0x0968 }; + struct sis190_private *tp =3D netdev_priv(dev); + struct pci_dev *isa_bridge; + u8 reg, tmp8; +diff -urNp linux-3.0.8/drivers/net/sundance.c linux-3.0.8/drivers/net/su= ndance.c +--- linux-3.0.8/drivers/net/sundance.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/net/sundance.c 2011-10-11 10:44:33.000000000 -04= 00 +@@ -218,7 +218,7 @@ enum { + struct pci_id_info { + const char *name; + }; +-static const struct pci_id_info pci_id_tbl[] __devinitdata =3D { ++static const struct pci_id_info pci_id_tbl[] __devinitconst =3D { + {"D-Link DFE-550TX FAST Ethernet Adapter"}, + {"D-Link DFE-550FX 100Mbps Fiber-optics Adapter"}, + {"D-Link DFE-580TX 4 port Server Adapter"}, +diff -urNp linux-3.0.8/drivers/net/tg3.h linux-3.0.8/drivers/net/tg3.h +--- linux-3.0.8/drivers/net/tg3.h 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/tg3.h 2011-08-23 21:47:55.000000000 -0400 +@@ -134,6 +134,7 @@ #define CHIPREV_ID_5750_A0 0x4000 #define CHIPREV_ID_5750_A1 0x4001 #define CHIPREV_ID_5750_A3 0x4003 @@ -35644,9 +32359,9 @@ diff -urNp linux-2.6.32.48/drivers/net/tg3.h linu= x-2.6.32.48/drivers/net/tg3.h #define CHIPREV_ID_5750_C2 0x4202 #define CHIPREV_ID_5752_A0_HW 0x5000 #define CHIPREV_ID_5752_A0 0x6000 -diff -urNp linux-2.6.32.48/drivers/net/tokenring/abyss.c linux-2.6.32.48= /drivers/net/tokenring/abyss.c ---- linux-2.6.32.48/drivers/net/tokenring/abyss.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/net/tokenring/abyss.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-3.0.8/drivers/net/tokenring/abyss.c linux-3.0.8/drivers= /net/tokenring/abyss.c +--- linux-3.0.8/drivers/net/tokenring/abyss.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/net/tokenring/abyss.c 2011-08-23 21:47:55.000000= 000 -0400 @@ -451,10 +451,12 @@ static struct pci_driver abyss_driver =3D=20 =20 static int __init abyss_init (void) @@ -35663,10 +32378,10 @@ diff -urNp linux-2.6.32.48/drivers/net/tokenrin= g/abyss.c linux-2.6.32.48/drivers =20 return pci_register_driver(&abyss_driver); } -diff -urNp linux-2.6.32.48/drivers/net/tokenring/madgemc.c linux-2.6.32.= 48/drivers/net/tokenring/madgemc.c ---- linux-2.6.32.48/drivers/net/tokenring/madgemc.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/net/tokenring/madgemc.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -755,9 +755,11 @@ static struct mca_driver madgemc_driver=20 +diff -urNp linux-3.0.8/drivers/net/tokenring/madgemc.c linux-3.0.8/drive= rs/net/tokenring/madgemc.c +--- linux-3.0.8/drivers/net/tokenring/madgemc.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/net/tokenring/madgemc.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -744,9 +744,11 @@ static struct mca_driver madgemc_driver=20 =20 static int __init madgemc_init (void) { @@ -35681,9 +32396,9 @@ diff -urNp linux-2.6.32.48/drivers/net/tokenring/= madgemc.c linux-2.6.32.48/drive =20 return mca_register_driver (&madgemc_driver); } -diff -urNp linux-2.6.32.48/drivers/net/tokenring/proteon.c linux-2.6.32.= 48/drivers/net/tokenring/proteon.c ---- linux-2.6.32.48/drivers/net/tokenring/proteon.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/net/tokenring/proteon.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-3.0.8/drivers/net/tokenring/proteon.c linux-3.0.8/drive= rs/net/tokenring/proteon.c +--- linux-3.0.8/drivers/net/tokenring/proteon.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/net/tokenring/proteon.c 2011-08-23 21:47:55.0000= 00000 -0400 @@ -353,9 +353,11 @@ static int __init proteon_init(void) struct platform_device *pdev; int i, num =3D 0, err =3D 0; @@ -35699,9 +32414,9 @@ diff -urNp linux-2.6.32.48/drivers/net/tokenring/= proteon.c linux-2.6.32.48/drive =20 err =3D platform_driver_register(&proteon_driver); if (err) -diff -urNp linux-2.6.32.48/drivers/net/tokenring/skisa.c linux-2.6.32.48= /drivers/net/tokenring/skisa.c ---- linux-2.6.32.48/drivers/net/tokenring/skisa.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/net/tokenring/skisa.c 2011-11-12 12:46:45.00= 0000000 -0500 +diff -urNp linux-3.0.8/drivers/net/tokenring/skisa.c linux-3.0.8/drivers= /net/tokenring/skisa.c +--- linux-3.0.8/drivers/net/tokenring/skisa.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/net/tokenring/skisa.c 2011-08-23 21:47:55.000000= 000 -0400 @@ -363,9 +363,11 @@ static int __init sk_isa_init(void) struct platform_device *pdev; int i, num =3D 0, err =3D 0; @@ -35717,10 +32432,10 @@ diff -urNp linux-2.6.32.48/drivers/net/tokenrin= g/skisa.c linux-2.6.32.48/drivers =20 err =3D platform_driver_register(&sk_isa_driver); if (err) -diff -urNp linux-2.6.32.48/drivers/net/tulip/de2104x.c linux-2.6.32.48/d= rivers/net/tulip/de2104x.c ---- linux-2.6.32.48/drivers/net/tulip/de2104x.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/net/tulip/de2104x.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -1785,6 +1785,8 @@ static void __devinit de21041_get_srom_i +diff -urNp linux-3.0.8/drivers/net/tulip/de2104x.c linux-3.0.8/drivers/n= et/tulip/de2104x.c +--- linux-3.0.8/drivers/net/tulip/de2104x.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/net/tulip/de2104x.c 2011-08-23 21:48:14.00000000= 0 -0400 +@@ -1794,6 +1794,8 @@ static void __devinit de21041_get_srom_i struct de_srom_info_leaf *il; void *bufp; =20 @@ -35729,10 +32444,10 @@ diff -urNp linux-2.6.32.48/drivers/net/tulip/de= 2104x.c linux-2.6.32.48/drivers/n /* download entire eeprom */ for (i =3D 0; i < DE_EEPROM_WORDS; i++) ((__le16 *)ee_data)[i] =3D -diff -urNp linux-2.6.32.48/drivers/net/tulip/de4x5.c linux-2.6.32.48/dri= vers/net/tulip/de4x5.c ---- linux-2.6.32.48/drivers/net/tulip/de4x5.c 2009-12-02 22:51:21.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/net/tulip/de4x5.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -5472,7 +5472,7 @@ de4x5_ioctl(struct net_device *dev, stru +diff -urNp linux-3.0.8/drivers/net/tulip/de4x5.c linux-3.0.8/drivers/net= /tulip/de4x5.c +--- linux-3.0.8/drivers/net/tulip/de4x5.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/net/tulip/de4x5.c 2011-08-23 21:47:55.000000000 = -0400 +@@ -5401,7 +5401,7 @@ de4x5_ioctl(struct net_device *dev, stru for (i=3D0; idev_addr[i]; } @@ -35741,7 +32456,7 @@ diff -urNp linux-2.6.32.48/drivers/net/tulip/de4x= 5.c linux-2.6.32.48/drivers/net break; =20 case DE4X5_SET_HWADDR: /* Set the hardware address */ -@@ -5512,7 +5512,7 @@ de4x5_ioctl(struct net_device *dev, stru +@@ -5441,7 +5441,7 @@ de4x5_ioctl(struct net_device *dev, stru spin_lock_irqsave(&lp->lock, flags); memcpy(&statbuf, &lp->pktStats, ioc->len); spin_unlock_irqrestore(&lp->lock, flags); @@ -35750,9 +32465,33 @@ diff -urNp linux-2.6.32.48/drivers/net/tulip/de4= x5.c linux-2.6.32.48/drivers/net return -EFAULT; break; } -diff -urNp linux-2.6.32.48/drivers/net/usb/hso.c linux-2.6.32.48/drivers= /net/usb/hso.c ---- linux-2.6.32.48/drivers/net/usb/hso.c 2011-11-12 12:44:29.000000000 = -0500 -+++ linux-2.6.32.48/drivers/net/usb/hso.c 2011-11-12 12:46:45.000000000 = -0500 +diff -urNp linux-3.0.8/drivers/net/tulip/eeprom.c linux-3.0.8/drivers/ne= t/tulip/eeprom.c +--- linux-3.0.8/drivers/net/tulip/eeprom.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/net/tulip/eeprom.c 2011-10-11 10:44:33.000000000= -0400 +@@ -81,7 +81,7 @@ static struct eeprom_fixup eeprom_fixups + {NULL}}; +=20 +=20 +-static const char *block_name[] __devinitdata =3D { ++static const char *block_name[] __devinitconst =3D { + "21140 non-MII", + "21140 MII PHY", + "21142 Serial PHY", +diff -urNp linux-3.0.8/drivers/net/tulip/winbond-840.c linux-3.0.8/drive= rs/net/tulip/winbond-840.c +--- linux-3.0.8/drivers/net/tulip/winbond-840.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/net/tulip/winbond-840.c 2011-10-11 10:44:33.0000= 00000 -0400 +@@ -236,7 +236,7 @@ struct pci_id_info { + int drv_flags; /* Driver use, intended as capability flags. */ + }; +=20 +-static const struct pci_id_info pci_id_tbl[] __devinitdata =3D { ++static const struct pci_id_info pci_id_tbl[] __devinitconst =3D { + { /* Sometime a Level-One switch card. */ + "Winbond W89c840", CanHaveMII | HasBrokenTx | FDXOnNoMII}, + { "Winbond W89c840", CanHaveMII | HasBrokenTx}, +diff -urNp linux-3.0.8/drivers/net/usb/hso.c linux-3.0.8/drivers/net/usb= /hso.c +--- linux-3.0.8/drivers/net/usb/hso.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/net/usb/hso.c 2011-08-23 21:47:55.000000000 -040= 0 @@ -71,7 +71,7 @@ #include #include @@ -35760,9 +32499,9 @@ diff -urNp linux-2.6.32.48/drivers/net/usb/hso.c = linux-2.6.32.48/drivers/net/usb - +#include =20 - #define DRIVER_VERSION "1.2" #define MOD_AUTHOR "Option Wireless" -@@ -258,7 +258,7 @@ struct hso_serial { + #define MOD_DESCRIPTION "USB High Speed Option driver" +@@ -257,7 +257,7 @@ struct hso_serial { =20 /* from usb_serial_port */ struct tty_struct *tty; @@ -35771,7 +32510,7 @@ diff -urNp linux-2.6.32.48/drivers/net/usb/hso.c = linux-2.6.32.48/drivers/net/usb spinlock_t serial_lock; =20 int (*write_data) (struct hso_serial *serial); -@@ -1180,7 +1180,7 @@ static void put_rxbuf_data_and_resubmit_ +@@ -1190,7 +1190,7 @@ static void put_rxbuf_data_and_resubmit_ struct urb *urb; =20 urb =3D serial->rx_urb[0]; @@ -35780,7 +32519,7 @@ diff -urNp linux-2.6.32.48/drivers/net/usb/hso.c = linux-2.6.32.48/drivers/net/usb count =3D put_rxbuf_data(urb, serial); if (count =3D=3D -1) return; -@@ -1216,7 +1216,7 @@ static void hso_std_serial_read_bulk_cal +@@ -1226,7 +1226,7 @@ static void hso_std_serial_read_bulk_cal DUMP1(urb->transfer_buffer, urb->actual_length); =20 /* Anyone listening? */ @@ -35796,10 +32535,10 @@ diff -urNp linux-2.6.32.48/drivers/net/usb/hso.= c linux-2.6.32.48/drivers/net/usb - serial->open_count++; - if (serial->open_count =3D=3D 1) { + if (local_inc_return(&serial->open_count) =3D=3D 1) { - tty->low_latency =3D 1; serial->rx_state =3D RX_IDLE; /* Force default termio settings */ -@@ -1325,7 +1324,7 @@ static int hso_serial_open(struct tty_st + _hso_serial_set_termios(tty, NULL); +@@ -1324,7 +1323,7 @@ static int hso_serial_open(struct tty_st result =3D hso_start_serial_device(serial->parent, GFP_KERNEL); if (result) { hso_stop_serial_device(serial->parent); @@ -35808,7 +32547,7 @@ diff -urNp linux-2.6.32.48/drivers/net/usb/hso.c = linux-2.6.32.48/drivers/net/usb kref_put(&serial->parent->ref, hso_serial_ref_free); } } else { -@@ -1362,10 +1361,10 @@ static void hso_serial_close(struct tty_ +@@ -1361,10 +1360,10 @@ static void hso_serial_close(struct tty_ =20 /* reset the rts and dtr */ /* do the actual close */ @@ -35822,7 +32561,7 @@ diff -urNp linux-2.6.32.48/drivers/net/usb/hso.c = linux-2.6.32.48/drivers/net/usb spin_lock_irq(&serial->serial_lock); if (serial->tty =3D=3D tty) { serial->tty->driver_data =3D NULL; -@@ -1447,7 +1446,7 @@ static void hso_serial_set_termios(struc +@@ -1446,7 +1445,7 @@ static void hso_serial_set_termios(struc =20 /* the actual setup */ spin_lock_irqsave(&serial->serial_lock, flags); @@ -35831,7 +32570,16 @@ diff -urNp linux-2.6.32.48/drivers/net/usb/hso.c= linux-2.6.32.48/drivers/net/usb _hso_serial_set_termios(tty, old); else tty->termios =3D old; -@@ -3097,7 +3096,7 @@ static int hso_resume(struct usb_interfa +@@ -1905,7 +1904,7 @@ static void intr_callback(struct urb *ur + D1("Pending read interrupt on port %d\n", i); + spin_lock(&serial->serial_lock); + if (serial->rx_state =3D=3D RX_IDLE && +- serial->open_count > 0) { ++ local_read(&serial->open_count) > 0) { + /* Setup and send a ctrl req read on + * port i */ + if (!serial->rx_urb_filled[0]) { +@@ -3098,7 +3097,7 @@ static int hso_resume(struct usb_interfa /* Start all serial ports */ for (i =3D 0; i < HSO_SERIAL_TTY_MINORS; i++) { if (serial_table[i] && (serial_table[i]->interface =3D=3D iface)) { @@ -35840,10 +32588,23 @@ diff -urNp linux-2.6.32.48/drivers/net/usb/hso.= c linux-2.6.32.48/drivers/net/usb result =3D hso_start_serial_device(serial_table[i], GFP_NOIO); hso_kick_transmit(dev2ser(serial_table[i])); -diff -urNp linux-2.6.32.48/drivers/net/vxge/vxge-config.h linux-2.6.32.4= 8/drivers/net/vxge/vxge-config.h ---- linux-2.6.32.48/drivers/net/vxge/vxge-config.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/net/vxge/vxge-config.h 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -474,7 +474,7 @@ struct vxge_hw_uld_cbs { +diff -urNp linux-3.0.8/drivers/net/vmxnet3/vmxnet3_ethtool.c linux-3.0.8= /drivers/net/vmxnet3/vmxnet3_ethtool.c +--- linux-3.0.8/drivers/net/vmxnet3/vmxnet3_ethtool.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/net/vmxnet3/vmxnet3_ethtool.c 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -594,8 +594,7 @@ vmxnet3_set_rss_indir(struct net_device=20 + * Return with error code if any of the queue indices + * is out of range + */ +- if (p->ring_index[i] < 0 || +- p->ring_index[i] >=3D adapter->num_rx_queues) ++ if (p->ring_index[i] >=3D adapter->num_rx_queues) + return -EINVAL; + } +=20 +diff -urNp linux-3.0.8/drivers/net/vxge/vxge-config.h linux-3.0.8/driver= s/net/vxge/vxge-config.h +--- linux-3.0.8/drivers/net/vxge/vxge-config.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/net/vxge/vxge-config.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -512,7 +512,7 @@ struct vxge_hw_uld_cbs { void (*link_down)(struct __vxge_hw_device *devh); void (*crit_err)(struct __vxge_hw_device *devh, enum vxge_hw_event type, u64 ext_data); @@ -35852,10 +32613,10 @@ diff -urNp linux-2.6.32.48/drivers/net/vxge/vxg= e-config.h linux-2.6.32.48/driver =20 /* * struct __vxge_hw_blockpool_entry - Block private data structure -diff -urNp linux-2.6.32.48/drivers/net/vxge/vxge-main.c linux-2.6.32.48/= drivers/net/vxge/vxge-main.c ---- linux-2.6.32.48/drivers/net/vxge/vxge-main.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/net/vxge/vxge-main.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -93,6 +93,8 @@ static inline void VXGE_COMPLETE_VPATH_T +diff -urNp linux-3.0.8/drivers/net/vxge/vxge-main.c linux-3.0.8/drivers/= net/vxge/vxge-main.c +--- linux-3.0.8/drivers/net/vxge/vxge-main.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/net/vxge/vxge-main.c 2011-08-23 21:48:14.0000000= 00 -0400 +@@ -98,6 +98,8 @@ static inline void VXGE_COMPLETE_VPATH_T struct sk_buff *completed[NR_SKB_COMPLETED]; int more; =20 @@ -35864,7 +32625,7 @@ diff -urNp linux-2.6.32.48/drivers/net/vxge/vxge-= main.c linux-2.6.32.48/drivers/ do { more =3D 0; skb_ptr =3D completed; -@@ -1779,6 +1781,8 @@ static enum vxge_hw_status vxge_rth_conf +@@ -1920,6 +1922,8 @@ static enum vxge_hw_status vxge_rth_conf u8 mtable[256] =3D {0}; /* CPU to vpath mapping */ int index; =20 @@ -35873,22 +32634,22 @@ diff -urNp linux-2.6.32.48/drivers/net/vxge/vxg= e-main.c linux-2.6.32.48/drivers/ /* * Filling * - itable with bucket numbers -diff -urNp linux-2.6.32.48/drivers/net/vxge/vxge-traffic.h linux-2.6.32.= 48/drivers/net/vxge/vxge-traffic.h ---- linux-2.6.32.48/drivers/net/vxge/vxge-traffic.h 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/net/vxge/vxge-traffic.h 2011-11-12 12:46:45.= 000000000 -0500 -@@ -2123,7 +2123,7 @@ struct vxge_hw_mempool_cbs { +diff -urNp linux-3.0.8/drivers/net/vxge/vxge-traffic.h linux-3.0.8/drive= rs/net/vxge/vxge-traffic.h +--- linux-3.0.8/drivers/net/vxge/vxge-traffic.h 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/net/vxge/vxge-traffic.h 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -2088,7 +2088,7 @@ struct vxge_hw_mempool_cbs { struct vxge_hw_mempool_dma *dma_object, u32 index, u32 is_last); -}; +} __no_const; =20 - void - __vxge_hw_mempool_destroy( -diff -urNp linux-2.6.32.48/drivers/net/wan/cycx_x25.c linux-2.6.32.48/dr= ivers/net/wan/cycx_x25.c ---- linux-2.6.32.48/drivers/net/wan/cycx_x25.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/wan/cycx_x25.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -1017,6 +1017,8 @@ static void hex_dump(char *msg, unsigned + #define VXGE_HW_VIRTUAL_PATH_HANDLE(vpath) \ + ((struct __vxge_hw_vpath_handle *)(vpath)->vpath_handles.next) +diff -urNp linux-3.0.8/drivers/net/wan/cycx_x25.c linux-3.0.8/drivers/ne= t/wan/cycx_x25.c +--- linux-3.0.8/drivers/net/wan/cycx_x25.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/net/wan/cycx_x25.c 2011-08-23 21:48:14.000000000= -0400 +@@ -1018,6 +1018,8 @@ static void hex_dump(char *msg, unsigned unsigned char hex[1024], * phex =3D hex; =20 @@ -35897,9 +32658,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wan/cycx_x= 25.c linux-2.6.32.48/drivers/ne if (len >=3D (sizeof(hex) / 2)) len =3D (sizeof(hex) / 2) - 1; =20 -diff -urNp linux-2.6.32.48/drivers/net/wan/hdlc_x25.c linux-2.6.32.48/dr= ivers/net/wan/hdlc_x25.c ---- linux-2.6.32.48/drivers/net/wan/hdlc_x25.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/net/wan/hdlc_x25.c 2011-11-12 12:46:45.00000= 0000 -0500 +diff -urNp linux-3.0.8/drivers/net/wan/hdlc_x25.c linux-3.0.8/drivers/ne= t/wan/hdlc_x25.c +--- linux-3.0.8/drivers/net/wan/hdlc_x25.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/net/wan/hdlc_x25.c 2011-08-23 21:47:55.000000000= -0400 @@ -136,16 +136,16 @@ static netdev_tx_t x25_xmit(struct sk_bu =20 static int x25_open(struct net_device *dev) @@ -35925,10 +32686,10 @@ diff -urNp linux-2.6.32.48/drivers/net/wan/hdlc= _x25.c linux-2.6.32.48/drivers/ne result =3D lapb_register(dev, &cb); if (result !=3D LAPB_OK) return result; -diff -urNp linux-2.6.32.48/drivers/net/wimax/i2400m/usb-fw.c linux-2.6.3= 2.48/drivers/net/wimax/i2400m/usb-fw.c ---- linux-2.6.32.48/drivers/net/wimax/i2400m/usb-fw.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wimax/i2400m/usb-fw.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -263,6 +263,8 @@ ssize_t i2400mu_bus_bm_wait_for_ack(stru +diff -urNp linux-3.0.8/drivers/net/wimax/i2400m/usb-fw.c linux-3.0.8/dri= vers/net/wimax/i2400m/usb-fw.c +--- linux-3.0.8/drivers/net/wimax/i2400m/usb-fw.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/net/wimax/i2400m/usb-fw.c 2011-08-23 21:48:14.00= 0000000 -0400 +@@ -287,6 +287,8 @@ ssize_t i2400mu_bus_bm_wait_for_ack(stru int do_autopm =3D 1; DECLARE_COMPLETION_ONSTACK(notif_completion); =20 @@ -35937,9 +32698,9 @@ diff -urNp linux-2.6.32.48/drivers/net/wimax/i240= 0m/usb-fw.c linux-2.6.32.48/dri d_fnstart(8, dev, "(i2400m %p ack %p size %zu)\n", i2400m, ack, ack_size); BUG_ON(_ack =3D=3D i2400m->bm_ack_buf); -diff -urNp linux-2.6.32.48/drivers/net/wireless/airo.c linux-2.6.32.48/d= rivers/net/wireless/airo.c ---- linux-2.6.32.48/drivers/net/wireless/airo.c 2011-11-12 12:44:29.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/airo.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-3.0.8/drivers/net/wireless/airo.c linux-3.0.8/drivers/n= et/wireless/airo.c +--- linux-3.0.8/drivers/net/wireless/airo.c 2011-10-24 08:05:21.00000000= 0 -0400 ++++ linux-3.0.8/drivers/net/wireless/airo.c 2011-08-23 21:48:14.00000000= 0 -0400 @@ -3003,6 +3003,8 @@ static void airo_process_scan_results (s BSSListElement * loop_net; BSSListElement * tmp_net; @@ -35949,7 +32710,7 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/a= iro.c linux-2.6.32.48/drivers/n /* Blow away current list of scan results */ list_for_each_entry_safe (loop_net, tmp_net, &ai->network_list, list) = { list_move_tail (&loop_net->list, &ai->network_free_list); -@@ -3783,6 +3785,8 @@ static u16 setup_card(struct airo_info * +@@ -3794,6 +3796,8 @@ static u16 setup_card(struct airo_info * WepKeyRid wkr; int rc; =20 @@ -35958,7 +32719,7 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/a= iro.c linux-2.6.32.48/drivers/n memset( &mySsid, 0, sizeof( mySsid ) ); kfree (ai->flash); ai->flash =3D NULL; -@@ -4758,6 +4762,8 @@ static int proc_stats_rid_open( struct i +@@ -4753,6 +4757,8 @@ static int proc_stats_rid_open( struct i __le32 *vals =3D stats.vals; int len; =20 @@ -35966,8 +32727,8 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/a= iro.c linux-2.6.32.48/drivers/n + if ((file->private_data =3D kzalloc(sizeof(struct proc_data ), GFP_KER= NEL)) =3D=3D NULL) return -ENOMEM; - data =3D (struct proc_data *)file->private_data; -@@ -5487,6 +5493,8 @@ static int proc_BSSList_open( struct ino + data =3D file->private_data; +@@ -5476,6 +5482,8 @@ static int proc_BSSList_open( struct ino /* If doLoseSync is not 1, we won't do a Lose Sync */ int doLoseSync =3D -1; =20 @@ -35975,8 +32736,8 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/a= iro.c linux-2.6.32.48/drivers/n + if ((file->private_data =3D kzalloc(sizeof(struct proc_data ), GFP_KER= NEL)) =3D=3D NULL) return -ENOMEM; - data =3D (struct proc_data *)file->private_data; -@@ -7193,6 +7201,8 @@ static int airo_get_aplist(struct net_de + data =3D file->private_data; +@@ -7181,6 +7189,8 @@ static int airo_get_aplist(struct net_de int i; int loseSync =3D capable(CAP_NET_ADMIN) ? 1: -1; =20 @@ -35985,7 +32746,7 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/a= iro.c linux-2.6.32.48/drivers/n qual =3D kmalloc(IW_MAX_AP * sizeof(*qual), GFP_KERNEL); if (!qual) return -ENOMEM; -@@ -7753,6 +7763,8 @@ static void airo_read_wireless_stats(str +@@ -7741,6 +7751,8 @@ static void airo_read_wireless_stats(str CapabilityRid cap_rid; __le32 *vals =3D stats_rid.vals; =20 @@ -35994,10 +32755,10 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless= /airo.c linux-2.6.32.48/drivers/n /* Get stats out of the card */ clear_bit(JOB_WSTATS, &local->jobs); if (local->power.event) { -diff -urNp linux-2.6.32.48/drivers/net/wireless/ath/ath5k/debug.c linux-= 2.6.32.48/drivers/net/wireless/ath/ath5k/debug.c ---- linux-2.6.32.48/drivers/net/wireless/ath/ath5k/debug.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/ath/ath5k/debug.c 2011-11-12 12= :46:45.000000000 -0500 -@@ -205,6 +205,8 @@ static ssize_t read_file_beacon(struct f +diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath5k/debug.c linux-3.0.= 8/drivers/net/wireless/ath/ath5k/debug.c +--- linux-3.0.8/drivers/net/wireless/ath/ath5k/debug.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/ath/ath5k/debug.c 2011-08-23 21:48:= 14.000000000 -0400 +@@ -204,6 +204,8 @@ static ssize_t read_file_beacon(struct f unsigned int v; u64 tsf; =20 @@ -36006,7 +32767,7 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/a= th/ath5k/debug.c linux-2.6.32.4 v =3D ath5k_hw_reg_read(sc->ah, AR5K_BEACON); len +=3D snprintf(buf+len, sizeof(buf)-len, "%-24s0x%08x\tintval: %d\tTIM: 0x%x\n", -@@ -318,6 +320,8 @@ static ssize_t read_file_debug(struct fi +@@ -323,6 +325,8 @@ static ssize_t read_file_debug(struct fi unsigned int len =3D 0; unsigned int i; =20 @@ -36015,55 +32776,198 @@ diff -urNp linux-2.6.32.48/drivers/net/wireles= s/ath/ath5k/debug.c linux-2.6.32.4 len +=3D snprintf(buf+len, sizeof(buf)-len, "DEBUG LEVEL: 0x%08x\n\n", sc->debug.level); =20 -diff -urNp linux-2.6.32.48/drivers/net/wireless/ath/ath9k/debug.c linux-= 2.6.32.48/drivers/net/wireless/ath/ath9k/debug.c ---- linux-2.6.32.48/drivers/net/wireless/ath/ath9k/debug.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/ath/ath9k/debug.c 2011-11-12 12= :46:45.000000000 -0500 -@@ -220,6 +220,8 @@ static ssize_t read_file_interrupt(struc - char buf[512]; +@@ -384,6 +388,8 @@ static ssize_t read_file_antenna(struct=20 + unsigned int i; + unsigned int v; +=20 ++ pax_track_stack(); ++ + len +=3D snprintf(buf+len, sizeof(buf)-len, "antenna mode\t%d\n", + sc->ah->ah_ant_mode); + len +=3D snprintf(buf+len, sizeof(buf)-len, "default antenna\t%d\n", +@@ -494,6 +500,8 @@ static ssize_t read_file_misc(struct fil unsigned int len =3D 0; + u32 filt =3D ath5k_hw_get_rx_filter(sc->ah); =20 + pax_track_stack(); + - len +=3D snprintf(buf + len, sizeof(buf) - len, - "%8s: %10u\n", "RX", sc->debug.stats.istats.rxok); - len +=3D snprintf(buf + len, sizeof(buf) - len, -@@ -360,6 +362,8 @@ static ssize_t read_file_wiphy(struct fi + len +=3D snprintf(buf+len, sizeof(buf)-len, "bssid-mask: %pM\n", + sc->bssidmask); + len +=3D snprintf(buf+len, sizeof(buf)-len, "filter-flags: 0x%x ", +@@ -550,6 +558,8 @@ static ssize_t read_file_frameerrors(str + unsigned int len =3D 0; int i; +=20 ++ pax_track_stack(); ++ + len +=3D snprintf(buf+len, sizeof(buf)-len, + "RX\n---------------------\n"); + len +=3D snprintf(buf+len, sizeof(buf)-len, "CRC\t%u\t(%u%%)\n", +@@ -667,6 +677,8 @@ static ssize_t read_file_ani(struct file + char buf[700]; + unsigned int len =3D 0; +=20 ++ pax_track_stack(); ++ + len +=3D snprintf(buf+len, sizeof(buf)-len, + "HW has PHY error counters:\t%s\n", + sc->ah->ah_capabilities.cap_has_phyerr_counters ? +@@ -827,6 +839,8 @@ static ssize_t read_file_queue(struct fi + struct ath5k_buf *bf, *bf0; + int i, n; +=20 ++ pax_track_stack(); ++ + len +=3D snprintf(buf+len, sizeof(buf)-len, + "available txbuffers: %d\n", sc->txbuf_len); +=20 +diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_calib.c lin= ux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_calib.c +--- linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_calib.c 2011-07-21= 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_calib.c 2011-08-23= 21:48:14.000000000 -0400 +@@ -757,6 +757,8 @@ static void ar9003_hw_tx_iq_cal_post_pro + int i, im, j; + int nmeasurement; +=20 ++ pax_track_stack(); ++ + for (i =3D 0; i < AR9300_MAX_CHAINS; i++) { + if (ah->txchainmask & (1 << i)) + num_chains++; +diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_paprd.c lin= ux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_paprd.c +--- linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 2011-07-21= 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 2011-08-23= 21:48:14.000000000 -0400 +@@ -356,6 +356,8 @@ static bool create_pa_curve(u32 *data_L, + int theta_low_bin =3D 0; + int i; +=20 ++ pax_track_stack(); ++ + /* disregard any bin that contains <=3D 16 samples */ + thresh_accum_cnt =3D 16; + scale_factor =3D 5; +diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath9k/debug.c linux-3.0.= 8/drivers/net/wireless/ath/ath9k/debug.c +--- linux-3.0.8/drivers/net/wireless/ath/ath9k/debug.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/ath/ath9k/debug.c 2011-08-23 21:48:= 14.000000000 -0400 +@@ -337,6 +337,8 @@ static ssize_t read_file_interrupt(struc + char buf[512]; + unsigned int len =3D 0; +=20 ++ pax_track_stack(); ++ + if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) { + len +=3D snprintf(buf + len, sizeof(buf) - len, + "%8s: %10u\n", "RXLP", sc->debug.stats.istats.rxlp); +@@ -427,6 +429,8 @@ static ssize_t read_file_wiphy(struct fi u8 addr[ETH_ALEN]; + u32 tmp; +=20 ++ pax_track_stack(); ++ + len +=3D snprintf(buf + len, sizeof(buf) - len, + "%s (chan=3D%d center-freq: %d MHz channel-type: %d (%s))\n", + wiphy_name(sc->hw->wiphy), +diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath9k/htc_drv_debug.c li= nux-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 2011-07-2= 1 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2011-08-2= 3 21:48:14.000000000 -0400 +@@ -31,6 +31,8 @@ static ssize_t read_file_tgt_int_stats(s + unsigned int len =3D 0; + int ret =3D 0; +=20 ++ pax_track_stack(); ++ + memset(&cmd_rsp, 0, sizeof(cmd_rsp)); +=20 + ath9k_htc_ps_wakeup(priv); +@@ -89,6 +91,8 @@ static ssize_t read_file_tgt_tx_stats(st + unsigned int len =3D 0; + int ret =3D 0; +=20 ++ pax_track_stack(); ++ + memset(&cmd_rsp, 0, sizeof(cmd_rsp)); +=20 + ath9k_htc_ps_wakeup(priv); +@@ -159,6 +163,8 @@ static ssize_t read_file_tgt_rx_stats(st + unsigned int len =3D 0; + int ret =3D 0; +=20 ++ pax_track_stack(); ++ + memset(&cmd_rsp, 0, sizeof(cmd_rsp)); +=20 + ath9k_htc_ps_wakeup(priv); +@@ -203,6 +209,8 @@ static ssize_t read_file_xmit(struct fil + char buf[512]; + unsigned int len =3D 0; =20 + pax_track_stack(); + len +=3D snprintf(buf + len, sizeof(buf) - len, - "primary: %s (%s chan=3D%d ht=3D%d)\n", - wiphy_name(sc->pri_wiphy->hw->wiphy), -diff -urNp linux-2.6.32.48/drivers/net/wireless/b43/debugfs.c linux-2.6.= 32.48/drivers/net/wireless/b43/debugfs.c ---- linux-2.6.32.48/drivers/net/wireless/b43/debugfs.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/b43/debugfs.c 2011-11-12 12:46:= 45.000000000 -0500 -@@ -43,7 +43,7 @@ static struct dentry *rootdir; - struct b43_debugfs_fops { - ssize_t (*read)(struct b43_wldev *dev, char *buf, size_t bufsize); - int (*write)(struct b43_wldev *dev, const char *buf, size_t count); -- struct file_operations fops; -+ const struct file_operations fops; - /* Offset of struct b43_dfs_file in struct b43_dfsentry */ - size_t file_struct_offset; + "%20s : %10u\n", "Buffers queued", + priv->debug.tx_stats.buf_queued); +@@ -376,6 +384,8 @@ static ssize_t read_file_slot(struct fil + char buf[512]; + unsigned int len =3D 0; +=20 ++ pax_track_stack(); ++ + spin_lock_bh(&priv->tx.tx_lock); +=20 + len +=3D snprintf(buf + len, sizeof(buf) - len, "TX slot bitmap : "); +@@ -411,6 +421,8 @@ static ssize_t read_file_queue(struct fi + char buf[512]; + unsigned int len =3D 0; +=20 ++ pax_track_stack(); ++ + len +=3D snprintf(buf + len, sizeof(buf) - len, "%20s : %10u\n", + "Mgmt endpoint", skb_queue_len(&priv->tx.mgmt_ep_queue)); +=20 +diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath9k/hw.h linux-3.0.8/d= rivers/net/wireless/ath/ath9k/hw.h +--- linux-3.0.8/drivers/net/wireless/ath/ath9k/hw.h 2011-10-24 08:05:21.= 000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/ath/ath9k/hw.h 2011-08-23 21:47:55.= 000000000 -0400 +@@ -585,7 +585,7 @@ struct ath_hw_private_ops { +=20 + /* ANI */ + void (*ani_cache_ini_regs)(struct ath_hw *ah); +-}; ++} __no_const; +=20 + /** + * struct ath_hw_ops - callbacks used by hardware code and driver code +@@ -637,7 +637,7 @@ struct ath_hw_ops { + void (*antdiv_comb_conf_set)(struct ath_hw *ah, + struct ath_hw_antcomb_conf *antconf); +=20 +-}; ++} __no_const; +=20 + struct ath_nf_limits { + s16 max; +@@ -650,7 +650,7 @@ struct ath_nf_limits { + #define AH_UNPLUGGED 0x2 /* The card has been physically removed. */ +=20 + struct ath_hw { +- struct ath_ops reg_ops; ++ ath_ops_no_const reg_ops; +=20 + struct ieee80211_hw *hw; + struct ath_common common; +diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath.h linux-3.0.8/driver= s/net/wireless/ath/ath.h +--- linux-3.0.8/drivers/net/wireless/ath/ath.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/net/wireless/ath/ath.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -121,6 +121,7 @@ struct ath_ops { + void (*write_flush) (void *); + u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); }; -diff -urNp linux-2.6.32.48/drivers/net/wireless/b43legacy/debugfs.c linu= x-2.6.32.48/drivers/net/wireless/b43legacy/debugfs.c ---- linux-2.6.32.48/drivers/net/wireless/b43legacy/debugfs.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/b43legacy/debugfs.c 2011-11-12 = 12:46:45.000000000 -0500 -@@ -44,7 +44,7 @@ static struct dentry *rootdir; - struct b43legacy_debugfs_fops { - ssize_t (*read)(struct b43legacy_wldev *dev, char *buf, size_t bufsize= ); - int (*write)(struct b43legacy_wldev *dev, const char *buf, size_t coun= t); -- struct file_operations fops; -+ const struct file_operations fops; - /* Offset of struct b43legacy_dfs_file in struct b43legacy_dfsentry */ - size_t file_struct_offset; - /* Take wl->irq_lock before calling read/write? */ -diff -urNp linux-2.6.32.48/drivers/net/wireless/ipw2x00/ipw2100.c linux-= 2.6.32.48/drivers/net/wireless/ipw2x00/ipw2100.c ---- linux-2.6.32.48/drivers/net/wireless/ipw2x00/ipw2100.c 2011-11-12 12= :44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/ipw2x00/ipw2100.c 2011-11-12 12= :46:45.000000000 -0500 -@@ -2014,6 +2014,8 @@ static int ipw2100_set_essid(struct ipw2 ++typedef struct ath_ops __no_const ath_ops_no_const; +=20 + struct ath_common; + struct ath_bus_ops; +diff -urNp linux-3.0.8/drivers/net/wireless/ipw2x00/ipw2100.c linux-3.0.= 8/drivers/net/wireless/ipw2x00/ipw2100.c +--- linux-3.0.8/drivers/net/wireless/ipw2x00/ipw2100.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/ipw2x00/ipw2100.c 2011-08-23 21:48:= 14.000000000 -0400 +@@ -2100,6 +2100,8 @@ static int ipw2100_set_essid(struct ipw2 int err; DECLARE_SSID_BUF(ssid); =20 @@ -36072,7 +32976,7 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless/i= pw2x00/ipw2100.c linux-2.6.32.4 IPW_DEBUG_HC("SSID: '%s'\n", print_ssid(ssid, essid, ssid_len)); =20 if (ssid_len) -@@ -5380,6 +5382,8 @@ static int ipw2100_set_key(struct ipw210 +@@ -5449,6 +5451,8 @@ static int ipw2100_set_key(struct ipw210 struct ipw2100_wep_key *wep_key =3D (void *)cmd.host_command_parameter= s; int err; =20 @@ -36081,10 +32985,10 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless= /ipw2x00/ipw2100.c linux-2.6.32.4 IPW_DEBUG_HC("WEP_KEY_INFO: index =3D %d, len =3D %d/%d\n", idx, keylen, len); =20 -diff -urNp linux-2.6.32.48/drivers/net/wireless/ipw2x00/libipw_rx.c linu= x-2.6.32.48/drivers/net/wireless/ipw2x00/libipw_rx.c ---- linux-2.6.32.48/drivers/net/wireless/ipw2x00/libipw_rx.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-11-12 = 12:46:45.000000000 -0500 -@@ -1566,6 +1566,8 @@ static void libipw_process_probe_respons +diff -urNp linux-3.0.8/drivers/net/wireless/ipw2x00/libipw_rx.c linux-3.= 0.8/drivers/net/wireless/ipw2x00/libipw_rx.c +--- linux-3.0.8/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-07-21 22:1= 7:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-08-23 21:4= 8:14.000000000 -0400 +@@ -1565,6 +1565,8 @@ static void libipw_process_probe_respons unsigned long flags; DECLARE_SSID_BUF(ssid); =20 @@ -36093,22 +32997,10 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless= /ipw2x00/libipw_rx.c linux-2.6.32 LIBIPW_DEBUG_SCAN("'%s' (%pM" "): %c%c%c%c %c%c%c%c-%c%c%c%c %c%c%c%c\n", print_ssid(ssid, info_element->data, info_element->len), -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-1000.c linux= -2.6.32.48/drivers/net/wireless/iwlwifi/iwl-1000.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-1000.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-1000.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -137,7 +137,7 @@ static struct iwl_lib_ops iwl1000_lib =3D=20 - }, - }; -=20 --static struct iwl_ops iwl1000_ops =3D { -+static const struct iwl_ops iwl1000_ops =3D { - .ucode =3D &iwl5000_ucode, - .lib =3D &iwl1000_lib, - .hcmd =3D &iwl5000_hcmd, -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl3945-base.c l= inux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl3945-base.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl3945-base.c 2011-11-= 12 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl3945-base.c 2011-11-= 12 12:46:45.000000000 -0500 -@@ -3927,7 +3927,9 @@ static int iwl3945_pci_probe(struct pci_ +diff -urNp linux-3.0.8/drivers/net/wireless/iwlegacy/iwl3945-base.c linu= x-3.0.8/drivers/net/wireless/iwlegacy/iwl3945-base.c +--- linux-3.0.8/drivers/net/wireless/iwlegacy/iwl3945-base.c 2011-10-24 = 08:05:30.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/iwlegacy/iwl3945-base.c 2011-10-16 = 21:55:27.000000000 -0400 +@@ -3962,7 +3962,9 @@ static int iwl3945_pci_probe(struct pci_ */ if (iwl3945_mod_params.disable_hw_scan) { IWL_DEBUG_INFO(priv, "Disabling hw_scan\n"); @@ -36118,91 +33010,21 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless= /iwlwifi/iwl3945-base.c linux-2.6 + pax_close_kernel(); } =20 -=20 -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-3945.c linux= -2.6.32.48/drivers/net/wireless/iwlwifi/iwl-3945.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-3945.c 2011-11-12 1= 2:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-3945.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -2874,7 +2874,7 @@ static struct iwl_hcmd_utils_ops iwl3945 - .build_addsta_hcmd =3D iwl3945_build_addsta_hcmd, - }; -=20 --static struct iwl_ops iwl3945_ops =3D { -+static const struct iwl_ops iwl3945_ops =3D { - .ucode =3D &iwl3945_ucode, - .lib =3D &iwl3945_lib, - .hcmd =3D &iwl3945_hcmd, -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-4965.c linux= -2.6.32.48/drivers/net/wireless/iwlwifi/iwl-4965.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-4965.c 2011-11-12 1= 2:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-4965.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -2345,7 +2345,7 @@ static struct iwl_lib_ops iwl4965_lib =3D=20 - }, - }; -=20 --static struct iwl_ops iwl4965_ops =3D { -+static const struct iwl_ops iwl4965_ops =3D { - .ucode =3D &iwl4965_ucode, - .lib =3D &iwl4965_lib, - .hcmd =3D &iwl4965_hcmd, -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-5000.c linux= -2.6.32.48/drivers/net/wireless/iwlwifi/iwl-5000.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-5000.c 2011-11-12 1= 2:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-5000.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -1633,14 +1633,14 @@ static struct iwl_lib_ops iwl5150_lib =3D=20 - }, - }; -=20 --struct iwl_ops iwl5000_ops =3D { -+const struct iwl_ops iwl5000_ops =3D { - .ucode =3D &iwl5000_ucode, - .lib =3D &iwl5000_lib, - .hcmd =3D &iwl5000_hcmd, - .utils =3D &iwl5000_hcmd_utils, - }; -=20 --static struct iwl_ops iwl5150_ops =3D { -+static const struct iwl_ops iwl5150_ops =3D { - .ucode =3D &iwl5000_ucode, - .lib =3D &iwl5150_lib, - .hcmd =3D &iwl5000_hcmd, -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-6000.c linux= -2.6.32.48/drivers/net/wireless/iwlwifi/iwl-6000.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-6000.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-6000.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -146,7 +146,7 @@ static struct iwl_hcmd_utils_ops iwl6000 - .calc_rssi =3D iwl5000_calc_rssi, - }; -=20 --static struct iwl_ops iwl6000_ops =3D { -+static const struct iwl_ops iwl6000_ops =3D { - .ucode =3D &iwl5000_ucode, - .lib =3D &iwl6000_lib, - .hcmd =3D &iwl5000_hcmd, -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn.c linux-= 2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn.c 2011-11-12 12= :44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn.c 2011-11-12 12= :46:45.000000000 -0500 -@@ -2911,7 +2911,9 @@ static int iwl_pci_probe(struct pci_dev=20 - if (iwl_debug_level & IWL_DL_INFO) - dev_printk(KERN_DEBUG, &(pdev->dev), - "Disabling hw_scan\n"); -- iwl_hw_ops.hw_scan =3D NULL; -+ pax_open_kernel(); -+ *(void **)&iwl_hw_ops.hw_scan =3D NULL; -+ pax_close_kernel(); - } -=20 - hw =3D iwl_alloc_all(cfg, &iwl_hw_ops); -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn-rs.c lin= ux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn-rs.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-11-12= 12:44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-11-12= 12:46:45.000000000 -0500 -@@ -857,6 +857,8 @@ static void rs_tx_status(void *priv_r, s - u8 active_index =3D 0; - s32 tpt =3D 0; + IWL_DEBUG_INFO(priv, "*** LOAD DRIVER ***\n"); +diff -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 +--- linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-07-21 22:= 17:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-08-23 21:= 48:14.000000000 -0400 +@@ -910,6 +910,8 @@ static void rs_tx_status(void *priv_r, s + struct iwl_station_priv *sta_priv =3D (void *)sta->drv_priv; + struct iwl_rxon_context *ctx =3D sta_priv->common.ctx; =20 + pax_track_stack(); + IWL_DEBUG_RATE_LIMIT(priv, "get frame ack response, update rate scale = window\n"); =20 - if (!ieee80211_is_data(hdr->frame_control) || -@@ -2722,6 +2724,8 @@ static void rs_fill_link_cmd(struct iwl_ - u8 valid_tx_ant =3D 0; + /* Treat uninitialized rate scaling data same as non-existing. */ +@@ -2918,6 +2920,8 @@ static void rs_fill_link_cmd(struct iwl_ + container_of(lq_sta, struct iwl_station_priv, lq_sta); struct iwl_link_quality_cmd *lq_cmd =3D &lq_sta->lq; =20 + pax_track_stack(); @@ -36210,10 +33032,10 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless= /iwlwifi/iwl-agn-rs.c linux-2.6.3 /* Override starting rate (index 0) if needed for debug purposes */ rs_dbgfs_set_mcs(lq_sta, &new_rate, index); =20 -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debugfs.c li= nux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debugfs.c ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2009-12-0= 2 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-11-1= 2 12:46:45.000000000 -0500 -@@ -524,6 +524,8 @@ static ssize_t iwl_dbgfs_status_read(str +diff -urNp linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debugfs.c linux-= 3.0.8/drivers/net/wireless/iwlwifi/iwl-debugfs.c +--- linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-07-21 22= :17:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-08-23 21= :48:14.000000000 -0400 +@@ -548,6 +548,8 @@ static ssize_t iwl_dbgfs_status_read(str int pos =3D 0; const size_t bufsz =3D sizeof(buf); =20 @@ -36221,21 +33043,21 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless= /iwlwifi/iwl-debugfs.c linux-2.6. + pos +=3D scnprintf(buf + pos, bufsz - pos, "STATUS_HCMD_ACTIVE:\t %d\n= ", test_bit(STATUS_HCMD_ACTIVE, &priv->status)); - pos +=3D scnprintf(buf + pos, bufsz - pos, "STATUS_HCMD_SYNC_ACTIVE: %= d\n", -@@ -658,6 +660,8 @@ static ssize_t iwl_dbgfs_qos_read(struct + pos +=3D scnprintf(buf + pos, bufsz - pos, "STATUS_INT_ENABLED:\t %d\n= ", +@@ -680,6 +682,8 @@ static ssize_t iwl_dbgfs_qos_read(struct + char buf[256 * NUM_IWL_RXON_CTX]; const size_t bufsz =3D sizeof(buf); - ssize_t ret; =20 + pax_track_stack(); + - for (i =3D 0; i < AC_NUM; i++) { - pos +=3D scnprintf(buf + pos, bufsz - pos, - "\tcw_min\tcw_max\taifsn\ttxop\n"); -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debug.h linu= x-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debug.h ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debug.h 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-11-12 = 12:46:45.000000000 -0500 -@@ -118,8 +118,8 @@ void iwl_dbgfs_unregister(struct iwl_pri - #endif + for_each_context(priv, ctx) { + pos +=3D scnprintf(buf + pos, bufsz - pos, "context %d:\n", + ctx->ctxid); +diff -urNp linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debug.h linux-3.= 0.8/drivers/net/wireless/iwlwifi/iwl-debug.h +--- linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-07-21 22:1= 7:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-08-23 21:4= 7:55.000000000 -0400 +@@ -68,8 +68,8 @@ do { =20 + } while (0) =20 #else -#define IWL_DEBUG(__priv, level, fmt, args...) @@ -36243,24 +33065,12 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless= /iwlwifi/iwl-debug.h linux-2.6.32 +#define IWL_DEBUG(__priv, level, fmt, args...) do {} while (0) +#define IWL_DEBUG_LIMIT(__priv, level, fmt, args...) do {} while (0) static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level, - void *p, u32 len) + const void *p, u32 len) {} -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-dev.h linux-= 2.6.32.48/drivers/net/wireless/iwlwifi/iwl-dev.h ---- linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-dev.h 2011-11-12 12= :44:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwlwifi/iwl-dev.h 2011-11-12 12= :46:45.000000000 -0500 -@@ -68,7 +68,7 @@ struct iwl_tx_queue; -=20 - /* shared structures from iwl-5000.c */ - extern struct iwl_mod_params iwl50_mod_params; --extern struct iwl_ops iwl5000_ops; -+extern const struct iwl_ops iwl5000_ops; - extern struct iwl_ucode_ops iwl5000_ucode; - extern struct iwl_lib_ops iwl5000_lib; - extern struct iwl_hcmd_ops iwl5000_hcmd; -diff -urNp linux-2.6.32.48/drivers/net/wireless/iwmc3200wifi/debugfs.c l= inux-2.6.32.48/drivers/net/wireless/iwmc3200wifi/debugfs.c ---- linux-2.6.32.48/drivers/net/wireless/iwmc3200wifi/debugfs.c 2009-12-= 02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-11-= 12 12:46:45.000000000 -0500 -@@ -299,6 +299,8 @@ static ssize_t iwm_debugfs_fw_err_read(s +diff -urNp linux-3.0.8/drivers/net/wireless/iwmc3200wifi/debugfs.c linux= -3.0.8/drivers/net/wireless/iwmc3200wifi/debugfs.c +--- linux-3.0.8/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-07-21 2= 2:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-08-23 2= 1:48:14.000000000 -0400 +@@ -327,6 +327,8 @@ static ssize_t iwm_debugfs_fw_err_read(s int buf_len =3D 512; size_t len =3D 0; =20 @@ -36269,34 +33079,76 @@ diff -urNp linux-2.6.32.48/drivers/net/wireless= /iwmc3200wifi/debugfs.c linux-2.6 if (*ppos !=3D 0) return 0; if (count < sizeof(buf)) -diff -urNp linux-2.6.32.48/drivers/net/wireless/libertas/debugfs.c linux= -2.6.32.48/drivers/net/wireless/libertas/debugfs.c ---- linux-2.6.32.48/drivers/net/wireless/libertas/debugfs.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/libertas/debugfs.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -708,7 +708,7 @@ out_unlock: - struct lbs_debugfs_files { - const char *name; - int perm; -- struct file_operations fops; -+ const struct file_operations fops; - }; +diff -urNp linux-3.0.8/drivers/net/wireless/mac80211_hwsim.c linux-3.0.8= /drivers/net/wireless/mac80211_hwsim.c +--- linux-3.0.8/drivers/net/wireless/mac80211_hwsim.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/mac80211_hwsim.c 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -1260,9 +1260,11 @@ static int __init init_mac80211_hwsim(vo + return -EINVAL; =20 - static const struct lbs_debugfs_files debugfs_files[] =3D { -diff -urNp linux-2.6.32.48/drivers/net/wireless/rndis_wlan.c linux-2.6.3= 2.48/drivers/net/wireless/rndis_wlan.c ---- linux-2.6.32.48/drivers/net/wireless/rndis_wlan.c 2011-11-12 12:44:2= 9.000000000 -0500 -+++ linux-2.6.32.48/drivers/net/wireless/rndis_wlan.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -1176,7 +1176,7 @@ static int set_rts_threshold(struct usbn + if (fake_hw_scan) { +- mac80211_hwsim_ops.hw_scan =3D mac80211_hwsim_hw_scan; +- mac80211_hwsim_ops.sw_scan_start =3D NULL; +- mac80211_hwsim_ops.sw_scan_complete =3D NULL; ++ pax_open_kernel(); ++ *(void **)&mac80211_hwsim_ops.hw_scan =3D mac80211_hwsim_hw_scan; ++ *(void **)&mac80211_hwsim_ops.sw_scan_start =3D NULL; ++ *(void **)&mac80211_hwsim_ops.sw_scan_complete =3D NULL; ++ pax_close_kernel(); + } +=20 + spin_lock_init(&hwsim_radio_lock); +diff -urNp linux-3.0.8/drivers/net/wireless/rndis_wlan.c linux-3.0.8/dri= vers/net/wireless/rndis_wlan.c +--- linux-3.0.8/drivers/net/wireless/rndis_wlan.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/rndis_wlan.c 2011-08-23 21:47:55.00= 0000000 -0400 +@@ -1277,7 +1277,7 @@ static int set_rts_threshold(struct usbn =20 - devdbg(usbdev, "set_rts_threshold %i", rts_threshold); + netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); =20 - if (rts_threshold < 0 || rts_threshold > 2347) + if (rts_threshold > 2347) rts_threshold =3D 2347; =20 tmp =3D cpu_to_le32(rts_threshold); -diff -urNp linux-2.6.32.48/drivers/oprofile/buffer_sync.c linux-2.6.32.4= 8/drivers/oprofile/buffer_sync.c ---- linux-2.6.32.48/drivers/oprofile/buffer_sync.c 2011-11-12 12:44:29.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/oprofile/buffer_sync.c 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -341,7 +341,7 @@ static void add_data(struct op_entry *en +diff -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 +--- linux-3.0.8/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 2011-= 07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 2011-= 08-23 21:48:14.000000000 -0400 +@@ -837,6 +837,8 @@ bool _rtl92c_phy_sw_chnl_step_by_step(st + u8 rfpath; + u8 num_total_rfpath =3D rtlphy->num_total_rfpath; +=20 ++ pax_track_stack(); ++ + precommoncmdcnt =3D 0; + _rtl92c_phy_set_sw_chnl_cmdarray(precommoncmd, precommoncmdcnt++, + MAX_PRECMD_CNT, +diff -urNp linux-3.0.8/drivers/net/wireless/wl1251/wl1251.h linux-3.0.8/= drivers/net/wireless/wl1251/wl1251.h +--- linux-3.0.8/drivers/net/wireless/wl1251/wl1251.h 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/wl1251/wl1251.h 2011-08-23 21:47:55= .000000000 -0400 +@@ -266,7 +266,7 @@ struct wl1251_if_operations { + void (*reset)(struct wl1251 *wl); + void (*enable_irq)(struct wl1251 *wl); + void (*disable_irq)(struct wl1251 *wl); +-}; ++} __no_const; +=20 + struct wl1251 { + struct ieee80211_hw *hw; +diff -urNp linux-3.0.8/drivers/net/wireless/wl12xx/spi.c linux-3.0.8/dri= vers/net/wireless/wl12xx/spi.c +--- linux-3.0.8/drivers/net/wireless/wl12xx/spi.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/net/wireless/wl12xx/spi.c 2011-08-23 21:48:14.00= 0000000 -0400 +@@ -280,6 +280,8 @@ static void wl1271_spi_raw_write(struct=20 + u32 chunk_len; + int i; +=20 ++ pax_track_stack(); ++ + WARN_ON(len > WL1271_AGGR_BUFFER_SIZE); +=20 + spi_message_init(&m); +diff -urNp linux-3.0.8/drivers/oprofile/buffer_sync.c linux-3.0.8/driver= s/oprofile/buffer_sync.c +--- linux-3.0.8/drivers/oprofile/buffer_sync.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/oprofile/buffer_sync.c 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -343,7 +343,7 @@ static void add_data(struct op_entry *en if (cookie =3D=3D NO_COOKIE) offset =3D pc; if (cookie =3D=3D INVALID_COOKIE) { @@ -36305,7 +33157,7 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/buffe= r_sync.c linux-2.6.32.48/driver offset =3D pc; } if (cookie !=3D last_cookie) { -@@ -385,14 +385,14 @@ add_sample(struct mm_struct *mm, struct=20 +@@ -387,14 +387,14 @@ add_sample(struct mm_struct *mm, struct=20 /* add userspace sample */ =20 if (!mm) { @@ -36322,7 +33174,7 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/buffe= r_sync.c linux-2.6.32.48/driver return 0; } =20 -@@ -561,7 +561,7 @@ void sync_buffer(int cpu) +@@ -563,7 +563,7 @@ void sync_buffer(int cpu) /* ignore backtraces if failed to add a sample */ if (state =3D=3D sb_bt_start) { state =3D sb_bt_ignore; @@ -36331,9 +33183,9 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/buffe= r_sync.c linux-2.6.32.48/driver } } release_mm(mm); -diff -urNp linux-2.6.32.48/drivers/oprofile/event_buffer.c linux-2.6.32.= 48/drivers/oprofile/event_buffer.c ---- linux-2.6.32.48/drivers/oprofile/event_buffer.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/oprofile/event_buffer.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-3.0.8/drivers/oprofile/event_buffer.c linux-3.0.8/drive= rs/oprofile/event_buffer.c +--- linux-3.0.8/drivers/oprofile/event_buffer.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/oprofile/event_buffer.c 2011-08-23 21:47:55.0000= 00000 -0400 @@ -53,7 +53,7 @@ void add_event_entry(unsigned long value } =20 @@ -36343,9 +33195,9 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/event= _buffer.c linux-2.6.32.48/drive return; } =20 -diff -urNp linux-2.6.32.48/drivers/oprofile/oprof.c linux-2.6.32.48/driv= ers/oprofile/oprof.c ---- linux-2.6.32.48/drivers/oprofile/oprof.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/oprofile/oprof.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-3.0.8/drivers/oprofile/oprof.c linux-3.0.8/drivers/opro= file/oprof.c +--- linux-3.0.8/drivers/oprofile/oprof.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/oprofile/oprof.c 2011-08-23 21:47:55.000000000 -= 0400 @@ -110,7 +110,7 @@ static void switch_worker(struct work_st if (oprofile_ops.switch_events()) return; @@ -36355,21 +33207,21 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/opr= of.c linux-2.6.32.48/drivers/opro start_switch_worker(); } =20 -diff -urNp linux-2.6.32.48/drivers/oprofile/oprofilefs.c linux-2.6.32.48= /drivers/oprofile/oprofilefs.c ---- linux-2.6.32.48/drivers/oprofile/oprofilefs.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/oprofile/oprofilefs.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -187,7 +187,7 @@ static const struct file_operations atom +diff -urNp linux-3.0.8/drivers/oprofile/oprofilefs.c linux-3.0.8/drivers= /oprofile/oprofilefs.c +--- linux-3.0.8/drivers/oprofile/oprofilefs.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/oprofile/oprofilefs.c 2011-08-23 21:47:55.000000= 000 -0400 +@@ -186,7 +186,7 @@ static const struct file_operations atom =20 =20 int oprofilefs_create_ro_atomic(struct super_block *sb, struct dentry *= root, - char const *name, atomic_t *val) + char const *name, atomic_unchecked_t *val) { - struct dentry *d =3D __oprofilefs_create_file(sb, root, name, - &atomic_ro_fops, 0444); -diff -urNp linux-2.6.32.48/drivers/oprofile/oprofile_stats.c linux-2.6.3= 2.48/drivers/oprofile/oprofile_stats.c ---- linux-2.6.32.48/drivers/oprofile/oprofile_stats.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/oprofile/oprofile_stats.c 2011-11-12 12:46:4= 5.000000000 -0500 + return __oprofilefs_create_file(sb, root, name, + &atomic_ro_fops, 0444, val); +diff -urNp linux-3.0.8/drivers/oprofile/oprofile_stats.c linux-3.0.8/dri= vers/oprofile/oprofile_stats.c +--- linux-3.0.8/drivers/oprofile/oprofile_stats.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/oprofile/oprofile_stats.c 2011-08-23 21:47:55.00= 0000000 -0400 @@ -30,11 +30,11 @@ void oprofile_reset_stats(void) cpu_buf->sample_invalid_eip =3D 0; } @@ -36387,9 +33239,9 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/oprof= ile_stats.c linux-2.6.32.48/dri } =20 =20 -diff -urNp linux-2.6.32.48/drivers/oprofile/oprofile_stats.h linux-2.6.3= 2.48/drivers/oprofile/oprofile_stats.h ---- linux-2.6.32.48/drivers/oprofile/oprofile_stats.h 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/oprofile/oprofile_stats.h 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-3.0.8/drivers/oprofile/oprofile_stats.h linux-3.0.8/dri= vers/oprofile/oprofile_stats.h +--- linux-3.0.8/drivers/oprofile/oprofile_stats.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/oprofile/oprofile_stats.h 2011-08-23 21:47:55.00= 0000000 -0400 @@ -13,11 +13,11 @@ #include =20 @@ -36407,21 +33259,9 @@ diff -urNp linux-2.6.32.48/drivers/oprofile/opro= file_stats.h linux-2.6.32.48/dri }; =20 extern struct oprofile_stat_struct oprofile_stats; -diff -urNp linux-2.6.32.48/drivers/parisc/pdc_stable.c linux-2.6.32.48/d= rivers/parisc/pdc_stable.c ---- linux-2.6.32.48/drivers/parisc/pdc_stable.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/parisc/pdc_stable.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -481,7 +481,7 @@ pdcspath_attr_store(struct kobject *kobj - return ret; - } -=20 --static struct sysfs_ops pdcspath_attr_ops =3D { -+static const struct sysfs_ops pdcspath_attr_ops =3D { - .show =3D pdcspath_attr_show, - .store =3D pdcspath_attr_store, - }; -diff -urNp linux-2.6.32.48/drivers/parport/procfs.c linux-2.6.32.48/driv= ers/parport/procfs.c ---- linux-2.6.32.48/drivers/parport/procfs.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/parport/procfs.c 2011-11-12 12:46:45.0000000= 00 -0500 +diff -urNp linux-3.0.8/drivers/parport/procfs.c linux-3.0.8/drivers/parp= ort/procfs.c +--- linux-3.0.8/drivers/parport/procfs.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/parport/procfs.c 2011-08-23 21:47:55.000000000 -= 0400 @@ -64,7 +64,7 @@ static int do_active_device(ctl_table *t =20 *ppos +=3D len; @@ -36440,21 +33280,9 @@ diff -urNp linux-2.6.32.48/drivers/parport/procf= s.c linux-2.6.32.48/drivers/parp } #endif /* IEEE1284.3 support. */ =20 -diff -urNp linux-2.6.32.48/drivers/pci/hotplug/acpiphp_glue.c linux-2.6.= 32.48/drivers/pci/hotplug/acpiphp_glue.c ---- linux-2.6.32.48/drivers/pci/hotplug/acpiphp_glue.c 2011-11-12 12:44:= 29.000000000 -0500 -+++ linux-2.6.32.48/drivers/pci/hotplug/acpiphp_glue.c 2011-11-12 12:46:= 45.000000000 -0500 -@@ -111,7 +111,7 @@ static int post_dock_fixups(struct notif - } -=20 -=20 --static struct acpi_dock_ops acpiphp_dock_ops =3D { -+static const struct acpi_dock_ops acpiphp_dock_ops =3D { - .handler =3D handle_hotplug_event_func, - }; -=20 -diff -urNp linux-2.6.32.48/drivers/pci/hotplug/cpci_hotplug.h linux-2.6.= 32.48/drivers/pci/hotplug/cpci_hotplug.h ---- linux-2.6.32.48/drivers/pci/hotplug/cpci_hotplug.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/pci/hotplug/cpci_hotplug.h 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/pci/hotplug/cpci_hotplug.h linux-3.0.8/dr= ivers/pci/hotplug/cpci_hotplug.h +--- linux-3.0.8/drivers/pci/hotplug/cpci_hotplug.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/pci/hotplug/cpci_hotplug.h 2011-08-23 21:47:55.0= 00000000 -0400 @@ -59,7 +59,7 @@ struct cpci_hp_controller_ops { int (*hardware_test) (struct slot* slot, u32 value); u8 (*get_power) (struct slot* slot); @@ -36464,9 +33292,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/hotplug/cp= ci_hotplug.h linux-2.6.32.48/dr =20 struct cpci_hp_controller { unsigned int irq; -diff -urNp linux-2.6.32.48/drivers/pci/hotplug/cpqphp_nvram.c linux-2.6.= 32.48/drivers/pci/hotplug/cpqphp_nvram.c ---- linux-2.6.32.48/drivers/pci/hotplug/cpqphp_nvram.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/pci/hotplug/cpqphp_nvram.c 2011-11-12 12:46:= 45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/pci/hotplug/cpqphp_nvram.c linux-3.0.8/dr= ivers/pci/hotplug/cpqphp_nvram.c +--- linux-3.0.8/drivers/pci/hotplug/cpqphp_nvram.c 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/pci/hotplug/cpqphp_nvram.c 2011-08-23 21:47:55.0= 00000000 -0400 @@ -428,9 +428,13 @@ static u32 store_HRT (void __iomem *rom_ =20 void compaq_nvram_init (void __iomem *rom_start) @@ -36481,93 +33309,9 @@ diff -urNp linux-2.6.32.48/drivers/pci/hotplug/c= pqphp_nvram.c linux-2.6.32.48/dr dbg("int15 entry =3D %p\n", compaq_int15_entry_point); =20 /* initialize our int15 lock */ -diff -urNp linux-2.6.32.48/drivers/pci/hotplug/fakephp.c linux-2.6.32.48= /drivers/pci/hotplug/fakephp.c ---- linux-2.6.32.48/drivers/pci/hotplug/fakephp.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/pci/hotplug/fakephp.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -73,7 +73,7 @@ static void legacy_release(struct kobjec - } -=20 - static struct kobj_type legacy_ktype =3D { -- .sysfs_ops =3D &(struct sysfs_ops){ -+ .sysfs_ops =3D &(const struct sysfs_ops){ - .store =3D legacy_store, .show =3D legacy_show - }, - .release =3D &legacy_release, -diff -urNp linux-2.6.32.48/drivers/pci/intel-iommu.c linux-2.6.32.48/dri= vers/pci/intel-iommu.c ---- linux-2.6.32.48/drivers/pci/intel-iommu.c 2011-11-12 12:44:29.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/pci/intel-iommu.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -2643,7 +2643,7 @@ error: - return 0; - } -=20 --static dma_addr_t intel_map_page(struct device *dev, struct page *page, -+dma_addr_t intel_map_page(struct device *dev, struct page *page, - unsigned long offset, size_t size, - enum dma_data_direction dir, - struct dma_attrs *attrs) -@@ -2719,7 +2719,7 @@ static void add_unmap(struct dmar_domain - spin_unlock_irqrestore(&async_umap_flush_lock, flags); - } -=20 --static void intel_unmap_page(struct device *dev, dma_addr_t dev_addr, -+void intel_unmap_page(struct device *dev, dma_addr_t dev_addr, - size_t size, enum dma_data_direction dir, - struct dma_attrs *attrs) - { -@@ -2768,7 +2768,7 @@ static void intel_unmap_page(struct devi - } - } -=20 --static void *intel_alloc_coherent(struct device *hwdev, size_t size, -+void *intel_alloc_coherent(struct device *hwdev, size_t size, - dma_addr_t *dma_handle, gfp_t flags) - { - void *vaddr; -@@ -2800,7 +2800,7 @@ static void *intel_alloc_coherent(struct - return NULL; - } -=20 --static void intel_free_coherent(struct device *hwdev, size_t size, void= *vaddr, -+void intel_free_coherent(struct device *hwdev, size_t size, void *vaddr= , - dma_addr_t dma_handle) - { - int order; -@@ -2812,7 +2812,7 @@ static void intel_free_coherent(struct d - free_pages((unsigned long)vaddr, order); - } -=20 --static void intel_unmap_sg(struct device *hwdev, struct scatterlist *sg= list, -+void intel_unmap_sg(struct device *hwdev, struct scatterlist *sglist, - int nelems, enum dma_data_direction dir, - struct dma_attrs *attrs) - { -@@ -2872,7 +2872,7 @@ static int intel_nontranslate_map_sg(str - return nelems; - } -=20 --static int intel_map_sg(struct device *hwdev, struct scatterlist *sglis= t, int nelems, -+int intel_map_sg(struct device *hwdev, struct scatterlist *sglist, int = nelems, - enum dma_data_direction dir, struct dma_attrs *attrs) - { - int i; -@@ -2941,12 +2941,12 @@ static int intel_map_sg(struct device *h - return nelems; - } -=20 --static int intel_mapping_error(struct device *dev, dma_addr_t dma_addr) -+int intel_mapping_error(struct device *dev, dma_addr_t dma_addr) - { - return !dma_addr; - } -=20 --struct dma_map_ops intel_dma_ops =3D { -+const struct dma_map_ops intel_dma_ops =3D { - .alloc_coherent =3D intel_alloc_coherent, - .free_coherent =3D intel_free_coherent, - .map_sg =3D intel_map_sg, -diff -urNp linux-2.6.32.48/drivers/pci/pcie/aspm.c linux-2.6.32.48/drive= rs/pci/pcie/aspm.c ---- linux-2.6.32.48/drivers/pci/pcie/aspm.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/pci/pcie/aspm.c 2011-11-12 12:46:45.00000000= 0 -0500 +diff -urNp linux-3.0.8/drivers/pci/pcie/aspm.c linux-3.0.8/drivers/pci/p= cie/aspm.c +--- linux-3.0.8/drivers/pci/pcie/aspm.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/pci/pcie/aspm.c 2011-08-23 21:47:55.000000000 -0= 400 @@ -27,9 +27,9 @@ #define MODULE_PARAM_PREFIX "pcie_aspm." =20 @@ -36581,30 +33325,22 @@ diff -urNp linux-2.6.32.48/drivers/pci/pcie/asp= m.c linux-2.6.32.48/drivers/pci/p #define ASPM_STATE_L0S (ASPM_STATE_L0S_UP | ASPM_STATE_L0S_DW) #define ASPM_STATE_ALL (ASPM_STATE_L0S | ASPM_STATE_L1) =20 -diff -urNp linux-2.6.32.48/drivers/pci/probe.c linux-2.6.32.48/drivers/p= ci/probe.c ---- linux-2.6.32.48/drivers/pci/probe.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/pci/probe.c 2011-11-12 12:46:45.000000000 -0= 500 -@@ -62,14 +62,14 @@ static ssize_t pci_bus_show_cpuaffinity( - return ret; - } -=20 --static ssize_t inline pci_bus_show_cpumaskaffinity(struct device *dev, -+static inline ssize_t pci_bus_show_cpumaskaffinity(struct device *dev, - struct device_attribute *attr, - char *buf) - { - return pci_bus_show_cpuaffinity(dev, 0, attr, buf); - } -=20 --static ssize_t inline pci_bus_show_cpulistaffinity(struct device *dev, -+static inline ssize_t pci_bus_show_cpulistaffinity(struct device *dev, - struct device_attribute *attr, - char *buf) - { -diff -urNp linux-2.6.32.48/drivers/pci/proc.c linux-2.6.32.48/drivers/pc= i/proc.c ---- linux-2.6.32.48/drivers/pci/proc.c 2011-11-12 12:44:29.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/pci/proc.c 2011-11-12 12:46:45.000000000 -05= 00 -@@ -480,7 +480,16 @@ static const struct file_operations proc +diff -urNp linux-3.0.8/drivers/pci/probe.c linux-3.0.8/drivers/pci/probe= .c +--- linux-3.0.8/drivers/pci/probe.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/pci/probe.c 2011-08-23 21:47:55.000000000 -0400 +@@ -129,7 +129,7 @@ int __pci_read_base(struct pci_dev *dev, + u32 l, sz, mask; + u16 orig_cmd; +=20 +- mask =3D type ? PCI_ROM_ADDRESS_MASK : ~0; ++ mask =3D type ? (u32)PCI_ROM_ADDRESS_MASK : ~0; +=20 + if (!dev->mmio_always_on) { + pci_read_config_word(dev, PCI_COMMAND, &orig_cmd); +diff -urNp linux-3.0.8/drivers/pci/proc.c linux-3.0.8/drivers/pci/proc.c +--- linux-3.0.8/drivers/pci/proc.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/pci/proc.c 2011-08-23 21:48:14.000000000 -0400 +@@ -476,7 +476,16 @@ static const struct file_operations proc static int __init pci_proc_init(void) { struct pci_dev *dev =3D NULL; @@ -36621,154 +33357,58 @@ diff -urNp linux-2.6.32.48/drivers/pci/proc.c = linux-2.6.32.48/drivers/pci/proc.c proc_create("devices", 0, proc_bus_pci_dir, &proc_bus_pci_dev_operations); proc_initialized =3D 1; -diff -urNp linux-2.6.32.48/drivers/pci/slot.c linux-2.6.32.48/drivers/pc= i/slot.c ---- linux-2.6.32.48/drivers/pci/slot.c 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/pci/slot.c 2011-11-12 12:46:45.000000000 -05= 00 -@@ -29,7 +29,7 @@ static ssize_t pci_slot_attr_store(struc - return attribute->store ? attribute->store(slot, buf, len) : -EIO; - } -=20 --static struct sysfs_ops pci_slot_sysfs_ops =3D { -+static const struct sysfs_ops pci_slot_sysfs_ops =3D { - .show =3D pci_slot_attr_show, - .store =3D pci_slot_attr_store, - }; -diff -urNp linux-2.6.32.48/drivers/pcmcia/pcmcia_ioctl.c linux-2.6.32.48= /drivers/pcmcia/pcmcia_ioctl.c ---- linux-2.6.32.48/drivers/pcmcia/pcmcia_ioctl.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/pcmcia/pcmcia_ioctl.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -819,7 +819,7 @@ static int ds_ioctl(struct inode * inode - return -EFAULT; - } - } -- buf =3D kmalloc(sizeof(ds_ioctl_arg_t), GFP_KERNEL); -+ buf =3D kzalloc(sizeof(ds_ioctl_arg_t), GFP_KERNEL); - if (!buf) - return -ENOMEM; -=20 -diff -urNp linux-2.6.32.48/drivers/platform/x86/acer-wmi.c linux-2.6.32.= 48/drivers/platform/x86/acer-wmi.c ---- linux-2.6.32.48/drivers/platform/x86/acer-wmi.c 2011-11-12 12:44:29.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/acer-wmi.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -918,7 +918,7 @@ static int update_bl_status(struct backl - return 0; - } +diff -urNp linux-3.0.8/drivers/pci/xen-pcifront.c linux-3.0.8/drivers/pc= i/xen-pcifront.c +--- linux-3.0.8/drivers/pci/xen-pcifront.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/pci/xen-pcifront.c 2011-08-23 21:48:14.000000000= -0400 +@@ -187,6 +187,8 @@ static int pcifront_bus_read(struct pci_ + struct pcifront_sd *sd =3D bus->sysdata; + struct pcifront_device *pdev =3D pcifront_get_pdev(sd); =20 --static struct backlight_ops acer_bl_ops =3D { -+static const struct backlight_ops acer_bl_ops =3D { - .get_brightness =3D read_brightness, - .update_status =3D update_bl_status, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/asus_acpi.c linux-2.6.32= .48/drivers/platform/x86/asus_acpi.c ---- linux-2.6.32.48/drivers/platform/x86/asus_acpi.c 2011-11-12 12:44:29= .000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/asus_acpi.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -1396,7 +1396,7 @@ static int asus_hotk_remove(struct acpi_ - return 0; - } -=20 --static struct backlight_ops asus_backlight_data =3D { -+static const struct backlight_ops asus_backlight_data =3D { - .get_brightness =3D read_brightness, - .update_status =3D set_brightness_status, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/asus-laptop.c linux-2.6.= 32.48/drivers/platform/x86/asus-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/asus-laptop.c 2011-11-12 12:44:= 29.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/asus-laptop.c 2011-11-12 12:46:= 45.000000000 -0500 -@@ -250,7 +250,7 @@ static struct backlight_device *asus_bac - */ - static int read_brightness(struct backlight_device *bd); - static int update_bl_status(struct backlight_device *bd); --static struct backlight_ops asusbl_ops =3D { -+static const struct backlight_ops asusbl_ops =3D { - .get_brightness =3D read_brightness, - .update_status =3D update_bl_status, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/compal-laptop.c linux-2.= 6.32.48/drivers/platform/x86/compal-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/compal-laptop.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/compal-laptop.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -163,7 +163,7 @@ static int bl_update_status(struct backl - return set_lcd_level(b->props.brightness); - } -=20 --static struct backlight_ops compalbl_ops =3D { -+static const struct backlight_ops compalbl_ops =3D { - .get_brightness =3D bl_get_brightness, - .update_status =3D bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/dell-laptop.c linux-2.6.= 32.48/drivers/platform/x86/dell-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/dell-laptop.c 2011-11-12 12:44:= 29.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/dell-laptop.c 2011-11-12 12:46:= 45.000000000 -0500 -@@ -318,7 +318,7 @@ static int dell_get_intensity(struct bac - return buffer.output[1]; - } ++ pax_track_stack(); ++ + if (verbose_request) + dev_info(&pdev->xdev->dev, + "read dev=3D%04x:%02x:%02x.%01x - offset %x size %d\n", +@@ -226,6 +228,8 @@ static int pcifront_bus_write(struct pci + struct pcifront_sd *sd =3D bus->sysdata; + struct pcifront_device *pdev =3D pcifront_get_pdev(sd); =20 --static struct backlight_ops dell_ops =3D { -+static const struct backlight_ops dell_ops =3D { - .get_brightness =3D dell_get_intensity, - .update_status =3D dell_send_intensity, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/eeepc-laptop.c linux-2.6= .32.48/drivers/platform/x86/eeepc-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/eeepc-laptop.c 2011-11-12 12:44= :29.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/eeepc-laptop.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -245,7 +245,7 @@ static struct device *eeepc_hwmon_device - */ - static int read_brightness(struct backlight_device *bd); - static int update_bl_status(struct backlight_device *bd); --static struct backlight_ops eeepcbl_ops =3D { -+static const struct backlight_ops eeepcbl_ops =3D { - .get_brightness =3D read_brightness, - .update_status =3D update_bl_status, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/fujitsu-laptop.c linux-2= .6.32.48/drivers/platform/x86/fujitsu-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/fujitsu-laptop.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/fujitsu-laptop.c 2011-11-12 12:= 46:45.000000000 -0500 -@@ -436,7 +436,7 @@ static int bl_update_status(struct backl - return ret; - } ++ pax_track_stack(); ++ + if (verbose_request) + dev_info(&pdev->xdev->dev, + "write dev=3D%04x:%02x:%02x.%01x - " +@@ -258,6 +262,8 @@ static int pci_frontend_enable_msix(stru + struct pcifront_device *pdev =3D pcifront_get_pdev(sd); + struct msi_desc *entry; =20 --static struct backlight_ops fujitsubl_ops =3D { -+static const struct backlight_ops fujitsubl_ops =3D { - .get_brightness =3D bl_get_brightness, - .update_status =3D bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/msi-laptop.c linux-2.6.3= 2.48/drivers/platform/x86/msi-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/msi-laptop.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/msi-laptop.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -161,7 +161,7 @@ static int bl_update_status(struct backl - return set_lcd_level(b->props.brightness); - } ++ pax_track_stack(); ++ + if (nvec > SH_INFO_MAX_VEC) { + dev_err(&dev->dev, "too much vector for pci frontend: %x." + " Increase SH_INFO_MAX_VEC.\n", nvec); +@@ -309,6 +315,8 @@ static void pci_frontend_disable_msix(st + struct pcifront_sd *sd =3D dev->bus->sysdata; + struct pcifront_device *pdev =3D pcifront_get_pdev(sd); =20 --static struct backlight_ops msibl_ops =3D { -+static const struct backlight_ops msibl_ops =3D { - .get_brightness =3D bl_get_brightness, - .update_status =3D bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/panasonic-laptop.c linux= -2.6.32.48/drivers/platform/x86/panasonic-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/panasonic-laptop.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/panasonic-laptop.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -352,7 +352,7 @@ static int bl_set_status(struct backligh - return acpi_pcc_write_sset(pcc, SINF_DC_CUR_BRIGHT, bright); - } ++ pax_track_stack(); ++ + err =3D do_pci_op(pdev, &op); =20 --static struct backlight_ops pcc_backlight_ops =3D { -+static const struct backlight_ops pcc_backlight_ops =3D { - .get_brightness =3D bl_get, - .update_status =3D bl_set_status, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/sony-laptop.c linux-2.6.= 32.48/drivers/platform/x86/sony-laptop.c ---- linux-2.6.32.48/drivers/platform/x86/sony-laptop.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/sony-laptop.c 2011-11-12 12:46:= 45.000000000 -0500 -@@ -850,7 +850,7 @@ static int sony_backlight_get_brightness - } + /* What should do for error ? */ +@@ -328,6 +336,8 @@ static int pci_frontend_enable_msi(struc + struct pcifront_sd *sd =3D dev->bus->sysdata; + struct pcifront_device *pdev =3D pcifront_get_pdev(sd); =20 - static struct backlight_device *sony_backlight_device; --static struct backlight_ops sony_backlight_ops =3D { -+static const struct backlight_ops sony_backlight_ops =3D { - .update_status =3D sony_backlight_update_status, - .get_brightness =3D sony_backlight_get_brightness, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/thinkpad_acpi.c linux-2.= 6.32.48/drivers/platform/x86/thinkpad_acpi.c ---- linux-2.6.32.48/drivers/platform/x86/thinkpad_acpi.c 2011-11-12 12:4= 4:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/thinkpad_acpi.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -2139,7 +2139,7 @@ static int hotkey_mask_get(void) ++ pax_track_stack(); ++ + err =3D do_pci_op(pdev, &op); + if (likely(!err)) { + vector[0] =3D op.value; +diff -urNp linux-3.0.8/drivers/platform/x86/thinkpad_acpi.c linux-3.0.8/= drivers/platform/x86/thinkpad_acpi.c +--- linux-3.0.8/drivers/platform/x86/thinkpad_acpi.c 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/drivers/platform/x86/thinkpad_acpi.c 2011-08-23 21:47:55= .000000000 -0400 +@@ -2094,7 +2094,7 @@ static int hotkey_mask_get(void) return 0; } =20 @@ -36777,31 +33417,10 @@ diff -urNp linux-2.6.32.48/drivers/platform/x86= /thinkpad_acpi.c linux-2.6.32.48/ { /* log only what the user can fix... */ const u32 wantedmask =3D hotkey_driver_mask & -@@ -6125,7 +6125,7 @@ static void tpacpi_brightness_notify_cha - BACKLIGHT_UPDATE_HOTKEY); - } -=20 --static struct backlight_ops ibm_backlight_data =3D { -+static const struct backlight_ops ibm_backlight_data =3D { - .get_brightness =3D brightness_get, - .update_status =3D brightness_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/platform/x86/toshiba_acpi.c linux-2.6= .32.48/drivers/platform/x86/toshiba_acpi.c ---- linux-2.6.32.48/drivers/platform/x86/toshiba_acpi.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/platform/x86/toshiba_acpi.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -671,7 +671,7 @@ static acpi_status remove_device(void) - return AE_OK; - } -=20 --static struct backlight_ops toshiba_backlight_data =3D { -+static const struct backlight_ops toshiba_backlight_data =3D { - .get_brightness =3D get_lcd, - .update_status =3D set_lcd_status, - }; -diff -urNp linux-2.6.32.48/drivers/pnp/pnpbios/bioscalls.c linux-2.6.32.= 48/drivers/pnp/pnpbios/bioscalls.c ---- linux-2.6.32.48/drivers/pnp/pnpbios/bioscalls.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/pnp/pnpbios/bioscalls.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -60,7 +60,7 @@ do { \ +diff -urNp linux-3.0.8/drivers/pnp/pnpbios/bioscalls.c linux-3.0.8/drive= rs/pnp/pnpbios/bioscalls.c +--- linux-3.0.8/drivers/pnp/pnpbios/bioscalls.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/pnp/pnpbios/bioscalls.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -59,7 +59,7 @@ do { \ set_desc_limit(&gdt[(selname) >> 3], (size) - 1); \ } while(0) =20 @@ -36810,7 +33429,7 @@ diff -urNp linux-2.6.32.48/drivers/pnp/pnpbios/bi= oscalls.c linux-2.6.32.48/drive (unsigned long)__va(0x400UL), PAGE_SIZE - 0x400 - 1); =20 /* -@@ -97,7 +97,10 @@ static inline u16 call_pnp_bios(u16 func +@@ -96,7 +96,10 @@ static inline u16 call_pnp_bios(u16 func =20 cpu =3D get_cpu(); save_desc_40 =3D get_cpu_gdt_table(cpu)[0x40 / 8]; @@ -36821,7 +33440,7 @@ diff -urNp linux-2.6.32.48/drivers/pnp/pnpbios/bi= oscalls.c linux-2.6.32.48/drive =20 /* On some boxes IRQ's during PnP BIOS calls are deadly. */ spin_lock_irqsave(&pnp_bios_lock, flags); -@@ -135,7 +138,10 @@ static inline u16 call_pnp_bios(u16 func +@@ -134,7 +137,10 @@ static inline u16 call_pnp_bios(u16 func :"memory"); spin_unlock_irqrestore(&pnp_bios_lock, flags); =20 @@ -36832,7 +33451,7 @@ diff -urNp linux-2.6.32.48/drivers/pnp/pnpbios/bi= oscalls.c linux-2.6.32.48/drive put_cpu(); =20 /* If we get here and this is set then the PnP BIOS faulted on us. */ -@@ -469,7 +475,7 @@ int pnp_bios_read_escd(char *data, u32 n +@@ -468,7 +474,7 @@ int pnp_bios_read_escd(char *data, u32 n return status; } =20 @@ -36841,7 +33460,7 @@ diff -urNp linux-2.6.32.48/drivers/pnp/pnpbios/bi= oscalls.c linux-2.6.32.48/drive { int i; =20 -@@ -477,6 +483,8 @@ void pnpbios_calls_init(union pnp_bios_i +@@ -476,6 +482,8 @@ void pnpbios_calls_init(union pnp_bios_i pnp_bios_callpoint.offset =3D header->fields.pm16offset; pnp_bios_callpoint.segment =3D PNP_CS16; =20 @@ -36850,17 +33469,17 @@ diff -urNp linux-2.6.32.48/drivers/pnp/pnpbios/= bioscalls.c linux-2.6.32.48/drive for_each_possible_cpu(i) { struct desc_struct *gdt =3D get_cpu_gdt_table(i); if (!gdt) -@@ -488,4 +496,6 @@ void pnpbios_calls_init(union pnp_bios_i +@@ -487,4 +495,6 @@ void pnpbios_calls_init(union pnp_bios_i set_desc_base(&gdt[GDT_ENTRY_PNPBIOS_DS], (unsigned long)__va(header->fields.pm16dseg)); } + + pax_close_kernel(); } -diff -urNp linux-2.6.32.48/drivers/pnp/resource.c linux-2.6.32.48/driver= s/pnp/resource.c ---- linux-2.6.32.48/drivers/pnp/resource.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/pnp/resource.c 2011-11-12 12:46:45.000000000= -0500 -@@ -355,7 +355,7 @@ int pnp_check_irq(struct pnp_dev *dev, s +diff -urNp linux-3.0.8/drivers/pnp/resource.c linux-3.0.8/drivers/pnp/re= source.c +--- linux-3.0.8/drivers/pnp/resource.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/pnp/resource.c 2011-08-23 21:47:55.000000000 -04= 00 +@@ -360,7 +360,7 @@ int pnp_check_irq(struct pnp_dev *dev, s return 1; =20 /* check if the resource is valid */ @@ -36869,7 +33488,7 @@ diff -urNp linux-2.6.32.48/drivers/pnp/resource.c= linux-2.6.32.48/drivers/pnp/re return 0; =20 /* check if the resource is reserved */ -@@ -419,7 +419,7 @@ int pnp_check_dma(struct pnp_dev *dev, s +@@ -424,7 +424,7 @@ int pnp_check_dma(struct pnp_dev *dev, s return 1; =20 /* check if the resource is valid */ @@ -36878,21 +33497,55 @@ diff -urNp linux-2.6.32.48/drivers/pnp/resource= .c linux-2.6.32.48/drivers/pnp/re return 0; =20 /* check if the resource is reserved */ -diff -urNp linux-2.6.32.48/drivers/power/bq27x00_battery.c linux-2.6.32.= 48/drivers/power/bq27x00_battery.c ---- linux-2.6.32.48/drivers/power/bq27x00_battery.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/power/bq27x00_battery.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -44,7 +44,7 @@ struct bq27x00_device_info; +diff -urNp linux-3.0.8/drivers/power/bq27x00_battery.c linux-3.0.8/drive= rs/power/bq27x00_battery.c +--- linux-3.0.8/drivers/power/bq27x00_battery.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/power/bq27x00_battery.c 2011-08-23 21:47:55.0000= 00000 -0400 +@@ -67,7 +67,7 @@ + struct bq27x00_device_info; struct bq27x00_access_methods { - int (*read)(u8 reg, int *rt_value, int b_single, - struct bq27x00_device_info *di); + int (*read)(struct bq27x00_device_info *di, u8 reg, bool single); -}; +} __no_const; =20 - struct bq27x00_device_info { - struct device *dev; -diff -urNp linux-2.6.32.48/drivers/rtc/rtc-dev.c linux-2.6.32.48/drivers= /rtc/rtc-dev.c ---- linux-2.6.32.48/drivers/rtc/rtc-dev.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/rtc/rtc-dev.c 2011-11-12 12:46:45.000000000 = -0500 + enum bq27x00_chip { BQ27000, BQ27500 }; +=20 +diff -urNp linux-3.0.8/drivers/regulator/max8660.c linux-3.0.8/drivers/r= egulator/max8660.c +--- linux-3.0.8/drivers/regulator/max8660.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/regulator/max8660.c 2011-08-23 21:47:55.00000000= 0 -0400 +@@ -383,8 +383,10 @@ static int __devinit max8660_probe(struc + max8660->shadow_regs[MAX8660_OVER1] =3D 5; + } else { + /* Otherwise devices can be toggled via software */ +- max8660_dcdc_ops.enable =3D max8660_dcdc_enable; +- max8660_dcdc_ops.disable =3D max8660_dcdc_disable; ++ pax_open_kernel(); ++ *(void **)&max8660_dcdc_ops.enable =3D max8660_dcdc_enable; ++ *(void **)&max8660_dcdc_ops.disable =3D max8660_dcdc_disable; ++ pax_close_kernel(); + } +=20 + /* +diff -urNp linux-3.0.8/drivers/regulator/mc13892-regulator.c linux-3.0.8= /drivers/regulator/mc13892-regulator.c +--- linux-3.0.8/drivers/regulator/mc13892-regulator.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/regulator/mc13892-regulator.c 2011-08-23 21:47:5= 5.000000000 -0400 +@@ -564,10 +564,12 @@ static int __devinit mc13892_regulator_p + } + mc13xxx_unlock(mc13892); +=20 +- mc13892_regulators[MC13892_VCAM].desc.ops->set_mode ++ pax_open_kernel(); ++ *(void **)&mc13892_regulators[MC13892_VCAM].desc.ops->set_mode + =3D mc13892_vcam_set_mode; +- mc13892_regulators[MC13892_VCAM].desc.ops->get_mode ++ *(void **)&mc13892_regulators[MC13892_VCAM].desc.ops->get_mode + =3D mc13892_vcam_get_mode; ++ pax_close_kernel(); + for (i =3D 0; i < pdata->num_regulators; i++) { + init_data =3D &pdata->regulators[i]; + priv->regulators[i] =3D regulator_register( +diff -urNp linux-3.0.8/drivers/rtc/rtc-dev.c linux-3.0.8/drivers/rtc/rtc= -dev.c +--- linux-3.0.8/drivers/rtc/rtc-dev.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/rtc/rtc-dev.c 2011-08-23 21:48:14.000000000 -040= 0 @@ -14,6 +14,7 @@ #include #include @@ -36901,7 +33554,7 @@ diff -urNp linux-2.6.32.48/drivers/rtc/rtc-dev.c = linux-2.6.32.48/drivers/rtc/rtc #include "rtc-core.h" =20 static dev_t rtc_devt; -@@ -357,6 +358,8 @@ static long rtc_dev_ioctl(struct file *f +@@ -345,6 +346,8 @@ static long rtc_dev_ioctl(struct file *f if (copy_from_user(&tm, uarg, sizeof(tm))) return -EFAULT; =20 @@ -36910,163 +33563,10 @@ diff -urNp linux-2.6.32.48/drivers/rtc/rtc-dev= .c linux-2.6.32.48/drivers/rtc/rtc return rtc_set_time(rtc, &tm); =20 case RTC_PIE_ON: -diff -urNp linux-2.6.32.48/drivers/s390/cio/qdio_perf.c linux-2.6.32.48/= drivers/s390/cio/qdio_perf.c ---- linux-2.6.32.48/drivers/s390/cio/qdio_perf.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/s390/cio/qdio_perf.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -31,51 +31,51 @@ static struct proc_dir_entry *qdio_perf_ - static int qdio_perf_proc_show(struct seq_file *m, void *v) - { - seq_printf(m, "Number of qdio interrupts\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.qdio_int)); -+ (long)atomic_long_read_unchecked(&perf_stats.qdio_int)); - seq_printf(m, "Number of PCI interrupts\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.pci_int)); -+ (long)atomic_long_read_unchecked(&perf_stats.pci_int)); - seq_printf(m, "Number of adapter interrupts\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.thin_int)); -+ (long)atomic_long_read_unchecked(&perf_stats.thin_int)); - seq_printf(m, "\n"); - seq_printf(m, "Inbound tasklet runs\t\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.tasklet_inbound)); -+ (long)atomic_long_read_unchecked(&perf_stats.tasklet_inbound)); - seq_printf(m, "Outbound tasklet runs\t\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.tasklet_outbound)); -+ (long)atomic_long_read_unchecked(&perf_stats.tasklet_outbound)); - seq_printf(m, "Adapter interrupt tasklet runs/loops\t\t: %li/%li\n", -- (long)atomic_long_read(&perf_stats.tasklet_thinint), -- (long)atomic_long_read(&perf_stats.tasklet_thinint_loop)); -+ (long)atomic_long_read_unchecked(&perf_stats.tasklet_thinint), -+ (long)atomic_long_read_unchecked(&perf_stats.tasklet_thinint_loop)= ); - seq_printf(m, "Adapter interrupt inbound tasklet runs/loops\t: %li/%li= \n", -- (long)atomic_long_read(&perf_stats.thinint_inbound), -- (long)atomic_long_read(&perf_stats.thinint_inbound_loop)); -+ (long)atomic_long_read_unchecked(&perf_stats.thinint_inbound), -+ (long)atomic_long_read_unchecked(&perf_stats.thinint_inbound_loop)= ); - seq_printf(m, "\n"); - seq_printf(m, "Number of SIGA In issued\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.siga_in)); -+ (long)atomic_long_read_unchecked(&perf_stats.siga_in)); - seq_printf(m, "Number of SIGA Out issued\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.siga_out)); -+ (long)atomic_long_read_unchecked(&perf_stats.siga_out)); - seq_printf(m, "Number of SIGA Sync issued\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.siga_sync)); -+ (long)atomic_long_read_unchecked(&perf_stats.siga_sync)); - seq_printf(m, "\n"); - seq_printf(m, "Number of inbound transfers\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.inbound_handler)); -+ (long)atomic_long_read_unchecked(&perf_stats.inbound_handler)); - seq_printf(m, "Number of outbound transfers\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.outbound_handler)); -+ (long)atomic_long_read_unchecked(&perf_stats.outbound_handler)); - seq_printf(m, "\n"); - seq_printf(m, "Number of fast requeues (outg. SBAL w/o SIGA)\t: %li\n"= , -- (long)atomic_long_read(&perf_stats.fast_requeue)); -+ (long)atomic_long_read_unchecked(&perf_stats.fast_requeue)); - seq_printf(m, "Number of outbound target full condition\t: %li\n", -- (long)atomic_long_read(&perf_stats.outbound_target_full)); -+ (long)atomic_long_read_unchecked(&perf_stats.outbound_target_full)= ); - seq_printf(m, "Number of outbound tasklet mod_timer calls\t: %li\n", -- (long)atomic_long_read(&perf_stats.debug_tl_out_timer)); -+ (long)atomic_long_read_unchecked(&perf_stats.debug_tl_out_timer)); - seq_printf(m, "Number of stop polling calls\t\t\t: %li\n", -- (long)atomic_long_read(&perf_stats.debug_stop_polling)); -+ (long)atomic_long_read_unchecked(&perf_stats.debug_stop_polling)); - seq_printf(m, "AI inbound tasklet loops after stop polling\t: %li\n", -- (long)atomic_long_read(&perf_stats.thinint_inbound_loop2)); -+ (long)atomic_long_read_unchecked(&perf_stats.thinint_inbound_loop2= )); - seq_printf(m, "QEBSM EQBS total/incomplete\t\t\t: %li/%li\n", -- (long)atomic_long_read(&perf_stats.debug_eqbs_all), -- (long)atomic_long_read(&perf_stats.debug_eqbs_incomplete)); -+ (long)atomic_long_read_unchecked(&perf_stats.debug_eqbs_all), -+ (long)atomic_long_read_unchecked(&perf_stats.debug_eqbs_incomplete= )); - seq_printf(m, "QEBSM SQBS total/incomplete\t\t\t: %li/%li\n", -- (long)atomic_long_read(&perf_stats.debug_sqbs_all), -- (long)atomic_long_read(&perf_stats.debug_sqbs_incomplete)); -+ (long)atomic_long_read_unchecked(&perf_stats.debug_sqbs_all), -+ (long)atomic_long_read_unchecked(&perf_stats.debug_sqbs_incomplete= )); - seq_printf(m, "\n"); - return 0; - } -diff -urNp linux-2.6.32.48/drivers/s390/cio/qdio_perf.h linux-2.6.32.48/= drivers/s390/cio/qdio_perf.h ---- linux-2.6.32.48/drivers/s390/cio/qdio_perf.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/s390/cio/qdio_perf.h 2011-11-12 12:46:45.000= 000000 -0500 -@@ -13,46 +13,46 @@ -=20 - struct qdio_perf_stats { - /* interrupt handler calls */ -- atomic_long_t qdio_int; -- atomic_long_t pci_int; -- atomic_long_t thin_int; -+ atomic_long_unchecked_t qdio_int; -+ atomic_long_unchecked_t pci_int; -+ atomic_long_unchecked_t thin_int; -=20 - /* tasklet runs */ -- atomic_long_t tasklet_inbound; -- atomic_long_t tasklet_outbound; -- atomic_long_t tasklet_thinint; -- atomic_long_t tasklet_thinint_loop; -- atomic_long_t thinint_inbound; -- atomic_long_t thinint_inbound_loop; -- atomic_long_t thinint_inbound_loop2; -+ atomic_long_unchecked_t tasklet_inbound; -+ atomic_long_unchecked_t tasklet_outbound; -+ atomic_long_unchecked_t tasklet_thinint; -+ atomic_long_unchecked_t tasklet_thinint_loop; -+ atomic_long_unchecked_t thinint_inbound; -+ atomic_long_unchecked_t thinint_inbound_loop; -+ atomic_long_unchecked_t thinint_inbound_loop2; -=20 - /* signal adapter calls */ -- atomic_long_t siga_out; -- atomic_long_t siga_in; -- atomic_long_t siga_sync; -+ atomic_long_unchecked_t siga_out; -+ atomic_long_unchecked_t siga_in; -+ atomic_long_unchecked_t siga_sync; -=20 - /* misc */ -- atomic_long_t inbound_handler; -- atomic_long_t outbound_handler; -- atomic_long_t fast_requeue; -- atomic_long_t outbound_target_full; -+ atomic_long_unchecked_t inbound_handler; -+ atomic_long_unchecked_t outbound_handler; -+ atomic_long_unchecked_t fast_requeue; -+ atomic_long_unchecked_t outbound_target_full; -=20 - /* for debugging */ -- atomic_long_t debug_tl_out_timer; -- atomic_long_t debug_stop_polling; -- atomic_long_t debug_eqbs_all; -- atomic_long_t debug_eqbs_incomplete; -- atomic_long_t debug_sqbs_all; -- atomic_long_t debug_sqbs_incomplete; -+ atomic_long_unchecked_t debug_tl_out_timer; -+ atomic_long_unchecked_t debug_stop_polling; -+ atomic_long_unchecked_t debug_eqbs_all; -+ atomic_long_unchecked_t debug_eqbs_incomplete; -+ atomic_long_unchecked_t debug_sqbs_all; -+ atomic_long_unchecked_t debug_sqbs_incomplete; - }; -=20 - extern struct qdio_perf_stats perf_stats; - extern int qdio_performance_stats; -=20 --static inline void qdio_perf_stat_inc(atomic_long_t *count) -+static inline void qdio_perf_stat_inc(atomic_long_unchecked_t *count) - { - if (qdio_performance_stats) -- atomic_long_inc(count); -+ atomic_long_inc_unchecked(count); - } -=20 - int qdio_setup_perf_stats(void); -diff -urNp linux-2.6.32.48/drivers/scsi/aacraid/aacraid.h linux-2.6.32.4= 8/drivers/scsi/aacraid/aacraid.h ---- linux-2.6.32.48/drivers/scsi/aacraid/aacraid.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/aacraid/aacraid.h 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -471,7 +471,7 @@ struct adapter_ops +diff -urNp linux-3.0.8/drivers/scsi/aacraid/aacraid.h linux-3.0.8/driver= s/scsi/aacraid/aacraid.h +--- linux-3.0.8/drivers/scsi/aacraid/aacraid.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/scsi/aacraid/aacraid.h 2011-08-23 21:47:55.00000= 0000 -0400 +@@ -492,7 +492,7 @@ struct adapter_ops int (*adapter_scsi)(struct fib * fib, struct scsi_cmnd * cmd); /* Administrative operations */ int (*adapter_comm)(struct aac_dev * dev, int comm); @@ -37075,10 +33575,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/aacraid= /aacraid.h linux-2.6.32.48/driver =20 /* * Define which interrupt handler needs to be installed -diff -urNp linux-2.6.32.48/drivers/scsi/aacraid/commctrl.c linux-2.6.32.= 48/drivers/scsi/aacraid/commctrl.c ---- linux-2.6.32.48/drivers/scsi/aacraid/commctrl.c 2011-11-12 12:44:29.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/aacraid/commctrl.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -481,6 +481,7 @@ static int aac_send_raw_srb(struct aac_d +diff -urNp linux-3.0.8/drivers/scsi/aacraid/commctrl.c linux-3.0.8/drive= rs/scsi/aacraid/commctrl.c +--- linux-3.0.8/drivers/scsi/aacraid/commctrl.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/scsi/aacraid/commctrl.c 2011-08-23 21:48:14.0000= 00000 -0400 +@@ -482,6 +482,7 @@ static int aac_send_raw_srb(struct aac_d u32 actual_fibsize64, actual_fibsize =3D 0; int i; =20 @@ -37086,46 +33586,112 @@ diff -urNp linux-2.6.32.48/drivers/scsi/aacrai= d/commctrl.c linux-2.6.32.48/drive =20 if (dev->in_reset) { dprintk((KERN_DEBUG"aacraid: send raw srb -EBUSY\n")); -diff -urNp linux-2.6.32.48/drivers/scsi/aic94xx/aic94xx_init.c linux-2.6= .32.48/drivers/scsi/aic94xx/aic94xx_init.c ---- linux-2.6.32.48/drivers/scsi/aic94xx/aic94xx_init.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/aic94xx/aic94xx_init.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -485,7 +485,7 @@ static ssize_t asd_show_update_bios(stru - flash_error_table[i].reason); - } -=20 --static DEVICE_ATTR(update_bios, S_IRUGO|S_IWUGO, -+static DEVICE_ATTR(update_bios, S_IRUGO|S_IWUSR, - asd_show_update_bios, asd_store_update_bios); -=20 - static int asd_create_dev_attrs(struct asd_ha_struct *asd_ha) -diff -urNp linux-2.6.32.48/drivers/scsi/bfa/bfa_iocfc.h linux-2.6.32.48/= drivers/scsi/bfa/bfa_iocfc.h ---- linux-2.6.32.48/drivers/scsi/bfa/bfa_iocfc.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/bfa/bfa_iocfc.h 2011-11-12 12:46:45.000= 000000 -0500 -@@ -61,7 +61,7 @@ struct bfa_hwif_s { - void (*hw_isr_mode_set)(struct bfa_s *bfa, bfa_boolean_t msix); - void (*hw_msix_getvecs)(struct bfa_s *bfa, u32 *vecmap, - u32 *nvecs, u32 *maxvec); +diff -urNp linux-3.0.8/drivers/scsi/aacraid/linit.c linux-3.0.8/drivers/= scsi/aacraid/linit.c +--- linux-3.0.8/drivers/scsi/aacraid/linit.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/scsi/aacraid/linit.c 2011-10-11 10:44:33.0000000= 00 -0400 +@@ -92,7 +92,7 @@ static DECLARE_PCI_DEVICE_TABLE(aac_pci_ + #elif defined(__devinitconst) + static const struct pci_device_id aac_pci_tbl[] __devinitconst =3D { + #else +-static const struct pci_device_id aac_pci_tbl[] __devinitdata =3D { ++static const struct pci_device_id aac_pci_tbl[] __devinitconst =3D { + #endif + { 0x1028, 0x0001, 0x1028, 0x0001, 0, 0, 0 }, /* PERC 2/Si (Iguana/PERC= 2Si) */ + { 0x1028, 0x0002, 0x1028, 0x0002, 0, 0, 1 }, /* PERC 3/Di (Opal/PERC3D= i) */ +diff -urNp linux-3.0.8/drivers/scsi/aic94xx/aic94xx_init.c linux-3.0.8/d= rivers/scsi/aic94xx/aic94xx_init.c +--- linux-3.0.8/drivers/scsi/aic94xx/aic94xx_init.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/scsi/aic94xx/aic94xx_init.c 2011-10-11 10:44:33.= 000000000 -0400 +@@ -1012,7 +1012,7 @@ static struct sas_domain_function_templa + .lldd_control_phy =3D asd_control_phy, + }; +=20 +-static const struct pci_device_id aic94xx_pci_table[] __devinitdata =3D= { ++static const struct pci_device_id aic94xx_pci_table[] __devinitconst =3D= { + {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x410),0, 0, 1}, + {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x412),0, 0, 1}, + {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x416),0, 0, 1}, +diff -urNp linux-3.0.8/drivers/scsi/bfa/bfad.c linux-3.0.8/drivers/scsi/= bfa/bfad.c +--- linux-3.0.8/drivers/scsi/bfa/bfad.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/scsi/bfa/bfad.c 2011-08-23 21:48:14.000000000 -0= 400 +@@ -1032,6 +1032,8 @@ bfad_start_ops(struct bfad_s *bfad) { + struct bfad_vport_s *vport, *vport_new; + struct bfa_fcs_driver_info_s driver_info; +=20 ++ pax_track_stack(); ++ + /* Fill the driver_info info to fcs*/ + memset(&driver_info, 0, sizeof(driver_info)); + strncpy(driver_info.version, BFAD_DRIVER_VERSION, +diff -urNp linux-3.0.8/drivers/scsi/bfa/bfa_fcs_lport.c linux-3.0.8/driv= ers/scsi/bfa/bfa_fcs_lport.c +--- linux-3.0.8/drivers/scsi/bfa/bfa_fcs_lport.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/scsi/bfa/bfa_fcs_lport.c 2011-08-23 21:48:14.000= 000000 -0400 +@@ -1559,6 +1559,8 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struc + u16 len, count; + u16 templen; +=20 ++ pax_track_stack(); ++ + /* + * get hba attributes + */ +@@ -1836,6 +1838,8 @@ bfa_fcs_lport_fdmi_build_portattr_block( + u8 count =3D 0; + u16 templen; +=20 ++ pax_track_stack(); ++ + /* + * get port attributes + */ +diff -urNp linux-3.0.8/drivers/scsi/bfa/bfa_fcs_rport.c linux-3.0.8/driv= ers/scsi/bfa/bfa_fcs_rport.c +--- linux-3.0.8/drivers/scsi/bfa/bfa_fcs_rport.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/scsi/bfa/bfa_fcs_rport.c 2011-08-23 21:48:14.000= 000000 -0400 +@@ -1844,6 +1844,8 @@ bfa_fcs_rport_process_rpsc(struct bfa_fc + struct fc_rpsc_speed_info_s speeds; + struct bfa_port_attr_s pport_attr; +=20 ++ pax_track_stack(); ++ + bfa_trc(port->fcs, rx_fchs->s_id); + bfa_trc(port->fcs, rx_fchs->d_id); +=20 +diff -urNp linux-3.0.8/drivers/scsi/bfa/bfa.h linux-3.0.8/drivers/scsi/b= fa/bfa.h +--- linux-3.0.8/drivers/scsi/bfa/bfa.h 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/scsi/bfa/bfa.h 2011-08-23 21:47:55.000000000 -04= 00 +@@ -238,7 +238,7 @@ struct bfa_hwif_s { + u32 *nvecs, u32 *maxvec); + void (*hw_msix_get_rme_range) (struct bfa_s *bfa, u32 *start, + u32 *end); -}; +} __no_const; typedef void (*bfa_cb_iocfc_t) (void *cbarg, enum bfa_status status); =20 struct bfa_iocfc_s { -diff -urNp linux-2.6.32.48/drivers/scsi/bfa/bfa_ioc.h linux-2.6.32.48/dr= ivers/scsi/bfa/bfa_ioc.h ---- linux-2.6.32.48/drivers/scsi/bfa/bfa_ioc.h 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/scsi/bfa/bfa_ioc.h 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -127,7 +127,7 @@ struct bfa_ioc_cbfn_s { +diff -urNp linux-3.0.8/drivers/scsi/bfa/bfa_ioc.h linux-3.0.8/drivers/sc= si/bfa/bfa_ioc.h +--- linux-3.0.8/drivers/scsi/bfa/bfa_ioc.h 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/scsi/bfa/bfa_ioc.h 2011-08-23 21:47:55.000000000= -0400 +@@ -196,7 +196,7 @@ struct bfa_ioc_cbfn_s { bfa_ioc_disable_cbfn_t disable_cbfn; bfa_ioc_hbfail_cbfn_t hbfail_cbfn; bfa_ioc_reset_cbfn_t reset_cbfn; -}; +} __no_const; =20 - /** + /* * Heartbeat failure notification queue element. -diff -urNp linux-2.6.32.48/drivers/scsi/BusLogic.c linux-2.6.32.48/drive= rs/scsi/BusLogic.c ---- linux-2.6.32.48/drivers/scsi/BusLogic.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/scsi/BusLogic.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -961,6 +961,8 @@ static int __init BusLogic_InitializeFla +@@ -268,7 +268,7 @@ struct bfa_ioc_hwif_s { + void (*ioc_sync_leave) (struct bfa_ioc_s *ioc); + void (*ioc_sync_ack) (struct bfa_ioc_s *ioc); + bfa_boolean_t (*ioc_sync_complete) (struct bfa_ioc_s *ioc); +-}; ++} __no_const; +=20 + #define bfa_ioc_pcifn(__ioc) ((__ioc)->pcidev.pci_func) + #define bfa_ioc_devid(__ioc) ((__ioc)->pcidev.device_id) +diff -urNp linux-3.0.8/drivers/scsi/BusLogic.c linux-3.0.8/drivers/scsi/= BusLogic.c +--- linux-3.0.8/drivers/scsi/BusLogic.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/scsi/BusLogic.c 2011-08-23 21:48:14.000000000 -0= 400 +@@ -962,6 +962,8 @@ static int __init BusLogic_InitializeFla static void __init BusLogic_InitializeProbeInfoList(struct BusLogic_Hos= tAdapter *PrototypeHostAdapter) { @@ -37134,10 +33700,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/BusLogi= c.c linux-2.6.32.48/drivers/scsi/ /* If a PCI BIOS is present, interrogate it for MultiMaster and FlashP= oint Host Adapters; otherwise, default to the standard ISA MultiMaster p= robe. -diff -urNp linux-2.6.32.48/drivers/scsi/dpt_i2o.c linux-2.6.32.48/driver= s/scsi/dpt_i2o.c ---- linux-2.6.32.48/drivers/scsi/dpt_i2o.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/scsi/dpt_i2o.c 2011-11-12 12:46:45.000000000= -0500 -@@ -1804,6 +1804,8 @@ static int adpt_i2o_passthru(adpt_hba* p +diff -urNp linux-3.0.8/drivers/scsi/dpt_i2o.c linux-3.0.8/drivers/scsi/d= pt_i2o.c +--- linux-3.0.8/drivers/scsi/dpt_i2o.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/scsi/dpt_i2o.c 2011-08-23 21:48:14.000000000 -04= 00 +@@ -1811,6 +1811,8 @@ static int adpt_i2o_passthru(adpt_hba* p dma_addr_t addr; ulong flags =3D 0; =20 @@ -37146,7 +33712,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/dpt_i2o.c= linux-2.6.32.48/drivers/scsi/d memset(&msg, 0, MAX_MESSAGE_SIZE*4); // get user msg size in u32s=20 if(get_user(size, &user_msg[0])){ -@@ -2297,6 +2299,8 @@ static s32 adpt_scsi_to_i2o(adpt_hba* pH +@@ -2317,6 +2319,8 @@ static s32 adpt_scsi_to_i2o(adpt_hba* pH s32 rcode; dma_addr_t addr; =20 @@ -37155,9 +33721,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/dpt_i2o.c= linux-2.6.32.48/drivers/scsi/d memset(msg, 0 , sizeof(msg)); len =3D scsi_bufflen(cmd); direction =3D 0x00000000;=09 -diff -urNp linux-2.6.32.48/drivers/scsi/eata.c linux-2.6.32.48/drivers/s= csi/eata.c ---- linux-2.6.32.48/drivers/scsi/eata.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/scsi/eata.c 2011-11-12 12:46:45.000000000 -0= 500 +diff -urNp linux-3.0.8/drivers/scsi/eata.c linux-3.0.8/drivers/scsi/eata= .c +--- linux-3.0.8/drivers/scsi/eata.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/scsi/eata.c 2011-08-23 21:48:14.000000000 -0400 @@ -1087,6 +1087,8 @@ static int port_detect(unsigned long por struct hostdata *ha; char name[16]; @@ -37167,35 +33733,23 @@ diff -urNp linux-2.6.32.48/drivers/scsi/eata.c = linux-2.6.32.48/drivers/scsi/eata sprintf(name, "%s%d", driver_name, j); =20 if (!request_region(port_base, REGION_SIZE, driver_name)) { -diff -urNp linux-2.6.32.48/drivers/scsi/fcoe/libfcoe.c linux-2.6.32.48/d= rivers/scsi/fcoe/libfcoe.c ---- linux-2.6.32.48/drivers/scsi/fcoe/libfcoe.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/scsi/fcoe/libfcoe.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -809,6 +809,8 @@ static void fcoe_ctlr_recv_els(struct fc - size_t rlen; - size_t dlen; +diff -urNp linux-3.0.8/drivers/scsi/fcoe/fcoe_ctlr.c linux-3.0.8/drivers= /scsi/fcoe/fcoe_ctlr.c +--- linux-3.0.8/drivers/scsi/fcoe/fcoe_ctlr.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/scsi/fcoe/fcoe_ctlr.c 2011-08-23 21:48:14.000000= 000 -0400 +@@ -2503,6 +2503,8 @@ static int fcoe_ctlr_vn_recv(struct fcoe + } buf; + int rc; =20 + pax_track_stack(); + fiph =3D (struct fip_header *)skb->data; sub =3D fiph->fip_subcode; - if (sub !=3D FIP_SC_REQ && sub !=3D FIP_SC_REP) -diff -urNp linux-2.6.32.48/drivers/scsi/fnic/fnic_main.c linux-2.6.32.48= /drivers/scsi/fnic/fnic_main.c ---- linux-2.6.32.48/drivers/scsi/fnic/fnic_main.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/fnic/fnic_main.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -669,7 +669,7 @@ static int __devinit fnic_probe(struct p - /* Start local port initiatialization */ -=20 - lp->link_up =3D 0; -- lp->tt =3D fnic_transport_template; -+ memcpy((void *)&lp->tt, &fnic_transport_template, sizeof(fnic_transpor= t_template)); -=20 - lp->max_retry_count =3D fnic->config.flogi_retries; - lp->max_rport_retry_count =3D fnic->config.plogi_retries; -diff -urNp linux-2.6.32.48/drivers/scsi/gdth.c linux-2.6.32.48/drivers/s= csi/gdth.c ---- linux-2.6.32.48/drivers/scsi/gdth.c 2011-11-12 12:44:29.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/scsi/gdth.c 2011-11-12 12:46:45.000000000 -0= 500 -@@ -4102,6 +4102,8 @@ static int ioc_lockdrv(void __user *arg) - ulong flags; +=20 +diff -urNp linux-3.0.8/drivers/scsi/gdth.c linux-3.0.8/drivers/scsi/gdth= .c +--- linux-3.0.8/drivers/scsi/gdth.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/scsi/gdth.c 2011-08-23 21:48:14.000000000 -0400 +@@ -4107,6 +4107,8 @@ static int ioc_lockdrv(void __user *arg) + unsigned long flags; gdth_ha_str *ha; =20 + pax_track_stack(); @@ -37203,7 +33757,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/gdth.c li= nux-2.6.32.48/drivers/scsi/gdth if (copy_from_user(&ldrv, arg, sizeof(gdth_ioctl_lockdrv))) return -EFAULT; ha =3D gdth_find_ha(ldrv.ionode); -@@ -4134,6 +4136,8 @@ static int ioc_resetdrv(void __user *arg +@@ -4139,6 +4141,8 @@ static int ioc_resetdrv(void __user *arg gdth_ha_str *ha; int rval; =20 @@ -37212,7 +33766,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/gdth.c li= nux-2.6.32.48/drivers/scsi/gdth if (copy_from_user(&res, arg, sizeof(gdth_ioctl_reset)) || res.number >=3D MAX_HDRIVES) return -EFAULT; -@@ -4169,6 +4173,8 @@ static int ioc_general(void __user *arg, +@@ -4174,6 +4178,8 @@ static int ioc_general(void __user *arg, gdth_ha_str *ha; int rval; =20 @@ -37221,7 +33775,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/gdth.c li= nux-2.6.32.48/drivers/scsi/gdth if (copy_from_user(&gen, arg, sizeof(gdth_ioctl_general))) return -EFAULT; ha =3D gdth_find_ha(gen.ionode); -@@ -4625,6 +4631,9 @@ static void gdth_flush(gdth_ha_str *ha) +@@ -4642,6 +4648,9 @@ static void gdth_flush(gdth_ha_str *ha) int i; gdth_cmd_str gdtcmd; char cmnd[MAX_COMMAND_SIZE]; =20 @@ -37231,11 +33785,11 @@ diff -urNp linux-2.6.32.48/drivers/scsi/gdth.c = linux-2.6.32.48/drivers/scsi/gdth memset(cmnd, 0xff, MAX_COMMAND_SIZE); =20 TRACE2(("gdth_flush() hanum %d\n", ha->hanum)); -diff -urNp linux-2.6.32.48/drivers/scsi/gdth_proc.c linux-2.6.32.48/driv= ers/scsi/gdth_proc.c ---- linux-2.6.32.48/drivers/scsi/gdth_proc.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/scsi/gdth_proc.c 2011-11-12 12:46:45.0000000= 00 -0500 -@@ -46,6 +46,9 @@ static int gdth_set_asc_info(struct Scsi - ulong64 paddr; +diff -urNp linux-3.0.8/drivers/scsi/gdth_proc.c linux-3.0.8/drivers/scsi= /gdth_proc.c +--- linux-3.0.8/drivers/scsi/gdth_proc.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/scsi/gdth_proc.c 2011-08-23 21:48:14.000000000 -= 0400 +@@ -47,6 +47,9 @@ static int gdth_set_asc_info(struct Scsi + u64 paddr; =20 char cmnd[MAX_COMMAND_SIZE]; + @@ -37244,51 +33798,168 @@ diff -urNp linux-2.6.32.48/drivers/scsi/gdth_p= roc.c linux-2.6.32.48/drivers/scsi memset(cmnd, 0xff, 12); memset(&gdtcmd, 0, sizeof(gdth_cmd_str)); =20 -@@ -174,6 +177,8 @@ static int gdth_get_info(char *buffer,ch +@@ -175,6 +178,8 @@ static int gdth_get_info(char *buffer,ch gdth_hget_str *phg; char cmnd[MAX_COMMAND_SIZE]; =20 -+ pax_track_stack(); -+ - gdtcmd =3D kmalloc(sizeof(*gdtcmd), GFP_KERNEL); - estr =3D kmalloc(sizeof(*estr), GFP_KERNEL); - if (!gdtcmd || !estr) -diff -urNp linux-2.6.32.48/drivers/scsi/hosts.c linux-2.6.32.48/drivers/= scsi/hosts.c ---- linux-2.6.32.48/drivers/scsi/hosts.c 2011-11-12 12:44:29.000000000 -= 0500 -+++ linux-2.6.32.48/drivers/scsi/hosts.c 2011-11-12 12:46:45.000000000 -= 0500 -@@ -40,7 +40,7 @@ - #include "scsi_logging.h" ++ pax_track_stack(); ++ + gdtcmd =3D kmalloc(sizeof(*gdtcmd), GFP_KERNEL); + estr =3D kmalloc(sizeof(*estr), GFP_KERNEL); + if (!gdtcmd || !estr) +diff -urNp linux-3.0.8/drivers/scsi/hosts.c linux-3.0.8/drivers/scsi/hos= ts.c +--- linux-3.0.8/drivers/scsi/hosts.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/scsi/hosts.c 2011-08-23 21:47:55.000000000 -0400 +@@ -42,7 +42,7 @@ + #include "scsi_logging.h" +=20 +=20 +-static atomic_t scsi_host_next_hn; /* host_no for next new host */ ++static atomic_unchecked_t scsi_host_next_hn; /* host_no for next new ho= st */ +=20 +=20 + static void scsi_host_cls_release(struct device *dev) +@@ -354,7 +354,7 @@ struct Scsi_Host *scsi_host_alloc(struct + * subtract one because we increment first then return, but we need to + * know what the next host number was before increment + */ +- shost->host_no =3D atomic_inc_return(&scsi_host_next_hn) - 1; ++ shost->host_no =3D atomic_inc_return_unchecked(&scsi_host_next_hn) - 1= ; + shost->dma_channel =3D 0xff; +=20 + /* These three are default values which can be overridden */ +diff -urNp linux-3.0.8/drivers/scsi/hpsa.c linux-3.0.8/drivers/scsi/hpsa= .c +--- linux-3.0.8/drivers/scsi/hpsa.c 2011-10-24 08:05:30.000000000 -0400 ++++ linux-3.0.8/drivers/scsi/hpsa.c 2011-10-16 21:55:27.000000000 -0400 +@@ -498,7 +498,7 @@ static inline u32 next_command(struct ct + u32 a; +=20 + if (unlikely(!(h->transMethod & CFGTBL_Trans_Performant))) +- return h->access.command_completed(h); ++ return h->access->command_completed(h); +=20 + if ((*(h->reply_pool_head) & 1) =3D=3D (h->reply_pool_wraparound)) { + a =3D *(h->reply_pool_head); /* Next cmd in ring buffer */ +@@ -2955,7 +2955,7 @@ static void start_io(struct ctlr_info *h + while (!list_empty(&h->reqQ)) { + c =3D list_entry(h->reqQ.next, struct CommandList, list); + /* can't do anything if fifo is full */ +- if ((h->access.fifo_full(h))) { ++ if ((h->access->fifo_full(h))) { + dev_warn(&h->pdev->dev, "fifo full\n"); + break; + } +@@ -2965,7 +2965,7 @@ static void start_io(struct ctlr_info *h + h->Qdepth--; +=20 + /* Tell the controller execute command */ +- h->access.submit_command(h, c); ++ h->access->submit_command(h, c); +=20 + /* Put job onto the completed Q */ + addQ(&h->cmpQ, c); +@@ -2974,17 +2974,17 @@ static void start_io(struct ctlr_info *h +=20 + static inline unsigned long get_next_completion(struct ctlr_info *h) + { +- return h->access.command_completed(h); ++ return h->access->command_completed(h); + } +=20 + static inline bool interrupt_pending(struct ctlr_info *h) + { +- return h->access.intr_pending(h); ++ return h->access->intr_pending(h); + } +=20 + static inline long interrupt_not_for_us(struct ctlr_info *h) + { +- return (h->access.intr_pending(h) =3D=3D 0) || ++ return (h->access->intr_pending(h) =3D=3D 0) || + (h->interrupts_enabled =3D=3D 0); + } +=20 +@@ -3874,7 +3874,7 @@ static int __devinit hpsa_pci_init(struc + if (prod_index < 0) + return -ENODEV; + h->product_name =3D products[prod_index].product_name; +- h->access =3D *(products[prod_index].access); ++ h->access =3D products[prod_index].access; =20 + if (hpsa_board_disabled(h->pdev)) { + dev_warn(&h->pdev->dev, "controller appears to be disabled\n"); +@@ -4151,7 +4151,7 @@ reinit_after_soft_reset: + } =20 --static atomic_t scsi_host_next_hn; /* host_no for next new host */ -+static atomic_unchecked_t scsi_host_next_hn; /* host_no for next new ho= st */ + /* make sure the board interrupts are off */ +- h->access.set_intr_mask(h, HPSA_INTR_OFF); ++ h->access->set_intr_mask(h, HPSA_INTR_OFF); =20 + if (hpsa_request_irq(h, do_hpsa_intr_msi, do_hpsa_intr_intx)) + goto clean2; +@@ -4185,7 +4185,7 @@ reinit_after_soft_reset: + * fake ones to scoop up any residual completions. + */ + spin_lock_irqsave(&h->lock, flags); +- h->access.set_intr_mask(h, HPSA_INTR_OFF); ++ h->access->set_intr_mask(h, HPSA_INTR_OFF); + spin_unlock_irqrestore(&h->lock, flags); + free_irq(h->intr[h->intr_mode], h); + rc =3D hpsa_request_irq(h, hpsa_msix_discard_completions, +@@ -4204,9 +4204,9 @@ reinit_after_soft_reset: + dev_info(&h->pdev->dev, "Board READY.\n"); + dev_info(&h->pdev->dev, + "Waiting for stale completions to drain.\n"); +- h->access.set_intr_mask(h, HPSA_INTR_ON); ++ h->access->set_intr_mask(h, HPSA_INTR_ON); + msleep(10000); +- h->access.set_intr_mask(h, HPSA_INTR_OFF); ++ h->access->set_intr_mask(h, HPSA_INTR_OFF); +=20 + rc =3D controller_reset_failed(h->cfgtable); + if (rc) +@@ -4227,7 +4227,7 @@ reinit_after_soft_reset: + } =20 - static void scsi_host_cls_release(struct device *dev) -@@ -344,7 +344,7 @@ struct Scsi_Host *scsi_host_alloc(struct - * subtract one because we increment first then return, but we need to - * know what the next host number was before increment + /* Turn the interrupts on so we can service requests */ +- h->access.set_intr_mask(h, HPSA_INTR_ON); ++ h->access->set_intr_mask(h, HPSA_INTR_ON); +=20 + hpsa_hba_inquiry(h); + hpsa_register_scsi(h); /* hook ourselves into SCSI subsystem */ +@@ -4280,7 +4280,7 @@ static void hpsa_shutdown(struct pci_dev + * To write all data in the battery backed cache to disks */ -- shost->host_no =3D atomic_inc_return(&scsi_host_next_hn) - 1; -+ shost->host_no =3D atomic_inc_return_unchecked(&scsi_host_next_hn) - 1= ; - shost->dma_channel =3D 0xff; + hpsa_flush_cache(h); +- h->access.set_intr_mask(h, HPSA_INTR_OFF); ++ h->access->set_intr_mask(h, HPSA_INTR_OFF); + free_irq(h->intr[h->intr_mode], h); + #ifdef CONFIG_PCI_MSI + if (h->msix_vector) +@@ -4443,7 +4443,7 @@ static __devinit void hpsa_enter_perform + return; + } + /* Change the access methods to the performant access methods */ +- h->access =3D SA5_performant_access; ++ h->access =3D &SA5_performant_access; + h->transMethod =3D CFGTBL_Trans_Performant; + } =20 - /* These three are default values which can be overridden */ -diff -urNp linux-2.6.32.48/drivers/scsi/ipr.c linux-2.6.32.48/drivers/sc= si/ipr.c ---- linux-2.6.32.48/drivers/scsi/ipr.c 2011-11-12 12:44:29.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/scsi/ipr.c 2011-11-12 12:46:45.000000000 -05= 00 -@@ -5286,7 +5286,7 @@ static bool ipr_qc_fill_rtf(struct ata_q - return true; - } -=20 --static struct ata_port_operations ipr_sata_ops =3D { -+static const struct ata_port_operations ipr_sata_ops =3D { - .phy_reset =3D ipr_ata_phy_reset, - .hardreset =3D ipr_sata_reset, - .post_internal_cmd =3D ipr_ata_post_internal, -diff -urNp linux-2.6.32.48/drivers/scsi/ips.h linux-2.6.32.48/drivers/sc= si/ips.h ---- linux-2.6.32.48/drivers/scsi/ips.h 2009-12-02 22:51:21.000000000 -05= 00 -+++ linux-2.6.32.48/drivers/scsi/ips.h 2011-11-12 12:46:45.000000000 -05= 00 +diff -urNp linux-3.0.8/drivers/scsi/hpsa.h linux-3.0.8/drivers/scsi/hpsa= .h +--- linux-3.0.8/drivers/scsi/hpsa.h 2011-10-24 08:05:21.000000000 -0400 ++++ linux-3.0.8/drivers/scsi/hpsa.h 2011-08-23 21:47:55.000000000 -0400 +@@ -73,7 +73,7 @@ struct ctlr_info { + unsigned int msix_vector; + unsigned int msi_vector; + int intr_mode; /* either PERF_MODE_INT or SIMPLE_MODE_INT */ +- struct access_method access; ++ struct access_method *access; +=20 + /* queue and queue Info */ + struct list_head reqQ; +diff -urNp linux-3.0.8/drivers/scsi/ips.h linux-3.0.8/drivers/scsi/ips.h +--- linux-3.0.8/drivers/scsi/ips.h 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/scsi/ips.h 2011-08-23 21:47:55.000000000 -0400 @@ -1027,7 +1027,7 @@ typedef struct { int (*intr)(struct ips_ha *); void (*enableint)(struct ips_ha *); @@ -37298,10 +33969,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/ips.h l= inux-2.6.32.48/drivers/scsi/ips.h =20 typedef struct ips_ha { uint8_t ha_id[IPS_MAX_CHANNELS+1]; -diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_exch.c linux-2.6.32.48/= drivers/scsi/libfc/fc_exch.c ---- linux-2.6.32.48/drivers/scsi/libfc/fc_exch.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/libfc/fc_exch.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -86,12 +86,12 @@ struct fc_exch_mgr { +diff -urNp linux-3.0.8/drivers/scsi/libfc/fc_exch.c linux-3.0.8/drivers/= scsi/libfc/fc_exch.c +--- linux-3.0.8/drivers/scsi/libfc/fc_exch.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/scsi/libfc/fc_exch.c 2011-08-23 21:47:55.0000000= 00 -0400 +@@ -105,12 +105,12 @@ struct fc_exch_mgr { * all together if not used XXX */ struct { @@ -37319,8 +33990,8 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_= exch.c linux-2.6.32.48/drivers/ + atomic_unchecked_t non_bls_resp; } stats; }; - #define fc_seq_exch(sp) container_of(sp, struct fc_exch, seq) -@@ -510,7 +510,7 @@ static struct fc_exch *fc_exch_em_alloc( +=20 +@@ -700,7 +700,7 @@ static struct fc_exch *fc_exch_em_alloc( /* allocate memory for exchange */ ep =3D mempool_alloc(mp->ep_pool, GFP_ATOMIC); if (!ep) { @@ -37329,7 +34000,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_= exch.c linux-2.6.32.48/drivers/ goto out; } memset(ep, 0, sizeof(*ep)); -@@ -557,7 +557,7 @@ out: +@@ -761,7 +761,7 @@ out: return ep; err: spin_unlock_bh(&pool->lock); @@ -37338,7 +34009,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_= exch.c linux-2.6.32.48/drivers/ mempool_free(ep, mp->ep_pool); return NULL; } -@@ -690,7 +690,7 @@ static enum fc_pf_rjt_reason fc_seq_look +@@ -906,7 +906,7 @@ static enum fc_pf_rjt_reason fc_seq_look xid =3D ntohs(fh->fh_ox_id); /* we originated exch */ ep =3D fc_exch_find(mp, xid); if (!ep) { @@ -37347,7 +34018,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_= exch.c linux-2.6.32.48/drivers/ reject =3D FC_RJT_OX_ID; goto out; } -@@ -720,7 +720,7 @@ static enum fc_pf_rjt_reason fc_seq_look +@@ -936,7 +936,7 @@ static enum fc_pf_rjt_reason fc_seq_look ep =3D fc_exch_find(mp, xid); if ((f_ctl & FC_FC_FIRST_SEQ) && fc_sof_is_init(fr_sof(fp))) { if (ep) { @@ -37356,7 +34027,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_= exch.c linux-2.6.32.48/drivers/ reject =3D FC_RJT_RX_ID; goto rel; } -@@ -731,7 +731,7 @@ static enum fc_pf_rjt_reason fc_seq_look +@@ -947,7 +947,7 @@ static enum fc_pf_rjt_reason fc_seq_look } xid =3D ep->xid; /* get our XID */ } else if (!ep) { @@ -37365,7 +34036,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_= exch.c linux-2.6.32.48/drivers/ reject =3D FC_RJT_RX_ID; /* XID not found */ goto out; } -@@ -752,7 +752,7 @@ static enum fc_pf_rjt_reason fc_seq_look +@@ -964,7 +964,7 @@ static enum fc_pf_rjt_reason fc_seq_look } else { sp =3D &ep->seq; if (sp->id !=3D fh->fh_seq_id) { @@ -37374,7 +34045,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_= exch.c linux-2.6.32.48/drivers/ reject =3D FC_RJT_SEQ_ID; /* sequence/exch should exist */ goto rel; } -@@ -1163,22 +1163,22 @@ static void fc_exch_recv_seq_resp(struct +@@ -1392,22 +1392,22 @@ static void fc_exch_recv_seq_resp(struct =20 ep =3D fc_exch_find(mp, ntohs(fh->fh_ox_id)); if (!ep) { @@ -37385,7 +34056,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/fc_= exch.c linux-2.6.32.48/drivers/ if (ep->esb_stat & ESB_ST_COMPLETE) { - atomic_inc(&mp->stats.xid_not_found); + atomic_inc_unchecked(&mp->stats.xid_not_found); - goto out; + goto rel; } if (ep->rxid =3D=3D FC_XID_UNKNOWN) ep->rxid =3D ntohs(fh->fh_rx_id); @@ -37401,16 +34072,16 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/f= c_exch.c linux-2.6.32.48/drivers/ goto rel; } sof =3D fr_sof(fp); -@@ -1189,7 +1189,7 @@ static void fc_exch_recv_seq_resp(struct - } else { - sp =3D &ep->seq; - if (sp->id !=3D fh->fh_seq_id) { -- atomic_inc(&mp->stats.seq_not_found); -+ atomic_inc_unchecked(&mp->stats.seq_not_found); - goto rel; - } +@@ -1416,7 +1416,7 @@ static void fc_exch_recv_seq_resp(struct + sp->ssb_stat |=3D SSB_ST_RESP; + sp->id =3D fh->fh_seq_id; + } else if (sp->id !=3D fh->fh_seq_id) { +- atomic_inc(&mp->stats.seq_not_found); ++ atomic_inc_unchecked(&mp->stats.seq_not_found); + goto rel; } -@@ -1249,9 +1249,9 @@ static void fc_exch_recv_resp(struct fc_ +=20 +@@ -1480,9 +1480,9 @@ static void fc_exch_recv_resp(struct fc_ sp =3D fc_seq_lookup_orig(mp, fp); /* doesn't hold sequence */ =20 if (!sp) @@ -37422,31 +34093,31 @@ diff -urNp linux-2.6.32.48/drivers/scsi/libfc/f= c_exch.c linux-2.6.32.48/drivers/ =20 fc_frame_free(fp); } -diff -urNp linux-2.6.32.48/drivers/scsi/libsas/sas_ata.c linux-2.6.32.48= /drivers/scsi/libsas/sas_ata.c ---- linux-2.6.32.48/drivers/scsi/libsas/sas_ata.c 2011-11-12 12:44:29.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/libsas/sas_ata.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -343,7 +343,7 @@ static int sas_ata_scr_read(struct ata_l - } - } -=20 --static struct ata_port_operations sas_sata_ops =3D { -+static const struct ata_port_operations sas_sata_ops =3D { - .phy_reset =3D sas_ata_phy_reset, +diff -urNp linux-3.0.8/drivers/scsi/libsas/sas_ata.c linux-3.0.8/drivers= /scsi/libsas/sas_ata.c +--- linux-3.0.8/drivers/scsi/libsas/sas_ata.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/scsi/libsas/sas_ata.c 2011-08-23 21:47:55.000000= 000 -0400 +@@ -368,7 +368,7 @@ static struct ata_port_operations sas_sa + .postreset =3D ata_std_postreset, + .error_handler =3D ata_std_error_handler, .post_internal_cmd =3D sas_ata_post_internal, - .qc_defer =3D ata_std_qc_defer, -diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc_debugfs.c linux-2.6.32= .48/drivers/scsi/lpfc/lpfc_debugfs.c ---- linux-2.6.32.48/drivers/scsi/lpfc/lpfc_debugfs.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/lpfc/lpfc_debugfs.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -124,7 +124,7 @@ struct lpfc_debug { - int len; - }; +- .qc_defer =3D ata_std_qc_defer, ++ .qc_defer =3D ata_std_qc_defer, + .qc_prep =3D ata_noop_qc_prep, + .qc_issue =3D sas_ata_qc_issue, + .qc_fill_rtf =3D sas_ata_qc_fill_rtf, +diff -urNp linux-3.0.8/drivers/scsi/lpfc/lpfc_debugfs.c linux-3.0.8/driv= ers/scsi/lpfc/lpfc_debugfs.c +--- linux-3.0.8/drivers/scsi/lpfc/lpfc_debugfs.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/scsi/lpfc/lpfc_debugfs.c 2011-08-23 21:48:14.000= 000000 -0400 +@@ -104,7 +104,7 @@ MODULE_PARM_DESC(lpfc_debugfs_mask_disc_ +=20 + #include =20 -static atomic_t lpfc_debugfs_seq_trc_cnt =3D ATOMIC_INIT(0); +static atomic_unchecked_t lpfc_debugfs_seq_trc_cnt =3D ATOMIC_INIT(0); static unsigned long lpfc_debugfs_start_time =3D 0L; =20 - /** -@@ -158,7 +158,7 @@ lpfc_debugfs_disc_trc_data(struct lpfc_v + /* iDiag */ +@@ -141,7 +141,7 @@ lpfc_debugfs_disc_trc_data(struct lpfc_v lpfc_debugfs_enable =3D 0; =20 len =3D 0; @@ -37455,7 +34126,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _debugfs.c linux-2.6.32.48/driv (lpfc_debugfs_max_disc_trc - 1); for (i =3D index; i < lpfc_debugfs_max_disc_trc; i++) { dtp =3D vport->disc_trc + i; -@@ -219,7 +219,7 @@ lpfc_debugfs_slow_ring_trc_data(struct l +@@ -202,7 +202,7 @@ lpfc_debugfs_slow_ring_trc_data(struct l lpfc_debugfs_enable =3D 0; =20 len =3D 0; @@ -37464,7 +34135,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _debugfs.c linux-2.6.32.48/driv (lpfc_debugfs_max_slow_ring_trc - 1); for (i =3D index; i < lpfc_debugfs_max_slow_ring_trc; i++) { dtp =3D phba->slow_ring_trc + i; -@@ -397,6 +397,8 @@ lpfc_debugfs_dumpHBASlim_data(struct lpf +@@ -380,6 +380,8 @@ lpfc_debugfs_dumpHBASlim_data(struct lpf uint32_t *ptr; char buffer[1024]; =20 @@ -37473,7 +34144,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _debugfs.c linux-2.6.32.48/driv off =3D 0; spin_lock_irq(&phba->hbalock); =20 -@@ -634,14 +636,14 @@ lpfc_debugfs_disc_trc(struct lpfc_vport=20 +@@ -617,14 +619,14 @@ lpfc_debugfs_disc_trc(struct lpfc_vport=20 !vport || !vport->disc_trc) return; =20 @@ -37490,7 +34161,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _debugfs.c linux-2.6.32.48/driv dtp->jif =3D jiffies; #endif return; -@@ -672,14 +674,14 @@ lpfc_debugfs_slow_ring_trc(struct lpfc_h +@@ -655,14 +657,14 @@ lpfc_debugfs_slow_ring_trc(struct lpfc_h !phba || !phba->slow_ring_trc) return; =20 @@ -37507,7 +34178,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _debugfs.c linux-2.6.32.48/driv dtp->jif =3D jiffies; #endif return; -@@ -1364,7 +1366,7 @@ lpfc_debugfs_initialize(struct lpfc_vpor +@@ -2606,7 +2608,7 @@ lpfc_debugfs_initialize(struct lpfc_vpor "slow_ring buffer\n"); goto debug_failed; } @@ -37516,7 +34187,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _debugfs.c linux-2.6.32.48/driv memset(phba->slow_ring_trc, 0, (sizeof(struct lpfc_debugfs_trc) * lpfc_debugfs_max_slow_ring_trc)); -@@ -1410,7 +1412,7 @@ lpfc_debugfs_initialize(struct lpfc_vpor +@@ -2652,7 +2654,7 @@ lpfc_debugfs_initialize(struct lpfc_vpor "buffer\n"); goto debug_failed; } @@ -37525,10 +34196,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lp= fc_debugfs.c linux-2.6.32.48/driv =20 snprintf(name, sizeof(name), "discovery_trace"); vport->debug_disc_trc =3D -diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc.h linux-2.6.32.48/driv= ers/scsi/lpfc/lpfc.h ---- linux-2.6.32.48/drivers/scsi/lpfc/lpfc.h 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/scsi/lpfc/lpfc.h 2011-11-12 12:46:45.0000000= 00 -0500 -@@ -400,7 +400,7 @@ struct lpfc_vport { +diff -urNp linux-3.0.8/drivers/scsi/lpfc/lpfc.h linux-3.0.8/drivers/scsi= /lpfc/lpfc.h +--- linux-3.0.8/drivers/scsi/lpfc/lpfc.h 2011-10-24 08:05:30.000000000 -= 0400 ++++ linux-3.0.8/drivers/scsi/lpfc/lpfc.h 2011-10-16 21:55:27.000000000 -= 0400 +@@ -425,7 +425,7 @@ struct lpfc_vport { struct dentry *debug_nodelist; struct dentry *vport_debugfs_root; struct lpfc_debugfs_trc *disc_trc; @@ -37537,7 +34208,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= .h linux-2.6.32.48/drivers/scsi #endif uint8_t stat_data_enabled; uint8_t stat_data_blocked; -@@ -725,8 +725,8 @@ struct lpfc_hba { +@@ -832,8 +832,8 @@ struct lpfc_hba { struct timer_list fabric_block_timer; unsigned long bit_flags; #define FABRIC_COMANDS_BLOCKED 0 @@ -37548,19 +34219,19 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lp= fc.h linux-2.6.32.48/drivers/scsi unsigned long last_rsrc_error_time; unsigned long last_ramp_down_time; unsigned long last_ramp_up_time; -@@ -740,7 +740,7 @@ struct lpfc_hba { +@@ -847,7 +847,7 @@ struct lpfc_hba { struct dentry *debug_dumpDif; /* BlockGuard BPL*/ struct dentry *debug_slow_ring_trc; struct lpfc_debugfs_trc *slow_ring_trc; - atomic_t slow_ring_trc_cnt; + atomic_unchecked_t slow_ring_trc_cnt; - #endif -=20 - /* Used for deferred freeing of ELS data buffers */ -diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc_init.c linux-2.6.32.48= /drivers/scsi/lpfc/lpfc_init.c ---- linux-2.6.32.48/drivers/scsi/lpfc/lpfc_init.c 2011-11-12 12:44:29.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/lpfc/lpfc_init.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -8021,8 +8021,10 @@ lpfc_init(void) + /* iDiag debugfs sub-directory */ + struct dentry *idiag_root; + struct dentry *idiag_pci_cfg; +diff -urNp linux-3.0.8/drivers/scsi/lpfc/lpfc_init.c linux-3.0.8/drivers= /scsi/lpfc/lpfc_init.c +--- linux-3.0.8/drivers/scsi/lpfc/lpfc_init.c 2011-10-24 08:05:30.000000= 000 -0400 ++++ linux-3.0.8/drivers/scsi/lpfc/lpfc_init.c 2011-10-16 21:55:27.000000= 000 -0400 +@@ -9971,8 +9971,10 @@ lpfc_init(void) printk(LPFC_COPYRIGHT "\n"); =20 if (lpfc_enable_npiv) { @@ -37573,10 +34244,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lp= fc_init.c linux-2.6.32.48/drivers } lpfc_transport_template =3D fc_attach_transport(&lpfc_transport_functions); -diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc_scsi.c linux-2.6.32.48= /drivers/scsi/lpfc/lpfc_scsi.c ---- linux-2.6.32.48/drivers/scsi/lpfc/lpfc_scsi.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/lpfc/lpfc_scsi.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -259,7 +259,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hb +diff -urNp linux-3.0.8/drivers/scsi/lpfc/lpfc_scsi.c linux-3.0.8/drivers= /scsi/lpfc/lpfc_scsi.c +--- linux-3.0.8/drivers/scsi/lpfc/lpfc_scsi.c 2011-10-24 08:05:30.000000= 000 -0400 ++++ linux-3.0.8/drivers/scsi/lpfc/lpfc_scsi.c 2011-10-16 21:55:27.000000= 000 -0400 +@@ -297,7 +297,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hb uint32_t evt_posted; =20 spin_lock_irqsave(&phba->hbalock, flags); @@ -37585,7 +34256,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _scsi.c linux-2.6.32.48/drivers phba->last_rsrc_error_time =3D jiffies; =20 if ((phba->last_ramp_down_time + QUEUE_RAMP_DOWN_INTERVAL) > jiffies) = { -@@ -300,7 +300,7 @@ lpfc_rampup_queue_depth(struct lpfc_vpor +@@ -338,7 +338,7 @@ lpfc_rampup_queue_depth(struct lpfc_vpor unsigned long flags; struct lpfc_hba *phba =3D vport->phba; uint32_t evt_posted; @@ -37594,9 +34265,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _scsi.c linux-2.6.32.48/drivers =20 if (vport->cfg_lun_queue_depth <=3D queue_depth) return; -@@ -343,8 +343,8 @@ lpfc_ramp_down_queue_handler(struct lpfc +@@ -382,8 +382,8 @@ lpfc_ramp_down_queue_handler(struct lpfc + unsigned long num_rsrc_err, num_cmd_success; int i; - struct lpfc_rport_data *rdata; =20 - num_rsrc_err =3D atomic_read(&phba->num_rsrc_err); - num_cmd_success =3D atomic_read(&phba->num_cmd_success); @@ -37605,7 +34276,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _scsi.c linux-2.6.32.48/drivers =20 vports =3D lpfc_create_vport_work_array(phba); if (vports !=3D NULL) -@@ -378,8 +378,8 @@ lpfc_ramp_down_queue_handler(struct lpfc +@@ -403,8 +403,8 @@ lpfc_ramp_down_queue_handler(struct lpfc } } lpfc_destroy_vport_work_array(phba, vports); @@ -37616,7 +34287,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _scsi.c linux-2.6.32.48/drivers } =20 /** -@@ -427,8 +427,8 @@ lpfc_ramp_up_queue_handler(struct lpfc_h +@@ -438,8 +438,8 @@ lpfc_ramp_up_queue_handler(struct lpfc_h } } lpfc_destroy_vport_work_array(phba, vports); @@ -37627,9 +34298,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/lpfc/lpfc= _scsi.c linux-2.6.32.48/drivers } =20 /** -diff -urNp linux-2.6.32.48/drivers/scsi/megaraid/megaraid_mbox.c linux-2= .6.32.48/drivers/scsi/megaraid/megaraid_mbox.c ---- linux-2.6.32.48/drivers/scsi/megaraid/megaraid_mbox.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/megaraid/megaraid_mbox.c 2011-11-12 12:= 46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/scsi/megaraid/megaraid_mbox.c linux-3.0.8= /drivers/scsi/megaraid/megaraid_mbox.c +--- linux-3.0.8/drivers/scsi/megaraid/megaraid_mbox.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/scsi/megaraid/megaraid_mbox.c 2011-08-23 21:48:1= 4.000000000 -0400 @@ -3503,6 +3503,8 @@ megaraid_cmm_register(adapter_t *adapter int rval; int i; @@ -37639,10 +34310,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/megarai= d/megaraid_mbox.c linux-2.6.32.48 // Allocate memory for the base list of scb for management module. adapter->uscb_list =3D kcalloc(MBOX_MAX_USER_CMDS, sizeof(scb_t), GFP_= KERNEL); =20 -diff -urNp linux-2.6.32.48/drivers/scsi/osd/osd_initiator.c linux-2.6.32= .48/drivers/scsi/osd/osd_initiator.c ---- linux-2.6.32.48/drivers/scsi/osd/osd_initiator.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/osd/osd_initiator.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -94,6 +94,8 @@ static int _osd_print_system_info(struct +diff -urNp linux-3.0.8/drivers/scsi/osd/osd_initiator.c linux-3.0.8/driv= ers/scsi/osd/osd_initiator.c +--- linux-3.0.8/drivers/scsi/osd/osd_initiator.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/scsi/osd/osd_initiator.c 2011-08-23 21:48:14.000= 000000 -0400 +@@ -97,6 +97,8 @@ static int _osd_get_print_system_info(st int nelem =3D ARRAY_SIZE(get_attrs), a =3D 0; int ret; =20 @@ -37651,10 +34322,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/osd/osd= _initiator.c linux-2.6.32.48/driv or =3D osd_start_request(od, GFP_KERNEL); if (!or) return -ENOMEM; -diff -urNp linux-2.6.32.48/drivers/scsi/pmcraid.c linux-2.6.32.48/driver= s/scsi/pmcraid.c ---- linux-2.6.32.48/drivers/scsi/pmcraid.c 2011-11-12 12:44:29.000000000= -0500 -+++ linux-2.6.32.48/drivers/scsi/pmcraid.c 2011-11-12 12:46:45.000000000= -0500 -@@ -189,8 +189,8 @@ static int pmcraid_slave_alloc(struct sc +diff -urNp linux-3.0.8/drivers/scsi/pmcraid.c linux-3.0.8/drivers/scsi/p= mcraid.c +--- linux-3.0.8/drivers/scsi/pmcraid.c 2011-10-24 08:05:21.000000000 -04= 00 ++++ linux-3.0.8/drivers/scsi/pmcraid.c 2011-08-23 21:47:56.000000000 -04= 00 +@@ -201,8 +201,8 @@ static int pmcraid_slave_alloc(struct sc res->scsi_dev =3D scsi_dev; scsi_dev->hostdata =3D res; res->change_detected =3D 0; @@ -37665,7 +34336,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/pmcraid.c= linux-2.6.32.48/drivers/scsi/p rc =3D 0; } spin_unlock_irqrestore(&pinstance->resource_lock, lock_flags); -@@ -2396,9 +2396,9 @@ static int pmcraid_error_handler(struct=20 +@@ -2677,9 +2677,9 @@ static int pmcraid_error_handler(struct=20 =20 /* If this was a SCSI read/write command keep count of errors */ if (SCSI_CMD_TYPE(scsi_cmd->cmnd[0]) =3D=3D SCSI_READ_CMD) @@ -37677,7 +34348,25 @@ diff -urNp linux-2.6.32.48/drivers/scsi/pmcraid.= c linux-2.6.32.48/drivers/scsi/p =20 if (!RES_IS_GSCSI(res->cfg_entry) && masked_ioasc !=3D PMCRAID_IOASC_HW_DEVICE_BUS_STATUS_ERROR) { -@@ -4116,7 +4116,7 @@ static void pmcraid_worker_function(stru +@@ -3535,7 +3535,7 @@ static int pmcraid_queuecommand_lck( + * block of scsi_cmd which is re-used (e.g. cancel/abort), which uses + * hrrq_id assigned here in queuecommand + */ +- ioarcb->hrrq_id =3D atomic_add_return(1, &(pinstance->last_message_id)= ) % ++ ioarcb->hrrq_id =3D atomic_add_return_unchecked(1, &(pinstance->last_m= essage_id)) % + pinstance->num_hrrq; + cmd->cmd_done =3D pmcraid_io_done; +=20 +@@ -3860,7 +3860,7 @@ static long pmcraid_ioctl_passthrough( + * block of scsi_cmd which is re-used (e.g. cancel/abort), which uses + * hrrq_id assigned here in queuecommand + */ +- ioarcb->hrrq_id =3D atomic_add_return(1, &(pinstance->last_message_id)= ) % ++ ioarcb->hrrq_id =3D atomic_add_return_unchecked(1, &(pinstance->last_m= essage_id)) % + pinstance->num_hrrq; +=20 + if (request_size) { +@@ -4498,7 +4498,7 @@ static void pmcraid_worker_function(stru =20 pinstance =3D container_of(workp, struct pmcraid_instance, worker_q); /* add resources only after host is added into system */ @@ -37685,17 +34374,19 @@ diff -urNp linux-2.6.32.48/drivers/scsi/pmcraid= .c linux-2.6.32.48/drivers/scsi/p + if (!atomic_read_unchecked(&pinstance->expose_resources)) return; =20 - spin_lock_irqsave(&pinstance->resource_lock, lock_flags); -@@ -4850,7 +4850,7 @@ static int __devinit pmcraid_init_instan + fw_version =3D be16_to_cpu(pinstance->inq_data->fw_version); +@@ -5332,8 +5332,8 @@ static int __devinit pmcraid_init_instan init_waitqueue_head(&pinstance->reset_wait_q); =20 atomic_set(&pinstance->outstanding_cmds, 0); +- atomic_set(&pinstance->last_message_id, 0); - atomic_set(&pinstance->expose_resources, 0); ++ atomic_set_unchecked(&pinstance->last_message_id, 0); + atomic_set_unchecked(&pinstance->expose_resources, 0); =20 INIT_LIST_HEAD(&pinstance->free_res_q); INIT_LIST_HEAD(&pinstance->used_res_q); -@@ -5502,7 +5502,7 @@ static int __devinit pmcraid_probe( +@@ -6048,7 +6048,7 @@ static int __devinit pmcraid_probe( /* Schedule worker thread to handle CCN and take care of adding and * removing devices to OS */ @@ -37704,45 +34395,54 @@ diff -urNp linux-2.6.32.48/drivers/scsi/pmcraid= .c linux-2.6.32.48/drivers/scsi/p schedule_work(&pinstance->worker_q); return rc; =20 -diff -urNp linux-2.6.32.48/drivers/scsi/pmcraid.h linux-2.6.32.48/driver= s/scsi/pmcraid.h ---- linux-2.6.32.48/drivers/scsi/pmcraid.h 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/scsi/pmcraid.h 2011-11-12 12:46:45.000000000= -0500 -@@ -690,7 +690,7 @@ struct pmcraid_instance { +diff -urNp linux-3.0.8/drivers/scsi/pmcraid.h linux-3.0.8/drivers/scsi/p= mcraid.h +--- linux-3.0.8/drivers/scsi/pmcraid.h 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/scsi/pmcraid.h 2011-08-23 21:47:56.000000000 -04= 00 +@@ -749,7 +749,7 @@ struct pmcraid_instance { + struct pmcraid_isr_param hrrq_vector[PMCRAID_NUM_MSIX_VECTORS]; +=20 + /* Message id as filled in last fired IOARCB, used to identify HRRQ */ +- atomic_t last_message_id; ++ atomic_unchecked_t last_message_id; +=20 + /* configuration table */ + struct pmcraid_config_table *cfg_table; +@@ -778,7 +778,7 @@ struct pmcraid_instance { atomic_t outstanding_cmds; =20 /* should add/delete resources to mid-layer now ?*/ - atomic_t expose_resources; + atomic_unchecked_t expose_resources; =20 - /* Tasklet to handle deferred processing */ - struct tasklet_struct isr_tasklet[PMCRAID_NUM_MSIX_VECTORS]; -@@ -727,8 +727,8 @@ struct pmcraid_resource_entry { - struct list_head queue; /* link to "to be exposed" resources */ - struct pmcraid_config_table_entry cfg_entry; +=20 +=20 +@@ -814,8 +814,8 @@ struct pmcraid_resource_entry { + struct pmcraid_config_table_entry_ext cfg_entry_ext; + }; struct scsi_device *scsi_dev; /* Link scsi_device structure */ - atomic_t read_failures; /* count of failed READ commands */ - atomic_t write_failures; /* count of failed WRITE commands */ -+ atomic_unchecked_t read_failures; /* count of failed READ commands */ ++ atomic_unchecked_t read_failures; /* count of failed READ commands */ + atomic_unchecked_t write_failures; /* count of failed WRITE commands *= / =20 /* To indicate add/delete/modify during CCN */ u8 change_detected; -diff -urNp linux-2.6.32.48/drivers/scsi/qla2xxx/qla_def.h linux-2.6.32.4= 8/drivers/scsi/qla2xxx/qla_def.h ---- linux-2.6.32.48/drivers/scsi/qla2xxx/qla_def.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/qla2xxx/qla_def.h 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -2089,7 +2089,7 @@ struct isp_operations { -=20 +diff -urNp linux-3.0.8/drivers/scsi/qla2xxx/qla_def.h linux-3.0.8/driver= s/scsi/qla2xxx/qla_def.h +--- linux-3.0.8/drivers/scsi/qla2xxx/qla_def.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/scsi/qla2xxx/qla_def.h 2011-08-23 21:47:56.00000= 0000 -0400 +@@ -2244,7 +2244,7 @@ struct isp_operations { int (*get_flash_version) (struct scsi_qla_host *, void *); int (*start_scsi) (srb_t *); + int (*abort_isp) (struct scsi_qla_host *); -}; +} __no_const; =20 /* MSI-X Support ******************************************************= *******/ =20 -diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_def.h linux-2.6.32.4= 8/drivers/scsi/qla4xxx/ql4_def.h ---- linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_def.h 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_def.h 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -240,7 +240,7 @@ struct ddb_entry { +diff -urNp linux-3.0.8/drivers/scsi/qla4xxx/ql4_def.h linux-3.0.8/driver= s/scsi/qla4xxx/ql4_def.h +--- linux-3.0.8/drivers/scsi/qla4xxx/ql4_def.h 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/scsi/qla4xxx/ql4_def.h 2011-08-23 21:47:56.00000= 0000 -0400 +@@ -256,7 +256,7 @@ struct ddb_entry { atomic_t retry_relogin_timer; /* Min Time between relogins * (4000 only) */ atomic_t relogin_timer; /* Max Time to wait for relogin to complete */ @@ -37751,11 +34451,11 @@ diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx= /ql4_def.h linux-2.6.32.48/driver * retried */ =20 uint16_t port; -diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_init.c linux-2.6.32.= 48/drivers/scsi/qla4xxx/ql4_init.c ---- linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_init.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_init.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -482,7 +482,7 @@ static struct ddb_entry * qla4xxx_alloc_ - atomic_set(&ddb_entry->port_down_timer, ha->port_down_retry_count); +diff -urNp linux-3.0.8/drivers/scsi/qla4xxx/ql4_init.c linux-3.0.8/drive= rs/scsi/qla4xxx/ql4_init.c +--- linux-3.0.8/drivers/scsi/qla4xxx/ql4_init.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/scsi/qla4xxx/ql4_init.c 2011-08-23 21:47:56.0000= 00000 -0400 +@@ -680,7 +680,7 @@ static struct ddb_entry * qla4xxx_alloc_ + ddb_entry->fw_ddb_index =3D fw_ddb_index; atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY); atomic_set(&ddb_entry->relogin_timer, 0); - atomic_set(&ddb_entry->relogin_retry_count, 0); @@ -37763,25 +34463,25 @@ diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx= /ql4_init.c linux-2.6.32.48/drive atomic_set(&ddb_entry->state, DDB_STATE_ONLINE); list_add_tail(&ddb_entry->list, &ha->ddb_list); ha->fw_ddb_index_map[fw_ddb_index] =3D ddb_entry; -@@ -1308,7 +1308,7 @@ int qla4xxx_process_ddb_changed(struct s +@@ -1433,7 +1433,7 @@ int qla4xxx_process_ddb_changed(struct s + if ((ddb_entry->fw_ddb_device_state =3D=3D DDB_DS_SESSION_ACTIVE) && + (atomic_read(&ddb_entry->state) !=3D DDB_STATE_ONLINE)) { atomic_set(&ddb_entry->state, DDB_STATE_ONLINE); - atomic_set(&ddb_entry->port_down_timer, - ha->port_down_retry_count); - atomic_set(&ddb_entry->relogin_retry_count, 0); + atomic_set_unchecked(&ddb_entry->relogin_retry_count, 0); atomic_set(&ddb_entry->relogin_timer, 0); clear_bit(DF_RELOGIN, &ddb_entry->flags); - clear_bit(DF_NO_RELOGIN, &ddb_entry->flags); -diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_os.c linux-2.6.32.48= /drivers/scsi/qla4xxx/ql4_os.c ---- linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_os.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/qla4xxx/ql4_os.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -641,13 +641,13 @@ static void qla4xxx_timer(struct scsi_ql + iscsi_unblock_session(ddb_entry->sess); +diff -urNp linux-3.0.8/drivers/scsi/qla4xxx/ql4_os.c linux-3.0.8/drivers= /scsi/qla4xxx/ql4_os.c +--- linux-3.0.8/drivers/scsi/qla4xxx/ql4_os.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/scsi/qla4xxx/ql4_os.c 2011-08-23 21:47:56.000000= 000 -0400 +@@ -811,13 +811,13 @@ static void qla4xxx_timer(struct scsi_ql ddb_entry->fw_ddb_device_state =3D=3D DDB_DS_SESSION_FAILED) { /* Reset retry relogin timer */ - atomic_inc(&ddb_entry->relogin_retry_count); + atomic_inc_unchecked(&ddb_entry->relogin_retry_count); - DEBUG2(printk("scsi%ld: index[%d] relogin" + DEBUG2(printk("scsi%ld: ddb [%d] relogin" " timed out-retrying" " relogin (%d)\n", ha->host_no, @@ -37791,10 +34491,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/qla4xxx= /ql4_os.c linux-2.6.32.48/drivers relogin_retry_count)) ); start_dpc++; -diff -urNp linux-2.6.32.48/drivers/scsi/scsi.c linux-2.6.32.48/drivers/s= csi/scsi.c ---- linux-2.6.32.48/drivers/scsi/scsi.c 2009-12-02 22:51:21.000000000 -0= 500 -+++ linux-2.6.32.48/drivers/scsi/scsi.c 2011-11-12 12:46:45.000000000 -0= 500 -@@ -652,7 +652,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd * +diff -urNp linux-3.0.8/drivers/scsi/scsi.c linux-3.0.8/drivers/scsi/scsi= .c +--- linux-3.0.8/drivers/scsi/scsi.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/scsi/scsi.c 2011-08-23 21:47:56.000000000 -0400 +@@ -655,7 +655,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd * unsigned long timeout; int rtn =3D 0; =20 @@ -37803,10 +34503,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi.c = linux-2.6.32.48/drivers/scsi/scsi =20 /* check if the device is still usable */ if (unlikely(cmd->device->sdev_state =3D=3D SDEV_DEL)) { -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_debug.c linux-2.6.32.48/dri= vers/scsi/scsi_debug.c ---- linux-2.6.32.48/drivers/scsi/scsi_debug.c 2011-11-12 12:44:29.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_debug.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -1395,6 +1395,8 @@ static int resp_mode_select(struct scsi_ +diff -urNp linux-3.0.8/drivers/scsi/scsi_debug.c linux-3.0.8/drivers/scs= i/scsi_debug.c +--- linux-3.0.8/drivers/scsi/scsi_debug.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/scsi/scsi_debug.c 2011-08-23 21:48:14.000000000 = -0400 +@@ -1493,6 +1493,8 @@ static int resp_mode_select(struct scsi_ unsigned char arr[SDEBUG_MAX_MSELECT_SZ]; unsigned char *cmd =3D (unsigned char *)scp->cmnd; =20 @@ -37815,7 +34515,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_debu= g.c linux-2.6.32.48/drivers/scs if ((errsts =3D check_readiness(scp, 1, devip))) return errsts; memset(arr, 0, sizeof(arr)); -@@ -1492,6 +1494,8 @@ static int resp_log_sense(struct scsi_cm +@@ -1590,6 +1592,8 @@ static int resp_log_sense(struct scsi_cm unsigned char arr[SDEBUG_MAX_LSENSE_SZ]; unsigned char *cmd =3D (unsigned char *)scp->cmnd; =20 @@ -37824,11 +34524,11 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_de= bug.c linux-2.6.32.48/drivers/scs if ((errsts =3D check_readiness(scp, 1, devip))) return errsts; memset(arr, 0, sizeof(arr)); -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_lib.c linux-2.6.32.48/drive= rs/scsi/scsi_lib.c ---- linux-2.6.32.48/drivers/scsi/scsi_lib.c 2011-11-12 12:44:29.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_lib.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -1384,7 +1384,7 @@ static void scsi_kill_request(struct req -=20 +diff -urNp linux-3.0.8/drivers/scsi/scsi_lib.c linux-3.0.8/drivers/scsi/= scsi_lib.c +--- linux-3.0.8/drivers/scsi/scsi_lib.c 2011-10-24 08:05:21.000000000 -0= 400 ++++ linux-3.0.8/drivers/scsi/scsi_lib.c 2011-08-23 21:47:56.000000000 -0= 400 +@@ -1412,7 +1412,7 @@ static void scsi_kill_request(struct req + shost =3D sdev->host; scsi_init_cmd_errh(cmd); cmd->result =3D DID_NO_CONNECT << 16; - atomic_inc(&cmd->device->iorequest_cnt); @@ -37836,9 +34536,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_lib.= c linux-2.6.32.48/drivers/scsi/ =20 /* * SCSI request completion path will do scsi_device_unbusy(), -@@ -1415,9 +1415,9 @@ static void scsi_softirq_done(struct req - */ - cmd->serial_number =3D 0; +@@ -1438,9 +1438,9 @@ static void scsi_softirq_done(struct req +=20 + INIT_LIST_HEAD(&cmd->eh_entry); =20 - atomic_inc(&cmd->device->iodone_cnt); + atomic_inc_unchecked(&cmd->device->iodone_cnt); @@ -37848,10 +34548,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_li= b.c linux-2.6.32.48/drivers/scsi/ =20 disposition =3D scsi_decide_disposition(cmd); if (disposition !=3D SUCCESS && -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_sysfs.c linux-2.6.32.48/dri= vers/scsi/scsi_sysfs.c ---- linux-2.6.32.48/drivers/scsi/scsi_sysfs.c 2011-11-12 12:44:29.000000= 000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_sysfs.c 2011-11-12 12:46:45.000000= 000 -0500 -@@ -662,7 +662,7 @@ show_iostat_##field(struct device *dev,=20 +diff -urNp linux-3.0.8/drivers/scsi/scsi_sysfs.c linux-3.0.8/drivers/scs= i/scsi_sysfs.c +--- linux-3.0.8/drivers/scsi/scsi_sysfs.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/scsi/scsi_sysfs.c 2011-08-23 21:47:56.000000000 = -0400 +@@ -622,7 +622,7 @@ show_iostat_##field(struct device *dev,=20 char *buf) \ { \ struct scsi_device *sdev =3D to_scsi_device(dev); \ @@ -37860,9 +34560,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_sysf= s.c linux-2.6.32.48/drivers/scs return snprintf(buf, 20, "0x%llx\n", count); \ } \ static DEVICE_ATTR(field, S_IRUGO, show_iostat_##field, NULL) -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tgt_lib.c linux-2.6.32.48/d= rivers/scsi/scsi_tgt_lib.c ---- linux-2.6.32.48/drivers/scsi/scsi_tgt_lib.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_tgt_lib.c 2011-11-12 12:46:45.0000= 00000 -0500 +diff -urNp linux-3.0.8/drivers/scsi/scsi_tgt_lib.c linux-3.0.8/drivers/s= csi/scsi_tgt_lib.c +--- linux-3.0.8/drivers/scsi/scsi_tgt_lib.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/scsi/scsi_tgt_lib.c 2011-10-06 04:17:55.00000000= 0 -0400 @@ -362,7 +362,7 @@ static int scsi_map_user_pages(struct sc int err; =20 @@ -37872,10 +34572,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tg= t_lib.c linux-2.6.32.48/drivers/s if (err) { /* * TODO: need to fixup sg_tablesize, max_segment_size, -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_transport_fc.c linux-2.6.32= .48/drivers/scsi/scsi_transport_fc.c ---- linux-2.6.32.48/drivers/scsi/scsi_transport_fc.c 2011-11-12 12:44:29= .000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_transport_fc.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -480,7 +480,7 @@ MODULE_PARM_DESC(dev_loss_tmo, +diff -urNp linux-3.0.8/drivers/scsi/scsi_transport_fc.c linux-3.0.8/driv= ers/scsi/scsi_transport_fc.c +--- linux-3.0.8/drivers/scsi/scsi_transport_fc.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/scsi/scsi_transport_fc.c 2011-08-23 21:47:56.000= 000000 -0400 +@@ -484,7 +484,7 @@ static DECLARE_TRANSPORT_CLASS(fc_vport_ * Netlink Infrastructure */ =20 @@ -37884,7 +34584,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tran= sport_fc.c linux-2.6.32.48/driv =20 /** * fc_get_event_number - Obtain the next sequential FC event number -@@ -493,7 +493,7 @@ static atomic_t fc_event_seq; +@@ -497,7 +497,7 @@ static atomic_t fc_event_seq; u32 fc_get_event_number(void) { @@ -37893,7 +34593,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tran= sport_fc.c linux-2.6.32.48/driv } EXPORT_SYMBOL(fc_get_event_number); =20 -@@ -641,7 +641,7 @@ static __init int fc_transport_init(void +@@ -645,7 +645,7 @@ static __init int fc_transport_init(void { int error; =20 @@ -37902,10 +34602,19 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tr= ansport_fc.c linux-2.6.32.48/driv =20 error =3D transport_class_register(&fc_host_class); if (error) -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_transport_iscsi.c linux-2.6= .32.48/drivers/scsi/scsi_transport_iscsi.c ---- linux-2.6.32.48/drivers/scsi/scsi_transport_iscsi.c 2011-11-12 12:44= :29.000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_transport_iscsi.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -81,7 +81,7 @@ struct iscsi_internal { +@@ -835,7 +835,7 @@ static int fc_str_to_dev_loss(const char + char *cp; +=20 + *val =3D simple_strtoul(buf, &cp, 0); +- if ((*cp && (*cp !=3D '\n')) || (*val < 0)) ++ if (*cp && (*cp !=3D '\n')) + return -EINVAL; + /* + * Check for overflow; dev_loss_tmo is u32 +diff -urNp linux-3.0.8/drivers/scsi/scsi_transport_iscsi.c linux-3.0.8/d= rivers/scsi/scsi_transport_iscsi.c +--- linux-3.0.8/drivers/scsi/scsi_transport_iscsi.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/scsi/scsi_transport_iscsi.c 2011-08-23 21:47:56.= 000000000 -0400 +@@ -83,7 +83,7 @@ struct iscsi_internal { struct device_attribute *session_attrs[ISCSI_SESSION_ATTRS + 1]; }; =20 @@ -37914,7 +34623,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tran= sport_iscsi.c linux-2.6.32.48/d static struct workqueue_struct *iscsi_eh_timer_workq; =20 /* -@@ -728,7 +728,7 @@ int iscsi_add_session(struct iscsi_cls_s +@@ -761,7 +761,7 @@ int iscsi_add_session(struct iscsi_cls_s int err; =20 ihost =3D shost->shost_data; @@ -37923,7 +34632,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tran= sport_iscsi.c linux-2.6.32.48/d =20 if (id =3D=3D ISCSI_MAX_TARGET) { for (id =3D 0; id < ISCSI_MAX_TARGET; id++) { -@@ -2060,7 +2060,7 @@ static __init int iscsi_transport_init(v +@@ -2200,7 +2200,7 @@ static __init int iscsi_transport_init(v printk(KERN_INFO "Loading iSCSI transport class v%s.\n", ISCSI_TRANSPORT_VERSION); =20 @@ -37932,9 +34641,9 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tran= sport_iscsi.c linux-2.6.32.48/d =20 err =3D class_register(&iscsi_transport_class); if (err) -diff -urNp linux-2.6.32.48/drivers/scsi/scsi_transport_srp.c linux-2.6.3= 2.48/drivers/scsi/scsi_transport_srp.c ---- linux-2.6.32.48/drivers/scsi/scsi_transport_srp.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/scsi_transport_srp.c 2011-11-12 12:46:4= 5.000000000 -0500 +diff -urNp linux-3.0.8/drivers/scsi/scsi_transport_srp.c linux-3.0.8/dri= vers/scsi/scsi_transport_srp.c +--- linux-3.0.8/drivers/scsi/scsi_transport_srp.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/scsi/scsi_transport_srp.c 2011-08-23 21:47:56.00= 0000000 -0400 @@ -33,7 +33,7 @@ #include "scsi_transport_srp_internal.h" =20 @@ -37962,10 +34671,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/scsi_tr= ansport_srp.c linux-2.6.32.48/dri dev_set_name(&rport->dev, "port-%d:%d", shost->host_no, id); =20 transport_setup_device(&rport->dev); -diff -urNp linux-2.6.32.48/drivers/scsi/sg.c linux-2.6.32.48/drivers/scs= i/sg.c ---- linux-2.6.32.48/drivers/scsi/sg.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/scsi/sg.c 2011-11-12 12:46:45.000000000 -050= 0 -@@ -1064,7 +1064,7 @@ sg_ioctl(struct inode *inode, struct fil +diff -urNp linux-3.0.8/drivers/scsi/sg.c linux-3.0.8/drivers/scsi/sg.c +--- linux-3.0.8/drivers/scsi/sg.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/scsi/sg.c 2011-10-06 04:17:55.000000000 -0400 +@@ -1075,7 +1075,7 @@ sg_ioctl(struct file *filp, unsigned int sdp->disk->disk_name, MKDEV(SCSI_GENERIC_MAJOR, sdp->index), NULL, @@ -37974,7 +34683,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/sg.c linu= x-2.6.32.48/drivers/scsi/sg.c case BLKTRACESTART: return blk_trace_startstop(sdp->device->request_queue, 1); case BLKTRACESTOP: -@@ -2292,7 +2292,7 @@ struct sg_proc_leaf { +@@ -2310,7 +2310,7 @@ struct sg_proc_leaf { const struct file_operations * fops; }; =20 @@ -37983,7 +34692,7 @@ diff -urNp linux-2.6.32.48/drivers/scsi/sg.c linu= x-2.6.32.48/drivers/scsi/sg.c {"allow_dio", &adio_fops}, {"debug", &debug_fops}, {"def_reserved_size", &dressz_fops}, -@@ -2307,7 +2307,7 @@ sg_proc_init(void) +@@ -2325,7 +2325,7 @@ sg_proc_init(void) { int k, mask; int num_leaves =3D ARRAY_SIZE(sg_proc_leaf_arr); @@ -37992,10 +34701,10 @@ diff -urNp linux-2.6.32.48/drivers/scsi/sg.c li= nux-2.6.32.48/drivers/scsi/sg.c =20 sg_proc_sgp =3D proc_mkdir(sg_proc_sg_dirname, NULL); if (!sg_proc_sgp) -diff -urNp linux-2.6.32.48/drivers/scsi/sym53c8xx_2/sym_glue.c linux-2.6= .32.48/drivers/scsi/sym53c8xx_2/sym_glue.c ---- linux-2.6.32.48/drivers/scsi/sym53c8xx_2/sym_glue.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -1754,6 +1754,8 @@ static int __devinit sym2_probe(struct p +diff -urNp linux-3.0.8/drivers/scsi/sym53c8xx_2/sym_glue.c linux-3.0.8/d= rivers/scsi/sym53c8xx_2/sym_glue.c +--- linux-3.0.8/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-07-21 22:17:23.= 000000000 -0400 ++++ linux-3.0.8/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-08-23 21:48:14.= 000000000 -0400 +@@ -1756,6 +1756,8 @@ static int __devinit sym2_probe(struct p int do_iounmap =3D 0; int do_disable_device =3D 1; =20 @@ -38004,298 +34713,159 @@ diff -urNp linux-2.6.32.48/drivers/scsi/sym53= c8xx_2/sym_glue.c linux-2.6.32.48/d memset(&sym_dev, 0, sizeof(sym_dev)); memset(&nvram, 0, sizeof(nvram)); sym_dev.pdev =3D pdev; -diff -urNp linux-2.6.32.48/drivers/serial/kgdboc.c linux-2.6.32.48/drive= rs/serial/kgdboc.c ---- linux-2.6.32.48/drivers/serial/kgdboc.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/serial/kgdboc.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -18,7 +18,7 @@ -=20 - #define MAX_CONFIG_LEN 40 -=20 --static struct kgdb_io kgdboc_io_ops; -+static const struct kgdb_io kgdboc_io_ops; +diff -urNp linux-3.0.8/drivers/scsi/vmw_pvscsi.c linux-3.0.8/drivers/scs= i/vmw_pvscsi.c +--- linux-3.0.8/drivers/scsi/vmw_pvscsi.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/scsi/vmw_pvscsi.c 2011-08-23 21:48:14.000000000 = -0400 +@@ -447,6 +447,8 @@ static void pvscsi_setup_all_rings(const + dma_addr_t base; + unsigned i; =20 - /* -1 =3D init not run yet, 0 =3D unconfigured, 1 =3D configured. */ - static int configured =3D -1; -@@ -154,7 +154,7 @@ static void kgdboc_post_exp_handler(void - module_put(THIS_MODULE); - } ++ pax_track_stack(); ++ + cmd.ringsStatePPN =3D adapter->ringStatePA >> PAGE_SHIFT; + cmd.reqRingNumPages =3D adapter->req_pages; + cmd.cmpRingNumPages =3D adapter->cmp_pages; +diff -urNp linux-3.0.8/drivers/spi/dw_spi_pci.c linux-3.0.8/drivers/spi/= dw_spi_pci.c +--- linux-3.0.8/drivers/spi/dw_spi_pci.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/spi/dw_spi_pci.c 2011-10-11 10:44:33.000000000 -= 0400 +@@ -148,7 +148,7 @@ static int spi_resume(struct pci_dev *pd + #define spi_resume NULL + #endif =20 --static struct kgdb_io kgdboc_io_ops =3D { -+static const struct kgdb_io kgdboc_io_ops =3D { - .name =3D "kgdboc", - .read_char =3D kgdboc_get_char, - .write_char =3D kgdboc_put_char, -diff -urNp linux-2.6.32.48/drivers/spi/spi.c linux-2.6.32.48/drivers/spi= /spi.c ---- linux-2.6.32.48/drivers/spi/spi.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/spi/spi.c 2011-11-12 12:46:45.000000000 -050= 0 -@@ -774,7 +774,7 @@ int spi_sync(struct spi_device *spi, str - EXPORT_SYMBOL_GPL(spi_sync); +-static const struct pci_device_id pci_ids[] __devinitdata =3D { ++static const struct pci_device_id pci_ids[] __devinitconst =3D { + /* Intel MID platform SPI controller 0 */ + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0800) }, + {}, +diff -urNp linux-3.0.8/drivers/spi/spi.c linux-3.0.8/drivers/spi/spi.c +--- linux-3.0.8/drivers/spi/spi.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/spi/spi.c 2011-08-23 21:47:56.000000000 -0400 +@@ -1023,7 +1023,7 @@ int spi_bus_unlock(struct spi_master *ma + EXPORT_SYMBOL_GPL(spi_bus_unlock); =20 /* portable code must never pass more than 32 bytes */ -#define SPI_BUFSIZ max(32,SMP_CACHE_BYTES) -+#define SPI_BUFSIZ max(32U,SMP_CACHE_BYTES) ++#define SPI_BUFSIZ max(32UL,SMP_CACHE_BYTES) =20 static u8 *buf; =20 -diff -urNp linux-2.6.32.48/drivers/staging/android/binder.c linux-2.6.32= .48/drivers/staging/android/binder.c ---- linux-2.6.32.48/drivers/staging/android/binder.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/android/binder.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -2756,7 +2756,7 @@ static void binder_vma_close(struct vm_a - binder_defer_work(proc, BINDER_DEFERRED_PUT_FILES); - } -=20 --static struct vm_operations_struct binder_vm_ops =3D { -+static const struct vm_operations_struct binder_vm_ops =3D { - .open =3D binder_vma_open, - .close =3D binder_vma_close, - }; -diff -urNp linux-2.6.32.48/drivers/staging/b3dfg/b3dfg.c linux-2.6.32.48= /drivers/staging/b3dfg/b3dfg.c ---- linux-2.6.32.48/drivers/staging/b3dfg/b3dfg.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/staging/b3dfg/b3dfg.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -455,7 +455,7 @@ static int b3dfg_vma_fault(struct vm_are - return VM_FAULT_NOPAGE; - } -=20 --static struct vm_operations_struct b3dfg_vm_ops =3D { -+static const struct vm_operations_struct b3dfg_vm_ops =3D { - .fault =3D b3dfg_vma_fault, - }; -=20 -@@ -848,7 +848,7 @@ static int b3dfg_mmap(struct file *filp, - return r; - } -=20 --static struct file_operations b3dfg_fops =3D { -+static const struct file_operations b3dfg_fops =3D { - .owner =3D THIS_MODULE, - .open =3D b3dfg_open, - .release =3D b3dfg_release, -diff -urNp linux-2.6.32.48/drivers/staging/comedi/comedi_fops.c linux-2.= 6.32.48/drivers/staging/comedi/comedi_fops.c ---- linux-2.6.32.48/drivers/staging/comedi/comedi_fops.c 2011-11-12 12:4= 4:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/comedi/comedi_fops.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -1389,7 +1389,7 @@ void comedi_unmap(struct vm_area_struct=20 - mutex_unlock(&dev->mutex); - } -=20 --static struct vm_operations_struct comedi_vm_ops =3D { -+static const struct vm_operations_struct comedi_vm_ops =3D { - .close =3D comedi_unmap, - }; -=20 -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/adsp_driver.c lin= ux-2.6.32.48/drivers/staging/dream/qdsp5/adsp_driver.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/adsp_driver.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/adsp_driver.c 2011-11-12= 12:46:45.000000000 -0500 -@@ -576,7 +576,7 @@ static struct adsp_device *inode_to_devi - static dev_t adsp_devno; - static struct class *adsp_class; -=20 --static struct file_operations adsp_fops =3D { -+static const struct file_operations adsp_fops =3D { - .owner =3D THIS_MODULE, - .open =3D adsp_open, - .unlocked_ioctl =3D adsp_ioctl, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_aac.c linux= -2.6.32.48/drivers/staging/dream/qdsp5/audio_aac.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_aac.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_aac.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -1022,7 +1022,7 @@ done: - return rc; - } -=20 --static struct file_operations audio_aac_fops =3D { -+static const struct file_operations audio_aac_fops =3D { - .owner =3D THIS_MODULE, - .open =3D audio_open, - .release =3D audio_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_amrnb.c lin= ux-2.6.32.48/drivers/staging/dream/qdsp5/audio_amrnb.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_amrnb.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_amrnb.c 2011-11-12= 12:46:45.000000000 -0500 -@@ -833,7 +833,7 @@ done: - return rc; - } -=20 --static struct file_operations audio_amrnb_fops =3D { -+static const struct file_operations audio_amrnb_fops =3D { - .owner =3D THIS_MODULE, - .open =3D audamrnb_open, - .release =3D audamrnb_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_evrc.c linu= x-2.6.32.48/drivers/staging/dream/qdsp5/audio_evrc.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_evrc.c 2009-12-02 = 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_evrc.c 2011-11-12 = 12:46:45.000000000 -0500 -@@ -805,7 +805,7 @@ dma_fail: - return rc; - } -=20 --static struct file_operations audio_evrc_fops =3D { -+static const struct file_operations audio_evrc_fops =3D { - .owner =3D THIS_MODULE, - .open =3D audevrc_open, - .release =3D audevrc_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_in.c linux-= 2.6.32.48/drivers/staging/dream/qdsp5/audio_in.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_in.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_in.c 2011-11-12 12= :46:45.000000000 -0500 -@@ -913,7 +913,7 @@ static int audpre_open(struct inode *ino - return 0; - } -=20 --static struct file_operations audio_fops =3D { -+static const struct file_operations audio_fops =3D { - .owner =3D THIS_MODULE, - .open =3D audio_in_open, - .release =3D audio_in_release, -@@ -922,7 +922,7 @@ static struct file_operations audio_fops - .unlocked_ioctl =3D audio_in_ioctl, - }; -=20 --static struct file_operations audpre_fops =3D { -+static const struct file_operations audpre_fops =3D { - .owner =3D THIS_MODULE, - .open =3D audpre_open, - .unlocked_ioctl =3D audpre_ioctl, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_mp3.c linux= -2.6.32.48/drivers/staging/dream/qdsp5/audio_mp3.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_mp3.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_mp3.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -941,7 +941,7 @@ done: - return rc; - } -=20 --static struct file_operations audio_mp3_fops =3D { -+static const struct file_operations audio_mp3_fops =3D { - .owner =3D THIS_MODULE, - .open =3D audio_open, - .release =3D audio_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_out.c linux= -2.6.32.48/drivers/staging/dream/qdsp5/audio_out.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_out.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_out.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -810,7 +810,7 @@ static int audpp_open(struct inode *inod - return 0; - } -=20 --static struct file_operations audio_fops =3D { -+static const struct file_operations audio_fops =3D { - .owner =3D THIS_MODULE, - .open =3D audio_open, - .release =3D audio_release, -@@ -819,7 +819,7 @@ static struct file_operations audio_fops - .unlocked_ioctl =3D audio_ioctl, - }; -=20 --static struct file_operations audpp_fops =3D { -+static const struct file_operations audpp_fops =3D { - .owner =3D THIS_MODULE, - .open =3D audpp_open, - .unlocked_ioctl =3D audpp_ioctl, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_qcelp.c lin= ux-2.6.32.48/drivers/staging/dream/qdsp5/audio_qcelp.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_qcelp.c 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/audio_qcelp.c 2011-11-12= 12:46:45.000000000 -0500 -@@ -816,7 +816,7 @@ err: - return rc; - } -=20 --static struct file_operations audio_qcelp_fops =3D { -+static const struct file_operations audio_qcelp_fops =3D { - .owner =3D THIS_MODULE, - .open =3D audqcelp_open, - .release =3D audqcelp_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/qdsp5/snd.c linux-2.6.3= 2.48/drivers/staging/dream/qdsp5/snd.c ---- linux-2.6.32.48/drivers/staging/dream/qdsp5/snd.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/qdsp5/snd.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -242,7 +242,7 @@ err: - return rc; - } -=20 --static struct file_operations snd_fops =3D { -+static const struct file_operations snd_fops =3D { - .owner =3D THIS_MODULE, - .open =3D snd_open, - .release =3D snd_release, -diff -urNp linux-2.6.32.48/drivers/staging/dream/smd/smd_qmi.c linux-2.6= .32.48/drivers/staging/dream/smd/smd_qmi.c ---- linux-2.6.32.48/drivers/staging/dream/smd/smd_qmi.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/smd/smd_qmi.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -793,7 +793,7 @@ static int qmi_release(struct inode *ip, - return 0; - } -=20 --static struct file_operations qmi_fops =3D { -+static const struct file_operations qmi_fops =3D { - .owner =3D THIS_MODULE, - .read =3D qmi_read, - .write =3D qmi_write, -diff -urNp linux-2.6.32.48/drivers/staging/dream/smd/smd_rpcrouter_devic= e.c linux-2.6.32.48/drivers/staging/dream/smd/smd_rpcrouter_device.c ---- linux-2.6.32.48/drivers/staging/dream/smd/smd_rpcrouter_device.c 200= 9-12-02 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/dream/smd/smd_rpcrouter_device.c 201= 1-11-12 12:46:45.000000000 -0500 -@@ -214,7 +214,7 @@ static long rpcrouter_ioctl(struct file=20 - return rc; - } -=20 --static struct file_operations rpcrouter_server_fops =3D { -+static const struct file_operations rpcrouter_server_fops =3D { - .owner =3D THIS_MODULE, - .open =3D rpcrouter_open, - .release =3D rpcrouter_release, -@@ -224,7 +224,7 @@ static struct file_operations rpcrouter_ - .unlocked_ioctl =3D rpcrouter_ioctl, - }; -=20 --static struct file_operations rpcrouter_router_fops =3D { -+static const struct file_operations rpcrouter_router_fops =3D { - .owner =3D THIS_MODULE, - .open =3D rpcrouter_open, - .release =3D rpcrouter_release, -diff -urNp linux-2.6.32.48/drivers/staging/dst/dcore.c linux-2.6.32.48/d= rivers/staging/dst/dcore.c ---- linux-2.6.32.48/drivers/staging/dst/dcore.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/staging/dst/dcore.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -149,7 +149,7 @@ static int dst_bdev_release(struct gendi - return 0; - } +diff -urNp linux-3.0.8/drivers/staging/ath6kl/os/linux/ar6000_drv.c linu= x-3.0.8/drivers/staging/ath6kl/os/linux/ar6000_drv.c +--- linux-3.0.8/drivers/staging/ath6kl/os/linux/ar6000_drv.c 2011-10-24 = 08:05:21.000000000 -0400 ++++ linux-3.0.8/drivers/staging/ath6kl/os/linux/ar6000_drv.c 2011-08-23 = 21:48:14.000000000 -0400 +@@ -362,7 +362,7 @@ static struct ar_cookie s_ar_cookie_mem[ + (((ar)->arTargetType =3D=3D TARGET_TYPE_AR6003) ? AR6003_HOST_I= NTEREST_ITEM_ADDRESS(item) : 0)) +=20 +=20 +-static struct net_device_ops ar6000_netdev_ops =3D { ++static net_device_ops_no_const ar6000_netdev_ops =3D { + .ndo_init =3D NULL, + .ndo_open =3D ar6000_open, + .ndo_stop =3D ar6000_close, +diff -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 +--- linux-3.0.8/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 2011-= 07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 2011-= 08-23 21:47:56.000000000 -0400 +@@ -30,7 +30,7 @@ typedef bool (*ar6k_pal_recv_pkt_t)(void + typedef struct ar6k_pal_config_s + { + ar6k_pal_recv_pkt_t fpar6k_pal_recv_pkt; +-}ar6k_pal_config_t; ++} __no_const ar6k_pal_config_t; +=20 + void register_pal_cb(ar6k_pal_config_t *palConfig_p); + #endif /* _AR6K_PAL_H_ */ +diff -urNp linux-3.0.8/drivers/staging/brcm80211/brcmfmac/dhd_linux.c li= nux-3.0.8/drivers/staging/brcm80211/brcmfmac/dhd_linux.c +--- linux-3.0.8/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 2011-07-2= 1 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 2011-08-2= 3 21:47:56.000000000 -0400 +@@ -853,14 +853,14 @@ static void dhd_op_if(dhd_if_t *ifp) + free_netdev(ifp->net); + } + /* Allocate etherdev, including space for private structure */ +- ifp->net =3D alloc_etherdev(sizeof(dhd)); ++ ifp->net =3D alloc_etherdev(sizeof(*dhd)); + if (!ifp->net) { + DHD_ERROR(("%s: OOM - alloc_etherdev\n", __func__)); + ret =3D -ENOMEM; + } + if (ret =3D=3D 0) { + strcpy(ifp->net->name, ifp->name); +- memcpy(netdev_priv(ifp->net), &dhd, sizeof(dhd)); ++ memcpy(netdev_priv(ifp->net), dhd, sizeof(*dhd)); + err =3D dhd_net_attach(&dhd->pub, ifp->idx); + if (err !=3D 0) { + DHD_ERROR(("%s: dhd_net_attach failed, " +@@ -1872,7 +1872,7 @@ dhd_pub_t *dhd_attach(struct dhd_bus *bu + strcpy(nv_path, nvram_path); +=20 + /* Allocate etherdev, including space for private structure */ +- net =3D alloc_etherdev(sizeof(dhd)); ++ net =3D alloc_etherdev(sizeof(*dhd)); + if (!net) { + DHD_ERROR(("%s: OOM - alloc_etherdev\n", __func__)); + goto fail; +@@ -1888,7 +1888,7 @@ dhd_pub_t *dhd_attach(struct dhd_bus *bu + /* + * Save the dhd_info into the priv + */ +- memcpy(netdev_priv(net), &dhd, sizeof(dhd)); ++ memcpy(netdev_priv(net), dhd, sizeof(*dhd)); =20 --static struct block_device_operations dst_blk_ops =3D { -+static const struct block_device_operations dst_blk_ops =3D { - .open =3D dst_bdev_open, - .release =3D dst_bdev_release, - .owner =3D THIS_MODULE, -@@ -588,7 +588,7 @@ static struct dst_node *dst_alloc_node(s - n->size =3D ctl->size; -=20 - atomic_set(&n->refcnt, 1); -- atomic_long_set(&n->gen, 0); -+ atomic_long_set_unchecked(&n->gen, 0); - snprintf(n->name, sizeof(n->name), "%s", ctl->name); -=20 - err =3D dst_node_sysfs_init(n); -diff -urNp linux-2.6.32.48/drivers/staging/dst/trans.c linux-2.6.32.48/d= rivers/staging/dst/trans.c ---- linux-2.6.32.48/drivers/staging/dst/trans.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/staging/dst/trans.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -169,7 +169,7 @@ int dst_process_bio(struct dst_node *n,=20 - t->error =3D 0; - t->retries =3D 0; - atomic_set(&t->refcnt, 1); -- t->gen =3D atomic_long_inc_return(&n->gen); -+ t->gen =3D atomic_long_inc_return_unchecked(&n->gen); -=20 - t->enc =3D bio_data_dir(bio); - dst_bio_to_cmd(bio, &t->cmd, DST_IO, t->gen); -diff -urNp linux-2.6.32.48/drivers/staging/et131x/et1310_tx.c linux-2.6.= 32.48/drivers/staging/et131x/et1310_tx.c ---- linux-2.6.32.48/drivers/staging/et131x/et1310_tx.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/et131x/et1310_tx.c 2011-11-12 12:46:= 45.000000000 -0500 -@@ -710,11 +710,11 @@ inline void et131x_free_send_packet(stru + /* Set network interface name if it was provided as module parameter *= / + if (iface_name[0]) { +@@ -2004,7 +2004,7 @@ dhd_pub_t *dhd_attach(struct dhd_bus *bu + /* + * Save the dhd_info into the priv + */ +- memcpy(netdev_priv(net), &dhd, sizeof(dhd)); ++ memcpy(netdev_priv(net), dhd, sizeof(*dhd)); +=20 + #if defined(CUSTOMER_HW2) && defined(CONFIG_WIFI_CONTROL_FUNC) + g_bus =3D bus; +diff -urNp linux-3.0.8/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_in= t.h 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 201= 1-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h 201= 1-08-23 21:47:56.000000000 -0400 +@@ -593,7 +593,7 @@ struct phy_func_ptr { + initfn_t carrsuppr; + rxsigpwrfn_t rxsigpwr; + detachfn_t detach; +-}; ++} __no_const; + typedef struct phy_func_ptr phy_func_ptr_t; +=20 + struct phy_info { +diff -urNp linux-3.0.8/drivers/staging/brcm80211/include/bcmsdh.h linux-= 3.0.8/drivers/staging/brcm80211/include/bcmsdh.h +--- linux-3.0.8/drivers/staging/brcm80211/include/bcmsdh.h 2011-07-21 22= :17:23.000000000 -0400 ++++ linux-3.0.8/drivers/staging/brcm80211/include/bcmsdh.h 2011-08-23 21= :47:56.000000000 -0400 +@@ -185,7 +185,7 @@ typedef struct { + u16 func, uint bustype, void *regsva, void *param); + /* detach from device */ + void (*detach) (void *ch); +-} bcmsdh_driver_t; ++} __no_const bcmsdh_driver_t; +=20 + /* platform specific/high level functions */ + extern int bcmsdh_register(bcmsdh_driver_t *driver); +diff -urNp linux-3.0.8/drivers/staging/et131x/et1310_tx.c linux-3.0.8/dr= ivers/staging/et131x/et1310_tx.c +--- linux-3.0.8/drivers/staging/et131x/et1310_tx.c 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/staging/et131x/et1310_tx.c 2011-08-23 21:47:56.0= 00000000 -0400 +@@ -635,11 +635,11 @@ inline void et131x_free_send_packet(stru struct net_device_stats *stats =3D &etdev->net_stats; =20 - if (pMpTcb->Flags & fMP_DEST_BROAD) + if (tcb->flags & fMP_DEST_BROAD) - atomic_inc(&etdev->Stats.brdcstxmt); + atomic_inc_unchecked(&etdev->Stats.brdcstxmt); - else if (pMpTcb->Flags & fMP_DEST_MULTI) + else if (tcb->flags & fMP_DEST_MULTI) - atomic_inc(&etdev->Stats.multixmt); + atomic_inc_unchecked(&etdev->Stats.multixmt); else - atomic_inc(&etdev->Stats.unixmt); + atomic_inc_unchecked(&etdev->Stats.unixmt); =20 - if (pMpTcb->Packet) { - stats->tx_bytes +=3D pMpTcb->Packet->len; -diff -urNp linux-2.6.32.48/drivers/staging/et131x/et131x_adapter.h linux= -2.6.32.48/drivers/staging/et131x/et131x_adapter.h ---- linux-2.6.32.48/drivers/staging/et131x/et131x_adapter.h 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/et131x/et131x_adapter.h 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -145,11 +145,11 @@ typedef struct _ce_stats_t { + if (tcb->skb) { + stats->tx_bytes +=3D tcb->skb->len; +diff -urNp linux-3.0.8/drivers/staging/et131x/et131x_adapter.h linux-3.0= .8/drivers/staging/et131x/et131x_adapter.h +--- linux-3.0.8/drivers/staging/et131x/et131x_adapter.h 2011-07-21 22:17= :23.000000000 -0400 ++++ linux-3.0.8/drivers/staging/et131x/et131x_adapter.h 2011-08-23 21:47= :56.000000000 -0400 +@@ -110,11 +110,11 @@ typedef struct _ce_stats_t { * operations */ u32 unircv; /* # multicast packets received */ @@ -38310,117 +34880,144 @@ diff -urNp linux-2.6.32.48/drivers/staging/et= 131x/et131x_adapter.h linux-2.6.32. u32 norcvbuf; /* # Rx packets discarded */ u32 noxmtbuf; /* # Tx packets discarded */ =20 -diff -urNp linux-2.6.32.48/drivers/staging/go7007/go7007-v4l2.c linux-2.= 6.32.48/drivers/staging/go7007/go7007-v4l2.c ---- linux-2.6.32.48/drivers/staging/go7007/go7007-v4l2.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/go7007/go7007-v4l2.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -1700,7 +1700,7 @@ static int go7007_vm_fault(struct vm_are - return 0; - } +diff -urNp linux-3.0.8/drivers/staging/hv/channel.c linux-3.0.8/drivers/= staging/hv/channel.c +--- linux-3.0.8/drivers/staging/hv/channel.c 2011-10-24 08:05:21.0000000= 00 -0400 ++++ linux-3.0.8/drivers/staging/hv/channel.c 2011-08-23 21:47:56.0000000= 00 -0400 +@@ -433,8 +433,8 @@ int vmbus_establish_gpadl(struct vmbus_c + int ret =3D 0; + int t; =20 --static struct vm_operations_struct go7007_vm_ops =3D { -+static const struct vm_operations_struct go7007_vm_ops =3D { - .open =3D go7007_vm_open, - .close =3D go7007_vm_close, - .fault =3D go7007_vm_fault, -diff -urNp linux-2.6.32.48/drivers/staging/hv/blkvsc_drv.c linux-2.6.32.= 48/drivers/staging/hv/blkvsc_drv.c ---- linux-2.6.32.48/drivers/staging/hv/blkvsc_drv.c 2011-11-12 12:44:29.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/blkvsc_drv.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -153,7 +153,7 @@ static int blkvsc_ringbuffer_size =3D BLKV - /* The one and only one */ - static struct blkvsc_driver_context g_blkvsc_drv; -=20 --static struct block_device_operations block_ops =3D { -+static const struct block_device_operations block_ops =3D { - .owner =3D THIS_MODULE, - .open =3D blkvsc_open, - .release =3D blkvsc_release, -diff -urNp linux-2.6.32.48/drivers/staging/hv/Channel.c linux-2.6.32.48/= drivers/staging/hv/Channel.c ---- linux-2.6.32.48/drivers/staging/hv/Channel.c 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/Channel.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -464,8 +464,8 @@ int VmbusChannelEstablishGpadl(struct vm -=20 - DPRINT_ENTER(VMBUS); -=20 -- nextGpadlHandle =3D atomic_read(&gVmbusConnection.NextGpadlHandle); -- atomic_inc(&gVmbusConnection.NextGpadlHandle); -+ nextGpadlHandle =3D atomic_read_unchecked(&gVmbusConnection.NextGpadlH= andle); -+ atomic_inc_unchecked(&gVmbusConnection.NextGpadlHandle); -=20 - VmbusChannelCreateGpadlHeader(Kbuffer, Size, &msgInfo, &msgCount); - ASSERT(msgInfo !=3D NULL); -diff -urNp linux-2.6.32.48/drivers/staging/hv/Hv.c linux-2.6.32.48/drive= rs/staging/hv/Hv.c ---- linux-2.6.32.48/drivers/staging/hv/Hv.c 2011-11-12 12:44:29.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/Hv.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -161,7 +161,7 @@ static u64 HvDoHypercall(u64 Control, vo - u64 outputAddress =3D (Output) ? virt_to_phys(Output) : 0; - u32 outputAddressHi =3D outputAddress >> 32; - u32 outputAddressLo =3D outputAddress & 0xFFFFFFFF; -- volatile void *hypercallPage =3D gHvContext.HypercallPage; -+ volatile void *hypercallPage =3D ktva_ktla(gHvContext.HypercallPage); -=20 - DPRINT_DBG(VMBUS, "Hypercall ", - Control, Input, Output); -diff -urNp linux-2.6.32.48/drivers/staging/hv/VmbusApi.h linux-2.6.32.48= /drivers/staging/hv/VmbusApi.h ---- linux-2.6.32.48/drivers/staging/hv/VmbusApi.h 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/VmbusApi.h 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -109,7 +109,7 @@ struct vmbus_channel_interface { - u32 *GpadlHandle); - int (*TeardownGpadl)(struct hv_device *device, u32 GpadlHandle); - void (*GetInfo)(struct hv_device *dev, struct hv_device_info *devinfo)= ; --}; -+} __no_const; +- next_gpadl_handle =3D atomic_read(&vmbus_connection.next_gpadl_handle)= ; +- atomic_inc(&vmbus_connection.next_gpadl_handle); ++ next_gpadl_handle =3D atomic_read_unchecked(&vmbus_connection.next_gpa= dl_handle); ++ atomic_inc_unchecked(&vmbus_connection.next_gpadl_handle); =20 - /* Base driver object */ - struct hv_driver { -diff -urNp linux-2.6.32.48/drivers/staging/hv/vmbus_drv.c linux-2.6.32.4= 8/drivers/staging/hv/vmbus_drv.c ---- linux-2.6.32.48/drivers/staging/hv/vmbus_drv.c 2011-11-12 12:44:29.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/vmbus_drv.c 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -532,7 +532,7 @@ static int vmbus_child_device_register(s - to_device_context(root_device_obj); - struct device_context *child_device_ctx =3D - to_device_context(child_device_obj); -- static atomic_t device_num =3D ATOMIC_INIT(0); -+ static atomic_unchecked_t device_num =3D ATOMIC_INIT(0); + ret =3D create_gpadl_header(kbuffer, size, &msginfo, &msgcount); + if (ret) +diff -urNp linux-3.0.8/drivers/staging/hv/hv.c linux-3.0.8/drivers/stagi= ng/hv/hv.c +--- linux-3.0.8/drivers/staging/hv/hv.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/staging/hv/hv.c 2011-08-23 21:47:56.000000000 -0= 400 +@@ -132,7 +132,7 @@ static u64 do_hypercall(u64 control, voi + u64 output_address =3D (output) ? virt_to_phys(output) : 0; + u32 output_address_hi =3D output_address >> 32; + u32 output_address_lo =3D output_address & 0xFFFFFFFF; +- volatile void *hypercall_page =3D hv_context.hypercall_page; ++ volatile void *hypercall_page =3D ktva_ktla(hv_context.hypercall_page)= ; +=20 + __asm__ __volatile__ ("call *%8" : "=3Dd"(hv_status_hi), + "=3Da"(hv_status_lo) : "d" (control_hi), +diff -urNp linux-3.0.8/drivers/staging/hv/hv_mouse.c linux-3.0.8/drivers= /staging/hv/hv_mouse.c +--- linux-3.0.8/drivers/staging/hv/hv_mouse.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/staging/hv/hv_mouse.c 2011-08-23 21:47:56.000000= 000 -0400 +@@ -879,8 +879,10 @@ static void reportdesc_callback(struct h + if (hid_dev) { + DPRINT_INFO(INPUTVSC_DRV, "hid_device created"); +=20 +- hid_dev->ll_driver->open =3D mousevsc_hid_open; +- hid_dev->ll_driver->close =3D mousevsc_hid_close; ++ pax_open_kernel(); ++ *(void **)&hid_dev->ll_driver->open =3D mousevsc_hid_open; ++ *(void **)&hid_dev->ll_driver->close =3D mousevsc_hid_close; ++ pax_close_kernel(); +=20 + hid_dev->bus =3D BUS_VIRTUAL; + hid_dev->vendor =3D input_device_ctx->device_info.vendor; +diff -urNp linux-3.0.8/drivers/staging/hv/hyperv_vmbus.h linux-3.0.8/dri= vers/staging/hv/hyperv_vmbus.h +--- linux-3.0.8/drivers/staging/hv/hyperv_vmbus.h 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/staging/hv/hyperv_vmbus.h 2011-08-23 21:47:56.00= 0000000 -0400 +@@ -559,7 +559,7 @@ enum vmbus_connect_state { + struct vmbus_connection { + enum vmbus_connect_state conn_state; =20 - DPRINT_ENTER(VMBUS_DRV); +- atomic_t next_gpadl_handle; ++ atomic_unchecked_t next_gpadl_handle; +=20 + /* + * Represents channel interrupts. Each bit position represents a +diff -urNp linux-3.0.8/drivers/staging/hv/rndis_filter.c linux-3.0.8/dri= vers/staging/hv/rndis_filter.c +--- linux-3.0.8/drivers/staging/hv/rndis_filter.c 2011-10-24 08:05:21.00= 0000000 -0400 ++++ linux-3.0.8/drivers/staging/hv/rndis_filter.c 2011-08-23 21:47:56.00= 0000000 -0400 +@@ -43,7 +43,7 @@ struct rndis_device { +=20 + enum rndis_device_state state; + u32 link_stat; +- atomic_t new_req_id; ++ atomic_unchecked_t new_req_id; +=20 + spinlock_t request_lock; + struct list_head req_list; +@@ -117,7 +117,7 @@ static struct rndis_request *get_rndis_r + * template + */ + set =3D &rndis_msg->msg.set_req; +- set->req_id =3D atomic_inc_return(&dev->new_req_id); ++ set->req_id =3D atomic_inc_return_unchecked(&dev->new_req_id); +=20 + /* Add to the request list */ + spin_lock_irqsave(&dev->request_lock, flags); +@@ -637,7 +637,7 @@ static void rndis_filter_halt_device(str +=20 + /* Setup the rndis set */ + halt =3D &request->request_msg.msg.halt_req; +- halt->req_id =3D atomic_inc_return(&dev->new_req_id); ++ halt->req_id =3D atomic_inc_return_unchecked(&dev->new_req_id); +=20 + /* Ignore return since this msg is optional. */ + rndis_filter_send_request(dev, request); +diff -urNp linux-3.0.8/drivers/staging/hv/vmbus_drv.c linux-3.0.8/driver= s/staging/hv/vmbus_drv.c +--- linux-3.0.8/drivers/staging/hv/vmbus_drv.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/staging/hv/vmbus_drv.c 2011-08-23 21:47:56.00000= 0000 -0400 +@@ -668,11 +668,11 @@ int vmbus_child_device_register(struct h + { + int ret =3D 0; =20 -@@ -541,7 +541,7 @@ static int vmbus_child_device_register(s +- static atomic_t device_num =3D ATOMIC_INIT(0); ++ static atomic_unchecked_t device_num =3D ATOMIC_INIT(0); =20 /* Set the device name. Otherwise, device_register() will fail. */ - dev_set_name(&child_device_ctx->device, "vmbus_0_%d", + dev_set_name(&child_device_obj->device, "vmbus_0_%d", - atomic_inc_return(&device_num)); + atomic_inc_return_unchecked(&device_num)); =20 /* The new device belongs to this bus */ - child_device_ctx->device.bus =3D &g_vmbus_drv.bus; /* device->dev.bus;= */ -diff -urNp linux-2.6.32.48/drivers/staging/hv/VmbusPrivate.h linux-2.6.3= 2.48/drivers/staging/hv/VmbusPrivate.h ---- linux-2.6.32.48/drivers/staging/hv/VmbusPrivate.h 2011-11-12 12:44:2= 9.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/hv/VmbusPrivate.h 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -59,7 +59,7 @@ enum VMBUS_CONNECT_STATE { - struct VMBUS_CONNECTION { - enum VMBUS_CONNECT_STATE ConnectState; -=20 -- atomic_t NextGpadlHandle; -+ atomic_unchecked_t NextGpadlHandle; -=20 - /* - * Represents channel interrupts. Each bit position represents a -diff -urNp linux-2.6.32.48/drivers/staging/iio/ring_generic.h linux-2.6.= 32.48/drivers/staging/iio/ring_generic.h ---- linux-2.6.32.48/drivers/staging/iio/ring_generic.h 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/iio/ring_generic.h 2011-11-12 12:46:= 45.000000000 -0500 -@@ -87,7 +87,7 @@ struct iio_ring_access_funcs { + child_device_obj->device.bus =3D &hv_bus; /* device->dev.bus; */ +diff -urNp linux-3.0.8/drivers/staging/iio/ring_generic.h linux-3.0.8/dr= ivers/staging/iio/ring_generic.h +--- linux-3.0.8/drivers/staging/iio/ring_generic.h 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/staging/iio/ring_generic.h 2011-08-23 21:47:56.0= 00000000 -0400 +@@ -62,7 +62,7 @@ struct iio_ring_access_funcs { =20 int (*is_enabled)(struct iio_ring_buffer *ring); int (*enable)(struct iio_ring_buffer *ring); -}; +} __no_const; =20 - /** - * struct iio_ring_buffer - general ring buffer structure -diff -urNp linux-2.6.32.48/drivers/staging/octeon/ethernet.c linux-2.6.3= 2.48/drivers/staging/octeon/ethernet.c ---- linux-2.6.32.48/drivers/staging/octeon/ethernet.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/octeon/ethernet.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -294,11 +294,11 @@ static struct net_device_stats *cvm_oct_ + struct iio_ring_setup_ops { + int (*preenable)(struct iio_dev *); +diff -urNp linux-3.0.8/drivers/staging/mei/interface.c linux-3.0.8/drive= rs/staging/mei/interface.c +--- linux-3.0.8/drivers/staging/mei/interface.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/staging/mei/interface.c 2011-11-01 05:23:50.0000= 00000 -0400 +@@ -333,7 +333,7 @@ int mei_send_flow_control(struct mei_dev + mei_hdr->reserved =3D 0; +=20 + mei_flow_control =3D (struct hbm_flow_control *) &dev->wr_msg_buf[1]; +- memset(mei_flow_control, 0, sizeof(mei_flow_control)); ++ memset(mei_flow_control, 0, sizeof(*mei_flow_control)); + mei_flow_control->host_addr =3D cl->host_client_id; + mei_flow_control->me_addr =3D cl->me_client_id; + mei_flow_control->cmd.cmd =3D MEI_FLOW_CONTROL_CMD; +@@ -397,7 +397,7 @@ int mei_disconnect(struct mei_device *de +=20 + mei_cli_disconnect =3D + (struct hbm_client_disconnect_request *) &dev->wr_msg_buf[1]; +- memset(mei_cli_disconnect, 0, sizeof(mei_cli_disconnect)); ++ memset(mei_cli_disconnect, 0, sizeof(*mei_cli_disconnect)); + mei_cli_disconnect->host_addr =3D cl->host_client_id; + mei_cli_disconnect->me_addr =3D cl->me_client_id; + mei_cli_disconnect->cmd.cmd =3D CLIENT_DISCONNECT_REQ_CMD; +diff -urNp linux-3.0.8/drivers/staging/octeon/ethernet.c linux-3.0.8/dri= vers/staging/octeon/ethernet.c +--- linux-3.0.8/drivers/staging/octeon/ethernet.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/staging/octeon/ethernet.c 2011-08-23 21:47:56.00= 0000000 -0400 +@@ -258,11 +258,11 @@ static struct net_device_stats *cvm_oct_ * since the RX tasklet also increments it. */ #ifdef CONFIG_64BIT @@ -38436,10 +35033,10 @@ diff -urNp linux-2.6.32.48/drivers/staging/octe= on/ethernet.c linux-2.6.32.48/dri #endif } =20 -diff -urNp linux-2.6.32.48/drivers/staging/octeon/ethernet-rx.c linux-2.= 6.32.48/drivers/staging/octeon/ethernet-rx.c ---- linux-2.6.32.48/drivers/staging/octeon/ethernet-rx.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/octeon/ethernet-rx.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -406,11 +406,11 @@ void cvm_oct_tasklet_rx(unsigned long un +diff -urNp linux-3.0.8/drivers/staging/octeon/ethernet-rx.c linux-3.0.8/= drivers/staging/octeon/ethernet-rx.c +--- linux-3.0.8/drivers/staging/octeon/ethernet-rx.c 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/drivers/staging/octeon/ethernet-rx.c 2011-08-23 21:47:56= .000000000 -0400 +@@ -417,11 +417,11 @@ static int cvm_oct_napi_poll(struct napi /* Increment RX stats for virtual ports */ if (work->ipprt >=3D CVMX_PIP_NUM_INPUT_PORTS) { #ifdef CONFIG_64BIT @@ -38455,278 +35052,1043 @@ diff -urNp linux-2.6.32.48/drivers/staging/o= cteon/ethernet-rx.c linux-2.6.32.48/ #endif } netif_receive_skb(skb); -@@ -424,9 +424,9 @@ void cvm_oct_tasklet_rx(unsigned long un - dev->name); - */ +@@ -433,9 +433,9 @@ static int cvm_oct_napi_poll(struct napi + dev->name); + */ #ifdef CONFIG_64BIT - atomic64_add(1, (atomic64_t *)&priv->stats.rx_dropped); -+ atomic64_add_unchecked(1, (atomic64_t *)&priv->stats.rx_dropped); ++ atomic64_unchecked_add(1, (atomic64_unchecked_t *)&priv->stats.rx_d= ropped); #else - atomic_add(1, (atomic_t *)&priv->stats.rx_dropped); -+ atomic_add_unchecked(1, (atomic_t *)&priv->stats.rx_dropped); ++ atomic_add_unchecked(1, (atomic_unchecked_t *)&priv->stats.rx_dropp= ed); #endif dev_kfree_skb_irq(skb); } -diff -urNp linux-2.6.32.48/drivers/staging/panel/panel.c linux-2.6.32.48= /drivers/staging/panel/panel.c ---- linux-2.6.32.48/drivers/staging/panel/panel.c 2011-11-12 12:44:29.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/staging/panel/panel.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -1305,7 +1305,7 @@ static int lcd_release(struct inode *ino +diff -urNp linux-3.0.8/drivers/staging/pohmelfs/inode.c linux-3.0.8/driv= ers/staging/pohmelfs/inode.c +--- linux-3.0.8/drivers/staging/pohmelfs/inode.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/staging/pohmelfs/inode.c 2011-08-23 21:47:56.000= 000000 -0400 +@@ -1856,7 +1856,7 @@ static int pohmelfs_fill_super(struct su + mutex_init(&psb->mcache_lock); + psb->mcache_root =3D RB_ROOT; + psb->mcache_timeout =3D msecs_to_jiffies(5000); +- atomic_long_set(&psb->mcache_gen, 0); ++ atomic_long_set_unchecked(&psb->mcache_gen, 0); +=20 + psb->trans_max_pages =3D 100; +=20 +@@ -1871,7 +1871,7 @@ static int pohmelfs_fill_super(struct su + INIT_LIST_HEAD(&psb->crypto_ready_list); + INIT_LIST_HEAD(&psb->crypto_active_list); +=20 +- atomic_set(&psb->trans_gen, 1); ++ atomic_set_unchecked(&psb->trans_gen, 1); + atomic_long_set(&psb->total_inodes, 0); +=20 + mutex_init(&psb->state_lock); +diff -urNp linux-3.0.8/drivers/staging/pohmelfs/mcache.c linux-3.0.8/dri= vers/staging/pohmelfs/mcache.c +--- linux-3.0.8/drivers/staging/pohmelfs/mcache.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/staging/pohmelfs/mcache.c 2011-08-23 21:47:56.00= 0000000 -0400 +@@ -121,7 +121,7 @@ struct pohmelfs_mcache *pohmelfs_mcache_ + m->data =3D data; + m->start =3D start; + m->size =3D size; +- m->gen =3D atomic_long_inc_return(&psb->mcache_gen); ++ m->gen =3D atomic_long_inc_return_unchecked(&psb->mcache_gen); +=20 + mutex_lock(&psb->mcache_lock); + err =3D pohmelfs_mcache_insert(psb, m); +diff -urNp linux-3.0.8/drivers/staging/pohmelfs/netfs.h linux-3.0.8/driv= ers/staging/pohmelfs/netfs.h +--- linux-3.0.8/drivers/staging/pohmelfs/netfs.h 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/staging/pohmelfs/netfs.h 2011-08-23 21:47:56.000= 000000 -0400 +@@ -571,14 +571,14 @@ struct pohmelfs_config; + struct pohmelfs_sb { + struct rb_root mcache_root; + struct mutex mcache_lock; +- atomic_long_t mcache_gen; ++ atomic_long_unchecked_t mcache_gen; + unsigned long mcache_timeout; +=20 + unsigned int idx; +=20 + unsigned int trans_retries; +=20 +- atomic_t trans_gen; ++ atomic_unchecked_t trans_gen; +=20 + unsigned int crypto_attached_size; + unsigned int crypto_align_size; +diff -urNp linux-3.0.8/drivers/staging/pohmelfs/trans.c linux-3.0.8/driv= ers/staging/pohmelfs/trans.c +--- linux-3.0.8/drivers/staging/pohmelfs/trans.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/staging/pohmelfs/trans.c 2011-08-23 21:47:56.000= 000000 -0400 +@@ -492,7 +492,7 @@ int netfs_trans_finish(struct netfs_tran + int err; + struct netfs_cmd *cmd =3D t->iovec.iov_base; +=20 +- t->gen =3D atomic_inc_return(&psb->trans_gen); ++ t->gen =3D atomic_inc_return_unchecked(&psb->trans_gen); +=20 + cmd->size =3D t->iovec.iov_len - sizeof(struct netfs_cmd) + + t->attached_size + t->attached_pages * sizeof(struct netfs_cmd); +diff -urNp linux-3.0.8/drivers/staging/rtl8712/rtl871x_io.h linux-3.0.8/= drivers/staging/rtl8712/rtl871x_io.h +--- linux-3.0.8/drivers/staging/rtl8712/rtl871x_io.h 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/drivers/staging/rtl8712/rtl871x_io.h 2011-08-23 21:47:56= .000000000 -0400 +@@ -83,7 +83,7 @@ struct _io_ops { + u8 *pmem); + u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, + u8 *pmem); +-}; ++} __no_const; +=20 + struct io_req { + struct list_head list; +diff -urNp linux-3.0.8/drivers/staging/sbe-2t3e3/netdev.c linux-3.0.8/dr= ivers/staging/sbe-2t3e3/netdev.c +--- linux-3.0.8/drivers/staging/sbe-2t3e3/netdev.c 2011-07-21 22:17:23.0= 00000000 -0400 ++++ linux-3.0.8/drivers/staging/sbe-2t3e3/netdev.c 2011-08-24 18:21:41.0= 00000000 -0400 +@@ -51,7 +51,7 @@ int t3e3_ioctl(struct net_device *dev, s + t3e3_if_config(sc, cmd_2t3e3, (char *)¶m, &resp, &rlen); +=20 + if (rlen) +- if (copy_to_user(data, &resp, rlen)) ++ if (rlen > sizeof resp || copy_to_user(data, &resp, rlen)) + return -EFAULT; +=20 return 0; - } +diff -urNp linux-3.0.8/drivers/staging/tty/stallion.c linux-3.0.8/driver= s/staging/tty/stallion.c +--- linux-3.0.8/drivers/staging/tty/stallion.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/staging/tty/stallion.c 2011-08-23 21:48:14.00000= 0000 -0400 +@@ -2406,6 +2406,8 @@ static int stl_getportstruct(struct stlp + struct stlport stl_dummyport; + struct stlport *portp; +=20 ++ pax_track_stack(); ++ + if (copy_from_user(&stl_dummyport, arg, sizeof(struct stlport))) + return -EFAULT; + portp =3D stl_getport(stl_dummyport.brdnr, stl_dummyport.panelnr, +diff -urNp linux-3.0.8/drivers/staging/usbip/usbip_common.h linux-3.0.8/= drivers/staging/usbip/usbip_common.h +--- linux-3.0.8/drivers/staging/usbip/usbip_common.h 2011-07-21 22:17:23= .000000000 -0400 ++++ linux-3.0.8/drivers/staging/usbip/usbip_common.h 2011-08-23 21:47:56= .000000000 -0400 +@@ -315,7 +315,7 @@ struct usbip_device { + void (*shutdown)(struct usbip_device *); + void (*reset)(struct usbip_device *); + void (*unusable)(struct usbip_device *); +- } eh_ops; ++ } __no_const eh_ops; + }; +=20 + void usbip_pack_pdu(struct usbip_header *pdu, struct urb *urb, int cmd, +diff -urNp linux-3.0.8/drivers/staging/usbip/vhci.h linux-3.0.8/drivers/= staging/usbip/vhci.h +--- linux-3.0.8/drivers/staging/usbip/vhci.h 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/staging/usbip/vhci.h 2011-08-23 21:47:56.0000000= 00 -0400 +@@ -94,7 +94,7 @@ struct vhci_hcd { + unsigned resuming:1; + unsigned long re_timeout; +=20 +- atomic_t seqnum; ++ atomic_unchecked_t seqnum; +=20 + /* + * NOTE: +diff -urNp linux-3.0.8/drivers/staging/usbip/vhci_hcd.c linux-3.0.8/driv= ers/staging/usbip/vhci_hcd.c +--- linux-3.0.8/drivers/staging/usbip/vhci_hcd.c 2011-10-24 08:05:21.000= 000000 -0400 ++++ linux-3.0.8/drivers/staging/usbip/vhci_hcd.c 2011-08-23 21:47:56.000= 000000 -0400 +@@ -511,7 +511,7 @@ static void vhci_tx_urb(struct urb *urb) + return; + } +=20 +- priv->seqnum =3D atomic_inc_return(&the_controller->seqnum); ++ priv->seqnum =3D atomic_inc_return_unchecked(&the_controller->seqnum); + if (priv->seqnum =3D=3D 0xffff) + dev_info(&urb->dev->dev, "seqnum max\n"); +=20 +@@ -765,7 +765,7 @@ static int vhci_urb_dequeue(struct usb_h + return -ENOMEM; + } +=20 +- unlink->seqnum =3D atomic_inc_return(&the_controller->seqnum); ++ unlink->seqnum =3D atomic_inc_return_unchecked(&the_controller->seqnu= m); + if (unlink->seqnum =3D=3D 0xffff) + pr_info("seqnum max\n"); +=20 +@@ -955,7 +955,7 @@ static int vhci_start(struct usb_hcd *hc + vdev->rhport =3D rhport; + } +=20 +- atomic_set(&vhci->seqnum, 0); ++ atomic_set_unchecked(&vhci->seqnum, 0); + spin_lock_init(&vhci->lock); +=20 + hcd->power_budget =3D 0; /* no limit */ +diff -urNp linux-3.0.8/drivers/staging/usbip/vhci_rx.c linux-3.0.8/drive= rs/staging/usbip/vhci_rx.c +--- linux-3.0.8/drivers/staging/usbip/vhci_rx.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/staging/usbip/vhci_rx.c 2011-08-23 21:47:56.0000= 00000 -0400 +@@ -76,7 +76,7 @@ static void vhci_recv_ret_submit(struct=20 + if (!urb) { + pr_err("cannot find a urb of seqnum %u\n", pdu->base.seqnum); + pr_info("max seqnum %d\n", +- atomic_read(&the_controller->seqnum)); ++ atomic_read_unchecked(&the_controller->seqnum)); + usbip_event_add(ud, VDEV_EVENT_ERROR_TCP); + return; + } +diff -urNp linux-3.0.8/drivers/staging/vt6655/hostap.c linux-3.0.8/drive= rs/staging/vt6655/hostap.c +--- linux-3.0.8/drivers/staging/vt6655/hostap.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/staging/vt6655/hostap.c 2011-08-23 21:47:56.0000= 00000 -0400 +@@ -79,14 +79,13 @@ static int msglevel =20 + * + */ +=20 ++static net_device_ops_no_const apdev_netdev_ops; ++ + static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked) + { + PSDevice apdev_priv; + struct net_device *dev =3D pDevice->dev; + int ret; +- const struct net_device_ops apdev_netdev_ops =3D { +- .ndo_start_xmit =3D pDevice->tx_80211, +- }; +=20 + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", d= ev->name); +=20 +@@ -98,6 +97,8 @@ static int hostap_enable_hostapd(PSDevic + *apdev_priv =3D *pDevice; + memcpy(pDevice->apdev->dev_addr, dev->dev_addr, ETH_ALEN); +=20 ++ /* only half broken now */ ++ apdev_netdev_ops.ndo_start_xmit =3D pDevice->tx_80211; + pDevice->apdev->netdev_ops =3D &apdev_netdev_ops; +=20 + pDevice->apdev->type =3D ARPHRD_IEEE80211; +diff -urNp linux-3.0.8/drivers/staging/vt6656/hostap.c linux-3.0.8/drive= rs/staging/vt6656/hostap.c +--- linux-3.0.8/drivers/staging/vt6656/hostap.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/staging/vt6656/hostap.c 2011-08-23 21:47:56.0000= 00000 -0400 +@@ -80,14 +80,13 @@ static int msglevel =20 + * + */ +=20 ++static net_device_ops_no_const apdev_netdev_ops; ++ + static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked) + { + PSDevice apdev_priv; + struct net_device *dev =3D pDevice->dev; + int ret; +- const struct net_device_ops apdev_netdev_ops =3D { +- .ndo_start_xmit =3D pDevice->tx_80211, +- }; +=20 + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", d= ev->name); +=20 +@@ -99,6 +98,8 @@ static int hostap_enable_hostapd(PSDevic + *apdev_priv =3D *pDevice; + memcpy(pDevice->apdev->dev_addr, dev->dev_addr, ETH_ALEN); +=20 ++ /* only half broken now */ ++ apdev_netdev_ops.ndo_start_xmit =3D pDevice->tx_80211; + pDevice->apdev->netdev_ops =3D &apdev_netdev_ops; +=20 + pDevice->apdev->type =3D ARPHRD_IEEE80211; +diff -urNp linux-3.0.8/drivers/staging/wlan-ng/hfa384x_usb.c linux-3.0.8= /drivers/staging/wlan-ng/hfa384x_usb.c +--- linux-3.0.8/drivers/staging/wlan-ng/hfa384x_usb.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/staging/wlan-ng/hfa384x_usb.c 2011-08-23 21:47:5= 6.000000000 -0400 +@@ -204,7 +204,7 @@ static void unlocked_usbctlx_complete(hf +=20 + struct usbctlx_completor { + int (*complete) (struct usbctlx_completor *); +-}; ++} __no_const; +=20 + static int + hfa384x_usbctlx_complete_sync(hfa384x_t *hw, +diff -urNp linux-3.0.8/drivers/staging/zcache/tmem.c linux-3.0.8/drivers= /staging/zcache/tmem.c +--- linux-3.0.8/drivers/staging/zcache/tmem.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/staging/zcache/tmem.c 2011-08-23 21:47:56.000000= 000 -0400 +@@ -39,7 +39,7 @@ + * A tmem host implementation must use this function to register callba= cks + * for memory allocation. + */ +-static struct tmem_hostops tmem_hostops; ++static tmem_hostops_no_const tmem_hostops; +=20 + static void tmem_objnode_tree_init(void); +=20 +@@ -53,7 +53,7 @@ void tmem_register_hostops(struct tmem_h + * A tmem host implementation must use this function to register + * callbacks for a page-accessible memory (PAM) implementation + */ +-static struct tmem_pamops tmem_pamops; ++static tmem_pamops_no_const tmem_pamops; +=20 + void tmem_register_pamops(struct tmem_pamops *m) + { +diff -urNp linux-3.0.8/drivers/staging/zcache/tmem.h linux-3.0.8/drivers= /staging/zcache/tmem.h +--- linux-3.0.8/drivers/staging/zcache/tmem.h 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/staging/zcache/tmem.h 2011-08-23 21:47:56.000000= 000 -0400 +@@ -171,6 +171,7 @@ struct tmem_pamops { + int (*get_data)(struct page *, void *, struct tmem_pool *); + void (*free)(void *, struct tmem_pool *); + }; ++typedef struct tmem_pamops __no_const tmem_pamops_no_const; + extern void tmem_register_pamops(struct tmem_pamops *m); +=20 + /* memory allocation methods provided by the host implementation */ +@@ -180,6 +181,7 @@ struct tmem_hostops { + struct tmem_objnode *(*objnode_alloc)(struct tmem_pool *); + void (*objnode_free)(struct tmem_objnode *, struct tmem_pool *); + }; ++typedef struct tmem_hostops __no_const tmem_hostops_no_const; + extern void tmem_register_hostops(struct tmem_hostops *m); +=20 + /* core tmem accessor functions */ +diff -urNp linux-3.0.8/drivers/target/target_core_alua.c linux-3.0.8/dri= vers/target/target_core_alua.c +--- linux-3.0.8/drivers/target/target_core_alua.c 2011-07-21 22:17:23.00= 0000000 -0400 ++++ linux-3.0.8/drivers/target/target_core_alua.c 2011-08-23 21:48:14.00= 0000000 -0400 +@@ -675,6 +675,8 @@ static int core_alua_update_tpg_primary_ + char path[ALUA_METADATA_PATH_LEN]; + int len; +=20 ++ pax_track_stack(); ++ + memset(path, 0, ALUA_METADATA_PATH_LEN); +=20 + len =3D snprintf(md_buf, tg_pt_gp->tg_pt_gp_md_buf_len, +@@ -938,6 +940,8 @@ static int core_alua_update_tpg_secondar + char path[ALUA_METADATA_PATH_LEN], wwn[ALUA_SECONDARY_METADATA_WWN_LEN= ]; + int len; +=20 ++ pax_track_stack(); ++ + memset(path, 0, ALUA_METADATA_PATH_LEN); + memset(wwn, 0, ALUA_SECONDARY_METADATA_WWN_LEN); +=20 +diff -urNp linux-3.0.8/drivers/target/target_core_cdb.c linux-3.0.8/driv= ers/target/target_core_cdb.c +--- linux-3.0.8/drivers/target/target_core_cdb.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/target/target_core_cdb.c 2011-08-23 21:48:14.000= 000000 -0400 +@@ -838,6 +838,8 @@ target_emulate_modesense(struct se_cmd * + int length =3D 0; + unsigned char buf[SE_MODE_PAGE_BUF]; +=20 ++ pax_track_stack(); ++ + memset(buf, 0, SE_MODE_PAGE_BUF); +=20 + switch (cdb[2] & 0x3f) { +diff -urNp linux-3.0.8/drivers/target/target_core_configfs.c linux-3.0.8= /drivers/target/target_core_configfs.c +--- linux-3.0.8/drivers/target/target_core_configfs.c 2011-07-21 22:17:2= 3.000000000 -0400 ++++ linux-3.0.8/drivers/target/target_core_configfs.c 2011-08-23 21:48:1= 4.000000000 -0400 +@@ -1276,6 +1276,8 @@ static ssize_t target_core_dev_pr_show_a + ssize_t len =3D 0; + int reg_count =3D 0, prf_isid; +=20 ++ pax_track_stack(); ++ + if (!(su_dev->se_dev_ptr)) + return -ENODEV; +=20 +diff -urNp linux-3.0.8/drivers/target/target_core_pr.c linux-3.0.8/drive= rs/target/target_core_pr.c +--- linux-3.0.8/drivers/target/target_core_pr.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/target/target_core_pr.c 2011-08-23 21:48:14.0000= 00000 -0400 +@@ -918,6 +918,8 @@ static int __core_scsi3_check_aptpl_regi + unsigned char t_port[PR_APTPL_MAX_TPORT_LEN]; + u16 tpgt; +=20 ++ pax_track_stack(); ++ + memset(i_port, 0, PR_APTPL_MAX_IPORT_LEN); + memset(t_port, 0, PR_APTPL_MAX_TPORT_LEN); + /* +@@ -1861,6 +1863,8 @@ static int __core_scsi3_update_aptpl_buf + ssize_t len =3D 0; + int reg_count =3D 0; +=20 ++ pax_track_stack(); ++ + memset(buf, 0, pr_aptpl_buf_len); + /* + * Called to clear metadata once APTPL has been deactivated. +@@ -1983,6 +1987,8 @@ static int __core_scsi3_write_aptpl_to_f + char path[512]; + int ret; +=20 ++ pax_track_stack(); ++ + memset(iov, 0, sizeof(struct iovec)); + memset(path, 0, 512); +=20 +diff -urNp linux-3.0.8/drivers/target/target_core_tmr.c linux-3.0.8/driv= ers/target/target_core_tmr.c +--- linux-3.0.8/drivers/target/target_core_tmr.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/target/target_core_tmr.c 2011-08-23 21:47:56.000= 000000 -0400 +@@ -269,7 +269,7 @@ int core_tmr_lun_reset( + CMD_TFO(cmd)->get_task_tag(cmd), cmd->pr_res_key, + T_TASK(cmd)->t_task_cdbs, + atomic_read(&T_TASK(cmd)->t_task_cdbs_left), +- atomic_read(&T_TASK(cmd)->t_task_cdbs_sent), ++ atomic_read_unchecked(&T_TASK(cmd)->t_task_cdbs_sent), + atomic_read(&T_TASK(cmd)->t_transport_active), + atomic_read(&T_TASK(cmd)->t_transport_stop), + atomic_read(&T_TASK(cmd)->t_transport_sent)); +@@ -311,7 +311,7 @@ int core_tmr_lun_reset( + DEBUG_LR("LUN_RESET: got t_transport_active =3D 1 for" + " task: %p, t_fe_count: %d dev: %p\n", task, + fe_count, dev); +- atomic_set(&T_TASK(cmd)->t_transport_aborted, 1); ++ atomic_set_unchecked(&T_TASK(cmd)->t_transport_aborted, 1); + spin_unlock_irqrestore(&T_TASK(cmd)->t_state_lock, + flags); + core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count); +@@ -321,7 +321,7 @@ int core_tmr_lun_reset( + } + DEBUG_LR("LUN_RESET: Got t_transport_active =3D 0 for task: %p," + " t_fe_count: %d dev: %p\n", task, fe_count, dev); +- atomic_set(&T_TASK(cmd)->t_transport_aborted, 1); ++ atomic_set_unchecked(&T_TASK(cmd)->t_transport_aborted, 1); + spin_unlock_irqrestore(&T_TASK(cmd)->t_state_lock, flags); + core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count); +=20 +diff -urNp linux-3.0.8/drivers/target/target_core_transport.c linux-3.0.= 8/drivers/target/target_core_transport.c +--- linux-3.0.8/drivers/target/target_core_transport.c 2011-07-21 22:17:= 23.000000000 -0400 ++++ linux-3.0.8/drivers/target/target_core_transport.c 2011-08-23 21:47:= 56.000000000 -0400 +@@ -1681,7 +1681,7 @@ struct se_device *transport_add_device_t +=20 + dev->queue_depth =3D dev_limits->queue_depth; + atomic_set(&dev->depth_left, dev->queue_depth); +- atomic_set(&dev->dev_ordered_id, 0); ++ atomic_set_unchecked(&dev->dev_ordered_id, 0); +=20 + se_dev_set_default_attribs(dev, dev_limits); +=20 +@@ -1882,7 +1882,7 @@ static int transport_check_alloc_task_at + * Used to determine when ORDERED commands should go from + * Dormant to Active status. + */ +- cmd->se_ordered_id =3D atomic_inc_return(&SE_DEV(cmd)->dev_ordered_id)= ; ++ cmd->se_ordered_id =3D atomic_inc_return_unchecked(&SE_DEV(cmd)->dev_o= rdered_id); + smp_mb__after_atomic_inc(); + DEBUG_STA("Allocated se_ordered_id: %u for Task Attr: 0x%02x on %s\n", + cmd->se_ordered_id, cmd->sam_task_attr, +@@ -2169,7 +2169,7 @@ static void transport_generic_request_fa + " t_transport_active: %d t_transport_stop: %d" + " t_transport_sent: %d\n", T_TASK(cmd)->t_task_cdbs, + atomic_read(&T_TASK(cmd)->t_task_cdbs_left), +- atomic_read(&T_TASK(cmd)->t_task_cdbs_sent), ++ atomic_read_unchecked(&T_TASK(cmd)->t_task_cdbs_sent), + atomic_read(&T_TASK(cmd)->t_task_cdbs_ex_left), + atomic_read(&T_TASK(cmd)->t_transport_active), + atomic_read(&T_TASK(cmd)->t_transport_stop), +@@ -2673,9 +2673,9 @@ check_depth: + spin_lock_irqsave(&T_TASK(cmd)->t_state_lock, flags); + atomic_set(&task->task_active, 1); + atomic_set(&task->task_sent, 1); +- atomic_inc(&T_TASK(cmd)->t_task_cdbs_sent); ++ atomic_inc_unchecked(&T_TASK(cmd)->t_task_cdbs_sent); +=20 +- if (atomic_read(&T_TASK(cmd)->t_task_cdbs_sent) =3D=3D ++ if (atomic_read_unchecked(&T_TASK(cmd)->t_task_cdbs_sent) =3D=3D + T_TASK(cmd)->t_task_cdbs) + atomic_set(&cmd->transport_sent, 1); +=20 +@@ -5568,7 +5568,7 @@ static void transport_generic_wait_for_t + atomic_set(&T_TASK(cmd)->transport_lun_stop, 0); + } + if (!atomic_read(&T_TASK(cmd)->t_transport_active) || +- atomic_read(&T_TASK(cmd)->t_transport_aborted)) ++ atomic_read_unchecked(&T_TASK(cmd)->t_transport_aborted)) + goto remove; +=20 + atomic_set(&T_TASK(cmd)->t_transport_stop, 1); +@@ -5797,7 +5797,7 @@ int transport_check_aborted_status(struc + { + int ret =3D 0; +=20 +- if (atomic_read(&T_TASK(cmd)->t_transport_aborted) !=3D 0) { ++ if (atomic_read_unchecked(&T_TASK(cmd)->t_transport_aborted) !=3D 0) { + if (!(send_status) || + (cmd->se_cmd_flags & SCF_SENT_DELAYED_TAS)) + return 1; +@@ -5825,7 +5825,7 @@ void transport_send_task_abort(struct se + */ + if (cmd->data_direction =3D=3D DMA_TO_DEVICE) { + if (CMD_TFO(cmd)->write_pending_status(cmd) !=3D 0) { +- atomic_inc(&T_TASK(cmd)->t_transport_aborted); ++ atomic_inc_unchecked(&T_TASK(cmd)->t_transport_aborted); + smp_mb__after_atomic_inc(); + cmd->scsi_status =3D SAM_STAT_TASK_ABORTED; + transport_new_cmd_failure(cmd); +@@ -5949,7 +5949,7 @@ static void transport_processing_shutdow + CMD_TFO(cmd)->get_task_tag(cmd), + T_TASK(cmd)->t_task_cdbs, + atomic_read(&T_TASK(cmd)->t_task_cdbs_left), +- atomic_read(&T_TASK(cmd)->t_task_cdbs_sent), ++ atomic_read_unchecked(&T_TASK(cmd)->t_task_cdbs_sent), + atomic_read(&T_TASK(cmd)->t_transport_active), + atomic_read(&T_TASK(cmd)->t_transport_stop), + atomic_read(&T_TASK(cmd)->t_transport_sent)); +diff -urNp linux-3.0.8/drivers/telephony/ixj.c linux-3.0.8/drivers/telep= hony/ixj.c +--- linux-3.0.8/drivers/telephony/ixj.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/telephony/ixj.c 2011-08-23 21:48:14.000000000 -0= 400 +@@ -4976,6 +4976,8 @@ static int ixj_daa_cid_read(IXJ *j) + bool mContinue; + char *pIn, *pOut; +=20 ++ pax_track_stack(); ++ + if (!SCI_Prepare(j)) + return 0; +=20 +diff -urNp linux-3.0.8/drivers/tty/hvc/hvcs.c linux-3.0.8/drivers/tty/hv= c/hvcs.c +--- linux-3.0.8/drivers/tty/hvc/hvcs.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/tty/hvc/hvcs.c 2011-08-23 21:47:56.000000000 -04= 00 +@@ -83,6 +83,7 @@ + #include + #include + #include ++#include +=20 + /* + * 1.3.0 -> 1.3.1 In hvcs_open memset(..,0x00,..) instead of memset(..,= 0x3F,00). +@@ -270,7 +271,7 @@ struct hvcs_struct { + unsigned int index; +=20 + struct tty_struct *tty; +- int open_count; ++ local_t open_count; +=20 + /* + * Used to tell the driver kernel_thread what operations need to take +@@ -422,7 +423,7 @@ static ssize_t hvcs_vterm_state_store(st +=20 + spin_lock_irqsave(&hvcsd->lock, flags); +=20 +- if (hvcsd->open_count > 0) { ++ if (local_read(&hvcsd->open_count) > 0) { + spin_unlock_irqrestore(&hvcsd->lock, flags); + printk(KERN_INFO "HVCS: vterm state unchanged. " + "The hvcs device node is still in use.\n"); +@@ -1145,7 +1146,7 @@ static int hvcs_open(struct tty_struct * + if ((retval =3D hvcs_partner_connect(hvcsd))) + goto error_release; +=20 +- hvcsd->open_count =3D 1; ++ local_set(&hvcsd->open_count, 1); + hvcsd->tty =3D tty; + tty->driver_data =3D hvcsd; +=20 +@@ -1179,7 +1180,7 @@ fast_open: +=20 + spin_lock_irqsave(&hvcsd->lock, flags); + kref_get(&hvcsd->kref); +- hvcsd->open_count++; ++ local_inc(&hvcsd->open_count); + hvcsd->todo_mask |=3D HVCS_SCHED_READ; + spin_unlock_irqrestore(&hvcsd->lock, flags); +=20 +@@ -1223,7 +1224,7 @@ static void hvcs_close(struct tty_struct + hvcsd =3D tty->driver_data; +=20 + spin_lock_irqsave(&hvcsd->lock, flags); +- if (--hvcsd->open_count =3D=3D 0) { ++ if (local_dec_and_test(&hvcsd->open_count)) { +=20 + vio_disable_interrupts(hvcsd->vdev); +=20 +@@ -1249,10 +1250,10 @@ static void hvcs_close(struct tty_struct + free_irq(irq, hvcsd); + kref_put(&hvcsd->kref, destroy_hvcs_struct); + return; +- } else if (hvcsd->open_count < 0) { ++ } else if (local_read(&hvcsd->open_count) < 0) { + printk(KERN_ERR "HVCS: vty-server@%X open_count: %d" + " is missmanaged.\n", +- hvcsd->vdev->unit_address, hvcsd->open_count); ++ hvcsd->vdev->unit_address, local_read(&hvcsd->open_count)); + } +=20 + spin_unlock_irqrestore(&hvcsd->lock, flags); +@@ -1268,7 +1269,7 @@ static void hvcs_hangup(struct tty_struc +=20 + spin_lock_irqsave(&hvcsd->lock, flags); + /* Preserve this so that we know how many kref refs to put */ +- temp_open_count =3D hvcsd->open_count; ++ temp_open_count =3D local_read(&hvcsd->open_count); +=20 + /* + * Don't kref put inside the spinlock because the destruction +@@ -1283,7 +1284,7 @@ static void hvcs_hangup(struct tty_struc + hvcsd->tty->driver_data =3D NULL; + hvcsd->tty =3D NULL; +=20 +- hvcsd->open_count =3D 0; ++ local_set(&hvcsd->open_count, 0); +=20 + /* This will drop any buffered data on the floor which is OK in a hang= up + * scenario. */ +@@ -1354,7 +1355,7 @@ static int hvcs_write(struct tty_struct=20 + * the middle of a write operation? This is a crummy place to do this + * but we want to keep it all in the spinlock. + */ +- if (hvcsd->open_count <=3D 0) { ++ if (local_read(&hvcsd->open_count) <=3D 0) { + spin_unlock_irqrestore(&hvcsd->lock, flags); + return -ENODEV; + } +@@ -1428,7 +1429,7 @@ static int hvcs_write_room(struct tty_st + { + struct hvcs_struct *hvcsd =3D tty->driver_data; +=20 +- if (!hvcsd || hvcsd->open_count <=3D 0) ++ if (!hvcsd || local_read(&hvcsd->open_count) <=3D 0) + return 0; +=20 + return HVCS_BUFF_LEN - hvcsd->chars_in_buffer; +diff -urNp linux-3.0.8/drivers/tty/ipwireless/tty.c linux-3.0.8/drivers/= tty/ipwireless/tty.c +--- linux-3.0.8/drivers/tty/ipwireless/tty.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/tty/ipwireless/tty.c 2011-08-23 21:47:56.0000000= 00 -0400 +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include +=20 + #include "tty.h" + #include "network.h" +@@ -51,7 +52,7 @@ struct ipw_tty { + int tty_type; + struct ipw_network *network; + struct tty_struct *linux_tty; +- int open_count; ++ local_t open_count; + unsigned int control_lines; + struct mutex ipw_tty_mutex; + int tx_bytes_queued; +@@ -127,10 +128,10 @@ static int ipw_open(struct tty_struct *l + mutex_unlock(&tty->ipw_tty_mutex); + return -ENODEV; + } +- if (tty->open_count =3D=3D 0) ++ if (local_read(&tty->open_count) =3D=3D 0) + tty->tx_bytes_queued =3D 0; +=20 +- tty->open_count++; ++ local_inc(&tty->open_count); +=20 + tty->linux_tty =3D linux_tty; + linux_tty->driver_data =3D tty; +@@ -146,9 +147,7 @@ static int ipw_open(struct tty_struct *l +=20 + static void do_ipw_close(struct ipw_tty *tty) + { +- tty->open_count--; +- +- if (tty->open_count =3D=3D 0) { ++ if (local_dec_return(&tty->open_count) =3D=3D 0) { + struct tty_struct *linux_tty =3D tty->linux_tty; +=20 + if (linux_tty !=3D NULL) { +@@ -169,7 +168,7 @@ static void ipw_hangup(struct tty_struct + return; +=20 + mutex_lock(&tty->ipw_tty_mutex); +- if (tty->open_count =3D=3D 0) { ++ if (local_read(&tty->open_count) =3D=3D 0) { + mutex_unlock(&tty->ipw_tty_mutex); + return; + } +@@ -198,7 +197,7 @@ void ipwireless_tty_received(struct ipw_ + return; + } +=20 +- if (!tty->open_count) { ++ if (!local_read(&tty->open_count)) { + mutex_unlock(&tty->ipw_tty_mutex); + return; + } +@@ -240,7 +239,7 @@ static int ipw_write(struct tty_struct * + return -ENODEV; +=20 + mutex_lock(&tty->ipw_tty_mutex); +- if (!tty->open_count) { ++ if (!local_read(&tty->open_count)) { + mutex_unlock(&tty->ipw_tty_mutex); + return -EINVAL; + } +@@ -280,7 +279,7 @@ static int ipw_write_room(struct tty_str + if (!tty) + return -ENODEV; =20 --static struct file_operations lcd_fops =3D { -+static const struct file_operations lcd_fops =3D { - .write =3D lcd_write, - .open =3D lcd_open, - .release =3D lcd_release, -@@ -1565,7 +1565,7 @@ static int keypad_release(struct inode * - return 0; - } +- if (!tty->open_count) ++ if (!local_read(&tty->open_count)) + return -EINVAL; =20 --static struct file_operations keypad_fops =3D { -+static const struct file_operations keypad_fops =3D { - .read =3D keypad_read, /* read */ - .open =3D keypad_open, /* open */ - .release =3D keypad_release, /* close */ -diff -urNp linux-2.6.32.48/drivers/staging/phison/phison.c linux-2.6.32.= 48/drivers/staging/phison/phison.c ---- linux-2.6.32.48/drivers/staging/phison/phison.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/phison/phison.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -43,7 +43,7 @@ static struct scsi_host_template phison_ - ATA_BMDMA_SHT(DRV_NAME), - }; + room =3D IPWIRELESS_TX_QUEUE_SIZE - tty->tx_bytes_queued; +@@ -322,7 +321,7 @@ static int ipw_chars_in_buffer(struct tt + if (!tty) + return 0; =20 --static struct ata_port_operations phison_ops =3D { -+static const struct ata_port_operations phison_ops =3D { - .inherits =3D &ata_bmdma_port_ops, - .prereset =3D phison_pre_reset, - }; -diff -urNp linux-2.6.32.48/drivers/staging/poch/poch.c linux-2.6.32.48/d= rivers/staging/poch/poch.c ---- linux-2.6.32.48/drivers/staging/poch/poch.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/staging/poch/poch.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -1057,7 +1057,7 @@ static int poch_ioctl(struct inode *inod - return 0; - } +- if (!tty->open_count) ++ if (!local_read(&tty->open_count)) + return 0; =20 --static struct file_operations poch_fops =3D { -+static const struct file_operations poch_fops =3D { - .owner =3D THIS_MODULE, - .open =3D poch_open, - .release =3D poch_release, -diff -urNp linux-2.6.32.48/drivers/staging/pohmelfs/inode.c linux-2.6.32= .48/drivers/staging/pohmelfs/inode.c ---- linux-2.6.32.48/drivers/staging/pohmelfs/inode.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/pohmelfs/inode.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -1850,7 +1850,7 @@ static int pohmelfs_fill_super(struct su - mutex_init(&psb->mcache_lock); - psb->mcache_root =3D RB_ROOT; - psb->mcache_timeout =3D msecs_to_jiffies(5000); -- atomic_long_set(&psb->mcache_gen, 0); -+ atomic_long_set_unchecked(&psb->mcache_gen, 0); + return tty->tx_bytes_queued; +@@ -403,7 +402,7 @@ static int ipw_tiocmget(struct tty_struc + if (!tty) + return -ENODEV; =20 - psb->trans_max_pages =3D 100; +- if (!tty->open_count) ++ if (!local_read(&tty->open_count)) + return -EINVAL; =20 -@@ -1865,7 +1865,7 @@ static int pohmelfs_fill_super(struct su - INIT_LIST_HEAD(&psb->crypto_ready_list); - INIT_LIST_HEAD(&psb->crypto_active_list); + return get_control_lines(tty); +@@ -419,7 +418,7 @@ ipw_tiocmset(struct tty_struct *linux_tt + if (!tty) + return -ENODEV; =20 -- atomic_set(&psb->trans_gen, 1); -+ atomic_set_unchecked(&psb->trans_gen, 1); - atomic_long_set(&psb->total_inodes, 0); +- if (!tty->open_count) ++ if (!local_read(&tty->open_count)) + return -EINVAL; =20 - mutex_init(&psb->state_lock); -diff -urNp linux-2.6.32.48/drivers/staging/pohmelfs/mcache.c linux-2.6.3= 2.48/drivers/staging/pohmelfs/mcache.c ---- linux-2.6.32.48/drivers/staging/pohmelfs/mcache.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/pohmelfs/mcache.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -121,7 +121,7 @@ struct pohmelfs_mcache *pohmelfs_mcache_ - m->data =3D data; - m->start =3D start; - m->size =3D size; -- m->gen =3D atomic_long_inc_return(&psb->mcache_gen); -+ m->gen =3D atomic_long_inc_return_unchecked(&psb->mcache_gen); + return set_control_lines(tty, set, clear); +@@ -433,7 +432,7 @@ static int ipw_ioctl(struct tty_struct * + if (!tty) + return -ENODEV; =20 - mutex_lock(&psb->mcache_lock); - err =3D pohmelfs_mcache_insert(psb, m); -diff -urNp linux-2.6.32.48/drivers/staging/pohmelfs/netfs.h linux-2.6.32= .48/drivers/staging/pohmelfs/netfs.h ---- linux-2.6.32.48/drivers/staging/pohmelfs/netfs.h 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/pohmelfs/netfs.h 2011-11-12 12:46:45= .000000000 -0500 -@@ -570,14 +570,14 @@ struct pohmelfs_config; - struct pohmelfs_sb { - struct rb_root mcache_root; - struct mutex mcache_lock; -- atomic_long_t mcache_gen; -+ atomic_long_unchecked_t mcache_gen; - unsigned long mcache_timeout; +- if (!tty->open_count) ++ if (!local_read(&tty->open_count)) + return -EINVAL; =20 - unsigned int idx; + /* FIXME: Exactly how is the tty object locked here .. */ +@@ -582,7 +581,7 @@ void ipwireless_tty_free(struct ipw_tty=20 + against a parallel ioctl etc */ + mutex_lock(&ttyj->ipw_tty_mutex); + } +- while (ttyj->open_count) ++ while (local_read(&ttyj->open_count)) + do_ipw_close(ttyj); + ipwireless_disassociate_network_ttys(network, + ttyj->channel_idx); +diff -urNp linux-3.0.8/drivers/tty/n_gsm.c linux-3.0.8/drivers/tty/n_gsm= .c +--- linux-3.0.8/drivers/tty/n_gsm.c 2011-10-24 08:05:21.000000000 -0400 ++++ linux-3.0.8/drivers/tty/n_gsm.c 2011-08-23 21:47:56.000000000 -0400 +@@ -1589,7 +1589,7 @@ static struct gsm_dlci *gsm_dlci_alloc(s + return NULL; + spin_lock_init(&dlci->lock); + dlci->fifo =3D &dlci->_fifo; +- if (kfifo_alloc(&dlci->_fifo, 4096, GFP_KERNEL) < 0) { ++ if (kfifo_alloc(&dlci->_fifo, 4096, GFP_KERNEL)) { + kfree(dlci); + return NULL; + } +diff -urNp linux-3.0.8/drivers/tty/n_tty.c linux-3.0.8/drivers/tty/n_tty= .c +--- linux-3.0.8/drivers/tty/n_tty.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/tty/n_tty.c 2011-08-23 21:47:56.000000000 -0400 +@@ -2123,6 +2123,7 @@ void n_tty_inherit_ops(struct tty_ldisc_ + { + *ops =3D tty_ldisc_N_TTY; + ops->owner =3D NULL; +- ops->refcount =3D ops->flags =3D 0; ++ atomic_set(&ops->refcount, 0); ++ ops->flags =3D 0; + } + EXPORT_SYMBOL_GPL(n_tty_inherit_ops); +diff -urNp linux-3.0.8/drivers/tty/pty.c linux-3.0.8/drivers/tty/pty.c +--- linux-3.0.8/drivers/tty/pty.c 2011-10-24 08:05:30.000000000 -0400 ++++ linux-3.0.8/drivers/tty/pty.c 2011-10-16 21:55:28.000000000 -0400 +@@ -767,8 +767,10 @@ static void __init unix98_pty_init(void) + register_sysctl_table(pty_root_table); =20 - unsigned int trans_retries; + /* Now create the /dev/ptmx special device */ ++ pax_open_kernel(); + tty_default_fops(&ptmx_fops); +- ptmx_fops.open =3D ptmx_open; ++ *(void **)&ptmx_fops.open =3D ptmx_open; ++ pax_close_kernel(); =20 -- atomic_t trans_gen; -+ atomic_unchecked_t trans_gen; + cdev_init(&ptmx_cdev, &ptmx_fops); + if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) || +diff -urNp linux-3.0.8/drivers/tty/rocket.c linux-3.0.8/drivers/tty/rock= et.c +--- linux-3.0.8/drivers/tty/rocket.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/tty/rocket.c 2011-08-23 21:48:14.000000000 -0400 +@@ -1277,6 +1277,8 @@ static int get_ports(struct r_port *info + struct rocket_ports tmp; + int board; =20 - unsigned int crypto_attached_size; - unsigned int crypto_align_size; -diff -urNp linux-2.6.32.48/drivers/staging/pohmelfs/trans.c linux-2.6.32= .48/drivers/staging/pohmelfs/trans.c ---- linux-2.6.32.48/drivers/staging/pohmelfs/trans.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/pohmelfs/trans.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -492,7 +492,7 @@ int netfs_trans_finish(struct netfs_tran ++ pax_track_stack(); ++ + if (!retports) + return -EFAULT; + memset(&tmp, 0, sizeof (tmp)); +diff -urNp linux-3.0.8/drivers/tty/serial/kgdboc.c linux-3.0.8/drivers/t= ty/serial/kgdboc.c +--- linux-3.0.8/drivers/tty/serial/kgdboc.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/tty/serial/kgdboc.c 2011-08-23 21:47:56.00000000= 0 -0400 +@@ -23,8 +23,9 @@ + #define MAX_CONFIG_LEN 40 +=20 + static struct kgdb_io kgdboc_io_ops; ++static struct kgdb_io kgdboc_io_ops_console; +=20 +-/* -1 =3D init not run yet, 0 =3D unconfigured, 1 =3D configured. */ ++/* -1 =3D init not run yet, 0 =3D unconfigured, 1/2 =3D configured. */ + static int configured =3D -1; +=20 + static char config[MAX_CONFIG_LEN]; +@@ -147,6 +148,8 @@ static void cleanup_kgdboc(void) + kgdboc_unregister_kbd(); + if (configured =3D=3D 1) + kgdb_unregister_io_module(&kgdboc_io_ops); ++ else if (configured =3D=3D 2) ++ kgdb_unregister_io_module(&kgdboc_io_ops_console); + } +=20 + static int configure_kgdboc(void) +@@ -156,13 +159,13 @@ static int configure_kgdboc(void) int err; - struct netfs_cmd *cmd =3D t->iovec.iov_base; + char *cptr =3D config; + struct console *cons; ++ int is_console =3D 0; +=20 + err =3D kgdboc_option_setup(config); + if (err || !strlen(config) || isspace(config[0])) + goto noconfig; +=20 + err =3D -ENODEV; +- kgdboc_io_ops.is_console =3D 0; + kgdb_tty_driver =3D NULL; +=20 + kgdboc_use_kms =3D 0; +@@ -183,7 +186,7 @@ static int configure_kgdboc(void) + int idx; + if (cons->device && cons->device(cons, &idx) =3D=3D p && + idx =3D=3D tty_line) { +- kgdboc_io_ops.is_console =3D 1; ++ is_console =3D 1; + break; + } + cons =3D cons->next; +@@ -193,12 +196,16 @@ static int configure_kgdboc(void) + kgdb_tty_line =3D tty_line; +=20 + do_register: +- err =3D kgdb_register_io_module(&kgdboc_io_ops); ++ if (is_console) { ++ err =3D kgdb_register_io_module(&kgdboc_io_ops_console); ++ configured =3D 2; ++ } else { ++ err =3D kgdb_register_io_module(&kgdboc_io_ops); ++ configured =3D 1; ++ } + if (err) + goto noconfig; =20 -- t->gen =3D atomic_inc_return(&psb->trans_gen); -+ t->gen =3D atomic_inc_return_unchecked(&psb->trans_gen); +- configured =3D 1; +- + return 0; =20 - cmd->size =3D t->iovec.iov_len - sizeof(struct netfs_cmd) + - t->attached_size + t->attached_pages * sizeof(struct netfs_cmd); -diff -urNp linux-2.6.32.48/drivers/staging/sep/sep_driver.c linux-2.6.32= .48/drivers/staging/sep/sep_driver.c ---- linux-2.6.32.48/drivers/staging/sep/sep_driver.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/sep/sep_driver.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -2603,7 +2603,7 @@ static struct pci_driver sep_pci_driver=20 - static dev_t sep_devno; -=20 - /* the files operations structure of the driver */ --static struct file_operations sep_file_operations =3D { -+static const struct file_operations sep_file_operations =3D { - .owner =3D THIS_MODULE, - .ioctl =3D sep_ioctl, - .poll =3D sep_poll, -diff -urNp linux-2.6.32.48/drivers/staging/usbip/usbip_common.h linux-2.= 6.32.48/drivers/staging/usbip/usbip_common.h ---- linux-2.6.32.48/drivers/staging/usbip/usbip_common.h 2011-11-12 12:4= 4:29.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/usbip/usbip_common.h 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -374,7 +374,7 @@ struct usbip_device { - void (*shutdown)(struct usbip_device *); - void (*reset)(struct usbip_device *); - void (*unusable)(struct usbip_device *); -- } eh_ops; -+ } __no_const eh_ops; - }; + noconfig: +@@ -212,7 +219,7 @@ noconfig: + static int __init init_kgdboc(void) + { + /* Already configured? */ +- if (configured =3D=3D 1) ++ if (configured >=3D 1) + return 0; =20 + return configure_kgdboc(); +@@ -261,7 +268,7 @@ static int param_set_kgdboc_var(const ch + if (config[len - 1] =3D=3D '\n') + config[len - 1] =3D '\0'; =20 -diff -urNp linux-2.6.32.48/drivers/staging/usbip/vhci.h linux-2.6.32.48/= drivers/staging/usbip/vhci.h ---- linux-2.6.32.48/drivers/staging/usbip/vhci.h 2011-11-12 12:44:29.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/staging/usbip/vhci.h 2011-11-12 12:46:45.000= 000000 -0500 -@@ -92,7 +92,7 @@ struct vhci_hcd { - unsigned resuming:1; - unsigned long re_timeout; +- if (configured =3D=3D 1) ++ if (configured >=3D 1) + cleanup_kgdboc(); =20 -- atomic_t seqnum; -+ atomic_unchecked_t seqnum; + /* Go and configure with the new params. */ +@@ -301,6 +308,15 @@ static struct kgdb_io kgdboc_io_ops =3D { + .post_exception =3D kgdboc_post_exp_handler, + }; =20 - /* - * NOTE: -diff -urNp linux-2.6.32.48/drivers/staging/usbip/vhci_hcd.c linux-2.6.32= .48/drivers/staging/usbip/vhci_hcd.c ---- linux-2.6.32.48/drivers/staging/usbip/vhci_hcd.c 2011-11-12 12:44:29= .000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/usbip/vhci_hcd.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -534,7 +534,7 @@ static void vhci_tx_urb(struct urb *urb) - return; - } ++static struct kgdb_io kgdboc_io_ops_console =3D { ++ .name =3D "kgdboc", ++ .read_char =3D kgdboc_get_char, ++ .write_char =3D kgdboc_put_char, ++ .pre_exception =3D kgdboc_pre_exp_handler, ++ .post_exception =3D kgdboc_post_exp_handler, ++ .is_console =3D 1 ++}; ++ + #ifdef CONFIG_KGDB_SERIAL_CONSOLE + /* This is only available if kgdboc is a built in for early debugging *= / + static int __init kgdboc_early_init(char *opt) +diff -urNp linux-3.0.8/drivers/tty/serial/mfd.c linux-3.0.8/drivers/tty/= serial/mfd.c +--- linux-3.0.8/drivers/tty/serial/mfd.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/tty/serial/mfd.c 2011-10-11 10:44:33.000000000 -= 0400 +@@ -1423,7 +1423,7 @@ static void serial_hsu_remove(struct pci + } +=20 + /* First 3 are UART ports, and the 4th is the DMA */ +-static const struct pci_device_id pci_ids[] __devinitdata =3D { ++static const struct pci_device_id pci_ids[] __devinitconst =3D { + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081B) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081C) }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081D) }, +diff -urNp linux-3.0.8/drivers/tty/serial/mrst_max3110.c linux-3.0.8/dri= vers/tty/serial/mrst_max3110.c +--- linux-3.0.8/drivers/tty/serial/mrst_max3110.c 2011-10-24 08:05:30.00= 0000000 -0400 ++++ linux-3.0.8/drivers/tty/serial/mrst_max3110.c 2011-10-16 21:55:28.00= 0000000 -0400 +@@ -393,6 +393,8 @@ static void max3110_con_receive(struct u + int loop =3D 1, num, total =3D 0; + u8 recv_buf[512], *pbuf; =20 -- priv->seqnum =3D atomic_inc_return(&the_controller->seqnum); -+ priv->seqnum =3D atomic_inc_return_unchecked(&the_controller->seqnum); - if (priv->seqnum =3D=3D 0xffff) - usbip_uinfo("seqnum max\n"); ++ pax_track_stack(); ++ + pbuf =3D recv_buf; + do { + num =3D max3110_read_multi(max, pbuf); +diff -urNp linux-3.0.8/drivers/tty/tty_io.c linux-3.0.8/drivers/tty/tty_= io.c +--- linux-3.0.8/drivers/tty/tty_io.c 2011-10-24 08:05:30.000000000 -0400 ++++ linux-3.0.8/drivers/tty/tty_io.c 2011-10-16 21:55:28.000000000 -0400 +@@ -3214,7 +3214,7 @@ EXPORT_SYMBOL_GPL(get_current_tty); =20 -@@ -793,7 +793,7 @@ static int vhci_urb_dequeue(struct usb_h - return -ENOMEM; - } + void tty_default_fops(struct file_operations *fops) + { +- *fops =3D tty_fops; ++ memcpy((void *)fops, &tty_fops, sizeof(tty_fops)); + } =20 -- unlink->seqnum =3D atomic_inc_return(&the_controller->seqnum); -+ unlink->seqnum =3D atomic_inc_return_unchecked(&the_controller->seqnu= m); - if (unlink->seqnum =3D=3D 0xffff) - usbip_uinfo("seqnum max\n"); + /* +diff -urNp linux-3.0.8/drivers/tty/tty_ldisc.c linux-3.0.8/drivers/tty/t= ty_ldisc.c +--- linux-3.0.8/drivers/tty/tty_ldisc.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/tty/tty_ldisc.c 2011-08-23 21:47:56.000000000 -0= 400 +@@ -74,7 +74,7 @@ static void put_ldisc(struct tty_ldisc * + if (atomic_dec_and_lock(&ld->users, &tty_ldisc_lock)) { + struct tty_ldisc_ops *ldo =3D ld->ops; =20 -@@ -988,7 +988,7 @@ static int vhci_start(struct usb_hcd *hc - vdev->rhport =3D rhport; - } +- ldo->refcount--; ++ atomic_dec(&ldo->refcount); + module_put(ldo->owner); + spin_unlock_irqrestore(&tty_ldisc_lock, flags); =20 -- atomic_set(&vhci->seqnum, 0); -+ atomic_set_unchecked(&vhci->seqnum, 0); - spin_lock_init(&vhci->lock); +@@ -109,7 +109,7 @@ int tty_register_ldisc(int disc, struct=20 + spin_lock_irqsave(&tty_ldisc_lock, flags); + tty_ldiscs[disc] =3D new_ldisc; + new_ldisc->num =3D disc; +- new_ldisc->refcount =3D 0; ++ atomic_set(&new_ldisc->refcount, 0); + spin_unlock_irqrestore(&tty_ldisc_lock, flags); =20 + return ret; +@@ -137,7 +137,7 @@ int tty_unregister_ldisc(int disc) + return -EINVAL; =20 -diff -urNp linux-2.6.32.48/drivers/staging/usbip/vhci_rx.c linux-2.6.32.= 48/drivers/staging/usbip/vhci_rx.c ---- linux-2.6.32.48/drivers/staging/usbip/vhci_rx.c 2011-11-12 12:44:29.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/usbip/vhci_rx.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -78,7 +78,7 @@ static void vhci_recv_ret_submit(struct=20 - usbip_uerr("cannot find a urb of seqnum %u\n", - pdu->base.seqnum); - usbip_uinfo("max seqnum %d\n", -- atomic_read(&the_controller->seqnum)); -+ atomic_read_unchecked(&the_controller->seqnum)); - usbip_event_add(ud, VDEV_EVENT_ERROR_TCP); - return; + spin_lock_irqsave(&tty_ldisc_lock, flags); +- if (tty_ldiscs[disc]->refcount) ++ if (atomic_read(&tty_ldiscs[disc]->refcount)) + ret =3D -EBUSY; + else + tty_ldiscs[disc] =3D NULL; +@@ -158,7 +158,7 @@ static struct tty_ldisc_ops *get_ldops(i + if (ldops) { + ret =3D ERR_PTR(-EAGAIN); + if (try_module_get(ldops->owner)) { +- ldops->refcount++; ++ atomic_inc(&ldops->refcount); + ret =3D ldops; + } } -diff -urNp linux-2.6.32.48/drivers/staging/vme/devices/vme_user.c linux-= 2.6.32.48/drivers/staging/vme/devices/vme_user.c ---- linux-2.6.32.48/drivers/staging/vme/devices/vme_user.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/vme/devices/vme_user.c 2011-11-12 12= :46:45.000000000 -0500 -@@ -136,7 +136,7 @@ static int vme_user_ioctl(struct inode * - static int __init vme_user_probe(struct device *, int, int); - static int __exit vme_user_remove(struct device *, int, int); -=20 --static struct file_operations vme_user_fops =3D { -+static const struct file_operations vme_user_fops =3D { - .open =3D vme_user_open, - .release =3D vme_user_release, - .read =3D vme_user_read, -diff -urNp linux-2.6.32.48/drivers/staging/vt6655/hostap.c linux-2.6.32.= 48/drivers/staging/vt6655/hostap.c ---- linux-2.6.32.48/drivers/staging/vt6655/hostap.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/vt6655/hostap.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -84,7 +84,7 @@ static int hostap_enable_hostapd(PSDevic - PSDevice apdev_priv; - struct net_device *dev =3D pDevice->dev; - int ret; -- const struct net_device_ops apdev_netdev_ops =3D { -+ net_device_ops_no_const apdev_netdev_ops =3D { - .ndo_start_xmit =3D pDevice->tx_80211, - }; +@@ -171,7 +171,7 @@ static void put_ldops(struct tty_ldisc_o + unsigned long flags; =20 -diff -urNp linux-2.6.32.48/drivers/staging/vt6656/hostap.c linux-2.6.32.= 48/drivers/staging/vt6656/hostap.c ---- linux-2.6.32.48/drivers/staging/vt6656/hostap.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/vt6656/hostap.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -86,7 +86,7 @@ static int hostap_enable_hostapd(PSDevic - PSDevice apdev_priv; - struct net_device *dev =3D pDevice->dev; - int ret; -- const struct net_device_ops apdev_netdev_ops =3D { -+ net_device_ops_no_const apdev_netdev_ops =3D { - .ndo_start_xmit =3D pDevice->tx_80211, - }; + spin_lock_irqsave(&tty_ldisc_lock, flags); +- ldops->refcount--; ++ atomic_dec(&ldops->refcount); + module_put(ldops->owner); + spin_unlock_irqrestore(&tty_ldisc_lock, flags); + } +diff -urNp linux-3.0.8/drivers/tty/vt/keyboard.c linux-3.0.8/drivers/tty= /vt/keyboard.c +--- linux-3.0.8/drivers/tty/vt/keyboard.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/tty/vt/keyboard.c 2011-08-23 21:48:14.000000000 = -0400 +@@ -656,6 +656,16 @@ static void k_spec(struct vc_data *vc, u + kbd->kbdmode =3D=3D VC_OFF) && + value !=3D KVAL(K_SAK)) + return; /* SAK is allowed even in raw mode */ ++ ++#if defined(CONFIG_GRKERNSEC_PROC) || defined(CONFIG_GRKERNSEC_PROC_MEM= MAP) ++ { ++ void *func =3D fn_handler[value]; ++ if (func =3D=3D fn_show_state || func =3D=3D fn_show_ptregs || ++ func =3D=3D fn_show_mem) ++ return; ++ } ++#endif ++ + fn_handler[value](vc); + } =20 -diff -urNp linux-2.6.32.48/drivers/staging/wlan-ng/hfa384x_usb.c linux-2= .6.32.48/drivers/staging/wlan-ng/hfa384x_usb.c ---- linux-2.6.32.48/drivers/staging/wlan-ng/hfa384x_usb.c 2009-12-02 22:= 51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/staging/wlan-ng/hfa384x_usb.c 2011-11-12 12:= 46:45.000000000 -0500 -@@ -205,7 +205,7 @@ static void unlocked_usbctlx_complete(hf +diff -urNp linux-3.0.8/drivers/tty/vt/vt.c linux-3.0.8/drivers/tty/vt/vt= .c +--- linux-3.0.8/drivers/tty/vt/vt.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/tty/vt/vt.c 2011-08-23 21:47:56.000000000 -0400 +@@ -259,7 +259,7 @@ EXPORT_SYMBOL_GPL(unregister_vt_notifier =20 - struct usbctlx_completor { - int (*complete) (struct usbctlx_completor *); --}; -+} __no_const; - typedef struct usbctlx_completor usbctlx_completor_t; + static void notify_write(struct vc_data *vc, unsigned int unicode) + { +- struct vt_notifier_param param =3D { .vc =3D vc, unicode =3D unicode }= ; ++ struct vt_notifier_param param =3D { .vc =3D vc, .c =3D unicode }; + atomic_notifier_call_chain(&vt_notifier_list, VT_WRITE, ¶m); + } =20 - static int -diff -urNp linux-2.6.32.48/drivers/telephony/ixj.c linux-2.6.32.48/drive= rs/telephony/ixj.c ---- linux-2.6.32.48/drivers/telephony/ixj.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/telephony/ixj.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -4976,6 +4976,8 @@ static int ixj_daa_cid_read(IXJ *j) - bool mContinue; - char *pIn, *pOut; +diff -urNp linux-3.0.8/drivers/tty/vt/vt_ioctl.c linux-3.0.8/drivers/tty= /vt/vt_ioctl.c +--- linux-3.0.8/drivers/tty/vt/vt_ioctl.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/tty/vt/vt_ioctl.c 2011-08-23 21:48:14.000000000 = -0400 +@@ -207,9 +207,6 @@ do_kdsk_ioctl(int cmd, struct kbentry __ + if (copy_from_user(&tmp, user_kbe, sizeof(struct kbentry))) + return -EFAULT; =20 -+ pax_track_stack(); +- if (!capable(CAP_SYS_TTY_CONFIG)) +- perm =3D 0; +- + switch (cmd) { + case KDGKBENT: + key_map =3D key_maps[s]; +@@ -221,6 +218,9 @@ do_kdsk_ioctl(int cmd, struct kbentry __ + val =3D (i ? K_HOLE : K_NOSUCHMAP); + return put_user(val, &user_kbe->kb_value); + case KDSKBENT: ++ if (!capable(CAP_SYS_TTY_CONFIG)) ++ perm =3D 0; + - if (!SCI_Prepare(j)) - return 0; + if (!perm) + return -EPERM; + if (!i && v =3D=3D K_NOSUCHMAP) { +@@ -322,9 +322,6 @@ do_kdgkb_ioctl(int cmd, struct kbsentry=20 + int i, j, k; + int ret; =20 -diff -urNp linux-2.6.32.48/drivers/uio/uio.c linux-2.6.32.48/drivers/uio= /uio.c ---- linux-2.6.32.48/drivers/uio/uio.c 2009-12-02 22:51:21.000000000 -050= 0 -+++ linux-2.6.32.48/drivers/uio/uio.c 2011-11-12 12:46:45.000000000 -050= 0 -@@ -23,6 +23,7 @@ - #include +- if (!capable(CAP_SYS_TTY_CONFIG)) +- perm =3D 0; +- + kbs =3D kmalloc(sizeof(*kbs), GFP_KERNEL); + if (!kbs) { + ret =3D -ENOMEM; +@@ -358,6 +355,9 @@ do_kdgkb_ioctl(int cmd, struct kbsentry=20 + kfree(kbs); + return ((p && *p) ? -EOVERFLOW : 0); + case KDSKBSENT: ++ if (!capable(CAP_SYS_TTY_CONFIG)) ++ perm =3D 0; ++ + if (!perm) { + ret =3D -EPERM; + goto reterr; +diff -urNp linux-3.0.8/drivers/uio/uio.c linux-3.0.8/drivers/uio/uio.c +--- linux-3.0.8/drivers/uio/uio.c 2011-07-21 22:17:23.000000000 -0400 ++++ linux-3.0.8/drivers/uio/uio.c 2011-08-23 21:47:56.000000000 -0400 +@@ -25,6 +25,7 @@ #include + #include #include +#include =20 - #define UIO_MAX_DEVICES 255 + #define UIO_MAX_DEVICES (1U << MINORBITS) =20 -@@ -30,10 +31,10 @@ struct uio_device { +@@ -32,10 +33,10 @@ struct uio_device { struct module *owner; struct device *dev; int minor; @@ -38739,34 +36101,16 @@ diff -urNp linux-2.6.32.48/drivers/uio/uio.c li= nux-2.6.32.48/drivers/uio/uio.c struct uio_info *info; struct kobject *map_dir; struct kobject *portio_dir; -@@ -129,7 +130,7 @@ static ssize_t map_type_show(struct kobj - return entry->show(mem, buf); - } -=20 --static struct sysfs_ops map_sysfs_ops =3D { -+static const struct sysfs_ops map_sysfs_ops =3D { - .show =3D map_type_show, - }; -=20 -@@ -217,7 +218,7 @@ static ssize_t portio_type_show(struct k - return entry->show(port, buf); - } -=20 --static struct sysfs_ops portio_sysfs_ops =3D { -+static const struct sysfs_ops portio_sysfs_ops =3D { - .show =3D portio_type_show, - }; -=20 -@@ -255,7 +256,7 @@ static ssize_t show_event(struct device=20 +@@ -242,7 +243,7 @@ static ssize_t show_event(struct device=20 + struct device_attribute *attr, char *buf) + { struct uio_device *idev =3D dev_get_drvdata(dev); - if (idev) - return sprintf(buf, "%u\n", -- (unsigned int)atomic_read(&idev->event)); -+ (unsigned int)atomic_read_unchecked(&idev->event)); - else - return -ENODEV; +- return sprintf(buf, "%u\n", (unsigned int)atomic_read(&idev->event)); ++ return sprintf(buf, "%u\n", (unsigned int)atomic_read_unchecked(&idev-= >event)); } -@@ -424,7 +425,7 @@ void uio_event_notify(struct uio_info *i +=20 + static struct device_attribute uio_class_attributes[] =3D { +@@ -408,7 +409,7 @@ void uio_event_notify(struct uio_info *i { struct uio_device *idev =3D info->uio_dev; =20 @@ -38775,7 +36119,7 @@ diff -urNp linux-2.6.32.48/drivers/uio/uio.c linu= x-2.6.32.48/drivers/uio/uio.c wake_up_interruptible(&idev->wait); kill_fasync(&idev->async_queue, SIGIO, POLL_IN); } -@@ -477,7 +478,7 @@ static int uio_open(struct inode *inode, +@@ -461,7 +462,7 @@ static int uio_open(struct inode *inode, } =20 listener->dev =3D idev; @@ -38784,7 +36128,7 @@ diff -urNp linux-2.6.32.48/drivers/uio/uio.c linu= x-2.6.32.48/drivers/uio/uio.c filep->private_data =3D listener; =20 if (idev->info->open) { -@@ -528,7 +529,7 @@ static unsigned int uio_poll(struct file +@@ -512,7 +513,7 @@ static unsigned int uio_poll(struct file return -EIO; =20 poll_wait(filep, &idev->wait, wait); @@ -38793,7 +36137,7 @@ diff -urNp linux-2.6.32.48/drivers/uio/uio.c linu= x-2.6.32.48/drivers/uio/uio.c return POLLIN | POLLRDNORM; return 0; } -@@ -553,7 +554,7 @@ static ssize_t uio_read(struct file *fil +@@ -537,7 +538,7 @@ static ssize_t uio_read(struct file *fil do { set_current_state(TASK_INTERRUPTIBLE); =20 @@ -38802,7 +36146,7 @@ diff -urNp linux-2.6.32.48/drivers/uio/uio.c linu= x-2.6.32.48/drivers/uio/uio.c if (event_count !=3D listener->event_count) { if (copy_to_user(buf, &event_count, count)) retval =3D -EFAULT; -@@ -624,13 +625,13 @@ static int uio_find_mem_index(struct vm_ +@@ -606,13 +607,13 @@ static int uio_find_mem_index(struct vm_ static void uio_vma_open(struct vm_area_struct *vma) { struct uio_device *idev =3D vma->vm_private_data; @@ -38818,7 +36162,7 @@ diff -urNp linux-2.6.32.48/drivers/uio/uio.c linu= x-2.6.32.48/drivers/uio/uio.c } =20 static int uio_vma_fault(struct vm_area_struct *vma, struct vm_fault *v= mf) -@@ -840,7 +841,7 @@ int __uio_register_device(struct module=20 +@@ -823,7 +824,7 @@ int __uio_register_device(struct module=20 idev->owner =3D owner; idev->info =3D info; init_waitqueue_head(&idev->wait); @@ -38827,10 +36171,22 @@ diff -urNp linux-2.6.32.48/drivers/uio/uio.c li= nux-2.6.32.48/drivers/uio/uio.c =20 ret =3D uio_get_minor(idev); if (ret) -diff -urNp linux-2.6.32.48/drivers/usb/atm/usbatm.c linux-2.6.32.48/driv= ers/usb/atm/usbatm.c ---- linux-2.6.32.48/drivers/usb/atm/usbatm.c 2009-12-02 22:51:21.0000000= 00 -0500 -+++ linux-2.6.32.48/drivers/usb/atm/usbatm.c 2011-11-12 12:46:45.0000000= 00 -0500 -@@ -333,7 +333,7 @@ static void usbatm_extract_one_cell(stru +diff -urNp linux-3.0.8/drivers/usb/atm/cxacru.c linux-3.0.8/drivers/usb/= atm/cxacru.c +--- linux-3.0.8/drivers/usb/atm/cxacru.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/usb/atm/cxacru.c 2011-08-23 21:47:56.000000000 -= 0400 +@@ -473,7 +473,7 @@ static ssize_t cxacru_sysfs_store_adsl_c + ret =3D sscanf(buf + pos, "%x=3D%x%n", &index, &value, &tmp); + if (ret < 2) + return -EINVAL; +- if (index < 0 || index > 0x7f) ++ if (index > 0x7f) + return -EINVAL; + pos +=3D tmp; +=20 +diff -urNp linux-3.0.8/drivers/usb/atm/usbatm.c linux-3.0.8/drivers/usb/= atm/usbatm.c +--- linux-3.0.8/drivers/usb/atm/usbatm.c 2011-07-21 22:17:23.000000000 -= 0400 ++++ linux-3.0.8/drivers/usb/atm/usbatm.c 2011-08-23 21:47:56.000000000 -= 0400 +@@ -332,7 +332,7 @@ static void usbatm_extract_one_cell(stru if (printk_ratelimit()) atm_warn(instance, "%s: OAM not supported (vpi %d, vci %d)!\n", __func__, vpi, vci); @@ -38839,7 +36195,7 @@ diff -urNp linux-2.6.32.48/drivers/usb/atm/usbatm= .c linux-2.6.32.48/drivers/usb/ return; } =20 -@@ -361,7 +361,7 @@ static void usbatm_extract_one_cell(stru +@@ -360,7 +360,7 @@ static void usbatm_extract_one_cell(stru if (length > ATM_MAX_AAL5_PDU) { atm_rldbg(instance, "%s: bogus length %u (vcc: 0x%p)!\n", __func__, length, vcc); @@ -38848,7 +36204,7 @@ diff -urNp linux-2.6.32.48/drivers/usb/atm/usbatm= .c linux-2.6.32.48/drivers/usb/ goto out; } =20 -@@ -370,14 +370,14 @@ static void usbatm_extract_one_cell(stru +@@ -369,14 +369,14 @@ static void usbatm_extract_one_cell(stru if (sarb->len < pdu_length) { atm_rldbg(instance, "%s: bogus pdu_length %u (sarb->len: %u, vcc: 0x= %p)!\n", __func__, pdu_length, sarb->len, vcc); @@ -38865,7 +36221,7 @@ diff -urNp linux-2.6.32.48/drivers/usb/atm/usbatm= .c linux-2.6.32.48/drivers/usb/ goto out; } =20 -@@ -387,7 +387,7 @@ static void usbatm_extract_one_cell(stru +@@ -386,7 +386,7 @@ static void usbatm_extract_one_cell(stru if (printk_ratelimit()) atm_err(instance, "%s: no memory for skb (length: %u)!\n", __func__, length); @@ -38874,7 +36230,7 @@ diff -urNp linux-2.6.32.48/drivers/usb/atm/usbatm= .c linux-2.6.32.48/drivers/usb/ goto out; } =20 -@@ -412,7 +412,7 @@ static void usbatm_extract_one_cell(stru +@@ -411,7 +411,7 @@ static void usbatm_extract_one_cell(stru =20 vcc->push(vcc, skb); =20 @@ -38883,7 +36239,7 @@ diff -urNp linux-2.6.32.48/drivers/usb/atm/usbatm= .c linux-2.6.32.48/drivers/usb/ out: skb_trim(sarb, 0); } -@@ -616,7 +616,7 @@ static void usbatm_tx_process(unsigned l +@@ -614,7 +614,7 @@ static void usbatm_tx_process(unsigned l struct atm_vcc *vcc =3D UDSL_SKB(skb)->atm.vcc; =20 usbatm_pop(vcc, skb); @@ -38892,7 +36248,7 @@ diff -urNp linux-2.6.32.48/drivers/usb/atm/usbatm= .c linux-2.6.32.48/drivers/usb/ =20 skb =3D skb_dequeue(&instance->sndqueue); } -@@ -775,11 +775,11 @@ static int usbatm_atm_proc_read(struct a +@@ -773,11 +773,11 @@ static int usbatm_atm_proc_read(struct a if (!left--) return sprintf(page, "AAL5: tx %d ( %d err ), rx %d ( %d err, %d drop )\n", @@ -38909,73 +36265,40 @@ diff -urNp linux-2.6.32.48/drivers/usb/atm/usba= tm.c linux-2.6.32.48/drivers/usb/ =20 if (!left--) { if (instance->disconnected) -diff -urNp linux-2.6.32.48/drivers/usb/class/cdc-wdm.c linux-2.6.32.48/d= rivers/usb/class/cdc-wdm.c ---- linux-2.6.32.48/drivers/usb/class/cdc-wdm.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/usb/class/cdc-wdm.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -314,7 +314,7 @@ static ssize_t wdm_write - if (r < 0) - goto outnp; -=20 -- if (!file->f_flags && O_NONBLOCK) -+ if (!(file->f_flags & O_NONBLOCK)) - r =3D wait_event_interruptible(desc->wait, !test_bit(WDM_IN_USE, - &desc->flags)); - else -diff -urNp linux-2.6.32.48/drivers/usb/core/hcd.c linux-2.6.32.48/driver= s/usb/core/hcd.c ---- linux-2.6.32.48/drivers/usb/core/hcd.c 2011-11-12 12:44:29.000000000= -0500 -+++ linux-2.6.32.48/drivers/usb/core/hcd.c 2011-11-12 12:46:45.000000000= -0500 -@@ -2216,7 +2216,7 @@ EXPORT_SYMBOL_GPL(usb_hcd_platform_shutd -=20 - #if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE) -=20 --struct usb_mon_operations *mon_ops; -+const struct usb_mon_operations *mon_ops; -=20 - /* - * The registration is unlocked. -@@ -2226,7 +2226,7 @@ struct usb_mon_operations *mon_ops; - * symbols from usbcore, usbcore gets referenced and cannot be unloaded= first. +diff -urNp linux-3.0.8/drivers/usb/core/devices.c linux-3.0.8/drivers/us= b/core/devices.c +--- linux-3.0.8/drivers/usb/core/devices.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/usb/core/devices.c 2011-08-23 21:47:56.000000000= -0400 +@@ -126,7 +126,7 @@ static const char format_endpt[] =3D + * time it gets called. */ - =20 --int usb_mon_register (struct usb_mon_operations *ops) -+int usb_mon_register (const struct usb_mon_operations *ops) - { -=20 - if (mon_ops) -diff -urNp linux-2.6.32.48/drivers/usb/core/hcd.h linux-2.6.32.48/driver= s/usb/core/hcd.h ---- linux-2.6.32.48/drivers/usb/core/hcd.h 2011-11-12 12:44:29.000000000= -0500 -+++ linux-2.6.32.48/drivers/usb/core/hcd.h 2011-11-12 12:46:45.000000000= -0500 -@@ -486,13 +486,13 @@ static inline void usbfs_cleanup(void) { - #if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE) -=20 - struct usb_mon_operations { -- void (*urb_submit)(struct usb_bus *bus, struct urb *urb); -- void (*urb_submit_error)(struct usb_bus *bus, struct urb *urb, int err= ); -- void (*urb_complete)(struct usb_bus *bus, struct urb *urb, int status)= ; -+ void (* const urb_submit)(struct usb_bus *bus, struct urb *urb); -+ void (* const urb_submit_error)(struct usb_bus *bus, struct urb *urb, = int err); -+ void (* const urb_complete)(struct usb_bus *bus, struct urb *urb, int = status); - /* void (*urb_unlink)(struct usb_bus *bus, struct urb *urb); */ - }; -=20 --extern struct usb_mon_operations *mon_ops; -+extern const struct usb_mon_operations *mon_ops; + static struct device_connect_event { +- atomic_t count; ++ atomic_unchecked_t count; + wait_queue_head_t wait; + } device_event =3D { + .count =3D ATOMIC_INIT(1), +@@ -164,7 +164,7 @@ static const struct class_info clas_info =20 - static inline void usbmon_urb_submit(struct usb_bus *bus, struct urb *u= rb) + void usbfs_conn_disc_event(void) { -@@ -514,7 +514,7 @@ static inline void usbmon_urb_complete(s - (*mon_ops->urb_complete)(bus, urb, status); +- atomic_add(2, &device_event.count); ++ atomic_add_unchecked(2, &device_event.count); + wake_up(&device_event.wait); } =20 --int usb_mon_register(struct usb_mon_operations *ops); -+int usb_mon_register(const struct usb_mon_operations *ops); - void usb_mon_deregister(void); +@@ -648,7 +648,7 @@ static unsigned int usb_device_poll(stru =20 - #else -diff -urNp linux-2.6.32.48/drivers/usb/core/message.c linux-2.6.32.48/dr= ivers/usb/core/message.c ---- linux-2.6.32.48/drivers/usb/core/message.c 2011-11-12 12:44:29.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/usb/core/message.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -914,8 +914,8 @@ char *usb_cache_string(struct usb_device + poll_wait(file, &device_event.wait, wait); +=20 +- event_count =3D atomic_read(&device_event.count); ++ event_count =3D atomic_read_unchecked(&device_event.count); + if (file->f_version !=3D event_count) { + file->f_version =3D event_count; + return POLLIN | POLLRDNORM; +diff -urNp linux-3.0.8/drivers/usb/core/message.c linux-3.0.8/drivers/us= b/core/message.c +--- linux-3.0.8/drivers/usb/core/message.c 2011-07-21 22:17:23.000000000= -0400 ++++ linux-3.0.8/drivers/usb/core/message.c 2011-08-23 21:47:56.000000000= -0400 +@@ -869,8 +869,8 @@ char *usb_cache_string(struct usb_device buf =3D kmalloc(MAX_USB_STRING_SIZE, GFP_NOIO); if (buf) { len =3D usb_string(udev, index, buf, MAX_USB_STRING_SIZE); @@ -38986,33 +36309,61 @@ diff -urNp linux-2.6.32.48/drivers/usb/core/mes= sage.c linux-2.6.32.48/drivers/us if (!smallbuf) return buf; memcpy(smallbuf, buf, len); -diff -urNp linux-2.6.32.48/drivers/usb/misc/appledisplay.c linux-2.6.32.= 48/drivers/usb/misc/appledisplay.c ---- linux-2.6.32.48/drivers/usb/misc/appledisplay.c 2011-11-12 12:44:29.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/usb/misc/appledisplay.c 2011-11-12 12:46:45.= 000000000 -0500 -@@ -178,7 +178,7 @@ static int appledisplay_bl_get_brightnes - return pdata->msgdata[1]; +diff -urNp linux-3.0.8/drivers/usb/early/ehci-dbgp.c linux-3.0.8/drivers= /usb/early/ehci-dbgp.c +--- linux-3.0.8/drivers/usb/early/ehci-dbgp.c 2011-07-21 22:17:23.000000= 000 -0400 ++++ linux-3.0.8/drivers/usb/early/ehci-dbgp.c 2011-08-23 21:47:56.000000= 000 -0400 +@@ -97,7 +97,8 @@ static inline u32 dbgp_len_update(u32 x, +=20 + #ifdef CONFIG_KGDB + static struct kgdb_io kgdbdbgp_io_ops; +-#define dbgp_kgdb_mode (dbg_io_ops =3D=3D &kgdbdbgp_io_ops) ++static struct kgdb_io kgdbdbgp_io_ops_console; ++#define dbgp_kgdb_mode (dbg_io_ops =3D=3D &kgdbdbgp_io_ops || dbg_io_op= s =3D=3D &kgdbdbgp_io_ops_console) + #else + #define dbgp_kgdb_mode (0) + #endif +@@ -1035,6 +1036,13 @@ static struct kgdb_io kgdbdbgp_io_ops =3D=20 + .write_char =3D kgdbdbgp_write_char, + }; +=20 ++static struct kgdb_io kgdbdbgp_io_ops_console =3D { ++ .name =3D "kgdbdbgp", ++ .read_char =3D kgdbdbgp_read_char, ++ .write_char =3D kgdbdbgp_write_char, ++ .is_console =3D 1 ++}; ++ + static int kgdbdbgp_wait_time; +=20 + static int __init kgdbdbgp_parse_config(char *str) +@@ -1050,8 +1058,10 @@ static int __init kgdbdbgp_parse_config( + ptr++; + kgdbdbgp_wait_time =3D simple_strtoul(ptr, &ptr, 10); + } +- kgdb_register_io_module(&kgdbdbgp_io_ops); +- kgdbdbgp_io_ops.is_console =3D early_dbgp_console.index !=3D -1; ++ if (early_dbgp_console.index !=3D -1) ++ kgdb_register_io_module(&kgdbdbgp_io_ops_console); ++ else ++ kgdb_register_io_module(&kgdbdbgp_io_ops); +=20 + return 0; } +diff -urNp linux-3.0.8/drivers/usb/host/xhci-mem.c linux-3.0.8/drivers/u= sb/host/xhci-mem.c +--- linux-3.0.8/drivers/usb/host/xhci-mem.c 2011-07-21 22:17:23.00000000= 0 -0400 ++++ linux-3.0.8/drivers/usb/host/xhci-mem.c 2011-08-23 21:48:14.00000000= 0 -0400 +@@ -1685,6 +1685,8 @@ static int xhci_check_trb_in_td_math(str + unsigned int num_tests; + int i, ret; =20 --static struct backlight_ops appledisplay_bl_data =3D { -+static const struct backlight_ops appledisplay_bl_data =3D { - .get_brightness =3D appledisplay_bl_get_brightness, - .update_status =3D appledisplay_bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/usb/mon/mon_main.c linux-2.6.32.48/dr= ivers/usb/mon/mon_main.c ---- linux-2.6.32.48/drivers/usb/mon/mon_main.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/usb/mon/mon_main.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -238,7 +238,7 @@ static struct notifier_block mon_nb =3D { - /* - * Ops - */ --static struct usb_mon_operations mon_ops_0 =3D { -+static const struct usb_mon_operations mon_ops_0 =3D { - .urb_submit =3D mon_submit, - .urb_submit_error =3D mon_submit_error, - .urb_complete =3D mon_complete, -diff -urNp linux-2.6.32.48/drivers/usb/wusbcore/wa-hc.h linux-2.6.32.48/= drivers/usb/wusbcore/wa-hc.h ---- linux-2.6.32.48/drivers/usb/wusbcore/wa-hc.h 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/usb/wusbcore/wa-hc.h 2011-11-12 12:46:45.000= 000000 -0500 ++ pax_track_stack(); ++ + num_tests =3D ARRAY_SIZE(simple_test_vector); + for (i =3D 0; i < num_tests; i++) { + ret =3D xhci_test_trb_in_td(xhci, +diff -urNp linux-3.0.8/drivers/usb/wusbcore/wa-hc.h linux-3.0.8/drivers/= usb/wusbcore/wa-hc.h +--- linux-3.0.8/drivers/usb/wusbcore/wa-hc.h 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/usb/wusbcore/wa-hc.h 2011-08-23 21:47:56.0000000= 00 -0400 @@ -192,7 +192,7 @@ struct wahc { struct list_head xfer_delayed_list; spinlock_t xfer_list_lock; @@ -39031,10 +36382,10 @@ diff -urNp linux-2.6.32.48/drivers/usb/wusbcore= /wa-hc.h linux-2.6.32.48/drivers/ } =20 /** -diff -urNp linux-2.6.32.48/drivers/usb/wusbcore/wa-xfer.c linux-2.6.32.4= 8/drivers/usb/wusbcore/wa-xfer.c ---- linux-2.6.32.48/drivers/usb/wusbcore/wa-xfer.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/usb/wusbcore/wa-xfer.c 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -293,7 +293,7 @@ out: +diff -urNp linux-3.0.8/drivers/usb/wusbcore/wa-xfer.c linux-3.0.8/driver= s/usb/wusbcore/wa-xfer.c +--- linux-3.0.8/drivers/usb/wusbcore/wa-xfer.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/usb/wusbcore/wa-xfer.c 2011-08-23 21:47:56.00000= 0000 -0400 +@@ -294,7 +294,7 @@ out: */ static void wa_xfer_id_init(struct wa_xfer *xfer) { @@ -39043,323 +36394,34 @@ diff -urNp linux-2.6.32.48/drivers/usb/wusbcor= e/wa-xfer.c linux-2.6.32.48/driver } =20 /* -diff -urNp linux-2.6.32.48/drivers/uwb/wlp/messages.c linux-2.6.32.48/dr= ivers/uwb/wlp/messages.c ---- linux-2.6.32.48/drivers/uwb/wlp/messages.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/uwb/wlp/messages.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -903,7 +903,7 @@ int wlp_parse_f0(struct wlp *wlp, struct - size_t len =3D skb->len; - size_t used; - ssize_t result; -- struct wlp_nonce enonce, rnonce; -+ struct wlp_nonce enonce =3D {{0}}, rnonce =3D {{0}}; - enum wlp_assc_error assc_err; - char enonce_buf[WLP_WSS_NONCE_STRSIZE]; - char rnonce_buf[WLP_WSS_NONCE_STRSIZE]; -diff -urNp linux-2.6.32.48/drivers/uwb/wlp/sysfs.c linux-2.6.32.48/drive= rs/uwb/wlp/sysfs.c ---- linux-2.6.32.48/drivers/uwb/wlp/sysfs.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/uwb/wlp/sysfs.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -615,8 +615,7 @@ ssize_t wlp_wss_attr_store(struct kobjec - return ret; - } -=20 --static --struct sysfs_ops wss_sysfs_ops =3D { -+static const struct sysfs_ops wss_sysfs_ops =3D { - .show =3D wlp_wss_attr_show, - .store =3D wlp_wss_attr_store, - }; -diff -urNp linux-2.6.32.48/drivers/video/atmel_lcdfb.c linux-2.6.32.48/d= rivers/video/atmel_lcdfb.c ---- linux-2.6.32.48/drivers/video/atmel_lcdfb.c 2009-12-02 22:51:21.0000= 00000 -0500 -+++ linux-2.6.32.48/drivers/video/atmel_lcdfb.c 2011-11-12 12:46:45.0000= 00000 -0500 -@@ -110,7 +110,7 @@ static int atmel_bl_get_brightness(struc - return lcdc_readl(sinfo, ATMEL_LCDC_CONTRAST_VAL); - } -=20 --static struct backlight_ops atmel_lcdc_bl_ops =3D { -+static const struct backlight_ops atmel_lcdc_bl_ops =3D { - .update_status =3D atmel_bl_update_status, - .get_brightness =3D atmel_bl_get_brightness, - }; -diff -urNp linux-2.6.32.48/drivers/video/aty/aty128fb.c linux-2.6.32.48/= drivers/video/aty/aty128fb.c ---- linux-2.6.32.48/drivers/video/aty/aty128fb.c 2009-12-02 22:51:21.000= 000000 -0500 -+++ linux-2.6.32.48/drivers/video/aty/aty128fb.c 2011-11-12 12:46:45.000= 000000 -0500 -@@ -1787,7 +1787,7 @@ static int aty128_bl_get_brightness(stru - return bd->props.brightness; - } -=20 --static struct backlight_ops aty128_bl_data =3D { -+static const struct backlight_ops aty128_bl_data =3D { - .get_brightness =3D aty128_bl_get_brightness, - .update_status =3D aty128_bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/video/aty/atyfb_base.c linux-2.6.32.4= 8/drivers/video/aty/atyfb_base.c ---- linux-2.6.32.48/drivers/video/aty/atyfb_base.c 2009-12-02 22:51:21.0= 00000000 -0500 -+++ linux-2.6.32.48/drivers/video/aty/atyfb_base.c 2011-11-12 12:46:45.0= 00000000 -0500 -@@ -2225,7 +2225,7 @@ static int aty_bl_get_brightness(struct=20 - return bd->props.brightness; - } -=20 --static struct backlight_ops aty_bl_data =3D { -+static const struct backlight_ops aty_bl_data =3D { - .get_brightness =3D aty_bl_get_brightness, - .update_status =3D aty_bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/video/aty/radeon_backlight.c linux-2.= 6.32.48/drivers/video/aty/radeon_backlight.c ---- linux-2.6.32.48/drivers/video/aty/radeon_backlight.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/aty/radeon_backlight.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -127,7 +127,7 @@ static int radeon_bl_get_brightness(stru - return bd->props.brightness; - } -=20 --static struct backlight_ops radeon_bl_data =3D { -+static const struct backlight_ops radeon_bl_data =3D { - .get_brightness =3D radeon_bl_get_brightness, - .update_status =3D radeon_bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/adp5520_bl.c linux-2.= 6.32.48/drivers/video/backlight/adp5520_bl.c ---- linux-2.6.32.48/drivers/video/backlight/adp5520_bl.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/adp5520_bl.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -84,7 +84,7 @@ static int adp5520_bl_get_brightness(str - return error ? data->current_brightness : reg_val; - } -=20 --static struct backlight_ops adp5520_bl_ops =3D { -+static const struct backlight_ops adp5520_bl_ops =3D { - .update_status =3D adp5520_bl_update_status, - .get_brightness =3D adp5520_bl_get_brightness, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/adx_bl.c linux-2.6.32= .48/drivers/video/backlight/adx_bl.c ---- linux-2.6.32.48/drivers/video/backlight/adx_bl.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/adx_bl.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -61,7 +61,7 @@ static int adx_backlight_check_fb(struct - return 1; - } -=20 --static struct backlight_ops adx_backlight_ops =3D { -+static const struct backlight_ops adx_backlight_ops =3D { - .options =3D 0, - .update_status =3D adx_backlight_update_status, - .get_brightness =3D adx_backlight_get_brightness, -diff -urNp linux-2.6.32.48/drivers/video/backlight/atmel-pwm-bl.c linux-= 2.6.32.48/drivers/video/backlight/atmel-pwm-bl.c ---- linux-2.6.32.48/drivers/video/backlight/atmel-pwm-bl.c 2009-12-02 22= :51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/atmel-pwm-bl.c 2011-11-12 12= :46:45.000000000 -0500 -@@ -113,7 +113,7 @@ static int atmel_pwm_bl_init_pwm(struct=20 - return pwm_channel_enable(&pwmbl->pwmc); - } -=20 --static struct backlight_ops atmel_pwm_bl_ops =3D { -+static const struct backlight_ops atmel_pwm_bl_ops =3D { - .get_brightness =3D atmel_pwm_bl_get_intensity, - .update_status =3D atmel_pwm_bl_set_intensity, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/backlight.c linux-2.6= .32.48/drivers/video/backlight/backlight.c ---- linux-2.6.32.48/drivers/video/backlight/backlight.c 2011-11-12 12:44= :30.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/backlight.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -269,7 +269,7 @@ EXPORT_SYMBOL(backlight_force_update); - * ERR_PTR() or a pointer to the newly allocated device. - */ - struct backlight_device *backlight_device_register(const char *name, -- struct device *parent, void *devdata, struct backlight_ops *ops) -+ struct device *parent, void *devdata, const struct backlight_ops *ops= ) - { - struct backlight_device *new_bd; - int rc; -diff -urNp linux-2.6.32.48/drivers/video/backlight/corgi_lcd.c linux-2.6= .32.48/drivers/video/backlight/corgi_lcd.c ---- linux-2.6.32.48/drivers/video/backlight/corgi_lcd.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/corgi_lcd.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -451,7 +451,7 @@ void corgi_lcd_limit_intensity(int limit - } - EXPORT_SYMBOL(corgi_lcd_limit_intensity); -=20 --static struct backlight_ops corgi_bl_ops =3D { -+static const struct backlight_ops corgi_bl_ops =3D { - .get_brightness =3D corgi_bl_get_intensity, - .update_status =3D corgi_bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/cr_bllcd.c linux-2.6.= 32.48/drivers/video/backlight/cr_bllcd.c ---- linux-2.6.32.48/drivers/video/backlight/cr_bllcd.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/cr_bllcd.c 2011-11-12 12:46:= 45.000000000 -0500 -@@ -108,7 +108,7 @@ static int cr_backlight_get_intensity(st - return intensity; - } -=20 --static struct backlight_ops cr_backlight_ops =3D { -+static const struct backlight_ops cr_backlight_ops =3D { - .get_brightness =3D cr_backlight_get_intensity, - .update_status =3D cr_backlight_set_intensity, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/da903x_bl.c linux-2.6= .32.48/drivers/video/backlight/da903x_bl.c ---- linux-2.6.32.48/drivers/video/backlight/da903x_bl.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/da903x_bl.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -94,7 +94,7 @@ static int da903x_backlight_get_brightne - return data->current_brightness; - } -=20 --static struct backlight_ops da903x_backlight_ops =3D { -+static const struct backlight_ops da903x_backlight_ops =3D { - .update_status =3D da903x_backlight_update_status, - .get_brightness =3D da903x_backlight_get_brightness, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/generic_bl.c linux-2.= 6.32.48/drivers/video/backlight/generic_bl.c ---- linux-2.6.32.48/drivers/video/backlight/generic_bl.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/generic_bl.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -70,7 +70,7 @@ void corgibl_limit_intensity(int limit) - } - EXPORT_SYMBOL(corgibl_limit_intensity); -=20 --static struct backlight_ops genericbl_ops =3D { -+static const struct backlight_ops genericbl_ops =3D { - .options =3D BL_CORE_SUSPENDRESUME, - .get_brightness =3D genericbl_get_intensity, - .update_status =3D genericbl_send_intensity, -diff -urNp linux-2.6.32.48/drivers/video/backlight/hp680_bl.c linux-2.6.= 32.48/drivers/video/backlight/hp680_bl.c ---- linux-2.6.32.48/drivers/video/backlight/hp680_bl.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/hp680_bl.c 2011-11-12 12:46:= 45.000000000 -0500 -@@ -98,7 +98,7 @@ static int hp680bl_get_intensity(struct=20 - return current_intensity; - } -=20 --static struct backlight_ops hp680bl_ops =3D { -+static const struct backlight_ops hp680bl_ops =3D { - .get_brightness =3D hp680bl_get_intensity, - .update_status =3D hp680bl_set_intensity, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/jornada720_bl.c linux= -2.6.32.48/drivers/video/backlight/jornada720_bl.c ---- linux-2.6.32.48/drivers/video/backlight/jornada720_bl.c 2009-12-02 2= 2:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/jornada720_bl.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -93,7 +93,7 @@ out: - return ret; - } -=20 --static struct backlight_ops jornada_bl_ops =3D { -+static const struct backlight_ops jornada_bl_ops =3D { - .get_brightness =3D jornada_bl_get_brightness, - .update_status =3D jornada_bl_update_status, - .options =3D BL_CORE_SUSPENDRESUME, -diff -urNp linux-2.6.32.48/drivers/video/backlight/kb3886_bl.c linux-2.6= .32.48/drivers/video/backlight/kb3886_bl.c ---- linux-2.6.32.48/drivers/video/backlight/kb3886_bl.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/kb3886_bl.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -134,7 +134,7 @@ static int kb3886bl_get_intensity(struct - return kb3886bl_intensity; - } -=20 --static struct backlight_ops kb3886bl_ops =3D { -+static const struct backlight_ops kb3886bl_ops =3D { - .get_brightness =3D kb3886bl_get_intensity, - .update_status =3D kb3886bl_send_intensity, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/locomolcd.c linux-2.6= .32.48/drivers/video/backlight/locomolcd.c ---- linux-2.6.32.48/drivers/video/backlight/locomolcd.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/locomolcd.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -141,7 +141,7 @@ static int locomolcd_get_intensity(struc - return current_intensity; - } -=20 --static struct backlight_ops locomobl_data =3D { -+static const struct backlight_ops locomobl_data =3D { - .get_brightness =3D locomolcd_get_intensity, - .update_status =3D locomolcd_set_intensity, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/mbp_nvidia_bl.c linux= -2.6.32.48/drivers/video/backlight/mbp_nvidia_bl.c ---- linux-2.6.32.48/drivers/video/backlight/mbp_nvidia_bl.c 2011-11-12 1= 2:44:30.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/mbp_nvidia_bl.c 2011-11-12 1= 2:46:45.000000000 -0500 -@@ -33,7 +33,7 @@ struct dmi_match_data { - unsigned long iostart; - unsigned long iolen; - /* Backlight operations structure. */ -- struct backlight_ops backlight_ops; -+ const struct backlight_ops backlight_ops; - }; -=20 - /* Module parameters. */ -diff -urNp linux-2.6.32.48/drivers/video/backlight/omap1_bl.c linux-2.6.= 32.48/drivers/video/backlight/omap1_bl.c ---- linux-2.6.32.48/drivers/video/backlight/omap1_bl.c 2009-12-02 22:51:= 21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/omap1_bl.c 2011-11-12 12:46:= 45.000000000 -0500 -@@ -125,7 +125,7 @@ static int omapbl_get_intensity(struct b - return bl->current_intensity; - } -=20 --static struct backlight_ops omapbl_ops =3D { -+static const struct backlight_ops omapbl_ops =3D { - .get_brightness =3D omapbl_get_intensity, - .update_status =3D omapbl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/progear_bl.c linux-2.= 6.32.48/drivers/video/backlight/progear_bl.c ---- linux-2.6.32.48/drivers/video/backlight/progear_bl.c 2009-12-02 22:5= 1:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/progear_bl.c 2011-11-12 12:4= 6:45.000000000 -0500 -@@ -54,7 +54,7 @@ static int progearbl_get_intensity(struc - return intensity - HW_LEVEL_MIN; - } -=20 --static struct backlight_ops progearbl_ops =3D { -+static const struct backlight_ops progearbl_ops =3D { - .get_brightness =3D progearbl_get_intensity, - .update_status =3D progearbl_set_intensity, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/pwm_bl.c linux-2.6.32= .48/drivers/video/backlight/pwm_bl.c ---- linux-2.6.32.48/drivers/video/backlight/pwm_bl.c 2009-12-02 22:51:21= .000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/pwm_bl.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -56,7 +56,7 @@ static int pwm_backlight_get_brightness( - return bl->props.brightness; - } -=20 --static struct backlight_ops pwm_backlight_ops =3D { -+static const struct backlight_ops pwm_backlight_ops =3D { - .update_status =3D pwm_backlight_update_status, - .get_brightness =3D pwm_backlight_get_brightness, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/tosa_bl.c linux-2.6.3= 2.48/drivers/video/backlight/tosa_bl.c ---- linux-2.6.32.48/drivers/video/backlight/tosa_bl.c 2009-12-02 22:51:2= 1.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/tosa_bl.c 2011-11-12 12:46:4= 5.000000000 -0500 -@@ -72,7 +72,7 @@ static int tosa_bl_get_brightness(struct - return props->brightness; - } -=20 --static struct backlight_ops bl_ops =3D { -+static const struct backlight_ops bl_ops =3D { - .get_brightness =3D tosa_bl_get_brightness, - .update_status =3D tosa_bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/video/backlight/wm831x_bl.c linux-2.6= .32.48/drivers/video/backlight/wm831x_bl.c ---- linux-2.6.32.48/drivers/video/backlight/wm831x_bl.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/backlight/wm831x_bl.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -112,7 +112,7 @@ static int wm831x_backlight_get_brightne - return data->current_brightness; - } -=20 --static struct backlight_ops wm831x_backlight_ops =3D { -+static const struct backlight_ops wm831x_backlight_ops =3D { - .options =3D BL_CORE_SUSPENDRESUME, - .update_status =3D wm831x_backlight_update_status, - .get_brightness =3D wm831x_backlight_get_brightness, -diff -urNp linux-2.6.32.48/drivers/video/bf54x-lq043fb.c linux-2.6.32.48= /drivers/video/bf54x-lq043fb.c ---- linux-2.6.32.48/drivers/video/bf54x-lq043fb.c 2009-12-02 22:51:21.00= 0000000 -0500 -+++ linux-2.6.32.48/drivers/video/bf54x-lq043fb.c 2011-11-12 12:46:45.00= 0000000 -0500 -@@ -463,7 +463,7 @@ static int bl_get_brightness(struct back - return 0; - } -=20 --static struct backlight_ops bfin_lq043fb_bl_ops =3D { -+static const struct backlight_ops bfin_lq043fb_bl_ops =3D { - .get_brightness =3D bl_get_brightness, - }; -=20 -diff -urNp linux-2.6.32.48/drivers/video/bfin-t350mcqb-fb.c linux-2.6.32= .48/drivers/video/bfin-t350mcqb-fb.c ---- linux-2.6.32.48/drivers/video/bfin-t350mcqb-fb.c 2011-11-12 12:44:30= .000000000 -0500 -+++ linux-2.6.32.48/drivers/video/bfin-t350mcqb-fb.c 2011-11-12 12:46:45= .000000000 -0500 -@@ -381,7 +381,7 @@ static int bl_get_brightness(struct back - return 0; - } -=20 --static struct backlight_ops bfin_lq043fb_bl_ops =3D { -+static const struct backlight_ops bfin_lq043fb_bl_ops =3D { - .get_brightness =3D bl_get_brightness, +diff -urNp linux-3.0.8/drivers/vhost/vhost.c linux-3.0.8/drivers/vhost/v= host.c +--- linux-3.0.8/drivers/vhost/vhost.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/vhost/vhost.c 2011-08-23 21:47:56.000000000 -040= 0 +@@ -589,7 +589,7 @@ static int init_used(struct vhost_virtqu + return get_user(vq->last_used_idx, &used->idx); + } +=20 +-static long vhost_set_vring(struct vhost_dev *d, int ioctl, void __user= *argp) ++static long vhost_set_vring(struct vhost_dev *d, unsigned int ioctl, vo= id __user *argp) + { + struct file *eventfp, *filep =3D NULL, + *pollstart =3D NULL, *pollstop =3D NULL; +diff -urNp linux-3.0.8/drivers/video/aty/aty128fb.c linux-3.0.8/drivers/= video/aty/aty128fb.c +--- linux-3.0.8/drivers/video/aty/aty128fb.c 2011-07-21 22:17:23.0000000= 00 -0400 ++++ linux-3.0.8/drivers/video/aty/aty128fb.c 2011-10-11 10:44:33.0000000= 00 -0400 +@@ -148,7 +148,7 @@ enum { }; =20 -diff -urNp linux-2.6.32.48/drivers/video/fbcmap.c linux-2.6.32.48/driver= s/video/fbcmap.c ---- linux-2.6.32.48/drivers/video/fbcmap.c 2009-12-02 22:51:21.000000000= -0500 -+++ linux-2.6.32.48/drivers/video/fbcmap.c 2011-11-12 12:46:45.000000000= -0500 -@@ -266,8 +266,7 @@ int fb_set_user_cmap(struct fb_cmap_user + /* Must match above enum */ +-static const char *r128_family[] __devinitdata =3D { ++static const char *r128_family[] __devinitconst =3D { + "AGP", + "PCI", + "PRO AGP", +diff -urNp linux-3.0.8/drivers/video/fbcmap.c linux-3.0.8/drivers/video/= fbcmap.c +--- linux-3.0.8/drivers/video/fbcmap.c 2011-07-21 22:17:23.000000000 -04= 00 ++++ linux-3.0.8/drivers/video/fbcmap.c 2011-08-23 21:47:56.000000000 -04= 00 +@@ -285,8 +285,7 @@ int fb_set_user_cmap(struct fb_cmap_user rc =3D -ENODEV; goto out; } @@ -39369,10 +36431,10 @@ diff -urNp linux-2.6.32.48/drivers/video/fbcmap= .c linux-2.6.32.48/drivers/video/ rc =3D -EINVAL; goto out1; } -diff -urNp linux-2.6.32.48/drivers/video/fbmem.c linux-2.6.32.48/drivers= /video/fbmem.c ---- linux-2.6.32.48/drivers/video/fbmem.c 2009-12-02 22:51:21.000000000 = -0500 -+++ linux-2.6.32.48/drivers/video/fbmem.c 2011-11-12 12:46:45.000000000 = -0500 -@@ -403,7 +403,7 @@ static void fb_do_show_logo(struct fb_in +diff -urNp linux-3.0.8/drivers/video/fbmem.c linux-3.0.8/drivers/video/f= bmem.c +--- linux-3.0.8/drivers/video/fbmem.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/video/fbmem.c 2011-08-23 21:48:14.000000000 -040= 0 +@@ -428,7 +428,7 @@ static void fb_do_show_logo(struct fb_in image->dx +=3D image->width + 8; } } else if (rotate =3D=3D FB_ROTATE_UD) { @@ -39381,7 +36443,7 @@ diff -urNp linux-2.6.32.48/drivers/video/fbmem.c = linux-2.6.32.48/drivers/video/f info->fbops->fb_imageblit(info, image); image->dx -=3D image->width + 8; } -@@ -415,7 +415,7 @@ static void fb_do_show_logo(struct fb_in +@@ -440,7 +440,7 @@ static void fb_do_show_logo(struct fb_in image->dy +=3D image->height + 8; } } else if (rotate =3D=3D FB_ROTATE_CCW) { @@ -39390,7 +36452,7 @@ diff -urNp linux-2.6.32.48/drivers/video/fbmem.c = linux-2.6.32.48/drivers/video/f info->fbops->fb_imageblit(info, image); image->dy -=3D image->height + 8; } -@@ -915,6 +915,8 @@ fb_set_var(struct fb_info *info, struct=20 +@@ -939,6 +939,8 @@ fb_set_var(struct fb_info *info, struct=20 int flags =3D info->flags; int ret =3D 0; =20 @@ -39399,7 +36461,7 @@ diff -urNp linux-2.6.32.48/drivers/video/fbmem.c = linux-2.6.32.48/drivers/video/f if (var->activate & FB_ACTIVATE_INV_MODE) { struct fb_videomode mode1, mode2; =20 -@@ -1040,6 +1042,8 @@ static long do_fb_ioctl(struct fb_info * +@@ -1064,6 +1066,8 @@ static long do_fb_ioctl(struct fb_info * void __user *argp =3D (void __user *)arg; long ret =3D 0; =20 @@ -39408,7 +36470,7 @@ diff -urNp linux-2.6.32.48/drivers/video/fbmem.c = linux-2.6.32.48/drivers/video/f switch (cmd) { case FBIOGET_VSCREENINFO: if (!lock_fb_info(info)) -@@ -1119,7 +1123,7 @@ static long do_fb_ioctl(struct fb_info * +@@ -1143,7 +1147,7 @@ static long do_fb_ioctl(struct fb_info * return -EFAULT; if (con2fb.console < 1 || con2fb.console > MAX_NR_CONSOLES) return -EINVAL; @@ -39417,9 +36479,42 @@ diff -urNp linux-2.6.32.48/drivers/video/fbmem.c= linux-2.6.32.48/drivers/video/f return -EINVAL; if (!registered_fb[con2fb.framebuffer]) request_module("fb%d", con2fb.framebuffer); -diff -urNp linux-2.6.32.48/drivers/video/i810/i810_accel.c linux-2.6.32.= 48/drivers/video/i810/i810_accel.c ---- linux-2.6.32.48/drivers/video/i810/i810_accel.c 2009-12-02 22:51:21.= 000000000 -0500 -+++ linux-2.6.32.48/drivers/video/i810/i810_accel.c 2011-11-12 12:46:45.= 000000000 -0500 +diff -urNp linux-3.0.8/drivers/video/geode/gx1fb_core.c linux-3.0.8/driv= ers/video/geode/gx1fb_core.c +--- linux-3.0.8/drivers/video/geode/gx1fb_core.c 2011-07-21 22:17:23.000= 000000 -0400 ++++ linux-3.0.8/drivers/video/geode/gx1fb_core.c 2011-10-11 10:44:33.000= 000000 -0400 +@@ -29,7 +29,7 @@ static int crt_option =3D 1; + static char panel_option[32] =3D ""; +=20 + /* Modes relevant to the GX1 (taken from modedb.c) */ +-static const struct fb_videomode __devinitdata gx1_modedb[] =3D { ++static const struct fb_videomode __devinitconst gx1_modedb[] =3D { + /* 640x480-60 VESA */ + { NULL, 60, 640, 480, 39682, 48, 16, 33, 10, 96, 2, + 0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA }, +diff -urNp linux-3.0.8/drivers/video/gxt4500.c linux-3.0.8/drivers/video= /gxt4500.c +--- linux-3.0.8/drivers/video/gxt4500.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/video/gxt4500.c 2011-10-11 10:44:33.000000000 -0= 400 +@@ -156,7 +156,7 @@ struct gxt4500_par { + static char *mode_option; +=20 + /* default mode: 1280x1024 @ 60 Hz, 8 bpp */ +-static const struct fb_videomode defaultmode __devinitdata =3D { ++static const struct fb_videomode defaultmode __devinitconst =3D { + .refresh =3D 60, + .xres =3D 1280, + .yres =3D 1024, +@@ -581,7 +581,7 @@ static int gxt4500_blank(int blank, stru + return 0; + } +=20 +-static const struct fb_fix_screeninfo gxt4500_fix __devinitdata =3D { ++static const struct fb_fix_screeninfo gxt4500_fix __devinitconst =3D { + .id =3D "IBM GXT4500P", + .type =3D FB_TYPE_PACKED_PIXELS, + .visual =3D FB_VISUAL_PSEUDOCOLOR, +diff -urNp linux-3.0.8/drivers/video/i810/i810_accel.c linux-3.0.8/drive= rs/video/i810/i810_accel.c +--- linux-3.0.8/drivers/video/i810/i810_accel.c 2011-07-21 22:17:23.0000= 00000 -0400 ++++ linux-3.0.8/drivers/video/i810/i810_accel.c 2011-08-23 21:47:56.0000= 00000 -0400 @@ -73,6 +73,7 @@ static inline int wait_for_space(struct=20 } } @@ -39428,9 +36523,33 @@ diff -urNp linux-2.6.32.48/drivers/video/i810/i8= 10_accel.c linux-2.6.32.48/drive i810_report_error(mmio);=20 par->dev_flags |=3D LOCKUP; info->pixmap.scan_align =3D 1; -diff -urNp linux-2.6.32.48/drivers/video/logo/logo_linux_clut224.ppm lin= ux-2.6.32.48/drivers/video/logo/logo_linux_clut224.ppm ---- linux-2.6.32.48/drivers/video/logo/logo_linux_clut224.ppm 2009-12-02= 22:51:21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/logo/logo_linux_clut224.ppm 2011-11-12= 12:46:45.000000000 -0500 +diff -urNp linux-3.0.8/drivers/video/i810/i810_main.c linux-3.0.8/driver= s/video/i810/i810_main.c +--- linux-3.0.8/drivers/video/i810/i810_main.c 2011-07-21 22:17:23.00000= 0000 -0400 ++++ linux-3.0.8/drivers/video/i810/i810_main.c 2011-10-11 10:44:33.00000= 0000 -0400 +@@ -97,7 +97,7 @@ static int i810fb_blank (int blank_ + static void i810fb_release_resource (struct fb_info *info, struct= i810fb_par *par); +=20 + /* PCI */ +-static const char *i810_pci_list[] __devinitdata =3D { ++static const char *i810_pci_list[] __devinitconst =3D { + "Intel(R) 810 Framebuffer Device" , + "Intel(R) 810-DC100 Framebuffer Device" , + "Intel(R) 810E Framebuffer Device" , +diff -urNp linux-3.0.8/drivers/video/jz4740_fb.c linux-3.0.8/drivers/vid= eo/jz4740_fb.c +--- linux-3.0.8/drivers/video/jz4740_fb.c 2011-07-21 22:17:23.000000000 = -0400 ++++ linux-3.0.8/drivers/video/jz4740_fb.c 2011-10-11 10:44:33.000000000 = -0400 +@@ -136,7 +136,7 @@ struct jzfb { + uint32_t pseudo_palette[16]; + }; +=20 +-static const struct fb_fix_screeninfo jzfb_fix __devinitdata =3D { ++static const struct fb_fix_screeninfo jzfb_fix __devinitconst =3D { + .id =3D "JZ4740 FB", + .type =3D FB_TYPE_PACKED_PIXELS, + .visual =3D FB_VISUAL_TRUECOLOR, +diff -urNp linux-3.0.8/drivers/video/logo/logo_linux_clut224.ppm linux-3= .0.8/drivers/video/logo/logo_linux_clut224.ppm +--- linux-3.0.8/drivers/video/logo/logo_linux_clut224.ppm 2011-07-21 22:= 17:23.000000000 -0400 ++++ linux-3.0.8/drivers/video/logo/logo_linux_clut224.ppm 2011-08-29 23:= 49:40.000000000 -0400 @@ -1,1604 +1,1123 @@ P3 -# Standard 224-color Linux logo @@ -42156,42 +39275,104 @@ diff -urNp linux-2.6.32.48/drivers/video/logo/= logo_linux_clut224.ppm linux-2.6.3 +4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 +4 4 4 4 4 4 -diff -urNp linux-2.6.32.48/drivers/video/nvidia/nv_backlight.c linux-2.6= .32.48/drivers/video/nvidia/nv_backlight.c ---- linux-2.6.32.48/drivers/video/nvidia/nv_backlight.c 2009-12-02 22:51= :21.000000000 -0500 -+++ linux-2.6.32.48/drivers/video/nvidia/nv_backlight.c 2011-11-12 12:46= :45.000000000 -0500 -@@ -87,7 +87,7 @@ static int nvidia_bl_get_brightness(stru - return bd->props.brightness; - } +diff -urNp linux-3.0.8/drivers/video/udlfb.c linux-3.0.8/drivers/video/u= dlfb.c +--- linux-3.0.8/drivers/video/udlfb.c 2011-07-21 22:17:23.000000000 -040= 0 ++++ linux-3.0.8/drivers/video/udlfb.c 2011-08-23 21:47:56.000000000 -040= 0 +@@ -586,11 +586,11 @@ int dlfb_handle_damage(struct dlfb_data=20 + dlfb_urb_completion(urb); =20 --static struct backlight_ops nvidia_bl_ops =3D { -+static const struct backlight_ops nvidia_bl_ops =3D { - .get_brightness =3D nvidia_bl_get_brightness, - .update_status =3D nvidia_bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/video/riva/fbdev.c linux-2.6.32.48/dr= ivers/video/riva/fbdev.c ---- linux-2.6.32.48/drivers/video/riva/fbdev.c 2009-12-02 22:51:21.00000= 0000 -0500 -+++ linux-2.6.32.48/drivers/video/riva/fbdev.c 2011-11-12 12:46:45.00000= 0000 -0500 -@@ -331,7 +331,7 @@ static int riva_bl_get_brightness(struct - return bd->props.brightness; - } + error: +- atomic_add(bytes_sent, &dev->bytes_sent); +- atomic_add(bytes_identical, &dev->bytes_identical); +- atomic_add(width*height*2, &dev->bytes_rendered); ++ atomic_add_unchecked(bytes_sent, &dev->bytes_sent); ++ atomic_add_unchecked(bytes_identical, &dev->bytes_identical); ++ atomic_add_unchecked(width*height*2, &dev->bytes_rendered); + end_cycles =3D get_cycles(); +- atomic_add(((unsigned int) ((end_cycles - start_cycles) ++ atomic_add_unchecked(((unsigned int) ((end_cycles - start_cycles) + >> 10)), /* Kcycles */ + &dev->cpu_kcycles_used); +=20 +@@ -711,11 +711,11 @@ static void dlfb_dpy_deferred_io(struct=20 + dlfb_urb_completion(urb); =20 --static struct backlight_ops riva_bl_ops =3D { -+static const struct backlight_ops riva_bl_ops =3D { - .get_brightness =3D riva_bl_get_brightness, - .update_status =3D riva_bl_update_status, - }; -diff -urNp linux-2.6.32.48/drivers/video/uvesafb.c linux-2.6.32.48/drive= rs/video/uvesafb.c ---- linux-2.6.32.48/drivers/video/uvesafb.c 2009-12-02 22:51:21.00000000= 0 -0500 -+++ linux-2.6.32.48/drivers/video/uvesafb.c 2011-11-12 12:46:45.00000000= 0 -0500 -@@ -18,6 +18,7 @@ - #include + error: +- atomic_add(bytes_sent, &dev->bytes_sent); +- atomic_add(bytes_identical, &dev->bytes_identical); +- atomic_add(bytes_rendered, &dev->bytes_rendered); ++ atomic_add_unchecked(bytes_sent, &dev->bytes_sent); ++ atomic_add_unchecked(bytes_identical, &dev->bytes_identical); ++ atomic_add_unchecked(bytes_rendered, &dev->bytes_rendered); + end_cycles =3D get_cycles(); +- atomic_add(((unsigned int) ((end_cycles - start_cycles) ++ atomic_add_unchecked(((unsigned int) ((end_cycles - start_cycles) + >> 10)), /* Kcycles */ + &dev->cpu_kcycles_used); + } +@@ -1307,7 +1307,7 @@ static ssize_t metrics_bytes_rendered_sh + struct fb_info *fb_info =3D dev_get_drvdata(fbdev); + struct dlfb_data *dev =3D fb_info->par; + return snprintf(buf, PAGE_SIZE, "%u\n", +- atomic_read(&dev->bytes_rendered)); ++ atomic_read_unchecked(&dev->bytes_rendered)); + } +=20 + static ssize_t metrics_bytes_identical_show(struct device *fbdev, +@@ -1315,7 +1315,7 @@ static ssize_t metrics_bytes_identical_s + struct fb_info *fb_info =3D dev_get_drvdata(fbdev); + struct dlfb_data *dev =3D fb_info->par; + return snprintf(buf, PAGE_SIZE, "%u\n", +- atomic_read(&dev->bytes_identical)); ++ atomic_read_unchecked(&dev->bytes_identical)); + } +=20 + static ssize_t metrics_bytes_sent_show(struct device *fbdev, +@@ -1323,7 +1323,7 @@ static ssize_t metrics_bytes_sent_show(s + struct fb_info *fb_info =3D dev_get_drvdata(fbdev); + struct dlfb_data *dev =3D fb_info->par; + return snprintf(buf, PAGE_SIZE, "%u\n", +- atomic_read(&dev->bytes_sent)); ++ atomic_read_unchecked(&dev->bytes_sent)); + } +=20 + static ssize_t metrics_cpu_kcycles_used_show(struct device *fbdev, +@@ -1331,7 +1331,7 @@ static ssize_t metrics_cpu_kcycles_used_ + struct fb_info *fb_info =3D dev_get_drvdata(fbdev); + struct dlfb_data *dev =3D fb_info->par; + return snprintf(buf, PAGE_SIZE, "%u\n", +- atomic_read(&dev->cpu_kcycles_used)); ++ atomic_read_unchecked(&dev->cpu_kcycles_used)); + } +=20 + static ssize_t edid_show( +@@ -1388,10 +1388,10 @@ static ssize_t metrics_reset_store(struc + struct fb_info *fb_info =3D dev_get_drvdata(fbdev); + struct dlfb_data *dev =3D fb_info->par; +=20 +- atomic_set(&dev->bytes_rendered, 0); +- atomic_set(&dev->bytes_identical, 0); +- atomic_set(&dev->bytes_sent, 0); +- atomic_set(&dev->cpu_kcycles_used, 0); ++ atomic_set_unchecked(&dev->bytes_rendered, 0); ++ atomic_set_unchecked(&dev->bytes_identical, 0); ++ atomic_set_unchecked(&dev->bytes_sent, 0); ++ atomic_set_unchecked(&dev->cpu_kcycles_used, 0); +=20 + return count; + } +diff -urNp linux-3.0.8/drivers/video/uvesafb.c linux-3.0.8/drivers/video= /uvesafb.c +--- linux-3.0.8/drivers/video/uvesafb.c 2011-07-21 22:17:23.000000000 -0= 400 ++++ linux-3.0.8/drivers/video/uvesafb.c 2011-08-23 21:47:56.000000000 -0= 400 +@@ -19,6 +19,7 @@ #include #include + #include +#include #include