summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2013-04-01 13:31:10 -0400
committerAnthony G. Basile <blueness@gentoo.org>2013-04-01 13:31:10 -0400
commitd02438c075ea4af178d2612ee8909bf13cd82af4 (patch)
tree8135070edec049b1a61985bb23b770ef25ee93b2
parentGrsec/PaX: 2.9.1-{2.6.32.60,3.2.41,3.8.4}-201303252031 (diff)
downloadhardened-patchset-d02438c075ea4af178d2612ee8909bf13cd82af4.tar.gz
hardened-patchset-d02438c075ea4af178d2612ee8909bf13cd82af4.tar.bz2
hardened-patchset-d02438c075ea4af178d2612ee8909bf13cd82af4.zip
Grsec/PaX: 2.9.1-{2.6.32.60,3.2.42,3.8.5}-20130329201820130329
-rw-r--r--2.6.32/0000_README2
-rw-r--r--2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303292014.patch (renamed from 2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303252031.patch)33
-rw-r--r--3.2.42/0000_README (renamed from 3.2.41/0000_README)6
-rw-r--r--3.2.42/1021_linux-3.2.22.patch (renamed from 3.2.41/1021_linux-3.2.22.patch)0
-rw-r--r--3.2.42/1022_linux-3.2.23.patch (renamed from 3.2.41/1022_linux-3.2.23.patch)0
-rw-r--r--3.2.42/1023_linux-3.2.24.patch (renamed from 3.2.41/1023_linux-3.2.24.patch)0
-rw-r--r--3.2.42/1024_linux-3.2.25.patch (renamed from 3.2.41/1024_linux-3.2.25.patch)0
-rw-r--r--3.2.42/1025_linux-3.2.26.patch (renamed from 3.2.41/1025_linux-3.2.26.patch)0
-rw-r--r--3.2.42/1026_linux-3.2.27.patch (renamed from 3.2.41/1026_linux-3.2.27.patch)0
-rw-r--r--3.2.42/1027_linux-3.2.28.patch (renamed from 3.2.41/1027_linux-3.2.28.patch)0
-rw-r--r--3.2.42/1028_linux-3.2.29.patch (renamed from 3.2.41/1028_linux-3.2.29.patch)0
-rw-r--r--3.2.42/1029_linux-3.2.30.patch (renamed from 3.2.41/1029_linux-3.2.30.patch)0
-rw-r--r--3.2.42/1030_linux-3.2.31.patch (renamed from 3.2.41/1030_linux-3.2.31.patch)0
-rw-r--r--3.2.42/1031_linux-3.2.32.patch (renamed from 3.2.41/1031_linux-3.2.32.patch)0
-rw-r--r--3.2.42/1032_linux-3.2.33.patch (renamed from 3.2.41/1032_linux-3.2.33.patch)0
-rw-r--r--3.2.42/1033_linux-3.2.34.patch (renamed from 3.2.41/1033_linux-3.2.34.patch)0
-rw-r--r--3.2.42/1034_linux-3.2.35.patch (renamed from 3.2.41/1034_linux-3.2.35.patch)0
-rw-r--r--3.2.42/1035_linux-3.2.36.patch (renamed from 3.2.41/1035_linux-3.2.36.patch)0
-rw-r--r--3.2.42/1036_linux-3.2.37.patch (renamed from 3.2.41/1036_linux-3.2.37.patch)0
-rw-r--r--3.2.42/1037_linux-3.2.38.patch (renamed from 3.2.41/1037_linux-3.2.38.patch)0
-rw-r--r--3.2.42/1038_linux-3.2.39.patch (renamed from 3.2.41/1038_linux-3.2.39.patch)0
-rw-r--r--3.2.42/1039_linux-3.2.40.patch (renamed from 3.2.41/1039_linux-3.2.40.patch)0
-rw-r--r--3.2.42/1040_linux-3.2.41.patch (renamed from 3.2.41/1040_linux-3.2.41.patch)0
-rw-r--r--3.2.42/1041_linux-3.2.42.patch3602
-rw-r--r--3.2.42/4420_grsecurity-2.9.1-3.2.42-201303292017.patch (renamed from 3.2.41/4420_grsecurity-2.9.1-3.2.41-201303252031.patch)15121
-rw-r--r--3.2.42/4425_grsec_remove_EI_PAX.patch (renamed from 3.2.41/4425_grsec_remove_EI_PAX.patch)0
-rw-r--r--3.2.42/4430_grsec-remove-localversion-grsec.patch (renamed from 3.2.41/4430_grsec-remove-localversion-grsec.patch)0
-rw-r--r--3.2.42/4435_grsec-mute-warnings.patch (renamed from 3.2.41/4435_grsec-mute-warnings.patch)0
-rw-r--r--3.2.42/4440_grsec-remove-protected-paths.patch (renamed from 3.2.41/4440_grsec-remove-protected-paths.patch)0
-rw-r--r--3.2.42/4450_grsec-kconfig-default-gids.patch (renamed from 3.2.41/4450_grsec-kconfig-default-gids.patch)0
-rw-r--r--3.2.42/4465_selinux-avc_audit-log-curr_ip.patch (renamed from 3.2.41/4465_selinux-avc_audit-log-curr_ip.patch)0
-rw-r--r--3.2.42/4470_disable-compat_vdso.patch (renamed from 3.2.41/4470_disable-compat_vdso.patch)0
-rw-r--r--3.8.4/1003_linux-3.8.4.patch2902
-rw-r--r--3.8.5/0000_README (renamed from 3.8.4/0000_README)6
-rw-r--r--3.8.5/1004_linux-3.8.5.patch3805
-rw-r--r--3.8.5/4420_grsecurity-2.9.1-3.8.5-201303292018.patch (renamed from 3.8.4/4420_grsecurity-2.9.1-3.8.4-201303252035.patch)940
-rw-r--r--3.8.5/4425_grsec_remove_EI_PAX.patch (renamed from 3.8.4/4425_grsec_remove_EI_PAX.patch)0
-rw-r--r--3.8.5/4430_grsec-remove-localversion-grsec.patch (renamed from 3.8.4/4430_grsec-remove-localversion-grsec.patch)0
-rw-r--r--3.8.5/4435_grsec-mute-warnings.patch (renamed from 3.8.4/4435_grsec-mute-warnings.patch)0
-rw-r--r--3.8.5/4440_grsec-remove-protected-paths.patch (renamed from 3.8.4/4440_grsec-remove-protected-paths.patch)0
-rw-r--r--3.8.5/4450_grsec-kconfig-default-gids.patch (renamed from 3.8.4/4450_grsec-kconfig-default-gids.patch)0
-rw-r--r--3.8.5/4465_selinux-avc_audit-log-curr_ip.patch (renamed from 3.8.4/4465_selinux-avc_audit-log-curr_ip.patch)0
-rw-r--r--3.8.5/4470_disable-compat_vdso.patch (renamed from 3.8.4/4470_disable-compat_vdso.patch)0
43 files changed, 19010 insertions, 7407 deletions
diff --git a/2.6.32/0000_README b/2.6.32/0000_README
index ad0b750..7ca453d 100644
--- a/2.6.32/0000_README
+++ b/2.6.32/0000_README
@@ -34,7 +34,7 @@ Patch: 1059_linux-2.6.32.60.patch
From: http://www.kernel.org
Desc: Linux 2.6.32.59
-Patch: 4420_grsecurity-2.9.1-2.6.32.60-201303252031.patch
+Patch: 4420_grsecurity-2.9.1-2.6.32.60-201303292014.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303252031.patch b/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303292014.patch
index 0b5fc75..095a480 100644
--- a/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303252031.patch
+++ b/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303292014.patch
@@ -10274,7 +10274,7 @@ index 4edd8eb..273579e 100644
CFI_ENDPROC
diff --git a/arch/x86/ia32/sys_ia32.c b/arch/x86/ia32/sys_ia32.c
-index 016218c..47ccbdd 100644
+index 016218c..c5cd85d 100644
--- a/arch/x86/ia32/sys_ia32.c
+++ b/arch/x86/ia32/sys_ia32.c
@@ -69,8 +69,8 @@ asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long offset_low,
@@ -10308,7 +10308,14 @@ index 016218c..47ccbdd 100644
set_fs(old_fs);
if (put_compat_timespec(&t, interval))
return -EFAULT;
-@@ -387,7 +387,7 @@ asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
+@@ -381,13 +381,13 @@ asmlinkage long sys32_sched_rr_get_interval(compat_pid_t pid,
+ asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
+ compat_size_t sigsetsize)
+ {
+- sigset_t s;
++ sigset_t s = { };
+ compat_sigset_t s32;
+ int ret;
mm_segment_t old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -81984,9 +81991,18 @@ index cfc3391..dcc083a 100644
(long long) lock->lk_offset,
(long long) lock->lk_length);
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
-index 6d27757..d046ba1 100644
+index 6d27757..616507d 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
+@@ -268,7 +268,7 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval,
+ iattr->ia_valid |= ATTR_SIZE;
+ }
+ if (bmval[0] & FATTR4_WORD0_ACL) {
+- int nace;
++ u32 nace;
+ struct nfs4_ace *ace;
+
+ READ_BUF(4); len += 4;
@@ -1751,6 +1751,8 @@ nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp,
struct nfsd4_compoundres *resp = rqstp->rq_resp;
u32 minorversion = resp->cstate.minorversion;
@@ -118201,7 +118217,7 @@ index e04c9f8..51bc18e 100644
+ (rtt >> sctp_rto_alpha);
} else {
diff --git a/net/socket.c b/net/socket.c
-index d449812..4ac08d3c 100644
+index d449812..709474b 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -87,6 +87,7 @@
@@ -118376,6 +118392,15 @@ index d449812..4ac08d3c 100644
err = -EFAULT;
if (MSG_CMSG_COMPAT & flags) {
if (get_compat_msghdr(&msg_sys, msg_compat))
+@@ -1987,7 +2062,7 @@ SYSCALL_DEFINE3(recvmsg, int, fd, struct msghdr __user *, msg,
+ int fput_needed;
+
+ /* kernel mode address */
+- struct sockaddr_storage addr;
++ struct sockaddr_storage addr = { };
+
+ /* user mode address pointers */
+ struct sockaddr __user *uaddr;
@@ -2022,7 +2097,7 @@ SYSCALL_DEFINE3(recvmsg, int, fd, struct msghdr __user *, msg,
* kernel msghdr to use the kernel address space)
*/
diff --git a/3.2.41/0000_README b/3.2.42/0000_README
index e1de4b2..57b50e6 100644
--- a/3.2.41/0000_README
+++ b/3.2.42/0000_README
@@ -82,7 +82,11 @@ Patch: 1040_linux-3.2.41.patch
From: http://www.kernel.org
Desc: Linux 3.2.41
-Patch: 4420_grsecurity-2.9.1-3.2.41-201303252031.patch
+Patch: 1041_linux-3.2.42.patch
+From: http://www.kernel.org
+Desc: Linux 3.2.42
+
+Patch: 4420_grsecurity-2.9.1-3.2.42-201303292017.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/3.2.41/1021_linux-3.2.22.patch b/3.2.42/1021_linux-3.2.22.patch
index e6ad93a..e6ad93a 100644
--- a/3.2.41/1021_linux-3.2.22.patch
+++ b/3.2.42/1021_linux-3.2.22.patch
diff --git a/3.2.41/1022_linux-3.2.23.patch b/3.2.42/1022_linux-3.2.23.patch
index 3d796d0..3d796d0 100644
--- a/3.2.41/1022_linux-3.2.23.patch
+++ b/3.2.42/1022_linux-3.2.23.patch
diff --git a/3.2.41/1023_linux-3.2.24.patch b/3.2.42/1023_linux-3.2.24.patch
index 4692eb4..4692eb4 100644
--- a/3.2.41/1023_linux-3.2.24.patch
+++ b/3.2.42/1023_linux-3.2.24.patch
diff --git a/3.2.41/1024_linux-3.2.25.patch b/3.2.42/1024_linux-3.2.25.patch
index e95c213..e95c213 100644
--- a/3.2.41/1024_linux-3.2.25.patch
+++ b/3.2.42/1024_linux-3.2.25.patch
diff --git a/3.2.41/1025_linux-3.2.26.patch b/3.2.42/1025_linux-3.2.26.patch
index 44065b9..44065b9 100644
--- a/3.2.41/1025_linux-3.2.26.patch
+++ b/3.2.42/1025_linux-3.2.26.patch
diff --git a/3.2.41/1026_linux-3.2.27.patch b/3.2.42/1026_linux-3.2.27.patch
index 5878eb4..5878eb4 100644
--- a/3.2.41/1026_linux-3.2.27.patch
+++ b/3.2.42/1026_linux-3.2.27.patch
diff --git a/3.2.41/1027_linux-3.2.28.patch b/3.2.42/1027_linux-3.2.28.patch
index 4dbba4b..4dbba4b 100644
--- a/3.2.41/1027_linux-3.2.28.patch
+++ b/3.2.42/1027_linux-3.2.28.patch
diff --git a/3.2.41/1028_linux-3.2.29.patch b/3.2.42/1028_linux-3.2.29.patch
index 3c65179..3c65179 100644
--- a/3.2.41/1028_linux-3.2.29.patch
+++ b/3.2.42/1028_linux-3.2.29.patch
diff --git a/3.2.41/1029_linux-3.2.30.patch b/3.2.42/1029_linux-3.2.30.patch
index 86aea4b..86aea4b 100644
--- a/3.2.41/1029_linux-3.2.30.patch
+++ b/3.2.42/1029_linux-3.2.30.patch
diff --git a/3.2.41/1030_linux-3.2.31.patch b/3.2.42/1030_linux-3.2.31.patch
index c6accf5..c6accf5 100644
--- a/3.2.41/1030_linux-3.2.31.patch
+++ b/3.2.42/1030_linux-3.2.31.patch
diff --git a/3.2.41/1031_linux-3.2.32.patch b/3.2.42/1031_linux-3.2.32.patch
index 247fc0b..247fc0b 100644
--- a/3.2.41/1031_linux-3.2.32.patch
+++ b/3.2.42/1031_linux-3.2.32.patch
diff --git a/3.2.41/1032_linux-3.2.33.patch b/3.2.42/1032_linux-3.2.33.patch
index c32fb75..c32fb75 100644
--- a/3.2.41/1032_linux-3.2.33.patch
+++ b/3.2.42/1032_linux-3.2.33.patch
diff --git a/3.2.41/1033_linux-3.2.34.patch b/3.2.42/1033_linux-3.2.34.patch
index d647b38..d647b38 100644
--- a/3.2.41/1033_linux-3.2.34.patch
+++ b/3.2.42/1033_linux-3.2.34.patch
diff --git a/3.2.41/1034_linux-3.2.35.patch b/3.2.42/1034_linux-3.2.35.patch
index 76a9c19..76a9c19 100644
--- a/3.2.41/1034_linux-3.2.35.patch
+++ b/3.2.42/1034_linux-3.2.35.patch
diff --git a/3.2.41/1035_linux-3.2.36.patch b/3.2.42/1035_linux-3.2.36.patch
index 5d192a3..5d192a3 100644
--- a/3.2.41/1035_linux-3.2.36.patch
+++ b/3.2.42/1035_linux-3.2.36.patch
diff --git a/3.2.41/1036_linux-3.2.37.patch b/3.2.42/1036_linux-3.2.37.patch
index ad13251..ad13251 100644
--- a/3.2.41/1036_linux-3.2.37.patch
+++ b/3.2.42/1036_linux-3.2.37.patch
diff --git a/3.2.41/1037_linux-3.2.38.patch b/3.2.42/1037_linux-3.2.38.patch
index a3c106f..a3c106f 100644
--- a/3.2.41/1037_linux-3.2.38.patch
+++ b/3.2.42/1037_linux-3.2.38.patch
diff --git a/3.2.41/1038_linux-3.2.39.patch b/3.2.42/1038_linux-3.2.39.patch
index 5639e92..5639e92 100644
--- a/3.2.41/1038_linux-3.2.39.patch
+++ b/3.2.42/1038_linux-3.2.39.patch
diff --git a/3.2.41/1039_linux-3.2.40.patch b/3.2.42/1039_linux-3.2.40.patch
index f26b39c..f26b39c 100644
--- a/3.2.41/1039_linux-3.2.40.patch
+++ b/3.2.42/1039_linux-3.2.40.patch
diff --git a/3.2.41/1040_linux-3.2.41.patch b/3.2.42/1040_linux-3.2.41.patch
index 0d27fcb..0d27fcb 100644
--- a/3.2.41/1040_linux-3.2.41.patch
+++ b/3.2.42/1040_linux-3.2.41.patch
diff --git a/3.2.42/1041_linux-3.2.42.patch b/3.2.42/1041_linux-3.2.42.patch
new file mode 100644
index 0000000..77a08ed
--- /dev/null
+++ b/3.2.42/1041_linux-3.2.42.patch
@@ -0,0 +1,3602 @@
+diff --git a/Makefile b/Makefile
+index 95e6220..d44f009 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 2
+-SUBLEVEL = 41
++SUBLEVEL = 42
+ EXTRAVERSION =
+ NAME = Saber-toothed Squirrel
+
+diff --git a/arch/arm/include/asm/signal.h b/arch/arm/include/asm/signal.h
+index 43ba0fb..559ee24 100644
+--- a/arch/arm/include/asm/signal.h
++++ b/arch/arm/include/asm/signal.h
+@@ -127,6 +127,7 @@ struct sigaction {
+ __sigrestore_t sa_restorer;
+ sigset_t sa_mask; /* mask last for extensibility */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ struct k_sigaction {
+ struct sigaction sa;
+diff --git a/arch/avr32/include/asm/signal.h b/arch/avr32/include/asm/signal.h
+index 8790dfc..e6952a0 100644
+--- a/arch/avr32/include/asm/signal.h
++++ b/arch/avr32/include/asm/signal.h
+@@ -128,6 +128,7 @@ struct sigaction {
+ __sigrestore_t sa_restorer;
+ sigset_t sa_mask; /* mask last for extensibility */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ struct k_sigaction {
+ struct sigaction sa;
+diff --git a/arch/cris/include/asm/signal.h b/arch/cris/include/asm/signal.h
+index ea6af9a..057fea2 100644
+--- a/arch/cris/include/asm/signal.h
++++ b/arch/cris/include/asm/signal.h
+@@ -122,6 +122,7 @@ struct sigaction {
+ void (*sa_restorer)(void);
+ sigset_t sa_mask; /* mask last for extensibility */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ struct k_sigaction {
+ struct sigaction sa;
+diff --git a/arch/h8300/include/asm/signal.h b/arch/h8300/include/asm/signal.h
+index fd8b66e..8695707 100644
+--- a/arch/h8300/include/asm/signal.h
++++ b/arch/h8300/include/asm/signal.h
+@@ -121,6 +121,7 @@ struct sigaction {
+ void (*sa_restorer)(void);
+ sigset_t sa_mask; /* mask last for extensibility */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ struct k_sigaction {
+ struct sigaction sa;
+diff --git a/arch/m32r/include/asm/signal.h b/arch/m32r/include/asm/signal.h
+index b2eeb0d..802d561 100644
+--- a/arch/m32r/include/asm/signal.h
++++ b/arch/m32r/include/asm/signal.h
+@@ -123,6 +123,7 @@ struct sigaction {
+ __sigrestore_t sa_restorer;
+ sigset_t sa_mask; /* mask last for extensibility */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ struct k_sigaction {
+ struct sigaction sa;
+diff --git a/arch/m68k/include/asm/signal.h b/arch/m68k/include/asm/signal.h
+index 93fe83e..a20ae63 100644
+--- a/arch/m68k/include/asm/signal.h
++++ b/arch/m68k/include/asm/signal.h
+@@ -119,6 +119,7 @@ struct sigaction {
+ __sigrestore_t sa_restorer;
+ sigset_t sa_mask; /* mask last for extensibility */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ struct k_sigaction {
+ struct sigaction sa;
+diff --git a/arch/mn10300/include/asm/signal.h b/arch/mn10300/include/asm/signal.h
+index 1865d72..eecaa76 100644
+--- a/arch/mn10300/include/asm/signal.h
++++ b/arch/mn10300/include/asm/signal.h
+@@ -131,6 +131,7 @@ struct sigaction {
+ __sigrestore_t sa_restorer;
+ sigset_t sa_mask; /* mask last for extensibility */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ struct k_sigaction {
+ struct sigaction sa;
+diff --git a/arch/powerpc/include/asm/signal.h b/arch/powerpc/include/asm/signal.h
+index 3eb13be..ec63a0a 100644
+--- a/arch/powerpc/include/asm/signal.h
++++ b/arch/powerpc/include/asm/signal.h
+@@ -109,6 +109,7 @@ struct sigaction {
+ __sigrestore_t sa_restorer;
+ sigset_t sa_mask; /* mask last for extensibility */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ struct k_sigaction {
+ struct sigaction sa;
+diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
+index edae5bb..b92b756 100644
+--- a/arch/powerpc/kernel/cputable.c
++++ b/arch/powerpc/kernel/cputable.c
+@@ -268,7 +268,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
+ .cpu_features = CPU_FTRS_PPC970,
+ .cpu_user_features = COMMON_USER_POWER4 |
+ PPC_FEATURE_HAS_ALTIVEC_COMP,
+- .mmu_features = MMU_FTR_HPTE_TABLE,
++ .mmu_features = MMU_FTRS_PPC970,
+ .icache_bsize = 128,
+ .dcache_bsize = 128,
+ .num_pmcs = 8,
+diff --git a/arch/s390/include/asm/signal.h b/arch/s390/include/asm/signal.h
+index cdf5cb2..c872626 100644
+--- a/arch/s390/include/asm/signal.h
++++ b/arch/s390/include/asm/signal.h
+@@ -131,6 +131,7 @@ struct sigaction {
+ void (*sa_restorer)(void);
+ sigset_t sa_mask; /* mask last for extensibility */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ struct k_sigaction {
+ struct sigaction sa;
+diff --git a/arch/s390/include/asm/tlbflush.h b/arch/s390/include/asm/tlbflush.h
+index 1d8648c..8743029 100644
+--- a/arch/s390/include/asm/tlbflush.h
++++ b/arch/s390/include/asm/tlbflush.h
+@@ -74,8 +74,6 @@ static inline void __tlb_flush_idte(unsigned long asce)
+
+ static inline void __tlb_flush_mm(struct mm_struct * mm)
+ {
+- if (unlikely(cpumask_empty(mm_cpumask(mm))))
+- return;
+ /*
+ * If the machine has IDTE we prefer to do a per mm flush
+ * on all cpus instead of doing a local flush if the mm
+diff --git a/arch/sparc/include/asm/signal.h b/arch/sparc/include/asm/signal.h
+index e49b828..4929431 100644
+--- a/arch/sparc/include/asm/signal.h
++++ b/arch/sparc/include/asm/signal.h
+@@ -191,6 +191,7 @@ struct __old_sigaction {
+ unsigned long sa_flags;
+ void (*sa_restorer)(void); /* not used by Linux/SPARC yet */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ typedef struct sigaltstack {
+ void __user *ss_sp;
+diff --git a/arch/x86/include/asm/signal.h b/arch/x86/include/asm/signal.h
+index 598457c..6cbc795 100644
+--- a/arch/x86/include/asm/signal.h
++++ b/arch/x86/include/asm/signal.h
+@@ -125,6 +125,8 @@ typedef unsigned long sigset_t;
+ extern void do_notify_resume(struct pt_regs *, void *, __u32);
+ # endif /* __KERNEL__ */
+
++#define __ARCH_HAS_SA_RESTORER
++
+ #ifdef __i386__
+ # ifdef __KERNEL__
+ struct old_sigaction {
+diff --git a/arch/x86/kernel/cpu/perf_event_intel_ds.c b/arch/x86/kernel/cpu/perf_event_intel_ds.c
+index 73da6b6..2d4e76b 100644
+--- a/arch/x86/kernel/cpu/perf_event_intel_ds.c
++++ b/arch/x86/kernel/cpu/perf_event_intel_ds.c
+@@ -736,3 +736,13 @@ void intel_ds_init(void)
+ }
+ }
+ }
++
++void perf_restore_debug_store(void)
++{
++ struct debug_store *ds = __this_cpu_read(cpu_hw_events.ds);
++
++ if (!x86_pmu.bts && !x86_pmu.pebs)
++ return;
++
++ wrmsrl(MSR_IA32_DS_AREA, (unsigned long)ds);
++}
+diff --git a/arch/x86/lib/usercopy_64.c b/arch/x86/lib/usercopy_64.c
+index b7c2849..554b7b5 100644
+--- a/arch/x86/lib/usercopy_64.c
++++ b/arch/x86/lib/usercopy_64.c
+@@ -169,10 +169,10 @@ copy_user_handle_tail(char *to, char *from, unsigned len, unsigned zerorest)
+ char c;
+ unsigned zero_len;
+
+- for (; len; --len) {
++ for (; len; --len, to++) {
+ if (__get_user_nocheck(c, from++, sizeof(char)))
+ break;
+- if (__put_user_nocheck(c, to++, sizeof(char)))
++ if (__put_user_nocheck(c, to, sizeof(char)))
+ break;
+ }
+
+diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c
+index f10c0af..43c9f6a 100644
+--- a/arch/x86/power/cpu.c
++++ b/arch/x86/power/cpu.c
+@@ -11,6 +11,7 @@
+ #include <linux/suspend.h>
+ #include <linux/export.h>
+ #include <linux/smp.h>
++#include <linux/perf_event.h>
+
+ #include <asm/pgtable.h>
+ #include <asm/proto.h>
+@@ -225,6 +226,7 @@ static void __restore_processor_state(struct saved_context *ctxt)
+
+ do_fpu_end();
+ mtrr_bp_restore();
++ perf_restore_debug_store();
+ }
+
+ /* Needed by apm.c */
+diff --git a/arch/xtensa/include/asm/signal.h b/arch/xtensa/include/asm/signal.h
+index 633ba73..75edf8a 100644
+--- a/arch/xtensa/include/asm/signal.h
++++ b/arch/xtensa/include/asm/signal.h
+@@ -133,6 +133,7 @@ struct sigaction {
+ void (*sa_restorer)(void);
+ sigset_t sa_mask; /* mask last for extensibility */
+ };
++#define __ARCH_HAS_SA_RESTORER
+
+ struct k_sigaction {
+ struct sigaction sa;
+diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
+index efba163..bf4d6e2 100644
+--- a/drivers/firmware/Kconfig
++++ b/drivers/firmware/Kconfig
+@@ -53,6 +53,24 @@ config EFI_VARS
+ Subsequent efibootmgr releases may be found at:
+ <http://linux.dell.com/efibootmgr>
+
++config EFI_VARS_PSTORE
++ bool "Register efivars backend for pstore"
++ depends on EFI_VARS && PSTORE
++ default y
++ help
++ Say Y here to enable use efivars as a backend to pstore. This
++ will allow writing console messages, crash dumps, or anything
++ else supported by pstore to EFI variables.
++
++config EFI_VARS_PSTORE_DEFAULT_DISABLE
++ bool "Disable using efivars as a pstore backend by default"
++ depends on EFI_VARS_PSTORE
++ default n
++ help
++ Saying Y here will disable the use of efivars as a storage
++ backend for pstore by default. This setting can be overridden
++ using the efivars module's pstore_disable parameter.
++
+ config EFI_PCDP
+ bool "Console device selection via EFI PCDP or HCDP table"
+ depends on ACPI && EFI && IA64
+diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c
+index 81346ae..b15c0aa 100644
+--- a/drivers/firmware/efivars.c
++++ b/drivers/firmware/efivars.c
+@@ -92,6 +92,11 @@ MODULE_VERSION(EFIVARS_VERSION);
+
+ #define DUMP_NAME_LEN 52
+
++static bool efivars_pstore_disable =
++ IS_ENABLED(CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE);
++
++module_param_named(pstore_disable, efivars_pstore_disable, bool, 0644);
++
+ /*
+ * The maximum size of VariableName + Data = 1024
+ * Therefore, it's reasonable to save that much
+@@ -122,6 +127,8 @@ struct efivar_attribute {
+ ssize_t (*store)(struct efivar_entry *entry, const char *buf, size_t count);
+ };
+
++static struct efivars __efivars;
++
+ #define PSTORE_EFI_ATTRIBUTES \
+ (EFI_VARIABLE_NON_VOLATILE | \
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | \
+@@ -146,6 +153,14 @@ efivar_create_sysfs_entry(struct efivars *efivars,
+ efi_char16_t *variable_name,
+ efi_guid_t *vendor_guid);
+
++/*
++ * Prototype for workqueue functions updating sysfs entry
++ */
++
++static void efivar_update_sysfs_entries(struct work_struct *);
++static DECLARE_WORK(efivar_work, efivar_update_sysfs_entries);
++static bool efivar_wq_enabled = true;
++
+ /* Return the number of unicode characters in data */
+ static unsigned long
+ utf16_strnlen(efi_char16_t *s, size_t maxlength)
+@@ -659,8 +674,6 @@ static struct kobj_type efivar_ktype = {
+ .default_attrs = def_attrs,
+ };
+
+-static struct pstore_info efi_pstore_info;
+-
+ static inline void
+ efivar_unregister(struct efivar_entry *var)
+ {
+@@ -697,7 +710,7 @@ static int efi_status_to_err(efi_status_t status)
+ return err;
+ }
+
+-#ifdef CONFIG_PSTORE
++#ifdef CONFIG_EFI_VARS_PSTORE
+
+ static int efi_pstore_open(struct pstore_info *psi)
+ {
+@@ -774,19 +787,21 @@ static int efi_pstore_write(enum pstore_type_id type, u64 *id,
+
+ spin_lock_irqsave(&efivars->lock, flags);
+
+- /*
+- * Check if there is a space enough to log.
+- * size: a size of logging data
+- * DUMP_NAME_LEN * 2: a maximum size of variable name
+- */
++ if (size) {
++ /*
++ * Check if there is a space enough to log.
++ * size: a size of logging data
++ * DUMP_NAME_LEN * 2: a maximum size of variable name
++ */
+
+- status = check_var_size_locked(efivars, PSTORE_EFI_ATTRIBUTES,
+- size + DUMP_NAME_LEN * 2);
++ status = check_var_size_locked(efivars, PSTORE_EFI_ATTRIBUTES,
++ size + DUMP_NAME_LEN * 2);
+
+- if (status) {
+- spin_unlock_irqrestore(&efivars->lock, flags);
+- *id = part;
+- return -ENOSPC;
++ if (status) {
++ spin_unlock_irqrestore(&efivars->lock, flags);
++ *id = part;
++ return -ENOSPC;
++ }
+ }
+
+ for (i = 0; i < DUMP_NAME_LEN; i++)
+@@ -830,11 +845,8 @@ static int efi_pstore_write(enum pstore_type_id type, u64 *id,
+ if (found)
+ efivar_unregister(found);
+
+- if (size)
+- ret = efivar_create_sysfs_entry(efivars,
+- utf16_strsize(efi_name,
+- DUMP_NAME_LEN * 2),
+- efi_name, &vendor);
++ if (efivar_wq_enabled)
++ schedule_work(&efivar_work);
+
+ *id = part;
+ return ret;
+@@ -847,36 +859,6 @@ static int efi_pstore_erase(enum pstore_type_id type, u64 id,
+
+ return 0;
+ }
+-#else
+-static int efi_pstore_open(struct pstore_info *psi)
+-{
+- return 0;
+-}
+-
+-static int efi_pstore_close(struct pstore_info *psi)
+-{
+- return 0;
+-}
+-
+-static ssize_t efi_pstore_read(u64 *id, enum pstore_type_id *type,
+- struct timespec *timespec,
+- char **buf, struct pstore_info *psi)
+-{
+- return -1;
+-}
+-
+-static int efi_pstore_write(enum pstore_type_id type, u64 *id,
+- unsigned int part, size_t size, struct pstore_info *psi)
+-{
+- return 0;
+-}
+-
+-static int efi_pstore_erase(enum pstore_type_id type, u64 id,
+- struct pstore_info *psi)
+-{
+- return 0;
+-}
+-#endif
+
+ static struct pstore_info efi_pstore_info = {
+ .owner = THIS_MODULE,
+@@ -888,6 +870,24 @@ static struct pstore_info efi_pstore_info = {
+ .erase = efi_pstore_erase,
+ };
+
++static void efivar_pstore_register(struct efivars *efivars)
++{
++ efivars->efi_pstore_info = efi_pstore_info;
++ efivars->efi_pstore_info.buf = kmalloc(4096, GFP_KERNEL);
++ if (efivars->efi_pstore_info.buf) {
++ efivars->efi_pstore_info.bufsize = 1024;
++ efivars->efi_pstore_info.data = efivars;
++ spin_lock_init(&efivars->efi_pstore_info.buf_lock);
++ pstore_register(&efivars->efi_pstore_info);
++ }
++}
++#else
++static void efivar_pstore_register(struct efivars *efivars)
++{
++ return;
++}
++#endif
++
+ static ssize_t efivar_create(struct file *filp, struct kobject *kobj,
+ struct bin_attribute *bin_attr,
+ char *buf, loff_t pos, size_t count)
+@@ -1025,6 +1025,103 @@ static ssize_t efivar_delete(struct file *filp, struct kobject *kobj,
+ return count;
+ }
+
++static bool variable_is_present(efi_char16_t *variable_name, efi_guid_t *vendor)
++{
++ struct efivar_entry *entry, *n;
++ struct efivars *efivars = &__efivars;
++ unsigned long strsize1, strsize2;
++ bool found = false;
++
++ strsize1 = utf16_strsize(variable_name, 1024);
++ list_for_each_entry_safe(entry, n, &efivars->list, list) {
++ strsize2 = utf16_strsize(entry->var.VariableName, 1024);
++ if (strsize1 == strsize2 &&
++ !memcmp(variable_name, &(entry->var.VariableName),
++ strsize2) &&
++ !efi_guidcmp(entry->var.VendorGuid,
++ *vendor)) {
++ found = true;
++ break;
++ }
++ }
++ return found;
++}
++
++/*
++ * Returns the size of variable_name, in bytes, including the
++ * terminating NULL character, or variable_name_size if no NULL
++ * character is found among the first variable_name_size bytes.
++ */
++static unsigned long var_name_strnsize(efi_char16_t *variable_name,
++ unsigned long variable_name_size)
++{
++ unsigned long len;
++ efi_char16_t c;
++
++ /*
++ * The variable name is, by definition, a NULL-terminated
++ * string, so make absolutely sure that variable_name_size is
++ * the value we expect it to be. If not, return the real size.
++ */
++ for (len = 2; len <= variable_name_size; len += sizeof(c)) {
++ c = variable_name[(len / sizeof(c)) - 1];
++ if (!c)
++ break;
++ }
++
++ return min(len, variable_name_size);
++}
++
++static void efivar_update_sysfs_entries(struct work_struct *work)
++{
++ struct efivars *efivars = &__efivars;
++ efi_guid_t vendor;
++ efi_char16_t *variable_name;
++ unsigned long variable_name_size = 1024;
++ efi_status_t status = EFI_NOT_FOUND;
++ bool found;
++
++ /* Add new sysfs entries */
++ while (1) {
++ variable_name = kzalloc(variable_name_size, GFP_KERNEL);
++ if (!variable_name) {
++ pr_err("efivars: Memory allocation failed.\n");
++ return;
++ }
++
++ spin_lock_irq(&efivars->lock);
++ found = false;
++ while (1) {
++ variable_name_size = 1024;
++ status = efivars->ops->get_next_variable(
++ &variable_name_size,
++ variable_name,
++ &vendor);
++ if (status != EFI_SUCCESS) {
++ break;
++ } else {
++ if (!variable_is_present(variable_name,
++ &vendor)) {
++ found = true;
++ break;
++ }
++ }
++ }
++ spin_unlock_irq(&efivars->lock);
++
++ if (!found) {
++ kfree(variable_name);
++ break;
++ } else {
++ variable_name_size = var_name_strnsize(variable_name,
++ variable_name_size);
++ efivar_create_sysfs_entry(efivars,
++ variable_name_size,
++ variable_name, &vendor);
++ }
++ }
++}
++
+ /*
+ * Let's not leave out systab information that snuck into
+ * the efivars driver
+@@ -1212,6 +1309,35 @@ void unregister_efivars(struct efivars *efivars)
+ }
+ EXPORT_SYMBOL_GPL(unregister_efivars);
+
++/*
++ * Print a warning when duplicate EFI variables are encountered and
++ * disable the sysfs workqueue since the firmware is buggy.
++ */
++static void dup_variable_bug(efi_char16_t *s16, efi_guid_t *vendor_guid,
++ unsigned long len16)
++{
++ size_t i, len8 = len16 / sizeof(efi_char16_t);
++ char *s8;
++
++ /*
++ * Disable the workqueue since the algorithm it uses for
++ * detecting new variables won't work with this buggy
++ * implementation of GetNextVariableName().
++ */
++ efivar_wq_enabled = false;
++
++ s8 = kzalloc(len8, GFP_KERNEL);
++ if (!s8)
++ return;
++
++ for (i = 0; i < len8; i++)
++ s8[i] = s16[i];
++
++ printk(KERN_WARNING "efivars: duplicate variable: %s-%pUl\n",
++ s8, vendor_guid);
++ kfree(s8);
++}
++
+ int register_efivars(struct efivars *efivars,
+ const struct efivar_operations *ops,
+ struct kobject *parent_kobj)
+@@ -1252,6 +1378,24 @@ int register_efivars(struct efivars *efivars,
+ &vendor_guid);
+ switch (status) {
+ case EFI_SUCCESS:
++ variable_name_size = var_name_strnsize(variable_name,
++ variable_name_size);
++
++ /*
++ * Some firmware implementations return the
++ * same variable name on multiple calls to
++ * get_next_variable(). Terminate the loop
++ * immediately as there is no guarantee that
++ * we'll ever see a different variable name,
++ * and may end up looping here forever.
++ */
++ if (variable_is_present(variable_name, &vendor_guid)) {
++ dup_variable_bug(variable_name, &vendor_guid,
++ variable_name_size);
++ status = EFI_NOT_FOUND;
++ break;
++ }
++
+ efivar_create_sysfs_entry(efivars,
+ variable_name_size,
+ variable_name,
+@@ -1271,15 +1415,8 @@ int register_efivars(struct efivars *efivars,
+ if (error)
+ unregister_efivars(efivars);
+
+- efivars->efi_pstore_info = efi_pstore_info;
+-
+- efivars->efi_pstore_info.buf = kmalloc(4096, GFP_KERNEL);
+- if (efivars->efi_pstore_info.buf) {
+- efivars->efi_pstore_info.bufsize = 1024;
+- efivars->efi_pstore_info.data = efivars;
+- spin_lock_init(&efivars->efi_pstore_info.buf_lock);
+- pstore_register(&efivars->efi_pstore_info);
+- }
++ if (!efivars_pstore_disable)
++ efivar_pstore_register(efivars);
+
+ out:
+ kfree(variable_name);
+@@ -1288,7 +1425,6 @@ out:
+ }
+ EXPORT_SYMBOL_GPL(register_efivars);
+
+-static struct efivars __efivars;
+ static struct efivar_operations ops;
+
+ /*
+@@ -1346,6 +1482,8 @@ err_put:
+ static void __exit
+ efivars_exit(void)
+ {
++ cancel_work_sync(&efivar_work);
++
+ if (efi_enabled(EFI_RUNTIME_SERVICES)) {
+ unregister_efivars(&__efivars);
+ kobject_put(efi_kobj);
+diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
+index 9080eb7..7211f67 100644
+--- a/drivers/gpu/drm/drm_edid.c
++++ b/drivers/gpu/drm/drm_edid.c
+@@ -852,7 +852,7 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
+ unsigned vblank = (pt->vactive_vblank_hi & 0xf) << 8 | pt->vblank_lo;
+ unsigned hsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc0) << 2 | pt->hsync_offset_lo;
+ unsigned hsync_pulse_width = (pt->hsync_vsync_offset_pulse_width_hi & 0x30) << 4 | pt->hsync_pulse_width_lo;
+- unsigned vsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc) >> 2 | pt->vsync_offset_pulse_width_lo >> 4;
++ unsigned vsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc) << 2 | pt->vsync_offset_pulse_width_lo >> 4;
+ unsigned vsync_pulse_width = (pt->hsync_vsync_offset_pulse_width_hi & 0x3) << 4 | (pt->vsync_offset_pulse_width_lo & 0xf);
+
+ /* ignore tiny modes */
+@@ -933,6 +933,7 @@ set_size:
+ }
+
+ mode->type = DRM_MODE_TYPE_DRIVER;
++ mode->vrefresh = drm_mode_vrefresh(mode);
+ drm_mode_set_name(mode);
+
+ return mode;
+diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
+index 5620192..9b4e5c6 100644
+--- a/drivers/gpu/drm/i915/i915_debugfs.c
++++ b/drivers/gpu/drm/i915/i915_debugfs.c
+@@ -122,7 +122,7 @@ static const char *cache_level_str(int type)
+ static void
+ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
+ {
+- seq_printf(m, "%p: %s%s %8zd %04x %04x %d %d%s%s%s",
++ seq_printf(m, "%pK: %s%s %8zd %04x %04x %d %d%s%s%s",
+ &obj->base,
+ get_pin_flag(obj),
+ get_tiling_flag(obj),
+diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+index 878b989..b1bb734 100644
+--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
++++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+@@ -907,15 +907,20 @@ validate_exec_list(struct drm_i915_gem_exec_object2 *exec,
+ int count)
+ {
+ int i;
++ int relocs_total = 0;
++ int relocs_max = INT_MAX / sizeof(struct drm_i915_gem_relocation_entry);
+
+ for (i = 0; i < count; i++) {
+ char __user *ptr = (char __user *)(uintptr_t)exec[i].relocs_ptr;
+ int length; /* limited by fault_in_pages_readable() */
+
+- /* First check for malicious input causing overflow */
+- if (exec[i].relocation_count >
+- INT_MAX / sizeof(struct drm_i915_gem_relocation_entry))
++ /* First check for malicious input causing overflow in
++ * the worst case where we need to allocate the entire
++ * relocation tree as a single array.
++ */
++ if (exec[i].relocation_count > relocs_max - relocs_total)
+ return -EINVAL;
++ relocs_total += exec[i].relocation_count;
+
+ length = exec[i].relocation_count *
+ sizeof(struct drm_i915_gem_relocation_entry);
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index 4591582..17961df 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -8059,7 +8059,7 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
+ I915_WRITE(GEN6_RC_SLEEP, 0);
+ I915_WRITE(GEN6_RC1e_THRESHOLD, 1000);
+ I915_WRITE(GEN6_RC6_THRESHOLD, 50000);
+- I915_WRITE(GEN6_RC6p_THRESHOLD, 100000);
++ I915_WRITE(GEN6_RC6p_THRESHOLD, 150000);
+ I915_WRITE(GEN6_RC6pp_THRESHOLD, 64000); /* unused */
+
+ if (intel_enable_rc6(dev_priv->dev))
+diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c
+index 289140b..cffb007 100644
+--- a/drivers/gpu/drm/i915/intel_opregion.c
++++ b/drivers/gpu/drm/i915/intel_opregion.c
+@@ -419,6 +419,25 @@ blind_set:
+ goto end;
+ }
+
++static void intel_setup_cadls(struct drm_device *dev)
++{
++ struct drm_i915_private *dev_priv = dev->dev_private;
++ struct intel_opregion *opregion = &dev_priv->opregion;
++ int i = 0;
++ u32 disp_id;
++
++ /* Initialize the CADL field by duplicating the DIDL values.
++ * Technically, this is not always correct as display outputs may exist,
++ * but not active. This initialization is necessary for some Clevo
++ * laptops that check this field before processing the brightness and
++ * display switching hotkeys. Just like DIDL, CADL is NULL-terminated if
++ * there are less than eight devices. */
++ do {
++ disp_id = ioread32(&opregion->acpi->didl[i]);
++ iowrite32(disp_id, &opregion->acpi->cadl[i]);
++ } while (++i < 8 && disp_id != 0);
++}
++
+ void intel_opregion_init(struct drm_device *dev)
+ {
+ struct drm_i915_private *dev_priv = dev->dev_private;
+@@ -428,8 +447,10 @@ void intel_opregion_init(struct drm_device *dev)
+ return;
+
+ if (opregion->acpi) {
+- if (drm_core_check_feature(dev, DRIVER_MODESET))
++ if (drm_core_check_feature(dev, DRIVER_MODESET)) {
+ intel_didl_outputs(dev);
++ intel_setup_cadls(dev);
++ }
+
+ /* Notify BIOS we are ready to handle ACPI video ext notifs.
+ * Right now, all the events are handled by the ACPI video module.
+diff --git a/drivers/gpu/drm/radeon/radeon_benchmark.c b/drivers/gpu/drm/radeon/radeon_benchmark.c
+index 17e1a9b..441de38 100644
+--- a/drivers/gpu/drm/radeon/radeon_benchmark.c
++++ b/drivers/gpu/drm/radeon/radeon_benchmark.c
+@@ -139,13 +139,15 @@ static void radeon_benchmark_move(struct radeon_device *rdev, unsigned size,
+ sdomain, ddomain, "dma");
+ }
+
+- time = radeon_benchmark_do_move(rdev, size, saddr, daddr,
+- RADEON_BENCHMARK_COPY_BLIT, n);
+- if (time < 0)
+- goto out_cleanup;
+- if (time > 0)
+- radeon_benchmark_log_results(n, size, time,
+- sdomain, ddomain, "blit");
++ if (rdev->asic->copy_blit) {
++ time = radeon_benchmark_do_move(rdev, size, saddr, daddr,
++ RADEON_BENCHMARK_COPY_BLIT, n);
++ if (time < 0)
++ goto out_cleanup;
++ if (time > 0)
++ radeon_benchmark_log_results(n, size, time,
++ sdomain, ddomain, "blit");
++ }
+
+ out_cleanup:
+ if (sobj) {
+diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
+index 3d7885a..3056ea4 100644
+--- a/drivers/i2c/busses/i2c-tegra.c
++++ b/drivers/i2c/busses/i2c-tegra.c
+@@ -341,7 +341,11 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
+ u32 val;
+ int err = 0;
+
+- clk_enable(i2c_dev->clk);
++ err = clk_enable(i2c_dev->clk);
++ if (err < 0) {
++ dev_err(i2c_dev->dev, "Clock enable failed %d\n", err);
++ return err;
++ }
+
+ tegra_periph_reset_assert(i2c_dev->clk);
+ udelay(2);
+@@ -536,7 +540,12 @@ static int tegra_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[],
+ if (i2c_dev->is_suspended)
+ return -EBUSY;
+
+- clk_enable(i2c_dev->clk);
++ ret = clk_enable(i2c_dev->clk);
++ if (ret < 0) {
++ dev_err(i2c_dev->dev, "Clock enable failed %d\n", ret);
++ return ret;
++ }
++
+ for (i = 0; i < num; i++) {
+ int stop = (i == (num - 1)) ? 1 : 0;
+ ret = tegra_i2c_xfer_msg(i2c_dev, &msgs[i], stop);
+diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
+index da4d299..2c9dd2c 100644
+--- a/drivers/md/dm-thin.c
++++ b/drivers/md/dm-thin.c
+@@ -2212,7 +2212,7 @@ static struct target_type pool_target = {
+ .name = "thin-pool",
+ .features = DM_TARGET_SINGLETON | DM_TARGET_ALWAYS_WRITEABLE |
+ DM_TARGET_IMMUTABLE,
+- .version = {1, 0, 1},
++ .version = {1, 0, 2},
+ .module = THIS_MODULE,
+ .ctr = pool_ctr,
+ .dtr = pool_dtr,
+@@ -2428,7 +2428,7 @@ static void thin_io_hints(struct dm_target *ti, struct queue_limits *limits)
+
+ static struct target_type thin_target = {
+ .name = "thin",
+- .version = {1, 0, 1},
++ .version = {1, 0, 2},
+ .module = THIS_MODULE,
+ .ctr = thin_ctr,
+ .dtr = thin_dtr,
+diff --git a/drivers/md/persistent-data/dm-btree-remove.c b/drivers/md/persistent-data/dm-btree-remove.c
+index e6cdfde..1de0f5f 100644
+--- a/drivers/md/persistent-data/dm-btree-remove.c
++++ b/drivers/md/persistent-data/dm-btree-remove.c
+@@ -139,15 +139,8 @@ struct child {
+ struct btree_node *n;
+ };
+
+-static struct dm_btree_value_type le64_type = {
+- .context = NULL,
+- .size = sizeof(__le64),
+- .inc = NULL,
+- .dec = NULL,
+- .equal = NULL
+-};
+-
+-static int init_child(struct dm_btree_info *info, struct btree_node *parent,
++static int init_child(struct dm_btree_info *info, struct dm_btree_value_type *vt,
++ struct btree_node *parent,
+ unsigned index, struct child *result)
+ {
+ int r, inc;
+@@ -164,7 +157,7 @@ static int init_child(struct dm_btree_info *info, struct btree_node *parent,
+ result->n = dm_block_data(result->block);
+
+ if (inc)
+- inc_children(info->tm, result->n, &le64_type);
++ inc_children(info->tm, result->n, vt);
+
+ *((__le64 *) value_ptr(parent, index, sizeof(__le64))) =
+ cpu_to_le64(dm_block_location(result->block));
+@@ -236,7 +229,7 @@ static void __rebalance2(struct dm_btree_info *info, struct btree_node *parent,
+ }
+
+ static int rebalance2(struct shadow_spine *s, struct dm_btree_info *info,
+- unsigned left_index)
++ struct dm_btree_value_type *vt, unsigned left_index)
+ {
+ int r;
+ struct btree_node *parent;
+@@ -244,11 +237,11 @@ static int rebalance2(struct shadow_spine *s, struct dm_btree_info *info,
+
+ parent = dm_block_data(shadow_current(s));
+
+- r = init_child(info, parent, left_index, &left);
++ r = init_child(info, vt, parent, left_index, &left);
+ if (r)
+ return r;
+
+- r = init_child(info, parent, left_index + 1, &right);
++ r = init_child(info, vt, parent, left_index + 1, &right);
+ if (r) {
+ exit_child(info, &left);
+ return r;
+@@ -368,7 +361,7 @@ static void __rebalance3(struct dm_btree_info *info, struct btree_node *parent,
+ }
+
+ static int rebalance3(struct shadow_spine *s, struct dm_btree_info *info,
+- unsigned left_index)
++ struct dm_btree_value_type *vt, unsigned left_index)
+ {
+ int r;
+ struct btree_node *parent = dm_block_data(shadow_current(s));
+@@ -377,17 +370,17 @@ static int rebalance3(struct shadow_spine *s, struct dm_btree_info *info,
+ /*
+ * FIXME: fill out an array?
+ */
+- r = init_child(info, parent, left_index, &left);
++ r = init_child(info, vt, parent, left_index, &left);
+ if (r)
+ return r;
+
+- r = init_child(info, parent, left_index + 1, &center);
++ r = init_child(info, vt, parent, left_index + 1, &center);
+ if (r) {
+ exit_child(info, &left);
+ return r;
+ }
+
+- r = init_child(info, parent, left_index + 2, &right);
++ r = init_child(info, vt, parent, left_index + 2, &right);
+ if (r) {
+ exit_child(info, &left);
+ exit_child(info, &center);
+@@ -434,7 +427,8 @@ static int get_nr_entries(struct dm_transaction_manager *tm,
+ }
+
+ static int rebalance_children(struct shadow_spine *s,
+- struct dm_btree_info *info, uint64_t key)
++ struct dm_btree_info *info,
++ struct dm_btree_value_type *vt, uint64_t key)
+ {
+ int i, r, has_left_sibling, has_right_sibling;
+ uint32_t child_entries;
+@@ -472,13 +466,13 @@ static int rebalance_children(struct shadow_spine *s,
+ has_right_sibling = i < (le32_to_cpu(n->header.nr_entries) - 1);
+
+ if (!has_left_sibling)
+- r = rebalance2(s, info, i);
++ r = rebalance2(s, info, vt, i);
+
+ else if (!has_right_sibling)
+- r = rebalance2(s, info, i - 1);
++ r = rebalance2(s, info, vt, i - 1);
+
+ else
+- r = rebalance3(s, info, i - 1);
++ r = rebalance3(s, info, vt, i - 1);
+
+ return r;
+ }
+@@ -529,7 +523,7 @@ static int remove_raw(struct shadow_spine *s, struct dm_btree_info *info,
+ if (le32_to_cpu(n->header.flags) & LEAF_NODE)
+ return do_leaf(n, key, index);
+
+- r = rebalance_children(s, info, key);
++ r = rebalance_children(s, info, vt, key);
+ if (r)
+ break;
+
+@@ -550,6 +544,14 @@ static int remove_raw(struct shadow_spine *s, struct dm_btree_info *info,
+ return r;
+ }
+
++static struct dm_btree_value_type le64_type = {
++ .context = NULL,
++ .size = sizeof(__le64),
++ .inc = NULL,
++ .dec = NULL,
++ .equal = NULL
++};
++
+ int dm_btree_remove(struct dm_btree_info *info, dm_block_t root,
+ uint64_t *keys, dm_block_t *new_root)
+ {
+diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
+index 202ae34..63e3c47 100644
+--- a/drivers/net/bonding/bond_main.c
++++ b/drivers/net/bonding/bond_main.c
+@@ -1715,6 +1715,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
+
+ bond_compute_features(bond);
+
++ bond_update_speed_duplex(new_slave);
++
+ read_lock(&bond->lock);
+
+ new_slave->last_arp_rx = jiffies;
+@@ -1758,8 +1760,6 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
+ new_slave->link = BOND_LINK_DOWN;
+ }
+
+- bond_update_speed_duplex(new_slave);
+-
+ if (USES_PRIMARY(bond->params.mode) && bond->params.primary[0]) {
+ /* if there is a primary slave, remember it */
+ if (strcmp(bond->params.primary, new_slave->dev->name) == 0) {
+@@ -2437,8 +2437,6 @@ static void bond_miimon_commit(struct bonding *bond)
+ bond_set_backup_slave(slave);
+ }
+
+- bond_update_speed_duplex(slave);
+-
+ pr_info("%s: link status definitely up for interface %s, %u Mbps %s duplex.\n",
+ bond->dev->name, slave->dev->name,
+ slave->speed, slave->duplex ? "full" : "half");
+diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
+index a6611f1..5d5a05f 100644
+--- a/drivers/net/ethernet/sfc/efx.c
++++ b/drivers/net/ethernet/sfc/efx.c
+@@ -650,25 +650,30 @@ static void efx_fini_channels(struct efx_nic *efx)
+ struct efx_channel *channel;
+ struct efx_tx_queue *tx_queue;
+ struct efx_rx_queue *rx_queue;
++ struct pci_dev *dev = efx->pci_dev;
+ int rc;
+
+ EFX_ASSERT_RESET_SERIALISED(efx);
+ BUG_ON(efx->port_enabled);
+
+- rc = efx_nic_flush_queues(efx);
+- if (rc && EFX_WORKAROUND_7803(efx)) {
+- /* Schedule a reset to recover from the flush failure. The
+- * descriptor caches reference memory we're about to free,
+- * but falcon_reconfigure_mac_wrapper() won't reconnect
+- * the MACs because of the pending reset. */
+- netif_err(efx, drv, efx->net_dev,
+- "Resetting to recover from flush failure\n");
+- efx_schedule_reset(efx, RESET_TYPE_ALL);
+- } else if (rc) {
+- netif_err(efx, drv, efx->net_dev, "failed to flush queues\n");
+- } else {
+- netif_dbg(efx, drv, efx->net_dev,
+- "successfully flushed all queues\n");
++ /* Only perform flush if dma is enabled */
++ if (dev->is_busmaster) {
++ rc = efx_nic_flush_queues(efx);
++
++ if (rc && EFX_WORKAROUND_7803(efx)) {
++ /* Schedule a reset to recover from the flush failure. The
++ * descriptor caches reference memory we're about to free,
++ * but falcon_reconfigure_mac_wrapper() won't reconnect
++ * the MACs because of the pending reset. */
++ netif_err(efx, drv, efx->net_dev,
++ "Resetting to recover from flush failure\n");
++ efx_schedule_reset(efx, RESET_TYPE_ALL);
++ } else if (rc) {
++ netif_err(efx, drv, efx->net_dev, "failed to flush queues\n");
++ } else {
++ netif_dbg(efx, drv, efx->net_dev,
++ "successfully flushed all queues\n");
++ }
+ }
+
+ efx_for_each_channel(channel, efx) {
+@@ -714,6 +719,7 @@ efx_realloc_channels(struct efx_nic *efx, u32 rxq_entries, u32 txq_entries)
+ unsigned i;
+ int rc;
+
++ efx_device_detach_sync(efx);
+ efx_stop_all(efx);
+ efx_fini_channels(efx);
+
+@@ -757,6 +763,7 @@ out:
+
+ efx_init_channels(efx);
+ efx_start_all(efx);
++ netif_device_attach(efx->net_dev);
+ return rc;
+
+ rollback:
+@@ -1525,8 +1532,12 @@ static void efx_stop_all(struct efx_nic *efx)
+ /* Flush efx_mac_work(), refill_workqueue, monitor_work */
+ efx_flush_all(efx);
+
+- /* Stop the kernel transmit interface late, so the watchdog
+- * timer isn't ticking over the flush */
++ /* Stop the kernel transmit interface. This is only valid if
++ * the device is stopped or detached; otherwise the watchdog
++ * may fire immediately.
++ */
++ WARN_ON(netif_running(efx->net_dev) &&
++ netif_device_present(efx->net_dev));
+ if (efx_dev_registered(efx)) {
+ netif_tx_stop_all_queues(efx->net_dev);
+ netif_tx_lock_bh(efx->net_dev);
+@@ -1827,10 +1838,11 @@ static int efx_change_mtu(struct net_device *net_dev, int new_mtu)
+ if (new_mtu > EFX_MAX_MTU)
+ return -EINVAL;
+
+- efx_stop_all(efx);
+-
+ netif_dbg(efx, drv, efx->net_dev, "changing MTU to %d\n", new_mtu);
+
++ efx_device_detach_sync(efx);
++ efx_stop_all(efx);
++
+ efx_fini_channels(efx);
+
+ mutex_lock(&efx->mac_lock);
+@@ -1843,6 +1855,7 @@ static int efx_change_mtu(struct net_device *net_dev, int new_mtu)
+ efx_init_channels(efx);
+
+ efx_start_all(efx);
++ netif_device_attach(efx->net_dev);
+ return rc;
+ }
+
+@@ -2132,7 +2145,7 @@ int efx_reset(struct efx_nic *efx, enum reset_type method)
+ netif_info(efx, drv, efx->net_dev, "resetting (%s)\n",
+ RESET_TYPE(method));
+
+- netif_device_detach(efx->net_dev);
++ efx_device_detach_sync(efx);
+ efx_reset_down(efx, method);
+
+ rc = efx->type->reset(efx, method);
+@@ -2580,7 +2593,7 @@ static int efx_pm_freeze(struct device *dev)
+
+ efx->state = STATE_FINI;
+
+- netif_device_detach(efx->net_dev);
++ efx_device_detach_sync(efx);
+
+ efx_stop_all(efx);
+ efx_fini_channels(efx);
+diff --git a/drivers/net/ethernet/sfc/efx.h b/drivers/net/ethernet/sfc/efx.h
+index 1355245..9668d29 100644
+--- a/drivers/net/ethernet/sfc/efx.h
++++ b/drivers/net/ethernet/sfc/efx.h
+@@ -149,4 +149,17 @@ extern void efx_link_status_changed(struct efx_nic *efx);
+ extern void efx_link_set_advertising(struct efx_nic *efx, u32);
+ extern void efx_link_set_wanted_fc(struct efx_nic *efx, u8);
+
++static inline void efx_device_detach_sync(struct efx_nic *efx)
++{
++ struct net_device *dev = efx->net_dev;
++
++ /* Lock/freeze all TX queues so that we can be sure the
++ * TX scheduler is stopped when we're done and before
++ * netif_device_present() becomes false.
++ */
++ netif_tx_lock_bh(dev);
++ netif_device_detach(dev);
++ netif_tx_unlock_bh(dev);
++}
++
+ #endif /* EFX_EFX_H */
+diff --git a/drivers/net/ethernet/sfc/falcon.c b/drivers/net/ethernet/sfc/falcon.c
+index 97b606b..26cd6c0 100644
+--- a/drivers/net/ethernet/sfc/falcon.c
++++ b/drivers/net/ethernet/sfc/falcon.c
+@@ -1762,6 +1762,7 @@ const struct efx_nic_type falcon_a1_nic_type = {
+ .remove_port = falcon_remove_port,
+ .handle_global_event = falcon_handle_global_event,
+ .prepare_flush = falcon_prepare_flush,
++ .finish_flush = efx_port_dummy_op_void,
+ .update_stats = falcon_update_nic_stats,
+ .start_stats = falcon_start_nic_stats,
+ .stop_stats = falcon_stop_nic_stats,
+@@ -1804,6 +1805,7 @@ const struct efx_nic_type falcon_b0_nic_type = {
+ .remove_port = falcon_remove_port,
+ .handle_global_event = falcon_handle_global_event,
+ .prepare_flush = falcon_prepare_flush,
++ .finish_flush = efx_port_dummy_op_void,
+ .update_stats = falcon_update_nic_stats,
+ .start_stats = falcon_start_nic_stats,
+ .stop_stats = falcon_stop_nic_stats,
+diff --git a/drivers/net/ethernet/sfc/mcdi.c b/drivers/net/ethernet/sfc/mcdi.c
+index 81a4253..c1000ce 100644
+--- a/drivers/net/ethernet/sfc/mcdi.c
++++ b/drivers/net/ethernet/sfc/mcdi.c
+@@ -30,7 +30,7 @@
+ #define REBOOT_FLAG_PORT0 0x3f8
+ #define REBOOT_FLAG_PORT1 0x3fc
+
+-#define MCDI_RPC_TIMEOUT 10 /*seconds */
++#define MCDI_RPC_TIMEOUT (10 * HZ)
+
+ #define MCDI_PDU(efx) \
+ (efx_port_num(efx) ? CMD_PDU_PORT1 : CMD_PDU_PORT0)
+@@ -120,7 +120,7 @@ static void efx_mcdi_copyout(struct efx_nic *efx, u8 *outbuf, size_t outlen)
+ static int efx_mcdi_poll(struct efx_nic *efx)
+ {
+ struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
+- unsigned int time, finish;
++ unsigned long time, finish;
+ unsigned int respseq, respcmd, error;
+ unsigned int pdu = FR_CZ_MC_TREG_SMEM + MCDI_PDU(efx);
+ unsigned int rc, spins;
+@@ -136,7 +136,7 @@ static int efx_mcdi_poll(struct efx_nic *efx)
+ * and poll once a jiffy (approximately)
+ */
+ spins = TICK_USEC;
+- finish = get_seconds() + MCDI_RPC_TIMEOUT;
++ finish = jiffies + MCDI_RPC_TIMEOUT;
+
+ while (1) {
+ if (spins != 0) {
+@@ -146,7 +146,7 @@ static int efx_mcdi_poll(struct efx_nic *efx)
+ schedule_timeout_uninterruptible(1);
+ }
+
+- time = get_seconds();
++ time = jiffies;
+
+ rmb();
+ efx_readd(efx, &reg, pdu);
+@@ -158,7 +158,7 @@ static int efx_mcdi_poll(struct efx_nic *efx)
+ EFX_DWORD_FIELD(reg, MCDI_HEADER_RESPONSE))
+ break;
+
+- if (time >= finish)
++ if (time_after(time, finish))
+ return -ETIMEDOUT;
+ }
+
+@@ -250,7 +250,7 @@ static int efx_mcdi_await_completion(struct efx_nic *efx)
+ if (wait_event_timeout(
+ mcdi->wq,
+ atomic_read(&mcdi->state) == MCDI_STATE_COMPLETED,
+- msecs_to_jiffies(MCDI_RPC_TIMEOUT * 1000)) == 0)
++ MCDI_RPC_TIMEOUT) == 0)
+ return -ETIMEDOUT;
+
+ /* Check if efx_mcdi_set_mode() switched us back to polled completions.
+@@ -666,9 +666,8 @@ int efx_mcdi_get_board_cfg(struct efx_nic *efx, u8 *mac_address,
+ u16 *fw_subtype_list)
+ {
+ uint8_t outbuf[MC_CMD_GET_BOARD_CFG_OUT_LEN];
+- size_t outlen;
++ size_t outlen, offset, i;
+ int port_num = efx_port_num(efx);
+- int offset;
+ int rc;
+
+ BUILD_BUG_ON(MC_CMD_GET_BOARD_CFG_IN_LEN != 0);
+@@ -688,10 +687,16 @@ int efx_mcdi_get_board_cfg(struct efx_nic *efx, u8 *mac_address,
+ : MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT0_OFST;
+ if (mac_address)
+ memcpy(mac_address, outbuf + offset, ETH_ALEN);
+- if (fw_subtype_list)
+- memcpy(fw_subtype_list,
+- outbuf + MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_OFST,
+- MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_LEN);
++ if (fw_subtype_list) {
++ offset = MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_OFST;
++ for (i = 0;
++ i < MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_LEN / 2;
++ i++) {
++ fw_subtype_list[i] =
++ le16_to_cpup((__le16 *)(outbuf + offset));
++ offset += 2;
++ }
++ }
+
+ return 0;
+
+diff --git a/drivers/net/ethernet/sfc/mcdi.h b/drivers/net/ethernet/sfc/mcdi.h
+index aced2a7..b61eea0 100644
+--- a/drivers/net/ethernet/sfc/mcdi.h
++++ b/drivers/net/ethernet/sfc/mcdi.h
+@@ -126,5 +126,6 @@ extern int efx_mcdi_wol_filter_set_magic(struct efx_nic *efx,
+ extern int efx_mcdi_wol_filter_get_magic(struct efx_nic *efx, int *id_out);
+ extern int efx_mcdi_wol_filter_remove(struct efx_nic *efx, int id);
+ extern int efx_mcdi_wol_filter_reset(struct efx_nic *efx);
++extern int efx_mcdi_set_mac(struct efx_nic *efx);
+
+ #endif /* EFX_MCDI_H */
+diff --git a/drivers/net/ethernet/sfc/mcdi_mac.c b/drivers/net/ethernet/sfc/mcdi_mac.c
+index 50c2077..da269d7 100644
+--- a/drivers/net/ethernet/sfc/mcdi_mac.c
++++ b/drivers/net/ethernet/sfc/mcdi_mac.c
+@@ -13,7 +13,7 @@
+ #include "mcdi.h"
+ #include "mcdi_pcol.h"
+
+-static int efx_mcdi_set_mac(struct efx_nic *efx)
++int efx_mcdi_set_mac(struct efx_nic *efx)
+ {
+ u32 reject, fcntl;
+ u8 cmdbytes[MC_CMD_SET_MAC_IN_LEN];
+@@ -45,6 +45,8 @@ static int efx_mcdi_set_mac(struct efx_nic *efx)
+ }
+ if (efx->wanted_fc & EFX_FC_AUTO)
+ fcntl = MC_CMD_FCNTL_AUTO;
++ if (efx->fc_disable)
++ fcntl = MC_CMD_FCNTL_OFF;
+
+ MCDI_SET_DWORD(cmdbytes, SET_MAC_IN_FCNTL, fcntl);
+
+diff --git a/drivers/net/ethernet/sfc/net_driver.h b/drivers/net/ethernet/sfc/net_driver.h
+index b8e251a..8bcb8fd 100644
+--- a/drivers/net/ethernet/sfc/net_driver.h
++++ b/drivers/net/ethernet/sfc/net_driver.h
+@@ -213,6 +213,7 @@ struct efx_tx_queue {
+ * If both this and page are %NULL, the buffer slot is currently free.
+ * @page: The associated page buffer, if any.
+ * If both this and skb are %NULL, the buffer slot is currently free.
++ * @page_offset: Offset within page. Valid iff @flags & %EFX_RX_BUF_PAGE.
+ * @len: Buffer length, in bytes.
+ * @is_page: Indicates if @page is valid. If false, @skb is valid.
+ */
+@@ -222,7 +223,8 @@ struct efx_rx_buffer {
+ struct sk_buff *skb;
+ struct page *page;
+ } u;
+- unsigned int len;
++ u16 page_offset;
++ u16 len;
+ bool is_page;
+ };
+
+@@ -689,6 +691,9 @@ struct efx_filter_state;
+ * @promiscuous: Promiscuous flag. Protected by netif_tx_lock.
+ * @multicast_hash: Multicast hash table
+ * @wanted_fc: Wanted flow control flags
++ * @fc_disable: When non-zero flow control is disabled. Typically used to
++ * ensure that network back pressure doesn't delay dma queue flushes.
++ * Serialised by the rtnl lock.
+ * @mac_work: Work item for changing MAC promiscuity and multicast hash
+ * @loopback_mode: Loopback status
+ * @loopback_modes: Supported loopback mode bitmask
+@@ -782,6 +787,7 @@ struct efx_nic {
+ bool promiscuous;
+ union efx_multicast_hash multicast_hash;
+ u8 wanted_fc;
++ unsigned fc_disable;
+
+ atomic_t rx_reset;
+ enum efx_loopback_mode loopback_mode;
+@@ -835,6 +841,7 @@ static inline unsigned int efx_port_num(struct efx_nic *efx)
+ * @remove_port: Free resources allocated by probe_port()
+ * @handle_global_event: Handle a "global" event (may be %NULL)
+ * @prepare_flush: Prepare the hardware for flushing the DMA queues
++ * @finish_flush: Clean up after flushing the DMA queues
+ * @update_stats: Update statistics not provided by event handling
+ * @start_stats: Start the regular fetching of statistics
+ * @stop_stats: Stop the regular fetching of statistics
+@@ -880,6 +887,7 @@ struct efx_nic_type {
+ void (*remove_port)(struct efx_nic *efx);
+ bool (*handle_global_event)(struct efx_channel *channel, efx_qword_t *);
+ void (*prepare_flush)(struct efx_nic *efx);
++ void (*finish_flush)(struct efx_nic *efx);
+ void (*update_stats)(struct efx_nic *efx);
+ void (*start_stats)(struct efx_nic *efx);
+ void (*stop_stats)(struct efx_nic *efx);
+diff --git a/drivers/net/ethernet/sfc/nic.c b/drivers/net/ethernet/sfc/nic.c
+index 3edfbaf..2e9ca10 100644
+--- a/drivers/net/ethernet/sfc/nic.c
++++ b/drivers/net/ethernet/sfc/nic.c
+@@ -371,7 +371,8 @@ efx_may_push_tx_desc(struct efx_tx_queue *tx_queue, unsigned int write_count)
+ return false;
+
+ tx_queue->empty_read_count = 0;
+- return ((empty_read_count ^ write_count) & ~EFX_EMPTY_COUNT_VALID) == 0;
++ return ((empty_read_count ^ write_count) & ~EFX_EMPTY_COUNT_VALID) == 0
++ && tx_queue->write_count - write_count == 1;
+ }
+
+ /* For each entry inserted into the software descriptor ring, create a
+@@ -1261,13 +1262,27 @@ int efx_nic_flush_queues(struct efx_nic *efx)
+ }
+ efx_for_each_possible_channel_tx_queue(tx_queue, channel) {
+ if (tx_queue->initialised &&
+- tx_queue->flushed != FLUSH_DONE)
+- ++tx_pending;
++ tx_queue->flushed != FLUSH_DONE) {
++ efx_oword_t txd_ptr_tbl;
++
++ efx_reado_table(efx, &txd_ptr_tbl,
++ FR_BZ_TX_DESC_PTR_TBL,
++ tx_queue->queue);
++ if (EFX_OWORD_FIELD(txd_ptr_tbl,
++ FRF_AZ_TX_DESCQ_FLUSH) ||
++ EFX_OWORD_FIELD(txd_ptr_tbl,
++ FRF_AZ_TX_DESCQ_EN))
++ ++tx_pending;
++ else
++ tx_queue->flushed = FLUSH_DONE;
++ }
+ }
+ }
+
+- if (rx_pending == 0 && tx_pending == 0)
++ if (rx_pending == 0 && tx_pending == 0) {
++ efx->type->finish_flush(efx);
+ return 0;
++ }
+
+ msleep(EFX_FLUSH_INTERVAL);
+ efx_poll_flush_events(efx);
+@@ -1293,6 +1308,7 @@ int efx_nic_flush_queues(struct efx_nic *efx)
+ }
+ }
+
++ efx->type->finish_flush(efx);
+ return -ETIMEDOUT;
+ }
+
+diff --git a/drivers/net/ethernet/sfc/nic.h b/drivers/net/ethernet/sfc/nic.h
+index 66ece48..58302a2 100644
+--- a/drivers/net/ethernet/sfc/nic.h
++++ b/drivers/net/ethernet/sfc/nic.h
+@@ -210,6 +210,8 @@ extern void falcon_irq_ack_a1(struct efx_nic *efx);
+
+ /* Global Resources */
+ extern int efx_nic_flush_queues(struct efx_nic *efx);
++extern void siena_prepare_flush(struct efx_nic *efx);
++extern void siena_finish_flush(struct efx_nic *efx);
+ extern void falcon_start_nic_stats(struct efx_nic *efx);
+ extern void falcon_stop_nic_stats(struct efx_nic *efx);
+ extern void falcon_setup_xaui(struct efx_nic *efx);
+diff --git a/drivers/net/ethernet/sfc/rx.c b/drivers/net/ethernet/sfc/rx.c
+index 5ef4cc0..9ce8665 100644
+--- a/drivers/net/ethernet/sfc/rx.c
++++ b/drivers/net/ethernet/sfc/rx.c
+@@ -95,11 +95,7 @@ static unsigned int rx_refill_limit = 95;
+ static inline unsigned int efx_rx_buf_offset(struct efx_nic *efx,
+ struct efx_rx_buffer *buf)
+ {
+- /* Offset is always within one page, so we don't need to consider
+- * the page order.
+- */
+- return (((__force unsigned long) buf->dma_addr & (PAGE_SIZE - 1)) +
+- efx->type->rx_buffer_hash_size);
++ return buf->page_offset + efx->type->rx_buffer_hash_size;
+ }
+ static inline unsigned int efx_rx_buf_size(struct efx_nic *efx)
+ {
+@@ -194,6 +190,7 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
+ struct efx_rx_buffer *rx_buf;
+ struct page *page;
+ void *page_addr;
++ unsigned int page_offset;
+ struct efx_rx_page_state *state;
+ dma_addr_t dma_addr;
+ unsigned index, count;
+@@ -220,12 +217,14 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
+
+ page_addr += sizeof(struct efx_rx_page_state);
+ dma_addr += sizeof(struct efx_rx_page_state);
++ page_offset = sizeof(struct efx_rx_page_state);
+
+ split:
+ index = rx_queue->added_count & rx_queue->ptr_mask;
+ rx_buf = efx_rx_buffer(rx_queue, index);
+ rx_buf->dma_addr = dma_addr + EFX_PAGE_IP_ALIGN;
+ rx_buf->u.page = page;
++ rx_buf->page_offset = page_offset + EFX_PAGE_IP_ALIGN;
+ rx_buf->len = efx->rx_buffer_len - EFX_PAGE_IP_ALIGN;
+ rx_buf->is_page = true;
+ ++rx_queue->added_count;
+@@ -237,6 +236,7 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
+ get_page(page);
+ dma_addr += (PAGE_SIZE >> 1);
+ page_addr += (PAGE_SIZE >> 1);
++ page_offset += (PAGE_SIZE >> 1);
+ ++count;
+ goto split;
+ }
+@@ -246,7 +246,8 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
+ }
+
+ static void efx_unmap_rx_buffer(struct efx_nic *efx,
+- struct efx_rx_buffer *rx_buf)
++ struct efx_rx_buffer *rx_buf,
++ unsigned int used_len)
+ {
+ if (rx_buf->is_page && rx_buf->u.page) {
+ struct efx_rx_page_state *state;
+@@ -257,6 +258,10 @@ static void efx_unmap_rx_buffer(struct efx_nic *efx,
+ state->dma_addr,
+ efx_rx_buf_size(efx),
+ PCI_DMA_FROMDEVICE);
++ } else if (used_len) {
++ dma_sync_single_for_cpu(&efx->pci_dev->dev,
++ rx_buf->dma_addr, used_len,
++ DMA_FROM_DEVICE);
+ }
+ } else if (!rx_buf->is_page && rx_buf->u.skb) {
+ pci_unmap_single(efx->pci_dev, rx_buf->dma_addr,
+@@ -279,7 +284,7 @@ static void efx_free_rx_buffer(struct efx_nic *efx,
+ static void efx_fini_rx_buffer(struct efx_rx_queue *rx_queue,
+ struct efx_rx_buffer *rx_buf)
+ {
+- efx_unmap_rx_buffer(rx_queue->efx, rx_buf);
++ efx_unmap_rx_buffer(rx_queue->efx, rx_buf, 0);
+ efx_free_rx_buffer(rx_queue->efx, rx_buf);
+ }
+
+@@ -550,10 +555,10 @@ void efx_rx_packet(struct efx_rx_queue *rx_queue, unsigned int index,
+ goto out;
+ }
+
+- /* Release card resources - assumes all RX buffers consumed in-order
+- * per RX queue
++ /* Release and/or sync DMA mapping - assumes all RX buffers
++ * consumed in-order per RX queue
+ */
+- efx_unmap_rx_buffer(efx, rx_buf);
++ efx_unmap_rx_buffer(efx, rx_buf, len);
+
+ /* Prefetch nice and early so data will (hopefully) be in cache by
+ * the time we look at it.
+diff --git a/drivers/net/ethernet/sfc/selftest.c b/drivers/net/ethernet/sfc/selftest.c
+index 822f6c2..4907885 100644
+--- a/drivers/net/ethernet/sfc/selftest.c
++++ b/drivers/net/ethernet/sfc/selftest.c
+@@ -698,7 +698,7 @@ int efx_selftest(struct efx_nic *efx, struct efx_self_tests *tests,
+ /* Detach the device so the kernel doesn't transmit during the
+ * loopback test and the watchdog timeout doesn't fire.
+ */
+- netif_device_detach(efx->net_dev);
++ efx_device_detach_sync(efx);
+
+ mutex_lock(&efx->mac_lock);
+ if (efx->loopback_modes) {
+diff --git a/drivers/net/ethernet/sfc/siena.c b/drivers/net/ethernet/sfc/siena.c
+index cc2549c..c58b973 100644
+--- a/drivers/net/ethernet/sfc/siena.c
++++ b/drivers/net/ethernet/sfc/siena.c
+@@ -137,6 +137,18 @@ static void siena_remove_port(struct efx_nic *efx)
+ efx_nic_free_buffer(efx, &efx->stats_buffer);
+ }
+
++void siena_prepare_flush(struct efx_nic *efx)
++{
++ if (efx->fc_disable++ == 0)
++ efx_mcdi_set_mac(efx);
++}
++
++void siena_finish_flush(struct efx_nic *efx)
++{
++ if (--efx->fc_disable == 0)
++ efx_mcdi_set_mac(efx);
++}
++
+ static const struct efx_nic_register_test siena_register_tests[] = {
+ { FR_AZ_ADR_REGION,
+ EFX_OWORD32(0x0003FFFF, 0x0003FFFF, 0x0003FFFF, 0x0003FFFF) },
+@@ -624,7 +636,8 @@ const struct efx_nic_type siena_a0_nic_type = {
+ .reset = siena_reset_hw,
+ .probe_port = siena_probe_port,
+ .remove_port = siena_remove_port,
+- .prepare_flush = efx_port_dummy_op_void,
++ .prepare_flush = siena_prepare_flush,
++ .finish_flush = siena_finish_flush,
+ .update_stats = siena_update_nic_stats,
+ .start_stats = siena_start_nic_stats,
+ .stop_stats = siena_stop_nic_stats,
+diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
+index 97f342e..544ac06 100644
+--- a/drivers/net/macvlan.c
++++ b/drivers/net/macvlan.c
+@@ -585,6 +585,7 @@ void macvlan_common_setup(struct net_device *dev)
+ ether_setup(dev);
+
+ dev->priv_flags &= ~(IFF_XMIT_DST_RELEASE | IFF_TX_SKB_SHARING);
++ dev->priv_flags |= IFF_UNICAST_FLT;
+ dev->netdev_ops = &macvlan_netdev_ops;
+ dev->destructor = free_netdev;
+ dev->header_ops = &macvlan_hard_header_ops,
+diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
+index 01b104e..bff6908 100644
+--- a/drivers/net/netconsole.c
++++ b/drivers/net/netconsole.c
+@@ -630,6 +630,7 @@ static int netconsole_netdev_event(struct notifier_block *this,
+ goto done;
+
+ spin_lock_irqsave(&target_list_lock, flags);
++restart:
+ list_for_each_entry(nt, &target_list, list) {
+ netconsole_target_get(nt);
+ if (nt->np.dev == dev) {
+@@ -642,20 +643,17 @@ static int netconsole_netdev_event(struct notifier_block *this,
+ case NETDEV_UNREGISTER:
+ /*
+ * rtnl_lock already held
++ * we might sleep in __netpoll_cleanup()
+ */
+- if (nt->np.dev) {
+- spin_unlock_irqrestore(
+- &target_list_lock,
+- flags);
+- __netpoll_cleanup(&nt->np);
+- spin_lock_irqsave(&target_list_lock,
+- flags);
+- dev_put(nt->np.dev);
+- nt->np.dev = NULL;
+- }
++ spin_unlock_irqrestore(&target_list_lock, flags);
++ __netpoll_cleanup(&nt->np);
++ spin_lock_irqsave(&target_list_lock, flags);
++ dev_put(nt->np.dev);
++ nt->np.dev = NULL;
+ nt->enabled = 0;
+ stopped = true;
+- break;
++ netconsole_target_put(nt);
++ goto restart;
+ }
+ }
+ netconsole_target_put(nt);
+diff --git a/drivers/net/tun.c b/drivers/net/tun.c
+index a12c9bf..f4c5de6 100644
+--- a/drivers/net/tun.c
++++ b/drivers/net/tun.c
+@@ -417,6 +417,8 @@ static netdev_tx_t tun_net_xmit(struct sk_buff *skb, struct net_device *dev)
+ * for indefinite time. */
+ skb_orphan(skb);
+
++ nf_reset(skb);
++
+ /* Enqueue packet */
+ skb_queue_tail(&tun->socket.sk->sk_receive_queue, skb);
+
+diff --git a/drivers/net/wireless/mwifiex/join.c b/drivers/net/wireless/mwifiex/join.c
+index 62b4c29..d48dfb7 100644
+--- a/drivers/net/wireless/mwifiex/join.c
++++ b/drivers/net/wireless/mwifiex/join.c
+@@ -1062,10 +1062,9 @@ mwifiex_cmd_802_11_ad_hoc_join(struct mwifiex_private *priv,
+ adhoc_join->bss_descriptor.bssid,
+ adhoc_join->bss_descriptor.ssid);
+
+- for (i = 0; bss_desc->supported_rates[i] &&
+- i < MWIFIEX_SUPPORTED_RATES;
+- i++)
+- ;
++ for (i = 0; i < MWIFIEX_SUPPORTED_RATES &&
++ bss_desc->supported_rates[i]; i++)
++ ;
+ rates_size = i;
+
+ /* Copy Data Rates from the Rates recorded in scan response */
+diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c b/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c
+index 814c05d..d3920da 100644
+--- a/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c
++++ b/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c
+@@ -1557,74 +1557,57 @@ void rtl92cu_card_disable(struct ieee80211_hw *hw)
+
+ void rtl92cu_set_check_bssid(struct ieee80211_hw *hw, bool check_bssid)
+ {
+- /* dummy routine needed for callback from rtl_op_configure_filter() */
+-}
+-
+-/*========================================================================== */
+-
+-static void _rtl92cu_set_check_bssid(struct ieee80211_hw *hw,
+- enum nl80211_iftype type)
+-{
+ struct rtl_priv *rtlpriv = rtl_priv(hw);
+- u32 reg_rcr = rtl_read_dword(rtlpriv, REG_RCR);
+ struct rtl_hal *rtlhal = rtl_hal(rtlpriv);
+- struct rtl_phy *rtlphy = &(rtlpriv->phy);
+- u8 filterout_non_associated_bssid = false;
++ u32 reg_rcr = rtl_read_dword(rtlpriv, REG_RCR);
+
+- switch (type) {
+- case NL80211_IFTYPE_ADHOC:
+- case NL80211_IFTYPE_STATION:
+- filterout_non_associated_bssid = true;
+- break;
+- case NL80211_IFTYPE_UNSPECIFIED:
+- case NL80211_IFTYPE_AP:
+- default:
+- break;
+- }
+- if (filterout_non_associated_bssid) {
++ if (rtlpriv->psc.rfpwr_state != ERFON)
++ return;
++
++ if (check_bssid) {
++ u8 tmp;
+ if (IS_NORMAL_CHIP(rtlhal->version)) {
+- switch (rtlphy->current_io_type) {
+- case IO_CMD_RESUME_DM_BY_SCAN:
+- reg_rcr |= (RCR_CBSSID_DATA | RCR_CBSSID_BCN);
+- rtlpriv->cfg->ops->set_hw_reg(hw,
+- HW_VAR_RCR, (u8 *)(&reg_rcr));
+- /* enable update TSF */
+- _rtl92cu_set_bcn_ctrl_reg(hw, 0, BIT(4));
+- break;
+- case IO_CMD_PAUSE_DM_BY_SCAN:
+- reg_rcr &= ~(RCR_CBSSID_DATA | RCR_CBSSID_BCN);
+- rtlpriv->cfg->ops->set_hw_reg(hw,
+- HW_VAR_RCR, (u8 *)(&reg_rcr));
+- /* disable update TSF */
+- _rtl92cu_set_bcn_ctrl_reg(hw, BIT(4), 0);
+- break;
+- }
++ reg_rcr |= (RCR_CBSSID_DATA | RCR_CBSSID_BCN);
++ tmp = BIT(4);
+ } else {
+- reg_rcr |= (RCR_CBSSID);
+- rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR,
+- (u8 *)(&reg_rcr));
+- _rtl92cu_set_bcn_ctrl_reg(hw, 0, (BIT(4)|BIT(5)));
++ reg_rcr |= RCR_CBSSID;
++ tmp = BIT(4) | BIT(5);
+ }
+- } else if (filterout_non_associated_bssid == false) {
++ rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR,
++ (u8 *) (&reg_rcr));
++ _rtl92cu_set_bcn_ctrl_reg(hw, 0, tmp);
++ } else {
++ u8 tmp;
+ if (IS_NORMAL_CHIP(rtlhal->version)) {
+- reg_rcr &= (~(RCR_CBSSID_DATA | RCR_CBSSID_BCN));
+- rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR,
+- (u8 *)(&reg_rcr));
+- _rtl92cu_set_bcn_ctrl_reg(hw, BIT(4), 0);
++ reg_rcr &= ~(RCR_CBSSID_DATA | RCR_CBSSID_BCN);
++ tmp = BIT(4);
+ } else {
+- reg_rcr &= (~RCR_CBSSID);
+- rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR,
+- (u8 *)(&reg_rcr));
+- _rtl92cu_set_bcn_ctrl_reg(hw, (BIT(4)|BIT(5)), 0);
++ reg_rcr &= ~RCR_CBSSID;
++ tmp = BIT(4) | BIT(5);
+ }
++ reg_rcr &= (~(RCR_CBSSID_DATA | RCR_CBSSID_BCN));
++ rtlpriv->cfg->ops->set_hw_reg(hw,
++ HW_VAR_RCR, (u8 *) (&reg_rcr));
++ _rtl92cu_set_bcn_ctrl_reg(hw, tmp, 0);
+ }
+ }
+
++/*========================================================================== */
++
+ int rtl92cu_set_network_type(struct ieee80211_hw *hw, enum nl80211_iftype type)
+ {
++ struct rtl_priv *rtlpriv = rtl_priv(hw);
++
+ if (_rtl92cu_set_media_status(hw, type))
+ return -EOPNOTSUPP;
+- _rtl92cu_set_check_bssid(hw, type);
++
++ if (rtlpriv->mac80211.link_state == MAC80211_LINKED) {
++ if (type != NL80211_IFTYPE_AP)
++ rtl92cu_set_check_bssid(hw, true);
++ } else {
++ rtl92cu_set_check_bssid(hw, false);
++ }
++
+ return 0;
+ }
+
+@@ -2238,8 +2221,6 @@ void rtl92cu_update_hal_rate_table(struct ieee80211_hw *hw,
+ (shortgi_rate << 4) | (shortgi_rate);
+ }
+ rtl_write_dword(rtlpriv, REG_ARFR0 + ratr_index * 4, ratr_value);
+- RT_TRACE(rtlpriv, COMP_RATR, DBG_DMESG, ("%x\n", rtl_read_dword(rtlpriv,
+- REG_ARFR0)));
+ }
+
+ void rtl92cu_update_hal_rate_mask(struct ieee80211_hw *hw, u8 rssi_level)
+diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c
+index e18604b..d19b879 100644
+--- a/drivers/tty/pty.c
++++ b/drivers/tty/pty.c
+@@ -49,7 +49,6 @@ static void pty_close(struct tty_struct *tty, struct file *filp)
+ tty->packet = 0;
+ if (!tty->link)
+ return;
+- tty->link->packet = 0;
+ set_bit(TTY_OTHER_CLOSED, &tty->link->flags);
+ wake_up_interruptible(&tty->link->read_wait);
+ wake_up_interruptible(&tty->link->write_wait);
+diff --git a/drivers/tty/serial/sunsu.c b/drivers/tty/serial/sunsu.c
+index ad0f8f5..2dc4d9b 100644
+--- a/drivers/tty/serial/sunsu.c
++++ b/drivers/tty/serial/sunsu.c
+@@ -968,6 +968,7 @@ static struct uart_ops sunsu_pops = {
+ #define UART_NR 4
+
+ static struct uart_sunsu_port sunsu_ports[UART_NR];
++static int nr_inst; /* Number of already registered ports */
+
+ #ifdef CONFIG_SERIO
+
+@@ -1337,13 +1338,8 @@ static int __init sunsu_console_setup(struct console *co, char *options)
+ printk("Console: ttyS%d (SU)\n",
+ (sunsu_reg.minor - 64) + co->index);
+
+- /*
+- * Check whether an invalid uart number has been specified, and
+- * if so, search for the first available port that does have
+- * console support.
+- */
+- if (co->index >= UART_NR)
+- co->index = 0;
++ if (co->index > nr_inst)
++ return -ENODEV;
+ port = &sunsu_ports[co->index].port;
+
+ /*
+@@ -1408,7 +1404,6 @@ static enum su_type __devinit su_get_type(struct device_node *dp)
+
+ static int __devinit su_probe(struct platform_device *op)
+ {
+- static int inst;
+ struct device_node *dp = op->dev.of_node;
+ struct uart_sunsu_port *up;
+ struct resource *rp;
+@@ -1418,16 +1413,16 @@ static int __devinit su_probe(struct platform_device *op)
+
+ type = su_get_type(dp);
+ if (type == SU_PORT_PORT) {
+- if (inst >= UART_NR)
++ if (nr_inst >= UART_NR)
+ return -EINVAL;
+- up = &sunsu_ports[inst];
++ up = &sunsu_ports[nr_inst];
+ } else {
+ up = kzalloc(sizeof(*up), GFP_KERNEL);
+ if (!up)
+ return -ENOMEM;
+ }
+
+- up->port.line = inst;
++ up->port.line = nr_inst;
+
+ spin_lock_init(&up->port.lock);
+
+@@ -1461,6 +1456,8 @@ static int __devinit su_probe(struct platform_device *op)
+ }
+ dev_set_drvdata(&op->dev, up);
+
++ nr_inst++;
++
+ return 0;
+ }
+
+@@ -1488,7 +1485,7 @@ static int __devinit su_probe(struct platform_device *op)
+
+ dev_set_drvdata(&op->dev, up);
+
+- inst++;
++ nr_inst++;
+
+ return 0;
+
+diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
+index 61d08dd..76be3ba 100644
+--- a/drivers/usb/core/hcd-pci.c
++++ b/drivers/usb/core/hcd-pci.c
+@@ -173,6 +173,7 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
+ struct hc_driver *driver;
+ struct usb_hcd *hcd;
+ int retval;
++ int hcd_irq = 0;
+
+ if (usb_disabled())
+ return -ENODEV;
+@@ -187,15 +188,19 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
+ return -ENODEV;
+ dev->current_state = PCI_D0;
+
+- /* The xHCI driver supports MSI and MSI-X,
+- * so don't fail if the BIOS doesn't provide a legacy IRQ.
++ /*
++ * The xHCI driver has its own irq management
++ * make sure irq setup is not touched for xhci in generic hcd code
+ */
+- if (!dev->irq && (driver->flags & HCD_MASK) != HCD_USB3) {
+- dev_err(&dev->dev,
+- "Found HC with no IRQ. Check BIOS/PCI %s setup!\n",
+- pci_name(dev));
+- retval = -ENODEV;
+- goto disable_pci;
++ if ((driver->flags & HCD_MASK) != HCD_USB3) {
++ if (!dev->irq) {
++ dev_err(&dev->dev,
++ "Found HC with no IRQ. Check BIOS/PCI %s setup!\n",
++ pci_name(dev));
++ retval = -ENODEV;
++ goto disable_pci;
++ }
++ hcd_irq = dev->irq;
+ }
+
+ hcd = usb_create_hcd(driver, &dev->dev, pci_name(dev));
+@@ -245,7 +250,7 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
+
+ pci_set_master(dev);
+
+- retval = usb_add_hcd(hcd, dev->irq, IRQF_SHARED);
++ retval = usb_add_hcd(hcd, hcd_irq, IRQF_SHARED);
+ if (retval != 0)
+ goto unmap_registers;
+ set_hs_companion(dev, hcd);
+diff --git a/drivers/usb/gadget/udc-core.c b/drivers/usb/gadget/udc-core.c
+index 901924a..d433fdf 100644
+--- a/drivers/usb/gadget/udc-core.c
++++ b/drivers/usb/gadget/udc-core.c
+@@ -213,7 +213,7 @@ static void usb_gadget_remove_driver(struct usb_udc *udc)
+ udc->driver->disconnect(udc->gadget);
+ usb_gadget_disconnect(udc->gadget);
+ udc->driver->unbind(udc->gadget);
+- usb_gadget_udc_stop(udc->gadget, udc->driver);
++ usb_gadget_udc_stop(udc->gadget, NULL);
+ } else {
+ usb_gadget_stop(udc->gadget, udc->driver);
+ }
+diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
+index 53c8be1..2c0350f 100644
+--- a/drivers/usb/host/xhci.c
++++ b/drivers/usb/host/xhci.c
+@@ -342,7 +342,7 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd)
+ * generate interrupts. Don't even try to enable MSI.
+ */
+ if (xhci->quirks & XHCI_BROKEN_MSI)
+- return 0;
++ goto legacy_irq;
+
+ /* unregister the legacy interrupt */
+ if (hcd->irq)
+@@ -363,6 +363,7 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd)
+ return -EINVAL;
+ }
+
++ legacy_irq:
+ /* fall back to legacy interrupt*/
+ ret = request_irq(pdev->irq, &usb_hcd_irq, IRQF_SHARED,
+ hcd->irq_descr, hcd);
+diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
+index cc368c2..c519a31 100644
+--- a/drivers/usb/host/xhci.h
++++ b/drivers/usb/host/xhci.h
+@@ -206,8 +206,8 @@ struct xhci_op_regs {
+ /* bits 12:31 are reserved (and should be preserved on writes). */
+
+ /* IMAN - Interrupt Management Register */
+-#define IMAN_IP (1 << 1)
+-#define IMAN_IE (1 << 0)
++#define IMAN_IE (1 << 1)
++#define IMAN_IP (1 << 0)
+
+ /* USBSTS - USB status - status bitmasks */
+ /* HC not running - set to 1 when run/stop bit is cleared. */
+diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c
+index 1a49ca9..e664bac 100644
+--- a/drivers/usb/serial/garmin_gps.c
++++ b/drivers/usb/serial/garmin_gps.c
+@@ -973,10 +973,7 @@ static void garmin_close(struct usb_serial_port *port)
+ if (!serial)
+ return;
+
+- mutex_lock(&port->serial->disc_mutex);
+-
+- if (!port->serial->disconnected)
+- garmin_clear(garmin_data_p);
++ garmin_clear(garmin_data_p);
+
+ /* shutdown our urbs */
+ usb_kill_urb(port->read_urb);
+@@ -985,8 +982,6 @@ static void garmin_close(struct usb_serial_port *port)
+ /* keep reset state so we know that we must start a new session */
+ if (garmin_data_p->state != STATE_RESET)
+ garmin_data_p->state = STATE_DISCONNECTED;
+-
+- mutex_unlock(&port->serial->disc_mutex);
+ }
+
+
+diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c
+index 3de751d..1f145bf 100644
+--- a/drivers/usb/serial/io_ti.c
++++ b/drivers/usb/serial/io_ti.c
+@@ -2796,6 +2796,7 @@ static struct usb_serial_driver edgeport_2port_device = {
+ .set_termios = edge_set_termios,
+ .tiocmget = edge_tiocmget,
+ .tiocmset = edge_tiocmset,
++ .get_icount = edge_get_icount,
+ .write = edge_write,
+ .write_room = edge_write_room,
+ .chars_in_buffer = edge_chars_in_buffer,
+diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
+index dc1ce62..2482d5e 100644
+--- a/drivers/usb/serial/usb-serial.c
++++ b/drivers/usb/serial/usb-serial.c
+@@ -168,6 +168,7 @@ static void destroy_serial(struct kref *kref)
+ }
+ }
+
++ usb_put_intf(serial->interface);
+ usb_put_dev(serial->dev);
+ kfree(serial);
+ }
+@@ -624,7 +625,7 @@ static struct usb_serial *create_serial(struct usb_device *dev,
+ }
+ serial->dev = usb_get_dev(dev);
+ serial->type = driver;
+- serial->interface = interface;
++ serial->interface = usb_get_intf(interface);
+ kref_init(&serial->kref);
+ mutex_init(&serial->disc_mutex);
+ serial->minor = SERIAL_TTY_NO_MINOR;
+diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
+index fa8a1b2..7b8d564 100644
+--- a/drivers/usb/storage/unusual_devs.h
++++ b/drivers/usb/storage/unusual_devs.h
+@@ -488,6 +488,13 @@ UNUSUAL_DEV( 0x04e8, 0x5122, 0x0000, 0x9999,
+ USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+ US_FL_MAX_SECTORS_64 | US_FL_BULK_IGNORE_TAG),
+
++/* Added by Dmitry Artamonow <mad_soft@inbox.ru> */
++UNUSUAL_DEV( 0x04e8, 0x5136, 0x0000, 0x9999,
++ "Samsung",
++ "YP-Z3",
++ USB_SC_DEVICE, USB_PR_DEVICE, NULL,
++ US_FL_MAX_SECTORS_64),
++
+ /* Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>.
+ * Device uses standards-violating 32-byte Bulk Command Block Wrappers and
+ * reports itself as "Proprietary SCSI Bulk." Cf. device entry 0x084d:0x0011.
+diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
+index b76071e..5c58128 100644
+--- a/drivers/vhost/net.c
++++ b/drivers/vhost/net.c
+@@ -234,7 +234,8 @@ static void handle_tx(struct vhost_net *net)
+ msg.msg_controllen = 0;
+ ubufs = NULL;
+ } else {
+- struct ubuf_info *ubuf = &vq->ubuf_info[head];
++ struct ubuf_info *ubuf;
++ ubuf = vq->ubuf_info + vq->upend_idx;
+
+ vq->heads[vq->upend_idx].len = len;
+ ubuf->callback = vhost_zerocopy_callback;
+diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c
+index cfd1ce3..1d36db1 100644
+--- a/fs/cifs/asn1.c
++++ b/fs/cifs/asn1.c
+@@ -614,53 +614,10 @@ decode_negTokenInit(unsigned char *security_blob, int length,
+ }
+ }
+
+- /* mechlistMIC */
+- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
+- /* Check if we have reached the end of the blob, but with
+- no mechListMic (e.g. NTLMSSP instead of KRB5) */
+- if (ctx.error == ASN1_ERR_DEC_EMPTY)
+- goto decode_negtoken_exit;
+- cFYI(1, "Error decoding last part negTokenInit exit3");
+- return 0;
+- } else if ((cls != ASN1_CTX) || (con != ASN1_CON)) {
+- /* tag = 3 indicating mechListMIC */
+- cFYI(1, "Exit 4 cls = %d con = %d tag = %d end = %p (%d)",
+- cls, con, tag, end, *end);
+- return 0;
+- }
+-
+- /* sequence */
+- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
+- cFYI(1, "Error decoding last part negTokenInit exit5");
+- return 0;
+- } else if ((cls != ASN1_UNI) || (con != ASN1_CON)
+- || (tag != ASN1_SEQ)) {
+- cFYI(1, "cls = %d con = %d tag = %d end = %p (%d)",
+- cls, con, tag, end, *end);
+- }
+-
+- /* sequence of */
+- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
+- cFYI(1, "Error decoding last part negTokenInit exit 7");
+- return 0;
+- } else if ((cls != ASN1_CTX) || (con != ASN1_CON)) {
+- cFYI(1, "Exit 8 cls = %d con = %d tag = %d end = %p (%d)",
+- cls, con, tag, end, *end);
+- return 0;
+- }
+-
+- /* general string */
+- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
+- cFYI(1, "Error decoding last part negTokenInit exit9");
+- return 0;
+- } else if ((cls != ASN1_UNI) || (con != ASN1_PRI)
+- || (tag != ASN1_GENSTR)) {
+- cFYI(1, "Exit10 cls = %d con = %d tag = %d end = %p (%d)",
+- cls, con, tag, end, *end);
+- return 0;
+- }
+- cFYI(1, "Need to call asn1_octets_decode() function for %s",
+- ctx.pointer); /* is this UTF-8 or ASCII? */
+-decode_negtoken_exit:
++ /*
++ * We currently ignore anything at the end of the SPNEGO blob after
++ * the mechTypes have been parsed, since none of that info is
++ * used at the moment.
++ */
+ return 1;
+ }
+diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
+index b3a2a40..25bb97f 100644
+--- a/fs/cifs/cifsfs.c
++++ b/fs/cifs/cifsfs.c
+@@ -90,6 +90,30 @@ extern mempool_t *cifs_sm_req_poolp;
+ extern mempool_t *cifs_req_poolp;
+ extern mempool_t *cifs_mid_poolp;
+
++/*
++ * Bumps refcount for cifs super block.
++ * Note that it should be only called if a referece to VFS super block is
++ * already held, e.g. in open-type syscalls context. Otherwise it can race with
++ * atomic_dec_and_test in deactivate_locked_super.
++ */
++void
++cifs_sb_active(struct super_block *sb)
++{
++ struct cifs_sb_info *server = CIFS_SB(sb);
++
++ if (atomic_inc_return(&server->active) == 1)
++ atomic_inc(&sb->s_active);
++}
++
++void
++cifs_sb_deactive(struct super_block *sb)
++{
++ struct cifs_sb_info *server = CIFS_SB(sb);
++
++ if (atomic_dec_and_test(&server->active))
++ deactivate_super(sb);
++}
++
+ static int
+ cifs_read_super(struct super_block *sb)
+ {
+diff --git a/fs/cifs/cifsfs.h b/fs/cifs/cifsfs.h
+index 30ff560..c91ea81 100644
+--- a/fs/cifs/cifsfs.h
++++ b/fs/cifs/cifsfs.h
+@@ -41,6 +41,10 @@ extern struct file_system_type cifs_fs_type;
+ extern const struct address_space_operations cifs_addr_ops;
+ extern const struct address_space_operations cifs_addr_ops_smallbuf;
+
++/* Functions related to super block operations */
++extern void cifs_sb_active(struct super_block *sb);
++extern void cifs_sb_deactive(struct super_block *sb);
++
+ /* Functions related to inodes */
+ extern const struct inode_operations cifs_dir_inode_ops;
+ extern struct inode *cifs_root_iget(struct super_block *);
+diff --git a/fs/cifs/file.c b/fs/cifs/file.c
+index 51574d4..c55808e 100644
+--- a/fs/cifs/file.c
++++ b/fs/cifs/file.c
+@@ -265,6 +265,8 @@ cifs_new_fileinfo(__u16 fileHandle, struct file *file,
+ mutex_init(&pCifsFile->fh_mutex);
+ INIT_WORK(&pCifsFile->oplock_break, cifs_oplock_break);
+
++ cifs_sb_active(inode->i_sb);
++
+ spin_lock(&cifs_file_list_lock);
+ list_add(&pCifsFile->tlist, &(tlink_tcon(tlink)->openFileList));
+ /* if readable file instance put first in list*/
+@@ -293,7 +295,8 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file)
+ struct inode *inode = cifs_file->dentry->d_inode;
+ struct cifs_tcon *tcon = tlink_tcon(cifs_file->tlink);
+ struct cifsInodeInfo *cifsi = CIFS_I(inode);
+- struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb);
++ struct super_block *sb = inode->i_sb;
++ struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
+ struct cifsLockInfo *li, *tmp;
+
+ spin_lock(&cifs_file_list_lock);
+@@ -345,6 +348,7 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file)
+
+ cifs_put_tlink(cifs_file->tlink);
+ dput(cifs_file->dentry);
++ cifs_sb_deactive(sb);
+ kfree(cifs_file);
+ }
+
+diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c
+index 484ffee..2845a1f 100644
+--- a/fs/ext4/balloc.c
++++ b/fs/ext4/balloc.c
+@@ -571,7 +571,7 @@ ext4_fsblk_t ext4_count_free_clusters(struct super_block *sb)
+ brelse(bitmap_bh);
+ printk(KERN_DEBUG "ext4_count_free_clusters: stored = %llu"
+ ", computed = %llu, %llu\n",
+- EXT4_B2C(EXT4_SB(sb), ext4_free_blocks_count(es)),
++ EXT4_NUM_B2C(EXT4_SB(sb), ext4_free_blocks_count(es)),
+ desc_count, bitmap_count);
+ return bitmap_count;
+ #else
+diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
+index 8cb184c..60b6ca5 100644
+--- a/fs/ext4/ext4.h
++++ b/fs/ext4/ext4.h
+@@ -309,9 +309,9 @@ struct ext4_group_desc
+ */
+
+ struct flex_groups {
+- atomic_t free_inodes;
+- atomic_t free_clusters;
+- atomic_t used_dirs;
++ atomic64_t free_clusters;
++ atomic_t free_inodes;
++ atomic_t used_dirs;
+ };
+
+ #define EXT4_BG_INODE_UNINIT 0x0001 /* Inode table/bitmap not in use */
+diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
+index b48e0dc..ce0bc25 100644
+--- a/fs/ext4/extents.c
++++ b/fs/ext4/extents.c
+@@ -2960,6 +2960,7 @@ static int ext4_split_extent(handle_t *handle,
+ int err = 0;
+ int uninitialized;
+ int split_flag1, flags1;
++ int allocated = map->m_len;
+
+ depth = ext_depth(inode);
+ ex = path[depth].p_ext;
+@@ -2979,6 +2980,8 @@ static int ext4_split_extent(handle_t *handle,
+ map->m_lblk + map->m_len, split_flag1, flags1);
+ if (err)
+ goto out;
++ } else {
++ allocated = ee_len - (map->m_lblk - ee_block);
+ }
+
+ ext4_ext_drop_refs(path);
+@@ -3001,7 +3004,7 @@ static int ext4_split_extent(handle_t *handle,
+
+ ext4_ext_show_leaf(inode, path);
+ out:
+- return err ? err : map->m_len;
++ return err ? err : allocated;
+ }
+
+ #define EXT4_EXT_ZERO_LEN 7
+@@ -3663,6 +3666,7 @@ out:
+ allocated - map->m_len);
+ allocated = map->m_len;
+ }
++ map->m_len = allocated;
+
+ /*
+ * If we have done fallocate with the offset that is already
+diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
+index 6266799..6d1f577 100644
+--- a/fs/ext4/ialloc.c
++++ b/fs/ext4/ialloc.c
+@@ -294,8 +294,8 @@ error_return:
+ }
+
+ struct orlov_stats {
++ __u64 free_clusters;
+ __u32 free_inodes;
+- __u32 free_clusters;
+ __u32 used_dirs;
+ };
+
+@@ -312,7 +312,7 @@ static void get_orlov_stats(struct super_block *sb, ext4_group_t g,
+
+ if (flex_size > 1) {
+ stats->free_inodes = atomic_read(&flex_group[g].free_inodes);
+- stats->free_clusters = atomic_read(&flex_group[g].free_clusters);
++ stats->free_clusters = atomic64_read(&flex_group[g].free_clusters);
+ stats->used_dirs = atomic_read(&flex_group[g].used_dirs);
+ return;
+ }
+diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
+index 4b2bb75..3270ffd 100644
+--- a/fs/ext4/inode.c
++++ b/fs/ext4/inode.c
+@@ -142,7 +142,8 @@ void ext4_evict_inode(struct inode *inode)
+ * don't use page cache.
+ */
+ if (ext4_should_journal_data(inode) &&
+- (S_ISLNK(inode->i_mode) || S_ISREG(inode->i_mode))) {
++ (S_ISLNK(inode->i_mode) || S_ISREG(inode->i_mode)) &&
++ inode->i_ino != EXT4_JOURNAL_INO) {
+ journal_t *journal = EXT4_SB(inode->i_sb)->s_journal;
+ tid_t commit_tid = EXT4_I(inode)->i_datasync_tid;
+
+diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
+index 553ff71..7b18563 100644
+--- a/fs/ext4/mballoc.c
++++ b/fs/ext4/mballoc.c
+@@ -2866,8 +2866,8 @@ ext4_mb_mark_diskspace_used(struct ext4_allocation_context *ac,
+ if (sbi->s_log_groups_per_flex) {
+ ext4_group_t flex_group = ext4_flex_group(sbi,
+ ac->ac_b_ex.fe_group);
+- atomic_sub(ac->ac_b_ex.fe_len,
+- &sbi->s_flex_groups[flex_group].free_clusters);
++ atomic64_sub(ac->ac_b_ex.fe_len,
++ &sbi->s_flex_groups[flex_group].free_clusters);
+ }
+
+ err = ext4_handle_dirty_metadata(handle, NULL, bitmap_bh);
+@@ -3485,7 +3485,7 @@ ext4_mb_new_inode_pa(struct ext4_allocation_context *ac)
+ win = offs;
+
+ ac->ac_b_ex.fe_logical = ac->ac_o_ex.fe_logical -
+- EXT4_B2C(sbi, win);
++ EXT4_NUM_B2C(sbi, win);
+ BUG_ON(ac->ac_o_ex.fe_logical < ac->ac_b_ex.fe_logical);
+ BUG_ON(ac->ac_o_ex.fe_len > ac->ac_b_ex.fe_len);
+ }
+@@ -4634,7 +4634,7 @@ do_more:
+ EXT4_BLOCKS_PER_GROUP(sb);
+ count -= overflow;
+ }
+- count_clusters = EXT4_B2C(sbi, count);
++ count_clusters = EXT4_NUM_B2C(sbi, count);
+ bitmap_bh = ext4_read_block_bitmap(sb, block_group);
+ if (!bitmap_bh) {
+ err = -EIO;
+@@ -4724,8 +4724,8 @@ do_more:
+
+ if (sbi->s_log_groups_per_flex) {
+ ext4_group_t flex_group = ext4_flex_group(sbi, block_group);
+- atomic_add(count_clusters,
+- &sbi->s_flex_groups[flex_group].free_clusters);
++ atomic64_add(count_clusters,
++ &sbi->s_flex_groups[flex_group].free_clusters);
+ }
+
+ ext4_mb_unload_buddy(&e4b);
+@@ -4865,12 +4865,12 @@ int ext4_group_add_blocks(handle_t *handle, struct super_block *sb,
+ desc->bg_checksum = ext4_group_desc_csum(sbi, block_group, desc);
+ ext4_unlock_group(sb, block_group);
+ percpu_counter_add(&sbi->s_freeclusters_counter,
+- EXT4_B2C(sbi, blocks_freed));
++ EXT4_NUM_B2C(sbi, blocks_freed));
+
+ if (sbi->s_log_groups_per_flex) {
+ ext4_group_t flex_group = ext4_flex_group(sbi, block_group);
+- atomic_add(EXT4_B2C(sbi, blocks_freed),
+- &sbi->s_flex_groups[flex_group].free_clusters);
++ atomic64_add(EXT4_NUM_B2C(sbi, blocks_freed),
++ &sbi->s_flex_groups[flex_group].free_clusters);
+ }
+
+ ext4_mb_unload_buddy(&e4b);
+diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
+index 33129c0..6e67b97 100644
+--- a/fs/ext4/resize.c
++++ b/fs/ext4/resize.c
+@@ -938,7 +938,7 @@ int ext4_group_add(struct super_block *sb, struct ext4_new_group_data *input)
+
+ /* Update the free space counts */
+ percpu_counter_add(&sbi->s_freeclusters_counter,
+- EXT4_B2C(sbi, input->free_blocks_count));
++ EXT4_NUM_B2C(sbi, input->free_blocks_count));
+ percpu_counter_add(&sbi->s_freeinodes_counter,
+ EXT4_INODES_PER_GROUP(sb));
+
+@@ -946,8 +946,8 @@ int ext4_group_add(struct super_block *sb, struct ext4_new_group_data *input)
+ sbi->s_log_groups_per_flex) {
+ ext4_group_t flex_group;
+ flex_group = ext4_flex_group(sbi, input->group);
+- atomic_add(EXT4_B2C(sbi, input->free_blocks_count),
+- &sbi->s_flex_groups[flex_group].free_clusters);
++ atomic64_add(EXT4_NUM_B2C(sbi, input->free_blocks_count),
++ &sbi->s_flex_groups[flex_group].free_clusters);
+ atomic_add(EXT4_INODES_PER_GROUP(sb),
+ &sbi->s_flex_groups[flex_group].free_inodes);
+ }
+diff --git a/fs/ext4/super.c b/fs/ext4/super.c
+index 24ac7a2..cc386b2 100644
+--- a/fs/ext4/super.c
++++ b/fs/ext4/super.c
+@@ -2047,8 +2047,8 @@ static int ext4_fill_flex_info(struct super_block *sb)
+ flex_group = ext4_flex_group(sbi, i);
+ atomic_add(ext4_free_inodes_count(sb, gdp),
+ &sbi->s_flex_groups[flex_group].free_inodes);
+- atomic_add(ext4_free_group_clusters(sb, gdp),
+- &sbi->s_flex_groups[flex_group].free_clusters);
++ atomic64_add(ext4_free_group_clusters(sb, gdp),
++ &sbi->s_flex_groups[flex_group].free_clusters);
+ atomic_add(ext4_used_dirs_count(sb, gdp),
+ &sbi->s_flex_groups[flex_group].used_dirs);
+ }
+diff --git a/fs/isofs/export.c b/fs/isofs/export.c
+index 516eb21..fd88add 100644
+--- a/fs/isofs/export.c
++++ b/fs/isofs/export.c
+@@ -135,6 +135,7 @@ isofs_export_encode_fh(struct dentry *dentry,
+ len = 3;
+ fh32[0] = ei->i_iget5_block;
+ fh16[2] = (__u16)ei->i_iget5_offset; /* fh16 [sic] */
++ fh16[3] = 0; /* avoid leaking uninitialized data */
+ fh32[2] = inode->i_generation;
+ if (connectable && !S_ISDIR(inode->i_mode)) {
+ struct inode *parent;
+diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
+index d7dd774..6ac5bb1 100644
+--- a/fs/jbd2/transaction.c
++++ b/fs/jbd2/transaction.c
+@@ -1016,9 +1016,12 @@ out:
+ void jbd2_journal_set_triggers(struct buffer_head *bh,
+ struct jbd2_buffer_trigger_type *type)
+ {
+- struct journal_head *jh = bh2jh(bh);
++ struct journal_head *jh = jbd2_journal_grab_journal_head(bh);
+
++ if (WARN_ON(!jh))
++ return;
+ jh->b_triggers = type;
++ jbd2_journal_put_journal_head(jh);
+ }
+
+ void jbd2_buffer_frozen_trigger(struct journal_head *jh, void *mapped_data,
+@@ -1070,17 +1073,18 @@ int jbd2_journal_dirty_metadata(handle_t *handle, struct buffer_head *bh)
+ {
+ transaction_t *transaction = handle->h_transaction;
+ journal_t *journal = transaction->t_journal;
+- struct journal_head *jh = bh2jh(bh);
++ struct journal_head *jh;
+ int ret = 0;
+
+- jbd_debug(5, "journal_head %p\n", jh);
+- JBUFFER_TRACE(jh, "entry");
+ if (is_handle_aborted(handle))
+ goto out;
+- if (!buffer_jbd(bh)) {
++ jh = jbd2_journal_grab_journal_head(bh);
++ if (!jh) {
+ ret = -EUCLEAN;
+ goto out;
+ }
++ jbd_debug(5, "journal_head %p\n", jh);
++ JBUFFER_TRACE(jh, "entry");
+
+ jbd_lock_bh_state(bh);
+
+@@ -1171,6 +1175,7 @@ int jbd2_journal_dirty_metadata(handle_t *handle, struct buffer_head *bh)
+ spin_unlock(&journal->j_list_lock);
+ out_unlock_bh:
+ jbd_unlock_bh_state(bh);
++ jbd2_journal_put_journal_head(jh);
+ out:
+ JBUFFER_TRACE(jh, "exit");
+ WARN_ON(ret); /* All errors are bugs, so dump the stack */
+diff --git a/fs/proc/inode.c b/fs/proc/inode.c
+index 7737c54..00f08b3 100644
+--- a/fs/proc/inode.c
++++ b/fs/proc/inode.c
+@@ -427,12 +427,10 @@ static const struct file_operations proc_reg_file_ops_no_compat = {
+
+ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
+ {
+- struct inode * inode;
++ struct inode *inode = new_inode_pseudo(sb);
+
+- inode = iget_locked(sb, de->low_ino);
+- if (!inode)
+- return NULL;
+- if (inode->i_state & I_NEW) {
++ if (inode) {
++ inode->i_ino = de->low_ino;
+ inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
+ PROC_I(inode)->fd = 0;
+ PROC_I(inode)->pde = de;
+@@ -461,9 +459,7 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
+ inode->i_fop = de->proc_fops;
+ }
+ }
+- unlock_new_inode(inode);
+- } else
+- pde_put(de);
++ }
+ return inode;
+ }
+
+diff --git a/fs/udf/namei.c b/fs/udf/namei.c
+index 4639e13..71c97fb 100644
+--- a/fs/udf/namei.c
++++ b/fs/udf/namei.c
+@@ -1293,6 +1293,7 @@ static int udf_encode_fh(struct dentry *de, __u32 *fh, int *lenp,
+ *lenp = 3;
+ fid->udf.block = location.logicalBlockNum;
+ fid->udf.partref = location.partitionReferenceNum;
++ fid->udf.parent_partref = 0;
+ fid->udf.generation = inode->i_generation;
+
+ if (connectable && !S_ISDIR(inode->i_mode)) {
+diff --git a/include/asm-generic/signal.h b/include/asm-generic/signal.h
+index 555c0ae..743f7a5 100644
+--- a/include/asm-generic/signal.h
++++ b/include/asm-generic/signal.h
+@@ -99,6 +99,10 @@ typedef unsigned long old_sigset_t;
+
+ #include <asm-generic/signal-defs.h>
+
++#ifdef SA_RESTORER
++#define __ARCH_HAS_SA_RESTORER
++#endif
++
+ struct sigaction {
+ __sighandler_t sa_handler;
+ unsigned long sa_flags;
+diff --git a/include/linux/efi.h b/include/linux/efi.h
+index ce95a4b..8469f3f 100644
+--- a/include/linux/efi.h
++++ b/include/linux/efi.h
+@@ -484,7 +484,8 @@ struct efivars {
+ * 1) ->list - adds, removals, reads, writes
+ * 2) ops.[gs]et_variable() calls.
+ * It must not be held when creating sysfs entries or calling kmalloc.
+- * ops.get_next_variable() is only called from register_efivars(),
++ * ops.get_next_variable() is only called from register_efivars()
++ * or efivar_update_sysfs_entries(),
+ * which is protected by the BKL, so that path is safe.
+ */
+ spinlock_t lock;
+diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
+index b669be6..9b9b2aa 100644
+--- a/include/linux/perf_event.h
++++ b/include/linux/perf_event.h
+@@ -1186,6 +1186,12 @@ static inline void perf_event_disable(struct perf_event *event) { }
+ static inline void perf_event_task_tick(void) { }
+ #endif
+
++#if defined(CONFIG_PERF_EVENTS) && defined(CONFIG_CPU_SUP_INTEL)
++extern void perf_restore_debug_store(void);
++#else
++static inline void perf_restore_debug_store(void) { }
++#endif
++
+ #define perf_output_put(handle, x) perf_output_copy((handle), &(x), sizeof(x))
+
+ /*
+diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
+index 53dc7e7..da65890 100644
+--- a/include/linux/skbuff.h
++++ b/include/linux/skbuff.h
+@@ -455,7 +455,7 @@ struct sk_buff {
+ union {
+ __u32 mark;
+ __u32 dropcount;
+- __u32 avail_size;
++ __u32 reserved_tailroom;
+ };
+
+ __u16 vlan_tci;
+@@ -1332,7 +1332,10 @@ static inline int skb_tailroom(const struct sk_buff *skb)
+ */
+ static inline int skb_availroom(const struct sk_buff *skb)
+ {
+- return skb_is_nonlinear(skb) ? 0 : skb->avail_size - skb->len;
++ if (skb_is_nonlinear(skb))
++ return 0;
++
++ return skb->end - skb->tail - skb->reserved_tailroom;
+ }
+
+ /**
+diff --git a/include/net/inet_frag.h b/include/net/inet_frag.h
+index 16ff29a..b289bd2 100644
+--- a/include/net/inet_frag.h
++++ b/include/net/inet_frag.h
+@@ -33,6 +33,13 @@ struct inet_frag_queue {
+
+ #define INETFRAGS_HASHSZ 64
+
++/* averaged:
++ * max_depth = default ipfrag_high_thresh / INETFRAGS_HASHSZ /
++ * rounded up (SKB_TRUELEN(0) + sizeof(struct ipq or
++ * struct frag_queue))
++ */
++#define INETFRAGS_MAXDEPTH 128
++
+ struct inet_frags {
+ struct hlist_head hash[INETFRAGS_HASHSZ];
+ rwlock_t lock;
+@@ -64,6 +71,8 @@ int inet_frag_evictor(struct netns_frags *nf, struct inet_frags *f);
+ struct inet_frag_queue *inet_frag_find(struct netns_frags *nf,
+ struct inet_frags *f, void *key, unsigned int hash)
+ __releases(&f->lock);
++void inet_frag_maybe_warn_overflow(struct inet_frag_queue *q,
++ const char *prefix);
+
+ static inline void inet_frag_put(struct inet_frag_queue *q, struct inet_frags *f)
+ {
+diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h
+index 10422ef..2124004 100644
+--- a/include/net/ip_fib.h
++++ b/include/net/ip_fib.h
+@@ -129,18 +129,16 @@ struct fib_result_nl {
+ };
+
+ #ifdef CONFIG_IP_ROUTE_MULTIPATH
+-
+ #define FIB_RES_NH(res) ((res).fi->fib_nh[(res).nh_sel])
+-
+-#define FIB_TABLE_HASHSZ 2
+-
+ #else /* CONFIG_IP_ROUTE_MULTIPATH */
+-
+ #define FIB_RES_NH(res) ((res).fi->fib_nh[0])
++#endif /* CONFIG_IP_ROUTE_MULTIPATH */
+
++#ifdef CONFIG_IP_MULTIPLE_TABLES
+ #define FIB_TABLE_HASHSZ 256
+-
+-#endif /* CONFIG_IP_ROUTE_MULTIPATH */
++#else
++#define FIB_TABLE_HASHSZ 2
++#endif
+
+ extern __be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh);
+
+diff --git a/kernel/signal.c b/kernel/signal.c
+index 71e1816..ea76d30 100644
+--- a/kernel/signal.c
++++ b/kernel/signal.c
+@@ -481,7 +481,7 @@ flush_signal_handlers(struct task_struct *t, int force_default)
+ if (force_default || ka->sa.sa_handler != SIG_IGN)
+ ka->sa.sa_handler = SIG_DFL;
+ ka->sa.sa_flags = 0;
+-#ifdef SA_RESTORER
++#ifdef __ARCH_HAS_SA_RESTORER
+ ka->sa.sa_restorer = NULL;
+ #endif
+ sigemptyset(&ka->sa.sa_mask);
+diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
+index 6c880e8..0943d2a 100644
+--- a/kernel/trace/ftrace.c
++++ b/kernel/trace/ftrace.c
+@@ -2725,8 +2725,8 @@ __unregister_ftrace_function_probe(char *glob, struct ftrace_probe_ops *ops,
+ continue;
+ }
+
+- hlist_del(&entry->node);
+- call_rcu(&entry->rcu, ftrace_free_entry_rcu);
++ hlist_del_rcu(&entry->node);
++ call_rcu_sched(&entry->rcu, ftrace_free_entry_rcu);
+ }
+ }
+ __disable_ftrace_function_probe();
+diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
+index 5638104..17edb14 100644
+--- a/kernel/trace/trace.c
++++ b/kernel/trace/trace.c
+@@ -652,7 +652,7 @@ __update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu)
+ void
+ update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu)
+ {
+- struct ring_buffer *buf = tr->buffer;
++ struct ring_buffer *buf;
+
+ if (trace_stop_count)
+ return;
+@@ -664,6 +664,7 @@ update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu)
+ }
+ arch_spin_lock(&ftrace_max_lock);
+
++ buf = tr->buffer;
+ tr->buffer = max_tr.buffer;
+ max_tr.buffer = buf;
+
+@@ -2635,11 +2636,25 @@ static int set_tracer_option(struct tracer *trace, char *cmp, int neg)
+ return -EINVAL;
+ }
+
+-static void set_tracer_flags(unsigned int mask, int enabled)
++/* Some tracers require overwrite to stay enabled */
++int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set)
++{
++ if (tracer->enabled && (mask & TRACE_ITER_OVERWRITE) && !set)
++ return -1;
++
++ return 0;
++}
++
++int set_tracer_flag(unsigned int mask, int enabled)
+ {
+ /* do nothing if flag is already set */
+ if (!!(trace_flags & mask) == !!enabled)
+- return;
++ return 0;
++
++ /* Give the tracer a chance to approve the change */
++ if (current_trace->flag_changed)
++ if (current_trace->flag_changed(current_trace, mask, !!enabled))
++ return -EINVAL;
+
+ if (enabled)
+ trace_flags |= mask;
+@@ -2649,8 +2664,14 @@ static void set_tracer_flags(unsigned int mask, int enabled)
+ if (mask == TRACE_ITER_RECORD_CMD)
+ trace_event_enable_cmd_record(enabled);
+
+- if (mask == TRACE_ITER_OVERWRITE)
++ if (mask == TRACE_ITER_OVERWRITE) {
+ ring_buffer_change_overwrite(global_trace.buffer, enabled);
++#ifdef CONFIG_TRACER_MAX_TRACE
++ ring_buffer_change_overwrite(max_tr.buffer, enabled);
++#endif
++ }
++
++ return 0;
+ }
+
+ static ssize_t
+@@ -2660,7 +2681,7 @@ tracing_trace_options_write(struct file *filp, const char __user *ubuf,
+ char buf[64];
+ char *cmp;
+ int neg = 0;
+- int ret;
++ int ret = 0;
+ int i;
+
+ if (cnt >= sizeof(buf))
+@@ -2677,21 +2698,23 @@ tracing_trace_options_write(struct file *filp, const char __user *ubuf,
+ cmp += 2;
+ }
+
++ mutex_lock(&trace_types_lock);
++
+ for (i = 0; trace_options[i]; i++) {
+ if (strcmp(cmp, trace_options[i]) == 0) {
+- set_tracer_flags(1 << i, !neg);
++ ret = set_tracer_flag(1 << i, !neg);
+ break;
+ }
+ }
+
+ /* If no option could be set, test the specific tracer options */
+- if (!trace_options[i]) {
+- mutex_lock(&trace_types_lock);
++ if (!trace_options[i])
+ ret = set_tracer_option(current_trace, cmp, neg);
+- mutex_unlock(&trace_types_lock);
+- if (ret)
+- return ret;
+- }
++
++ mutex_unlock(&trace_types_lock);
++
++ if (ret)
++ return ret;
+
+ *ppos += cnt;
+
+@@ -3015,6 +3038,9 @@ static int tracing_set_tracer(const char *buf)
+ goto out;
+
+ trace_branch_disable();
++
++ current_trace->enabled = false;
++
+ if (current_trace && current_trace->reset)
+ current_trace->reset(tr);
+ if (current_trace && current_trace->use_max_tr) {
+@@ -3044,6 +3070,7 @@ static int tracing_set_tracer(const char *buf)
+ goto out;
+ }
+
++ current_trace->enabled = true;
+ trace_branch_enable(tr);
+ out:
+ mutex_unlock(&trace_types_lock);
+@@ -4378,7 +4405,13 @@ trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt,
+
+ if (val != 0 && val != 1)
+ return -EINVAL;
+- set_tracer_flags(1 << index, val);
++
++ mutex_lock(&trace_types_lock);
++ ret = set_tracer_flag(1 << index, val);
++ mutex_unlock(&trace_types_lock);
++
++ if (ret < 0)
++ return ret;
+
+ *ppos += cnt;
+
+diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
+index 092e1f8..c3c3f6b 100644
+--- a/kernel/trace/trace.h
++++ b/kernel/trace/trace.h
+@@ -271,10 +271,14 @@ struct tracer {
+ enum print_line_t (*print_line)(struct trace_iterator *iter);
+ /* If you handled the flag setting, return 0 */
+ int (*set_flag)(u32 old_flags, u32 bit, int set);
++ /* Return 0 if OK with change, else return non-zero */
++ int (*flag_changed)(struct tracer *tracer,
++ u32 mask, int set);
+ struct tracer *next;
+ struct tracer_flags *flags;
+ int print_max;
+ int use_max_tr;
++ bool enabled;
+ };
+
+
+@@ -815,6 +819,9 @@ extern struct list_head ftrace_events;
+ extern const char *__start___trace_bprintk_fmt[];
+ extern const char *__stop___trace_bprintk_fmt[];
+
++int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set);
++int set_tracer_flag(unsigned int mask, int enabled);
++
+ #undef FTRACE_ENTRY
+ #define FTRACE_ENTRY(call, struct_name, id, tstruct, print) \
+ extern struct ftrace_event_call \
+diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c
+index 20dad0d..1626e1a 100644
+--- a/kernel/trace/trace_irqsoff.c
++++ b/kernel/trace/trace_irqsoff.c
+@@ -32,7 +32,7 @@ enum {
+
+ static int trace_type __read_mostly;
+
+-static int save_lat_flag;
++static int save_flags;
+
+ static void stop_irqsoff_tracer(struct trace_array *tr, int graph);
+ static int start_irqsoff_tracer(struct trace_array *tr, int graph);
+@@ -546,8 +546,11 @@ static void stop_irqsoff_tracer(struct trace_array *tr, int graph)
+
+ static void __irqsoff_tracer_init(struct trace_array *tr)
+ {
+- save_lat_flag = trace_flags & TRACE_ITER_LATENCY_FMT;
+- trace_flags |= TRACE_ITER_LATENCY_FMT;
++ save_flags = trace_flags;
++
++ /* non overwrite screws up the latency tracers */
++ set_tracer_flag(TRACE_ITER_OVERWRITE, 1);
++ set_tracer_flag(TRACE_ITER_LATENCY_FMT, 1);
+
+ tracing_max_latency = 0;
+ irqsoff_trace = tr;
+@@ -561,10 +564,13 @@ static void __irqsoff_tracer_init(struct trace_array *tr)
+
+ static void irqsoff_tracer_reset(struct trace_array *tr)
+ {
++ int lat_flag = save_flags & TRACE_ITER_LATENCY_FMT;
++ int overwrite_flag = save_flags & TRACE_ITER_OVERWRITE;
++
+ stop_irqsoff_tracer(tr, is_graph());
+
+- if (!save_lat_flag)
+- trace_flags &= ~TRACE_ITER_LATENCY_FMT;
++ set_tracer_flag(TRACE_ITER_LATENCY_FMT, lat_flag);
++ set_tracer_flag(TRACE_ITER_OVERWRITE, overwrite_flag);
+ }
+
+ static void irqsoff_tracer_start(struct trace_array *tr)
+@@ -597,6 +603,7 @@ static struct tracer irqsoff_tracer __read_mostly =
+ .print_line = irqsoff_print_line,
+ .flags = &tracer_flags,
+ .set_flag = irqsoff_set_flag,
++ .flag_changed = trace_keep_overwrite,
+ #ifdef CONFIG_FTRACE_SELFTEST
+ .selftest = trace_selftest_startup_irqsoff,
+ #endif
+@@ -630,6 +637,7 @@ static struct tracer preemptoff_tracer __read_mostly =
+ .print_line = irqsoff_print_line,
+ .flags = &tracer_flags,
+ .set_flag = irqsoff_set_flag,
++ .flag_changed = trace_keep_overwrite,
+ #ifdef CONFIG_FTRACE_SELFTEST
+ .selftest = trace_selftest_startup_preemptoff,
+ #endif
+@@ -665,6 +673,7 @@ static struct tracer preemptirqsoff_tracer __read_mostly =
+ .print_line = irqsoff_print_line,
+ .flags = &tracer_flags,
+ .set_flag = irqsoff_set_flag,
++ .flag_changed = trace_keep_overwrite,
+ #ifdef CONFIG_FTRACE_SELFTEST
+ .selftest = trace_selftest_startup_preemptirqsoff,
+ #endif
+diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c
+index e4a70c0..6857e0c 100644
+--- a/kernel/trace/trace_sched_wakeup.c
++++ b/kernel/trace/trace_sched_wakeup.c
+@@ -36,7 +36,7 @@ static void __wakeup_reset(struct trace_array *tr);
+ static int wakeup_graph_entry(struct ftrace_graph_ent *trace);
+ static void wakeup_graph_return(struct ftrace_graph_ret *trace);
+
+-static int save_lat_flag;
++static int save_flags;
+
+ #define TRACE_DISPLAY_GRAPH 1
+
+@@ -528,8 +528,11 @@ static void stop_wakeup_tracer(struct trace_array *tr)
+
+ static int __wakeup_tracer_init(struct trace_array *tr)
+ {
+- save_lat_flag = trace_flags & TRACE_ITER_LATENCY_FMT;
+- trace_flags |= TRACE_ITER_LATENCY_FMT;
++ save_flags = trace_flags;
++
++ /* non overwrite screws up the latency tracers */
++ set_tracer_flag(TRACE_ITER_OVERWRITE, 1);
++ set_tracer_flag(TRACE_ITER_LATENCY_FMT, 1);
+
+ tracing_max_latency = 0;
+ wakeup_trace = tr;
+@@ -551,12 +554,15 @@ static int wakeup_rt_tracer_init(struct trace_array *tr)
+
+ static void wakeup_tracer_reset(struct trace_array *tr)
+ {
++ int lat_flag = save_flags & TRACE_ITER_LATENCY_FMT;
++ int overwrite_flag = save_flags & TRACE_ITER_OVERWRITE;
++
+ stop_wakeup_tracer(tr);
+ /* make sure we put back any tasks we are tracing */
+ wakeup_reset(tr);
+
+- if (!save_lat_flag)
+- trace_flags &= ~TRACE_ITER_LATENCY_FMT;
++ set_tracer_flag(TRACE_ITER_LATENCY_FMT, lat_flag);
++ set_tracer_flag(TRACE_ITER_OVERWRITE, overwrite_flag);
+ }
+
+ static void wakeup_tracer_start(struct trace_array *tr)
+@@ -582,6 +588,7 @@ static struct tracer wakeup_tracer __read_mostly =
+ .print_line = wakeup_print_line,
+ .flags = &tracer_flags,
+ .set_flag = wakeup_set_flag,
++ .flag_changed = trace_keep_overwrite,
+ #ifdef CONFIG_FTRACE_SELFTEST
+ .selftest = trace_selftest_startup_wakeup,
+ #endif
+@@ -603,6 +610,7 @@ static struct tracer wakeup_rt_tracer __read_mostly =
+ .print_line = wakeup_print_line,
+ .flags = &tracer_flags,
+ .set_flag = wakeup_set_flag,
++ .flag_changed = trace_keep_overwrite,
+ #ifdef CONFIG_FTRACE_SELFTEST
+ .selftest = trace_selftest_startup_wakeup,
+ #endif
+diff --git a/mm/hugetlb.c b/mm/hugetlb.c
+index d6c0fdf..4c7d42a 100644
+--- a/mm/hugetlb.c
++++ b/mm/hugetlb.c
+@@ -2092,8 +2092,12 @@ int hugetlb_report_node_meminfo(int nid, char *buf)
+ /* Return the number pages of memory we physically have, in PAGE_SIZE units. */
+ unsigned long hugetlb_total_pages(void)
+ {
+- struct hstate *h = &default_hstate;
+- return h->nr_huge_pages * pages_per_huge_page(h);
++ struct hstate *h;
++ unsigned long nr_total_pages = 0;
++
++ for_each_hstate(h)
++ nr_total_pages += h->nr_huge_pages * pages_per_huge_page(h);
++ return nr_total_pages;
+ }
+
+ static int hugetlb_acct_memory(struct hstate *h, long delta)
+diff --git a/net/core/dev.c b/net/core/dev.c
+index 2aac4ec..b23bbbf 100644
+--- a/net/core/dev.c
++++ b/net/core/dev.c
+@@ -3299,6 +3299,7 @@ ncls:
+ }
+ switch (rx_handler(&skb)) {
+ case RX_HANDLER_CONSUMED:
++ ret = NET_RX_SUCCESS;
+ goto out;
+ case RX_HANDLER_ANOTHER:
+ goto another_round;
+diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
+index 5229c7f..3b5e680 100644
+--- a/net/core/rtnetlink.c
++++ b/net/core/rtnetlink.c
+@@ -973,6 +973,7 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev,
+ * report anything.
+ */
+ ivi.spoofchk = -1;
++ memset(ivi.mac, 0, sizeof(ivi.mac));
+ if (dev->netdev_ops->ndo_get_vf_config(dev, i, &ivi))
+ break;
+ vf_mac.vf =
+@@ -2041,7 +2042,7 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
+ struct rtattr *attr = (void *)nlh + NLMSG_ALIGN(min_len);
+
+ while (RTA_OK(attr, attrlen)) {
+- unsigned flavor = attr->rta_type;
++ unsigned int flavor = attr->rta_type & NLA_TYPE_MASK;
+ if (flavor) {
+ if (flavor > rta_max[sz_idx])
+ return -EINVAL;
+diff --git a/net/dcb/dcbnl.c b/net/dcb/dcbnl.c
+index d860530..2f9517d 100644
+--- a/net/dcb/dcbnl.c
++++ b/net/dcb/dcbnl.c
+@@ -336,6 +336,7 @@ static int dcbnl_getperm_hwaddr(struct net_device *netdev, struct nlattr **tb,
+ dcb->dcb_family = AF_UNSPEC;
+ dcb->cmd = DCB_CMD_GPERM_HWADDR;
+
++ memset(perm_addr, 0, sizeof(perm_addr));
+ netdev->dcbnl_ops->getpermhwaddr(netdev, perm_addr);
+
+ ret = nla_put(dcbnl_skb, DCB_ATTR_PERM_HWADDR, sizeof(perm_addr),
+@@ -1238,6 +1239,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
+
+ if (ops->ieee_getets) {
+ struct ieee_ets ets;
++ memset(&ets, 0, sizeof(ets));
+ err = ops->ieee_getets(netdev, &ets);
+ if (!err)
+ NLA_PUT(skb, DCB_ATTR_IEEE_ETS, sizeof(ets), &ets);
+@@ -1245,6 +1247,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
+
+ if (ops->ieee_getpfc) {
+ struct ieee_pfc pfc;
++ memset(&pfc, 0, sizeof(pfc));
+ err = ops->ieee_getpfc(netdev, &pfc);
+ if (!err)
+ NLA_PUT(skb, DCB_ATTR_IEEE_PFC, sizeof(pfc), &pfc);
+@@ -1277,6 +1280,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
+ /* get peer info if available */
+ if (ops->ieee_peer_getets) {
+ struct ieee_ets ets;
++ memset(&ets, 0, sizeof(ets));
+ err = ops->ieee_peer_getets(netdev, &ets);
+ if (!err)
+ NLA_PUT(skb, DCB_ATTR_IEEE_PEER_ETS, sizeof(ets), &ets);
+@@ -1284,6 +1288,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
+
+ if (ops->ieee_peer_getpfc) {
+ struct ieee_pfc pfc;
++ memset(&pfc, 0, sizeof(pfc));
+ err = ops->ieee_peer_getpfc(netdev, &pfc);
+ if (!err)
+ NLA_PUT(skb, DCB_ATTR_IEEE_PEER_PFC, sizeof(pfc), &pfc);
+@@ -1463,6 +1468,7 @@ static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev)
+ /* peer info if available */
+ if (ops->cee_peer_getpg) {
+ struct cee_pg pg;
++ memset(&pg, 0, sizeof(pg));
+ err = ops->cee_peer_getpg(netdev, &pg);
+ if (!err)
+ NLA_PUT(skb, DCB_ATTR_CEE_PEER_PG, sizeof(pg), &pg);
+@@ -1470,6 +1476,7 @@ static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev)
+
+ if (ops->cee_peer_getpfc) {
+ struct cee_pfc pfc;
++ memset(&pfc, 0, sizeof(pfc));
+ err = ops->cee_peer_getpfc(netdev, &pfc);
+ if (!err)
+ NLA_PUT(skb, DCB_ATTR_CEE_PEER_PFC, sizeof(pfc), &pfc);
+diff --git a/net/ieee802154/6lowpan.h b/net/ieee802154/6lowpan.h
+index 5d8cf80..8b0866f 100644
+--- a/net/ieee802154/6lowpan.h
++++ b/net/ieee802154/6lowpan.h
+@@ -87,7 +87,7 @@
+ (memcmp(addr1, addr2, length >> 3) == 0)
+
+ /* local link, i.e. FE80::/10 */
+-#define is_addr_link_local(a) (((a)->s6_addr16[0]) == 0x80FE)
++#define is_addr_link_local(a) (((a)->s6_addr16[0]) == htons(0xFE80))
+
+ /*
+ * check whether we can compress the IID to 16 bits,
+diff --git a/net/ipv4/inet_fragment.c b/net/ipv4/inet_fragment.c
+index 5ff2a51..210b710 100644
+--- a/net/ipv4/inet_fragment.c
++++ b/net/ipv4/inet_fragment.c
+@@ -21,6 +21,7 @@
+ #include <linux/rtnetlink.h>
+ #include <linux/slab.h>
+
++#include <net/sock.h>
+ #include <net/inet_frag.h>
+
+ static void inet_frag_secret_rebuild(unsigned long dummy)
+@@ -271,6 +272,7 @@ struct inet_frag_queue *inet_frag_find(struct netns_frags *nf,
+ {
+ struct inet_frag_queue *q;
+ struct hlist_node *n;
++ int depth = 0;
+
+ hlist_for_each_entry(q, n, &f->hash[hash], list) {
+ if (q->net == nf && f->match(q, key)) {
+@@ -278,9 +280,25 @@ struct inet_frag_queue *inet_frag_find(struct netns_frags *nf,
+ read_unlock(&f->lock);
+ return q;
+ }
++ depth++;
+ }
+ read_unlock(&f->lock);
+
+- return inet_frag_create(nf, f, key);
++ if (depth <= INETFRAGS_MAXDEPTH)
++ return inet_frag_create(nf, f, key);
++ else
++ return ERR_PTR(-ENOBUFS);
+ }
+ EXPORT_SYMBOL(inet_frag_find);
++
++void inet_frag_maybe_warn_overflow(struct inet_frag_queue *q,
++ const char *prefix)
++{
++ static const char msg[] = "inet_frag_find: Fragment hash bucket"
++ " list length grew over limit " __stringify(INETFRAGS_MAXDEPTH)
++ ". Dropping fragment.\n";
++
++ if (PTR_ERR(q) == -ENOBUFS)
++ LIMIT_NETDEBUG(KERN_WARNING "%s%s", prefix, msg);
++}
++EXPORT_SYMBOL(inet_frag_maybe_warn_overflow);
+diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
+index a4e7131..b2cfe83 100644
+--- a/net/ipv4/ip_fragment.c
++++ b/net/ipv4/ip_fragment.c
+@@ -20,6 +20,8 @@
+ * Patrick McHardy : LRU queue of frag heads for evictor.
+ */
+
++#define pr_fmt(fmt) "IPv4: " fmt
++
+ #include <linux/compiler.h>
+ #include <linux/module.h>
+ #include <linux/types.h>
+@@ -293,14 +295,12 @@ static inline struct ipq *ip_find(struct net *net, struct iphdr *iph, u32 user)
+ hash = ipqhashfn(iph->id, iph->saddr, iph->daddr, iph->protocol);
+
+ q = inet_frag_find(&net->ipv4.frags, &ip4_frags, &arg, hash);
+- if (q == NULL)
+- goto out_nomem;
++ if (IS_ERR_OR_NULL(q)) {
++ inet_frag_maybe_warn_overflow(q, pr_fmt());
++ return NULL;
++ }
+
+ return container_of(q, struct ipq, q);
+-
+-out_nomem:
+- LIMIT_NETDEBUG(KERN_ERR "ip_frag_create: no memory left !\n");
+- return NULL;
+ }
+
+ /* Is the fragment too far ahead to be part of ipq? */
+diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c
+index 42dd1a9..40eb4fc 100644
+--- a/net/ipv4/ip_options.c
++++ b/net/ipv4/ip_options.c
+@@ -358,7 +358,6 @@ int ip_options_compile(struct net *net,
+ }
+ switch (optptr[3]&0xF) {
+ case IPOPT_TS_TSONLY:
+- opt->ts = optptr - iph;
+ if (skb)
+ timeptr = &optptr[optptr[2]-1];
+ opt->ts_needtime = 1;
+@@ -369,7 +368,6 @@ int ip_options_compile(struct net *net,
+ pp_ptr = optptr + 2;
+ goto error;
+ }
+- opt->ts = optptr - iph;
+ if (rt) {
+ memcpy(&optptr[optptr[2]-1], &rt->rt_spec_dst, 4);
+ timeptr = &optptr[optptr[2]+3];
+@@ -383,7 +381,6 @@ int ip_options_compile(struct net *net,
+ pp_ptr = optptr + 2;
+ goto error;
+ }
+- opt->ts = optptr - iph;
+ {
+ __be32 addr;
+ memcpy(&addr, &optptr[optptr[2]-1], 4);
+@@ -416,12 +413,12 @@ int ip_options_compile(struct net *net,
+ pp_ptr = optptr + 3;
+ goto error;
+ }
+- opt->ts = optptr - iph;
+ if (skb) {
+ optptr[3] = (optptr[3]&0xF)|((overflow+1)<<4);
+ opt->is_changed = 1;
+ }
+ }
++ opt->ts = optptr - iph;
+ break;
+ case IPOPT_RA:
+ if (optlen < 4) {
+diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
+index 52edbb8..fe381c2 100644
+--- a/net/ipv4/tcp.c
++++ b/net/ipv4/tcp.c
+@@ -704,7 +704,7 @@ struct sk_buff *sk_stream_alloc_skb(struct sock *sk, int size, gfp_t gfp)
+ * Make sure that we have exactly size bytes
+ * available to the caller, no more, no less.
+ */
+- skb->avail_size = size;
++ skb->reserved_tailroom = skb->end - skb->tail - size;
+ return skb;
+ }
+ __kfree_skb(skb);
+diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
+index e865ed1..1b1f7af 100644
+--- a/net/ipv4/tcp_input.c
++++ b/net/ipv4/tcp_input.c
+@@ -5494,6 +5494,9 @@ int tcp_rcv_established(struct sock *sk, struct sk_buff *skb,
+ if (tcp_checksum_complete_user(sk, skb))
+ goto csum_error;
+
++ if ((int)skb->truesize > sk->sk_forward_alloc)
++ goto step5;
++
+ /* Predicted packet is in window by definition.
+ * seq == rcv_nxt and rcv_wup <= rcv_nxt.
+ * Hence, check seq<=rcv_wup reduces to:
+@@ -5505,9 +5508,6 @@ int tcp_rcv_established(struct sock *sk, struct sk_buff *skb,
+
+ tcp_rcv_rtt_measure_ts(sk, skb);
+
+- if ((int)skb->truesize > sk->sk_forward_alloc)
+- goto step5;
+-
+ NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPHPHITS);
+
+ /* Bulk data transfer: receiver */
+diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
+index 921cbac..9bb7400 100644
+--- a/net/ipv4/tcp_output.c
++++ b/net/ipv4/tcp_output.c
+@@ -1096,7 +1096,6 @@ static void __pskb_trim_head(struct sk_buff *skb, int len)
+ eat = min_t(int, len, skb_headlen(skb));
+ if (eat) {
+ __skb_pull(skb, eat);
+- skb->avail_size -= eat;
+ len -= eat;
+ if (!len)
+ return;
+diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c
+index a46c64e..f8d24dd 100644
+--- a/net/ipv6/ip6_input.c
++++ b/net/ipv6/ip6_input.c
+@@ -265,7 +265,8 @@ int ip6_mc_input(struct sk_buff *skb)
+ * IPv6 multicast router mode is now supported ;)
+ */
+ if (dev_net(skb->dev)->ipv6.devconf_all->mc_forwarding &&
+- !(ipv6_addr_type(&hdr->daddr) & IPV6_ADDR_LINKLOCAL) &&
++ !(ipv6_addr_type(&hdr->daddr) &
++ (IPV6_ADDR_LOOPBACK|IPV6_ADDR_LINKLOCAL)) &&
+ likely(!(IP6CB(skb)->flags & IP6SKB_FORWARDED))) {
+ /*
+ * Okay, we try to forward - split and duplicate
+diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c
+index 38f00b0..52e2f65 100644
+--- a/net/ipv6/netfilter/nf_conntrack_reasm.c
++++ b/net/ipv6/netfilter/nf_conntrack_reasm.c
+@@ -14,6 +14,8 @@
+ * 2 of the License, or (at your option) any later version.
+ */
+
++#define pr_fmt(fmt) "IPv6-nf: " fmt
++
+ #include <linux/errno.h>
+ #include <linux/types.h>
+ #include <linux/string.h>
+@@ -176,13 +178,12 @@ fq_find(__be32 id, u32 user, struct in6_addr *src, struct in6_addr *dst)
+
+ q = inet_frag_find(&nf_init_frags, &nf_frags, &arg, hash);
+ local_bh_enable();
+- if (q == NULL)
+- goto oom;
++ if (IS_ERR_OR_NULL(q)) {
++ inet_frag_maybe_warn_overflow(q, pr_fmt());
++ return NULL;
++ }
+
+ return container_of(q, struct nf_ct_frag6_queue, q);
+-
+-oom:
+- return NULL;
+ }
+
+
+diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c
+index dfb164e..2b0a4ca 100644
+--- a/net/ipv6/reassembly.c
++++ b/net/ipv6/reassembly.c
+@@ -26,6 +26,9 @@
+ * YOSHIFUJI,H. @USAGI Always remove fragment header to
+ * calculate ICV correctly.
+ */
++
++#define pr_fmt(fmt) "IPv6: " fmt
++
+ #include <linux/errno.h>
+ #include <linux/types.h>
+ #include <linux/string.h>
+@@ -240,9 +243,10 @@ fq_find(struct net *net, __be32 id, const struct in6_addr *src, const struct in6
+ hash = inet6_hash_frag(id, src, dst, ip6_frags.rnd);
+
+ q = inet_frag_find(&net->ipv6.frags, &ip6_frags, &arg, hash);
+- if (q == NULL)
++ if (IS_ERR_OR_NULL(q)) {
++ inet_frag_maybe_warn_overflow(q, pr_fmt());
+ return NULL;
+-
++ }
+ return container_of(q, struct frag_queue, q);
+ }
+
+diff --git a/net/ipv6/route.c b/net/ipv6/route.c
+index 791c1fa..18ea73c 100644
+--- a/net/ipv6/route.c
++++ b/net/ipv6/route.c
+@@ -1920,7 +1920,8 @@ void rt6_purge_dflt_routers(struct net *net)
+ restart:
+ read_lock_bh(&table->tb6_lock);
+ for (rt = table->tb6_root.leaf; rt; rt = rt->dst.rt6_next) {
+- if (rt->rt6i_flags & (RTF_DEFAULT | RTF_ADDRCONF)) {
++ if (rt->rt6i_flags & (RTF_DEFAULT | RTF_ADDRCONF) &&
++ (!rt->rt6i_idev || rt->rt6i_idev->cnf.accept_ra != 2)) {
+ dst_hold(&rt->dst);
+ read_unlock_bh(&table->tb6_lock);
+ ip6_del_rt(rt);
+diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c
+index b1bd16f..6f60175 100644
+--- a/net/l2tp/l2tp_ppp.c
++++ b/net/l2tp/l2tp_ppp.c
+@@ -360,6 +360,7 @@ static int pppol2tp_sendmsg(struct kiocb *iocb, struct socket *sock, struct msgh
+ l2tp_xmit_skb(session, skb, session->hdr_len);
+
+ sock_put(ps->tunnel_sock);
++ sock_put(sk);
+
+ return error;
+
+diff --git a/net/netlabel/netlabel_unlabeled.c b/net/netlabel/netlabel_unlabeled.c
+index d463f5a..23267b3 100644
+--- a/net/netlabel/netlabel_unlabeled.c
++++ b/net/netlabel/netlabel_unlabeled.c
+@@ -1189,8 +1189,6 @@ static int netlbl_unlabel_staticlist(struct sk_buff *skb,
+ struct netlbl_unlhsh_walk_arg cb_arg;
+ u32 skip_bkt = cb->args[0];
+ u32 skip_chain = cb->args[1];
+- u32 skip_addr4 = cb->args[2];
+- u32 skip_addr6 = cb->args[3];
+ u32 iter_bkt;
+ u32 iter_chain = 0, iter_addr4 = 0, iter_addr6 = 0;
+ struct netlbl_unlhsh_iface *iface;
+@@ -1215,7 +1213,7 @@ static int netlbl_unlabel_staticlist(struct sk_buff *skb,
+ continue;
+ netlbl_af4list_foreach_rcu(addr4,
+ &iface->addr4_list) {
+- if (iter_addr4++ < skip_addr4)
++ if (iter_addr4++ < cb->args[2])
+ continue;
+ if (netlbl_unlabel_staticlist_gen(
+ NLBL_UNLABEL_C_STATICLIST,
+@@ -1231,7 +1229,7 @@ static int netlbl_unlabel_staticlist(struct sk_buff *skb,
+ #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+ netlbl_af6list_foreach_rcu(addr6,
+ &iface->addr6_list) {
+- if (iter_addr6++ < skip_addr6)
++ if (iter_addr6++ < cb->args[3])
+ continue;
+ if (netlbl_unlabel_staticlist_gen(
+ NLBL_UNLABEL_C_STATICLIST,
+@@ -1250,10 +1248,10 @@ static int netlbl_unlabel_staticlist(struct sk_buff *skb,
+
+ unlabel_staticlist_return:
+ rcu_read_unlock();
+- cb->args[0] = skip_bkt;
+- cb->args[1] = skip_chain;
+- cb->args[2] = skip_addr4;
+- cb->args[3] = skip_addr6;
++ cb->args[0] = iter_bkt;
++ cb->args[1] = iter_chain;
++ cb->args[2] = iter_addr4;
++ cb->args[3] = iter_addr6;
+ return skb->len;
+ }
+
+@@ -1273,12 +1271,9 @@ static int netlbl_unlabel_staticlistdef(struct sk_buff *skb,
+ {
+ struct netlbl_unlhsh_walk_arg cb_arg;
+ struct netlbl_unlhsh_iface *iface;
+- u32 skip_addr4 = cb->args[0];
+- u32 skip_addr6 = cb->args[1];
+- u32 iter_addr4 = 0;
++ u32 iter_addr4 = 0, iter_addr6 = 0;
+ struct netlbl_af4list *addr4;
+ #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+- u32 iter_addr6 = 0;
+ struct netlbl_af6list *addr6;
+ #endif
+
+@@ -1292,7 +1287,7 @@ static int netlbl_unlabel_staticlistdef(struct sk_buff *skb,
+ goto unlabel_staticlistdef_return;
+
+ netlbl_af4list_foreach_rcu(addr4, &iface->addr4_list) {
+- if (iter_addr4++ < skip_addr4)
++ if (iter_addr4++ < cb->args[0])
+ continue;
+ if (netlbl_unlabel_staticlist_gen(NLBL_UNLABEL_C_STATICLISTDEF,
+ iface,
+@@ -1305,7 +1300,7 @@ static int netlbl_unlabel_staticlistdef(struct sk_buff *skb,
+ }
+ #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+ netlbl_af6list_foreach_rcu(addr6, &iface->addr6_list) {
+- if (iter_addr6++ < skip_addr6)
++ if (iter_addr6++ < cb->args[1])
+ continue;
+ if (netlbl_unlabel_staticlist_gen(NLBL_UNLABEL_C_STATICLISTDEF,
+ iface,
+@@ -1320,8 +1315,8 @@ static int netlbl_unlabel_staticlistdef(struct sk_buff *skb,
+
+ unlabel_staticlistdef_return:
+ rcu_read_unlock();
+- cb->args[0] = skip_addr4;
+- cb->args[1] = skip_addr6;
++ cb->args[0] = iter_addr4;
++ cb->args[1] = iter_addr6;
+ return skb->len;
+ }
+
+diff --git a/net/rds/message.c b/net/rds/message.c
+index f0a4658..aff589c 100644
+--- a/net/rds/message.c
++++ b/net/rds/message.c
+@@ -197,6 +197,9 @@ struct rds_message *rds_message_alloc(unsigned int extra_len, gfp_t gfp)
+ {
+ struct rds_message *rm;
+
++ if (extra_len > KMALLOC_MAX_SIZE - sizeof(struct rds_message))
++ return NULL;
++
+ rm = kzalloc(sizeof(struct rds_message) + extra_len, gfp);
+ if (!rm)
+ goto out;
+diff --git a/net/sctp/associola.c b/net/sctp/associola.c
+index acd2edb..3c04692 100644
+--- a/net/sctp/associola.c
++++ b/net/sctp/associola.c
+@@ -1050,7 +1050,7 @@ struct sctp_transport *sctp_assoc_lookup_tsn(struct sctp_association *asoc,
+ transports) {
+
+ if (transport == active)
+- break;
++ continue;
+ list_for_each_entry(chunk, &transport->transmitted,
+ transmitted_list) {
+ if (key == chunk->subh.data_hdr->tsn) {
+diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
+index 891f5db..cb1c430 100644
+--- a/net/sctp/sm_statefuns.c
++++ b/net/sctp/sm_statefuns.c
+@@ -2044,7 +2044,7 @@ sctp_disposition_t sctp_sf_do_5_2_4_dupcook(const struct sctp_endpoint *ep,
+ }
+
+ /* Delete the tempory new association. */
+- sctp_add_cmd_sf(commands, SCTP_CMD_NEW_ASOC, SCTP_ASOC(new_asoc));
++ sctp_add_cmd_sf(commands, SCTP_CMD_SET_ASOC, SCTP_ASOC(new_asoc));
+ sctp_add_cmd_sf(commands, SCTP_CMD_DELETE_TCB, SCTP_NULL());
+
+ /* Restore association pointer to provide SCTP command interpeter
+diff --git a/security/selinux/xfrm.c b/security/selinux/xfrm.c
+index 48665ec..8ab2951 100644
+--- a/security/selinux/xfrm.c
++++ b/security/selinux/xfrm.c
+@@ -310,7 +310,7 @@ int selinux_xfrm_policy_clone(struct xfrm_sec_ctx *old_ctx,
+
+ if (old_ctx) {
+ new_ctx = kmalloc(sizeof(*old_ctx) + old_ctx->ctx_len,
+- GFP_KERNEL);
++ GFP_ATOMIC);
+ if (!new_ctx)
+ return -ENOMEM;
+
+diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
+index b0187e7..7747d26 100644
+--- a/sound/pci/hda/hda_codec.c
++++ b/sound/pci/hda/hda_codec.c
+@@ -2771,7 +2771,7 @@ static unsigned int convert_to_spdif_status(unsigned short val)
+ if (val & AC_DIG1_PROFESSIONAL)
+ sbits |= IEC958_AES0_PROFESSIONAL;
+ if (sbits & IEC958_AES0_PROFESSIONAL) {
+- if (sbits & AC_DIG1_EMPHASIS)
++ if (val & AC_DIG1_EMPHASIS)
+ sbits |= IEC958_AES0_PRO_EMPHASIS_5015;
+ } else {
+ if (val & AC_DIG1_EMPHASIS)
+diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
+index c9269ce..984b5b1 100644
+--- a/sound/pci/hda/patch_conexant.c
++++ b/sound/pci/hda/patch_conexant.c
+@@ -1236,7 +1236,7 @@ static int patch_cxt5045(struct hda_codec *codec)
+ }
+
+ if (spec->beep_amp)
+- snd_hda_attach_beep_device(codec, spec->beep_amp);
++ snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp));
+
+ return 0;
+ }
+@@ -2027,7 +2027,7 @@ static int patch_cxt5051(struct hda_codec *codec)
+ }
+
+ if (spec->beep_amp)
+- snd_hda_attach_beep_device(codec, spec->beep_amp);
++ snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp));
+
+ conexant_init_jacks(codec);
+ if (spec->auto_mic & AUTO_MIC_PORTB)
+@@ -3225,7 +3225,7 @@ static int patch_cxt5066(struct hda_codec *codec)
+ }
+
+ if (spec->beep_amp)
+- snd_hda_attach_beep_device(codec, spec->beep_amp);
++ snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp));
+
+ return 0;
+ }
+@@ -4556,7 +4556,7 @@ static int patch_conexant_auto(struct hda_codec *codec)
+ spec->capture_stream = &cx_auto_pcm_analog_capture;
+ codec->patch_ops = cx_auto_patch_ops;
+ if (spec->beep_amp)
+- snd_hda_attach_beep_device(codec, spec->beep_amp);
++ snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp));
+ return 0;
+ }
+
+diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
+index 9121dee..f4540bf 100644
+--- a/sound/usb/mixer.c
++++ b/sound/usb/mixer.c
+@@ -711,8 +711,9 @@ static int check_input_term(struct mixer_build *state, int id, struct usb_audio_
+ case UAC2_CLOCK_SELECTOR: {
+ struct uac_selector_unit_descriptor *d = p1;
+ /* call recursively to retrieve the channel info */
+- if (check_input_term(state, d->baSourceID[0], term) < 0)
+- return -ENODEV;
++ err = check_input_term(state, d->baSourceID[0], term);
++ if (err < 0)
++ return err;
+ term->type = d->bDescriptorSubtype << 16; /* virtual type */
+ term->id = id;
+ term->name = uac_selector_unit_iSelector(d);
+@@ -1263,8 +1264,9 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, void
+ return err;
+
+ /* determine the input source type and name */
+- if (check_input_term(state, hdr->bSourceID, &iterm) < 0)
+- return -EINVAL;
++ err = check_input_term(state, hdr->bSourceID, &iterm);
++ if (err < 0)
++ return err;
+
+ master_bits = snd_usb_combine_bytes(bmaControls, csize);
+ /* master configuration quirks */
+@@ -2018,7 +2020,7 @@ static int snd_usb_mixer_controls(struct usb_mixer_interface *mixer)
+ state.oterm.type = le16_to_cpu(desc->wTerminalType);
+ state.oterm.name = desc->iTerminal;
+ err = parse_audio_unit(&state, desc->bSourceID);
+- if (err < 0)
++ if (err < 0 && err != -EINVAL)
+ return err;
+ } else { /* UAC_VERSION_2 */
+ struct uac2_output_terminal_descriptor *desc = p;
+@@ -2030,12 +2032,12 @@ static int snd_usb_mixer_controls(struct usb_mixer_interface *mixer)
+ state.oterm.type = le16_to_cpu(desc->wTerminalType);
+ state.oterm.name = desc->iTerminal;
+ err = parse_audio_unit(&state, desc->bSourceID);
+- if (err < 0)
++ if (err < 0 && err != -EINVAL)
+ return err;
+
+ /* for UAC2, use the same approach to also add the clock selectors */
+ err = parse_audio_unit(&state, desc->bCSourceID);
+- if (err < 0)
++ if (err < 0 && err != -EINVAL)
+ return err;
+ }
+ }
+diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
+index 0961d88..5e19410 100644
+--- a/tools/hv/hv_kvp_daemon.c
++++ b/tools/hv/hv_kvp_daemon.c
+@@ -393,13 +393,19 @@ int main(void)
+ len = recvfrom(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0,
+ addr_p, &addr_l);
+
+- if (len < 0 || addr.nl_pid) {
++ if (len < 0) {
+ syslog(LOG_ERR, "recvfrom failed; pid:%u error:%d %s",
+ addr.nl_pid, errno, strerror(errno));
+ close(fd);
+ return -1;
+ }
+
++ if (addr.nl_pid) {
++ syslog(LOG_WARNING, "Received packet from untrusted pid:%u",
++ addr.nl_pid);
++ continue;
++ }
++
+ incoming_msg = (struct nlmsghdr *)kvp_recv_buffer;
+ incoming_cn_msg = (struct cn_msg *)NLMSG_DATA(incoming_msg);
+
+diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c
+index bf54c48..6c164dc 100644
+--- a/tools/perf/util/trace-event-parse.c
++++ b/tools/perf/util/trace-event-parse.c
+@@ -1582,8 +1582,6 @@ process_symbols(struct event *event, struct print_arg *arg, char **tok)
+ field = malloc_or_die(sizeof(*field));
+
+ type = process_arg(event, field, &token);
+- while (type == EVENT_OP)
+- type = process_op(event, field, &token);
+ if (test_type_token(type, token, EVENT_DELIM, ","))
+ goto out_free;
+
diff --git a/3.2.41/4420_grsecurity-2.9.1-3.2.41-201303252031.patch b/3.2.42/4420_grsecurity-2.9.1-3.2.42-201303292017.patch
index 2fc16f1..56f6d3b 100644
--- a/3.2.41/4420_grsecurity-2.9.1-3.2.41-201303252031.patch
+++ b/3.2.42/4420_grsecurity-2.9.1-3.2.42-201303292017.patch
@@ -1,5 +1,5 @@
diff --git a/Documentation/dontdiff b/Documentation/dontdiff
-index dfa6fc6..65f7dbe 100644
+index dfa6fc6..fad9813 100644
--- a/Documentation/dontdiff
+++ b/Documentation/dontdiff
@@ -2,9 +2,11 @@
@@ -153,17 +153,18 @@ index dfa6fc6..65f7dbe 100644
relocs
rlim_names.h
rn50_reg_safe.h
-@@ -218,7 +238,9 @@ series
+@@ -218,7 +238,10 @@ series
setup
setup.bin
setup.elf
++signing_key*
+size_overflow_hash.h
sImage
+slabinfo
sm_tbl*
split-include
syscalltab.h
-@@ -229,6 +251,7 @@ tftpboot.img
+@@ -229,6 +252,7 @@ tftpboot.img
timeconst.h
times.h*
trix_boot.h
@@ -171,7 +172,7 @@ index dfa6fc6..65f7dbe 100644
utsrelease.h*
vdso-syms.lds
vdso.lds
-@@ -246,7 +269,9 @@ vmlinux
+@@ -246,7 +270,9 @@ vmlinux
vmlinux-*
vmlinux.aout
vmlinux.bin.all
@@ -181,7 +182,7 @@ index dfa6fc6..65f7dbe 100644
vmlinuz
voffset.h
vsyscall.lds
-@@ -254,9 +279,11 @@ vsyscall_32.lds
+@@ -254,9 +280,12 @@ vsyscall_32.lds
wanxlfw.inc
uImage
unifdef
@@ -189,6 +190,7 @@ index dfa6fc6..65f7dbe 100644
wakeup.bin
wakeup.elf
wakeup.lds
++x509*
zImage*
zconf.hash.c
+zconf.lex.c
@@ -260,7 +262,7 @@ index 88fd7f5..b318a78 100644
==============================================================
diff --git a/Makefile b/Makefile
-index 95e6220..deabfc9 100644
+index d44f009..158a4a4 100644
--- a/Makefile
+++ b/Makefile
@@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -286,7 +288,7 @@ index 95e6220..deabfc9 100644
$(Q)$(MAKE) $(build)=scripts/basic
$(Q)rm -f .tmp_quiet_recordmcount
-@@ -564,6 +565,64 @@ else
+@@ -564,6 +565,65 @@ else
KBUILD_CFLAGS += -O2
endif
@@ -297,11 +299,9 @@ index 95e6220..deabfc9 100644
+PLUGINCC := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(HOSTCXX)" "$(CC)")
+endif
+ifneq ($(PLUGINCC),)
-+ifndef DISABLE_PAX_CONSTIFY_PLUGIN
-+ifndef CONFIG_UML
++ifdef CONFIG_PAX_CONSTIFY_PLUGIN
+CONSTIFY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN
+endif
-+endif
+ifdef CONFIG_PAX_MEMORY_STACKLEAK
+STACKLEAK_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN
+STACKLEAK_PLUGIN_CFLAGS += -fplugin-arg-stackleak_plugin-track-lowest-sp=100
@@ -326,9 +326,12 @@ index 95e6220..deabfc9 100644
+ifdef CONFIG_PAX_LATENT_ENTROPY
+LATENT_ENTROPY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/latent_entropy_plugin.so -DLATENT_ENTROPY_PLUGIN
+endif
++ifdef CONFIG_PAX_MEMORY_STRUCTLEAK
++STRUCTLEAK_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/structleak_plugin.so -DSTRUCTLEAK_PLUGIN
++endif
+GCC_PLUGINS_CFLAGS := $(CONSTIFY_PLUGIN_CFLAGS) $(STACKLEAK_PLUGIN_CFLAGS) $(KALLOCSTAT_PLUGIN_CFLAGS)
+GCC_PLUGINS_CFLAGS += $(KERNEXEC_PLUGIN_CFLAGS) $(CHECKER_PLUGIN_CFLAGS) $(COLORIZE_PLUGIN_CFLAGS)
-+GCC_PLUGINS_CFLAGS += $(SIZE_OVERFLOW_PLUGIN_CFLAGS) $(LATENT_ENTROPY_PLUGIN_CFLAGS)
++GCC_PLUGINS_CFLAGS += $(SIZE_OVERFLOW_PLUGIN_CFLAGS) $(LATENT_ENTROPY_PLUGIN_CFLAGS) $(STRUCTLEAK_PLUGIN_CFLAGS)
+GCC_PLUGINS_AFLAGS := $(KERNEXEC_PLUGIN_AFLAGS)
+export PLUGINCC CONSTIFY_PLUGIN
+ifeq ($(KBUILD_EXTMOD),)
@@ -351,7 +354,7 @@ index 95e6220..deabfc9 100644
include $(srctree)/arch/$(SRCARCH)/Makefile
ifneq ($(CONFIG_FRAME_WARN),0)
-@@ -708,7 +767,7 @@ export mod_strip_cmd
+@@ -708,7 +768,7 @@ export mod_strip_cmd
ifeq ($(KBUILD_EXTMOD),)
@@ -360,7 +363,7 @@ index 95e6220..deabfc9 100644
vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
$(core-y) $(core-m) $(drivers-y) $(drivers-m) \
-@@ -932,6 +991,8 @@ vmlinux.o: $(modpost-init) $(vmlinux-main) FORCE
+@@ -932,6 +992,8 @@ vmlinux.o: $(modpost-init) $(vmlinux-main) FORCE
# The actual objects are generated when descending,
# make sure no implicit rule kicks in
@@ -369,7 +372,7 @@ index 95e6220..deabfc9 100644
$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
# Handle descending into subdirectories listed in $(vmlinux-dirs)
-@@ -941,7 +1002,7 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
+@@ -941,7 +1003,7 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
# Error messages still appears in the original language
PHONY += $(vmlinux-dirs)
@@ -378,7 +381,7 @@ index 95e6220..deabfc9 100644
$(Q)$(MAKE) $(build)=$@
# Store (new) KERNELRELASE string in include/config/kernel.release
-@@ -985,6 +1046,7 @@ prepare0: archprepare FORCE
+@@ -985,6 +1047,7 @@ prepare0: archprepare FORCE
$(Q)$(MAKE) $(build)=.
# All the preparing..
@@ -386,7 +389,7 @@ index 95e6220..deabfc9 100644
prepare: prepare0
# Generate some files
-@@ -1089,6 +1151,8 @@ all: modules
+@@ -1089,6 +1152,8 @@ all: modules
# using awk while concatenating to the final file.
PHONY += modules
@@ -395,7 +398,7 @@ index 95e6220..deabfc9 100644
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
$(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
@$(kecho) ' Building modules, stage 2.';
-@@ -1104,7 +1168,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
+@@ -1104,7 +1169,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
# Target to prepare building external modules
PHONY += modules_prepare
@@ -404,7 +407,7 @@ index 95e6220..deabfc9 100644
# Target to install modules
PHONY += modules_install
-@@ -1163,7 +1227,7 @@ CLEAN_FILES += vmlinux System.map \
+@@ -1163,7 +1228,7 @@ CLEAN_FILES += vmlinux System.map \
MRPROPER_DIRS += include/config usr/include include/generated \
arch/*/include/generated
MRPROPER_FILES += .config .config.old .version .old_version \
@@ -413,7 +416,7 @@ index 95e6220..deabfc9 100644
Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
# clean - Delete most, but leave enough to build external modules
-@@ -1201,6 +1265,7 @@ distclean: mrproper
+@@ -1201,6 +1266,7 @@ distclean: mrproper
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
-o -name '.*.rej' \
@@ -421,7 +424,7 @@ index 95e6220..deabfc9 100644
-o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
-type f -print | xargs rm -f
-@@ -1361,6 +1426,8 @@ PHONY += $(module-dirs) modules
+@@ -1361,6 +1427,8 @@ PHONY += $(module-dirs) modules
$(module-dirs): crmodverdir $(objtree)/Module.symvers
$(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
@@ -430,7 +433,7 @@ index 95e6220..deabfc9 100644
modules: $(module-dirs)
@$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
-@@ -1487,17 +1554,21 @@ else
+@@ -1487,17 +1555,21 @@ else
target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@))
endif
@@ -456,7 +459,7 @@ index 95e6220..deabfc9 100644
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.symtypes: %.c prepare scripts FORCE
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
-@@ -1507,11 +1578,15 @@ endif
+@@ -1507,11 +1579,15 @@ endif
$(cmd_crmodverdir)
$(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
$(build)=$(build-dir)
@@ -9611,7 +9614,7 @@ index 95b4eb3..ccdcbb6 100644
CFI_ENDPROC
diff --git a/arch/x86/ia32/sys_ia32.c b/arch/x86/ia32/sys_ia32.c
-index f6f5c53..b358b28 100644
+index f6f5c53..8e51d70 100644
--- a/arch/x86/ia32/sys_ia32.c
+++ b/arch/x86/ia32/sys_ia32.c
@@ -69,8 +69,8 @@ asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long offset_low,
@@ -9654,7 +9657,14 @@ index f6f5c53..b358b28 100644
set_fs(old_fs);
if (put_compat_timespec(&t, interval))
return -EFAULT;
-@@ -369,7 +369,7 @@ asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
+@@ -363,13 +363,13 @@ asmlinkage long sys32_sched_rr_get_interval(compat_pid_t pid,
+ asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
+ compat_size_t sigsetsize)
+ {
+- sigset_t s;
++ sigset_t s = { };
+ compat_sigset_t s32;
+ int ret;
mm_segment_t old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -10869,6 +10879,19 @@ index 5d3acdf..6447a02 100644
+#define xadd_check_overflow(ptr, inc) __xadd_check_overflow((ptr), (inc), LOCK_PREFIX)
+
#endif /* ASM_X86_CMPXCHG_H */
+diff --git a/arch/x86/include/asm/compat.h b/arch/x86/include/asm/compat.h
+index 30d737e..9830a9b 100644
+--- a/arch/x86/include/asm/compat.h
++++ b/arch/x86/include/asm/compat.h
+@@ -194,7 +194,7 @@ typedef struct user_regs_struct32 compat_elf_gregset_t;
+ * as pointers because the syscall entry code will have
+ * appropriately converted them already.
+ */
+-typedef u32 compat_uptr_t;
++typedef u32 __user compat_uptr_t;
+
+ static inline void __user *compat_ptr(compat_uptr_t uptr)
+ {
diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h
index 0c3b775..8cadbc6 100644
--- a/arch/x86/include/asm/cpufeature.h
@@ -10894,7 +10917,7 @@ index 0c3b775..8cadbc6 100644
"4:\n"
".previous\n"
diff --git a/arch/x86/include/asm/desc.h b/arch/x86/include/asm/desc.h
-index 41935fa..3b40db8 100644
+index 41935fa..2be7ac3 100644
--- a/arch/x86/include/asm/desc.h
+++ b/arch/x86/include/asm/desc.h
@@ -4,6 +4,7 @@
@@ -10999,6 +11022,15 @@ index 41935fa..3b40db8 100644
}
#define _LDT_empty(info) \
+@@ -284,7 +297,7 @@ static inline void load_LDT(mm_context_t *pc)
+ preempt_enable();
+ }
+
+-static inline unsigned long get_desc_base(const struct desc_struct *desc)
++static inline unsigned long __intentional_overflow(-1) get_desc_base(const struct desc_struct *desc)
+ {
+ return (unsigned)(desc->base0 | ((desc->base1) << 16) | ((desc->base2) << 24));
+ }
@@ -307,7 +320,7 @@ static inline void set_desc_limit(struct desc_struct *desc, unsigned long limit)
desc->limit = (limit >> 16) & 0xf;
}
@@ -11092,6 +11124,19 @@ index 278441f..b95a174 100644
};
} __attribute__((packed));
+diff --git a/arch/x86/include/asm/div64.h b/arch/x86/include/asm/div64.h
+index 9a2d644..5abb141 100644
+--- a/arch/x86/include/asm/div64.h
++++ b/arch/x86/include/asm/div64.h
+@@ -33,7 +33,7 @@
+ __mod; \
+ })
+
+-static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder)
++static inline u64 __intentional_overflow(-1) div_u64_rem(u64 dividend, u32 divisor, u32 *remainder)
+ {
+ union {
+ u64 v64;
diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h
index 908b969..a1f4eb4 100644
--- a/arch/x86/include/asm/e820.h
@@ -11330,10 +11375,40 @@ index a850b4d..1d8dfb7 100644
}
/*
+diff --git a/arch/x86/include/asm/i8259.h b/arch/x86/include/asm/i8259.h
+index a203659..9889f1c 100644
+--- a/arch/x86/include/asm/i8259.h
++++ b/arch/x86/include/asm/i8259.h
+@@ -62,7 +62,7 @@ struct legacy_pic {
+ void (*init)(int auto_eoi);
+ int (*irq_pending)(unsigned int irq);
+ void (*make_irq)(unsigned int irq);
+-};
++} __do_const;
+
+ extern struct legacy_pic *legacy_pic;
+ extern struct legacy_pic null_legacy_pic;
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
-index d8e8eef..15b1179 100644
+index d8e8eef..1765f78 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
+@@ -51,12 +51,12 @@ static inline void name(type val, volatile void __iomem *addr) \
+ "m" (*(volatile type __force *)addr) barrier); }
+
+ build_mmio_read(readb, "b", unsigned char, "=q", :"memory")
+-build_mmio_read(readw, "w", unsigned short, "=r", :"memory")
+-build_mmio_read(readl, "l", unsigned int, "=r", :"memory")
++build_mmio_read(__intentional_overflow(-1) readw, "w", unsigned short, "=r", :"memory")
++build_mmio_read(__intentional_overflow(-1) readl, "l", unsigned int, "=r", :"memory")
+
+ build_mmio_read(__readb, "b", unsigned char, "=q", )
+-build_mmio_read(__readw, "w", unsigned short, "=r", )
+-build_mmio_read(__readl, "l", unsigned int, "=r", )
++build_mmio_read(__intentional_overflow(-1) __readw, "w", unsigned short, "=r", )
++build_mmio_read(__intentional_overflow(-1) __readl, "l", unsigned int, "=r", )
+
+ build_mmio_write(writeb, "b", unsigned char, "q", :"memory")
+ build_mmio_write(writew, "w", unsigned short, "r", :"memory")
@@ -184,7 +184,7 @@ static inline void __iomem *ioremap(resource_size_t offset, unsigned long size)
return ioremap_nocache(offset, size);
}
@@ -11879,9 +11954,18 @@ index 7639dbf..e08a58c 100644
extern unsigned long __phys_addr(unsigned long);
#define __phys_reloc_hide(x) (x)
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
-index a7d2db9..edb023e 100644
+index a7d2db9..e1f3a6a 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
+@@ -601,7 +601,7 @@ static inline pmd_t __pmd(pmdval_t val)
+ return (pmd_t) { ret };
+ }
+
+-static inline pmdval_t pmd_val(pmd_t pmd)
++static inline __intentional_overflow(-1) pmdval_t pmd_val(pmd_t pmd)
+ {
+ pmdval_t ret;
+
@@ -667,6 +667,18 @@ static inline void set_pgd(pgd_t *pgdp, pgd_t pgd)
val);
}
@@ -14195,18 +14279,9 @@ index bb05228..d763d5b 100644
#endif
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
-index 1971e65..6fa8756 100644
+index 1971e65..1e07354 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
-@@ -101,7 +101,7 @@ struct x86_init_timers {
- void (*tsc_pre_init)(void);
- void (*timer_init)(void);
- void (*wallclock_init)(void);
--};
-+} __no_const;
-
- /**
- * struct x86_init_iommu - platform specific iommu setup
@@ -139,7 +139,7 @@ struct x86_init_ops {
struct x86_init_timers timers;
struct x86_init_iommu iommu;
@@ -14283,6 +14358,28 @@ index c6ce245..aab6adb 100644
"2:\n"
".section .fixup,\"ax\"\n"
"3: movl $-1,%[err]\n"
+diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
+index 479d03c..2450277 100644
+--- a/arch/x86/kernel/acpi/boot.c
++++ b/arch/x86/kernel/acpi/boot.c
+@@ -1345,7 +1345,7 @@ static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d)
+ * If your system is blacklisted here, but you find that acpi=force
+ * works for you, please contact linux-acpi@vger.kernel.org
+ */
+-static struct dmi_system_id __initdata acpi_dmi_table[] = {
++static const struct dmi_system_id __initconst acpi_dmi_table[] = {
+ /*
+ * Boxes that need ACPI disabled
+ */
+@@ -1420,7 +1420,7 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = {
+ };
+
+ /* second table for DMI checks that should run after early-quirks */
+-static struct dmi_system_id __initdata acpi_dmi_table_late[] = {
++static const struct dmi_system_id __initconst acpi_dmi_table_late[] = {
+ /*
+ * HP laptops which use a DSDT reporting as HP/SB400/10000,
+ * which includes some code which overrides all temperature
diff --git a/arch/x86/kernel/acpi/realmode/Makefile b/arch/x86/kernel/acpi/realmode/Makefile
index 6a564ac..3f3a3d7 100644
--- a/arch/x86/kernel/acpi/realmode/Makefile
@@ -14537,6 +14634,19 @@ index f7a41e4..be25d88 100644
.name = "physical flat",
.probe = physflat_probe,
+diff --git a/arch/x86/kernel/apic/apic_noop.c b/arch/x86/kernel/apic/apic_noop.c
+index 775b82b..841f78b 100644
+--- a/arch/x86/kernel/apic/apic_noop.c
++++ b/arch/x86/kernel/apic/apic_noop.c
+@@ -119,7 +119,7 @@ static void noop_apic_write(u32 reg, u32 v)
+ WARN_ON_ONCE(cpu_has_apic && !disable_apic);
+ }
+
+-struct apic apic_noop = {
++struct apic apic_noop __read_only = {
+ .name = "noop",
+ .probe = noop_probe,
+ .acpi_madt_oem_check = NULL,
diff --git a/arch/x86/kernel/apic/bigsmp_32.c b/arch/x86/kernel/apic/bigsmp_32.c
index 521bead..a724871 100644
--- a/arch/x86/kernel/apic/bigsmp_32.c
@@ -14551,7 +14661,7 @@ index 521bead..a724871 100644
.name = "bigsmp",
.probe = probe_bigsmp,
diff --git a/arch/x86/kernel/apic/es7000_32.c b/arch/x86/kernel/apic/es7000_32.c
-index 5d513bc..6c9c1ca 100644
+index 5d513bc..6a51935 100644
--- a/arch/x86/kernel/apic/es7000_32.c
+++ b/arch/x86/kernel/apic/es7000_32.c
@@ -619,8 +619,7 @@ static int es7000_mps_oem_check_cluster(struct mpc_table *mpc, char *oem,
@@ -14569,12 +14679,12 @@ index 5d513bc..6c9c1ca 100644
};
-static struct apic __refdata apic_es7000 = {
-+static struct apic __refdata apic_es7000 __read_only = {
++static struct apic apic_es7000 __read_only = {
.name = "es7000",
.probe = probe_es7000,
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
-index 6d939d7..0697fcc 100644
+index 6d939d7..75d1260 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1096,7 +1096,7 @@ int IO_APIC_get_PCI_irq_vector(int bus, int slot, int pin,
@@ -14613,6 +14723,27 @@ index 6d939d7..0697fcc 100644
eoi_ioapic_irq(irq, cfg);
}
+@@ -2634,13 +2634,16 @@ static void ir_print_prefix(struct irq_data *data, struct seq_file *p)
+
+ static void irq_remap_modify_chip_defaults(struct irq_chip *chip)
+ {
+- chip->irq_print_chip = ir_print_prefix;
+- chip->irq_ack = ir_ack_apic_edge;
+- chip->irq_eoi = ir_ack_apic_level;
++ pax_open_kernel();
++ *(void **)&chip->irq_print_chip = ir_print_prefix;
++ *(void **)&chip->irq_ack = ir_ack_apic_edge;
++ *(void **)&chip->irq_eoi = ir_ack_apic_level;
+
+ #ifdef CONFIG_SMP
+- chip->irq_set_affinity = ir_ioapic_set_affinity;
++ *(void **)&chip->irq_set_affinity = ir_ioapic_set_affinity;
+ #endif
++
++ pax_close_kernel();
+ }
+ #endif /* CONFIG_IRQ_REMAP */
+
diff --git a/arch/x86/kernel/apic/numaq_32.c b/arch/x86/kernel/apic/numaq_32.c
index c4a61ca..4c63d32 100644
--- a/arch/x86/kernel/apic/numaq_32.c
@@ -15118,7 +15249,7 @@ index 0e89635..f0a7525 100644
};
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
-index 3b67877..e41ede1 100644
+index 3b67877..bf490b9 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -42,6 +42,7 @@
@@ -15242,6 +15373,15 @@ index 3b67877..e41ede1 100644
.notifier_call = mce_cpu_callback,
};
+@@ -2109,7 +2112,7 @@ static __init void mce_init_banks(void)
+
+ for (i = 0; i < banks; i++) {
+ struct mce_bank *b = &mce_banks[i];
+- struct sysdev_attribute *a = &b->attr;
++ sysdev_attribute_no_const *a = &b->attr;
+
+ sysfs_attr_init(&a->attr);
+ a->attr.name = b->attrname;
@@ -2177,7 +2180,7 @@ struct dentry *mce_get_debugfs_dir(void)
static void mce_reset(void)
{
@@ -18434,7 +18574,7 @@ index 9c3bd4a..e1d9b35 100644
+EXPORT_SYMBOL(__LOAD_PHYSICAL_ADDR);
+#endif
diff --git a/arch/x86/kernel/i8259.c b/arch/x86/kernel/i8259.c
-index 6104852..6114160 100644
+index 6104852..567e2fb 100644
--- a/arch/x86/kernel/i8259.c
+++ b/arch/x86/kernel/i8259.c
@@ -210,7 +210,7 @@ spurious_8259A_irq:
@@ -18446,6 +18586,25 @@ index 6104852..6114160 100644
/*
* Theoretically we do not have to handle this IRQ,
* but in Linux this does not cause problems and is
+@@ -334,14 +334,16 @@ static void init_8259A(int auto_eoi)
+ /* (slave's support for AEOI in flat mode is to be investigated) */
+ outb_pic(SLAVE_ICW4_DEFAULT, PIC_SLAVE_IMR);
+
++ pax_open_kernel();
+ if (auto_eoi)
+ /*
+ * In AEOI mode we just have to mask the interrupt
+ * when acking.
+ */
+- i8259A_chip.irq_mask_ack = disable_8259A_irq;
++ *(void **)&i8259A_chip.irq_mask_ack = disable_8259A_irq;
+ else
+- i8259A_chip.irq_mask_ack = mask_and_ack_8259A;
++ *(void **)&i8259A_chip.irq_mask_ack = mask_and_ack_8259A;
++ pax_close_kernel();
+
+ udelay(100); /* wait for 8259A to initialize */
+
diff --git a/arch/x86/kernel/init_task.c b/arch/x86/kernel/init_task.c
index 43e9ccf..44ccf6f 100644
--- a/arch/x86/kernel/init_task.c
@@ -18468,6 +18627,19 @@ index 43e9ccf..44ccf6f 100644
-
+struct tss_struct init_tss[NR_CPUS] ____cacheline_internodealigned_in_smp = { [0 ... NR_CPUS-1] = INIT_TSS };
+EXPORT_SYMBOL(init_tss);
+diff --git a/arch/x86/kernel/io_delay.c b/arch/x86/kernel/io_delay.c
+index a979b5b..1d6db75 100644
+--- a/arch/x86/kernel/io_delay.c
++++ b/arch/x86/kernel/io_delay.c
+@@ -58,7 +58,7 @@ static int __init dmi_io_delay_0xed_port(const struct dmi_system_id *id)
+ * Quirk table for systems that misbehave (lock up, etc.) if port
+ * 0x80 is used:
+ */
+-static struct dmi_system_id __initdata io_delay_0xed_port_dmi_table[] = {
++static const struct dmi_system_id __initconst io_delay_0xed_port_dmi_table[] = {
+ {
+ .callback = dmi_io_delay_0xed_port,
+ .ident = "Compaq Presario V6000",
diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
index 8c96897..be66bfa 100644
--- a/arch/x86/kernel/ioport.c
@@ -18816,7 +18988,7 @@ index 2f45c4c..3f51a0c 100644
}
diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c
-index 7da647d..c828808 100644
+index 7da647d..e88104f 100644
--- a/arch/x86/kernel/kprobes.c
+++ b/arch/x86/kernel/kprobes.c
@@ -117,9 +117,12 @@ static void __kprobes __synthesize_relative_insn(void *from, void *to, u8 op)
@@ -18860,7 +19032,12 @@ index 7da647d..c828808 100644
}
insn_get_length(&insn);
addr += insn.length;
-@@ -317,7 +320,9 @@ static int __kprobes __copy_instruction(u8 *dest, u8 *src, int recover)
+@@ -313,11 +316,13 @@ static int __kprobes __copy_instruction(u8 *dest, u8 *src, int recover)
+ (unsigned long)src);
+ if (ret)
+ return 0;
+- kernel_insn_init(&insn, buf);
++ kernel_insn_init(&insn, ktva_ktla(buf));
}
}
insn_get_length(&insn);
@@ -18953,6 +19130,15 @@ index 7da647d..c828808 100644
return ret;
switch (val) {
+@@ -1307,7 +1317,7 @@ static int __kprobes can_optimize(unsigned long paddr)
+ ret = recover_probed_instruction(buf, addr);
+ if (ret)
+ return 0;
+- kernel_insn_init(&insn, buf);
++ kernel_insn_init(&insn, ktva_ktla(buf));
+ }
+ insn_get_length(&insn);
+ /* Recover address */
@@ -1384,7 +1394,7 @@ int __kprobes arch_prepare_optimized_kprobe(struct optimized_kprobe *op)
* Verify if the address gap is in 2GB range, because this uses
* a relative jump.
@@ -19307,9 +19493,30 @@ index f7d1a64..399615a 100644
};
diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
-index e88f37b..1353db6 100644
+index e88f37b..45bb4ff 100644
--- a/arch/x86/kernel/nmi.c
+++ b/arch/x86/kernel/nmi.c
+@@ -126,9 +126,9 @@ static int __setup_nmi(unsigned int type, struct nmiaction *action)
+ * event confuses some handlers (kdump uses this flag)
+ */
+ if (action->flags & NMI_FLAG_FIRST)
+- list_add_rcu(&action->list, &desc->head);
++ pax_list_add_rcu((struct list_head *)&action->list, &desc->head);
+ else
+- list_add_tail_rcu(&action->list, &desc->head);
++ pax_list_add_tail_rcu((struct list_head *)&action->list, &desc->head);
+
+ spin_unlock_irqrestore(&desc->lock, flags);
+ return 0;
+@@ -150,7 +150,7 @@ static struct nmiaction *__free_nmi(unsigned int type, const char *name)
+ if (!strcmp(n->name, name)) {
+ WARN(in_nmi(),
+ "Trying to free NMI (%s) from NMI context!\n", n->name);
+- list_del_rcu(&n->list);
++ pax_list_del_rcu((struct list_head *)&n->list);
+ break;
+ }
+ }
@@ -408,6 +408,17 @@ static notrace __kprobes void default_do_nmi(struct pt_regs *regs)
dotraplinkage notrace __kprobes void
do_nmi(struct pt_regs *regs, long error_code)
@@ -20168,7 +20375,7 @@ index b506f41..33e9995 100644
bss_resource.start = virt_to_phys(&__bss_start);
bss_resource.end = virt_to_phys(&__bss_stop)-1;
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c
-index 5a98aa2..2f9288d 100644
+index 5a98aa2..5aa4ffc 100644
--- a/arch/x86/kernel/setup_percpu.c
+++ b/arch/x86/kernel/setup_percpu.c
@@ -21,19 +21,17 @@
@@ -20195,6 +20402,15 @@ index 5a98aa2..2f9288d 100644
[0 ... NR_CPUS-1] = BOOT_PERCPU_OFFSET,
};
EXPORT_SYMBOL(__per_cpu_offset);
+@@ -66,7 +64,7 @@ static bool __init pcpu_need_numa(void)
+ {
+ #ifdef CONFIG_NEED_MULTIPLE_NODES
+ pg_data_t *last = NULL;
+- unsigned int cpu;
++ int cpu;
+
+ for_each_possible_cpu(cpu) {
+ int node = early_cpu_to_node(cpu);
@@ -155,10 +153,10 @@ static inline void setup_percpu_segment(int cpu)
{
#ifdef CONFIG_X86_32
@@ -24836,7 +25052,7 @@ index e218d5d..7d522b8 100644
+EXPORT_SYMBOL(set_fs);
+#endif
diff --git a/arch/x86/lib/usercopy_64.c b/arch/x86/lib/usercopy_64.c
-index b7c2849..17c878da 100644
+index 554b7b5..2f1b9c2 100644
--- a/arch/x86/lib/usercopy_64.c
+++ b/arch/x86/lib/usercopy_64.c
@@ -42,6 +42,12 @@ long
@@ -24917,7 +25133,7 @@ index d0474ad..36e9257 100644
extern u32 pnp_bios_is_utter_crap;
pnp_bios_is_utter_crap = 1;
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
-index 7b73c88..070d4b2 100644
+index 7b73c88..a561402 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -13,11 +13,18 @@
@@ -25026,15 +25242,16 @@ index 7b73c88..070d4b2 100644
+ pmd_t *ret;
+#else
list_for_each_entry(page, &pgd_list, lru) {
-+ pgd_t *pgd = page_address(page);
++ pgd_t *pgd;
spinlock_t *pgt_lock;
pmd_t *ret;
-@@ -242,8 +295,13 @@ void vmalloc_sync_all(void)
+@@ -242,8 +295,14 @@ void vmalloc_sync_all(void)
pgt_lock = &pgd_page_get_mm(page)->page_table_lock;
spin_lock(pgt_lock);
- ret = vmalloc_sync_one(page_address(page), address);
++ pgd = page_address(page);
+#endif
+
+ ret = vmalloc_sync_one(pgd, address);
@@ -25045,7 +25262,7 @@ index 7b73c88..070d4b2 100644
if (!ret)
break;
-@@ -277,6 +335,11 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)
+@@ -277,6 +336,11 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)
* an interrupt in the middle of a task switch..
*/
pgd_paddr = read_cr3();
@@ -25057,7 +25274,7 @@ index 7b73c88..070d4b2 100644
pmd_k = vmalloc_sync_one(__va(pgd_paddr), address);
if (!pmd_k)
return -1;
-@@ -372,7 +435,14 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)
+@@ -372,7 +436,14 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)
* happen within a race in page table update. In the later
* case just flush:
*/
@@ -25072,7 +25289,7 @@ index 7b73c88..070d4b2 100644
pgd_ref = pgd_offset_k(address);
if (pgd_none(*pgd_ref))
return -1;
-@@ -540,7 +610,7 @@ static int is_errata93(struct pt_regs *regs, unsigned long address)
+@@ -540,7 +611,7 @@ static int is_errata93(struct pt_regs *regs, unsigned long address)
static int is_errata100(struct pt_regs *regs, unsigned long address)
{
#ifdef CONFIG_X86_64
@@ -25081,7 +25298,7 @@ index 7b73c88..070d4b2 100644
return 1;
#endif
return 0;
-@@ -567,7 +637,7 @@ static int is_f00f_bug(struct pt_regs *regs, unsigned long address)
+@@ -567,7 +638,7 @@ static int is_f00f_bug(struct pt_regs *regs, unsigned long address)
}
static const char nx_warning[] = KERN_CRIT
@@ -25090,7 +25307,7 @@ index 7b73c88..070d4b2 100644
static void
show_fault_oops(struct pt_regs *regs, unsigned long error_code,
-@@ -576,15 +646,26 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code,
+@@ -576,15 +647,26 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code,
if (!oops_may_print())
return;
@@ -25119,10 +25336,11 @@ index 7b73c88..070d4b2 100644
printk(KERN_ALERT "BUG: unable to handle kernel ");
if (address < PAGE_SIZE)
printk(KERN_CONT "NULL pointer dereference");
-@@ -742,6 +823,25 @@ __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code,
- if (address >= TASK_SIZE)
- error_code |= PF_PROT;
-
+@@ -738,6 +820,22 @@ __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code,
+ return;
+ }
+ #endif
++
+#if defined(CONFIG_PAX_PAGEEXEC) || defined(CONFIG_PAX_SEGMEXEC)
+ if (pax_is_fetch_fault(regs, error_code, address)) {
+
@@ -25138,14 +25356,10 @@ index 7b73c88..070d4b2 100644
+ }
+#endif
+
-+ /* Kernel addresses are always protection faults: */
-+ if (address >= TASK_SIZE)
-+ error_code |= PF_PROT;
-+
- if (likely(show_unhandled_signals))
- show_signal_msg(regs, error_code, address, tsk);
-
-@@ -837,7 +937,7 @@ do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address,
+ /* Kernel addresses are always protection faults: */
+ if (address >= TASK_SIZE)
+ error_code |= PF_PROT;
+@@ -837,7 +935,7 @@ do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address,
if (fault & (VM_FAULT_HWPOISON|VM_FAULT_HWPOISON_LARGE)) {
printk(KERN_ERR
"MCE: Killing %s:%d due to hardware memory corruption fault at %lx\n",
@@ -25154,7 +25368,7 @@ index 7b73c88..070d4b2 100644
code = BUS_MCEERR_AR;
}
#endif
-@@ -892,6 +992,99 @@ static int spurious_fault_check(unsigned long error_code, pte_t *pte)
+@@ -892,6 +990,99 @@ static int spurious_fault_check(unsigned long error_code, pte_t *pte)
return 1;
}
@@ -25254,7 +25468,7 @@ index 7b73c88..070d4b2 100644
/*
* Handle a spurious fault caused by a stale TLB entry.
*
-@@ -964,6 +1157,9 @@ int show_unhandled_signals = 1;
+@@ -964,6 +1155,9 @@ int show_unhandled_signals = 1;
static inline int
access_error(unsigned long error_code, struct vm_area_struct *vma)
{
@@ -25264,7 +25478,7 @@ index 7b73c88..070d4b2 100644
if (error_code & PF_WRITE) {
/* write, present and write, not present: */
if (unlikely(!(vma->vm_flags & VM_WRITE)))
-@@ -997,18 +1193,32 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
+@@ -997,18 +1191,32 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
{
struct vm_area_struct *vma;
struct task_struct *tsk;
@@ -25302,7 +25516,7 @@ index 7b73c88..070d4b2 100644
/*
* Detect and handle instructions that would cause a page fault for
-@@ -1069,7 +1279,7 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
+@@ -1069,7 +1277,7 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
* User-mode registers count as a user access even for any
* potential system fault or CPU buglet:
*/
@@ -25311,7 +25525,7 @@ index 7b73c88..070d4b2 100644
local_irq_enable();
error_code |= PF_USER;
} else {
-@@ -1124,6 +1334,11 @@ retry:
+@@ -1124,6 +1332,11 @@ retry:
might_sleep();
}
@@ -25323,7 +25537,7 @@ index 7b73c88..070d4b2 100644
vma = find_vma(mm, address);
if (unlikely(!vma)) {
bad_area(regs, error_code, address);
-@@ -1135,18 +1350,24 @@ retry:
+@@ -1135,18 +1348,24 @@ retry:
bad_area(regs, error_code, address);
return;
}
@@ -25359,7 +25573,7 @@ index 7b73c88..070d4b2 100644
if (unlikely(expand_stack(vma, address))) {
bad_area(regs, error_code, address);
return;
-@@ -1201,3 +1422,292 @@ good_area:
+@@ -1201,3 +1420,292 @@ good_area:
up_read(&mm->mmap_sem);
}
@@ -26557,7 +26771,7 @@ index 7b179b4..6bd1777 100644
return (void *)vaddr;
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
-index be1ef57..2f2369b 100644
+index be1ef57..406f1c2 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -97,7 +97,7 @@ static void __iomem *__ioremap_caller(resource_size_t phys_addr,
@@ -26588,7 +26802,17 @@ index be1ef57..2f2369b 100644
return __va(phys);
addr = (void __force *)ioremap_cache(start, PAGE_SIZE);
-@@ -344,7 +347,7 @@ static int __init early_ioremap_debug_setup(char *str)
+@@ -327,6 +330,9 @@ void *xlate_dev_mem_ptr(unsigned long phys)
+ void unxlate_dev_mem_ptr(unsigned long phys, void *addr)
+ {
+ if (page_is_ram(phys >> PAGE_SHIFT))
++#ifdef CONFIG_HIGHMEM
++ if ((phys >> PAGE_SHIFT) < max_low_pfn)
++#endif
+ return;
+
+ iounmap((void __iomem *)((unsigned long)addr & PAGE_MASK));
+@@ -344,7 +350,7 @@ static int __init early_ioremap_debug_setup(char *str)
early_param("early_ioremap_debug", early_ioremap_debug_setup);
static __initdata int after_paging_init;
@@ -26597,7 +26821,7 @@ index be1ef57..2f2369b 100644
static inline pmd_t * __init early_ioremap_pmd(unsigned long addr)
{
-@@ -381,8 +384,7 @@ void __init early_ioremap_init(void)
+@@ -381,8 +387,7 @@ void __init early_ioremap_init(void)
slot_virt[i] = __fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i);
pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN));
@@ -26757,6 +26981,19 @@ index de54b9b..935281f 100644
{
might_sleep();
if (is_enabled()) /* recheck and proper locking in *_core() */
+diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
+index fbeaaf4..559063f 100644
+--- a/arch/x86/mm/numa.c
++++ b/arch/x86/mm/numa.c
+@@ -494,7 +494,7 @@ static bool __init numa_meminfo_cover_memory(const struct numa_meminfo *mi)
+ return true;
+ }
+
+-static int __init numa_register_memblks(struct numa_meminfo *mi)
++static int __init __intentional_overflow(-1) numa_register_memblks(struct numa_meminfo *mi)
+ {
+ unsigned long uninitialized_var(pfn_align);
+ int i, nid;
diff --git a/arch/x86/mm/pageattr-test.c b/arch/x86/mm/pageattr-test.c
index b008656..773eac2 100644
--- a/arch/x86/mm/pageattr-test.c
@@ -27237,6 +27474,28 @@ index cac7184..09a39fa 100644
/*
* It's enough to flush this one mapping.
+diff --git a/arch/x86/mm/physaddr.c b/arch/x86/mm/physaddr.c
+index d2e2735..5c6586f 100644
+--- a/arch/x86/mm/physaddr.c
++++ b/arch/x86/mm/physaddr.c
+@@ -8,7 +8,7 @@
+
+ #ifdef CONFIG_X86_64
+
+-unsigned long __phys_addr(unsigned long x)
++unsigned long __intentional_overflow(-1) __phys_addr(unsigned long x)
+ {
+ if (x >= __START_KERNEL_map) {
+ x -= __START_KERNEL_map;
+@@ -45,7 +45,7 @@ EXPORT_SYMBOL(__virt_addr_valid);
+ #else
+
+ #ifdef CONFIG_DEBUG_VIRTUAL
+-unsigned long __phys_addr(unsigned long x)
++unsigned long __intentional_overflow(-1) __phys_addr(unsigned long x)
+ {
+ /* VMALLOC_* aren't constants */
+ VIRTUAL_BUG_ON(x < PAGE_OFFSET);
diff --git a/arch/x86/mm/setup_nx.c b/arch/x86/mm/setup_nx.c
index 410531d..0f16030 100644
--- a/arch/x86/mm/setup_nx.c
@@ -27703,6 +27962,89 @@ index bff89df..377758a 100644
unsigned long stack = kernel_stack_pointer(regs);
if (depth)
dump_trace(NULL, regs, (unsigned long *)stack, 0,
+diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
+index 6bc0899..13d2579 100644
+--- a/arch/x86/oprofile/nmi_int.c
++++ b/arch/x86/oprofile/nmi_int.c
+@@ -23,6 +23,7 @@
+ #include <asm/nmi.h>
+ #include <asm/msr.h>
+ #include <asm/apic.h>
++#include <asm/pgtable.h>
+
+ #include "op_counter.h"
+ #include "op_x86_model.h"
+@@ -759,8 +760,11 @@ int __init op_nmi_init(struct oprofile_operations *ops)
+ if (ret)
+ return ret;
+
+- if (!model->num_virt_counters)
+- model->num_virt_counters = model->num_counters;
++ if (!model->num_virt_counters) {
++ pax_open_kernel();
++ *(unsigned int *)&model->num_virt_counters = model->num_counters;
++ pax_close_kernel();
++ }
+
+ mux_init(ops);
+
+diff --git a/arch/x86/oprofile/op_model_amd.c b/arch/x86/oprofile/op_model_amd.c
+index 303f086..d020916 100644
+--- a/arch/x86/oprofile/op_model_amd.c
++++ b/arch/x86/oprofile/op_model_amd.c
+@@ -519,9 +519,11 @@ static int op_amd_init(struct oprofile_operations *ops)
+ num_counters = AMD64_NUM_COUNTERS;
+ }
+
+- op_amd_spec.num_counters = num_counters;
+- op_amd_spec.num_controls = num_counters;
+- op_amd_spec.num_virt_counters = max(num_counters, NUM_VIRT_COUNTERS);
++ pax_open_kernel();
++ *(unsigned int *)&op_amd_spec.num_counters = num_counters;
++ *(unsigned int *)&op_amd_spec.num_controls = num_counters;
++ *(unsigned int *)&op_amd_spec.num_virt_counters = max(num_counters, NUM_VIRT_COUNTERS);
++ pax_close_kernel();
+
+ return 0;
+ }
+diff --git a/arch/x86/oprofile/op_model_ppro.c b/arch/x86/oprofile/op_model_ppro.c
+index d90528e..0127e2b 100644
+--- a/arch/x86/oprofile/op_model_ppro.c
++++ b/arch/x86/oprofile/op_model_ppro.c
+@@ -19,6 +19,7 @@
+ #include <asm/msr.h>
+ #include <asm/apic.h>
+ #include <asm/nmi.h>
++#include <asm/pgtable.h>
+
+ #include "op_x86_model.h"
+ #include "op_counter.h"
+@@ -221,8 +222,10 @@ static void arch_perfmon_setup_counters(void)
+
+ num_counters = min((int)eax.split.num_counters, OP_MAX_COUNTER);
+
+- op_arch_perfmon_spec.num_counters = num_counters;
+- op_arch_perfmon_spec.num_controls = num_counters;
++ pax_open_kernel();
++ *(unsigned int *)&op_arch_perfmon_spec.num_counters = num_counters;
++ *(unsigned int *)&op_arch_perfmon_spec.num_controls = num_counters;
++ pax_close_kernel();
+ }
+
+ static int arch_perfmon_init(struct oprofile_operations *ignore)
+diff --git a/arch/x86/oprofile/op_x86_model.h b/arch/x86/oprofile/op_x86_model.h
+index 71e8a67..6a313bb 100644
+--- a/arch/x86/oprofile/op_x86_model.h
++++ b/arch/x86/oprofile/op_x86_model.h
+@@ -52,7 +52,7 @@ struct op_x86_model_spec {
+ void (*switch_ctrl)(struct op_x86_model_spec const *model,
+ struct op_msrs const * const msrs);
+ #endif
+-};
++} __do_const;
+
+ struct op_counter_config;
+
diff --git a/arch/x86/pci/amd_bus.c b/arch/x86/pci/amd_bus.c
index 385a940..b11662d 100644
--- a/arch/x86/pci/amd_bus.c
@@ -27716,6 +28058,46 @@ index 385a940..b11662d 100644
.notifier_call = amd_cpu_notify,
};
+diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c
+index 372e9b8..e775a6c 100644
+--- a/arch/x86/pci/irq.c
++++ b/arch/x86/pci/irq.c
+@@ -50,7 +50,7 @@ struct irq_router {
+ struct irq_router_handler {
+ u16 vendor;
+ int (*probe)(struct irq_router *r, struct pci_dev *router, u16 device);
+-};
++} __do_const;
+
+ int (*pcibios_enable_irq)(struct pci_dev *dev) = pirq_enable_irq;
+ void (*pcibios_disable_irq)(struct pci_dev *dev) = NULL;
+@@ -794,7 +794,7 @@ static __init int pico_router_probe(struct irq_router *r, struct pci_dev *router
+ return 0;
+ }
+
+-static __initdata struct irq_router_handler pirq_routers[] = {
++static __initconst const struct irq_router_handler pirq_routers[] = {
+ { PCI_VENDOR_ID_INTEL, intel_router_probe },
+ { PCI_VENDOR_ID_AL, ali_router_probe },
+ { PCI_VENDOR_ID_ITE, ite_router_probe },
+@@ -821,7 +821,7 @@ static struct pci_dev *pirq_router_dev;
+ static void __init pirq_find_router(struct irq_router *r)
+ {
+ struct irq_routing_table *rt = pirq_table;
+- struct irq_router_handler *h;
++ const struct irq_router_handler *h;
+
+ #ifdef CONFIG_PCI_BIOS
+ if (!rt->signature) {
+@@ -1094,7 +1094,7 @@ static int __init fix_acer_tm360_irqrouting(const struct dmi_system_id *d)
+ return 0;
+ }
+
+-static struct dmi_system_id __initdata pciirq_dmi_table[] = {
++static const struct dmi_system_id __initconst pciirq_dmi_table[] = {
+ {
+ .callback = fix_broken_hp_bios_irq9,
+ .ident = "HP Pavilion N5400 Series Laptop",
diff --git a/arch/x86/pci/mrst.c b/arch/x86/pci/mrst.c
index cb29191..036766d 100644
--- a/arch/x86/pci/mrst.c
@@ -28318,10 +28700,10 @@ index d6ee929..3637cb5 100644
.getproplen = olpc_dt_getproplen,
.getproperty = olpc_dt_getproperty,
diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c
-index f10c0af..78a3d87 100644
+index 43c9f6a..2b63a0b 100644
--- a/arch/x86/power/cpu.c
+++ b/arch/x86/power/cpu.c
-@@ -131,7 +131,7 @@ static void do_fpu_end(void)
+@@ -132,7 +132,7 @@ static void do_fpu_end(void)
static void fix_processor_context(void)
{
int cpu = smp_processor_id();
@@ -28330,7 +28712,7 @@ index f10c0af..78a3d87 100644
set_tss_desc(cpu, t); /*
* This just modifies memory; should not be
-@@ -141,8 +141,6 @@ static void fix_processor_context(void)
+@@ -142,8 +142,6 @@ static void fix_processor_context(void)
*/
#ifdef CONFIG_X86_64
@@ -29280,6 +29662,19 @@ index 5b63b8d..6f46ba0 100644
if (strlen(p->cru_driver_name))
exact = 1;
+diff --git a/drivers/acpi/apei/apei-internal.h b/drivers/acpi/apei/apei-internal.h
+index f57050e..7ccfc74 100644
+--- a/drivers/acpi/apei/apei-internal.h
++++ b/drivers/acpi/apei/apei-internal.h
+@@ -18,7 +18,7 @@ typedef int (*apei_exec_ins_func_t)(struct apei_exec_context *ctx,
+ struct apei_exec_ins_type {
+ u32 flags;
+ apei_exec_ins_func_t run;
+-};
++} __do_const;
+
+ struct apei_exec_context {
+ u32 ip;
diff --git a/drivers/acpi/apei/cper.c b/drivers/acpi/apei/cper.c
index 5d41894..22021e4 100644
--- a/drivers/acpi/apei/cper.c
@@ -29301,6 +29696,28 @@ index 5d41894..22021e4 100644
}
EXPORT_SYMBOL_GPL(cper_next_record_id);
+diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c
+index cb96296..b81293b 100644
+--- a/drivers/acpi/blacklist.c
++++ b/drivers/acpi/blacklist.c
+@@ -52,7 +52,7 @@ struct acpi_blacklist_item {
+ u32 is_critical_error;
+ };
+
+-static struct dmi_system_id acpi_osi_dmi_table[] __initdata;
++static const struct dmi_system_id acpi_osi_dmi_table[] __initconst;
+
+ /*
+ * POLICY: If *anything* doesn't work, put it on the blacklist.
+@@ -193,7 +193,7 @@ static int __init dmi_disable_osi_win7(const struct dmi_system_id *d)
+ return 0;
+ }
+
+-static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
++static const struct dmi_system_id acpi_osi_dmi_table[] __initconst = {
+ {
+ .callback = dmi_disable_osi_vista,
+ .ident = "Fujitsu Siemens",
diff --git a/drivers/acpi/ec_sys.c b/drivers/acpi/ec_sys.c
index 6c47ae9..abfdd63 100644
--- a/drivers/acpi/ec_sys.c
@@ -29392,6 +29809,50 @@ index ac28db3..0848b37 100644
/*
* Buggy BIOS check
+diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
+index de0791c..d6d4ea3 100644
+--- a/drivers/acpi/processor_idle.c
++++ b/drivers/acpi/processor_idle.c
+@@ -1036,7 +1036,7 @@ static int acpi_processor_setup_cpuidle_states(struct acpi_processor *pr)
+ {
+ int i, count = CPUIDLE_DRIVER_STATE_START;
+ struct acpi_processor_cx *cx;
+- struct cpuidle_state *state;
++ cpuidle_state_no_const *state;
+ struct cpuidle_driver *drv = &acpi_idle_driver;
+
+ if (!pr->flags.power_setup_done)
+diff --git a/drivers/acpi/sysfs.c b/drivers/acpi/sysfs.c
+index 240a244..bc6239e 100644
+--- a/drivers/acpi/sysfs.c
++++ b/drivers/acpi/sysfs.c
+@@ -420,11 +420,11 @@ static u32 num_counters;
+ static struct attribute **all_attrs;
+ static u32 acpi_gpe_count;
+
+-static struct attribute_group interrupt_stats_attr_group = {
++static attribute_group_no_const interrupt_stats_attr_group = {
+ .name = "interrupts",
+ };
+
+-static struct kobj_attribute *counter_attrs;
++static kobj_attribute_no_const *counter_attrs;
+
+ static void delete_gpe_attr_array(void)
+ {
+diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
+index 3c92dbd..008b08b 100644
+--- a/drivers/ata/libahci.c
++++ b/drivers/ata/libahci.c
+@@ -1211,7 +1211,7 @@ int ahci_kick_engine(struct ata_port *ap)
+ }
+ EXPORT_SYMBOL_GPL(ahci_kick_engine);
+
+-static int ahci_exec_polled_cmd(struct ata_port *ap, int pmp,
++static int __intentional_overflow(-1) ahci_exec_polled_cmd(struct ata_port *ap, int pmp,
+ struct ata_taskfile *tf, int is_cmd, u16 flags,
+ unsigned long timeout_msec)
+ {
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index c9540c0..963b068 100644
--- a/drivers/ata/libata-core.c
@@ -30467,10 +30928,10 @@ index a4760e0..51283cf 100644
printk(KERN_INFO "devtmpfs: error mounting %i\n", err);
else
diff --git a/drivers/base/node.c b/drivers/base/node.c
-index 5693ece..ef7c1f9 100644
+index 5693ece..e39a621 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
-@@ -587,11 +587,9 @@ static ssize_t print_nodes_state(enum node_states state, char *buf)
+@@ -587,18 +587,16 @@ static ssize_t print_nodes_state(enum node_states state, char *buf)
{
int n;
@@ -30485,6 +30946,14 @@ index 5693ece..ef7c1f9 100644
return n;
}
+ struct node_attr {
+ struct sysdev_class_attribute attr;
+ enum node_states state;
+-};
++} __do_const;
+
+ static ssize_t show_node_state(struct sysdev_class *class,
+ struct sysdev_class_attribute *attr, char *buf)
diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c
index caf995f..6f76697 100644
--- a/drivers/base/power/wakeup.c
@@ -30524,6 +30993,28 @@ index caf995f..6f76697 100644
}
/**
+diff --git a/drivers/base/syscore.c b/drivers/base/syscore.c
+index e8d11b6..7b1b36f 100644
+--- a/drivers/base/syscore.c
++++ b/drivers/base/syscore.c
+@@ -21,7 +21,7 @@ static DEFINE_MUTEX(syscore_ops_lock);
+ void register_syscore_ops(struct syscore_ops *ops)
+ {
+ mutex_lock(&syscore_ops_lock);
+- list_add_tail(&ops->node, &syscore_ops_list);
++ pax_list_add_tail((struct list_head *)&ops->node, &syscore_ops_list);
+ mutex_unlock(&syscore_ops_lock);
+ }
+ EXPORT_SYMBOL_GPL(register_syscore_ops);
+@@ -33,7 +33,7 @@ EXPORT_SYMBOL_GPL(register_syscore_ops);
+ void unregister_syscore_ops(struct syscore_ops *ops)
+ {
+ mutex_lock(&syscore_ops_lock);
+- list_del(&ops->node);
++ pax_list_del((struct list_head *)&ops->node);
+ mutex_unlock(&syscore_ops_lock);
+ }
+ EXPORT_SYMBOL_GPL(unregister_syscore_ops);
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index b0f553b..77b928b 100644
--- a/drivers/block/cciss.c
@@ -30959,7 +31450,7 @@ index af2a250..0fdeb75 100644
cn_reply->len = sizeof(struct drbd_nl_cfg_reply) +
(int)((char *)tl - (char *)reply->tag_list);
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
-index 43beaca..4a5b1dd 100644
+index 43beaca..32e74a7 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -894,7 +894,7 @@ retry:
@@ -31038,6 +31529,15 @@ index 43beaca..4a5b1dd 100644
atomic_inc(&e->epoch->active);
spin_unlock(&mdev->epoch_lock);
+@@ -3638,7 +3638,7 @@ struct data_cmd {
+ int expect_payload;
+ size_t pkt_size;
+ drbd_cmd_handler_f function;
+-};
++} __do_const;
+
+ static struct data_cmd drbd_cmd_handler[] = {
+ [P_DATA] = { 1, sizeof(struct p_data), receive_Data },
@@ -3885,7 +3885,7 @@ static void drbd_disconnect(struct drbd_conf *mdev)
D_ASSERT(list_empty(&mdev->done_ee));
@@ -31047,6 +31547,15 @@ index 43beaca..4a5b1dd 100644
D_ASSERT(list_empty(&mdev->current_epoch->list));
}
+@@ -4493,7 +4493,7 @@ static int got_skip(struct drbd_conf *mdev, struct p_header80 *h)
+ struct asender_cmd {
+ size_t pkt_size;
+ int (*process)(struct drbd_conf *mdev, struct p_header80 *h);
+-};
++} __do_const;
+
+ static struct asender_cmd *get_asender_cmd(int cmd)
+ {
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 8c6787a..b7f4770 100644
--- a/drivers/block/loop.c
@@ -31454,7 +31963,7 @@ index da3cfee..a5a6606 100644
*ppos = i;
diff --git a/drivers/char/random.c b/drivers/char/random.c
-index 8ae9235..c7aab59 100644
+index 8ae9235..ea94cf2 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -269,8 +269,13 @@
@@ -31563,6 +32072,15 @@ index 8ae9235..c7aab59 100644
static int max_write_thresh = INPUT_POOL_WORDS * 32;
static char sysctl_bootid[16];
+@@ -1395,7 +1424,7 @@ static char sysctl_bootid[16];
+ static int proc_do_uuid(ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- ctl_table fake_table;
++ ctl_table_no_const fake_table;
+ unsigned char buf[64], tmp_uuid[16], *uuid;
+
+ uuid = table->data;
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
index 1ee8ce7..b778bef 100644
--- a/drivers/char/sonypi.c
@@ -31687,8 +32205,51 @@ index 7795d1e..bc6d80a 100644
}
static ssize_t port_fops_write(struct file *filp, const char __user *ubuf,
+diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c
+index 56c6c6b..99056e6 100644
+--- a/drivers/cpufreq/acpi-cpufreq.c
++++ b/drivers/cpufreq/acpi-cpufreq.c
+@@ -533,8 +533,11 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
+ data->acpi_data = per_cpu_ptr(acpi_perf_data, cpu);
+ per_cpu(acfreq_data, cpu) = data;
+
+- if (cpu_has(c, X86_FEATURE_CONSTANT_TSC))
+- acpi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS;
++ if (cpu_has(c, X86_FEATURE_CONSTANT_TSC)) {
++ pax_open_kernel();
++ *(u8 *)&acpi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS;
++ pax_close_kernel();
++ }
+
+ result = acpi_processor_register_performance(data->acpi_data, cpu);
+ if (result)
+@@ -644,7 +647,9 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
+ policy->cur = acpi_cpufreq_guess_freq(data, policy->cpu);
+ break;
+ case ACPI_ADR_SPACE_FIXED_HARDWARE:
+- acpi_cpufreq_driver.get = get_cur_freq_on_cpu;
++ pax_open_kernel();
++ *(void **)&acpi_cpufreq_driver.get = get_cur_freq_on_cpu;
++ pax_close_kernel();
+ policy->cur = get_cur_freq_on_cpu(cpu);
+ break;
+ default:
+@@ -655,8 +660,11 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
+ acpi_processor_notify_smm(THIS_MODULE);
+
+ /* Check for APERF/MPERF support in hardware */
+- if (boot_cpu_has(X86_FEATURE_APERFMPERF))
+- acpi_cpufreq_driver.getavg = cpufreq_get_measured_perf;
++ if (boot_cpu_has(X86_FEATURE_APERFMPERF)) {
++ pax_open_kernel();
++ *(void **)&acpi_cpufreq_driver.getavg = cpufreq_get_measured_perf;
++ pax_close_kernel();
++ }
+
+ pr_debug("CPU%u - ACPI performance management activated.\n", cpu);
+ for (i = 0; i < perf->state_count; i++)
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
-index 987a165..4620e42 100644
+index 987a165..d7f2bcd 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1790,7 +1790,7 @@ static int __cpuinit cpufreq_cpu_callback(struct notifier_block *nfb,
@@ -31700,6 +32261,20 @@ index 987a165..4620e42 100644
.notifier_call = cpufreq_cpu_callback,
};
+@@ -1819,8 +1819,11 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
+
+ pr_debug("trying to register driver %s\n", driver_data->name);
+
+- if (driver_data->setpolicy)
+- driver_data->flags |= CPUFREQ_CONST_LOOPS;
++ if (driver_data->setpolicy) {
++ pax_open_kernel();
++ *(u8 *)&driver_data->flags |= CPUFREQ_CONST_LOOPS;
++ pax_close_kernel();
++ }
+
+ spin_lock_irqsave(&cpufreq_driver_lock, flags);
+ if (cpufreq_driver) {
diff --git a/drivers/cpufreq/cpufreq_stats.c b/drivers/cpufreq/cpufreq_stats.c
index 4bf374d..b170d80 100644
--- a/drivers/cpufreq/cpufreq_stats.c
@@ -31713,6 +32288,122 @@ index 4bf374d..b170d80 100644
.notifier_call = cpufreq_stat_cpu_callback,
.priority = 1,
};
+diff --git a/drivers/cpufreq/p4-clockmod.c b/drivers/cpufreq/p4-clockmod.c
+index 6be3e07..dafe020 100644
+--- a/drivers/cpufreq/p4-clockmod.c
++++ b/drivers/cpufreq/p4-clockmod.c
+@@ -166,10 +166,14 @@ static unsigned int cpufreq_p4_get_frequency(struct cpuinfo_x86 *c)
+ case 0x0F: /* Core Duo */
+ case 0x16: /* Celeron Core */
+ case 0x1C: /* Atom */
+- p4clockmod_driver.flags |= CPUFREQ_CONST_LOOPS;
++ pax_open_kernel();
++ *(u8 *)&p4clockmod_driver.flags |= CPUFREQ_CONST_LOOPS;
++ pax_close_kernel();
+ return speedstep_get_frequency(SPEEDSTEP_CPU_PCORE);
+ case 0x0D: /* Pentium M (Dothan) */
+- p4clockmod_driver.flags |= CPUFREQ_CONST_LOOPS;
++ pax_open_kernel();
++ *(u8 *)&p4clockmod_driver.flags |= CPUFREQ_CONST_LOOPS;
++ pax_close_kernel();
+ /* fall through */
+ case 0x09: /* Pentium M (Banias) */
+ return speedstep_get_frequency(SPEEDSTEP_CPU_PM);
+@@ -181,7 +185,9 @@ static unsigned int cpufreq_p4_get_frequency(struct cpuinfo_x86 *c)
+
+ /* on P-4s, the TSC runs with constant frequency independent whether
+ * throttling is active or not. */
+- p4clockmod_driver.flags |= CPUFREQ_CONST_LOOPS;
++ pax_open_kernel();
++ *(u8 *)&p4clockmod_driver.flags |= CPUFREQ_CONST_LOOPS;
++ pax_close_kernel();
+
+ if (speedstep_detect_processor() == SPEEDSTEP_CPU_P4M) {
+ printk(KERN_WARNING PFX "Warning: Pentium 4-M detected. "
+diff --git a/drivers/cpufreq/powernow-k8.c b/drivers/cpufreq/powernow-k8.c
+index f6cd315..ce0d3b7 100644
+--- a/drivers/cpufreq/powernow-k8.c
++++ b/drivers/cpufreq/powernow-k8.c
+@@ -1341,8 +1341,11 @@ static int __cpuinit powernowk8_cpu_init(struct cpufreq_policy *pol)
+ }
+
+ /* Check for APERF/MPERF support in hardware */
+- if (cpu_has(c, X86_FEATURE_APERFMPERF))
+- cpufreq_amd64_driver.getavg = cpufreq_get_measured_perf;
++ if (cpu_has(c, X86_FEATURE_APERFMPERF)) {
++ pax_open_kernel();
++ *(void **)&cpufreq_amd64_driver.getavg = cpufreq_get_measured_perf;
++ pax_close_kernel();
++ }
+
+ cpufreq_frequency_table_get_attr(data->powernow_table, pol->cpu);
+
+diff --git a/drivers/cpufreq/speedstep-centrino.c b/drivers/cpufreq/speedstep-centrino.c
+index 6ea3455..4a1af8f 100644
+--- a/drivers/cpufreq/speedstep-centrino.c
++++ b/drivers/cpufreq/speedstep-centrino.c
+@@ -352,8 +352,11 @@ static int centrino_cpu_init(struct cpufreq_policy *policy)
+ !cpu_has(cpu, X86_FEATURE_EST))
+ return -ENODEV;
+
+- if (cpu_has(cpu, X86_FEATURE_CONSTANT_TSC))
+- centrino_driver.flags |= CPUFREQ_CONST_LOOPS;
++ if (cpu_has(cpu, X86_FEATURE_CONSTANT_TSC)) {
++ pax_open_kernel();
++ *(u8 *)&centrino_driver.flags |= CPUFREQ_CONST_LOOPS;
++ pax_close_kernel();
++ }
+
+ if (policy->cpu != 0)
+ return -ENODEV;
+diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
+index 06ce268..1e0d3e4 100644
+--- a/drivers/cpuidle/cpuidle.c
++++ b/drivers/cpuidle/cpuidle.c
+@@ -188,7 +188,7 @@ static int poll_idle(struct cpuidle_device *dev,
+
+ static void poll_idle_init(struct cpuidle_driver *drv)
+ {
+- struct cpuidle_state *state = &drv->states[0];
++ cpuidle_state_no_const *state = &drv->states[0];
+
+ snprintf(state->name, CPUIDLE_NAME_LEN, "POLL");
+ snprintf(state->desc, CPUIDLE_DESC_LEN, "CPUIDLE CORE POLL IDLE");
+diff --git a/drivers/cpuidle/governor.c b/drivers/cpuidle/governor.c
+index ea2f8e7..70ac501 100644
+--- a/drivers/cpuidle/governor.c
++++ b/drivers/cpuidle/governor.c
+@@ -87,7 +87,7 @@ int cpuidle_register_governor(struct cpuidle_governor *gov)
+ mutex_lock(&cpuidle_lock);
+ if (__cpuidle_find_governor(gov->name) == NULL) {
+ ret = 0;
+- list_add_tail(&gov->governor_list, &cpuidle_governors);
++ pax_list_add_tail((struct list_head *)&gov->governor_list, &cpuidle_governors);
+ if (!cpuidle_curr_governor ||
+ cpuidle_curr_governor->rating < gov->rating)
+ cpuidle_switch_governor(gov);
+@@ -135,7 +135,7 @@ void cpuidle_unregister_governor(struct cpuidle_governor *gov)
+ new_gov = cpuidle_replace_governor(gov->rating);
+ cpuidle_switch_governor(new_gov);
+ }
+- list_del(&gov->governor_list);
++ pax_list_del((struct list_head *)&gov->governor_list);
+ mutex_unlock(&cpuidle_lock);
+ }
+
+diff --git a/drivers/cpuidle/sysfs.c b/drivers/cpuidle/sysfs.c
+index 1e756e1..6f7ead5 100644
+--- a/drivers/cpuidle/sysfs.c
++++ b/drivers/cpuidle/sysfs.c
+@@ -131,7 +131,7 @@ static struct attribute *cpuclass_switch_attrs[] = {
+ NULL
+ };
+
+-static struct attribute_group cpuclass_attr_group = {
++static attribute_group_no_const cpuclass_attr_group = {
+ .attrs = cpuclass_default_attrs,
+ .name = "cpuidle",
+ };
diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
index eb1d864..39ee5a7 100644
--- a/drivers/dma/dmatest.c
@@ -31792,7 +32483,7 @@ index 6ffb6d2..383d8d7 100644
PCI_VEND_DEV(INTEL, 7205_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
E7205},
diff --git a/drivers/edac/edac_pci_sysfs.c b/drivers/edac/edac_pci_sysfs.c
-index 8cc8676..f46ebc8 100644
+index 8cc8676..90b70b9 100644
--- a/drivers/edac/edac_pci_sysfs.c
+++ b/drivers/edac/edac_pci_sysfs.c
@@ -26,8 +26,8 @@ static int edac_pci_log_pe = 1; /* log PCI parity errors */
@@ -31806,6 +32497,15 @@ index 8cc8676..f46ebc8 100644
static struct kobject *edac_pci_top_main_kobj;
static atomic_t edac_pci_sysfs_refcount = ATOMIC_INIT(0);
+@@ -236,7 +236,7 @@ struct edac_pci_dev_attribute {
+ void *value;
+ ssize_t(*show) (void *, char *);
+ ssize_t(*store) (void *, const char *, size_t);
+-};
++} __do_const;
+
+ /* Set of show/store abstract level functions for PCI Parity object */
+ static ssize_t edac_pci_dev_show(struct kobject *kobj, struct attribute *attr,
@@ -582,7 +582,7 @@ static void edac_pci_dev_parity_test(struct pci_dev *dev)
edac_printk(KERN_CRIT, EDAC_PCI,
"Signaled System Error on %s\n",
@@ -32100,6 +32800,19 @@ index b97d4f0..7578a4d 100644
return -EINVAL;
r = kmalloc(sizeof(*r), GFP_KERNEL);
+diff --git a/drivers/firewire/core-device.c b/drivers/firewire/core-device.c
+index 1f3dd51..1ad071c 100644
+--- a/drivers/firewire/core-device.c
++++ b/drivers/firewire/core-device.c
+@@ -232,7 +232,7 @@ EXPORT_SYMBOL(fw_device_enable_phys_dma);
+ struct config_rom_attribute {
+ struct device_attribute attr;
+ u32 key;
+-};
++} __do_const;
+
+ static ssize_t show_immediate(struct device *dev,
+ struct device_attribute *dattr, char *buf)
diff --git a/drivers/firewire/core-transaction.c b/drivers/firewire/core-transaction.c
index 855ab3f..11f4bbd 100644
--- a/drivers/firewire/core-transaction.c
@@ -32124,6 +32837,19 @@ index b45be57..5fad18b 100644
void fw_card_initialize(struct fw_card *card,
const struct fw_card_driver *driver, struct device *device);
+diff --git a/drivers/firmware/dmi-id.c b/drivers/firmware/dmi-id.c
+index 94a58a0..f5eba42 100644
+--- a/drivers/firmware/dmi-id.c
++++ b/drivers/firmware/dmi-id.c
+@@ -16,7 +16,7 @@
+ struct dmi_device_attribute{
+ struct device_attribute dev_attr;
+ int field;
+-};
++} __do_const;
+ #define to_dmi_dev_attr(_dev_attr) \
+ container_of(_dev_attr, struct dmi_device_attribute, dev_attr)
+
diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
index 4cd392d..4b629e1 100644
--- a/drivers/firmware/dmi_scan.c
@@ -32150,18 +32876,42 @@ index 4cd392d..4b629e1 100644
iounmap(buf);
return 0;
diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c
-index 81346ae..b562eff 100644
+index b15c0aa..9a15a68 100644
--- a/drivers/firmware/efivars.c
+++ b/drivers/firmware/efivars.c
-@@ -1289,7 +1289,7 @@ out:
+@@ -1233,7 +1233,7 @@ efivar_create_sysfs_entry(struct efivars *efivars,
+ static int
+ create_efivars_bin_attributes(struct efivars *efivars)
+ {
+- struct bin_attribute *attr;
++ bin_attribute_no_const *attr;
+ int error;
+
+ /* new_var */
+@@ -1425,7 +1425,7 @@ out:
+ }
EXPORT_SYMBOL_GPL(register_efivars);
- static struct efivars __efivars;
-static struct efivar_operations ops;
+static efivar_operations_no_const ops __read_only;
/*
* For now we register the efi subsystem with the firmware subsystem
+diff --git a/drivers/firmware/google/memconsole.c b/drivers/firmware/google/memconsole.c
+index 2a90ba6..07f3733 100644
+--- a/drivers/firmware/google/memconsole.c
++++ b/drivers/firmware/google/memconsole.c
+@@ -147,7 +147,9 @@ static int __init memconsole_init(void)
+ if (!found_memconsole())
+ return -ENODEV;
+
+- memconsole_bin_attr.size = memconsole_length;
++ pax_open_kernel();
++ *(size_t *)&memconsole_bin_attr.size = memconsole_length;
++ pax_close_kernel();
+
+ ret = sysfs_create_bin_file(firmware_kobj, &memconsole_bin_attr);
+
diff --git a/drivers/gpio/gpio-vr41xx.c b/drivers/gpio/gpio-vr41xx.c
index 98723cb..10ca85b 100644
--- a/drivers/gpio/gpio-vr41xx.c
@@ -32285,7 +33035,7 @@ index 11788f7..cd469eb 100644
dev = crtc->dev;
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
-index 40c187c..5746164 100644
+index 40c187c..59da444 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -308,7 +308,7 @@ module_exit(drm_core_exit);
@@ -32297,6 +33047,15 @@ index 40c187c..5746164 100644
{
int len;
+@@ -378,7 +378,7 @@ long drm_ioctl(struct file *filp,
+ struct drm_file *file_priv = filp->private_data;
+ struct drm_device *dev;
+ struct drm_ioctl_desc *ioctl;
+- drm_ioctl_t *func;
++ drm_ioctl_no_const_t func;
+ unsigned int nr = DRM_IOCTL_NR(cmd);
+ int retcode = -EINVAL;
+ char stack_kdata[128];
@@ -387,7 +387,7 @@ long drm_ioctl(struct file *filp,
dev = file_priv->minor->dev;
@@ -32469,7 +33228,7 @@ index ab1162d..42587b2 100644
#if defined(__i386__)
pgprot = pgprot_val(vma->vm_page_prot);
diff --git a/drivers/gpu/drm/drm_ioc32.c b/drivers/gpu/drm/drm_ioc32.c
-index ddd70db..40321e6 100644
+index ddd70db..d1db604 100644
--- a/drivers/gpu/drm/drm_ioc32.c
+++ b/drivers/gpu/drm/drm_ioc32.c
@@ -456,7 +456,7 @@ static int compat_drm_infobufs(struct file *file, unsigned int cmd,
@@ -32490,6 +33249,36 @@ index ddd70db..40321e6 100644
if (__put_user(count, &request->count)
|| __put_user(list, &request->list))
+@@ -1015,7 +1015,7 @@ static int compat_drm_wait_vblank(struct file *file, unsigned int cmd,
+ return 0;
+ }
+
+-drm_ioctl_compat_t *drm_compat_ioctls[] = {
++drm_ioctl_compat_t drm_compat_ioctls[] = {
+ [DRM_IOCTL_NR(DRM_IOCTL_VERSION32)] = compat_drm_version,
+ [DRM_IOCTL_NR(DRM_IOCTL_GET_UNIQUE32)] = compat_drm_getunique,
+ [DRM_IOCTL_NR(DRM_IOCTL_GET_MAP32)] = compat_drm_getmap,
+@@ -1061,7 +1061,6 @@ drm_ioctl_compat_t *drm_compat_ioctls[] = {
+ long drm_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+ {
+ unsigned int nr = DRM_IOCTL_NR(cmd);
+- drm_ioctl_compat_t *fn;
+ int ret;
+
+ /* Assume that ioctls without an explicit compat routine will just
+@@ -1071,10 +1070,8 @@ long drm_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+ if (nr >= ARRAY_SIZE(drm_compat_ioctls))
+ return drm_ioctl(filp, cmd, arg);
+
+- fn = drm_compat_ioctls[nr];
+-
+- if (fn != NULL)
+- ret = (*fn) (filp, cmd, arg);
++ if (drm_compat_ioctls[nr] != NULL)
++ ret = (*drm_compat_ioctls[nr]) (filp, cmd, arg);
+ else
+ ret = drm_ioctl(filp, cmd, arg);
+
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index 904d7e9..ab88581 100644
--- a/drivers/gpu/drm/drm_ioctl.c
@@ -32567,7 +33356,7 @@ index c9339f4..f5e1b9d 100644
int front_offset;
} drm_i810_private_t;
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 5620192..6ca6af4 100644
+index 9b4e5c6..d7ec240 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -500,7 +500,7 @@ static int i915_interrupt_info(struct seq_file *m, void *data)
@@ -32633,7 +33422,7 @@ index 012a9d2..3b2267c 100644
return container_of(adapter, struct intel_gmbus, adapter)->force_bit;
}
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index 878b989..17fe410 100644
+index b1bb734..324ed11 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -189,7 +189,7 @@ i915_gem_object_set_to_gpu_domain(struct drm_i915_gem_object *obj,
@@ -32645,7 +33434,7 @@ index 878b989..17fe410 100644
/* The actual obj->write_domain will be updated with
* pending_write_domain after we emit the accumulated flush for all
-@@ -904,18 +904,23 @@ i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec)
+@@ -904,9 +904,9 @@ i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec)
static int
validate_exec_list(struct drm_i915_gem_exec_object2 *exec,
@@ -32653,28 +33442,54 @@ index 878b989..17fe410 100644
+ unsigned int count)
{
- int i;
--
+ unsigned int i;
-+ int relocs_total = 0;
-+ int relocs_max = INT_MAX / sizeof(struct drm_i915_gem_relocation_entry);
-+
- for (i = 0; i < count; i++) {
- char __user *ptr = (char __user *)(uintptr_t)exec[i].relocs_ptr;
- int length; /* limited by fault_in_pages_readable() */
-
-- /* First check for malicious input causing overflow */
-- if (exec[i].relocation_count >
-- INT_MAX / sizeof(struct drm_i915_gem_relocation_entry))
-+ /* First check for malicious input causing overflow in
-+ * the worst case where we need to allocate the entire
-+ * relocation tree as a single array.
-+ */
-+ if (exec[i].relocation_count > relocs_max - relocs_total)
- return -EINVAL;
-+ relocs_total += exec[i].relocation_count;
+ int relocs_total = 0;
+ int relocs_max = INT_MAX / sizeof(struct drm_i915_gem_relocation_entry);
+
+@@ -1371,7 +1371,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
+ return -ENOMEM;
+ }
+ ret = copy_from_user(exec2_list,
+- (struct drm_i915_relocation_entry __user *)
++ (struct drm_i915_gem_exec_object2 __user *)
+ (uintptr_t) args->buffers_ptr,
+ sizeof(*exec2_list) * args->buffer_count);
+ if (ret != 0) {
+diff --git a/drivers/gpu/drm/i915/i915_ioc32.c b/drivers/gpu/drm/i915/i915_ioc32.c
+index 13b0289..5fb9e24 100644
+--- a/drivers/gpu/drm/i915/i915_ioc32.c
++++ b/drivers/gpu/drm/i915/i915_ioc32.c
+@@ -181,7 +181,7 @@ static int compat_i915_alloc(struct file *file, unsigned int cmd,
+ (unsigned long)request);
+ }
+
+-drm_ioctl_compat_t *i915_compat_ioctls[] = {
++drm_ioctl_compat_t i915_compat_ioctls[] = {
+ [DRM_I915_BATCHBUFFER] = compat_i915_batchbuffer,
+ [DRM_I915_CMDBUFFER] = compat_i915_cmdbuffer,
+ [DRM_I915_GETPARAM] = compat_i915_getparam,
+@@ -201,18 +201,15 @@ drm_ioctl_compat_t *i915_compat_ioctls[] = {
+ long i915_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+ {
+ unsigned int nr = DRM_IOCTL_NR(cmd);
+- drm_ioctl_compat_t *fn = NULL;
+ int ret;
+
+ if (nr < DRM_COMMAND_BASE)
+ return drm_compat_ioctl(filp, cmd, arg);
+
+- if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(i915_compat_ioctls))
+- fn = i915_compat_ioctls[nr - DRM_COMMAND_BASE];
+-
+- if (fn != NULL)
++ if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(i915_compat_ioctls)) {
++ drm_ioctl_compat_t fn = i915_compat_ioctls[nr - DRM_COMMAND_BASE];
+ ret = (*fn) (filp, cmd, arg);
+- else
++ } else
+ ret = drm_ioctl(filp, cmd, arg);
- length = exec[i].relocation_count *
- sizeof(struct drm_i915_gem_relocation_entry);
+ return ret;
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 93e74fb..4a1182d 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
@@ -32725,7 +33540,7 @@ index 93e74fb..4a1182d 100644
INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func);
INIT_WORK(&dev_priv->error_work, i915_error_work_func);
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 4591582..447bb3b 100644
+index 17961df..8ef9827 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2214,7 +2214,7 @@ intel_finish_fb(struct drm_framebuffer *old_fb)
@@ -32800,6 +33615,15 @@ index 4591582..447bb3b 100644
}
drm_crtc_helper_add(&intel_crtc->base, &intel_helper_funcs);
+@@ -8836,7 +8845,7 @@ struct intel_quirk {
+ int subsystem_vendor;
+ int subsystem_device;
+ void (*hook)(struct drm_device *dev);
+-};
++} __do_const;
+
+ struct intel_quirk intel_quirks[] = {
+ /* HP Compaq 2730p needs pipe A force quirk (LP: #291555) */
diff --git a/drivers/gpu/drm/mga/mga_drv.h b/drivers/gpu/drm/mga/mga_drv.h
index 54558a0..2d97005 100644
--- a/drivers/gpu/drm/mga/mga_drv.h
@@ -32816,6 +33640,41 @@ index 54558a0..2d97005 100644
u32 next_fence_to_post;
unsigned int fb_cpp;
+diff --git a/drivers/gpu/drm/mga/mga_ioc32.c b/drivers/gpu/drm/mga/mga_ioc32.c
+index c1f877b..0ae6960 100644
+--- a/drivers/gpu/drm/mga/mga_ioc32.c
++++ b/drivers/gpu/drm/mga/mga_ioc32.c
+@@ -190,7 +190,7 @@ static int compat_mga_dma_bootstrap(struct file *file, unsigned int cmd,
+ return 0;
+ }
+
+-drm_ioctl_compat_t *mga_compat_ioctls[] = {
++drm_ioctl_compat_t mga_compat_ioctls[] = {
+ [DRM_MGA_INIT] = compat_mga_init,
+ [DRM_MGA_GETPARAM] = compat_mga_getparam,
+ [DRM_MGA_DMA_BOOTSTRAP] = compat_mga_dma_bootstrap,
+@@ -208,18 +208,15 @@ drm_ioctl_compat_t *mga_compat_ioctls[] = {
+ long mga_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+ {
+ unsigned int nr = DRM_IOCTL_NR(cmd);
+- drm_ioctl_compat_t *fn = NULL;
+ int ret;
+
+ if (nr < DRM_COMMAND_BASE)
+ return drm_compat_ioctl(filp, cmd, arg);
+
+- if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(mga_compat_ioctls))
+- fn = mga_compat_ioctls[nr - DRM_COMMAND_BASE];
+-
+- if (fn != NULL)
++ if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(mga_compat_ioctls)) {
++ drm_ioctl_compat_t fn = mga_compat_ioctls[nr - DRM_COMMAND_BASE];
+ ret = (*fn) (filp, cmd, arg);
+- else
++ } else
+ ret = drm_ioctl(filp, cmd, arg);
+
+ return ret;
diff --git a/drivers/gpu/drm/mga/mga_irq.c b/drivers/gpu/drm/mga/mga_irq.c
index 2581202..f230a8d9 100644
--- a/drivers/gpu/drm/mga/mga_irq.c
@@ -32879,7 +33738,7 @@ index 5fc201b..7b032b9 100644
#define BIT_TABLE(id, funcid) ((struct bit_table){ id, parse_bit_##funcid##_tbl_entry })
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
-index 4c0be3a..5757582 100644
+index 4c0be3a..8f2cbb5 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.h
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
@@ -238,7 +238,7 @@ struct nouveau_channel {
@@ -32916,15 +33775,6 @@ index 4c0be3a..5757582 100644
struct nouveau_fb_engine {
int num_tiles;
-@@ -558,7 +558,7 @@ struct nouveau_vram_engine {
- void (*put)(struct drm_device *, struct nouveau_mem **);
-
- bool (*flags_valid)(struct drm_device *, u32 tile_flags);
--};
-+} __no_const;
-
- struct nouveau_engine {
- struct nouveau_instmem_engine instmem;
@@ -706,7 +706,7 @@ struct drm_nouveau_private {
struct drm_global_reference mem_global_ref;
struct ttm_bo_global_ref bo_global_ref;
@@ -32969,6 +33819,19 @@ index 7ce3fde..cb3ea04 100644
retry:
if (++trycnt > 100000) {
NV_ERROR(dev, "%s failed and gave up.\n", __func__);
+diff --git a/drivers/gpu/drm/nouveau/nouveau_ioc32.c b/drivers/gpu/drm/nouveau/nouveau_ioc32.c
+index 475ba81..a6c530c 100644
+--- a/drivers/gpu/drm/nouveau/nouveau_ioc32.c
++++ b/drivers/gpu/drm/nouveau/nouveau_ioc32.c
+@@ -51,7 +51,7 @@ long nouveau_compat_ioctl(struct file *filp, unsigned int cmd,
+ unsigned long arg)
+ {
+ unsigned int nr = DRM_IOCTL_NR(cmd);
+- drm_ioctl_compat_t *fn = NULL;
++ drm_ioctl_compat_t fn = NULL;
+ int ret;
+
+ if (nr < DRM_COMMAND_BASE)
diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
index 01adcfb..c6726fe 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -33029,6 +33892,41 @@ index 930c71b..499aded 100644
u32 color_fmt;
unsigned int front_offset;
+diff --git a/drivers/gpu/drm/r128/r128_ioc32.c b/drivers/gpu/drm/r128/r128_ioc32.c
+index 51c99fc..8acd411 100644
+--- a/drivers/gpu/drm/r128/r128_ioc32.c
++++ b/drivers/gpu/drm/r128/r128_ioc32.c
+@@ -178,7 +178,7 @@ static int compat_r128_getparam(struct file *file, unsigned int cmd,
+ return drm_ioctl(file, DRM_IOCTL_R128_GETPARAM, (unsigned long)getparam);
+ }
+
+-drm_ioctl_compat_t *r128_compat_ioctls[] = {
++drm_ioctl_compat_t r128_compat_ioctls[] = {
+ [DRM_R128_INIT] = compat_r128_init,
+ [DRM_R128_DEPTH] = compat_r128_depth,
+ [DRM_R128_STIPPLE] = compat_r128_stipple,
+@@ -197,18 +197,15 @@ drm_ioctl_compat_t *r128_compat_ioctls[] = {
+ long r128_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+ {
+ unsigned int nr = DRM_IOCTL_NR(cmd);
+- drm_ioctl_compat_t *fn = NULL;
+ int ret;
+
+ if (nr < DRM_COMMAND_BASE)
+ return drm_compat_ioctl(filp, cmd, arg);
+
+- if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(r128_compat_ioctls))
+- fn = r128_compat_ioctls[nr - DRM_COMMAND_BASE];
+-
+- if (fn != NULL)
++ if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(r128_compat_ioctls)) {
++ drm_ioctl_compat_t fn = r128_compat_ioctls[nr - DRM_COMMAND_BASE];
+ ret = (*fn) (filp, cmd, arg);
+- else
++ } else
+ ret = drm_ioctl(filp, cmd, arg);
+
+ return ret;
diff --git a/drivers/gpu/drm/r128/r128_irq.c b/drivers/gpu/drm/r128/r128_irq.c
index 429d5a0..7e899ed 100644
--- a/drivers/gpu/drm/r128/r128_irq.c
@@ -33298,7 +34196,7 @@ index 76ec0e9..6feb1a3 100644
INIT_LIST_HEAD(&rdev->fence_drv.emited);
INIT_LIST_HEAD(&rdev->fence_drv.signaled);
diff --git a/drivers/gpu/drm/radeon/radeon_ioc32.c b/drivers/gpu/drm/radeon/radeon_ioc32.c
-index 48b7cea..342236f 100644
+index 48b7cea..b10b216 100644
--- a/drivers/gpu/drm/radeon/radeon_ioc32.c
+++ b/drivers/gpu/drm/radeon/radeon_ioc32.c
@@ -359,7 +359,7 @@ static int compat_radeon_cp_setparam(struct file *file, unsigned int cmd,
@@ -33310,6 +34208,37 @@ index 48b7cea..342236f 100644
&request->value))
return -EFAULT;
+@@ -369,7 +369,7 @@ static int compat_radeon_cp_setparam(struct file *file, unsigned int cmd,
+ #define compat_radeon_cp_setparam NULL
+ #endif /* X86_64 || IA64 */
+
+-drm_ioctl_compat_t *radeon_compat_ioctls[] = {
++drm_ioctl_compat_t radeon_compat_ioctls[] = {
+ [DRM_RADEON_CP_INIT] = compat_radeon_cp_init,
+ [DRM_RADEON_CLEAR] = compat_radeon_cp_clear,
+ [DRM_RADEON_STIPPLE] = compat_radeon_cp_stipple,
+@@ -394,18 +394,15 @@ drm_ioctl_compat_t *radeon_compat_ioctls[] = {
+ long radeon_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+ {
+ unsigned int nr = DRM_IOCTL_NR(cmd);
+- drm_ioctl_compat_t *fn = NULL;
+ int ret;
+
+ if (nr < DRM_COMMAND_BASE)
+ return drm_compat_ioctl(filp, cmd, arg);
+
+- if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(radeon_compat_ioctls))
+- fn = radeon_compat_ioctls[nr - DRM_COMMAND_BASE];
+-
+- if (fn != NULL)
++ if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(radeon_compat_ioctls)) {
++ drm_ioctl_compat_t fn = radeon_compat_ioctls[nr - DRM_COMMAND_BASE];
+ ret = (*fn) (filp, cmd, arg);
+- else
++ } else
+ ret = drm_ioctl(filp, cmd, arg);
+
+ return ret;
diff --git a/drivers/gpu/drm/radeon/radeon_irq.c b/drivers/gpu/drm/radeon/radeon_irq.c
index 00da384..32f972d 100644
--- a/drivers/gpu/drm/radeon/radeon_irq.c
@@ -33334,6 +34263,36 @@ index 00da384..32f972d 100644
DRM_INIT_WAITQUEUE(&dev_priv->swi_queue);
dev->max_vblank_count = 0x001fffff;
+diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c
+index 65be5e8..578b3c2 100644
+--- a/drivers/gpu/drm/radeon/radeon_ring.c
++++ b/drivers/gpu/drm/radeon/radeon_ring.c
+@@ -487,16 +487,20 @@ int radeon_debugfs_ib_init(struct radeon_device *rdev)
+ unsigned i;
+ int r;
+
+- radeon_debugfs_ib_bogus_info_list[0].data = rdev;
++ pax_open_kernel();
++ *(void **)&radeon_debugfs_ib_bogus_info_list[0].data = rdev;
++ pax_close_kernel();
+ r = radeon_debugfs_add_files(rdev, radeon_debugfs_ib_bogus_info_list, 1);
+ if (r)
+ return r;
+ for (i = 0; i < RADEON_IB_POOL_SIZE; i++) {
+ sprintf(radeon_debugfs_ib_names[i], "radeon_ib_%04u", i);
+- radeon_debugfs_ib_list[i].name = radeon_debugfs_ib_names[i];
+- radeon_debugfs_ib_list[i].show = &radeon_debugfs_ib_info;
+- radeon_debugfs_ib_list[i].driver_features = 0;
+- radeon_debugfs_ib_list[i].data = &rdev->ib_pool.ibs[i];
++ pax_open_kernel();
++ *(void **)&radeon_debugfs_ib_list[i].name = radeon_debugfs_ib_names[i];
++ *(void **)&radeon_debugfs_ib_list[i].show = &radeon_debugfs_ib_info;
++ *(u32 *)&radeon_debugfs_ib_list[i].driver_features = 0;
++ *(void **)&radeon_debugfs_ib_list[i].data = &rdev->ib_pool.ibs[i];
++ pax_close_kernel();
+ }
+ return radeon_debugfs_add_files(rdev, radeon_debugfs_ib_list,
+ RADEON_IB_POOL_SIZE);
diff --git a/drivers/gpu/drm/radeon/radeon_state.c b/drivers/gpu/drm/radeon/radeon_state.c
index e8422ae..d22d4a8 100644
--- a/drivers/gpu/drm/radeon/radeon_state.c
@@ -33357,7 +34316,7 @@ index e8422ae..d22d4a8 100644
DRM_DEBUG("pid=%d\n", DRM_CURRENTPID);
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
-index 0b5468b..5001296 100644
+index 0b5468b..7ecf242 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -631,7 +631,7 @@ void radeon_ttm_set_active_vram_size(struct radeon_device *rdev, u64 size)
@@ -33380,6 +34339,41 @@ index 0b5468b..5001296 100644
}
vma->vm_ops = &radeon_ttm_vm_ops;
return 0;
+@@ -829,21 +831,24 @@ static int radeon_ttm_debugfs_init(struct radeon_device *rdev)
+ sprintf(radeon_mem_types_names[i], "radeon_vram_mm");
+ else
+ sprintf(radeon_mem_types_names[i], "radeon_gtt_mm");
+- radeon_mem_types_list[i].name = radeon_mem_types_names[i];
+- radeon_mem_types_list[i].show = &radeon_mm_dump_table;
+- radeon_mem_types_list[i].driver_features = 0;
++ pax_open_kernel();
++ *(const char **)&radeon_mem_types_list[i].name = radeon_mem_types_names[i];
++ *(void **)&radeon_mem_types_list[i].show = &radeon_mm_dump_table;
++ *(u32 *)&radeon_mem_types_list[i].driver_features = 0;
+ if (i == 0)
+- radeon_mem_types_list[i].data = rdev->mman.bdev.man[TTM_PL_VRAM].priv;
++ *(void **)&radeon_mem_types_list[i].data = rdev->mman.bdev.man[TTM_PL_VRAM].priv;
+ else
+- radeon_mem_types_list[i].data = rdev->mman.bdev.man[TTM_PL_TT].priv;
+-
++ *(void **)&radeon_mem_types_list[i].data = rdev->mman.bdev.man[TTM_PL_TT].priv;
++ pax_close_kernel();
+ }
+ /* Add ttm page pool to debugfs */
+ sprintf(radeon_mem_types_names[i], "ttm_page_pool");
+- radeon_mem_types_list[i].name = radeon_mem_types_names[i];
+- radeon_mem_types_list[i].show = &ttm_page_alloc_debugfs;
+- radeon_mem_types_list[i].driver_features = 0;
+- radeon_mem_types_list[i].data = NULL;
++ pax_open_kernel();
++ *(const char **)&radeon_mem_types_list[i].name = radeon_mem_types_names[i];
++ *(void **)&radeon_mem_types_list[i].show = &ttm_page_alloc_debugfs;
++ *(u32 *)&radeon_mem_types_list[i].driver_features = 0;
++ *(void **)&radeon_mem_types_list[i++].data = NULL;
++ pax_close_kernel();
+ return radeon_debugfs_add_files(rdev, radeon_mem_types_list, RADEON_DEBUGFS_MEM_TYPES+1);
+
+ #endif
diff --git a/drivers/gpu/drm/radeon/rs690.c b/drivers/gpu/drm/radeon/rs690.c
index a9049ed..501f284 100644
--- a/drivers/gpu/drm/radeon/rs690.c
@@ -33706,9 +34700,18 @@ index d2d0a2a..90b8f4d 100644
child_device_obj->device.bus = &hv_bus;
child_device_obj->device.parent = &hv_acpi_dev->dev;
diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c
-index 66f6729..2d6de0a 100644
+index 66f6729..4de8c4a 100644
--- a/drivers/hwmon/acpi_power_meter.c
+++ b/drivers/hwmon/acpi_power_meter.c
+@@ -124,7 +124,7 @@ struct rw_sensor_template {
+ struct device_attribute *devattr,
+ const char *buf, size_t count);
+ int index;
+-};
++} __do_const;
+
+ /* Averaging interval */
+ static int update_avg_interval(struct acpi_power_meter_resource *resource)
@@ -316,8 +316,6 @@ static ssize_t set_trip(struct device *dev, struct device_attribute *devattr,
return res;
@@ -33718,6 +34721,65 @@ index 66f6729..2d6de0a 100644
mutex_lock(&resource->lock);
resource->trip[attr->index - 7] = temp;
+@@ -622,7 +620,7 @@ static int register_ro_attrs(struct acpi_power_meter_resource *resource,
+ struct ro_sensor_template *ro)
+ {
+ struct device *dev = &resource->acpi_dev->dev;
+- struct sensor_device_attribute *sensors =
++ sensor_device_attribute_no_const *sensors =
+ &resource->sensors[resource->num_sensors];
+ int res = 0;
+
+@@ -650,7 +648,7 @@ static int register_rw_attrs(struct acpi_power_meter_resource *resource,
+ struct rw_sensor_template *rw)
+ {
+ struct device *dev = &resource->acpi_dev->dev;
+- struct sensor_device_attribute *sensors =
++ sensor_device_attribute_no_const *sensors =
+ &resource->sensors[resource->num_sensors];
+ int res = 0;
+
+diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
+index d99aa84..c977790 100644
+--- a/drivers/hwmon/applesmc.c
++++ b/drivers/hwmon/applesmc.c
+@@ -1056,7 +1056,7 @@ static int applesmc_create_nodes(struct applesmc_node_group *groups, int num)
+ {
+ struct applesmc_node_group *grp;
+ struct applesmc_dev_attr *node;
+- struct attribute *attr;
++ attribute_no_const *attr;
+ int ret, i;
+
+ for (grp = groups; grp->format; grp++) {
+diff --git a/drivers/hwmon/asus_atk0110.c b/drivers/hwmon/asus_atk0110.c
+index 83d2fbd6..93017f7 100644
+--- a/drivers/hwmon/asus_atk0110.c
++++ b/drivers/hwmon/asus_atk0110.c
+@@ -149,10 +149,10 @@ MODULE_DEVICE_TABLE(acpi, atk_ids);
+ struct atk_sensor_data {
+ struct list_head list;
+ struct atk_data *data;
+- struct device_attribute label_attr;
+- struct device_attribute input_attr;
+- struct device_attribute limit1_attr;
+- struct device_attribute limit2_attr;
++ device_attribute_no_const label_attr;
++ device_attribute_no_const input_attr;
++ device_attribute_no_const limit1_attr;
++ device_attribute_no_const limit2_attr;
+ char label_attr_name[ATTR_NAME_SIZE];
+ char input_attr_name[ATTR_NAME_SIZE];
+ char limit1_attr_name[ATTR_NAME_SIZE];
+@@ -271,7 +271,7 @@ static ssize_t atk_name_show(struct device *dev,
+ static struct device_attribute atk_name_attr =
+ __ATTR(name, 0444, atk_name_show, NULL);
+
+-static void atk_init_attribute(struct device_attribute *attr, char *name,
++static void atk_init_attribute(device_attribute_no_const *attr, char *name,
+ sysfs_show_func show)
+ {
+ sysfs_attr_init(&attr->attr);
diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c
index 3d630bb..77756d7 100644
--- a/drivers/hwmon/coretemp.c
@@ -33731,6 +34793,32 @@ index 3d630bb..77756d7 100644
.notifier_call = coretemp_cpu_callback,
};
+diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
+index 6a967d7..7f0f923 100644
+--- a/drivers/hwmon/ibmaem.c
++++ b/drivers/hwmon/ibmaem.c
+@@ -924,7 +924,7 @@ static int aem_register_sensors(struct aem_data *data,
+ struct aem_rw_sensor_template *rw)
+ {
+ struct device *dev = &data->pdev->dev;
+- struct sensor_device_attribute *sensors = data->sensors;
++ sensor_device_attribute_no_const *sensors = data->sensors;
+ int err;
+
+ /* Set up read-only sensors */
+diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c
+index d89b339..fdb124c 100644
+--- a/drivers/hwmon/pmbus/pmbus_core.c
++++ b/drivers/hwmon/pmbus/pmbus_core.c
+@@ -809,7 +809,7 @@ static ssize_t pmbus_show_label(struct device *dev,
+
+ #define PMBUS_ADD_ATTR(data, _name, _idx, _mode, _type, _show, _set) \
+ do { \
+- struct sensor_device_attribute *a \
++ sensor_device_attribute_no_const *a \
+ = &data->_type##s[data->num_##_type##s].attribute; \
+ BUG_ON(data->num_attributes >= data->max_attributes); \
+ sysfs_attr_init(&a->dev_attr.attr); \
diff --git a/drivers/hwmon/sht15.c b/drivers/hwmon/sht15.c
index 3e3153e..d445962 100644
--- a/drivers/hwmon/sht15.c
@@ -34666,6 +35754,32 @@ index 1f95bba..9530f87 100644
(u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr,
sdata, wqe->wr.wr.atomic.swap);
goto send_comp;
+diff --git a/drivers/infiniband/hw/mthca/mthca_cmd.c b/drivers/infiniband/hw/mthca/mthca_cmd.c
+index 9d3e5c1..d9afe4a 100644
+--- a/drivers/infiniband/hw/mthca/mthca_cmd.c
++++ b/drivers/infiniband/hw/mthca/mthca_cmd.c
+@@ -772,7 +772,7 @@ static void mthca_setup_cmd_doorbells(struct mthca_dev *dev, u64 base)
+ mthca_dbg(dev, "Mapped doorbell page for posting FW commands\n");
+ }
+
+-int mthca_QUERY_FW(struct mthca_dev *dev)
++int __intentional_overflow(-1) mthca_QUERY_FW(struct mthca_dev *dev)
+ {
+ struct mthca_mailbox *mailbox;
+ u32 *outbox;
+diff --git a/drivers/infiniband/hw/mthca/mthca_mr.c b/drivers/infiniband/hw/mthca/mthca_mr.c
+index ed9a989..e0c5871 100644
+--- a/drivers/infiniband/hw/mthca/mthca_mr.c
++++ b/drivers/infiniband/hw/mthca/mthca_mr.c
+@@ -426,7 +426,7 @@ static inline u32 adjust_key(struct mthca_dev *dev, u32 key)
+ return key;
+ }
+
+-int mthca_mr_alloc(struct mthca_dev *dev, u32 pd, int buffer_size_shift,
++int __intentional_overflow(-1) mthca_mr_alloc(struct mthca_dev *dev, u32 pd, int buffer_size_shift,
+ u64 iova, u64 total_size, u32 access, struct mthca_mr *mr)
+ {
+ struct mthca_mailbox *mailbox;
diff --git a/drivers/infiniband/hw/nes/nes.c b/drivers/infiniband/hw/nes/nes.c
index 5965b3d..16817fb 100644
--- a/drivers/infiniband/hw/nes/nes.c
@@ -35168,6 +36282,19 @@ index 2189cbf..05ad609 100644
snprintf(led->name, sizeof(led->name), "xpad%ld", led_no);
led->xpad = xpad;
+diff --git a/drivers/input/mouse/psmouse.h b/drivers/input/mouse/psmouse.h
+index 9b84b0c..027158f 100644
+--- a/drivers/input/mouse/psmouse.h
++++ b/drivers/input/mouse/psmouse.h
+@@ -110,7 +110,7 @@ struct psmouse_attribute {
+ ssize_t (*set)(struct psmouse *psmouse, void *data,
+ const char *buf, size_t count);
+ bool protect;
+-};
++} __do_const;
+ #define to_psmouse_attr(a) container_of((a), struct psmouse_attribute, dattr)
+
+ ssize_t psmouse_attr_show_helper(struct device *dev, struct device_attribute *attr,
diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
index 0110b5a..d3ad144 100644
--- a/drivers/input/mousedev.c
@@ -35417,6 +36544,19 @@ index 1f355bb..43f1fea 100644
return -EFAULT;
} else
memcpy(msg, buf, count);
+diff --git a/drivers/leds/leds-clevo-mail.c b/drivers/leds/leds-clevo-mail.c
+index a498135..6a39f48 100644
+--- a/drivers/leds/leds-clevo-mail.c
++++ b/drivers/leds/leds-clevo-mail.c
+@@ -39,7 +39,7 @@ static int __init clevo_mail_led_dmi_callback(const struct dmi_system_id *id)
+ * detected as working, but in reality it is not) as low as
+ * possible.
+ */
+-static struct dmi_system_id __initdata mail_led_whitelist[] = {
++static const struct dmi_system_id __initconst mail_led_whitelist[] = {
+ {
+ .callback = clevo_mail_led_dmi_callback,
+ .ident = "Clevo D410J",
diff --git a/drivers/leds/leds-mc13783.c b/drivers/leds/leds-mc13783.c
index b3393a9..33f6979 100644
--- a/drivers/leds/leds-mc13783.c
@@ -35430,6 +36570,19 @@ index b3393a9..33f6979 100644
if (led == NULL) {
dev_err(&pdev->dev, "failed to alloc memory\n");
return -ENOMEM;
+diff --git a/drivers/leds/leds-ss4200.c b/drivers/leds/leds-ss4200.c
+index 614ebeb..ce439fd 100644
+--- a/drivers/leds/leds-ss4200.c
++++ b/drivers/leds/leds-ss4200.c
+@@ -92,7 +92,7 @@ MODULE_PARM_DESC(nodetect, "Skip DMI-based hardware detection");
+ * detected as working, but in reality it is not) as low as
+ * possible.
+ */
+-static struct dmi_system_id __initdata nas_led_whitelist[] = {
++static const struct dmi_system_id __initconst nas_led_whitelist[] = {
+ {
+ .callback = ss4200_led_dmi_callback,
+ .ident = "Intel SS4200-E",
diff --git a/drivers/lguest/core.c b/drivers/lguest/core.c
index b5fdcb7..5b6c59f 100644
--- a/drivers/lguest/core.c
@@ -35461,6 +36614,19 @@ index b5fdcb7..5b6c59f 100644
end_switcher_text - start_switcher_text);
printk(KERN_INFO "lguest: mapped switcher at %p\n",
+diff --git a/drivers/lguest/page_tables.c b/drivers/lguest/page_tables.c
+index 3b62be16..e33134a 100644
+--- a/drivers/lguest/page_tables.c
++++ b/drivers/lguest/page_tables.c
+@@ -532,7 +532,7 @@ void pin_page(struct lg_cpu *cpu, unsigned long vaddr)
+ /*:*/
+
+ #ifdef CONFIG_X86_PAE
+-static void release_pmd(pmd_t *spmd)
++static void __intentional_overflow(-1) release_pmd(pmd_t *spmd)
+ {
+ /* If the entry's not present, there's nothing to release. */
+ if (pmd_flags(*spmd) & _PAGE_PRESENT) {
diff --git a/drivers/lguest/x86/core.c b/drivers/lguest/x86/core.c
index 65af42f..530c87a 100644
--- a/drivers/lguest/x86/core.c
@@ -36609,6 +37775,70 @@ index 6dad2ef..ef80da6 100644
if (!cnts)
return -ENOMEM;
+diff --git a/drivers/mfd/twl4030-irq.c b/drivers/mfd/twl4030-irq.c
+index 29f11e0..89f0c3d 100644
+--- a/drivers/mfd/twl4030-irq.c
++++ b/drivers/mfd/twl4030-irq.c
+@@ -33,6 +33,7 @@
+ #include <linux/slab.h>
+
+ #include <linux/i2c/twl.h>
++#include <asm/pgtable.h>
+
+ #include "twl-core.h"
+
+@@ -713,10 +714,12 @@ int twl4030_init_irq(int irq_num, unsigned irq_base, unsigned irq_end)
+ /* install an irq handler for each of the SIH modules;
+ * clone dummy irq_chip since PIH can't *do* anything
+ */
+- twl4030_irq_chip = dummy_irq_chip;
+- twl4030_irq_chip.name = "twl4030";
++ pax_open_kernel();
++ memcpy((void *)&twl4030_irq_chip, &dummy_irq_chip, sizeof twl4030_irq_chip);
++ *(const char **)&twl4030_irq_chip.name = "twl4030";
+
+- twl4030_sih_irq_chip.irq_ack = dummy_irq_chip.irq_ack;
++ *(void **)&twl4030_sih_irq_chip.irq_ack = dummy_irq_chip.irq_ack;
++ pax_close_kernel();
+
+ for (i = irq_base; i < irq_end; i++) {
+ irq_set_chip_and_handler(i, &twl4030_irq_chip,
+diff --git a/drivers/mfd/twl6030-irq.c b/drivers/mfd/twl6030-irq.c
+index 83f4988..80f7a01 100644
+--- a/drivers/mfd/twl6030-irq.c
++++ b/drivers/mfd/twl6030-irq.c
+@@ -376,10 +376,12 @@ int twl6030_init_irq(int irq_num, unsigned irq_base, unsigned irq_end)
+ /* install an irq handler for each of the modules;
+ * clone dummy irq_chip since PIH can't *do* anything
+ */
+- twl6030_irq_chip = dummy_irq_chip;
+- twl6030_irq_chip.name = "twl6030";
+- twl6030_irq_chip.irq_set_type = NULL;
+- twl6030_irq_chip.irq_set_wake = twl6030_irq_set_wake;
++ pax_open_kernel();
++ memcpy((void *)&twl6030_irq_chip, &dummy_irq_chip, sizeof twl6030_irq_chip);
++ *(const char **)&twl6030_irq_chip.name = "twl6030";
++ *(void **)&twl6030_irq_chip.irq_set_type = NULL;
++ *(void **)&twl6030_irq_chip.irq_set_wake = twl6030_irq_set_wake;
++ pax_close_kernel();
+
+ for (i = irq_base; i < irq_end; i++) {
+ irq_set_chip_and_handler(i, &twl6030_irq_chip,
+diff --git a/drivers/misc/c2port/core.c b/drivers/misc/c2port/core.c
+index 19fc7c1..09a4d26 100644
+--- a/drivers/misc/c2port/core.c
++++ b/drivers/misc/c2port/core.c
+@@ -924,7 +924,9 @@ struct c2port_device *c2port_device_register(char *name,
+ mutex_init(&c2dev->mutex);
+
+ /* Create binary file */
+- c2port_bin_attrs.size = ops->blocks_num * ops->block_size;
++ pax_open_kernel();
++ *(size_t *)&c2port_bin_attrs.size = ops->blocks_num * ops->block_size;
++ pax_close_kernel();
+ ret = device_create_bin_file(c2dev->dev, &c2port_bin_attrs);
+ if (unlikely(ret))
+ goto error_device_create_bin_file;
diff --git a/drivers/misc/kgdbts.c b/drivers/misc/kgdbts.c
index 3aa9a96..59cf685 100644
--- a/drivers/misc/kgdbts.c
@@ -37129,6 +38359,32 @@ index ac40925..483b753 100644
#include <linux/mtd/mtd.h>
#include <linux/mtd/nand.h>
#include <linux/mtd/nftl.h>
+diff --git a/drivers/mtd/sm_ftl.c b/drivers/mtd/sm_ftl.c
+index a9ff89ff..461d313 100644
+--- a/drivers/mtd/sm_ftl.c
++++ b/drivers/mtd/sm_ftl.c
+@@ -56,7 +56,7 @@ ssize_t sm_attr_show(struct device *dev, struct device_attribute *attr,
+ #define SM_CIS_VENDOR_OFFSET 0x59
+ struct attribute_group *sm_create_sysfs_attributes(struct sm_ftl *ftl)
+ {
+- struct attribute_group *attr_group;
++ attribute_group_no_const *attr_group;
+ struct attribute **attributes;
+ struct sm_sysfs_attribute *vendor_attribute;
+
+diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
+index 63e3c47..b32ea7e 100644
+--- a/drivers/net/bonding/bond_main.c
++++ b/drivers/net/bonding/bond_main.c
+@@ -4832,7 +4832,7 @@ static int bond_get_tx_queues(struct net *net, struct nlattr *tb[],
+ return 0;
+ }
+
+-static struct rtnl_link_ops bond_link_ops __read_mostly = {
++static struct rtnl_link_ops bond_link_ops = {
+ .kind = "bond",
+ .priv_size = sizeof(struct bonding),
+ .setup = bond_setup,
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index a03fde9..83254bc 100644
--- a/drivers/net/bonding/bond_sysfs.c
@@ -37718,11 +38974,46 @@ index d4d2bc1..14b8672 100644
};
static int stmmac_init_fs(struct net_device *dev)
+diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
+index d0893e4..14b0d44 100644
+--- a/drivers/net/loopback.c
++++ b/drivers/net/loopback.c
+@@ -216,6 +216,6 @@ out:
+ }
+
+ /* Registered in net/core/dev.c */
+-struct pernet_operations __net_initdata loopback_net_ops = {
++struct pernet_operations __net_initconst loopback_net_ops = {
+ .init = loopback_net_init,
+ };
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
-index 97f342e..63fee4d 100644
+index 544ac06..0064ab3 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
-@@ -850,7 +850,7 @@ static int macvlan_device_event(struct notifier_block *unused,
+@@ -789,13 +789,15 @@ static const struct nla_policy macvlan_policy[IFLA_MACVLAN_MAX + 1] = {
+ int macvlan_link_register(struct rtnl_link_ops *ops)
+ {
+ /* common fields */
+- ops->priv_size = sizeof(struct macvlan_dev);
+- ops->validate = macvlan_validate;
+- ops->maxtype = IFLA_MACVLAN_MAX;
+- ops->policy = macvlan_policy;
+- ops->changelink = macvlan_changelink;
+- ops->get_size = macvlan_get_size;
+- ops->fill_info = macvlan_fill_info;
++ pax_open_kernel();
++ *(size_t *)&ops->priv_size = sizeof(struct macvlan_dev);
++ *(void **)&ops->validate = macvlan_validate;
++ *(int *)&ops->maxtype = IFLA_MACVLAN_MAX;
++ *(const void **)&ops->policy = macvlan_policy;
++ *(void **)&ops->changelink = macvlan_changelink;
++ *(void **)&ops->get_size = macvlan_get_size;
++ *(void **)&ops->fill_info = macvlan_fill_info;
++ pax_close_kernel();
+
+ return rtnl_link_register(ops);
+ };
+@@ -851,7 +853,7 @@ static int macvlan_device_event(struct notifier_block *unused,
return NOTIFY_DONE;
}
@@ -37856,7 +39147,7 @@ index 46db5c5..37c1536 100644
err = platform_driver_register(&sk_isa_driver);
if (err)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
-index a12c9bf..46dcc39 100644
+index f4c5de6..68c9070 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -359,7 +359,7 @@ static void tun_free_netdev(struct net_device *dev)
@@ -37868,7 +39159,7 @@ index a12c9bf..46dcc39 100644
}
/* Net device open. */
-@@ -979,10 +979,18 @@ static int tun_recvmsg(struct kiocb *iocb, struct socket *sock,
+@@ -981,10 +981,18 @@ static int tun_recvmsg(struct kiocb *iocb, struct socket *sock,
return ret;
}
@@ -37887,7 +39178,7 @@ index a12c9bf..46dcc39 100644
};
static struct proto tun_proto = {
-@@ -1109,10 +1117,11 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
+@@ -1111,10 +1119,11 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
tun->vnet_hdr_sz = sizeof(struct virtio_net_hdr);
err = -ENOMEM;
@@ -37900,7 +39191,7 @@ index a12c9bf..46dcc39 100644
tun->socket.wq = &tun->wq;
init_waitqueue_head(&tun->wq.wait);
tun->socket.ops = &tun_socket_ops;
-@@ -1173,7 +1182,7 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
+@@ -1175,7 +1184,7 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
return 0;
err_free_sk:
@@ -37909,7 +39200,7 @@ index a12c9bf..46dcc39 100644
err_free_dev:
free_netdev(dev);
failed:
-@@ -1232,7 +1241,7 @@ static int set_offload(struct tun_struct *tun, unsigned long arg)
+@@ -1234,7 +1243,7 @@ static int set_offload(struct tun_struct *tun, unsigned long arg)
}
static long __tun_chr_ioctl(struct file *file, unsigned int cmd,
@@ -37918,7 +39209,7 @@ index a12c9bf..46dcc39 100644
{
struct tun_file *tfile = file->private_data;
struct tun_struct *tun;
-@@ -1243,6 +1252,9 @@ static long __tun_chr_ioctl(struct file *file, unsigned int cmd,
+@@ -1245,6 +1254,9 @@ static long __tun_chr_ioctl(struct file *file, unsigned int cmd,
int vnet_hdr_sz;
int ret;
@@ -38099,6 +39390,19 @@ index e662cbc..8d4a102 100644
return -EINVAL;
}
+diff --git a/drivers/net/wireless/at76c50x-usb.c b/drivers/net/wireless/at76c50x-usb.c
+index 4045e5a..506f1cf 100644
+--- a/drivers/net/wireless/at76c50x-usb.c
++++ b/drivers/net/wireless/at76c50x-usb.c
+@@ -353,7 +353,7 @@ static u8 at76_dfu_get_state(struct usb_device *udev, u8 *state)
+ }
+
+ /* Convert timeout from the DFU status to jiffies */
+-static inline unsigned long at76_get_timeout(struct dfu_status *s)
++static inline unsigned long __intentional_overflow(-1) at76_get_timeout(struct dfu_status *s)
+ {
+ return msecs_to_jiffies((s->poll_timeout[2] << 16)
+ | (s->poll_timeout[1] << 8)
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index b346d04..04436fa 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
@@ -38696,6 +40000,19 @@ index f8c752e..28bf4fc 100644
start_switch_worker();
}
+diff --git a/drivers/oprofile/oprofile_files.c b/drivers/oprofile/oprofile_files.c
+index 84a208d..d61b0a1 100644
+--- a/drivers/oprofile/oprofile_files.c
++++ b/drivers/oprofile/oprofile_files.c
+@@ -27,7 +27,7 @@ unsigned long oprofile_time_slice;
+
+ #ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX
+
+-static ssize_t timeout_read(struct file *file, char __user *buf,
++static ssize_t __intentional_overflow(-1) timeout_read(struct file *file, char __user *buf,
+ size_t count, loff_t *offset)
+ {
+ return oprofilefs_ulong_to_user(jiffies_to_msecs(oprofile_time_slice),
diff --git a/drivers/oprofile/oprofile_stats.c b/drivers/oprofile/oprofile_stats.c
index 917d28e..d62d981 100644
--- a/drivers/oprofile/oprofile_stats.c
@@ -38786,6 +40103,21 @@ index 3f56bc0..707d642 100644
}
#endif /* IEEE1284.3 support. */
+diff --git a/drivers/pci/hotplug/acpiphp_ibm.c b/drivers/pci/hotplug/acpiphp_ibm.c
+index e525263..ebde92e 100644
+--- a/drivers/pci/hotplug/acpiphp_ibm.c
++++ b/drivers/pci/hotplug/acpiphp_ibm.c
+@@ -464,7 +464,9 @@ static int __init ibm_acpiphp_init(void)
+ goto init_cleanup;
+ }
+
+- ibm_apci_table_attr.size = ibm_get_table_from_acpi(NULL);
++ pax_open_kernel();
++ *(size_t *)&ibm_apci_table_attr.size = ibm_get_table_from_acpi(NULL);
++ pax_close_kernel();
+ retval = sysfs_create_bin_file(sysdir, &ibm_apci_table_attr);
+
+ return retval;
diff --git a/drivers/pci/hotplug/cpcihp_generic.c b/drivers/pci/hotplug/cpcihp_generic.c
index fb3f846..792d643 100644
--- a/drivers/pci/hotplug/cpcihp_generic.c
@@ -38880,6 +40212,80 @@ index 76ba8a1..20ca857 100644
dbg("int15 entry = %p\n", compaq_int15_entry_point);
/* initialize our int15 lock */
+diff --git a/drivers/pci/hotplug/pci_hotplug_core.c b/drivers/pci/hotplug/pci_hotplug_core.c
+index 6d2eea9..4bf3318 100644
+--- a/drivers/pci/hotplug/pci_hotplug_core.c
++++ b/drivers/pci/hotplug/pci_hotplug_core.c
+@@ -448,8 +448,10 @@ int __pci_hp_register(struct hotplug_slot *slot, struct pci_bus *bus,
+ return -EINVAL;
+ }
+
+- slot->ops->owner = owner;
+- slot->ops->mod_name = mod_name;
++ pax_open_kernel();
++ *(struct module **)&slot->ops->owner = owner;
++ *(const char **)&slot->ops->mod_name = mod_name;
++ pax_close_kernel();
+
+ mutex_lock(&pci_hp_mutex);
+ /*
+diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c
+index 9350af9..68623c4 100644
+--- a/drivers/pci/hotplug/pciehp_core.c
++++ b/drivers/pci/hotplug/pciehp_core.c
+@@ -91,7 +91,7 @@ static int init_slot(struct controller *ctrl)
+ struct slot *slot = ctrl->slot;
+ struct hotplug_slot *hotplug = NULL;
+ struct hotplug_slot_info *info = NULL;
+- struct hotplug_slot_ops *ops = NULL;
++ hotplug_slot_ops_no_const *ops = NULL;
+ char name[SLOT_NAME_SIZE];
+ int retval = -ENOMEM;
+
+diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
+index 106be0d..45a52b5 100644
+--- a/drivers/pci/pci-sysfs.c
++++ b/drivers/pci/pci-sysfs.c
+@@ -950,7 +950,7 @@ static int pci_create_attr(struct pci_dev *pdev, int num, int write_combine)
+ {
+ /* allocate attribute structure, piggyback attribute name */
+ int name_len = write_combine ? 13 : 10;
+- struct bin_attribute *res_attr;
++ bin_attribute_no_const *res_attr;
+ int retval;
+
+ res_attr = kzalloc(sizeof(*res_attr) + name_len, GFP_ATOMIC);
+@@ -1135,7 +1135,7 @@ static struct device_attribute reset_attr = __ATTR(reset, 0200, NULL, reset_stor
+ static int pci_create_capabilities_sysfs(struct pci_dev *dev)
+ {
+ int retval;
+- struct bin_attribute *attr;
++ bin_attribute_no_const *attr;
+
+ /* If the device has VPD, try to expose it in sysfs. */
+ if (dev->vpd) {
+@@ -1182,7 +1182,7 @@ int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev)
+ {
+ int retval;
+ int rom_size = 0;
+- struct bin_attribute *attr;
++ bin_attribute_no_const *attr;
+
+ if (!sysfs_initialized)
+ return -EACCES;
+diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
+index b74084e..a9c2922 100644
+--- a/drivers/pci/pci.h
++++ b/drivers/pci/pci.h
+@@ -101,7 +101,7 @@ struct pci_vpd_ops {
+ struct pci_vpd {
+ unsigned int len;
+ const struct pci_vpd_ops *ops;
+- struct bin_attribute *attr; /* descriptor for sysfs VPD entry */
++ bin_attribute_no_const *attr; /* descriptor for sysfs VPD entry */
+ };
+
+ extern int pci_vpd_pci22_init(struct pci_dev *dev);
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index c73ed00..cc3edec 100644
--- a/drivers/pci/pcie/aspm.c
@@ -38931,6 +40337,31 @@ index 27911b5..5b6db88 100644
proc_create("devices", 0, proc_bus_pci_dir,
&proc_bus_pci_dev_operations);
proc_initialized = 1;
+diff --git a/drivers/platform/x86/msi-laptop.c b/drivers/platform/x86/msi-laptop.c
+index f204643..9ccea74 100644
+--- a/drivers/platform/x86/msi-laptop.c
++++ b/drivers/platform/x86/msi-laptop.c
+@@ -815,12 +815,14 @@ static int __init load_scm_model_init(struct platform_device *sdev)
+ int result;
+
+ /* allow userland write sysfs file */
+- dev_attr_bluetooth.store = store_bluetooth;
+- dev_attr_wlan.store = store_wlan;
+- dev_attr_threeg.store = store_threeg;
+- dev_attr_bluetooth.attr.mode |= S_IWUSR;
+- dev_attr_wlan.attr.mode |= S_IWUSR;
+- dev_attr_threeg.attr.mode |= S_IWUSR;
++ pax_open_kernel();
++ *(void **)&dev_attr_bluetooth.store = store_bluetooth;
++ *(void **)&dev_attr_wlan.store = store_wlan;
++ *(void **)&dev_attr_threeg.store = store_threeg;
++ *(umode_t *)&dev_attr_bluetooth.attr.mode |= S_IWUSR;
++ *(umode_t *)&dev_attr_wlan.attr.mode |= S_IWUSR;
++ *(umode_t *)&dev_attr_threeg.attr.mode |= S_IWUSR;
++ pax_close_kernel();
+
+ /* disable hardware control by fn key */
+ result = ec_read(MSI_STANDARD_EC_SCM_LOAD_ADDRESS, &data);
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 7b82868..b9344c9 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
@@ -39145,6 +40576,74 @@ index b0ecacb..7c9da2e 100644
return 0;
/* check if the resource is reserved */
+diff --git a/drivers/power/power_supply.h b/drivers/power/power_supply.h
+index 018de2b..bc8e317 100644
+--- a/drivers/power/power_supply.h
++++ b/drivers/power/power_supply.h
+@@ -12,12 +12,12 @@
+
+ #ifdef CONFIG_SYSFS
+
+-extern void power_supply_init_attrs(struct device_type *dev_type);
++extern void power_supply_init_attrs(void);
+ extern int power_supply_uevent(struct device *dev, struct kobj_uevent_env *env);
+
+ #else
+
+-static inline void power_supply_init_attrs(struct device_type *dev_type) {}
++static inline void power_supply_init_attrs(void) {}
+ #define power_supply_uevent NULL
+
+ #endif /* CONFIG_SYSFS */
+diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c
+index 329b46b..1b17633 100644
+--- a/drivers/power/power_supply_core.c
++++ b/drivers/power/power_supply_core.c
+@@ -23,7 +23,10 @@
+ struct class *power_supply_class;
+ EXPORT_SYMBOL_GPL(power_supply_class);
+
+-static struct device_type power_supply_dev_type;
++extern const struct attribute_group *power_supply_attr_groups[];
++static struct device_type power_supply_dev_type = {
++ .groups = power_supply_attr_groups,
++};
+
+ static int __power_supply_changed_work(struct device *dev, void *data)
+ {
+@@ -215,7 +218,7 @@ static int __init power_supply_class_init(void)
+ return PTR_ERR(power_supply_class);
+
+ power_supply_class->dev_uevent = power_supply_uevent;
+- power_supply_init_attrs(&power_supply_dev_type);
++ power_supply_init_attrs();
+
+ return 0;
+ }
+diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c
+index e15d4c9..83cd617 100644
+--- a/drivers/power/power_supply_sysfs.c
++++ b/drivers/power/power_supply_sysfs.c
+@@ -208,17 +208,15 @@ static struct attribute_group power_supply_attr_group = {
+ .is_visible = power_supply_attr_is_visible,
+ };
+
+-static const struct attribute_group *power_supply_attr_groups[] = {
++const struct attribute_group *power_supply_attr_groups[] = {
+ &power_supply_attr_group,
+ NULL,
+ };
+
+-void power_supply_init_attrs(struct device_type *dev_type)
++void power_supply_init_attrs(void)
+ {
+ int i;
+
+- dev_type->groups = power_supply_attr_groups;
+-
+ for (i = 0; i < ARRAY_SIZE(power_supply_attrs); i++)
+ __power_supply_attrs[i] = &power_supply_attrs[i].attr;
+ }
diff --git a/drivers/regulator/max8660.c b/drivers/regulator/max8660.c
index 33f5d9a..d957d3f 100644
--- a/drivers/regulator/max8660.c
@@ -39181,6 +40680,21 @@ index 023d17d..74ef35b 100644
for (i = 0; i < pdata->num_regulators; i++) {
init_data = &pdata->regulators[i];
priv->regulators[i] = regulator_register(
+diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
+index 05beb6c..6676a62 100644
+--- a/drivers/rtc/rtc-cmos.c
++++ b/drivers/rtc/rtc-cmos.c
+@@ -724,7 +724,9 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
+ hpet_rtc_timer_init();
+
+ /* export at least the first block of NVRAM */
+- nvram.size = address_space - NVRAM_OFFSET;
++ pax_open_kernel();
++ *(size_t *)&nvram.size = address_space - NVRAM_OFFSET;
++ pax_close_kernel();
+ retval = sysfs_create_bin_file(&dev->kobj, &nvram);
+ if (retval < 0) {
+ dev_dbg(dev, "can't create nvram file? %d\n", retval);
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c
index cace6d3..f623fda 100644
--- a/drivers/rtc/rtc-dev.c
@@ -39202,6 +40716,21 @@ index cace6d3..f623fda 100644
return rtc_set_time(rtc, &tm);
case RTC_PIE_ON:
+diff --git a/drivers/rtc/rtc-m48t59.c b/drivers/rtc/rtc-m48t59.c
+index 2836538..30edf9d 100644
+--- a/drivers/rtc/rtc-m48t59.c
++++ b/drivers/rtc/rtc-m48t59.c
+@@ -482,7 +482,9 @@ static int __devinit m48t59_rtc_probe(struct platform_device *pdev)
+ goto out;
+ }
+
+- m48t59_nvram_attr.size = pdata->offset;
++ pax_open_kernel();
++ *(size_t *)&m48t59_nvram_attr.size = pdata->offset;
++ pax_close_kernel();
+
+ ret = sysfs_create_bin_file(&pdev->dev.kobj, &m48t59_nvram_attr);
+ if (ret) {
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index 705e13e..91c873c 100644
--- a/drivers/scsi/aacraid/linit.c
@@ -39228,19 +40757,6 @@ index d5ff142..49c0ebb 100644
{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 --git a/drivers/scsi/bfa/bfa.h b/drivers/scsi/bfa/bfa.h
-index a796de9..1ef20e1 100644
---- a/drivers/scsi/bfa/bfa.h
-+++ b/drivers/scsi/bfa/bfa.h
-@@ -196,7 +196,7 @@ struct bfa_hwif_s {
- u32 *end);
- int cpe_vec_q0;
- int rme_vec_q0;
--};
-+} __no_const;
- typedef void (*bfa_cb_iocfc_t) (void *cbarg, enum bfa_status status);
-
- struct bfa_faa_cbfn_s {
diff --git a/drivers/scsi/bfa/bfa_fcpim.h b/drivers/scsi/bfa/bfa_fcpim.h
index 1080bcb..4a8ddd9 100644
--- a/drivers/scsi/bfa/bfa_fcpim.h
@@ -40224,6 +41740,19 @@ index 72d0f3f..ba3ff3c 100644
if (!channels)
return -ENOMEM;
+diff --git a/drivers/staging/iio/industrialio-core.c b/drivers/staging/iio/industrialio-core.c
+index aec9311..ddc3103 100644
+--- a/drivers/staging/iio/industrialio-core.c
++++ b/drivers/staging/iio/industrialio-core.c
+@@ -398,7 +398,7 @@ static ssize_t iio_write_channel_info(struct device *dev,
+ }
+
+ static
+-int __iio_device_attr_init(struct device_attribute *dev_attr,
++int __iio_device_attr_init(device_attribute_no_const *dev_attr,
+ const char *postfix,
+ struct iio_chan_spec const *chan,
+ ssize_t (*readfunc)(struct device *dev,
diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c
index 8b307b4..a97ac91 100644
--- a/drivers/staging/octeon/ethernet-rx.c
@@ -40903,10 +42432,10 @@ index 8481aae..e1a589c 100644
}
EXPORT_SYMBOL_GPL(n_tty_inherit_ops);
diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c
-index e18604b..a7d5a11 100644
+index d19b879..aa288ec 100644
--- a/drivers/tty/pty.c
+++ b/drivers/tty/pty.c
-@@ -773,8 +773,10 @@ static void __init unix98_pty_init(void)
+@@ -772,8 +772,10 @@ static void __init unix98_pty_init(void)
register_sysctl_table(pty_root_table);
/* Now create the /dev/ptmx special device */
@@ -41436,6 +42965,19 @@ index 032e5a6..bc422e4 100644
if (atomic_read(&urb->reject))
wake_up(&usb_kill_urb_queue);
usb_put_urb(urb);
+diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
+index ab11ca3c..e9bb990 100644
+--- a/drivers/usb/core/message.c
++++ b/drivers/usb/core/message.c
+@@ -129,7 +129,7 @@ static int usb_internal_control_msg(struct usb_device *usb_dev,
+ * method can wait for it to complete. Since you don't have a handle on the
+ * URB used, you can't cancel the request.
+ */
+-int usb_control_msg(struct usb_device *dev, unsigned int pipe, __u8 request,
++int __intentional_overflow(-1) usb_control_msg(struct usb_device *dev, unsigned int pipe, __u8 request,
+ __u8 requesttype, __u16 value, __u16 index, void *data,
+ __u16 size, int timeout)
+ {
diff --git a/drivers/usb/core/sysfs.c b/drivers/usb/core/sysfs.c
index 662c0cf..6880fbb 100644
--- a/drivers/usb/core/sysfs.c
@@ -41503,6 +43045,63 @@ index 347bb05..63e1b73 100644
return 0;
}
+diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c
+index db2d607..3a25028 100644
+--- a/drivers/usb/gadget/file_storage.c
++++ b/drivers/usb/gadget/file_storage.c
+@@ -3329,18 +3329,20 @@ static int __init fsg_bind(struct usb_gadget *gadget)
+ if ((rc = check_parameters(fsg)) != 0)
+ goto out;
+
++ pax_open_kernel();
+ if (mod_data.removable) { // Enable the store_xxx attributes
+- dev_attr_file.attr.mode = 0644;
+- dev_attr_file.store = fsg_store_file;
++ *(mode_t *)&dev_attr_file.attr.mode = 0644;
++ *(void **)&dev_attr_file.store = fsg_store_file;
+ if (!mod_data.cdrom) {
+- dev_attr_ro.attr.mode = 0644;
+- dev_attr_ro.store = fsg_store_ro;
++ *(mode_t *)&dev_attr_ro.attr.mode = 0644;
++ *(void **)&dev_attr_ro.store = fsg_store_ro;
+ }
+ }
+
+ /* Only for removable media? */
+- dev_attr_nofua.attr.mode = 0644;
+- dev_attr_nofua.store = fsg_store_nofua;
++ *(mode_t *)&dev_attr_nofua.attr.mode = 0644;
++ *(void **)&dev_attr_nofua.store = fsg_store_nofua;
++ pax_close_kernel();
+
+ /* Find out how many LUNs there should be */
+ i = mod_data.nluns;
+diff --git a/drivers/usb/storage/realtek_cr.c b/drivers/usb/storage/realtek_cr.c
+index e39b188..1fffda8 100644
+--- a/drivers/usb/storage/realtek_cr.c
++++ b/drivers/usb/storage/realtek_cr.c
+@@ -430,7 +430,7 @@ static int rts51x_read_status(struct us_data *us,
+
+ buf = kmalloc(len, GFP_NOIO);
+ if (buf == NULL)
+- return USB_STOR_TRANSPORT_ERROR;
++ return -ENOMEM;
+
+ US_DEBUGP("%s, lun = %d\n", __func__, lun);
+
+diff --git a/drivers/usb/storage/usb.h b/drivers/usb/storage/usb.h
+index 75f70f0..d467e1a 100644
+--- a/drivers/usb/storage/usb.h
++++ b/drivers/usb/storage/usb.h
+@@ -63,7 +63,7 @@ struct us_unusual_dev {
+ __u8 useProtocol;
+ __u8 useTransport;
+ int (*initFunction)(struct us_data *);
+-};
++} __do_const;
+
+
+ /* Dynamic bitflag definitions (us->dflags): used in set_bit() etc. */
diff --git a/drivers/usb/wusbcore/wa-hc.h b/drivers/usb/wusbcore/wa-hc.h
index d6bea3e..60b250e 100644
--- a/drivers/usb/wusbcore/wa-hc.h
@@ -41564,6 +43163,63 @@ index b0b2ac3..89a4399 100644
"AGP",
"PCI",
"PRO AGP",
+diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c
+index 44bdce4..a79c55f 100644
+--- a/drivers/video/aty/atyfb_base.c
++++ b/drivers/video/aty/atyfb_base.c
+@@ -1325,10 +1325,14 @@ static int atyfb_set_par(struct fb_info *info)
+ par->accel_flags = var->accel_flags; /* hack */
+
+ if (var->accel_flags) {
+- info->fbops->fb_sync = atyfb_sync;
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_sync = atyfb_sync;
++ pax_close_kernel();
+ info->flags &= ~FBINFO_HWACCEL_DISABLED;
+ } else {
+- info->fbops->fb_sync = NULL;
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_sync = NULL;
++ pax_close_kernel();
+ info->flags |= FBINFO_HWACCEL_DISABLED;
+ }
+
+diff --git a/drivers/video/aty/mach64_cursor.c b/drivers/video/aty/mach64_cursor.c
+index 46f72ed..107788d 100644
+--- a/drivers/video/aty/mach64_cursor.c
++++ b/drivers/video/aty/mach64_cursor.c
+@@ -7,6 +7,7 @@
+ #include <linux/string.h>
+
+ #include <asm/io.h>
++#include <asm/pgtable.h>
+
+ #ifdef __sparc__
+ #include <asm/fbio.h>
+@@ -208,7 +209,9 @@ int __devinit aty_init_cursor(struct fb_info *info)
+ info->sprite.buf_align = 16; /* and 64 lines tall. */
+ info->sprite.flags = FB_PIXMAP_IO;
+
+- info->fbops->fb_cursor = atyfb_cursor;
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_cursor = atyfb_cursor;
++ pax_close_kernel();
+
+ return 0;
+ }
+diff --git a/drivers/video/backlight/kb3886_bl.c b/drivers/video/backlight/kb3886_bl.c
+index 72dd555..5f9bfbe 100644
+--- a/drivers/video/backlight/kb3886_bl.c
++++ b/drivers/video/backlight/kb3886_bl.c
+@@ -78,7 +78,7 @@ static struct kb3886bl_machinfo *bl_machinfo;
+ static unsigned long kb3886bl_flags;
+ #define KB3886BL_SUSPENDED 0x01
+
+-static struct dmi_system_id __initdata kb3886bl_device_table[] = {
++static const struct dmi_system_id __initconst kb3886bl_device_table[] = {
+ {
+ .ident = "Sahara Touch-iT",
+ .matches = {
diff --git a/drivers/video/backlight/s6e63m0.c b/drivers/video/backlight/s6e63m0.c
index e132157..516db70 100644
--- a/drivers/video/backlight/s6e63m0.c
@@ -41590,6 +43246,30 @@ index 9b8bcab..cc61f88 100644
if (!strncmp(options, "scrollback:", 11)) {
options += 11;
+diff --git a/drivers/video/fb_defio.c b/drivers/video/fb_defio.c
+index c27e153..5beb687 100644
+--- a/drivers/video/fb_defio.c
++++ b/drivers/video/fb_defio.c
+@@ -200,7 +200,9 @@ void fb_deferred_io_init(struct fb_info *info)
+
+ BUG_ON(!fbdefio);
+ mutex_init(&fbdefio->lock);
+- info->fbops->fb_mmap = fb_deferred_io_mmap;
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_mmap = fb_deferred_io_mmap;
++ pax_close_kernel();
+ INIT_DELAYED_WORK(&info->deferred_work, fb_deferred_io_work);
+ INIT_LIST_HEAD(&fbdefio->pagelist);
+ if (fbdefio->delay == 0) /* set a default of 1 s */
+@@ -231,7 +233,7 @@ void fb_deferred_io_cleanup(struct fb_info *info)
+ page->mapping = NULL;
+ }
+
+- info->fbops->fb_mmap = NULL;
++ *(void **)&info->fbops->fb_mmap = NULL;
+ mutex_destroy(&fbdefio->lock);
+ }
+ EXPORT_SYMBOL_GPL(fb_deferred_io_cleanup);
diff --git a/drivers/video/fbcmap.c b/drivers/video/fbcmap.c
index 5c3960d..15cf8fc 100644
--- a/drivers/video/fbcmap.c
@@ -44437,8 +46117,119 @@ index 3c14e43..eafa544 100644
+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 --git a/drivers/video/mb862xx/mb862xxfb_accel.c b/drivers/video/mb862xx/mb862xxfb_accel.c
+index fe92eed..106e085 100644
+--- a/drivers/video/mb862xx/mb862xxfb_accel.c
++++ b/drivers/video/mb862xx/mb862xxfb_accel.c
+@@ -312,14 +312,18 @@ void mb862xxfb_init_accel(struct fb_info *info, int xres)
+ struct mb862xxfb_par *par = info->par;
+
+ if (info->var.bits_per_pixel == 32) {
+- info->fbops->fb_fillrect = cfb_fillrect;
+- info->fbops->fb_copyarea = cfb_copyarea;
+- info->fbops->fb_imageblit = cfb_imageblit;
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_fillrect = cfb_fillrect;
++ *(void **)&info->fbops->fb_copyarea = cfb_copyarea;
++ *(void **)&info->fbops->fb_imageblit = cfb_imageblit;
++ pax_close_kernel();
+ } else {
+ outreg(disp, GC_L0EM, 3);
+- info->fbops->fb_fillrect = mb86290fb_fillrect;
+- info->fbops->fb_copyarea = mb86290fb_copyarea;
+- info->fbops->fb_imageblit = mb86290fb_imageblit;
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_fillrect = mb86290fb_fillrect;
++ *(void **)&info->fbops->fb_copyarea = mb86290fb_copyarea;
++ *(void **)&info->fbops->fb_imageblit = mb86290fb_imageblit;
++ pax_close_kernel();
+ }
+ outreg(draw, GDC_REG_DRAW_BASE, 0);
+ outreg(draw, GDC_REG_MODE_MISC, 0x8000);
+diff --git a/drivers/video/nvidia/nvidia.c b/drivers/video/nvidia/nvidia.c
+index 081dc47..6e20d0b 100644
+--- a/drivers/video/nvidia/nvidia.c
++++ b/drivers/video/nvidia/nvidia.c
+@@ -669,19 +669,23 @@ static int nvidiafb_set_par(struct fb_info *info)
+ info->fix.line_length = (info->var.xres_virtual *
+ info->var.bits_per_pixel) >> 3;
+ if (info->var.accel_flags) {
+- info->fbops->fb_imageblit = nvidiafb_imageblit;
+- info->fbops->fb_fillrect = nvidiafb_fillrect;
+- info->fbops->fb_copyarea = nvidiafb_copyarea;
+- info->fbops->fb_sync = nvidiafb_sync;
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_imageblit = nvidiafb_imageblit;
++ *(void **)&info->fbops->fb_fillrect = nvidiafb_fillrect;
++ *(void **)&info->fbops->fb_copyarea = nvidiafb_copyarea;
++ *(void **)&info->fbops->fb_sync = nvidiafb_sync;
++ pax_close_kernel();
+ info->pixmap.scan_align = 4;
+ info->flags &= ~FBINFO_HWACCEL_DISABLED;
+ info->flags |= FBINFO_READS_FAST;
+ NVResetGraphics(info);
+ } else {
+- info->fbops->fb_imageblit = cfb_imageblit;
+- info->fbops->fb_fillrect = cfb_fillrect;
+- info->fbops->fb_copyarea = cfb_copyarea;
+- info->fbops->fb_sync = NULL;
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_imageblit = cfb_imageblit;
++ *(void **)&info->fbops->fb_fillrect = cfb_fillrect;
++ *(void **)&info->fbops->fb_copyarea = cfb_copyarea;
++ *(void **)&info->fbops->fb_sync = NULL;
++ pax_close_kernel();
+ info->pixmap.scan_align = 1;
+ info->flags |= FBINFO_HWACCEL_DISABLED;
+ info->flags &= ~FBINFO_READS_FAST;
+@@ -1173,8 +1177,11 @@ static int __devinit nvidia_set_fbinfo(struct fb_info *info)
+ info->pixmap.size = 8 * 1024;
+ info->pixmap.flags = FB_PIXMAP_SYSTEM;
+
+- if (!hwcur)
+- info->fbops->fb_cursor = NULL;
++ if (!hwcur) {
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_cursor = NULL;
++ pax_close_kernel();
++ }
+
+ info->var.accel_flags = (!noaccel);
+
+diff --git a/drivers/video/s1d13xxxfb.c b/drivers/video/s1d13xxxfb.c
+index 28b1c6c..b9939d9 100644
+--- a/drivers/video/s1d13xxxfb.c
++++ b/drivers/video/s1d13xxxfb.c
+@@ -883,8 +883,10 @@ s1d13xxxfb_probe(struct platform_device *pdev)
+
+ switch(prod_id) {
+ case S1D13506_PROD_ID: /* activate acceleration */
+- s1d13xxxfb_fbops.fb_fillrect = s1d13xxxfb_bitblt_solidfill;
+- s1d13xxxfb_fbops.fb_copyarea = s1d13xxxfb_bitblt_copyarea;
++ pax_open_kernel();
++ *(void **)&s1d13xxxfb_fbops.fb_fillrect = s1d13xxxfb_bitblt_solidfill;
++ *(void **)&s1d13xxxfb_fbops.fb_copyarea = s1d13xxxfb_bitblt_copyarea;
++ pax_close_kernel();
+ info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN |
+ FBINFO_HWACCEL_FILLRECT | FBINFO_HWACCEL_COPYAREA;
+ break;
+diff --git a/drivers/video/smscufx.c b/drivers/video/smscufx.c
+index dd9533a..aff3199 100644
+--- a/drivers/video/smscufx.c
++++ b/drivers/video/smscufx.c
+@@ -1172,7 +1172,9 @@ static int ufx_ops_release(struct fb_info *info, int user)
+ fb_deferred_io_cleanup(info);
+ kfree(info->fbdefio);
+ info->fbdefio = NULL;
+- info->fbops->fb_mmap = ufx_ops_mmap;
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_mmap = ufx_ops_mmap;
++ pax_close_kernel();
+ }
+
+ pr_debug("released /dev/fb%d user=%d count=%d",
diff --git a/drivers/video/udlfb.c b/drivers/video/udlfb.c
-index cb5988f..a44fee7 100644
+index cb5988f..439ecb0 100644
--- a/drivers/video/udlfb.c
+++ b/drivers/video/udlfb.c
@@ -619,11 +619,11 @@ int dlfb_handle_damage(struct dlfb_data *dev, int x, int y,
@@ -44473,7 +46264,18 @@ index cb5988f..a44fee7 100644
>> 10)), /* Kcycles */
&dev->cpu_kcycles_used);
}
-@@ -1368,7 +1368,7 @@ static ssize_t metrics_bytes_rendered_show(struct device *fbdev,
+@@ -986,7 +986,9 @@ static int dlfb_ops_release(struct fb_info *info, int user)
+ fb_deferred_io_cleanup(info);
+ kfree(info->fbdefio);
+ info->fbdefio = NULL;
+- info->fbops->fb_mmap = dlfb_ops_mmap;
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_mmap = dlfb_ops_mmap;
++ pax_close_kernel();
+ }
+
+ pr_warn("released /dev/fb%d user=%d count=%d\n",
+@@ -1368,7 +1370,7 @@ static ssize_t metrics_bytes_rendered_show(struct device *fbdev,
struct fb_info *fb_info = dev_get_drvdata(fbdev);
struct dlfb_data *dev = fb_info->par;
return snprintf(buf, PAGE_SIZE, "%u\n",
@@ -44482,7 +46284,7 @@ index cb5988f..a44fee7 100644
}
static ssize_t metrics_bytes_identical_show(struct device *fbdev,
-@@ -1376,7 +1376,7 @@ static ssize_t metrics_bytes_identical_show(struct device *fbdev,
+@@ -1376,7 +1378,7 @@ static ssize_t metrics_bytes_identical_show(struct device *fbdev,
struct fb_info *fb_info = dev_get_drvdata(fbdev);
struct dlfb_data *dev = fb_info->par;
return snprintf(buf, PAGE_SIZE, "%u\n",
@@ -44491,7 +46293,7 @@ index cb5988f..a44fee7 100644
}
static ssize_t metrics_bytes_sent_show(struct device *fbdev,
-@@ -1384,7 +1384,7 @@ static ssize_t metrics_bytes_sent_show(struct device *fbdev,
+@@ -1384,7 +1386,7 @@ static ssize_t metrics_bytes_sent_show(struct device *fbdev,
struct fb_info *fb_info = dev_get_drvdata(fbdev);
struct dlfb_data *dev = fb_info->par;
return snprintf(buf, PAGE_SIZE, "%u\n",
@@ -44500,7 +46302,7 @@ index cb5988f..a44fee7 100644
}
static ssize_t metrics_cpu_kcycles_used_show(struct device *fbdev,
-@@ -1392,7 +1392,7 @@ static ssize_t metrics_cpu_kcycles_used_show(struct device *fbdev,
+@@ -1392,7 +1394,7 @@ static ssize_t metrics_cpu_kcycles_used_show(struct device *fbdev,
struct fb_info *fb_info = dev_get_drvdata(fbdev);
struct dlfb_data *dev = fb_info->par;
return snprintf(buf, PAGE_SIZE, "%u\n",
@@ -44509,7 +46311,7 @@ index cb5988f..a44fee7 100644
}
static ssize_t edid_show(
-@@ -1449,10 +1449,10 @@ static ssize_t metrics_reset_store(struct device *fbdev,
+@@ -1449,10 +1451,10 @@ static ssize_t metrics_reset_store(struct device *fbdev,
struct fb_info *fb_info = dev_get_drvdata(fbdev);
struct dlfb_data *dev = fb_info->par;
@@ -44525,7 +46327,7 @@ index cb5988f..a44fee7 100644
return count;
}
diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
-index 8813588..7265ef8 100644
+index 8813588..65454ec 100644
--- a/drivers/video/uvesafb.c
+++ b/drivers/video/uvesafb.c
@@ -19,6 +19,7 @@
@@ -44604,7 +46406,35 @@ index 8813588..7265ef8 100644
}
#else
/* The protected mode interface is not available on non-x86. */
-@@ -1828,6 +1852,11 @@ out:
+@@ -1449,8 +1473,11 @@ static void __devinit uvesafb_init_info(struct fb_info *info,
+ info->fix.ywrapstep = (par->ypan > 1) ? 1 : 0;
+
+ /* Disable blanking if the user requested so. */
+- if (!blank)
+- info->fbops->fb_blank = NULL;
++ if (!blank) {
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_blank = NULL;
++ pax_close_kernel();
++ }
+
+ /*
+ * Find out how much IO memory is required for the mode with
+@@ -1526,8 +1553,11 @@ static void __devinit uvesafb_init_info(struct fb_info *info,
+ info->flags = FBINFO_FLAG_DEFAULT |
+ (par->ypan ? FBINFO_HWACCEL_YPAN : 0);
+
+- if (!par->ypan)
+- info->fbops->fb_pan_display = NULL;
++ if (!par->ypan) {
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_pan_display = NULL;
++ pax_close_kernel();
++ }
+ }
+
+ static void __devinit uvesafb_init_mtrr(struct fb_info *info)
+@@ -1828,6 +1858,11 @@ out:
if (par->vbe_modes)
kfree(par->vbe_modes);
@@ -44616,7 +46446,7 @@ index 8813588..7265ef8 100644
framebuffer_release(info);
return err;
}
-@@ -1854,6 +1883,12 @@ static int uvesafb_remove(struct platform_device *dev)
+@@ -1854,6 +1889,12 @@ static int uvesafb_remove(struct platform_device *dev)
kfree(par->vbe_state_orig);
if (par->vbe_state_saved)
kfree(par->vbe_state_saved);
@@ -44630,7 +46460,7 @@ index 8813588..7265ef8 100644
framebuffer_release(info);
diff --git a/drivers/video/vesafb.c b/drivers/video/vesafb.c
-index 501b340..86bd4cf 100644
+index 501b340..d80aa17 100644
--- a/drivers/video/vesafb.c
+++ b/drivers/video/vesafb.c
@@ -9,6 +9,7 @@
@@ -44723,7 +46553,21 @@ index 501b340..86bd4cf 100644
printk(KERN_INFO "vesafb: pmi: set display start = %p, set palette = %p\n",pmi_start,pmi_pal);
if (pmi_base[3]) {
printk(KERN_INFO "vesafb: pmi: ports = ");
-@@ -488,6 +514,11 @@ static int __init vesafb_probe(struct platform_device *dev)
+@@ -472,8 +498,11 @@ static int __init vesafb_probe(struct platform_device *dev)
+ info->flags = FBINFO_FLAG_DEFAULT | FBINFO_MISC_FIRMWARE |
+ (ypan ? FBINFO_HWACCEL_YPAN : 0);
+
+- if (!ypan)
+- info->fbops->fb_pan_display = NULL;
++ if (!ypan) {
++ pax_open_kernel();
++ *(void **)&info->fbops->fb_pan_display = NULL;
++ pax_close_kernel();
++ }
+
+ if (fb_alloc_cmap(&info->cmap, 256, 0) < 0) {
+ err = -ENOMEM;
+@@ -488,6 +517,11 @@ static int __init vesafb_probe(struct platform_device *dev)
info->node, info->fix.id);
return 0;
err:
@@ -44886,6 +46730,28 @@ index e1fbdee..69291a4 100644
else {
qstr.len = autofs4_getpath(sbi, dentry, &name);
if (!qstr.len) {
+diff --git a/fs/befs/endian.h b/fs/befs/endian.h
+index 2722387..c8dd2a7 100644
+--- a/fs/befs/endian.h
++++ b/fs/befs/endian.h
+@@ -11,7 +11,7 @@
+
+ #include <asm/byteorder.h>
+
+-static inline u64
++static inline u64 __intentional_overflow(-1)
+ fs64_to_cpu(const struct super_block *sb, fs64 n)
+ {
+ if (BEFS_SB(sb)->byte_order == BEFS_BYTESEX_LE)
+@@ -29,7 +29,7 @@ cpu_to_fs64(const struct super_block *sb, u64 n)
+ return (__force fs64)cpu_to_be64(n);
+ }
+
+-static inline u32
++static inline u32 __intentional_overflow(-1)
+ fs32_to_cpu(const struct super_block *sb, fs32 n)
+ {
+ if (BEFS_SB(sb)->byte_order == BEFS_BYTESEX_LE)
diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c
index 8342ca6..82fd192 100644
--- a/fs/befs/linuxvfs.c
@@ -45004,7 +46870,7 @@ index a6395bd..f1e376a 100644
(unsigned long) create_aout_tables((char __user *) bprm->p, bprm);
#ifdef __alpha__
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
-index 8dd615c..0efdaed 100644
+index 8dd615c..69bb24d 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -32,6 +32,7 @@
@@ -45542,7 +47408,7 @@ index 8dd615c..0efdaed 100644
+#ifdef CONFIG_ARCH_TRACK_EXEC_LIMIT
+ if ((current->mm->pax_flags & MF_PAX_PAGEEXEC) && !(__supported_pte_mask & _PAGE_NX)) {
+ current->mm->context.user_cs_limit = PAGE_SIZE;
-+ current->mm->def_flags |= VM_PAGEEXEC;
++ current->mm->def_flags |= VM_PAGEEXEC | VM_NOHUGEPAGE;
+ }
+#endif
+
@@ -45645,7 +47511,7 @@ index 8dd615c..0efdaed 100644
+ retval = -ENOMEM;
+ if (!IS_ERR_VALUE(start) && !find_vma_intersection(current->mm, start, start + size + PAGE_SIZE)) {
+// if (current->personality & ADDR_NO_RANDOMIZE)
-+// prot = PROT_READ;
++// vm_flags |= VM_READ | VM_MAYREAD;
+ start = mmap_region(NULL, start, PAGE_ALIGN(size), flags, vm_flags, 0);
+ retval = IS_ERR_VALUE(start) ? start : 0;
+ }
@@ -46228,69 +48094,6 @@ index 9895400..78a67e7 100644
return ceph_lookup_open(dir, dentry, nd, mode, 1);
}
-diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c
-index cfd1ce3..1d36db1 100644
---- a/fs/cifs/asn1.c
-+++ b/fs/cifs/asn1.c
-@@ -614,53 +614,10 @@ decode_negTokenInit(unsigned char *security_blob, int length,
- }
- }
-
-- /* mechlistMIC */
-- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
-- /* Check if we have reached the end of the blob, but with
-- no mechListMic (e.g. NTLMSSP instead of KRB5) */
-- if (ctx.error == ASN1_ERR_DEC_EMPTY)
-- goto decode_negtoken_exit;
-- cFYI(1, "Error decoding last part negTokenInit exit3");
-- return 0;
-- } else if ((cls != ASN1_CTX) || (con != ASN1_CON)) {
-- /* tag = 3 indicating mechListMIC */
-- cFYI(1, "Exit 4 cls = %d con = %d tag = %d end = %p (%d)",
-- cls, con, tag, end, *end);
-- return 0;
-- }
--
-- /* sequence */
-- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
-- cFYI(1, "Error decoding last part negTokenInit exit5");
-- return 0;
-- } else if ((cls != ASN1_UNI) || (con != ASN1_CON)
-- || (tag != ASN1_SEQ)) {
-- cFYI(1, "cls = %d con = %d tag = %d end = %p (%d)",
-- cls, con, tag, end, *end);
-- }
--
-- /* sequence of */
-- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
-- cFYI(1, "Error decoding last part negTokenInit exit 7");
-- return 0;
-- } else if ((cls != ASN1_CTX) || (con != ASN1_CON)) {
-- cFYI(1, "Exit 8 cls = %d con = %d tag = %d end = %p (%d)",
-- cls, con, tag, end, *end);
-- return 0;
-- }
--
-- /* general string */
-- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
-- cFYI(1, "Error decoding last part negTokenInit exit9");
-- return 0;
-- } else if ((cls != ASN1_UNI) || (con != ASN1_PRI)
-- || (tag != ASN1_GENSTR)) {
-- cFYI(1, "Exit10 cls = %d con = %d tag = %d end = %p (%d)",
-- cls, con, tag, end, *end);
-- return 0;
-- }
-- cFYI(1, "Need to call asn1_octets_decode() function for %s",
-- ctx.pointer); /* is this UTF-8 or ASCII? */
--decode_negtoken_exit:
-+ /*
-+ * We currently ignore anything at the end of the SPNEGO blob after
-+ * the mechTypes have been parsed, since none of that info is
-+ * used at the moment.
-+ */
- return 1;
- }
diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c
index 84e8c07..6170d31 100644
--- a/fs/cifs/cifs_debug.c
@@ -46425,10 +48228,10 @@ index 84e8c07..6170d31 100644
}
}
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
-index b3a2a40..72c6542 100644
+index 25bb97f..e0c51aa 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
-@@ -994,7 +994,7 @@ cifs_init_request_bufs(void)
+@@ -1018,7 +1018,7 @@ cifs_init_request_bufs(void)
cifs_req_cachep = kmem_cache_create("cifs_request",
CIFSMaxBufSize +
MAX_CIFS_HDR_SIZE, 0,
@@ -46437,7 +48240,7 @@ index b3a2a40..72c6542 100644
if (cifs_req_cachep == NULL)
return -ENOMEM;
-@@ -1021,7 +1021,7 @@ cifs_init_request_bufs(void)
+@@ -1045,7 +1045,7 @@ cifs_init_request_bufs(void)
efficient to alloc 1 per page off the slab compared to 17K (5page)
alloc of large cifs buffers even when page debugging is on */
cifs_sm_req_cachep = kmem_cache_create("cifs_small_rq",
@@ -46446,7 +48249,7 @@ index b3a2a40..72c6542 100644
NULL);
if (cifs_sm_req_cachep == NULL) {
mempool_destroy(cifs_req_poolp);
-@@ -1106,8 +1106,8 @@ init_cifs(void)
+@@ -1130,8 +1130,8 @@ init_cifs(void)
atomic_set(&bufAllocCount, 0);
atomic_set(&smBufAllocCount, 0);
#ifdef CONFIG_CIFS_STATS2
@@ -47068,7 +48871,7 @@ index 451b9b8..12e5a03 100644
out_free_fd:
diff --git a/fs/exec.c b/fs/exec.c
-index 312e297..6fe2fe2 100644
+index 312e297..2573111 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -55,12 +55,34 @@
@@ -47115,6 +48918,26 @@ index 312e297..6fe2fe2 100644
/* The maximal length of core_pattern is also specified in sysctl.c */
+@@ -82,8 +104,8 @@ int __register_binfmt(struct linux_binfmt * fmt, int insert)
+ if (!fmt)
+ return -EINVAL;
+ write_lock(&binfmt_lock);
+- insert ? list_add(&fmt->lh, &formats) :
+- list_add_tail(&fmt->lh, &formats);
++ insert ? pax_list_add((struct list_head *)&fmt->lh, &formats) :
++ pax_list_add_tail((struct list_head *)&fmt->lh, &formats);
+ write_unlock(&binfmt_lock);
+ return 0;
+ }
+@@ -93,7 +115,7 @@ EXPORT_SYMBOL(__register_binfmt);
+ void unregister_binfmt(struct linux_binfmt * fmt)
+ {
+ write_lock(&binfmt_lock);
+- list_del(&fmt->lh);
++ pax_list_del((struct list_head *)&fmt->lh);
+ write_unlock(&binfmt_lock);
+ }
+
@@ -188,18 +210,10 @@ static struct page *get_arg_page(struct linux_binprm *bprm, unsigned long pos,
int write)
{
@@ -48043,7 +49866,7 @@ index a203892..4e64db5 100644
}
return 1;
diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c
-index 484ffee..08d7602 100644
+index 2845a1f..f29de63 100644
--- a/fs/ext4/balloc.c
+++ b/fs/ext4/balloc.c
@@ -441,8 +441,8 @@ static int ext4_has_free_clusters(struct ext4_sb_info *sbi,
@@ -48058,7 +49881,7 @@ index 484ffee..08d7602 100644
if (free_clusters >= (nclusters + dirty_clusters))
return 1;
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
-index 8cb184c..09ff6c4 100644
+index 60b6ca5..bfa15a7 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1206,19 +1206,19 @@ struct ext4_sb_info {
@@ -48092,7 +49915,7 @@ index 8cb184c..09ff6c4 100644
/* locality groups */
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
-index 553ff71..f545238 100644
+index 7b18563..4dc0cd9 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -1794,7 +1794,7 @@ void ext4_mb_simple_scan_group(struct ext4_allocation_context *ac,
@@ -48209,9 +50032,18 @@ index 553ff71..f545238 100644
return 0;
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
-index 24ac7a2..c596196 100644
+index cc386b2..fe2ab97 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
+@@ -2467,7 +2467,7 @@ struct ext4_attr {
+ ssize_t (*store)(struct ext4_attr *, struct ext4_sb_info *,
+ const char *, size_t);
+ int offset;
+-};
++} __do_const;
+
+ static int parse_strtoul(const char *buf,
+ unsigned long max, unsigned long *value)
@@ -3173,7 +3173,6 @@ int ext4_calculate_overhead(struct super_block *sb)
ext4_fsblk_t overhead = 0;
char *buf = (char *) get_zeroed_page(GFP_KERNEL);
@@ -49944,18 +51776,6 @@ index ee4e66b..9a39f9c 100644
wake_up_bit(&inode->i_state, __I_NEW);
spin_unlock(&inode->i_lock);
}
-diff --git a/fs/isofs/export.c b/fs/isofs/export.c
-index 516eb21..fd88add 100644
---- a/fs/isofs/export.c
-+++ b/fs/isofs/export.c
-@@ -135,6 +135,7 @@ isofs_export_encode_fh(struct dentry *dentry,
- len = 3;
- fh32[0] = ei->i_iget5_block;
- fh16[2] = (__u16)ei->i_iget5_offset; /* fh16 [sic] */
-+ fh16[3] = 0; /* avoid leaking uninitialized data */
- fh32[2] = inode->i_generation;
- if (connectable && !S_ISDIR(inode->i_mode)) {
- struct inode *parent;
diff --git a/fs/jffs2/erase.c b/fs/jffs2/erase.c
index e513f19..2ab1351 100644
--- a/fs/jffs2/erase.c
@@ -49985,9 +51805,27 @@ index 464cd76..3a3ed7e 100644
/*
diff --git a/fs/jfs/super.c b/fs/jfs/super.c
-index a44eff076..462e07d 100644
+index a44eff076..ad896ca 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
+@@ -221,7 +221,7 @@ static const match_table_t tokens = {
+ static int parse_options(char *options, struct super_block *sb, s64 *newLVSize,
+ int *flag)
+ {
+- void *nls_map = (void *)-1; /* -1: no change; NULL: none */
++ const void *nls_map = (const void *)-1; /* -1: no change; NULL: none */
+ char *p;
+ struct jfs_sb_info *sbi = JFS_SBI(sb);
+
+@@ -249,7 +249,7 @@ static int parse_options(char *options, struct super_block *sb, s64 *newLVSize,
+ /* Don't do anything ;-) */
+ break;
+ case Opt_iocharset:
+- if (nls_map && nls_map != (void *) -1)
++ if (nls_map && nls_map != (const void *) -1)
+ unload_nls(nls_map);
+ if (!strcmp(args[0].from, "none"))
+ nls_map = NULL;
@@ -802,7 +802,7 @@ static int __init init_jfs_fs(void)
jfs_inode_cachep =
@@ -50722,6 +52560,19 @@ index ca4913a..8d4cf9e 100644
get_fs_root(current->fs, &root);
error = lock_mount(&old);
if (error)
+diff --git a/fs/nfs/callback_xdr.c b/fs/nfs/callback_xdr.c
+index 168cb93..20486571 100644
+--- a/fs/nfs/callback_xdr.c
++++ b/fs/nfs/callback_xdr.c
+@@ -50,7 +50,7 @@ struct callback_op {
+ callback_decode_arg_t decode_args;
+ callback_encode_res_t encode_res;
+ long res_maxsize;
+-};
++} __do_const;
+
+ static struct callback_op callback_ops[];
+
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 756f4df..8bd49ca 100644
--- a/fs/nfs/dir.c
@@ -50778,6 +52629,59 @@ index b78b5b6..c64d84f 100644
}
void nfs_fattr_init(struct nfs_fattr *fattr)
+diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
+index fe5c5fb..638dac1 100644
+--- a/fs/nfsd/nfs4proc.c
++++ b/fs/nfsd/nfs4proc.c
+@@ -1037,7 +1037,7 @@ struct nfsd4_operation {
+ char *op_name;
+ /* Try to get response size before operation */
+ nfsd4op_rsize op_rsize_bop;
+-};
++} __do_const;
+
+ static struct nfsd4_operation nfsd4_ops[];
+
+diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
+index 800c215..a92d930 100644
+--- a/fs/nfsd/nfs4xdr.c
++++ b/fs/nfsd/nfs4xdr.c
+@@ -280,7 +280,7 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval,
+ iattr->ia_valid |= ATTR_SIZE;
+ }
+ if (bmval[0] & FATTR4_WORD0_ACL) {
+- int nace;
++ u32 nace;
+ struct nfs4_ace *ace;
+
+ READ_BUF(4); len += 4;
+@@ -1451,7 +1451,7 @@ nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p)
+
+ typedef __be32(*nfsd4_dec)(struct nfsd4_compoundargs *argp, void *);
+
+-static nfsd4_dec nfsd4_dec_ops[] = {
++static const nfsd4_dec nfsd4_dec_ops[] = {
+ [OP_ACCESS] = (nfsd4_dec)nfsd4_decode_access,
+ [OP_CLOSE] = (nfsd4_dec)nfsd4_decode_close,
+ [OP_COMMIT] = (nfsd4_dec)nfsd4_decode_commit,
+@@ -1491,7 +1491,7 @@ static nfsd4_dec nfsd4_dec_ops[] = {
+ [OP_RELEASE_LOCKOWNER] = (nfsd4_dec)nfsd4_decode_release_lockowner,
+ };
+
+-static nfsd4_dec nfsd41_dec_ops[] = {
++static const nfsd4_dec nfsd41_dec_ops[] = {
+ [OP_ACCESS] = (nfsd4_dec)nfsd4_decode_access,
+ [OP_CLOSE] = (nfsd4_dec)nfsd4_decode_close,
+ [OP_COMMIT] = (nfsd4_dec)nfsd4_decode_commit,
+@@ -1553,7 +1553,7 @@ static nfsd4_dec nfsd41_dec_ops[] = {
+ };
+
+ struct nfsd4_minorversion_ops {
+- nfsd4_dec *decoders;
++ const nfsd4_dec *decoders;
+ int nops;
+ };
+
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 1ec1fde..a58f201 100644
--- a/fs/nfsd/vfs.c
@@ -50826,6 +52730,89 @@ index 1c98f53..41e6a04 100644
nilfs_set_nsegments(nilfs, le64_to_cpu(sbp->s_nsegments));
nilfs->ns_crc_seed = le32_to_cpu(sbp->s_crc_seed);
return 0;
+diff --git a/fs/nls/nls_base.c b/fs/nls/nls_base.c
+index 0eb059ec..e086089 100644
+--- a/fs/nls/nls_base.c
++++ b/fs/nls/nls_base.c
+@@ -234,20 +234,22 @@ EXPORT_SYMBOL(utf16s_to_utf8s);
+
+ int register_nls(struct nls_table * nls)
+ {
+- struct nls_table ** tmp = &tables;
++ struct nls_table *tmp = tables;
+
+ if (nls->next)
+ return -EBUSY;
+
+ spin_lock(&nls_lock);
+- while (*tmp) {
+- if (nls == *tmp) {
++ while (tmp) {
++ if (nls == tmp) {
+ spin_unlock(&nls_lock);
+ return -EBUSY;
+ }
+- tmp = &(*tmp)->next;
++ tmp = tmp->next;
+ }
+- nls->next = tables;
++ pax_open_kernel();
++ *(struct nls_table **)&nls->next = tables;
++ pax_close_kernel();
+ tables = nls;
+ spin_unlock(&nls_lock);
+ return 0;
+@@ -255,12 +257,14 @@ int register_nls(struct nls_table * nls)
+
+ int unregister_nls(struct nls_table * nls)
+ {
+- struct nls_table ** tmp = &tables;
++ struct nls_table * const * tmp = &tables;
+
+ spin_lock(&nls_lock);
+ while (*tmp) {
+ if (nls == *tmp) {
+- *tmp = nls->next;
++ pax_open_kernel();
++ *(struct nls_table **)tmp = nls->next;
++ pax_close_kernel();
+ spin_unlock(&nls_lock);
+ return 0;
+ }
+diff --git a/fs/nls/nls_euc-jp.c b/fs/nls/nls_euc-jp.c
+index 7424929..35f6be5 100644
+--- a/fs/nls/nls_euc-jp.c
++++ b/fs/nls/nls_euc-jp.c
+@@ -561,8 +561,10 @@ static int __init init_nls_euc_jp(void)
+ p_nls = load_nls("cp932");
+
+ if (p_nls) {
+- table.charset2upper = p_nls->charset2upper;
+- table.charset2lower = p_nls->charset2lower;
++ pax_open_kernel();
++ *(const unsigned char **)&table.charset2upper = p_nls->charset2upper;
++ *(const unsigned char **)&table.charset2lower = p_nls->charset2lower;
++ pax_close_kernel();
+ return register_nls(&table);
+ }
+
+diff --git a/fs/nls/nls_koi8-ru.c b/fs/nls/nls_koi8-ru.c
+index e7bc1d7..06bd4bb 100644
+--- a/fs/nls/nls_koi8-ru.c
++++ b/fs/nls/nls_koi8-ru.c
+@@ -63,8 +63,10 @@ static int __init init_nls_koi8_ru(void)
+ p_nls = load_nls("koi8-u");
+
+ if (p_nls) {
+- table.charset2upper = p_nls->charset2upper;
+- table.charset2lower = p_nls->charset2lower;
++ pax_open_kernel();
++ *(const unsigned char **)&table.charset2upper = p_nls->charset2upper;
++ *(const unsigned char **)&table.charset2lower = p_nls->charset2lower;
++ pax_close_kernel();
+ return register_nls(&table);
+ }
+
diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c
index 9fde1c0..14e8827 100644
--- a/fs/notify/fanotify/fanotify_user.c
@@ -52113,7 +54100,7 @@ index b143471..bb105e5 100644
}
module_init(proc_devices_init);
diff --git a/fs/proc/inode.c b/fs/proc/inode.c
-index 7737c54..d155c87 100644
+index 00f08b3..2f14f30 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -18,12 +18,18 @@
@@ -52149,7 +54136,7 @@ index 7737c54..d155c87 100644
}
static struct kmem_cache * proc_inode_cachep;
-@@ -440,7 +453,11 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
+@@ -438,7 +451,11 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
if (de->mode) {
inode->i_mode = de->mode;
inode->i_uid = de->uid;
@@ -52273,7 +54260,7 @@ index b1822dd..df622cb 100644
seq_putc(m, '\n');
diff --git a/fs/proc/proc_net.c b/fs/proc/proc_net.c
-index f738024..682f400 100644
+index f738024..226e98e 100644
--- a/fs/proc/proc_net.c
+++ b/fs/proc/proc_net.c
@@ -23,6 +23,7 @@
@@ -52302,6 +54289,15 @@ index f738024..682f400 100644
rcu_read_lock();
task = pid_task(proc_pid(dir), PIDTYPE_PID);
+@@ -228,7 +240,7 @@ static __net_exit void proc_net_ns_exit(struct net *net)
+ kfree(net->proc_net);
+ }
+
+-static struct pernet_operations __net_initdata proc_net_ns_ops = {
++static struct pernet_operations __net_initconst proc_net_ns_ops = {
+ .init = proc_net_ns_init,
+ .exit = proc_net_ns_exit,
+ };
diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
index 0be1aa4..ed25c53 100644
--- a/fs/proc/proc_sysctl.c
@@ -53190,6 +55186,32 @@ index a7ac78f..02158e1 100644
if (!IS_ERR(page))
free_page((unsigned long)page);
}
+diff --git a/fs/sysv/sysv.h b/fs/sysv/sysv.h
+index bb55cdb..e9ebb8a 100644
+--- a/fs/sysv/sysv.h
++++ b/fs/sysv/sysv.h
+@@ -189,7 +189,7 @@ static inline u32 PDP_swab(u32 x)
+ #endif
+ }
+
+-static inline __u32 fs32_to_cpu(struct sysv_sb_info *sbi, __fs32 n)
++static inline __u32 __intentional_overflow(-1) fs32_to_cpu(struct sysv_sb_info *sbi, __fs32 n)
+ {
+ if (sbi->s_bytesex == BYTESEX_PDP)
+ return PDP_swab((__force __u32)n);
+diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c
+index 9228950..bbad895 100644
+--- a/fs/ubifs/io.c
++++ b/fs/ubifs/io.c
+@@ -156,7 +156,7 @@ int ubifs_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len,
+ return err;
+ }
+
+-int ubifs_leb_unmap(struct ubifs_info *c, int lnum)
++int __intentional_overflow(-1) ubifs_leb_unmap(struct ubifs_info *c, int lnum)
+ {
+ int err;
+
diff --git a/fs/udf/misc.c b/fs/udf/misc.c
index c175b4d..8f36a16 100644
--- a/fs/udf/misc.c
@@ -53203,18 +55225,28 @@ index c175b4d..8f36a16 100644
u8 checksum = 0;
int i;
for (i = 0; i < sizeof(struct tag); ++i)
-diff --git a/fs/udf/namei.c b/fs/udf/namei.c
-index 4639e13..71c97fb 100644
---- a/fs/udf/namei.c
-+++ b/fs/udf/namei.c
-@@ -1293,6 +1293,7 @@ static int udf_encode_fh(struct dentry *de, __u32 *fh, int *lenp,
- *lenp = 3;
- fid->udf.block = location.logicalBlockNum;
- fid->udf.partref = location.partitionReferenceNum;
-+ fid->udf.parent_partref = 0;
- fid->udf.generation = inode->i_generation;
-
- if (connectable && !S_ISDIR(inode->i_mode)) {
+diff --git a/fs/ufs/swab.h b/fs/ufs/swab.h
+index 8d974c4..b82f6ec 100644
+--- a/fs/ufs/swab.h
++++ b/fs/ufs/swab.h
+@@ -22,7 +22,7 @@ enum {
+ BYTESEX_BE
+ };
+
+-static inline u64
++static inline u64 __intentional_overflow(-1)
+ fs64_to_cpu(struct super_block *sbp, __fs64 n)
+ {
+ if (UFS_SB(sbp)->s_bytesex == BYTESEX_LE)
+@@ -40,7 +40,7 @@ cpu_to_fs64(struct super_block *sbp, u64 n)
+ return (__force __fs64)cpu_to_be64(n);
+ }
+
+-static inline u32
++static inline u32 __intentional_overflow(-1)
+ fs32_to_cpu(struct super_block *sbp, __fs32 n)
+ {
+ if (UFS_SB(sbp)->s_bytesex == BYTESEX_LE)
diff --git a/fs/utimes.c b/fs/utimes.c
index ba653f3..06ea4b1 100644
--- a/fs/utimes.c
@@ -64040,7 +66072,7 @@ index ecc721d..029cf5a 100644
struct crypto_instance {
struct crypto_alg alg;
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index bf4b2dc..2d0762f 100644
+index bf4b2dc..2df6e61 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -72,6 +72,7 @@
@@ -64051,7 +66083,43 @@ index bf4b2dc..2d0762f 100644
#include "drm.h"
#include <linux/idr.h>
-@@ -1038,7 +1039,7 @@ struct drm_device {
+@@ -284,10 +285,12 @@ do { \
+ * \param cmd command.
+ * \param arg argument.
+ */
+-typedef int drm_ioctl_t(struct drm_device *dev, void *data,
++typedef int (* const drm_ioctl_t)(struct drm_device *dev, void *data,
++ struct drm_file *file_priv);
++typedef int (* drm_ioctl_no_const_t)(struct drm_device *dev, void *data,
+ struct drm_file *file_priv);
+
+-typedef int drm_ioctl_compat_t(struct file *filp, unsigned int cmd,
++typedef int (* const drm_ioctl_compat_t)(struct file *filp, unsigned int cmd,
+ unsigned long arg);
+
+ #define DRM_IOCTL_NR(n) _IOC_NR(n)
+@@ -302,9 +305,9 @@ typedef int drm_ioctl_compat_t(struct file *filp, unsigned int cmd,
+ struct drm_ioctl_desc {
+ unsigned int cmd;
+ int flags;
+- drm_ioctl_t *func;
++ drm_ioctl_t func;
+ unsigned int cmd_drv;
+-};
++} __do_const;
+
+ /**
+ * Creates a driver or general drm_ioctl_desc array entry for the given
+@@ -965,7 +968,7 @@ struct drm_info_list {
+ int (*show)(struct seq_file*, void*); /** show callback */
+ u32 driver_features; /**< Required driver features for this entry */
+ void *data;
+-};
++} __do_const;
+
+ /**
+ * debugfs node structure. This structure represents a debugfs file.
+@@ -1038,7 +1041,7 @@ struct drm_device {
/** \name Usage Counters */
/*@{ */
@@ -64060,7 +66128,7 @@ index bf4b2dc..2d0762f 100644
atomic_t ioctl_count; /**< Outstanding IOCTLs pending */
atomic_t vma_count; /**< Outstanding vma areas open */
int buf_use; /**< Buffers in use -- cannot alloc */
-@@ -1049,7 +1050,7 @@ struct drm_device {
+@@ -1049,7 +1052,7 @@ struct drm_device {
/*@{ */
unsigned long counters;
enum drm_stat_type types[15];
@@ -64115,7 +66183,7 @@ index e86dfca..40cc55f 100644
#define N_MAGIC(exec) ((exec).a_info & 0xffff)
#endif
diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h
-index 49a83ca..df96b54 100644
+index 49a83ca..d0a847e 100644
--- a/include/linux/atmdev.h
+++ b/include/linux/atmdev.h
@@ -237,7 +237,7 @@ struct compat_atm_iobuf {
@@ -64127,8 +66195,17 @@ index 49a83ca..df96b54 100644
__AAL_STAT_ITEMS
#undef __HANDLE_ITEM
};
+@@ -406,7 +406,7 @@ struct atmdev_ops { /* only send is required */
+ int (*change_qos)(struct atm_vcc *vcc,struct atm_qos *qos,int flags);
+ int (*proc_read)(struct atm_dev *dev,loff_t *pos,char *page);
+ struct module *owner;
+-};
++} __do_const ;
+
+ struct atmphy_ops {
+ int (*start)(struct atm_dev *dev);
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h
-index acd8d4b..44cf309 100644
+index acd8d4b..15d2eab 100644
--- a/include/linux/binfmts.h
+++ b/include/linux/binfmts.h
@@ -18,7 +18,7 @@ struct pt_regs;
@@ -64148,13 +66225,16 @@ index acd8d4b..44cf309 100644
};
#define BINPRM_FLAGS_ENFORCE_NONDUMP_BIT 0
-@@ -86,6 +87,7 @@ struct linux_binfmt {
+@@ -86,8 +87,9 @@ struct linux_binfmt {
int (*load_binary)(struct linux_binprm *, struct pt_regs * regs);
int (*load_shlib)(struct file *);
int (*core_dump)(struct coredump_params *cprm);
+ void (*handle_mprotect)(struct vm_area_struct *vma, unsigned long newflags);
unsigned long min_coredump; /* minimal dump size */
- };
+-};
++} __do_const;
+
+ extern int __register_binfmt(struct linux_binfmt *fmt, int insert);
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index ff039f0..cdf89ae 100644
@@ -64183,7 +66263,7 @@ index 4d1a074..88f929a 100644
extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *);
diff --git a/include/linux/byteorder/little_endian.h b/include/linux/byteorder/little_endian.h
-index 83195fb..0b0f77d 100644
+index 83195fb..46fe38f 100644
--- a/include/linux/byteorder/little_endian.h
+++ b/include/linux/byteorder/little_endian.h
@@ -42,51 +42,51 @@
@@ -64193,7 +66273,8 @@ index 83195fb..0b0f77d 100644
- return (__force __le64)*p;
+ return (__force const __le64)*p;
}
- static inline __u64 __le64_to_cpup(const __le64 *p)
+-static inline __u64 __le64_to_cpup(const __le64 *p)
++static inline __u64 __intentional_overflow(-1) __le64_to_cpup(const __le64 *p)
{
- return (__force __u64)*p;
+ return (__force const __u64)*p;
@@ -64233,7 +66314,8 @@ index 83195fb..0b0f77d 100644
- return (__force __be32)__swab32p(p);
+ return (__force const __be32)__swab32p(p);
}
- static inline __u32 __be32_to_cpup(const __be32 *p)
+-static inline __u32 __be32_to_cpup(const __be32 *p)
++static inline __u32 __intentional_overflow(-1) __be32_to_cpup(const __be32 *p)
{
- return __swab32p((__u32 *)p);
+ return __swab32p((const __u32 *)p);
@@ -64312,9 +66394,18 @@ index 04ffb2e..6799180 100644
extern struct cleancache_ops
cleancache_register_ops(struct cleancache_ops *ops);
diff --git a/include/linux/compat.h b/include/linux/compat.h
-index d42bd48..af682d2 100644
+index d42bd48..554dcd5 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
+@@ -240,7 +240,7 @@ long compat_sys_msgrcv(int first, int second, int msgtyp, int third,
+ int version, void __user *uptr);
+ long compat_sys_msgctl(int first, int second, void __user *uptr);
+ long compat_sys_shmat(int first, int second, compat_uptr_t third, int version,
+- void __user *uptr);
++ void __user *uptr) __intentional_overflow(0);
+ long compat_sys_shmctl(int first, int second, void __user *uptr);
+ long compat_sys_semtimedop(int semid, struct sembuf __user *tsems,
+ unsigned nsems, const struct compat_timespec __user *timeout);
@@ -334,7 +334,7 @@ extern int compat_ptrace_request(struct task_struct *child,
extern long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
compat_ulong_t addr, compat_ulong_t data);
@@ -64363,10 +66454,10 @@ index dfadc96..23c5182 100644
#if __GNUC_MINOR__ > 0
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
-index 320d6c9..89f1e77 100644
+index 320d6c9..df26a76 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
-@@ -5,31 +5,62 @@
+@@ -5,31 +5,51 @@
#ifdef __CHECKER__
# define __user __attribute__((noderef, address_space(1)))
@@ -64394,33 +66485,24 @@ index 320d6c9..89f1e77 100644
#endif
extern void __chk_user_ptr(const volatile void __user *);
extern void __chk_io_ptr(const volatile void __iomem *);
-+#elif defined(CHECKER_PLUGIN)
-+//# define __user
-+//# define __force_user
-+//# define __kernel
-+//# define __force_kernel
-+# define __safe
-+# define __force
-+# define __nocast
-+# define __iomem
-+# define __force_iomem
-+# define __chk_user_ptr(x) (void)0
-+# define __chk_io_ptr(x) (void)0
-+# define __builtin_warning(x, y...) (1)
-+# define __acquires(x)
-+# define __releases(x)
-+# define __acquire(x) (void)0
-+# define __release(x) (void)0
-+# define __cond_lock(x,c) (c)
-+# define __percpu
-+# define __force_percpu
-+# define __rcu
-+# define __force_rcu
#else
- # define __user
-+# define __force_user
- # define __kernel
-+# define __force_kernel
+-# define __user
+-# define __kernel
++# ifdef CHECKER_PLUGIN
++//# define __user
++//# define __force_user
++//# define __kernel
++//# define __force_kernel
++# else
++# ifdef STRUCTLEAK_PLUGIN
++# define __user __attribute__((user))
++# else
++# define __user
++# endif
++# define __force_user
++# define __kernel
++# define __force_kernel
++# endif
# define __safe
# define __force
# define __nocast
@@ -64429,7 +66511,7 @@ index 320d6c9..89f1e77 100644
# define __chk_user_ptr(x) (void)0
# define __chk_io_ptr(x) (void)0
# define __builtin_warning(x, y...) (1)
-@@ -39,7 +70,9 @@ extern void __chk_io_ptr(const volatile void __iomem *);
+@@ -39,7 +59,9 @@ extern void __chk_io_ptr(const volatile void __iomem *);
# define __release(x) (void)0
# define __cond_lock(x,c) (c)
# define __percpu
@@ -64439,7 +66521,7 @@ index 320d6c9..89f1e77 100644
#endif
#ifdef __KERNEL__
-@@ -264,6 +297,22 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
+@@ -264,6 +286,22 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
# define __attribute_const__ /* unimplemented */
#endif
@@ -64462,7 +66544,7 @@ index 320d6c9..89f1e77 100644
/*
* Tell gcc if a function is cold. The compiler will assume any path
* directly leading to the call is unlikely.
-@@ -273,6 +322,22 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
+@@ -273,6 +311,22 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
#define __cold
#endif
@@ -64485,7 +66567,7 @@ index 320d6c9..89f1e77 100644
/* Simple shorthand for a section definition */
#ifndef __section
# define __section(S) __attribute__ ((__section__(#S)))
-@@ -294,6 +359,14 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
+@@ -294,6 +348,14 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
# define __compiletime_error(message)
#endif
@@ -64500,7 +66582,7 @@ index 320d6c9..89f1e77 100644
/*
* Prevent the compiler from merging or refetching accesses. The compiler
* is also forbidden from reordering successive instances of ACCESS_ONCE(),
-@@ -306,6 +379,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
+@@ -306,6 +368,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
* use is to mediate communication between process-level code and irq/NMI
* handlers, all running on the same CPU.
*/
@@ -64509,6 +66591,40 @@ index 320d6c9..89f1e77 100644
+#define ACCESS_ONCE_RW(x) (*(volatile typeof(x) *)&(x))
#endif /* __LINUX_COMPILER_H */
+diff --git a/include/linux/completion.h b/include/linux/completion.h
+index 51494e6..0fd1b61 100644
+--- a/include/linux/completion.h
++++ b/include/linux/completion.h
+@@ -78,13 +78,13 @@ static inline void init_completion(struct completion *x)
+
+ extern void wait_for_completion(struct completion *);
+ extern int wait_for_completion_interruptible(struct completion *x);
+-extern int wait_for_completion_killable(struct completion *x);
++extern int wait_for_completion_killable(struct completion *x) __intentional_overflow(-1);
+ extern unsigned long wait_for_completion_timeout(struct completion *x,
+ unsigned long timeout);
+ extern long wait_for_completion_interruptible_timeout(
+- struct completion *x, unsigned long timeout);
++ struct completion *x, unsigned long timeout) __intentional_overflow(-1);
+ extern long wait_for_completion_killable_timeout(
+- struct completion *x, unsigned long timeout);
++ struct completion *x, unsigned long timeout) __intentional_overflow(-1);
+ extern bool try_wait_for_completion(struct completion *x);
+ extern bool completion_done(struct completion *x);
+
+diff --git a/include/linux/configfs.h b/include/linux/configfs.h
+index 3081c58..7714c00 100644
+--- a/include/linux/configfs.h
++++ b/include/linux/configfs.h
+@@ -125,7 +125,7 @@ struct configfs_attribute {
+ const char *ca_name;
+ struct module *ca_owner;
+ mode_t ca_mode;
+-};
++} __do_const;
+
+ /*
+ * Users often need to create attribute structures for their configurable
diff --git a/include/linux/cpu.h b/include/linux/cpu.h
index c692acc..95bcc75 100644
--- a/include/linux/cpu.h
@@ -64522,6 +66638,102 @@ index c692acc..95bcc75 100644
{ .notifier_call = fn, .priority = pri }; \
register_cpu_notifier(&fn##_nb); \
}
+diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
+index 6216115..68bf1d0 100644
+--- a/include/linux/cpufreq.h
++++ b/include/linux/cpufreq.h
+@@ -236,7 +236,7 @@ struct cpufreq_driver {
+ int (*suspend) (struct cpufreq_policy *policy);
+ int (*resume) (struct cpufreq_policy *policy);
+ struct freq_attr **attr;
+-};
++} __do_const;
+
+ /* flags */
+
+@@ -295,6 +295,7 @@ struct global_attr {
+ ssize_t (*store)(struct kobject *a, struct attribute *b,
+ const char *c, size_t count);
+ };
++typedef struct global_attr __no_const global_attr_no_const;
+
+ #define define_one_global_ro(_name) \
+ static struct global_attr _name = \
+diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h
+index 7408af8..8d6f9dd 100644
+--- a/include/linux/cpuidle.h
++++ b/include/linux/cpuidle.h
+@@ -49,7 +49,8 @@ struct cpuidle_state {
+ int (*enter) (struct cpuidle_device *dev,
+ struct cpuidle_driver *drv,
+ int index);
+-};
++} __do_const;
++typedef struct cpuidle_state __no_const cpuidle_state_no_const;
+
+ /* Idle State Flags */
+ #define CPUIDLE_FLAG_TIME_VALID (0x01) /* is residency time measurable? */
+@@ -181,7 +182,7 @@ struct cpuidle_governor {
+ void (*reflect) (struct cpuidle_device *dev, int index);
+
+ struct module *owner;
+-};
++} __do_const;
+
+ #ifdef CONFIG_CPU_IDLE
+
+diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
+index 4f7a632..b9e6f95 100644
+--- a/include/linux/cpumask.h
++++ b/include/linux/cpumask.h
+@@ -117,17 +117,17 @@ static inline unsigned int cpumask_first(const struct cpumask *srcp)
+ }
+
+ /* Valid inputs for n are -1 and 0. */
+-static inline unsigned int cpumask_next(int n, const struct cpumask *srcp)
++static inline unsigned int __intentional_overflow(-1) cpumask_next(int n, const struct cpumask *srcp)
+ {
+ return n+1;
+ }
+
+-static inline unsigned int cpumask_next_zero(int n, const struct cpumask *srcp)
++static inline unsigned int __intentional_overflow(-1) cpumask_next_zero(int n, const struct cpumask *srcp)
+ {
+ return n+1;
+ }
+
+-static inline unsigned int cpumask_next_and(int n,
++static inline unsigned int __intentional_overflow(-1) cpumask_next_and(int n,
+ const struct cpumask *srcp,
+ const struct cpumask *andp)
+ {
+@@ -166,7 +166,7 @@ static inline unsigned int cpumask_first(const struct cpumask *srcp)
+ *
+ * Returns >= nr_cpu_ids if no further cpus set.
+ */
+-static inline unsigned int cpumask_next(int n, const struct cpumask *srcp)
++static inline unsigned int __intentional_overflow(-1) cpumask_next(int n, const struct cpumask *srcp)
+ {
+ /* -1 is a legal arg here. */
+ if (n != -1)
+@@ -181,7 +181,7 @@ static inline unsigned int cpumask_next(int n, const struct cpumask *srcp)
+ *
+ * Returns >= nr_cpu_ids if no further cpus unset.
+ */
+-static inline unsigned int cpumask_next_zero(int n, const struct cpumask *srcp)
++static inline unsigned int __intentional_overflow(-1) cpumask_next_zero(int n, const struct cpumask *srcp)
+ {
+ /* -1 is a legal arg here. */
+ if (n != -1)
+@@ -189,7 +189,7 @@ static inline unsigned int cpumask_next_zero(int n, const struct cpumask *srcp)
+ return find_next_zero_bit(cpumask_bits(srcp), nr_cpumask_bits, n+1);
+ }
+
+-int cpumask_next_and(int n, const struct cpumask *, const struct cpumask *);
++int cpumask_next_and(int n, const struct cpumask *, const struct cpumask *) __intentional_overflow(-1);
+ int cpumask_any_but(const struct cpumask *mask, unsigned int cpu);
+
+ /**
diff --git a/include/linux/crash_dump.h b/include/linux/crash_dump.h
index b936763..48685ee 100644
--- a/include/linux/crash_dump.h
@@ -64578,6 +66790,19 @@ index 8a94217..15d49e3 100644
#define crt_ablkcipher crt_u.ablkcipher
#define crt_aead crt_u.aead
+diff --git a/include/linux/ctype.h b/include/linux/ctype.h
+index 8acfe31..6ffccd63 100644
+--- a/include/linux/ctype.h
++++ b/include/linux/ctype.h
+@@ -56,7 +56,7 @@ static inline unsigned char __toupper(unsigned char c)
+ * Fast implementation of tolower() for internal usage. Do not use in your
+ * code.
+ */
+-static inline char _tolower(const char c)
++static inline unsigned char _tolower(const unsigned char c)
+ {
+ return c | 0x20;
+ }
diff --git a/include/linux/decompress/mm.h b/include/linux/decompress/mm.h
index 7925bf0..d5143d2 100644
--- a/include/linux/decompress/mm.h
@@ -64591,6 +66816,40 @@ index 7925bf0..d5143d2 100644
#define free(a) kfree(a)
#define large_malloc(a) vmalloc(a)
+diff --git a/include/linux/devfreq.h b/include/linux/devfreq.h
+index 98ce812..9afa76d 100644
+--- a/include/linux/devfreq.h
++++ b/include/linux/devfreq.h
+@@ -100,7 +100,7 @@ struct devfreq_governor {
+ int (*init)(struct devfreq *this);
+ void (*exit)(struct devfreq *this);
+ const bool no_central_polling;
+-};
++} __do_const;
+
+ /**
+ * struct devfreq - Device devfreq structure
+diff --git a/include/linux/device.h b/include/linux/device.h
+index 3136ede..9a589c5 100644
+--- a/include/linux/device.h
++++ b/include/linux/device.h
+@@ -427,7 +427,7 @@ struct device_type {
+ void (*release)(struct device *dev);
+
+ const struct dev_pm_ops *pm;
+-};
++} __do_const;
+
+ /* interface for exporting device attributes */
+ struct device_attribute {
+@@ -437,6 +437,7 @@ struct device_attribute {
+ ssize_t (*store)(struct device *dev, struct device_attribute *attr,
+ const char *buf, size_t count);
+ };
++typedef struct device_attribute __no_const device_attribute_no_const;
+
+ #define DEVICE_ATTR(_name, _mode, _show, _store) \
+ struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index e13117c..e9fc938 100644
--- a/include/linux/dma-mapping.h
@@ -64621,7 +66880,7 @@ index 75f53f8..5c7972d 100644
unsigned int offset, size_t len);
diff --git a/include/linux/efi.h b/include/linux/efi.h
-index ce95a4b..04ab4c8 100644
+index 8469f3f..41618bb 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -477,6 +477,7 @@ struct efivar_operations {
@@ -64708,6 +66967,38 @@ index 31f0508..5421c01 100644
#endif
+diff --git a/include/linux/err.h b/include/linux/err.h
+index f2edce2..cc2082c 100644
+--- a/include/linux/err.h
++++ b/include/linux/err.h
+@@ -19,12 +19,12 @@
+
+ #define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO)
+
+-static inline void * __must_check ERR_PTR(long error)
++static inline void * __must_check __intentional_overflow(-1) ERR_PTR(long error)
+ {
+ return (void *) error;
+ }
+
+-static inline long __must_check PTR_ERR(const void *ptr)
++static inline long __must_check __intentional_overflow(-1) PTR_ERR(const void *ptr)
+ {
+ return (long) ptr;
+ }
+diff --git a/include/linux/fb.h b/include/linux/fb.h
+index 73845ce..e5678a7 100644
+--- a/include/linux/fb.h
++++ b/include/linux/fb.h
+@@ -691,7 +691,7 @@ struct fb_ops {
+ /* called at KDB enter and leave time to prepare the console */
+ int (*fb_debug_enter)(struct fb_info *info);
+ int (*fb_debug_leave)(struct fb_info *info);
+-};
++} __do_const;
+
+ #ifdef CONFIG_FB_TILEBLITTING
+ #define FB_TILE_CURSOR_NONE 0
diff --git a/include/linux/filter.h b/include/linux/filter.h
index 8eeb205..d59bfa2 100644
--- a/include/linux/filter.h
@@ -64795,6 +67086,19 @@ index ce31408..b1ad003 100644
op->processor = processor;
op->release = release;
INIT_LIST_HEAD(&op->pend_link);
+diff --git a/include/linux/fscache.h b/include/linux/fscache.h
+index 9ec20de..8007b8a 100644
+--- a/include/linux/fscache.h
++++ b/include/linux/fscache.h
+@@ -152,7 +152,7 @@ struct fscache_cookie_def {
+ * - this is mandatory for any object that may have data
+ */
+ void (*now_uncached)(void *cookie_netfs_data);
+-};
++} __do_const;
+
+ /*
+ * fscache cached network filesystem type
diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h
index 2a53f10..e3cd3e0 100644
--- a/include/linux/fsnotify.h
@@ -66004,6 +68308,29 @@ index 52e9620..26c34b1 100644
static inline void zero_user_segments(struct page *page,
unsigned start1, unsigned end1,
unsigned start2, unsigned end2)
+diff --git a/include/linux/hwmon-sysfs.h b/include/linux/hwmon-sysfs.h
+index a90c09d..15f7933 100644
+--- a/include/linux/hwmon-sysfs.h
++++ b/include/linux/hwmon-sysfs.h
+@@ -23,7 +23,8 @@
+ struct sensor_device_attribute{
+ struct device_attribute dev_attr;
+ int index;
+-};
++} __do_const;
++typedef struct sensor_device_attribute __no_const sensor_device_attribute_no_const;
+ #define to_sensor_dev_attr(_dev_attr) \
+ container_of(_dev_attr, struct sensor_device_attribute, dev_attr)
+
+@@ -39,7 +40,7 @@ struct sensor_device_attribute_2 {
+ struct device_attribute dev_attr;
+ u8 index;
+ u8 nr;
+-};
++} __do_const;
+ #define to_sensor_dev_attr_2(_dev_attr) \
+ container_of(_dev_attr, struct sensor_device_attribute_2, dev_attr)
+
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 07d103a..04ec65b 100644
--- a/include/linux/i2c.h
@@ -66165,6 +68492,19 @@ index a64b00e..2ef3855f 100644
extern void softirq_init(void);
static inline void __raise_softirq_irqoff(unsigned int nr)
{
+diff --git a/include/linux/irq.h b/include/linux/irq.h
+index bff29c5..7437762 100644
+--- a/include/linux/irq.h
++++ b/include/linux/irq.h
+@@ -328,7 +328,7 @@ struct irq_chip {
+ #ifdef CONFIG_IRQ_RELEASE_METHOD
+ void (*release)(unsigned int irq, void *dev_id);
+ #endif
+-};
++} __do_const;
+
+ /*
+ * irq_chip specific flags
diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h
index 3875719..4cd454c 100644
--- a/include/linux/kallsyms.h
@@ -66196,6 +68536,19 @@ index 3875719..4cd454c 100644
/* This macro allows us to keep printk typechecking */
static __printf(1, 2)
+diff --git a/include/linux/key-type.h b/include/linux/key-type.h
+index 9efd081..19f989c 100644
+--- a/include/linux/key-type.h
++++ b/include/linux/key-type.h
+@@ -92,7 +92,7 @@ struct key_type {
+
+ /* internal fields */
+ struct list_head link; /* link in types list */
+-};
++} __do_const;
+
+ extern struct key_type key_type_keyring;
+
diff --git a/include/linux/kgdb.h b/include/linux/kgdb.h
index c4d2fc1..5df9c19 100644
--- a/include/linux/kgdb.h
@@ -66241,7 +68594,7 @@ index f8d4b27..269f55a 100644
#define request_module_nowait(mod...) __request_module(false, mod)
#define try_then_request_module(x, mod...) \
diff --git a/include/linux/kobject.h b/include/linux/kobject.h
-index 445f978..925605f 100644
+index 445f978..3a02264 100644
--- a/include/linux/kobject.h
+++ b/include/linux/kobject.h
@@ -111,7 +111,7 @@ struct kobj_type {
@@ -66253,6 +68606,27 @@ index 445f978..925605f 100644
struct kobj_uevent_env {
char *envp[UEVENT_NUM_ENVP];
+@@ -134,6 +134,7 @@ struct kobj_attribute {
+ ssize_t (*store)(struct kobject *kobj, struct kobj_attribute *attr,
+ const char *buf, size_t count);
+ };
++typedef struct kobj_attribute __no_const kobj_attribute_no_const;
+
+ extern const struct sysfs_ops kobj_sysfs_ops;
+
+diff --git a/include/linux/kobject_ns.h b/include/linux/kobject_ns.h
+index f66b065..c2c29b4 100644
+--- a/include/linux/kobject_ns.h
++++ b/include/linux/kobject_ns.h
+@@ -43,7 +43,7 @@ struct kobj_ns_type_operations {
+ const void *(*netlink_ns)(struct sock *sk);
+ const void *(*initial_ns)(void);
+ void (*drop_ns)(void *);
+-};
++} __do_const;
+
+ int kobj_ns_type_register(const struct kobj_ns_type_operations *ops);
+ int kobj_ns_type_registered(enum kobj_ns_type type);
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 6136821..b3ba6ba 100644
--- a/include/linux/kvm_host.h
@@ -66325,19 +68699,69 @@ index cafc09a..d7e7829 100644
struct ata_port_info {
unsigned long flags;
diff --git a/include/linux/list.h b/include/linux/list.h
-index cc6d2aa..71febca 100644
+index cc6d2aa..c10ee83 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
-@@ -112,6 +112,9 @@ extern void __list_del_entry(struct list_head *entry);
+@@ -112,6 +112,19 @@ extern void __list_del_entry(struct list_head *entry);
extern void list_del(struct list_head *entry);
#endif
-+extern void pax_list_add_tail(struct list_head *new, struct list_head *head);
++extern void __pax_list_add(struct list_head *new,
++ struct list_head *prev,
++ struct list_head *next);
++static inline void pax_list_add(struct list_head *new, struct list_head *head)
++{
++ __pax_list_add(new, head, head->next);
++}
++static inline void pax_list_add_tail(struct list_head *new, struct list_head *head)
++{
++ __pax_list_add(new, head->prev, head);
++}
+extern void pax_list_del(struct list_head *entry);
+
/**
* list_replace - replace old entry by new one
* @old : the element to be replaced
+@@ -145,6 +158,8 @@ static inline void list_del_init(struct list_head *entry)
+ INIT_LIST_HEAD(entry);
+ }
+
++extern void pax_list_del_init(struct list_head *entry);
++
+ /**
+ * list_move - delete from one list and add as another's head
+ * @list: the entry to move
+diff --git a/include/linux/math64.h b/include/linux/math64.h
+index b8ba855..0148090 100644
+--- a/include/linux/math64.h
++++ b/include/linux/math64.h
+@@ -14,7 +14,7 @@
+ * This is commonly provided by 32bit archs to provide an optimized 64bit
+ * divide.
+ */
+-static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder)
++static inline u64 __intentional_overflow(-1) div_u64_rem(u64 dividend, u32 divisor, u32 *remainder)
+ {
+ *remainder = dividend % divisor;
+ return dividend / divisor;
+@@ -50,7 +50,7 @@ static inline s64 div64_s64(s64 dividend, s64 divisor)
+ #define div64_long(x,y) div_s64((x),(y))
+
+ #ifndef div_u64_rem
+-static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder)
++static inline u64 __intentional_overflow(-1) div_u64_rem(u64 dividend, u32 divisor, u32 *remainder)
+ {
+ *remainder = do_div(dividend, divisor);
+ return dividend;
+@@ -79,7 +79,7 @@ extern s64 div64_s64(s64 dividend, s64 divisor);
+ * divide.
+ */
+ #ifndef div_u64
+-static inline u64 div_u64(u64 dividend, u32 divisor)
++static inline u64 __intentional_overflow(-1) div_u64(u64 dividend, u32 divisor)
+ {
+ u32 remainder;
+ return div_u64_rem(dividend, divisor, &remainder);
diff --git a/include/linux/mca.h b/include/linux/mca.h
index 3797270..7765ede 100644
--- a/include/linux/mca.h
@@ -66352,7 +68776,7 @@ index 3797270..7765ede 100644
struct mca_bus {
u64 default_dma_mask;
diff --git a/include/linux/mm.h b/include/linux/mm.h
-index 4baadd1..8745271 100644
+index 4baadd1..77a7311 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -115,7 +115,14 @@ extern unsigned int kobjsize(const void *objp);
@@ -66520,10 +68944,11 @@ index 4baadd1..8745271 100644
struct vm_area_struct *find_extend_vma(struct mm_struct *, unsigned long addr);
int remap_pfn_range(struct vm_area_struct *, unsigned long addr,
unsigned long pfn, unsigned long size, pgprot_t);
-@@ -1534,6 +1545,11 @@ void vm_stat_account(struct mm_struct *, unsigned long, struct file *, long);
+@@ -1534,6 +1545,12 @@ void vm_stat_account(struct mm_struct *, unsigned long, struct file *, long);
static inline void vm_stat_account(struct mm_struct *mm,
unsigned long flags, struct file *file, long pages)
{
++
+#ifdef CONFIG_PAX_RANDMMAP
+ if (!(mm->pax_flags & MF_PAX_RANDMMAP) || (flags & (VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)))
+#endif
@@ -66532,7 +68957,7 @@ index 4baadd1..8745271 100644
}
#endif /* CONFIG_PROC_FS */
-@@ -1614,7 +1630,7 @@ extern int unpoison_memory(unsigned long pfn);
+@@ -1614,7 +1631,7 @@ extern int unpoison_memory(unsigned long pfn);
extern int sysctl_memory_failure_early_kill;
extern int sysctl_memory_failure_recovery;
extern void shake_page(struct page *p, int access);
@@ -66541,7 +68966,7 @@ index 4baadd1..8745271 100644
extern int soft_offline_page(struct page *page, int flags);
extern void dump_page(struct page *page);
-@@ -1628,5 +1644,11 @@ extern void copy_user_huge_page(struct page *dst, struct page *src,
+@@ -1628,5 +1645,11 @@ extern void copy_user_huge_page(struct page *dst, struct page *src,
unsigned int pages_per_huge_page);
#endif /* CONFIG_TRANSPARENT_HUGEPAGE || CONFIG_HUGETLBFS */
@@ -66647,7 +69072,7 @@ index 25842b6..6e42df8 100644
/*
* The target ratio of ACTIVE_ANON to INACTIVE_ANON pages on
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
-index 468819c..17b9db3 100644
+index 468819c..c02b63b 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -12,7 +12,7 @@
@@ -66668,8 +69093,17 @@ index 468819c..17b9db3 100644
struct hid_device_id {
__u16 bus;
+@@ -479,7 +479,7 @@ struct dmi_system_id {
+ const char *ident;
+ struct dmi_strmatch matches[4];
+ void *driver_data;
+-};
++} __do_const;
+ /*
+ * struct dmi_device_id appears during expansion of
+ * "MODULE_DEVICE_TABLE(dmi, x)". Compiler doesn't look inside it
diff --git a/include/linux/module.h b/include/linux/module.h
-index 3cb7839..dcb1974 100644
+index 3cb7839..56d41ff 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -17,9 +17,11 @@
@@ -66684,7 +69118,31 @@ index 3cb7839..dcb1974 100644
#include <trace/events/module.h>
-@@ -261,19 +263,16 @@ struct module
+@@ -53,12 +55,13 @@ struct module_attribute {
+ int (*test)(struct module *);
+ void (*free)(struct module *);
+ };
++typedef struct module_attribute __no_const module_attribute_no_const;
+
+ struct module_version_attribute {
+ struct module_attribute mattr;
+ const char *module_name;
+ const char *version;
+-} __attribute__ ((__aligned__(sizeof(void *))));
++} __do_const __attribute__ ((__aligned__(sizeof(void *))));
+
+ extern ssize_t __modver_version_show(struct module_attribute *,
+ struct module_kobject *, char *);
+@@ -217,7 +220,7 @@ struct module
+
+ /* Sysfs stuff. */
+ struct module_kobject mkobj;
+- struct module_attribute *modinfo_attrs;
++ module_attribute_no_const *modinfo_attrs;
+ const char *version;
+ const char *srcversion;
+ struct kobject *holders_dir;
+@@ -261,19 +264,16 @@ struct module
int (*init)(void);
/* If this is non-NULL, vfree after init() returns */
@@ -66708,7 +69166,7 @@ index 3cb7839..dcb1974 100644
/* Arch-specific module values */
struct mod_arch_specific arch;
-@@ -329,6 +328,10 @@ struct module
+@@ -329,6 +329,10 @@ struct module
#ifdef CONFIG_EVENT_TRACING
struct ftrace_event_call **trace_events;
unsigned int num_trace_events;
@@ -66719,7 +69177,7 @@ index 3cb7839..dcb1974 100644
#endif
#ifdef CONFIG_FTRACE_MCOUNT_RECORD
unsigned int num_ftrace_callsites;
-@@ -379,16 +382,46 @@ bool is_module_address(unsigned long addr);
+@@ -379,16 +383,46 @@ bool is_module_address(unsigned long addr);
bool is_module_percpu_address(unsigned long addr);
bool is_module_text_address(unsigned long addr);
@@ -66849,8 +69307,21 @@ index ffc0213..2c1f2cb 100644
{
return nd->saved_names[nd->depth];
}
+diff --git a/include/linux/net.h b/include/linux/net.h
+index b299230..4915063 100644
+--- a/include/linux/net.h
++++ b/include/linux/net.h
+@@ -216,7 +216,7 @@ struct net_proto_family {
+ int (*create)(struct net *net, struct socket *sock,
+ int protocol, int kern);
+ struct module *owner;
+-};
++} __do_const;
+
+ struct iovec;
+ struct kvec;
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
-index 00ca32b..1f8accc 100644
+index 00ca32b..60cc3a6 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -949,6 +949,7 @@ struct net_device_ops {
@@ -66870,6 +69341,28 @@ index 00ca32b..1f8accc 100644
* Do not use this in drivers.
*/
+@@ -2585,7 +2586,7 @@ static inline int netif_is_bond_slave(struct net_device *dev)
+ return dev->flags & IFF_SLAVE && dev->priv_flags & IFF_BONDING;
+ }
+
+-extern struct pernet_operations __net_initdata loopback_net_ops;
++extern struct pernet_operations __net_initconst loopback_net_ops;
+
+ static inline u32 dev_ethtool_get_rx_csum(struct net_device *dev)
+ {
+diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h
+index 857f502..350a113 100644
+--- a/include/linux/netfilter.h
++++ b/include/linux/netfilter.h
+@@ -141,7 +141,7 @@ struct nf_sockopt_ops {
+ #endif
+ /* Use the module struct to lock set/get code in place */
+ struct module *owner;
+-};
++} __do_const;
+
+ /* Function to register/unregister hook points. */
+ int nf_register_hook(struct nf_hook_ops *reg);
diff --git a/include/linux/netfilter/ipset/ip_set.h b/include/linux/netfilter/ipset/ip_set.h
index 3540c6e..83adb6c 100644
--- a/include/linux/netfilter/ipset/ip_set.h
@@ -66911,6 +69404,19 @@ index 0000000..33f4af8
+};
+
+#endif
+diff --git a/include/linux/nls.h b/include/linux/nls.h
+index 5dc635f..35f5e11 100644
+--- a/include/linux/nls.h
++++ b/include/linux/nls.h
+@@ -31,7 +31,7 @@ struct nls_table {
+ const unsigned char *charset2upper;
+ struct module *owner;
+ struct nls_table *next;
+-};
++} __do_const;
+
+ /* this value hold the maximum octet of charset */
+ #define NLS_MAX_CHARSET_SIZE 6 /* for UTF-8 */
diff --git a/include/linux/notifier.h b/include/linux/notifier.h
index d65746e..62e72c2 100644
--- a/include/linux/notifier.h
@@ -66963,8 +69469,22 @@ index 4633b2f..988bc08 100644
atomic_t reorder_objects;
atomic_t refcnt;
unsigned int max_seq_nr;
+diff --git a/include/linux/pci_hotplug.h b/include/linux/pci_hotplug.h
+index 45fc162..01a4068 100644
+--- a/include/linux/pci_hotplug.h
++++ b/include/linux/pci_hotplug.h
+@@ -80,7 +80,8 @@ struct hotplug_slot_ops {
+ int (*get_attention_status) (struct hotplug_slot *slot, u8 *value);
+ int (*get_latch_status) (struct hotplug_slot *slot, u8 *value);
+ int (*get_adapter_status) (struct hotplug_slot *slot, u8 *value);
+-};
++} __do_const;
++typedef struct hotplug_slot_ops __no_const hotplug_slot_ops_no_const;
+
+ /**
+ * struct hotplug_slot_info - used to notify the hotplug pci core of the state of the slot
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
-index b669be6..22773f5 100644
+index 9b9b2aa..6a25301 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -748,8 +748,8 @@ struct perf_event {
@@ -66989,7 +69509,7 @@ index b669be6..22773f5 100644
/*
* Protect attach/detach and child_list:
-@@ -1193,7 +1193,7 @@ static inline void perf_event_task_tick(void) { }
+@@ -1199,7 +1199,7 @@ static inline void perf_restore_debug_store(void) { }
*/
#define perf_cpu_notifier(fn) \
do { \
@@ -67040,6 +69560,19 @@ index d3085e7..fd01052 100644
}
#else /* !CONFIG_PM_RUNTIME */
+diff --git a/include/linux/pnp.h b/include/linux/pnp.h
+index 195aafc..49a7bc2 100644
+--- a/include/linux/pnp.h
++++ b/include/linux/pnp.h
+@@ -297,7 +297,7 @@ static inline void pnp_set_drvdata(struct pnp_dev *pdev, void *data)
+ struct pnp_fixup {
+ char id[7];
+ void (*quirk_function) (struct pnp_dev * dev); /* fixup function */
+-};
++} __do_const;
+
+ /* config parameters */
+ #define PNP_CONFIG_NORMAL 0x0001
diff --git a/include/linux/poison.h b/include/linux/poison.h
index 79159de..f1233a9 100644
--- a/include/linux/poison.h
@@ -67055,6 +69588,19 @@ index 79159de..f1233a9 100644
/********** include/linux/timer.h **********/
/*
+diff --git a/include/linux/ppp-comp.h b/include/linux/ppp-comp.h
+index b8d4ddd..bb59d8b 100644
+--- a/include/linux/ppp-comp.h
++++ b/include/linux/ppp-comp.h
+@@ -111,7 +111,7 @@ struct compressor {
+ struct module *owner;
+ /* Extra skb space needed by the compressor algorithm */
+ unsigned int comp_extra;
+-};
++} __do_const;
+
+ /*
+ * The return value from decompress routine is the length of the
diff --git a/include/linux/printk.h b/include/linux/printk.h
index f0e22f7..82dd544 100644
--- a/include/linux/printk.h
@@ -67077,7 +69623,7 @@ index f0e22f7..82dd544 100644
void log_buf_kexec_setup(void);
void __init setup_log_buf(int early);
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h
-index 643b96c..afeaad5 100644
+index 643b96c..9544c71 100644
--- a/include/linux/proc_fs.h
+++ b/include/linux/proc_fs.h
@@ -155,6 +155,19 @@ static inline struct proc_dir_entry *proc_create(const char *name, mode_t mode,
@@ -67100,6 +69646,15 @@ index 643b96c..afeaad5 100644
static inline struct proc_dir_entry *create_proc_read_entry(const char *name,
mode_t mode, struct proc_dir_entry *base,
read_proc_t *read_proc, void * data)
+@@ -247,7 +260,7 @@ struct proc_ns_operations {
+ void *(*get)(struct task_struct *task);
+ void (*put)(void *ns);
+ int (*install)(struct nsproxy *nsproxy, void *ns);
+-};
++} __do_const;
+ extern const struct proc_ns_operations netns_operations;
+ extern const struct proc_ns_operations utsns_operations;
+ extern const struct proc_ns_operations ipcns_operations;
diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h
index 800f113..12c82ec 100644
--- a/include/linux/ptrace.h
@@ -67155,6 +69710,54 @@ index 29e217a..1dee1dd 100644
}
/**
+diff --git a/include/linux/rculist.h b/include/linux/rculist.h
+index d079290..fa711cb 100644
+--- a/include/linux/rculist.h
++++ b/include/linux/rculist.h
+@@ -39,6 +39,9 @@ static inline void __list_add_rcu(struct list_head *new,
+ next->prev = new;
+ }
+
++extern void __pax_list_add_rcu(struct list_head *new,
++ struct list_head *prev, struct list_head *next);
++
+ /**
+ * list_add_rcu - add a new entry to rcu-protected list
+ * @new: new entry to be added
+@@ -60,6 +63,11 @@ static inline void list_add_rcu(struct list_head *new, struct list_head *head)
+ __list_add_rcu(new, head, head->next);
+ }
+
++static inline void pax_list_add_rcu(struct list_head *new, struct list_head *head)
++{
++ __pax_list_add_rcu(new, head, head->next);
++}
++
+ /**
+ * list_add_tail_rcu - add a new entry to rcu-protected list
+ * @new: new entry to be added
+@@ -82,6 +90,12 @@ static inline void list_add_tail_rcu(struct list_head *new,
+ __list_add_rcu(new, head->prev, head);
+ }
+
++static inline void pax_list_add_tail_rcu(struct list_head *new,
++ struct list_head *head)
++{
++ __pax_list_add_rcu(new, head->prev, head);
++}
++
+ /**
+ * list_del_rcu - deletes entry from list without re-initialization
+ * @entry: the element to delete from the list.
+@@ -112,6 +126,8 @@ static inline void list_del_rcu(struct list_head *entry)
+ entry->prev = LIST_POISON2;
+ }
+
++extern void pax_list_del_rcu(struct list_head *entry);
++
+ /**
+ * hlist_del_init_rcu - deletes entry from hash list with re-initialization
+ * @n: the element to delete from the hash list.
diff --git a/include/linux/reboot.h b/include/linux/reboot.h
index e0879a7..a12f962 100644
--- a/include/linux/reboot.h
@@ -67276,7 +69879,7 @@ index 2148b12..519b820 100644
static inline void anon_vma_merge(struct vm_area_struct *vma,
diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 8204898..bcc2c30 100644
+index 8204898..7e2119f 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -101,6 +101,7 @@ struct bio_list;
@@ -67287,6 +69890,15 @@ index 8204898..bcc2c30 100644
/*
* List of flags we want to share for kernel threads,
+@@ -355,7 +356,7 @@ extern char __sched_text_start[], __sched_text_end[];
+ extern int in_sched_functions(unsigned long addr);
+
+ #define MAX_SCHEDULE_TIMEOUT LONG_MAX
+-extern signed long schedule_timeout(signed long timeout);
++extern signed long schedule_timeout(signed long timeout) __intentional_overflow(-1);
+ extern signed long schedule_timeout_interruptible(signed long timeout);
+ extern signed long schedule_timeout_killable(signed long timeout);
+ extern signed long schedule_timeout_uninterruptible(signed long timeout);
@@ -381,10 +382,23 @@ struct user_namespace;
#define DEFAULT_MAX_MAP_COUNT (USHRT_MAX - MAPCOUNT_ELF_CORE_MARGIN)
@@ -67353,6 +69965,15 @@ index 8204898..bcc2c30 100644
/* Hash table maintenance information */
struct hlist_node uidhash_node;
uid_t uid;
+@@ -1125,7 +1160,7 @@ struct sched_class {
+ #ifdef CONFIG_FAIR_GROUP_SCHED
+ void (*task_move_group) (struct task_struct *p, int on_rq);
+ #endif
+-};
++} __do_const;
+
+ struct load_weight {
+ unsigned long weight, inv_weight;
@@ -1341,8 +1376,8 @@ struct task_struct {
struct list_head thread_group;
@@ -67625,7 +70246,7 @@ index 92808b8..c28cac4 100644
/* shm_mode upper byte flags */
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
-index 53dc7e7..e353d6b 100644
+index da65890..108f60f 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -538,7 +538,7 @@ extern void consume_skb(struct sk_buff *skb);
@@ -67664,7 +70285,7 @@ index 53dc7e7..e353d6b 100644
}
/**
-@@ -1543,7 +1543,7 @@ static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
+@@ -1546,7 +1546,7 @@ static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD
@@ -67673,7 +70294,7 @@ index 53dc7e7..e353d6b 100644
#endif
extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);
-@@ -2082,7 +2082,7 @@ extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags,
+@@ -2085,7 +2085,7 @@ extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags,
int noblock, int *err);
extern unsigned int datagram_poll(struct file *file, struct socket *sock,
struct poll_table_struct *wait);
@@ -67979,9 +70600,18 @@ index 6a40c76..1747b67 100644
enum {
false = 0,
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h
-index 3d8f9c4..69f1c0a 100644
+index 3d8f9c4..349a695 100644
--- a/include/linux/sunrpc/clnt.h
+++ b/include/linux/sunrpc/clnt.h
+@@ -98,7 +98,7 @@ struct rpc_procinfo {
+ unsigned int p_timer; /* Which RTT timer to use */
+ u32 p_statidx; /* Which procedure to account */
+ char * p_name; /* name of procedure */
+-};
++} __do_const;
+
+ #ifdef __KERNEL__
+
@@ -172,9 +172,9 @@ static inline unsigned short rpc_get_port(const struct sockaddr *sap)
{
switch (sap->sa_family) {
@@ -68012,6 +70642,19 @@ index 3d8f9c4..69f1c0a 100644
}
#endif /* __KERNEL__ */
+diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h
+index 35b37b1..c39eab4 100644
+--- a/include/linux/sunrpc/svc.h
++++ b/include/linux/sunrpc/svc.h
+@@ -408,7 +408,7 @@ struct svc_procedure {
+ unsigned int pc_count; /* call count */
+ unsigned int pc_cachetype; /* cache info (NFS) */
+ unsigned int pc_xdrressize; /* maximum size of XDR reply */
+-};
++} __do_const;
+
+ /*
+ * Function prototypes.
diff --git a/include/linux/sunrpc/svc_rdma.h b/include/linux/sunrpc/svc_rdma.h
index c14fe86..393245e 100644
--- a/include/linux/sunrpc/svc_rdma.h
@@ -68041,8 +70684,78 @@ index c14fe86..393245e 100644
#define RPCRDMA_VERSION 1
+diff --git a/include/linux/sunrpc/svcauth.h b/include/linux/sunrpc/svcauth.h
+index 25d333c..a722ca0 100644
+--- a/include/linux/sunrpc/svcauth.h
++++ b/include/linux/sunrpc/svcauth.h
+@@ -100,7 +100,7 @@ struct auth_ops {
+ int (*release)(struct svc_rqst *rq);
+ void (*domain_release)(struct auth_domain *);
+ int (*set_client)(struct svc_rqst *rq);
+-};
++} __do_const;
+
+ #define SVC_GARBAGE 1
+ #define SVC_SYSERR 2
+diff --git a/include/linux/swab.h b/include/linux/swab.h
+index ea0c02f..0eed39d 100644
+--- a/include/linux/swab.h
++++ b/include/linux/swab.h
+@@ -43,7 +43,7 @@
+ * ___swab16, ___swab32, ___swab64, ___swahw32, ___swahb32
+ */
+
+-static inline __attribute_const__ __u16 __fswab16(__u16 val)
++static inline __intentional_overflow(-1) __attribute_const__ __u16 __fswab16(__u16 val)
+ {
+ #ifdef __arch_swab16
+ return __arch_swab16(val);
+@@ -52,7 +52,7 @@ static inline __attribute_const__ __u16 __fswab16(__u16 val)
+ #endif
+ }
+
+-static inline __attribute_const__ __u32 __fswab32(__u32 val)
++static inline __intentional_overflow(-1) __attribute_const__ __u32 __fswab32(__u32 val)
+ {
+ #ifdef __arch_swab32
+ return __arch_swab32(val);
+@@ -61,7 +61,7 @@ static inline __attribute_const__ __u32 __fswab32(__u32 val)
+ #endif
+ }
+
+-static inline __attribute_const__ __u64 __fswab64(__u64 val)
++static inline __intentional_overflow(-1) __attribute_const__ __u64 __fswab64(__u64 val)
+ {
+ #ifdef __arch_swab64
+ return __arch_swab64(val);
+diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
+index 86a24b1..5991c65 100644
+--- a/include/linux/syscalls.h
++++ b/include/linux/syscalls.h
+@@ -608,7 +608,7 @@ asmlinkage long sys_getsockname(int, struct sockaddr __user *, int __user *);
+ asmlinkage long sys_getpeername(int, struct sockaddr __user *, int __user *);
+ asmlinkage long sys_send(int, void __user *, size_t, unsigned);
+ asmlinkage long sys_sendto(int, void __user *, size_t, unsigned,
+- struct sockaddr __user *, int);
++ struct sockaddr __user *, int) __intentional_overflow(0);
+ asmlinkage long sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags);
+ asmlinkage long sys_sendmmsg(int fd, struct mmsghdr __user *msg,
+ unsigned int vlen, unsigned flags);
+diff --git a/include/linux/syscore_ops.h b/include/linux/syscore_ops.h
+index 27b3b0b..e093dd9 100644
+--- a/include/linux/syscore_ops.h
++++ b/include/linux/syscore_ops.h
+@@ -16,7 +16,7 @@ struct syscore_ops {
+ int (*suspend)(void);
+ void (*resume)(void);
+ void (*shutdown)(void);
+-};
++} __do_const;
+
+ extern void register_syscore_ops(struct syscore_ops *ops);
+ extern void unregister_syscore_ops(struct syscore_ops *ops);
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
-index 703cfa33..0b8ca72ac 100644
+index 703cfa33..dff53c0 100644
--- a/include/linux/sysctl.h
+++ b/include/linux/sysctl.h
@@ -155,7 +155,11 @@ enum
@@ -68058,7 +70771,14 @@ index 703cfa33..0b8ca72ac 100644
/* CTL_VM names: */
enum
-@@ -968,6 +972,8 @@ typedef int proc_handler (struct ctl_table *ctl, int write,
+@@ -961,13 +965,13 @@ extern void sysctl_head_finish(struct ctl_table_header *prev);
+ extern int sysctl_perm(struct ctl_table_root *root,
+ struct ctl_table *table, int op);
+
+-typedef struct ctl_table ctl_table;
+-
+ typedef int proc_handler (struct ctl_table *ctl, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos);
extern int proc_dostring(struct ctl_table *, int,
void __user *, size_t *, loff_t *);
@@ -68067,19 +70787,80 @@ index 703cfa33..0b8ca72ac 100644
extern int proc_dointvec(struct ctl_table *, int,
void __user *, size_t *, loff_t *);
extern int proc_dointvec_minmax(struct ctl_table *, int,
+@@ -1045,7 +1049,9 @@ struct ctl_table
+ struct ctl_table_poll *poll;
+ void *extra1;
+ void *extra2;
+-};
++} __do_const;
++typedef struct ctl_table __no_const ctl_table_no_const;
++typedef struct ctl_table ctl_table;
+
+ struct ctl_table_root {
+ struct list_head root_list;
+diff --git a/include/linux/sysdev.h b/include/linux/sysdev.h
+index 20f63d3..fdd3cbb 100644
+--- a/include/linux/sysdev.h
++++ b/include/linux/sysdev.h
+@@ -98,7 +98,7 @@ struct sysdev_attribute {
+ ssize_t (*store)(struct sys_device *, struct sysdev_attribute *,
+ const char *, size_t);
+ };
+-
++typedef struct sysdev_attribute __no_const sysdev_attribute_no_const;
+
+ #define _SYSDEV_ATTR(_name, _mode, _show, _store) \
+ { \
+diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
+index dac0859..4ea79a9 100644
+--- a/include/linux/sysfs.h
++++ b/include/linux/sysfs.h
+@@ -30,7 +30,8 @@ struct attribute {
+ struct lock_class_key *key;
+ struct lock_class_key skey;
+ #endif
+-};
++} __do_const;
++typedef struct attribute __no_const attribute_no_const;
+
+ /**
+ * sysfs_attr_init - initialize a dynamically allocated sysfs attribute
+@@ -58,8 +59,8 @@ struct attribute_group {
+ mode_t (*is_visible)(struct kobject *,
+ struct attribute *, int);
+ struct attribute **attrs;
+-};
+-
++} __do_const;
++typedef struct attribute_group __no_const attribute_group_no_const;
+
+
+ /**
+@@ -95,7 +96,8 @@ struct bin_attribute {
+ char *, loff_t, size_t);
+ int (*mmap)(struct file *, struct kobject *, struct bin_attribute *attr,
+ struct vm_area_struct *vma);
+-};
++} __do_const;
++typedef struct bin_attribute __no_const bin_attribute_no_const;
+
+ /**
+ * sysfs_bin_attr_init - initialize a dynamically allocated bin_attribute
diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h
-index 7faf933..c1ad32c 100644
+index 7faf933..4657127 100644
--- a/include/linux/sysrq.h
+++ b/include/linux/sysrq.h
-@@ -15,6 +15,7 @@
+@@ -15,7 +15,9 @@
#define _LINUX_SYSRQ_H
#include <linux/errno.h>
+#include <linux/compiler.h>
#include <linux/types.h>
++#include <linux/compiler.h>
/* Enable/disable SYSRQ support by default (0==no, 1==yes). */
-@@ -36,7 +37,7 @@ struct sysrq_key_op {
+ #define SYSRQ_DEFAULT_ENABLE 1
+@@ -36,7 +38,7 @@ struct sysrq_key_op {
char *help_msg;
char *action_msg;
int enable_mask;
@@ -68230,42 +71011,50 @@ index 5ca0951..53a2fff 100644
#endif /* __LINUX_UACCESS_H__ */
diff --git a/include/linux/unaligned/access_ok.h b/include/linux/unaligned/access_ok.h
-index 99c1b4d..bb94261 100644
+index 99c1b4d..562e6f3 100644
--- a/include/linux/unaligned/access_ok.h
+++ b/include/linux/unaligned/access_ok.h
-@@ -6,32 +6,32 @@
+@@ -4,34 +4,34 @@
+ #include <linux/kernel.h>
+ #include <asm/byteorder.h>
- static inline u16 get_unaligned_le16(const void *p)
+-static inline u16 get_unaligned_le16(const void *p)
++static inline u16 __intentional_overflow(-1) get_unaligned_le16(const void *p)
{
- return le16_to_cpup((__le16 *)p);
+ return le16_to_cpup((const __le16 *)p);
}
- static inline u32 get_unaligned_le32(const void *p)
+-static inline u32 get_unaligned_le32(const void *p)
++static inline u32 __intentional_overflow(-1) get_unaligned_le32(const void *p)
{
- return le32_to_cpup((__le32 *)p);
+ return le32_to_cpup((const __le32 *)p);
}
- static inline u64 get_unaligned_le64(const void *p)
+-static inline u64 get_unaligned_le64(const void *p)
++static inline u64 __intentional_overflow(-1) get_unaligned_le64(const void *p)
{
- return le64_to_cpup((__le64 *)p);
+ return le64_to_cpup((const __le64 *)p);
}
- static inline u16 get_unaligned_be16(const void *p)
+-static inline u16 get_unaligned_be16(const void *p)
++static inline u16 __intentional_overflow(-1) get_unaligned_be16(const void *p)
{
- return be16_to_cpup((__be16 *)p);
+ return be16_to_cpup((const __be16 *)p);
}
- static inline u32 get_unaligned_be32(const void *p)
+-static inline u32 get_unaligned_be32(const void *p)
++static inline u32 __intentional_overflow(-1) get_unaligned_be32(const void *p)
{
- return be32_to_cpup((__be32 *)p);
+ return be32_to_cpup((const __be32 *)p);
}
- static inline u64 get_unaligned_be64(const void *p)
+-static inline u64 get_unaligned_be64(const void *p)
++static inline u64 __intentional_overflow(-1) get_unaligned_be64(const void *p)
{
- return be64_to_cpup((__be64 *)p);
+ return be64_to_cpup((const __be64 *)p);
@@ -68273,7 +71062,7 @@ index 99c1b4d..bb94261 100644
static inline void put_unaligned_le16(u16 val, void *p)
diff --git a/include/linux/usb.h b/include/linux/usb.h
-index 93629fc..0c97651 100644
+index 93629fc..be16802 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -497,7 +497,7 @@ struct usb_device {
@@ -68285,6 +71074,15 @@ index 93629fc..0c97651 100644
unsigned long active_duration;
+@@ -1442,7 +1442,7 @@ void usb_buffer_unmap_sg(const struct usb_device *dev, int is_in,
+
+ extern int usb_control_msg(struct usb_device *dev, unsigned int pipe,
+ __u8 request, __u8 requesttype, __u16 value, __u16 index,
+- void *data, __u16 size, int timeout);
++ void *data, __u16 size, int timeout) __intentional_overflow(-1);
+ extern int usb_interrupt_msg(struct usb_device *usb_dev, unsigned int pipe,
+ void *data, int len, int *actual_length, int timeout);
+ extern int usb_bulk_msg(struct usb_device *usb_dev, unsigned int pipe,
diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h
index e5a40c3..d75f068 100644
--- a/include/linux/usb/renesas_usbhs.h
@@ -68484,7 +71282,7 @@ index 65efb92..137adbb 100644
static inline void __dec_zone_page_state(struct page *page,
diff --git a/include/linux/xattr.h b/include/linux/xattr.h
-index e5d1220..ef6e406 100644
+index e5d1220..7ed3f9c 100644
--- a/include/linux/xattr.h
+++ b/include/linux/xattr.h
@@ -57,6 +57,11 @@
@@ -68499,6 +71297,36 @@ index e5d1220..ef6e406 100644
#ifdef __KERNEL__
#include <linux/types.h>
+@@ -73,7 +78,7 @@ struct xattr_handler {
+ size_t size, int handler_flags);
+ int (*set)(struct dentry *dentry, const char *name, const void *buffer,
+ size_t size, int flags, int handler_flags);
+-};
++} __do_const;
+
+ struct xattr {
+ char *name;
+diff --git a/include/linux/zlib.h b/include/linux/zlib.h
+index 9c5a6b4..09c9438 100644
+--- a/include/linux/zlib.h
++++ b/include/linux/zlib.h
+@@ -31,6 +31,7 @@
+ #define _ZLIB_H
+
+ #include <linux/zconf.h>
++#include <linux/compiler.h>
+
+ /* zlib deflate based on ZLIB_VERSION "1.1.3" */
+ /* zlib inflate based on ZLIB_VERSION "1.2.3" */
+@@ -179,7 +180,7 @@ typedef z_stream *z_streamp;
+
+ /* basic functions */
+
+-extern int zlib_deflate_workspacesize (int windowBits, int memLevel);
++extern int zlib_deflate_workspacesize (int windowBits, int memLevel) __intentional_overflow(0);
+ /*
+ Returns the number of bytes that needs to be allocated for a per-
+ stream workspace with the specified parameters. A pointer to this
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
index c7c40f1..5c31482 100644
--- a/include/media/v4l2-dev.h
@@ -68524,6 +71352,32 @@ index 4d1c74a..8e58054 100644
/* v4l debugging and diagnostics */
/* Debug bitmask flags to be used on V4L2 */
+diff --git a/include/net/9p/transport.h b/include/net/9p/transport.h
+index adcbb20..62c2559 100644
+--- a/include/net/9p/transport.h
++++ b/include/net/9p/transport.h
+@@ -57,7 +57,7 @@ struct p9_trans_module {
+ int (*cancel) (struct p9_client *, struct p9_req_t *req);
+ int (*zc_request)(struct p9_client *, struct p9_req_t *,
+ char *, char *, int , int, int, int);
+-};
++} __do_const;
+
+ void v9fs_register_trans(struct p9_trans_module *m);
+ void v9fs_unregister_trans(struct p9_trans_module *m);
+diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
+index 6cc18f3..b0df15a 100644
+--- a/include/net/bluetooth/l2cap.h
++++ b/include/net/bluetooth/l2cap.h
+@@ -387,7 +387,7 @@ struct l2cap_ops {
+ int (*recv) (void *data, struct sk_buff *skb);
+ void (*close) (void *data);
+ void (*state_change) (void *data, int state);
+-};
++} __do_const;
+
+ struct l2cap_conn {
+ struct hci_conn *hcon;
diff --git a/include/net/caif/cfctrl.h b/include/net/caif/cfctrl.h
index 9e5425b..8136ffc 100644
--- a/include/net/caif/cfctrl.h
@@ -68560,6 +71414,19 @@ index 2a7eefd..3250f3b 100644
+extern atomic_unchecked_t flow_cache_genid;
#endif
+diff --git a/include/net/genetlink.h b/include/net/genetlink.h
+index 82d8d09..d1e04ff 100644
+--- a/include/net/genetlink.h
++++ b/include/net/genetlink.h
+@@ -116,7 +116,7 @@ struct genl_ops {
+ struct netlink_callback *cb);
+ int (*done)(struct netlink_callback *cb);
+ struct list_head ops_list;
+-};
++} __do_const;
+
+ extern int genl_register_family(struct genl_family *family);
+ extern int genl_register_family_with_ops(struct genl_family *family,
diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h
index ca2755f..85ec88c 100644
--- a/include/net/inet_connection_sock.h
@@ -68602,11 +71469,24 @@ index e9ff3fc..9d3e5c7 100644
return new;
}
+diff --git a/include/net/ip.h b/include/net/ip.h
+index eca0ef7..88118cb 100644
+--- a/include/net/ip.h
++++ b/include/net/ip.h
+@@ -214,7 +214,7 @@ extern struct local_ports {
+ } sysctl_local_ports;
+ extern void inet_get_local_port_range(int *low, int *high);
+
+-extern unsigned long *sysctl_local_reserved_ports;
++extern unsigned long sysctl_local_reserved_ports[65536 / 8 / sizeof(unsigned long)];
+ static inline int inet_is_reserved_local_port(int port)
+ {
+ return test_bit(port, sysctl_local_reserved_ports);
diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h
-index 10422ef..662570f 100644
+index 2124004..3713897 100644
--- a/include/net/ip_fib.h
+++ b/include/net/ip_fib.h
-@@ -146,7 +146,7 @@ extern __be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh);
+@@ -144,7 +144,7 @@ extern __be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh);
#define FIB_RES_SADDR(net, res) \
((FIB_RES_NH(res).nh_saddr_genid == \
@@ -68616,7 +71496,7 @@ index 10422ef..662570f 100644
fib_info_update_nh_saddr((net), &FIB_RES_NH(res)))
#define FIB_RES_GW(res) (FIB_RES_NH(res).nh_gw)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
-index 416dcb0..dc75cc1 100644
+index 416dcb0..e203877 100644
--- a/include/net/ip_vs.h
+++ b/include/net/ip_vs.h
@@ -509,7 +509,7 @@ struct ip_vs_conn {
@@ -68637,6 +71517,20 @@ index 416dcb0..dc75cc1 100644
atomic_t weight; /* server weight */
atomic_t refcnt; /* reference counter */
+@@ -878,11 +878,11 @@ struct netns_ipvs {
+ /* ip_vs_lblc */
+ int sysctl_lblc_expiration;
+ struct ctl_table_header *lblc_ctl_header;
+- struct ctl_table *lblc_ctl_table;
++ ctl_table_no_const *lblc_ctl_table;
+ /* ip_vs_lblcr */
+ int sysctl_lblcr_expiration;
+ struct ctl_table_header *lblcr_ctl_header;
+- struct ctl_table *lblcr_ctl_table;
++ ctl_table_no_const *lblcr_ctl_table;
+ /* ip_vs_est */
+ struct list_head est_list; /* estimator list */
+ spinlock_t est_lock;
diff --git a/include/net/irda/ircomm_tty.h b/include/net/irda/ircomm_tty.h
index 59ba38bc..d515662 100644
--- a/include/net/irda/ircomm_tty.h
@@ -68673,6 +71567,86 @@ index f2419cf..473679f 100644
};
unsigned int iucv_sock_poll(struct file *file, struct socket *sock,
+diff --git a/include/net/llc_c_ac.h b/include/net/llc_c_ac.h
+index df83f69..9b640b8 100644
+--- a/include/net/llc_c_ac.h
++++ b/include/net/llc_c_ac.h
+@@ -87,7 +87,7 @@
+ #define LLC_CONN_AC_STOP_SENDACK_TMR 70
+ #define LLC_CONN_AC_START_SENDACK_TMR_IF_NOT_RUNNING 71
+
+-typedef int (*llc_conn_action_t)(struct sock *sk, struct sk_buff *skb);
++typedef int (* const llc_conn_action_t)(struct sock *sk, struct sk_buff *skb);
+
+ extern int llc_conn_ac_clear_remote_busy(struct sock *sk, struct sk_buff *skb);
+ extern int llc_conn_ac_conn_ind(struct sock *sk, struct sk_buff *skb);
+diff --git a/include/net/llc_c_ev.h b/include/net/llc_c_ev.h
+index 23a4093..6d106df 100644
+--- a/include/net/llc_c_ev.h
++++ b/include/net/llc_c_ev.h
+@@ -125,8 +125,8 @@ static __inline__ struct llc_conn_state_ev *llc_conn_ev(struct sk_buff *skb)
+ return (struct llc_conn_state_ev *)skb->cb;
+ }
+
+-typedef int (*llc_conn_ev_t)(struct sock *sk, struct sk_buff *skb);
+-typedef int (*llc_conn_ev_qfyr_t)(struct sock *sk, struct sk_buff *skb);
++typedef int (* const llc_conn_ev_t)(struct sock *sk, struct sk_buff *skb);
++typedef int (* const llc_conn_ev_qfyr_t)(struct sock *sk, struct sk_buff *skb);
+
+ extern int llc_conn_ev_conn_req(struct sock *sk, struct sk_buff *skb);
+ extern int llc_conn_ev_data_req(struct sock *sk, struct sk_buff *skb);
+diff --git a/include/net/llc_c_st.h b/include/net/llc_c_st.h
+index 0e79cfb..f46db31 100644
+--- a/include/net/llc_c_st.h
++++ b/include/net/llc_c_st.h
+@@ -37,7 +37,7 @@ struct llc_conn_state_trans {
+ u8 next_state;
+ llc_conn_ev_qfyr_t *ev_qualifiers;
+ llc_conn_action_t *ev_actions;
+-};
++} __do_const;
+
+ struct llc_conn_state {
+ u8 current_state;
+diff --git a/include/net/llc_s_ac.h b/include/net/llc_s_ac.h
+index 37a3bbd..55a4241 100644
+--- a/include/net/llc_s_ac.h
++++ b/include/net/llc_s_ac.h
+@@ -23,7 +23,7 @@
+ #define SAP_ACT_TEST_IND 9
+
+ /* All action functions must look like this */
+-typedef int (*llc_sap_action_t)(struct llc_sap *sap, struct sk_buff *skb);
++typedef int (* const llc_sap_action_t)(struct llc_sap *sap, struct sk_buff *skb);
+
+ extern int llc_sap_action_unitdata_ind(struct llc_sap *sap,
+ struct sk_buff *skb);
+diff --git a/include/net/llc_s_st.h b/include/net/llc_s_st.h
+index 567c681..cd73ac0 100644
+--- a/include/net/llc_s_st.h
++++ b/include/net/llc_s_st.h
+@@ -20,7 +20,7 @@ struct llc_sap_state_trans {
+ llc_sap_ev_t ev;
+ u8 next_state;
+ llc_sap_action_t *ev_actions;
+-};
++} __do_const;
+
+ struct llc_sap_state {
+ u8 curr_state;
+diff --git a/include/net/mac80211.h b/include/net/mac80211.h
+index 1a6201a..66d9531 100644
+--- a/include/net/mac80211.h
++++ b/include/net/mac80211.h
+@@ -3529,7 +3529,7 @@ struct rate_control_ops {
+ void (*add_sta_debugfs)(void *priv, void *priv_sta,
+ struct dentry *dir);
+ void (*remove_sta_debugfs)(void *priv, void *priv_sta);
+-};
++} __do_const;
+
+ static inline int rate_supported(struct ieee80211_sta *sta,
+ enum ieee80211_band band,
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index 2720884..3aa5c25 100644
--- a/include/net/neighbour.h
@@ -68686,6 +71660,32 @@ index 2720884..3aa5c25 100644
struct pneigh_entry {
struct pneigh_entry *next;
+diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
+index 3bb6fa0..41bbe86 100644
+--- a/include/net/net_namespace.h
++++ b/include/net/net_namespace.h
+@@ -240,10 +240,12 @@ static inline struct net *read_pnet(struct net * const *pnet)
+ #define __net_init
+ #define __net_exit
+ #define __net_initdata
++#define __net_initconst
+ #else
+ #define __net_init __init
+ #define __net_exit __exit_refok
+ #define __net_initdata __initdata
++#define __net_initconst __initconst
+ #endif
+
+ struct pernet_operations {
+@@ -253,7 +255,7 @@ struct pernet_operations {
+ void (*exit_batch)(struct list_head *net_exit_list);
+ int *id;
+ size_t size;
+-};
++} __do_const;
+
+ /*
+ * Use these carefully. If you implement a network device and it
diff --git a/include/net/netdma.h b/include/net/netdma.h
index 8ba8ce2..99b7fff 100644
--- a/include/net/netdma.h
@@ -68762,6 +71762,19 @@ index 6f7eb80..f9838be 100644
#define INET6_PROTO_NOPOLICY 0x1
#define INET6_PROTO_FINAL 0x2
+diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h
+index 3702939..cf9e78e 100644
+--- a/include/net/rtnetlink.h
++++ b/include/net/rtnetlink.h
+@@ -78,7 +78,7 @@ struct rtnl_link_ops {
+ int (*get_tx_queues)(struct net *net, struct nlattr *tb[],
+ unsigned int *tx_queues,
+ unsigned int *real_tx_queues);
+-};
++} __do_const;
+
+ extern int __rtnl_link_register(struct rtnl_link_ops *ops);
+ extern void __rtnl_link_unregister(struct rtnl_link_ops *ops);
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
index ad03988..0c5a964 100644
--- a/include/net/sctp/sctp.h
@@ -68779,19 +71792,32 @@ index ad03988..0c5a964 100644
#define SCTP_ENABLE_DEBUG
#define SCTP_DISABLE_DEBUG
#define SCTP_ASSERT(expr, str, func)
+diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h
+index 9148632..be3c5ac 100644
+--- a/include/net/sctp/sm.h
++++ b/include/net/sctp/sm.h
+@@ -86,7 +86,7 @@ typedef void (sctp_timer_event_t) (unsigned long);
+ typedef struct {
+ sctp_state_fn_t *fn;
+ const char *name;
+-} sctp_sm_table_entry_t;
++} __do_const sctp_sm_table_entry_t;
+
+ /* A naming convention of "sctp_sf_xxx" applies to all the state functions
+ * currently in use.
+@@ -295,7 +295,7 @@ __u32 sctp_generate_tag(const struct sctp_endpoint *);
+ __u32 sctp_generate_tsn(const struct sctp_endpoint *);
+
+ /* Extern declarations for major data structures. */
+-extern sctp_timer_event_t *sctp_timer_events[SCTP_NUM_TIMEOUT_TYPES];
++extern sctp_timer_event_t * const sctp_timer_events[SCTP_NUM_TIMEOUT_TYPES];
+
+
+ /* Get the size of a DATA chunk payload. */
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
-index a15432da..6e7d872 100644
+index a15432da..9459dcc 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
-@@ -624,7 +624,7 @@ struct sctp_af {
- int sockaddr_len;
- sa_family_t sa_family;
- struct list_head list;
--};
-+} __do_const;
-
- struct sctp_af *sctp_get_af_specific(sa_family_t);
- int sctp_register_af(struct sctp_af *);
@@ -644,7 +644,7 @@ struct sctp_pf {
struct sctp_association *asoc);
void (*addr_v4map) (struct sctp_sock *, union sctp_addr *);
@@ -68866,9 +71892,27 @@ index 0768715..3fedeb4 100644
#define TCP_SKB_CB(__skb) ((struct tcp_skb_cb *)&((__skb)->cb[0]))
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
-index 921f627..91461fe 100644
+index 921f627..4ec32de 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
+@@ -298,7 +298,7 @@ struct xfrm_policy_afinfo {
+ struct net_device *dev,
+ const struct flowi *fl);
+ struct dst_entry *(*blackhole_route)(struct net *net, struct dst_entry *orig);
+-};
++} __do_const;
+
+ extern int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo);
+ extern int xfrm_policy_unregister_afinfo(struct xfrm_policy_afinfo *afinfo);
+@@ -334,7 +334,7 @@ struct xfrm_state_afinfo {
+ struct sk_buff *skb);
+ int (*transport_finish)(struct sk_buff *skb,
+ int async);
+-};
++} __do_const;
+
+ extern int xfrm_state_register_afinfo(struct xfrm_state_afinfo *afinfo);
+ extern int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo);
@@ -417,7 +417,7 @@ struct xfrm_mode {
struct module *owner;
unsigned int encap;
@@ -69605,6 +72649,77 @@ index 5d0eb1d..b462edb 100644
/*
* Ok, we have completed the initial bootup, and
* we're essentially up and running. Get rid of the
+diff --git a/ipc/ipc_sysctl.c b/ipc/ipc_sysctl.c
+index 00fba2b..9afd545 100644
+--- a/ipc/ipc_sysctl.c
++++ b/ipc/ipc_sysctl.c
+@@ -30,7 +30,7 @@ static void *get_ipc(ctl_table *table)
+ static int proc_ipc_dointvec(ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- struct ctl_table ipc_table;
++ ctl_table_no_const ipc_table;
+
+ memcpy(&ipc_table, table, sizeof(ipc_table));
+ ipc_table.data = get_ipc(table);
+@@ -41,7 +41,7 @@ static int proc_ipc_dointvec(ctl_table *table, int write,
+ static int proc_ipc_dointvec_minmax(ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- struct ctl_table ipc_table;
++ ctl_table_no_const ipc_table;
+
+ memcpy(&ipc_table, table, sizeof(ipc_table));
+ ipc_table.data = get_ipc(table);
+@@ -65,7 +65,7 @@ static int proc_ipc_dointvec_minmax_orphans(ctl_table *table, int write,
+ static int proc_ipc_callback_dointvec(ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- struct ctl_table ipc_table;
++ ctl_table_no_const ipc_table;
+ size_t lenp_bef = *lenp;
+ int rc;
+
+@@ -88,7 +88,7 @@ static int proc_ipc_callback_dointvec(ctl_table *table, int write,
+ static int proc_ipc_doulongvec_minmax(ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- struct ctl_table ipc_table;
++ ctl_table_no_const ipc_table;
+ memcpy(&ipc_table, table, sizeof(ipc_table));
+ ipc_table.data = get_ipc(table);
+
+@@ -122,7 +122,7 @@ static void ipc_auto_callback(int val)
+ static int proc_ipcauto_dointvec_minmax(ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- struct ctl_table ipc_table;
++ ctl_table_no_const ipc_table;
+ size_t lenp_bef = *lenp;
+ int oldval;
+ int rc;
+diff --git a/ipc/mq_sysctl.c b/ipc/mq_sysctl.c
+index 0c09366..c81a8ec 100644
+--- a/ipc/mq_sysctl.c
++++ b/ipc/mq_sysctl.c
+@@ -34,7 +34,7 @@ static void *get_mq(ctl_table *table)
+ static int proc_mq_dointvec(ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- struct ctl_table mq_table;
++ ctl_table_no_const mq_table;
+ memcpy(&mq_table, table, sizeof(mq_table));
+ mq_table.data = get_mq(table);
+
+@@ -44,7 +44,7 @@ static int proc_mq_dointvec(ctl_table *table, int write,
+ static int proc_mq_dointvec_minmax(ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- struct ctl_table mq_table;
++ ctl_table_no_const mq_table;
+ memcpy(&mq_table, table, sizeof(mq_table));
+ mq_table.data = get_mq(table);
+
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index 5b4293d..f179875 100644
--- a/ipc/mqueue.c
@@ -70529,7 +73644,7 @@ index 234e152..0ae0243 100644
{
struct signal_struct *sig = current->signal;
diff --git a/kernel/fork.c b/kernel/fork.c
-index ce0c182..2d6bd03 100644
+index ce0c182..8adf56a 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -270,19 +270,24 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
@@ -70664,7 +73779,7 @@ index ce0c182..2d6bd03 100644
- mm->total_vm -= pages;
vm_stat_account(mm, mpnt->vm_flags, mpnt->vm_file,
- -pages);
-+ -vma_pages(mpnt));
++ -vma_pages(mpnt));
continue;
}
- charge = 0;
@@ -70921,6 +74036,19 @@ index 77bccfc..f2b5e1f 100644
for (i = 0; i < ARRAY_SIZE(futex_queues); i++) {
plist_head_init(&futex_queues[i].chain);
+diff --git a/kernel/futex_compat.c b/kernel/futex_compat.c
+index a9642d5..51eb98c 100644
+--- a/kernel/futex_compat.c
++++ b/kernel/futex_compat.c
+@@ -31,7 +31,7 @@ fetch_robust_entry(compat_uptr_t *uentry, struct robust_list __user **entry,
+ return 0;
+ }
+
+-static void __user *futex_uaddr(struct robust_list __user *entry,
++static void __user __intentional_overflow(-1) *futex_uaddr(struct robust_list __user *entry,
+ compat_long_t futex_offset)
+ {
+ compat_uptr_t base = ptr_to_compat(entry);
diff --git a/kernel/gcov/base.c b/kernel/gcov/base.c
index 9b22d03..6295b62 100644
--- a/kernel/gcov/base.c
@@ -71132,7 +74260,7 @@ index dc7bc08..4601964 100644
/* Don't allow clients that don't understand the native
diff --git a/kernel/kmod.c b/kernel/kmod.c
-index d6fe08a..ece0f1a 100644
+index d6fe08a..9fa6730 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -64,7 +64,7 @@ static void free_modprobe_argv(struct subprocess_info *info)
@@ -71260,6 +74388,15 @@ index d6fe08a..ece0f1a 100644
/*
* If ret is 0, either ____call_usermodehelper failed and the
+@@ -507,7 +560,7 @@ EXPORT_SYMBOL(call_usermodehelper_exec);
+ static int proc_cap_handler(struct ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- struct ctl_table t;
++ ctl_table_no_const t;
+ unsigned long cap_array[_KERNEL_CAPABILITY_U32S];
+ kernel_cap_t new_cap;
+ int err, i;
diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index bc90b87..6fc810d 100644
--- a/kernel/kprobes.c
@@ -71324,7 +74461,7 @@ index bc90b87..6fc810d 100644
buf_size = min(count, (sizeof(buf)-1));
if (copy_from_user(buf, user_buf, buf_size))
diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c
-index 4e316e1..5501eef 100644
+index 4e316e1..a2879b6 100644
--- a/kernel/ksysfs.c
+++ b/kernel/ksysfs.c
@@ -47,6 +47,8 @@ static ssize_t uevent_helper_store(struct kobject *kobj,
@@ -71336,6 +74473,15 @@ index 4e316e1..5501eef 100644
memcpy(uevent_helper, buf, count);
uevent_helper[count] = '\0';
if (count && uevent_helper[count-1] == '\n')
+@@ -156,7 +158,7 @@ static ssize_t notes_read(struct file *filp, struct kobject *kobj,
+ return count;
+ }
+
+-static struct bin_attribute notes_attr = {
++static bin_attribute_no_const notes_attr __read_only = {
+ .attr = {
+ .name = "notes",
+ .mode = S_IRUGO,
diff --git a/kernel/lockdep.c b/kernel/lockdep.c
index b2e08c9..01d8049 100644
--- a/kernel/lockdep.c
@@ -71427,7 +74573,7 @@ index 91c32a0..7b88d63 100644
seq_printf(m, "%40s %14lu %29s %pS\n",
name, stats->contending_point[i],
diff --git a/kernel/module.c b/kernel/module.c
-index 65362d9..8b1ca82 100644
+index 65362d9..96ac6ba 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -58,6 +58,7 @@
@@ -71484,6 +74630,24 @@ index 65362d9..8b1ca82 100644
static inline bool sect_empty(const Elf_Shdr *sect)
{
return !(sect->sh_flags & SHF_ALLOC) || sect->sh_size == 0;
+@@ -1323,7 +1325,7 @@ static void add_notes_attrs(struct module *mod, const struct load_info *info)
+ {
+ unsigned int notes, loaded, i;
+ struct module_notes_attrs *notes_attrs;
+- struct bin_attribute *nattr;
++ bin_attribute_no_const *nattr;
+
+ /* failed to create section attributes, so can't create notes */
+ if (!mod->sect_attrs)
+@@ -1435,7 +1437,7 @@ static void del_usage_links(struct module *mod)
+ static int module_add_modinfo_attrs(struct module *mod)
+ {
+ struct module_attribute *attr;
+- struct module_attribute *temp_attr;
++ module_attribute_no_const *temp_attr;
+ int error = 0;
+ int i;
+
@@ -1649,21 +1651,21 @@ static void set_section_ro_nx(void *base,
static void unset_module_core_ro_nx(struct module *mod)
@@ -73398,9 +76562,36 @@ index 3d9f31c..7fefc9e 100644
default:
diff --git a/kernel/sched.c b/kernel/sched.c
-index eeeec4e..403ccf3 100644
+index eeeec4e..9240d2d 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
+@@ -5044,7 +5044,7 @@ EXPORT_SYMBOL(wait_for_completion_interruptible);
+ * The return value is -ERESTARTSYS if interrupted, 0 if timed out,
+ * positive (at least 1, or number of jiffies left till timeout) if completed.
+ */
+-long __sched
++long __sched __intentional_overflow(-1)
+ wait_for_completion_interruptible_timeout(struct completion *x,
+ unsigned long timeout)
+ {
+@@ -5061,7 +5061,7 @@ EXPORT_SYMBOL(wait_for_completion_interruptible_timeout);
+ *
+ * The return value is -ERESTARTSYS if interrupted, 0 if completed.
+ */
+-int __sched wait_for_completion_killable(struct completion *x)
++int __sched __intentional_overflow(-1) wait_for_completion_killable(struct completion *x)
+ {
+ long t = wait_for_common(x, MAX_SCHEDULE_TIMEOUT, TASK_KILLABLE);
+ if (t == -ERESTARTSYS)
+@@ -5082,7 +5082,7 @@ EXPORT_SYMBOL(wait_for_completion_killable);
+ * The return value is -ERESTARTSYS if interrupted, 0 if timed out,
+ * positive (at least 1, or number of jiffies left till timeout) if completed.
+ */
+-long __sched
++long __sched __intentional_overflow(-1)
+ wait_for_completion_killable_timeout(struct completion *x,
+ unsigned long timeout)
+ {
@@ -5291,6 +5291,8 @@ int can_nice(const struct task_struct *p, const int nice)
/* convert nice value [19,-20] to rlimit style value [1,40] */
int nice_rlim = 20 - nice;
@@ -73428,7 +76619,118 @@ index eeeec4e..403ccf3 100644
/* can't set/change the rt policy */
if (policy != p->policy && !rlim_rtprio)
return -EPERM;
-@@ -6875,7 +6879,7 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)
+@@ -6624,7 +6628,7 @@ static void migrate_tasks(unsigned int dead_cpu)
+
+ #if defined(CONFIG_SCHED_DEBUG) && defined(CONFIG_SYSCTL)
+
+-static struct ctl_table sd_ctl_dir[] = {
++static ctl_table_no_const sd_ctl_dir[] __read_only = {
+ {
+ .procname = "sched_domain",
+ .mode = 0555,
+@@ -6641,17 +6645,17 @@ static struct ctl_table sd_ctl_root[] = {
+ {}
+ };
+
+-static struct ctl_table *sd_alloc_ctl_entry(int n)
++static ctl_table_no_const *sd_alloc_ctl_entry(int n)
+ {
+- struct ctl_table *entry =
++ ctl_table_no_const *entry =
+ kcalloc(n, sizeof(struct ctl_table), GFP_KERNEL);
+
+ return entry;
+ }
+
+-static void sd_free_ctl_entry(struct ctl_table **tablep)
++static void sd_free_ctl_entry(ctl_table_no_const *tablep)
+ {
+- struct ctl_table *entry;
++ ctl_table_no_const *entry;
+
+ /*
+ * In the intermediate directories, both the child directory and
+@@ -6659,19 +6663,22 @@ static void sd_free_ctl_entry(struct ctl_table **tablep)
+ * will always be set. In the lowest directory the names are
+ * static strings and all have proc handlers.
+ */
+- for (entry = *tablep; entry->mode; entry++) {
+- if (entry->child)
+- sd_free_ctl_entry(&entry->child);
++ for (entry = tablep; entry->mode; entry++) {
++ if (entry->child) {
++ sd_free_ctl_entry(entry->child);
++ pax_open_kernel();
++ entry->child = NULL;
++ pax_close_kernel();
++ }
+ if (entry->proc_handler == NULL)
+ kfree(entry->procname);
+ }
+
+- kfree(*tablep);
+- *tablep = NULL;
++ kfree(tablep);
+ }
+
+ static void
+-set_table_entry(struct ctl_table *entry,
++set_table_entry(ctl_table_no_const *entry,
+ const char *procname, void *data, int maxlen,
+ mode_t mode, proc_handler *proc_handler)
+ {
+@@ -6685,7 +6692,7 @@ set_table_entry(struct ctl_table *entry,
+ static struct ctl_table *
+ sd_alloc_ctl_domain_table(struct sched_domain *sd)
+ {
+- struct ctl_table *table = sd_alloc_ctl_entry(13);
++ ctl_table_no_const *table = sd_alloc_ctl_entry(13);
+
+ if (table == NULL)
+ return NULL;
+@@ -6720,9 +6727,9 @@ sd_alloc_ctl_domain_table(struct sched_domain *sd)
+ return table;
+ }
+
+-static ctl_table *sd_alloc_ctl_cpu_table(int cpu)
++static ctl_table_no_const *sd_alloc_ctl_cpu_table(int cpu)
+ {
+- struct ctl_table *entry, *table;
++ ctl_table_no_const *entry, *table;
+ struct sched_domain *sd;
+ int domain_num = 0, i;
+ char buf[32];
+@@ -6749,11 +6756,13 @@ static struct ctl_table_header *sd_sysctl_header;
+ static void register_sched_domain_sysctl(void)
+ {
+ int i, cpu_num = num_possible_cpus();
+- struct ctl_table *entry = sd_alloc_ctl_entry(cpu_num + 1);
++ ctl_table_no_const *entry = sd_alloc_ctl_entry(cpu_num + 1);
+ char buf[32];
+
+ WARN_ON(sd_ctl_dir[0].child);
++ pax_open_kernel();
+ sd_ctl_dir[0].child = entry;
++ pax_close_kernel();
+
+ if (entry == NULL)
+ return;
+@@ -6776,8 +6785,12 @@ static void unregister_sched_domain_sysctl(void)
+ if (sd_sysctl_header)
+ unregister_sysctl_table(sd_sysctl_header);
+ sd_sysctl_header = NULL;
+- if (sd_ctl_dir[0].child)
+- sd_free_ctl_entry(&sd_ctl_dir[0].child);
++ if (sd_ctl_dir[0].child) {
++ sd_free_ctl_entry(sd_ctl_dir[0].child);
++ pax_open_kernel();
++ sd_ctl_dir[0].child = NULL;
++ pax_close_kernel();
++ }
+ }
+ #else
+ static void register_sched_domain_sysctl(void)
+@@ -6875,7 +6888,7 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)
* happens before everything else. This has to be lower priority than
* the notifier in the perf_event subsystem, though.
*/
@@ -73473,7 +76775,7 @@ index 66e4576..d05c6d5 100644
int this_cpu = smp_processor_id();
struct rq *this_rq = cpu_rq(this_cpu);
diff --git a/kernel/signal.c b/kernel/signal.c
-index 71e1816..5725e4f 100644
+index ea76d30..353258a 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -45,12 +45,12 @@ static struct kmem_cache *sigqueue_cachep;
@@ -73884,7 +77186,7 @@ index f5939c2..110dc5d 100644
break;
}
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index ea7ec7f..23d4094 100644
+index ea7ec7f..3ead220 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -86,6 +86,13 @@
@@ -74050,7 +77352,37 @@ index ea7ec7f..23d4094 100644
if (root->permissions)
mode = root->permissions(root, current->nsproxy, table);
-@@ -2124,6 +2187,16 @@ int proc_dostring(struct ctl_table *table, int write,
+@@ -1732,7 +1795,9 @@ int sysctl_perm(struct ctl_table_root *root, struct ctl_table *table, int op)
+ static void sysctl_set_parent(struct ctl_table *parent, struct ctl_table *table)
+ {
+ for (; table->procname; table++) {
+- table->parent = parent;
++ pax_open_kernel();
++ *(void **)&table->parent = (ctl_table_no_const *)parent;
++ pax_close_kernel();
+ if (table->child)
+ sysctl_set_parent(table, table->child);
+ }
+@@ -1856,7 +1921,8 @@ struct ctl_table_header *__register_sysctl_paths(
+ const struct ctl_path *path, struct ctl_table *table)
+ {
+ struct ctl_table_header *header;
+- struct ctl_table *new, **prevp;
++ struct ctl_table **prevp;
++ ctl_table_no_const *new;
+ unsigned int n, npath;
+ struct ctl_table_set *set;
+
+@@ -1877,7 +1943,7 @@ struct ctl_table_header *__register_sysctl_paths(
+ if (!header)
+ return NULL;
+
+- new = (struct ctl_table *) (header + 1);
++ new = (ctl_table_no_const *) (header + 1);
+
+ /* Now connect the dots */
+ prevp = &header->ctl_table;
+@@ -2124,6 +2190,16 @@ int proc_dostring(struct ctl_table *table, int write,
buffer, lenp, ppos);
}
@@ -74067,7 +77399,7 @@ index ea7ec7f..23d4094 100644
static size_t proc_skip_spaces(char **buf)
{
size_t ret;
-@@ -2229,6 +2302,8 @@ static int proc_put_long(void __user **buf, size_t *size, unsigned long val,
+@@ -2229,6 +2305,8 @@ static int proc_put_long(void __user **buf, size_t *size, unsigned long val,
len = strlen(tmp);
if (len > *size)
len = *size;
@@ -74076,7 +77408,16 @@ index ea7ec7f..23d4094 100644
if (copy_to_user(*buf, tmp, len))
return -EFAULT;
*size -= len;
-@@ -2421,7 +2496,6 @@ static int proc_taint(struct ctl_table *table, int write,
+@@ -2393,7 +2471,7 @@ int proc_dointvec(struct ctl_table *table, int write,
+ static int proc_taint(struct ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- struct ctl_table t;
++ ctl_table_no_const t;
+ unsigned long tmptaint = get_taint();
+ int err;
+
+@@ -2421,7 +2499,6 @@ static int proc_taint(struct ctl_table *table, int write,
return err;
}
@@ -74084,7 +77425,7 @@ index ea7ec7f..23d4094 100644
static int proc_dointvec_minmax_sysadmin(struct ctl_table *table, int write,
void __user *buffer, size_t *lenp, loff_t *ppos)
{
-@@ -2430,7 +2504,6 @@ static int proc_dointvec_minmax_sysadmin(struct ctl_table *table, int write,
+@@ -2430,7 +2507,6 @@ static int proc_dointvec_minmax_sysadmin(struct ctl_table *table, int write,
return proc_dointvec_minmax(table, write, buffer, lenp, ppos);
}
@@ -74092,7 +77433,7 @@ index ea7ec7f..23d4094 100644
struct do_proc_dointvec_minmax_conv_param {
int *min;
-@@ -2488,6 +2561,34 @@ int proc_dointvec_minmax(struct ctl_table *table, int write,
+@@ -2488,6 +2564,34 @@ int proc_dointvec_minmax(struct ctl_table *table, int write,
do_proc_dointvec_minmax_conv, &param);
}
@@ -74127,7 +77468,7 @@ index ea7ec7f..23d4094 100644
static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int write,
void __user *buffer,
size_t *lenp, loff_t *ppos,
-@@ -2545,8 +2646,11 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int
+@@ -2545,8 +2649,11 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int
*i = val;
} else {
val = convdiv * (*i) / convmul;
@@ -74140,7 +77481,7 @@ index ea7ec7f..23d4094 100644
err = proc_put_long(&buffer, &left, val, false);
if (err)
break;
-@@ -2941,6 +3045,12 @@ int proc_dostring(struct ctl_table *table, int write,
+@@ -2941,6 +3048,12 @@ int proc_dostring(struct ctl_table *table, int write,
return -ENOSYS;
}
@@ -74153,7 +77494,7 @@ index ea7ec7f..23d4094 100644
int proc_dointvec(struct ctl_table *table, int write,
void __user *buffer, size_t *lenp, loff_t *ppos)
{
-@@ -2997,6 +3107,7 @@ EXPORT_SYMBOL(proc_dointvec_minmax);
+@@ -2997,6 +3110,7 @@ EXPORT_SYMBOL(proc_dointvec_minmax);
EXPORT_SYMBOL(proc_dointvec_userhz_jiffies);
EXPORT_SYMBOL(proc_dointvec_ms_jiffies);
EXPORT_SYMBOL(proc_dostring);
@@ -74268,7 +77609,7 @@ index e660464..c8b9e67 100644
return cmd_attr_register_cpumask(info);
else if (info->attrs[TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK])
diff --git a/kernel/time.c b/kernel/time.c
-index 73e416d..cfc6f69 100644
+index 73e416d..71905c5 100644
--- a/kernel/time.c
+++ b/kernel/time.c
@@ -163,6 +163,11 @@ int do_sys_settimeofday(const struct timespec *tv, const struct timezone *tz)
@@ -74283,6 +77624,15 @@ index 73e416d..cfc6f69 100644
/* SMP safe, global irq locking makes it work. */
sys_tz = *tz;
update_vsyscall_tz();
+@@ -499,7 +504,7 @@ EXPORT_SYMBOL(usecs_to_jiffies);
+ * The >> (NSEC_JIFFIE_SC - SEC_JIFFIE_SC) converts the scaled nsec
+ * value to a scaled second value.
+ */
+-unsigned long
++unsigned long __intentional_overflow(-1)
+ timespec_to_jiffies(const struct timespec *value)
+ {
+ unsigned long sec = value->tv_sec;
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
index 8a46f5d..bbe6f9c 100644
--- a/kernel/time/alarmtimer.c
@@ -74449,7 +77799,7 @@ index 0b537f2..40d6c20 100644
return -ENOMEM;
return 0;
diff --git a/kernel/timer.c b/kernel/timer.c
-index c219db6..90f3084 100644
+index c219db6..894cecb 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -1306,7 +1306,7 @@ void update_process_times(int user_tick)
@@ -74461,6 +77811,15 @@ index c219db6..90f3084 100644
{
struct tvec_base *base = __this_cpu_read(tvec_bases);
+@@ -1433,7 +1433,7 @@ static void process_timeout(unsigned long __data)
+ *
+ * In all cases the return value is guaranteed to be non-negative.
+ */
+-signed long __sched schedule_timeout(signed long timeout)
++signed long __sched __intentional_overflow(-1) schedule_timeout(signed long timeout)
+ {
+ struct timer_list timer;
+ unsigned long expire;
@@ -1725,7 +1725,7 @@ static int __cpuinit timer_cpu_notify(struct notifier_block *self,
return NOTIFY_OK;
}
@@ -74502,7 +77861,7 @@ index 16fc34a..efd8bb8 100644
ret = -EIO;
bt->dropped_file = debugfs_create_file("dropped", 0444, dir, bt,
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
-index 6c880e8..1f2d08b 100644
+index 0943d2a..76cb5bc 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1587,12 +1587,17 @@ ftrace_code_disable(struct module *mod, struct dyn_ftrace *rec)
@@ -74835,10 +78194,10 @@ index 6fdc629..55739fe 100644
*data_page = bpage;
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index 5638104..f047453 100644
+index 17edb14..a73e6fc 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
-@@ -4209,10 +4209,9 @@ static const struct file_operations tracing_dyn_info_fops = {
+@@ -4236,10 +4236,9 @@ static const struct file_operations tracing_dyn_info_fops = {
};
#endif
@@ -74850,7 +78209,7 @@ index 5638104..f047453 100644
static int once;
if (d_tracer)
-@@ -4232,10 +4231,9 @@ struct dentry *tracing_init_dentry(void)
+@@ -4259,10 +4258,9 @@ struct dentry *tracing_init_dentry(void)
return d_tracer;
}
@@ -75070,6 +78429,19 @@ index 209b379..7f76423 100644
tsk->comm);
put_task_struct(tsk);
}
+diff --git a/kernel/utsname_sysctl.c b/kernel/utsname_sysctl.c
+index 63da38c..639904e 100644
+--- a/kernel/utsname_sysctl.c
++++ b/kernel/utsname_sysctl.c
+@@ -46,7 +46,7 @@ static void put_uts(ctl_table *table, int write, void *which)
+ static int proc_do_uts_string(ctl_table *table, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+- struct ctl_table uts_table;
++ ctl_table_no_const uts_table;
+ int r;
+ memcpy(&uts_table, table, sizeof(uts_table));
+ uts_table.data = get_uts(table, write);
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index a8bc4d9..eae8357 100644
--- a/kernel/watchdog.c
@@ -75097,9 +78469,36 @@ index 0ad2420..64da53b 100644
/* queue rebind_work, wq doesn't matter, use the default one */
if (test_and_set_bit(WORK_STRUCT_PENDING_BIT,
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
-index 82928f5..34320a0 100644
+index 82928f5..a3c7bb1 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
+@@ -510,7 +510,7 @@ config DEBUG_MUTEXES
+
+ config DEBUG_LOCK_ALLOC
+ bool "Lock debugging: detect incorrect freeing of live locks"
+- depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
++ depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT && !PAX_CONSTIFY_PLUGIN
+ select DEBUG_SPINLOCK
+ select DEBUG_MUTEXES
+ select LOCKDEP
+@@ -524,7 +524,7 @@ config DEBUG_LOCK_ALLOC
+
+ config PROVE_LOCKING
+ bool "Lock debugging: prove locking correctness"
+- depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
++ depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT && !PAX_CONSTIFY_PLUGIN
+ select LOCKDEP
+ select DEBUG_SPINLOCK
+ select DEBUG_MUTEXES
+@@ -616,7 +616,7 @@ config LOCKDEP
+
+ config LOCK_STAT
+ bool "Lock usage statistics"
+- depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
++ depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT && !PAX_CONSTIFY_PLUGIN
+ select LOCKDEP
+ select DEBUG_SPINLOCK
+ select DEBUG_MUTEXES
@@ -1103,6 +1103,7 @@ config LATENCYTOP
depends on DEBUG_KERNEL
depends on STACKTRACE_SUPPORT
@@ -75242,6 +78641,28 @@ index 7c0e953..f642b5c 100644
}
EXPORT_SYMBOL(devm_ioport_unmap);
+diff --git a/lib/div64.c b/lib/div64.c
+index 5b49191..d84e6fc 100644
+--- a/lib/div64.c
++++ b/lib/div64.c
+@@ -58,7 +58,7 @@ uint32_t __attribute__((weak)) __div64_32(uint64_t *n, uint32_t base)
+ EXPORT_SYMBOL(__div64_32);
+
+ #ifndef div_s64_rem
+-s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder)
++s64 __intentional_overflow(-1) div_s64_rem(s64 dividend, s32 divisor, s32 *remainder)
+ {
+ u64 quotient;
+
+@@ -89,7 +89,7 @@ EXPORT_SYMBOL(div_s64_rem);
+ * 'http://www.hackersdelight.org/HDcode/newCode/divDouble.c'
+ */
+ #ifndef div64_u64
+-u64 div64_u64(u64 dividend, u64 divisor)
++u64 __intentional_overflow(-1) div64_u64(u64 dividend, u64 divisor)
+ {
+ u32 high = divisor >> 32;
+ u64 quot;
diff --git a/lib/dma-debug.c b/lib/dma-debug.c
index fea790a..3bdd6b4 100644
--- a/lib/dma-debug.c
@@ -75336,6 +78757,22 @@ index bd2bea9..6b3c95e 100644
if (atomic_read(&task->signal->live) != 1)
return false;
+diff --git a/lib/kobject.c b/lib/kobject.c
+index 640bd98..306b7ab 100644
+--- a/lib/kobject.c
++++ b/lib/kobject.c
+@@ -891,9 +891,9 @@ EXPORT_SYMBOL_GPL(kset_create_and_add);
+
+
+ static DEFINE_SPINLOCK(kobj_ns_type_lock);
+-static const struct kobj_ns_type_operations *kobj_ns_ops_tbl[KOBJ_NS_TYPES];
++static const struct kobj_ns_type_operations *kobj_ns_ops_tbl[KOBJ_NS_TYPES] __read_only;
+
+-int kobj_ns_type_register(const struct kobj_ns_type_operations *ops)
++int __init kobj_ns_type_register(const struct kobj_ns_type_operations *ops)
+ {
+ enum kobj_ns_type type = ops->type;
+ int error;
diff --git a/lib/kref.c b/lib/kref.c
index 3efb882..8492f4c 100644
--- a/lib/kref.c
@@ -75350,7 +78787,7 @@ index 3efb882..8492f4c 100644
if (atomic_dec_and_test(&kref->refcount)) {
diff --git a/lib/list_debug.c b/lib/list_debug.c
-index b8029a5..111353c 100644
+index b8029a5..a72c207 100644
--- a/lib/list_debug.c
+++ b/lib/list_debug.c
@@ -8,7 +8,9 @@
@@ -75363,7 +78800,7 @@ index b8029a5..111353c 100644
/*
* Insert a new entry between two known consecutive entries.
*
-@@ -16,18 +18,31 @@
+@@ -16,18 +18,32 @@
* the prev/next entries already!
*/
@@ -75387,7 +78824,7 @@ index b8029a5..111353c 100644
- next, prev->next, prev);
+ next, prev->next, prev) ||
+ WARN(new == prev || new == next,
-+ "list_add double add: new=%p, prev=%p, next=%p.\n",
++ "list_add double add: new=%p, prev=%p, next=%p.\n",
+ new, prev, next))
+ return false;
+ return true;
@@ -75399,10 +78836,11 @@ index b8029a5..111353c 100644
+{
+ if (!__list_add_debug(new, prev, next))
+ return;
++
next->prev = new;
new->next = next;
new->prev = prev;
-@@ -35,7 +50,7 @@ void __list_add(struct list_head *new,
+@@ -35,7 +51,7 @@ void __list_add(struct list_head *new,
}
EXPORT_SYMBOL(__list_add);
@@ -75411,7 +78849,7 @@ index b8029a5..111353c 100644
{
struct list_head *prev, *next;
-@@ -54,9 +69,16 @@ void __list_del_entry(struct list_head *entry)
+@@ -54,9 +70,16 @@ void __list_del_entry(struct list_head *entry)
WARN(next->prev != entry,
"list_del corruption. next->prev should be %p, "
"but was %p\n", entry, next->prev))
@@ -75429,19 +78867,14 @@ index b8029a5..111353c 100644
}
EXPORT_SYMBOL(__list_del_entry);
-@@ -73,3 +95,40 @@ void list_del(struct list_head *entry)
+@@ -73,3 +96,76 @@ void list_del(struct list_head *entry)
entry->prev = LIST_POISON2;
}
EXPORT_SYMBOL(list_del);
+#endif
+
-+void pax_list_add_tail(struct list_head *new, struct list_head *head)
++void __pax_list_add(struct list_head *new, struct list_head *prev, struct list_head *next)
+{
-+ struct list_head *prev, *next;
-+
-+ prev = head->prev;
-+ next = head;
-+
+#ifdef CONFIG_DEBUG_LIST
+ if (!__list_add_debug(new, prev, next))
+ return;
@@ -75454,7 +78887,7 @@ index b8029a5..111353c 100644
+ prev->next = new;
+ pax_close_kernel();
+}
-+EXPORT_SYMBOL(pax_list_add_tail);
++EXPORT_SYMBOL(__pax_list_add);
+
+void pax_list_del(struct list_head *entry)
+{
@@ -75470,6 +78903,47 @@ index b8029a5..111353c 100644
+ pax_close_kernel();
+}
+EXPORT_SYMBOL(pax_list_del);
++
++void pax_list_del_init(struct list_head *entry)
++{
++ pax_open_kernel();
++ __list_del(entry->prev, entry->next);
++ INIT_LIST_HEAD(entry);
++ pax_close_kernel();
++}
++EXPORT_SYMBOL(pax_list_del_init);
++
++void __pax_list_add_rcu(struct list_head *new,
++ struct list_head *prev, struct list_head *next)
++{
++#ifdef CONFIG_DEBUG_LIST
++ if (!__list_add_debug(new, prev, next))
++ return;
++#endif
++
++ pax_open_kernel();
++ new->next = next;
++ new->prev = prev;
++ rcu_assign_pointer(list_next_rcu(prev), new);
++ next->prev = new;
++ pax_close_kernel();
++}
++EXPORT_SYMBOL(__pax_list_add_rcu);
++
++void pax_list_del_rcu(struct list_head *entry)
++{
++#ifdef CONFIG_DEBUG_LIST
++ if (!__list_del_entry_debug(entry))
++ return;
++#endif
++
++ pax_open_kernel();
++ __list_del(entry->prev, entry->next);
++ entry->next = LIST_POISON1;
++ entry->prev = LIST_POISON2;
++ pax_close_kernel();
++}
++EXPORT_SYMBOL(pax_list_del_rcu);
diff --git a/lib/radix-tree.c b/lib/radix-tree.c
index d9df745..e73c2fe 100644
--- a/lib/radix-tree.c
@@ -75737,10 +79211,52 @@ index 470cbb4..8d01b5a 100644
/* if an huge pmd materialized from under us just retry later */
if (unlikely(pmd_trans_huge(*pmd)))
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
-index d6c0fdf..e87d21d 100644
+index 4c7d42a..6d2f988 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
-@@ -2461,6 +2461,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -1973,15 +1973,17 @@ static int hugetlb_sysctl_handler_common(bool obey_mempolicy,
+ struct hstate *h = &default_hstate;
+ unsigned long tmp;
+ int ret;
++ ctl_table_no_const hugetlb_table;
+
+ tmp = h->max_huge_pages;
+
+ if (write && h->order >= MAX_ORDER)
+ return -EINVAL;
+
+- table->data = &tmp;
+- table->maxlen = sizeof(unsigned long);
+- ret = proc_doulongvec_minmax(table, write, buffer, length, ppos);
++ hugetlb_table = *table;
++ hugetlb_table.data = &tmp;
++ hugetlb_table.maxlen = sizeof(unsigned long);
++ ret = proc_doulongvec_minmax(&hugetlb_table, write, buffer, length, ppos);
+ if (ret)
+ goto out;
+
+@@ -2038,15 +2040,17 @@ int hugetlb_overcommit_handler(struct ctl_table *table, int write,
+ struct hstate *h = &default_hstate;
+ unsigned long tmp;
+ int ret;
++ ctl_table_no_const hugetlb_table;
+
+ tmp = h->nr_overcommit_huge_pages;
+
+ if (write && h->order >= MAX_ORDER)
+ return -EINVAL;
+
+- table->data = &tmp;
+- table->maxlen = sizeof(unsigned long);
+- ret = proc_doulongvec_minmax(table, write, buffer, length, ppos);
++ hugetlb_table = *table;
++ hugetlb_table.data = &tmp;
++ hugetlb_table.maxlen = sizeof(unsigned long);
++ ret = proc_doulongvec_minmax(&hugetlb_table, write, buffer, length, ppos);
+ if (ret)
+ goto out;
+
+@@ -2465,6 +2469,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
return 1;
}
@@ -75768,7 +79284,7 @@ index d6c0fdf..e87d21d 100644
/*
* Hugetlb_cow() should be called with page lock of the original hugepage held.
*/
-@@ -2563,6 +2584,11 @@ retry_avoidcopy:
+@@ -2567,6 +2592,11 @@ retry_avoidcopy:
make_huge_pte(vma, new_page, 1));
page_remove_rmap(old_page);
hugepage_add_new_anon_rmap(new_page, vma, address);
@@ -75780,7 +79296,7 @@ index d6c0fdf..e87d21d 100644
/* Make the old page be freed below */
new_page = old_page;
mmu_notifier_invalidate_range_end(mm,
-@@ -2714,6 +2740,10 @@ retry:
+@@ -2718,6 +2748,10 @@ retry:
&& (vma->vm_flags & VM_SHARED)));
set_huge_pte_at(mm, address, ptep, new_pte);
@@ -75791,7 +79307,7 @@ index d6c0fdf..e87d21d 100644
if ((flags & FAULT_FLAG_WRITE) && !(vma->vm_flags & VM_SHARED)) {
/* Optimization, do the COW without a second fault */
ret = hugetlb_cow(mm, vma, address, ptep, new_pte, page);
-@@ -2743,6 +2773,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2747,6 +2781,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
static DEFINE_MUTEX(hugetlb_instantiation_mutex);
struct hstate *h = hstate_vma(vma);
@@ -75802,7 +79318,7 @@ index d6c0fdf..e87d21d 100644
ptep = huge_pte_offset(mm, address);
if (ptep) {
entry = huge_ptep_get(ptep);
-@@ -2754,6 +2788,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2758,6 +2796,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
VM_FAULT_SET_HINDEX(h - hstates);
}
@@ -75966,7 +79482,7 @@ index 23d3a6b..e10d35a 100644
if (end == start)
goto out;
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
-index 1b03878..de5405e 100644
+index 1b03878..d62c02b 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -61,7 +61,7 @@ int sysctl_memory_failure_early_kill __read_mostly = 0;
@@ -75987,6 +79503,15 @@ index 1b03878..de5405e 100644
#ifdef __ARCH_SI_TRAPNO
si.si_trapno = trapno;
#endif
+@@ -750,7 +750,7 @@ static struct page_state {
+ unsigned long res;
+ char *msg;
+ int (*action)(struct page *p, unsigned long pfn);
+-} error_states[] = {
++} __do_const error_states[] = {
+ { reserved, reserved, "reserved kernel", me_kernel },
+ /*
+ * free pages are specially detected outside this table:
@@ -1010,7 +1010,7 @@ int __memory_failure(unsigned long pfn, int trapno, int flags)
}
@@ -78744,9 +82269,18 @@ index f59e170..34e2a2b 100644
new->vm_region = region;
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
-index 50f0824..97710b4 100644
+index 50f0824..0ade43a 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
+@@ -522,7 +522,7 @@ unsigned long bdi_dirty_limit(struct backing_dev_info *bdi, unsigned long dirty)
+ * card's bdi_dirty may rush to many times higher than bdi_setpoint.
+ * - the bdi dirty thresh drops quickly due to change of JBOD workload
+ */
+-static unsigned long bdi_position_ratio(struct backing_dev_info *bdi,
++static unsigned long __intentional_overflow(-1) bdi_position_ratio(struct backing_dev_info *bdi,
+ unsigned long thresh,
+ unsigned long bg_thresh,
+ unsigned long dirty,
@@ -1380,7 +1380,7 @@ ratelimit_handler(struct notifier_block *self, unsigned long u, void *v)
return NOTIFY_DONE;
}
@@ -78757,7 +82291,7 @@ index 50f0824..97710b4 100644
.next = NULL,
};
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index 5c028e2..501e1e9 100644
+index 5c028e2..83e69ea 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -57,6 +57,7 @@
@@ -78821,28 +82355,27 @@ index 5c028e2..501e1e9 100644
/*
* permit the bootmem allocator to evade page validation on high-order frees
*/
-@@ -715,6 +739,20 @@ void __meminit __free_pages_bootmem(struct page *page, unsigned int order)
+@@ -715,6 +739,19 @@ void __meminit __free_pages_bootmem(struct page *page, unsigned int order)
set_page_count(p, 0);
}
+#ifdef CONFIG_PAX_LATENT_ENTROPY
-+ if (extra_latent_entropy && !PageHighMem(page) && page_to_pfn(page) < 0x100000) {
-+ unsigned int nr_pages = 1 << order;
-+ u64 hash = 0;
-+ size_t index, end = PAGE_SIZE * nr_pages / sizeof hash;
-+ const u64 *data = lowmem_page_address(page);
-+
-+ for (index = 0; index < end; index++)
-+ hash ^= hash + data[index];
-+ latent_entropy ^= hash;
-+ add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy));
-+ }
++ if (extra_latent_entropy && !PageHighMem(page) && page_to_pfn(page) < 0x100000) {
++ u64 hash = 0;
++ size_t index, end = PAGE_SIZE * (1UL << order) / sizeof hash;
++ const u64 *data = lowmem_page_address(page);
++
++ for (index = 0; index < end; index++)
++ hash ^= hash + data[index];
++ latent_entropy ^= hash;
++ add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy));
++ }
+#endif
+
set_page_refcounted(page);
__free_pages(page, order);
}
-@@ -784,8 +822,10 @@ static int prep_new_page(struct page *page, int order, gfp_t gfp_flags)
+@@ -784,8 +821,10 @@ static int prep_new_page(struct page *page, int order, gfp_t gfp_flags)
arch_alloc_page(page, order);
kernel_map_pages(page, 1 << order, 1);
@@ -78853,7 +82386,7 @@ index 5c028e2..501e1e9 100644
if (order && (gfp_flags & __GFP_COMP))
prep_compound_page(page, order);
-@@ -3395,7 +3435,13 @@ static int pageblock_is_reserved(unsigned long start_pfn, unsigned long end_pfn)
+@@ -3395,7 +3434,13 @@ static int pageblock_is_reserved(unsigned long start_pfn, unsigned long end_pfn)
unsigned long pfn;
for (pfn = start_pfn; pfn < end_pfn; pfn++) {
@@ -79107,7 +82640,7 @@ index a78acf0..a31df98 100644
return -ENOMEM;
diff --git a/mm/slab.c b/mm/slab.c
-index 4c3b671..40fa2eb 100644
+index 4c3b671..020b6bb 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -151,7 +151,7 @@
@@ -79243,7 +82776,15 @@ index 4c3b671..40fa2eb 100644
sizes++;
names++;
}
-@@ -4325,10 +4342,10 @@ static int s_show(struct seq_file *m, void *p)
+@@ -3879,6 +3896,7 @@ void kfree(const void *objp)
+
+ if (unlikely(ZERO_OR_NULL_PTR(objp)))
+ return;
++ VM_BUG_ON(!virt_addr_valid(objp));
+ local_irq_save(flags);
+ kfree_debugcheck(objp);
+ c = virt_to_cache(objp);
+@@ -4325,10 +4343,10 @@ static int s_show(struct seq_file *m, void *p)
}
/* cpu stats */
{
@@ -79258,7 +82799,7 @@ index 4c3b671..40fa2eb 100644
seq_printf(m, " : cpustat %6lu %6lu %6lu %6lu",
allochit, allocmiss, freehit, freemiss);
-@@ -4587,13 +4604,71 @@ static int __init slab_proc_init(void)
+@@ -4587,13 +4605,71 @@ static int __init slab_proc_init(void)
{
proc_create("slabinfo",S_IWUSR|S_IRUSR,NULL,&proc_slabinfo_operations);
#ifdef CONFIG_DEBUG_SLAB_LEAK
@@ -79332,7 +82873,7 @@ index 4c3b671..40fa2eb 100644
* ksize - get the actual amount of memory allocated for a given object
* @objp: Pointer to the object
diff --git a/mm/slob.c b/mm/slob.c
-index 8105be4..8d6cd07 100644
+index 8105be4..e1af823 100644
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -29,7 +29,7 @@
@@ -79484,7 +83025,11 @@ index 8105be4..8d6cd07 100644
return ret;
}
EXPORT_SYMBOL(__kmalloc_node);
-@@ -533,13 +545,88 @@ void kfree(const void *block)
+@@ -530,16 +542,92 @@ void kfree(const void *block)
+ return;
+ kmemleak_free(block);
+
++ VM_BUG_ON(!virt_addr_valid(block));
sp = slob_page(block);
if (is_slob_page(sp)) {
int align = max(ARCH_KMALLOC_MINALIGN, ARCH_SLAB_MINALIGN);
@@ -79576,7 +83121,7 @@ index 8105be4..8d6cd07 100644
/* can't use ksize for kmem_cache_alloc memory, only kmalloc */
size_t ksize(const void *block)
{
-@@ -552,10 +639,10 @@ size_t ksize(const void *block)
+@@ -552,10 +640,10 @@ size_t ksize(const void *block)
sp = slob_page(block);
if (is_slob_page(sp)) {
int align = max(ARCH_KMALLOC_MINALIGN, ARCH_SLAB_MINALIGN);
@@ -79590,7 +83135,7 @@ index 8105be4..8d6cd07 100644
}
EXPORT_SYMBOL(ksize);
-@@ -571,8 +658,13 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
+@@ -571,8 +659,13 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
{
struct kmem_cache *c;
@@ -79604,7 +83149,7 @@ index 8105be4..8d6cd07 100644
if (c) {
c->name = name;
-@@ -614,17 +706,25 @@ void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node)
+@@ -614,17 +707,25 @@ void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node)
lockdep_trace_alloc(flags);
@@ -79630,7 +83175,7 @@ index 8105be4..8d6cd07 100644
if (c->ctor)
c->ctor(b);
-@@ -636,10 +736,16 @@ EXPORT_SYMBOL(kmem_cache_alloc_node);
+@@ -636,10 +737,16 @@ EXPORT_SYMBOL(kmem_cache_alloc_node);
static void __kmem_cache_free(void *b, int size)
{
@@ -79649,7 +83194,7 @@ index 8105be4..8d6cd07 100644
}
static void kmem_rcu_free(struct rcu_head *head)
-@@ -652,17 +758,31 @@ static void kmem_rcu_free(struct rcu_head *head)
+@@ -652,17 +759,31 @@ static void kmem_rcu_free(struct rcu_head *head)
void kmem_cache_free(struct kmem_cache *c, void *b)
{
@@ -79685,9 +83230,18 @@ index 8105be4..8d6cd07 100644
EXPORT_SYMBOL(kmem_cache_free);
diff --git a/mm/slub.c b/mm/slub.c
-index 5710788..dbb5d49 100644
+index 5710788..431fdf8 100644
--- a/mm/slub.c
+++ b/mm/slub.c
+@@ -186,7 +186,7 @@ static enum {
+ PARTIAL, /* Kmem_cache_node works */
+ UP, /* Everything works but does not show up in sysfs */
+ SYSFS /* Sysfs up */
+-} slab_state = DOWN;
++} slab_state __read_only = DOWN;
+
+ /* A list of all slab caches on the system */
+ static DECLARE_RWSEM(slub_lock);
@@ -208,7 +208,7 @@ struct track {
enum track_item { TRACK_ALLOC, TRACK_FREE };
@@ -79828,7 +83382,15 @@ index 5710788..dbb5d49 100644
size_t ksize(const void *object)
{
struct page *page;
-@@ -3645,7 +3710,7 @@ static void __init kmem_cache_bootstrap_fixup(struct kmem_cache *s)
+@@ -3435,6 +3500,7 @@ void kfree(const void *x)
+ if (unlikely(ZERO_OR_NULL_PTR(x)))
+ return;
+
++ VM_BUG_ON(!virt_addr_valid(x));
+ page = virt_to_head_page(x);
+ if (unlikely(!PageSlab(page))) {
+ BUG_ON(!PageCompound(page));
+@@ -3645,7 +3711,7 @@ static void __init kmem_cache_bootstrap_fixup(struct kmem_cache *s)
int node;
list_add(&s->list, &slab_caches);
@@ -79837,7 +83399,7 @@ index 5710788..dbb5d49 100644
for_each_node_state(node, N_NORMAL_MEMORY) {
struct kmem_cache_node *n = get_node(s, node);
-@@ -3762,17 +3827,17 @@ void __init kmem_cache_init(void)
+@@ -3762,17 +3828,17 @@ void __init kmem_cache_init(void)
/* Caches that are not of the two-to-the-power-of size */
if (KMALLOC_MIN_SIZE <= 32) {
@@ -79858,7 +83420,7 @@ index 5710788..dbb5d49 100644
caches++;
}
-@@ -3814,6 +3879,22 @@ void __init kmem_cache_init(void)
+@@ -3814,6 +3880,22 @@ void __init kmem_cache_init(void)
}
}
#endif
@@ -79881,7 +83443,7 @@ index 5710788..dbb5d49 100644
printk(KERN_INFO
"SLUB: Genslabs=%d, HWalign=%d, Order=%d-%d, MinObjects=%d,"
" CPUs=%d, Nodes=%d\n",
-@@ -3840,7 +3921,7 @@ static int slab_unmergeable(struct kmem_cache *s)
+@@ -3840,7 +3922,7 @@ static int slab_unmergeable(struct kmem_cache *s)
/*
* We may have set a slab to be unmergeable during bootstrap.
*/
@@ -79890,7 +83452,7 @@ index 5710788..dbb5d49 100644
return 1;
return 0;
-@@ -3899,7 +3980,7 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
+@@ -3899,7 +3981,7 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
down_write(&slub_lock);
s = find_mergeable(size, align, flags, name, ctor);
if (s) {
@@ -79899,7 +83461,7 @@ index 5710788..dbb5d49 100644
/*
* Adjust the object sizes so that we clear
* the complete object on kzalloc.
-@@ -3908,7 +3989,7 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
+@@ -3908,7 +3990,7 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
s->inuse = max_t(int, s->inuse, ALIGN(size, sizeof(void *)));
if (sysfs_slab_alias(s, name)) {
@@ -79908,7 +83470,7 @@ index 5710788..dbb5d49 100644
goto err;
}
up_write(&slub_lock);
-@@ -3979,7 +4060,7 @@ static int __cpuinit slab_cpuup_callback(struct notifier_block *nfb,
+@@ -3979,7 +4061,7 @@ static int __cpuinit slab_cpuup_callback(struct notifier_block *nfb,
return NOTIFY_OK;
}
@@ -79917,7 +83479,7 @@ index 5710788..dbb5d49 100644
.notifier_call = slab_cpuup_callback
};
-@@ -4037,7 +4118,7 @@ void *__kmalloc_node_track_caller(size_t size, gfp_t gfpflags,
+@@ -4037,7 +4119,7 @@ void *__kmalloc_node_track_caller(size_t size, gfp_t gfpflags,
}
#endif
@@ -79926,7 +83488,7 @@ index 5710788..dbb5d49 100644
static int count_inuse(struct page *page)
{
return page->inuse;
-@@ -4424,12 +4505,12 @@ static void resiliency_test(void)
+@@ -4424,12 +4506,12 @@ static void resiliency_test(void)
validate_slab_cache(kmalloc_caches[9]);
}
#else
@@ -79941,7 +83503,7 @@ index 5710788..dbb5d49 100644
enum slab_stat_type {
SL_ALL, /* All slabs */
SL_PARTIAL, /* Only partially allocated slabs */
-@@ -4670,7 +4751,7 @@ SLAB_ATTR_RO(ctor);
+@@ -4670,7 +4752,7 @@ SLAB_ATTR_RO(ctor);
static ssize_t aliases_show(struct kmem_cache *s, char *buf)
{
@@ -79950,7 +83512,7 @@ index 5710788..dbb5d49 100644
}
SLAB_ATTR_RO(aliases);
-@@ -5237,6 +5318,7 @@ static char *create_unique_id(struct kmem_cache *s)
+@@ -5237,6 +5319,7 @@ static char *create_unique_id(struct kmem_cache *s)
return name;
}
@@ -79958,7 +83520,7 @@ index 5710788..dbb5d49 100644
static int sysfs_slab_add(struct kmem_cache *s)
{
int err;
-@@ -5299,6 +5381,7 @@ static void sysfs_slab_remove(struct kmem_cache *s)
+@@ -5299,6 +5382,7 @@ static void sysfs_slab_remove(struct kmem_cache *s)
kobject_del(&s->kobj);
kobject_put(&s->kobj);
}
@@ -79966,7 +83528,7 @@ index 5710788..dbb5d49 100644
/*
* Need to buffer aliases during bootup until sysfs becomes
-@@ -5312,6 +5395,7 @@ struct saved_alias {
+@@ -5312,6 +5396,7 @@ struct saved_alias {
static struct saved_alias *alias_list;
@@ -79974,7 +83536,7 @@ index 5710788..dbb5d49 100644
static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
{
struct saved_alias *al;
-@@ -5334,6 +5418,7 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
+@@ -5334,6 +5419,7 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
alias_list = al;
return 0;
}
@@ -80395,6 +83957,28 @@ index 5471628..3bd1bf5 100644
struct vlan_net *vn;
vn = net_generic(net, vlan_net_id);
+diff --git a/net/9p/mod.c b/net/9p/mod.c
+index 2664d12..b2803fe 100644
+--- a/net/9p/mod.c
++++ b/net/9p/mod.c
+@@ -57,7 +57,7 @@ static LIST_HEAD(v9fs_trans_list);
+ void v9fs_register_trans(struct p9_trans_module *m)
+ {
+ spin_lock(&v9fs_trans_lock);
+- list_add_tail(&m->list, &v9fs_trans_list);
++ pax_list_add_tail((struct list_head *)&m->list, &v9fs_trans_list);
+ spin_unlock(&v9fs_trans_lock);
+ }
+ EXPORT_SYMBOL(v9fs_register_trans);
+@@ -70,7 +70,7 @@ EXPORT_SYMBOL(v9fs_register_trans);
+ void v9fs_unregister_trans(struct p9_trans_module *m)
+ {
+ spin_lock(&v9fs_trans_lock);
+- list_del_init(&m->list);
++ pax_list_del_init((struct list_head *)&m->list);
+ spin_unlock(&v9fs_trans_lock);
+ }
+ EXPORT_SYMBOL(v9fs_unregister_trans);
diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c
index fdfdb57..38d368c 100644
--- a/net/9p/trans_fd.c
@@ -80500,6 +84084,28 @@ index 23f45ce..c748f1a 100644
__AAL_STAT_ITEMS
#undef __HANDLE_ITEM
}
+diff --git a/net/ax25/sysctl_net_ax25.c b/net/ax25/sysctl_net_ax25.c
+index ebe0ef3..d5b0a8e 100644
+--- a/net/ax25/sysctl_net_ax25.c
++++ b/net/ax25/sysctl_net_ax25.c
+@@ -31,7 +31,7 @@ static int min_ds_timeout[1], max_ds_timeout[] = {65535000};
+
+ static struct ctl_table_header *ax25_table_header;
+
+-static ctl_table *ax25_table;
++static ctl_table_no_const *ax25_table;
+ static int ax25_table_size;
+
+ static struct ctl_path ax25_path[] = {
+@@ -174,7 +174,7 @@ void ax25_register_sysctl(void)
+ }
+
+ for (n = 0, ax25_dev = ax25_dev_list; ax25_dev != NULL; ax25_dev = ax25_dev->next) {
+- struct ctl_table *child = kmemdup(ax25_param_table,
++ ctl_table_no_const *child = kmemdup(ax25_param_table,
+ sizeof(ax25_param_table),
+ GFP_ATOMIC);
+ if (!child) {
diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index 3512e25..2b33401 100644
--- a/net/batman-adv/bat_iv_ogm.c
@@ -81243,7 +84849,7 @@ index 68bbf9f..5ef0d12 100644
return err;
diff --git a/net/core/dev.c b/net/core/dev.c
-index 2aac4ec..2f9871c 100644
+index b23bbbf..1e6a604 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1142,10 +1142,14 @@ void dev_load(struct net *net, const char *name)
@@ -81306,7 +84912,7 @@ index 2aac4ec..2f9871c 100644
{
struct softnet_data *sd = &__get_cpu_var(softnet_data);
-@@ -3332,7 +3336,7 @@ ncls:
+@@ -3333,7 +3337,7 @@ ncls:
if (pt_prev) {
ret = pt_prev->func(skb, skb->dev, pt_prev, orig_dev);
} else {
@@ -81315,7 +84921,7 @@ index 2aac4ec..2f9871c 100644
kfree_skb(skb);
/* Jamal, now you will not able to escape explaining
* me how you were going to use this. :-)
-@@ -3897,7 +3901,7 @@ void netif_napi_del(struct napi_struct *napi)
+@@ -3898,7 +3902,7 @@ void netif_napi_del(struct napi_struct *napi)
}
EXPORT_SYMBOL(netif_napi_del);
@@ -81324,7 +84930,7 @@ index 2aac4ec..2f9871c 100644
{
struct softnet_data *sd = &__get_cpu_var(softnet_data);
unsigned long time_limit = jiffies + 2;
-@@ -4367,8 +4371,13 @@ static int ptype_seq_show(struct seq_file *seq, void *v)
+@@ -4368,8 +4372,13 @@ static int ptype_seq_show(struct seq_file *seq, void *v)
else
seq_printf(seq, "%04x", ntohs(pt->type));
@@ -81338,7 +84944,16 @@ index 2aac4ec..2f9871c 100644
}
return 0;
-@@ -5925,7 +5934,7 @@ struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev,
+@@ -4431,7 +4440,7 @@ static void __net_exit dev_proc_net_exit(struct net *net)
+ proc_net_remove(net, "dev");
+ }
+
+-static struct pernet_operations __net_initdata dev_proc_ops = {
++static struct pernet_operations __net_initconst dev_proc_ops = {
+ .init = dev_proc_net_init,
+ .exit = dev_proc_net_exit,
+ };
+@@ -5926,7 +5935,7 @@ struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev,
} else {
netdev_stats_to_stats64(storage, &dev->stats);
}
@@ -81347,6 +84962,37 @@ index 2aac4ec..2f9871c 100644
return storage;
}
EXPORT_SYMBOL(dev_get_stats);
+@@ -6505,7 +6514,7 @@ static void __net_exit netdev_exit(struct net *net)
+ kfree(net->dev_index_head);
+ }
+
+-static struct pernet_operations __net_initdata netdev_net_ops = {
++static struct pernet_operations __net_initconst netdev_net_ops = {
+ .init = netdev_init,
+ .exit = netdev_exit,
+ };
+@@ -6567,7 +6576,7 @@ static void __net_exit default_device_exit_batch(struct list_head *net_list)
+ rtnl_unlock();
+ }
+
+-static struct pernet_operations __net_initdata default_device_ops = {
++static struct pernet_operations __net_initconst default_device_ops = {
+ .exit = default_device_exit,
+ .exit_batch = default_device_exit_batch,
+ };
+diff --git a/net/core/dev_addr_lists.c b/net/core/dev_addr_lists.c
+index 0387da0..dbfe3a0 100644
+--- a/net/core/dev_addr_lists.c
++++ b/net/core/dev_addr_lists.c
+@@ -723,7 +723,7 @@ static void __net_exit dev_mc_net_exit(struct net *net)
+ proc_net_remove(net, "dev_mcast");
+ }
+
+-static struct pernet_operations __net_initdata dev_mc_net_ops = {
++static struct pernet_operations __net_initconst dev_mc_net_ops = {
+ .init = dev_mc_net_init,
+ .exit = dev_mc_net_exit,
+ };
diff --git a/net/core/flow.c b/net/core/flow.c
index e318c7e..168b1d0 100644
--- a/net/core/flow.c
@@ -81409,8 +85055,61 @@ index c40f27e..7f49254 100644
return -EFAULT;
m->msg_iov = iov;
+diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
+index 0329404..ab4e13a 100644
+--- a/net/core/net-sysfs.c
++++ b/net/core/net-sysfs.c
+@@ -1334,7 +1334,7 @@ void netdev_class_remove_file(struct class_attribute *class_attr)
+ }
+ EXPORT_SYMBOL(netdev_class_remove_file);
+
+-int netdev_kobject_init(void)
++int __init netdev_kobject_init(void)
+ {
+ kobj_ns_type_register(&net_ns_type_operations);
+ return class_register(&net_class);
+diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c
+index dd00b71..74d1779 100644
+--- a/net/core/net_namespace.c
++++ b/net/core/net_namespace.c
+@@ -422,7 +422,7 @@ static int __register_pernet_operations(struct list_head *list,
+ int error;
+ LIST_HEAD(net_exit_list);
+
+- list_add_tail(&ops->list, list);
++ pax_list_add_tail((struct list_head *)&ops->list, list);
+ if (ops->init || (ops->id && ops->size)) {
+ for_each_net(net) {
+ error = ops_init(ops, net);
+@@ -435,7 +435,7 @@ static int __register_pernet_operations(struct list_head *list,
+
+ out_undo:
+ /* If I have an error cleanup all namespaces I initialized */
+- list_del(&ops->list);
++ pax_list_del((struct list_head *)&ops->list);
+ ops_exit_list(ops, &net_exit_list);
+ ops_free_list(ops, &net_exit_list);
+ return error;
+@@ -446,7 +446,7 @@ static void __unregister_pernet_operations(struct pernet_operations *ops)
+ struct net *net;
+ LIST_HEAD(net_exit_list);
+
+- list_del(&ops->list);
++ pax_list_del((struct list_head *)&ops->list);
+ for_each_net(net)
+ list_add_tail(&net->exit_list, &net_exit_list);
+ ops_exit_list(ops, &net_exit_list);
+@@ -580,7 +580,7 @@ int register_pernet_device(struct pernet_operations *ops)
+ mutex_lock(&net_mutex);
+ error = register_pernet_operations(&pernet_list, ops);
+ if (!error && (first_device == &pernet_list))
+- first_device = &ops->list;
++ first_device = (struct list_head *)&ops->list;
+ mutex_unlock(&net_mutex);
+ return error;
+ }
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
-index 5229c7f..d5c2289 100644
+index 3b5e680..d9180cb 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -57,7 +57,7 @@ struct rtnl_link {
@@ -81422,14 +85121,32 @@ index 5229c7f..d5c2289 100644
static DEFINE_MUTEX(rtnl_mutex);
-@@ -973,6 +973,7 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev,
- * report anything.
- */
- ivi.spoofchk = -1;
-+ memset(ivi.mac, 0, sizeof(ivi.mac));
- if (dev->netdev_ops->ndo_get_vf_config(dev, i, &ivi))
- break;
- vf_mac.vf =
+@@ -284,10 +284,13 @@ static LIST_HEAD(link_ops);
+ */
+ int __rtnl_link_register(struct rtnl_link_ops *ops)
+ {
+- if (!ops->dellink)
+- ops->dellink = unregister_netdevice_queue;
++ if (!ops->dellink) {
++ pax_open_kernel();
++ *(void **)&ops->dellink = unregister_netdevice_queue;
++ pax_close_kernel();
++ }
+
+- list_add_tail(&ops->list, &link_ops);
++ pax_list_add_tail((struct list_head *)&ops->list, &link_ops);
+ return 0;
+ }
+ EXPORT_SYMBOL_GPL(__rtnl_link_register);
+@@ -334,7 +337,7 @@ void __rtnl_link_unregister(struct rtnl_link_ops *ops)
+ for_each_net(net) {
+ __rtnl_kill_links(net, ops);
+ }
+- list_del(&ops->list);
++ pax_list_del((struct list_head *)&ops->list);
+ }
+ EXPORT_SYMBOL_GPL(__rtnl_link_unregister);
+
diff --git a/net/core/scm.c b/net/core/scm.c
index ff52ad0..aff1c0f 100644
--- a/net/core/scm.c
@@ -81471,7 +85188,7 @@ index ff52ad0..aff1c0f 100644
{
int new_fd;
diff --git a/net/core/sock.c b/net/core/sock.c
-index 1e8a882..af175b4 100644
+index 1e8a882..5439005 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -289,7 +289,7 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
@@ -81519,6 +85236,24 @@ index 1e8a882..af175b4 100644
goto discard_and_relse;
}
+@@ -406,7 +406,7 @@ struct dst_entry *sk_dst_check(struct sock *sk, u32 cookie)
+ }
+ EXPORT_SYMBOL(sk_dst_check);
+
+-static int sock_bindtodevice(struct sock *sk, char __user *optval, int optlen)
++static int sock_bindtodevice(struct sock *sk, char __user *optval, unsigned int optlen)
+ {
+ int ret = -ENOPROTOOPT;
+ #ifdef CONFIG_NETDEVICES
+@@ -420,7 +420,7 @@ static int sock_bindtodevice(struct sock *sk, char __user *optval, int optlen)
+ goto out;
+
+ ret = -EINVAL;
+- if (optlen < 0)
++ if (optlen > INT_MAX)
+ goto out;
+
+ /* Bind this socket to a particular device like "eth0",
@@ -772,12 +772,12 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
struct timeval tm;
} v;
@@ -81575,66 +85310,73 @@ index 1e8a882..af175b4 100644
}
EXPORT_SYMBOL(sock_init_data);
-diff --git a/net/dcb/dcbnl.c b/net/dcb/dcbnl.c
-index d860530..2f9517d 100644
---- a/net/dcb/dcbnl.c
-+++ b/net/dcb/dcbnl.c
-@@ -336,6 +336,7 @@ static int dcbnl_getperm_hwaddr(struct net_device *netdev, struct nlattr **tb,
- dcb->dcb_family = AF_UNSPEC;
- dcb->cmd = DCB_CMD_GPERM_HWADDR;
+@@ -2562,7 +2562,7 @@ static __net_exit void proto_exit_net(struct net *net)
+ }
-+ memset(perm_addr, 0, sizeof(perm_addr));
- netdev->dcbnl_ops->getpermhwaddr(netdev, perm_addr);
- ret = nla_put(dcbnl_skb, DCB_ATTR_PERM_HWADDR, sizeof(perm_addr),
-@@ -1238,6 +1239,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
+-static __net_initdata struct pernet_operations proto_net_ops = {
++static __net_initconst struct pernet_operations proto_net_ops = {
+ .init = proto_init_net,
+ .exit = proto_exit_net,
+ };
+diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
+index 77a65f0..ebd69a8 100644
+--- a/net/core/sysctl_net_core.c
++++ b/net/core/sysctl_net_core.c
+@@ -25,7 +25,7 @@ static int rps_sock_flow_sysctl(ctl_table *table, int write,
+ {
+ unsigned int orig_size, size;
+ int ret, i;
+- ctl_table tmp = {
++ ctl_table_no_const tmp = {
+ .data = &size,
+ .maxlen = sizeof(size),
+ .mode = table->mode
+@@ -205,29 +205,27 @@ __net_initdata struct ctl_path net_core_path[] = {
- if (ops->ieee_getets) {
- struct ieee_ets ets;
-+ memset(&ets, 0, sizeof(ets));
- err = ops->ieee_getets(netdev, &ets);
- if (!err)
- NLA_PUT(skb, DCB_ATTR_IEEE_ETS, sizeof(ets), &ets);
-@@ -1245,6 +1247,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
+ static __net_init int sysctl_core_net_init(struct net *net)
+ {
+- struct ctl_table *tbl;
++ ctl_table_no_const *tbl = NULL;
- if (ops->ieee_getpfc) {
- struct ieee_pfc pfc;
-+ memset(&pfc, 0, sizeof(pfc));
- err = ops->ieee_getpfc(netdev, &pfc);
- if (!err)
- NLA_PUT(skb, DCB_ATTR_IEEE_PFC, sizeof(pfc), &pfc);
-@@ -1277,6 +1280,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
- /* get peer info if available */
- if (ops->ieee_peer_getets) {
- struct ieee_ets ets;
-+ memset(&ets, 0, sizeof(ets));
- err = ops->ieee_peer_getets(netdev, &ets);
- if (!err)
- NLA_PUT(skb, DCB_ATTR_IEEE_PEER_ETS, sizeof(ets), &ets);
-@@ -1284,6 +1288,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
+ net->core.sysctl_somaxconn = SOMAXCONN;
- if (ops->ieee_peer_getpfc) {
- struct ieee_pfc pfc;
-+ memset(&pfc, 0, sizeof(pfc));
- err = ops->ieee_peer_getpfc(netdev, &pfc);
- if (!err)
- NLA_PUT(skb, DCB_ATTR_IEEE_PEER_PFC, sizeof(pfc), &pfc);
-@@ -1463,6 +1468,7 @@ static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev)
- /* peer info if available */
- if (ops->cee_peer_getpg) {
- struct cee_pg pg;
-+ memset(&pg, 0, sizeof(pg));
- err = ops->cee_peer_getpg(netdev, &pg);
- if (!err)
- NLA_PUT(skb, DCB_ATTR_CEE_PEER_PG, sizeof(pg), &pg);
-@@ -1470,6 +1476,7 @@ static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev)
+- tbl = netns_core_table;
+ if (!net_eq(net, &init_net)) {
+- tbl = kmemdup(tbl, sizeof(netns_core_table), GFP_KERNEL);
++ tbl = kmemdup(netns_core_table, sizeof(netns_core_table), GFP_KERNEL);
+ if (tbl == NULL)
+ goto err_dup;
- if (ops->cee_peer_getpfc) {
- struct cee_pfc pfc;
-+ memset(&pfc, 0, sizeof(pfc));
- err = ops->cee_peer_getpfc(netdev, &pfc);
- if (!err)
- NLA_PUT(skb, DCB_ATTR_CEE_PEER_PFC, sizeof(pfc), &pfc);
+ tbl[0].data = &net->core.sysctl_somaxconn;
+- }
++ net->core.sysctl_hdr = register_net_sysctl_table(net, net_core_path, tbl);
++ } else
++ net->core.sysctl_hdr = register_net_sysctl_table(net, net_core_path, netns_core_table);
+
+- net->core.sysctl_hdr = register_net_sysctl_table(net,
+- net_core_path, tbl);
+ if (net->core.sysctl_hdr == NULL)
+ goto err_reg;
+
+ return 0;
+
+ err_reg:
+- if (tbl != netns_core_table)
+- kfree(tbl);
++ kfree(tbl);
+ err_dup:
+ return -ENOMEM;
+ }
+@@ -242,7 +240,7 @@ static __net_exit void sysctl_core_net_exit(struct net *net)
+ kfree(tbl);
+ }
+
+-static __net_initdata struct pernet_operations sysctl_core_ops = {
++static __net_initconst struct pernet_operations sysctl_core_ops = {
+ .init = sysctl_core_net_init,
+ .exit = sysctl_core_net_exit,
+ };
diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c
index 16fbf8c..ff4b0fc 100644
--- a/net/decnet/af_decnet.c
@@ -81682,6 +85424,43 @@ index 39a2d29..f39c0fe 100644
---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 --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
+index 5d228de..27dfa3c 100644
+--- a/net/ipv4/af_inet.c
++++ b/net/ipv4/af_inet.c
+@@ -1612,7 +1612,7 @@ static __net_exit void ipv4_mib_exit_net(struct net *net)
+ snmp_mib_free((void __percpu **)net->mib.tcp_statistics);
+ }
+
+-static __net_initdata struct pernet_operations ipv4_mib_ops = {
++static __net_initconst struct pernet_operations ipv4_mib_ops = {
+ .init = ipv4_mib_init_net,
+ .exit = ipv4_mib_exit_net,
+ };
+@@ -1646,13 +1646,9 @@ static int __init inet_init(void)
+
+ BUILD_BUG_ON(sizeof(struct inet_skb_parm) > sizeof(dummy_skb->cb));
+
+- sysctl_local_reserved_ports = kzalloc(65536 / 8, GFP_KERNEL);
+- if (!sysctl_local_reserved_ports)
+- goto out;
+-
+ rc = proto_register(&tcp_prot, 1);
+ if (rc)
+- goto out_free_reserved_ports;
++ goto out;
+
+ rc = proto_register(&udp_prot, 1);
+ if (rc)
+@@ -1759,8 +1755,6 @@ out_unregister_udp_proto:
+ proto_unregister(&udp_prot);
+ out_unregister_tcp_proto:
+ proto_unregister(&tcp_prot);
+-out_free_reserved_ports:
+- kfree(sysctl_local_reserved_ports);
+ goto out;
+ }
+
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
index 59a7041..060976d 100644
--- a/net/ipv4/arp.c
@@ -81724,7 +85503,7 @@ index 59a7041..060976d 100644
return NF_HOOK(NFPROTO_ARP, NF_ARP_IN, skb, dev, NULL, arp_process);
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
-index e41c40f..26d7e03 100644
+index e41c40f..fbed7a7 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -827,9 +827,9 @@ int devinet_ioctl(struct net *net, unsigned int cmd, void __user *arg)
@@ -81739,6 +85518,64 @@ index e41c40f..26d7e03 100644
if (colon)
memcpy(ifa->ifa_label, ifr.ifr_name, IFNAMSIZ);
else
+@@ -1584,7 +1584,7 @@ static int ipv4_doint_and_flush(ctl_table *ctl, int write,
+ #define DEVINET_SYSCTL_FLUSHING_ENTRY(attr, name) \
+ DEVINET_SYSCTL_COMPLEX_ENTRY(attr, name, ipv4_doint_and_flush)
+
+-static struct devinet_sysctl_table {
++static const struct devinet_sysctl_table {
+ struct ctl_table_header *sysctl_header;
+ struct ctl_table devinet_vars[__IPV4_DEVCONF_MAX];
+ char *dev_name;
+@@ -1729,7 +1729,7 @@ static __net_init int devinet_init_net(struct net *net)
+ int err;
+ struct ipv4_devconf *all, *dflt;
+ #ifdef CONFIG_SYSCTL
+- struct ctl_table *tbl = ctl_forward_entry;
++ ctl_table_no_const *tbl = NULL;
+ struct ctl_table_header *forw_hdr;
+ #endif
+
+@@ -1747,7 +1747,7 @@ static __net_init int devinet_init_net(struct net *net)
+ goto err_alloc_dflt;
+
+ #ifdef CONFIG_SYSCTL
+- tbl = kmemdup(tbl, sizeof(ctl_forward_entry), GFP_KERNEL);
++ tbl = kmemdup(ctl_forward_entry, sizeof(ctl_forward_entry), GFP_KERNEL);
+ if (tbl == NULL)
+ goto err_alloc_ctl;
+
+@@ -1767,7 +1767,10 @@ static __net_init int devinet_init_net(struct net *net)
+ goto err_reg_dflt;
+
+ err = -ENOMEM;
+- forw_hdr = register_net_sysctl_table(net, net_ipv4_path, tbl);
++ if (!net_eq(net, &init_net))
++ forw_hdr = register_net_sysctl_table(net, net_ipv4_path, tbl);
++ else
++ forw_hdr = register_net_sysctl_table(net, net_ipv4_path, ctl_forward_entry);
+ if (forw_hdr == NULL)
+ goto err_reg_ctl;
+ net->ipv4.forw_hdr = forw_hdr;
+@@ -1783,8 +1786,7 @@ err_reg_ctl:
+ err_reg_dflt:
+ __devinet_sysctl_unregister(all);
+ err_reg_all:
+- if (tbl != ctl_forward_entry)
+- kfree(tbl);
++ kfree(tbl);
+ err_alloc_ctl:
+ #endif
+ if (dflt != &ipv4_devconf_dflt)
+@@ -1811,7 +1813,7 @@ static __net_exit void devinet_exit_net(struct net *net)
+ kfree(net->ipv4.devconf_all);
+ }
+
+-static __net_initdata struct pernet_operations devinet_ops = {
++static __net_initconst struct pernet_operations devinet_ops = {
+ .init = devinet_init_net,
+ .exit = devinet_exit_net,
+ };
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
index 92fc5f6..b790d91 100644
--- a/net/ipv4/fib_frontend.c
@@ -81780,6 +85617,32 @@ index d01f9c6..284c56c 100644
return nh->nh_saddr;
}
+diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c
+index ab188ae..662585c 100644
+--- a/net/ipv4/icmp.c
++++ b/net/ipv4/icmp.c
+@@ -1195,7 +1195,7 @@ fail:
+ return err;
+ }
+
+-static struct pernet_operations __net_initdata icmp_sk_ops = {
++static struct pernet_operations __net_initconst icmp_sk_ops = {
+ .init = icmp_sk_init,
+ .exit = icmp_sk_exit,
+ };
+diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
+index 907ef2c..eba7111 100644
+--- a/net/ipv4/inet_connection_sock.c
++++ b/net/ipv4/inet_connection_sock.c
+@@ -37,7 +37,7 @@ struct local_ports sysctl_local_ports __read_mostly = {
+ .range = { 32768, 61000 },
+ };
+
+-unsigned long *sysctl_local_reserved_ports;
++unsigned long sysctl_local_reserved_ports[65536 / 8 / sizeof(unsigned long)];
+ EXPORT_SYMBOL(sysctl_local_reserved_ports);
+
+ void inet_get_local_port_range(int *low, int *high)
diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
index ccee270..db23c3c 100644
--- a/net/ipv4/inet_diag.c
@@ -81890,7 +85753,7 @@ index 86f13c67..59a35b5 100644
secure_ip_id(daddr->addr.a4) :
secure_ipv6_id(daddr->addr.a6));
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
-index a4e7131..fe66a18f 100644
+index b2cfe83..e1fa733 100644
--- a/net/ipv4/ip_fragment.c
+++ b/net/ipv4/ip_fragment.c
@@ -316,7 +316,7 @@ static inline int ip_frag_too_far(struct ipq *qp)
@@ -81902,6 +85765,74 @@ index a4e7131..fe66a18f 100644
qp->rid = end;
rc = qp->q.fragments && (end - start) > max;
+@@ -766,21 +766,21 @@ static struct ctl_table ip4_frags_ctl_table[] = {
+
+ static int __net_init ip4_frags_ns_ctl_register(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table = NULL;
+ struct ctl_table_header *hdr;
+
+- table = ip4_frags_ns_ctl_table;
+ if (!net_eq(net, &init_net)) {
+- table = kmemdup(table, sizeof(ip4_frags_ns_ctl_table), GFP_KERNEL);
++ table = kmemdup(ip4_frags_ns_ctl_table, sizeof(ip4_frags_ns_ctl_table), GFP_KERNEL);
+ if (table == NULL)
+ goto err_alloc;
+
+ table[0].data = &net->ipv4.frags.high_thresh;
+ table[1].data = &net->ipv4.frags.low_thresh;
+ table[2].data = &net->ipv4.frags.timeout;
+- }
++ hdr = register_net_sysctl_table(net, net_ipv4_ctl_path, table);
++ } else
++ hdr = register_net_sysctl_table(net, net_ipv4_ctl_path, ip4_frags_ns_ctl_table);
+
+- hdr = register_net_sysctl_table(net, net_ipv4_ctl_path, table);
+ if (hdr == NULL)
+ goto err_reg;
+
+@@ -788,8 +788,7 @@ static int __net_init ip4_frags_ns_ctl_register(struct net *net)
+ return 0;
+
+ err_reg:
+- if (!net_eq(net, &init_net))
+- kfree(table);
++ kfree(table);
+ err_alloc:
+ return -ENOMEM;
+ }
+diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
+index d55110e..7e0739d 100644
+--- a/net/ipv4/ip_gre.c
++++ b/net/ipv4/ip_gre.c
+@@ -118,7 +118,7 @@
+ Alexey Kuznetsov.
+ */
+
+-static struct rtnl_link_ops ipgre_link_ops __read_mostly;
++static struct rtnl_link_ops ipgre_link_ops;
+ static int ipgre_tunnel_init(struct net_device *dev);
+ static void ipgre_tunnel_setup(struct net_device *dev);
+ static int ipgre_tunnel_bind_dev(struct net_device *dev);
+@@ -1669,7 +1669,7 @@ static const struct nla_policy ipgre_policy[IFLA_GRE_MAX + 1] = {
+ [IFLA_GRE_PMTUDISC] = { .type = NLA_U8 },
+ };
+
+-static struct rtnl_link_ops ipgre_link_ops __read_mostly = {
++static struct rtnl_link_ops ipgre_link_ops = {
+ .kind = "gre",
+ .maxtype = IFLA_GRE_MAX,
+ .policy = ipgre_policy,
+@@ -1682,7 +1682,7 @@ static struct rtnl_link_ops ipgre_link_ops __read_mostly = {
+ .fill_info = ipgre_fill_info,
+ };
+
+-static struct rtnl_link_ops ipgre_tap_ops __read_mostly = {
++static struct rtnl_link_ops ipgre_tap_ops = {
+ .kind = "gretap",
+ .maxtype = IFLA_GRE_MAX,
+ .policy = ipgre_policy,
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
index 3b36002..27e6634 100644
--- a/net/ipv4/ip_sockglue.c
@@ -82082,8 +86013,21 @@ index 294a380..885a292 100644
}
static int ping_seq_show(struct seq_file *seq, void *v)
+diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c
+index f7fdbe9..63740b7 100644
+--- a/net/ipv4/proc.c
++++ b/net/ipv4/proc.c
+@@ -487,7 +487,7 @@ static __net_exit void ip_proc_exit_net(struct net *net)
+ proc_net_remove(net, "sockstat");
+ }
+
+-static __net_initdata struct pernet_operations ip_proc_ops = {
++static __net_initconst struct pernet_operations ip_proc_ops = {
+ .init = ip_proc_init_net,
+ .exit = ip_proc_exit_net,
+ };
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
-index e1d4f30..d7a97b3 100644
+index e1d4f30..5e8918e 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -305,7 +305,7 @@ static int raw_rcv_skb(struct sock * sk, struct sk_buff * skb)
@@ -82143,8 +86087,17 @@ index e1d4f30..d7a97b3 100644
}
static int raw_seq_show(struct seq_file *seq, void *v)
+@@ -1051,7 +1061,7 @@ static __net_exit void raw_exit_net(struct net *net)
+ proc_net_remove(net, "raw");
+ }
+
+-static __net_initdata struct pernet_operations raw_net_ops = {
++static __net_initconst struct pernet_operations raw_net_ops = {
+ .init = raw_init_net,
+ .exit = raw_exit_net,
+ };
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
-index 94cdbc5..0cb0063 100644
+index 94cdbc5..01d3a77 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -313,7 +313,7 @@ static inline unsigned int rt_hash(__be32 daddr, __be32 saddr, int idx,
@@ -82156,6 +86109,15 @@ index 94cdbc5..0cb0063 100644
}
#ifdef CONFIG_PROC_FS
+@@ -641,7 +641,7 @@ static void __net_exit ip_rt_do_proc_exit(struct net *net)
+ #endif
+ }
+
+-static struct pernet_operations ip_rt_proc_ops __net_initdata = {
++static struct pernet_operations ip_rt_proc_ops __net_initconst = {
+ .init = ip_rt_do_proc_init,
+ .exit = ip_rt_do_proc_exit,
+ };
@@ -937,7 +937,7 @@ static void rt_cache_invalidate(struct net *net)
unsigned char shuffle;
@@ -82174,8 +86136,196 @@ index 94cdbc5..0cb0063 100644
if (peer->tcp_ts_stamp) {
ts = peer->tcp_ts;
tsage = get_seconds() - peer->tcp_ts_stamp;
+@@ -3221,7 +3221,7 @@ static int ipv4_sysctl_rtcache_flush(ctl_table *__ctl, int write,
+ {
+ if (write) {
+ int flush_delay;
+- ctl_table ctl;
++ ctl_table_no_const ctl;
+ struct net *net;
+
+ memcpy(&ctl, __ctl, sizeof(ctl));
+@@ -3370,6 +3370,7 @@ static struct ctl_table ipv4_route_flush_table[] = {
+ .maxlen = sizeof(int),
+ .mode = 0200,
+ .proc_handler = ipv4_sysctl_rtcache_flush,
++ .extra1 = &init_net,
+ },
+ { },
+ };
+@@ -3383,25 +3384,23 @@ static __net_initdata struct ctl_path ipv4_route_path[] = {
+
+ static __net_init int sysctl_route_net_init(struct net *net)
+ {
+- struct ctl_table *tbl;
++ ctl_table_no_const *tbl = NULL;
+
+- tbl = ipv4_route_flush_table;
+ if (!net_eq(net, &init_net)) {
+- tbl = kmemdup(tbl, sizeof(ipv4_route_flush_table), GFP_KERNEL);
++ tbl = kmemdup(ipv4_route_flush_table, sizeof(ipv4_route_flush_table), GFP_KERNEL);
+ if (tbl == NULL)
+ goto err_dup;
+- }
+- tbl[0].extra1 = net;
+
+- net->ipv4.route_hdr =
+- register_net_sysctl_table(net, ipv4_route_path, tbl);
++ net->ipv4.route_hdr = register_net_sysctl_table(net, ipv4_route_path, tbl);
++ } else
++ net->ipv4.route_hdr = register_net_sysctl_table(net, ipv4_route_path, ipv4_route_flush_table);
++
+ if (net->ipv4.route_hdr == NULL)
+ goto err_reg;
+ return 0;
+
+ err_reg:
+- if (tbl != ipv4_route_flush_table)
+- kfree(tbl);
++ kfree(tbl);
+ err_dup:
+ return -ENOMEM;
+ }
+@@ -3416,7 +3415,7 @@ static __net_exit void sysctl_route_net_exit(struct net *net)
+ kfree(tbl);
+ }
+
+-static __net_initdata struct pernet_operations sysctl_route_ops = {
++static __net_initconst struct pernet_operations sysctl_route_ops = {
+ .init = sysctl_route_net_init,
+ .exit = sysctl_route_net_exit,
+ };
+@@ -3431,7 +3430,7 @@ static __net_init int rt_genid_init(struct net *net)
+ return 0;
+ }
+
+-static __net_initdata struct pernet_operations rt_genid_ops = {
++static __net_initconst struct pernet_operations rt_genid_ops = {
+ .init = rt_genid_init,
+ };
+
+diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
+index 5485077..7e37374 100644
+--- a/net/ipv4/sysctl_net_ipv4.c
++++ b/net/ipv4/sysctl_net_ipv4.c
+@@ -51,7 +51,7 @@ static int ipv4_local_port_range(ctl_table *table, int write,
+ {
+ int ret;
+ int range[2];
+- ctl_table tmp = {
++ ctl_table_no_const tmp = {
+ .data = &range,
+ .maxlen = sizeof(range),
+ .mode = table->mode,
+@@ -102,7 +102,7 @@ static int ipv4_ping_group_range(ctl_table *table, int write,
+ {
+ int ret;
+ gid_t range[2];
+- ctl_table tmp = {
++ ctl_table_no_const tmp = {
+ .data = &range,
+ .maxlen = sizeof(range),
+ .mode = table->mode,
+@@ -123,7 +123,7 @@ static int proc_tcp_congestion_control(ctl_table *ctl, int write,
+ void __user *buffer, size_t *lenp, loff_t *ppos)
+ {
+ char val[TCP_CA_NAME_MAX];
+- ctl_table tbl = {
++ ctl_table_no_const tbl = {
+ .data = val,
+ .maxlen = TCP_CA_NAME_MAX,
+ };
+@@ -142,7 +142,7 @@ static int proc_tcp_available_congestion_control(ctl_table *ctl,
+ void __user *buffer, size_t *lenp,
+ loff_t *ppos)
+ {
+- ctl_table tbl = { .maxlen = TCP_CA_BUF_MAX, };
++ ctl_table_no_const tbl = { .maxlen = TCP_CA_BUF_MAX, };
+ int ret;
+
+ tbl.data = kmalloc(tbl.maxlen, GFP_USER);
+@@ -159,7 +159,7 @@ static int proc_allowed_congestion_control(ctl_table *ctl,
+ void __user *buffer, size_t *lenp,
+ loff_t *ppos)
+ {
+- ctl_table tbl = { .maxlen = TCP_CA_BUF_MAX };
++ ctl_table_no_const tbl = { .maxlen = TCP_CA_BUF_MAX };
+ int ret;
+
+ tbl.data = kmalloc(tbl.maxlen, GFP_USER);
+@@ -357,7 +357,7 @@ static struct ctl_table ipv4_table[] = {
+ },
+ {
+ .procname = "ip_local_reserved_ports",
+- .data = NULL, /* initialized in sysctl_ipv4_init */
++ .data = sysctl_local_reserved_ports,
+ .maxlen = 65536,
+ .mode = 0644,
+ .proc_handler = proc_do_large_bitmap,
+@@ -740,11 +740,10 @@ EXPORT_SYMBOL_GPL(net_ipv4_ctl_path);
+
+ static __net_init int ipv4_sysctl_init_net(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table = NULL;
+
+- table = ipv4_net_table;
+ if (!net_eq(net, &init_net)) {
+- table = kmemdup(table, sizeof(ipv4_net_table), GFP_KERNEL);
++ table = kmemdup(ipv4_net_table, sizeof(ipv4_net_table), GFP_KERNEL);
+ if (table == NULL)
+ goto err_alloc;
+
+@@ -776,16 +775,17 @@ static __net_init int ipv4_sysctl_init_net(struct net *net)
+
+ net->ipv4.sysctl_rt_cache_rebuild_count = 4;
+
+- net->ipv4.ipv4_hdr = register_net_sysctl_table(net,
+- net_ipv4_ctl_path, table);
++ if (!net_eq(net, &init_net))
++ net->ipv4.ipv4_hdr = register_net_sysctl_table(net, net_ipv4_ctl_path, table);
++ else
++ net->ipv4.ipv4_hdr = register_net_sysctl_table(net, net_ipv4_ctl_path, ipv4_net_table);
+ if (net->ipv4.ipv4_hdr == NULL)
+ goto err_reg;
+
+ return 0;
+
+ err_reg:
+- if (!net_eq(net, &init_net))
+- kfree(table);
++ kfree(table);
+ err_alloc:
+ return -ENOMEM;
+ }
+@@ -799,7 +799,7 @@ static __net_exit void ipv4_sysctl_exit_net(struct net *net)
+ kfree(table);
+ }
+
+-static __net_initdata struct pernet_operations ipv4_sysctl_ops = {
++static __net_initconst struct pernet_operations ipv4_sysctl_ops = {
+ .init = ipv4_sysctl_init_net,
+ .exit = ipv4_sysctl_exit_net,
+ };
+@@ -807,16 +807,6 @@ static __net_initdata struct pernet_operations ipv4_sysctl_ops = {
+ static __init int sysctl_ipv4_init(void)
+ {
+ struct ctl_table_header *hdr;
+- struct ctl_table *i;
+-
+- for (i = ipv4_table; i->procname; i++) {
+- if (strcmp(i->procname, "ip_local_reserved_ports") == 0) {
+- i->data = sysctl_local_reserved_ports;
+- break;
+- }
+- }
+- if (!i->procname)
+- return -EINVAL;
+
+ hdr = register_sysctl_paths(net_ipv4_ctl_path, ipv4_table);
+ if (hdr == NULL)
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
-index e865ed1..457805b 100644
+index 1b1f7af..911f274 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -4732,7 +4732,7 @@ static struct sk_buff *tcp_collapse_one(struct sock *sk, struct sk_buff *skb,
@@ -82258,7 +86408,7 @@ index e865ed1..457805b 100644
/* ts_recent update must be made after we are sure that the packet
* is in window.
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
-index a97c9ad..6c2166f 100644
+index a97c9ad..640d986 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -87,6 +87,9 @@ int sysctl_tcp_tw_reuse __read_mostly;
@@ -82356,6 +86506,15 @@ index a97c9ad..6c2166f 100644
}
#define TMPSZ 150
+@@ -2662,7 +2694,7 @@ static void __net_exit tcp_sk_exit_batch(struct list_head *net_exit_list)
+ inet_twsk_purge(&tcp_hashinfo, &tcp_death_row, AF_INET);
+ }
+
+-static struct pernet_operations __net_initdata tcp_sk_ops = {
++static struct pernet_operations __net_initconst tcp_sk_ops = {
+ .init = tcp_sk_init,
+ .exit = tcp_sk_exit,
+ .exit_batch = tcp_sk_exit_batch,
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
index 66363b6..b0654a3 100644
--- a/net/ipv4/tcp_minisocks.c
@@ -82578,6 +86737,19 @@ index 65dd543..df67080 100644
seqhi = esp_tmp_seqhi(tmp);
iv = esp_tmp_iv(aead, tmp, seqhilen);
+diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c
+index 90868fb..7aeff1e 100644
+--- a/net/ipv6/icmp.c
++++ b/net/ipv6/icmp.c
+@@ -961,7 +961,7 @@ ctl_table ipv6_icmp_table_template[] = {
+
+ struct ctl_table * __net_init ipv6_icmp_sysctl_init(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table;
+
+ table = kmemdup(ipv6_icmp_table_template,
+ sizeof(ipv6_icmp_table_template),
diff --git a/net/ipv6/inet6_connection_sock.c b/net/ipv6/inet6_connection_sock.c
index 1567fb1..29af910 100644
--- a/net/ipv6/inet6_connection_sock.c
@@ -82752,6 +86924,73 @@ index 6e6c2c4..942cebf 100644
}
static int raw6_seq_show(struct seq_file *seq, void *v)
+diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c
+index 2b0a4ca..40ad0d9 100644
+--- a/net/ipv6/reassembly.c
++++ b/net/ipv6/reassembly.c
+@@ -637,21 +637,21 @@ static struct ctl_table ip6_frags_ctl_table[] = {
+
+ static int __net_init ip6_frags_ns_sysctl_register(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table = NULL;
+ struct ctl_table_header *hdr;
+
+- table = ip6_frags_ns_ctl_table;
+ if (!net_eq(net, &init_net)) {
+- table = kmemdup(table, sizeof(ip6_frags_ns_ctl_table), GFP_KERNEL);
++ table = kmemdup(ip6_frags_ns_ctl_table, sizeof(ip6_frags_ns_ctl_table), GFP_KERNEL);
+ if (table == NULL)
+ goto err_alloc;
+
+ table[0].data = &net->ipv6.frags.high_thresh;
+ table[1].data = &net->ipv6.frags.low_thresh;
+ table[2].data = &net->ipv6.frags.timeout;
+- }
++ hdr = register_net_sysctl_table(net, net_ipv6_ctl_path, table);
++ } else
++ hdr = register_net_sysctl_table(net, net_ipv6_ctl_path, ip6_frags_ns_ctl_table);
+
+- hdr = register_net_sysctl_table(net, net_ipv6_ctl_path, table);
+ if (hdr == NULL)
+ goto err_reg;
+
+@@ -659,8 +659,7 @@ static int __net_init ip6_frags_ns_sysctl_register(struct net *net)
+ return 0;
+
+ err_reg:
+- if (!net_eq(net, &init_net))
+- kfree(table);
++ kfree(table);
+ err_alloc:
+ return -ENOMEM;
+ }
+diff --git a/net/ipv6/route.c b/net/ipv6/route.c
+index 18ea73c..b0b7be2 100644
+--- a/net/ipv6/route.c
++++ b/net/ipv6/route.c
+@@ -2806,7 +2806,7 @@ ctl_table ipv6_route_table_template[] = {
+
+ struct ctl_table * __net_init ipv6_route_sysctl_init(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table;
+
+ table = kmemdup(ipv6_route_table_template,
+ sizeof(ipv6_route_table_template),
+diff --git a/net/ipv6/sysctl_net_ipv6.c b/net/ipv6/sysctl_net_ipv6.c
+index 166a57c..dc4e6b8 100644
+--- a/net/ipv6/sysctl_net_ipv6.c
++++ b/net/ipv6/sysctl_net_ipv6.c
+@@ -71,7 +71,7 @@ EXPORT_SYMBOL_GPL(net_ipv6_ctl_path);
+
+ static int __net_init ipv6_sysctl_net_init(struct net *net)
+ {
+- struct ctl_table *ipv6_table;
++ ctl_table_no_const *ipv6_table;
+ struct ctl_table *ipv6_route_table;
+ struct ctl_table *ipv6_icmp_table;
+ int err;
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index db10805..42998ba 100644
--- a/net/ipv6/tcp_ipv6.c
@@ -83180,18 +87419,6 @@ index 93a41a0..d4b4edb 100644
NLA_PUT_U32(skb, L2TP_ATTR_CONN_ID, tunnel->tunnel_id);
NLA_PUT_U32(skb, L2TP_ATTR_SESSION_ID, session->session_id);
-diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c
-index b1bd16f..6f60175 100644
---- a/net/l2tp/l2tp_ppp.c
-+++ b/net/l2tp/l2tp_ppp.c
-@@ -360,6 +360,7 @@ static int pppol2tp_sendmsg(struct kiocb *iocb, struct socket *sock, struct msgh
- l2tp_xmit_skb(session, skb, session->hdr_len);
-
- sock_put(ps->tunnel_sock);
-+ sock_put(sk);
-
- return error;
-
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 73495f1..ad51356 100644
--- a/net/mac80211/ieee80211_i.h
@@ -83387,6 +87614,19 @@ index 1a02853..5d8c22e 100644
obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
obj-$(CONFIG_NETFILTER_XT_MATCH_HELPER) += xt_helper.o
obj-$(CONFIG_NETFILTER_XT_MATCH_HL) += xt_hl.o
+diff --git a/net/netfilter/ipset/ip_set_core.c b/net/netfilter/ipset/ip_set_core.c
+index 86137b5..c12e721 100644
+--- a/net/netfilter/ipset/ip_set_core.c
++++ b/net/netfilter/ipset/ip_set_core.c
+@@ -1679,7 +1679,7 @@ done:
+ return ret;
+ }
+
+-static struct nf_sockopt_ops so_set __read_mostly = {
++static struct nf_sockopt_ops so_set = {
+ .pf = PF_INET,
+ .get_optmin = SO_IP_SET,
+ .get_optmax = SO_IP_SET + 1,
diff --git a/net/netfilter/ipset/ip_set_hash_netiface.c b/net/netfilter/ipset/ip_set_hash_netiface.c
index e13095d..6617217 100644
--- a/net/netfilter/ipset/ip_set_hash_netiface.c
@@ -83454,7 +87694,7 @@ index 6dc7d7d..e45913a 100644
if ((ipvs->sync_state & IP_VS_STATE_MASTER) &&
cp->protocol == IPPROTO_SCTP) {
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
-index 72f4253..2772ca6 100644
+index 72f4253..f5222ae 100644
--- a/net/netfilter/ipvs/ip_vs_ctl.c
+++ b/net/netfilter/ipvs/ip_vs_ctl.c
@@ -788,7 +788,7 @@ __ip_vs_update_dest(struct ip_vs_service *svc, struct ip_vs_dest *dest,
@@ -83466,6 +87706,15 @@ index 72f4253..2772ca6 100644
/* bind the service */
if (!dest->svc) {
+@@ -1666,7 +1666,7 @@ proc_do_sync_mode(ctl_table *table, int write,
+ * align with netns init in ip_vs_control_net_init()
+ */
+
+-static struct ctl_table vs_vars[] = {
++static ctl_table_no_const vs_vars[] __read_only = {
+ {
+ .procname = "amemthresh",
+ .maxlen = sizeof(int),
@@ -2028,7 +2028,7 @@ static int ip_vs_info_seq_show(struct seq_file *seq, void *v)
" %-7s %-6d %-10d %-10d\n",
&dest->addr.in6,
@@ -83502,6 +87751,41 @@ index 72f4253..2772ca6 100644
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);
+@@ -3626,7 +3626,7 @@ int __net_init ip_vs_control_net_init_sysctl(struct net *net)
+ {
+ int idx;
+ struct netns_ipvs *ipvs = net_ipvs(net);
+- struct ctl_table *tbl;
++ ctl_table_no_const *tbl;
+
+ atomic_set(&ipvs->dropentry, 0);
+ spin_lock_init(&ipvs->dropentry_lock);
+diff --git a/net/netfilter/ipvs/ip_vs_lblc.c b/net/netfilter/ipvs/ip_vs_lblc.c
+index 0f16283..9ec4d21 100644
+--- a/net/netfilter/ipvs/ip_vs_lblc.c
++++ b/net/netfilter/ipvs/ip_vs_lblc.c
+@@ -115,7 +115,7 @@ struct ip_vs_lblc_table {
+ * IPVS LBLC sysctl table
+ */
+ #ifdef CONFIG_SYSCTL
+-static ctl_table vs_vars_table[] = {
++static ctl_table_no_const vs_vars_table[] __read_only = {
+ {
+ .procname = "lblc_expiration",
+ .data = NULL,
+diff --git a/net/netfilter/ipvs/ip_vs_lblcr.c b/net/netfilter/ipvs/ip_vs_lblcr.c
+index eec797f..6f3ec56 100644
+--- a/net/netfilter/ipvs/ip_vs_lblcr.c
++++ b/net/netfilter/ipvs/ip_vs_lblcr.c
+@@ -288,7 +288,7 @@ struct ip_vs_lblcr_table {
+ * IPVS LBLCR sysctl table
+ */
+
+-static ctl_table vs_vars_table[] = {
++static ctl_table_no_const vs_vars_table[] __read_only = {
+ {
+ .procname = "lblcr_expiration",
+ .data = NULL,
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
index 2b6678c0..aaa41fc 100644
--- a/net/netfilter/ipvs/ip_vs_sync.c
@@ -83546,6 +87830,19 @@ index aa2d720..d8aa111 100644
goto out;
}
+diff --git a/net/netfilter/nf_conntrack_acct.c b/net/netfilter/nf_conntrack_acct.c
+index 369df3f..b660190 100644
+--- a/net/netfilter/nf_conntrack_acct.c
++++ b/net/netfilter/nf_conntrack_acct.c
+@@ -60,7 +60,7 @@ static struct nf_ct_ext_type acct_extend __read_mostly = {
+ #ifdef CONFIG_SYSCTL
+ static int nf_conntrack_acct_init_sysctl(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table;
+
+ table = kmemdup(acct_sysctl_table, sizeof(acct_sysctl_table),
+ GFP_KERNEL);
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
index 7489bd3..5f4df88 100644
--- a/net/netfilter/nf_conntrack_core.c
@@ -83573,6 +87870,113 @@ index 7489bd3..5f4df88 100644
if (!net->ct.slabname) {
ret = -ENOMEM;
goto err_slabname;
+diff --git a/net/netfilter/nf_conntrack_ecache.c b/net/netfilter/nf_conntrack_ecache.c
+index 14af632..9914188 100644
+--- a/net/netfilter/nf_conntrack_ecache.c
++++ b/net/netfilter/nf_conntrack_ecache.c
+@@ -185,7 +185,7 @@ static struct nf_ct_ext_type event_extend __read_mostly = {
+ #ifdef CONFIG_SYSCTL
+ static int nf_conntrack_event_init_sysctl(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table;
+
+ table = kmemdup(event_sysctl_table, sizeof(event_sysctl_table),
+ GFP_KERNEL);
+diff --git a/net/netfilter/nf_conntrack_proto_dccp.c b/net/netfilter/nf_conntrack_proto_dccp.c
+index 2e664a6..0c3e635 100644
+--- a/net/netfilter/nf_conntrack_proto_dccp.c
++++ b/net/netfilter/nf_conntrack_proto_dccp.c
+@@ -391,7 +391,7 @@ struct dccp_net {
+ unsigned int dccp_timeout[CT_DCCP_MAX + 1];
+ #ifdef CONFIG_SYSCTL
+ struct ctl_table_header *sysctl_header;
+- struct ctl_table *sysctl_table;
++ ctl_table_no_const *sysctl_table;
+ #endif
+ };
+
+diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c
+index 05e9feb..3b519f3 100644
+--- a/net/netfilter/nf_conntrack_standalone.c
++++ b/net/netfilter/nf_conntrack_standalone.c
+@@ -475,7 +475,7 @@ static struct ctl_path nf_ct_path[] = {
+
+ static int nf_conntrack_standalone_init_sysctl(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table;
+
+ if (net_eq(net, &init_net)) {
+ nf_ct_netfilter_header =
+diff --git a/net/netfilter/nf_conntrack_timestamp.c b/net/netfilter/nf_conntrack_timestamp.c
+index af7dd31..7535cd7 100644
+--- a/net/netfilter/nf_conntrack_timestamp.c
++++ b/net/netfilter/nf_conntrack_timestamp.c
+@@ -42,7 +42,7 @@ static struct nf_ct_ext_type tstamp_extend __read_mostly = {
+ #ifdef CONFIG_SYSCTL
+ static int nf_conntrack_tstamp_init_sysctl(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table;
+
+ table = kmemdup(tstamp_sysctl_table, sizeof(tstamp_sysctl_table),
+ GFP_KERNEL);
+diff --git a/net/netfilter/nf_log.c b/net/netfilter/nf_log.c
+index 957374a..dcbce7a 100644
+--- a/net/netfilter/nf_log.c
++++ b/net/netfilter/nf_log.c
+@@ -222,7 +222,7 @@ static struct ctl_path nf_log_sysctl_path[] = {
+ };
+
+ static char nf_log_sysctl_fnames[NFPROTO_NUMPROTO-NFPROTO_UNSPEC][3];
+-static struct ctl_table nf_log_sysctl_table[NFPROTO_NUMPROTO+1];
++static ctl_table_no_const nf_log_sysctl_table[NFPROTO_NUMPROTO+1] __read_only;
+ static struct ctl_table_header *nf_log_dir_header;
+
+ static int nf_log_proc_dostring(ctl_table *table, int write,
+@@ -253,14 +253,16 @@ static int nf_log_proc_dostring(ctl_table *table, int write,
+ rcu_assign_pointer(nf_loggers[tindex], logger);
+ mutex_unlock(&nf_log_mutex);
+ } else {
++ ctl_table_no_const nf_log_table = *table;
++
+ mutex_lock(&nf_log_mutex);
+ logger = rcu_dereference_protected(nf_loggers[tindex],
+ lockdep_is_held(&nf_log_mutex));
+ if (!logger)
+- table->data = "NONE";
++ nf_log_table.data = "NONE";
+ else
+- table->data = logger->name;
+- r = proc_dostring(table, write, buffer, lenp, ppos);
++ nf_log_table.data = logger->name;
++ r = proc_dostring(&nf_log_table, write, buffer, lenp, ppos);
+ mutex_unlock(&nf_log_mutex);
+ }
+
+diff --git a/net/netfilter/nf_sockopt.c b/net/netfilter/nf_sockopt.c
+index f042ae5..30ea486 100644
+--- a/net/netfilter/nf_sockopt.c
++++ b/net/netfilter/nf_sockopt.c
+@@ -45,7 +45,7 @@ int nf_register_sockopt(struct nf_sockopt_ops *reg)
+ }
+ }
+
+- list_add(&reg->list, &nf_sockopts);
++ pax_list_add((struct list_head *)&reg->list, &nf_sockopts);
+ out:
+ mutex_unlock(&nf_sockopt_mutex);
+ return ret;
+@@ -55,7 +55,7 @@ EXPORT_SYMBOL(nf_register_sockopt);
+ void nf_unregister_sockopt(struct nf_sockopt_ops *reg)
+ {
+ mutex_lock(&nf_sockopt_mutex);
+- list_del(&reg->list);
++ pax_list_del((struct list_head *)&reg->list);
+ mutex_unlock(&nf_sockopt_mutex);
+ }
+ EXPORT_SYMBOL(nf_unregister_sockopt);
diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c
index 66b2c54..c7884e3 100644
--- a/net/netfilter/nfnetlink_log.c
@@ -83687,7 +88091,7 @@ index 4fe4fb4..87a89e5 100644
return 0;
}
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
-index 3d1d55d..2a0b8cc 100644
+index 3d1d55d..1ee2a18 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -753,7 +753,7 @@ static void netlink_overrun(struct sock *sk)
@@ -83708,6 +88112,57 @@ index 3d1d55d..2a0b8cc 100644
sock_i_ino(s)
);
+@@ -2120,7 +2120,7 @@ static void __init netlink_add_usersock_entry(void)
+ netlink_table_ungrab();
+ }
+
+-static struct pernet_operations __net_initdata netlink_net_ops = {
++static struct pernet_operations __net_initconst netlink_net_ops = {
+ .init = netlink_net_init,
+ .exit = netlink_net_exit,
+ };
+diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
+index 482fa57..818ca98 100644
+--- a/net/netlink/genetlink.c
++++ b/net/netlink/genetlink.c
+@@ -287,18 +287,20 @@ int genl_register_ops(struct genl_family *family, struct genl_ops *ops)
+ goto errout;
+ }
+
++ pax_open_kernel();
+ if (ops->dumpit)
+- ops->flags |= GENL_CMD_CAP_DUMP;
++ *(unsigned int *)&ops->flags |= GENL_CMD_CAP_DUMP;
+ if (ops->doit)
+- ops->flags |= GENL_CMD_CAP_DO;
++ *(unsigned int *)&ops->flags |= GENL_CMD_CAP_DO;
+ if (ops->policy)
+- ops->flags |= GENL_CMD_CAP_HASPOL;
++ *(unsigned int *)&ops->flags |= GENL_CMD_CAP_HASPOL;
++ pax_close_kernel();
+
+ genl_lock();
+- list_add_tail(&ops->ops_list, &family->ops_list);
++ pax_list_add_tail((struct list_head *)&ops->ops_list, &family->ops_list);
+ genl_unlock();
+
+- genl_ctrl_event(CTRL_CMD_NEWOPS, ops);
++ genl_ctrl_event(CTRL_CMD_NEWOPS, (void *)ops);
+ err = 0;
+ errout:
+ return err;
+@@ -328,9 +330,9 @@ int genl_unregister_ops(struct genl_family *family, struct genl_ops *ops)
+ genl_lock();
+ list_for_each_entry(rc, &family->ops_list, ops_list) {
+ if (rc == ops) {
+- list_del(&ops->ops_list);
++ pax_list_del((struct list_head *)&ops->ops_list);
+ genl_unlock();
+- genl_ctrl_event(CTRL_CMD_DELOPS, ops);
++ genl_ctrl_event(CTRL_CMD_DELOPS, (void *)ops);
+ return 0;
+ }
+ }
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
index f156382..95ce7ba 100644
--- a/net/netrom/af_netrom.c
@@ -83864,6 +88319,19 @@ index 4c7eff3..59c727f 100644
}
seq_printf(seq, "%*s\n", 127 - len, "");
return 0;
+diff --git a/net/phonet/sysctl.c b/net/phonet/sysctl.c
+index cea1c7d..e74ee16 100644
+--- a/net/phonet/sysctl.c
++++ b/net/phonet/sysctl.c
+@@ -62,7 +62,7 @@ static int proc_local_port_range(ctl_table *table, int write,
+ {
+ int ret;
+ int range[2] = {local_port_range[0], local_port_range[1]};
+- ctl_table tmp = {
++ ctl_table_no_const tmp = {
+ .data = &range,
+ .maxlen = sizeof(range),
+ .mode = table->mode,
diff --git a/net/rds/cong.c b/net/rds/cong.c
index e5b65ac..f3b6fb7 100644
--- a/net/rds/cong.c
@@ -83991,20 +88459,19 @@ index 5e57347..3916042 100644
}
#endif
-diff --git a/net/rds/message.c b/net/rds/message.c
-index f0a4658..aff589c 100644
---- a/net/rds/message.c
-+++ b/net/rds/message.c
-@@ -197,6 +197,9 @@ struct rds_message *rds_message_alloc(unsigned int extra_len, gfp_t gfp)
- {
- struct rds_message *rm;
+diff --git a/net/rds/rds.h b/net/rds/rds.h
+index 7eaba18..a3c303f 100644
+--- a/net/rds/rds.h
++++ b/net/rds/rds.h
+@@ -449,7 +449,7 @@ struct rds_transport {
+ void (*sync_mr)(void *trans_private, int direction);
+ void (*free_mr)(void *trans_private, int invalidate);
+ void (*flush_mrs)(void);
+-};
++} __do_const;
-+ if (extra_len > KMALLOC_MAX_SIZE - sizeof(struct rds_message))
-+ return NULL;
-+
- rm = kzalloc(sizeof(struct rds_message) + extra_len, gfp);
- if (!rm)
- goto out;
+ struct rds_sock {
+ struct sock rs_sk;
diff --git a/net/rds/tcp.c b/net/rds/tcp.c
index edac9ef..16bcb98 100644
--- a/net/rds/tcp.c
@@ -84327,15 +88794,33 @@ index bf81204..333926d 100644
}
}
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
-index 8104278..631330b 100644
+index 8104278..300d89d 100644
--- a/net/sctp/ipv6.c
+++ b/net/sctp/ipv6.c
+@@ -977,7 +977,7 @@ static const struct inet6_protocol sctpv6_protocol = {
+ .flags = INET6_PROTO_NOPOLICY | INET6_PROTO_FINAL,
+ };
+
+-static struct sctp_af sctp_af_inet6 = {
++static struct sctp_af sctp_af_inet6 __read_only = {
+ .sa_family = AF_INET6,
+ .sctp_xmit = sctp_v6_xmit,
+ .setsockopt = ipv6_setsockopt,
+@@ -1009,7 +1009,7 @@ static struct sctp_af sctp_af_inet6 = {
+ #endif
+ };
+
+-static struct sctp_pf sctp_pf_inet6 = {
++static struct sctp_pf sctp_pf_inet6 __read_only = {
+ .event_msgname = sctp_inet6_event_msgname,
+ .skb_msgname = sctp_inet6_skb_msgname,
+ .af_supported = sctp_inet6_af_supported,
@@ -1034,7 +1034,7 @@ void sctp_v6_pf_init(void)
void sctp_v6_pf_exit(void)
{
- list_del(&sctp_af_inet6.list);
-+ pax_list_del((struct list_head *)&sctp_af_inet6.list);
++ pax_list_del(&sctp_af_inet6.list);
}
/* Initialize IPv6 support and register with socket layer. */
@@ -84354,36 +88839,135 @@ index 1e2eee8..ce3967e 100644
assoc->assoc_id,
assoc->sndbuf_used,
diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
-index 6f6ad86..f80bd85 100644
+index 6f6ad86..d52dc47 100644
--- a/net/sctp/protocol.c
+++ b/net/sctp/protocol.c
@@ -862,8 +862,10 @@ int sctp_register_af(struct sctp_af *af)
return 0;
}
-- INIT_LIST_HEAD(&af->list);
-- list_add_tail(&af->list, &sctp_address_families);
+ pax_open_kernel();
-+ INIT_LIST_HEAD((struct list_head *)&af->list);
+ INIT_LIST_HEAD(&af->list);
+- list_add_tail(&af->list, &sctp_address_families);
+ pax_close_kernel();
-+ pax_list_add_tail((struct list_head *)&af->list, &sctp_address_families);
++ pax_list_add_tail(&af->list, &sctp_address_families);
return 1;
}
+@@ -994,7 +996,7 @@ static inline int sctp_v4_xmit(struct sk_buff *skb,
+
+ static struct sctp_af sctp_af_inet;
+
+-static struct sctp_pf sctp_pf_inet = {
++static struct sctp_pf sctp_pf_inet __read_only = {
+ .event_msgname = sctp_inet_event_msgname,
+ .skb_msgname = sctp_inet_skb_msgname,
+ .af_supported = sctp_inet_af_supported,
+@@ -1064,7 +1066,7 @@ static const struct net_protocol sctp_protocol = {
+ };
+
+ /* IPv4 address related functions. */
+-static struct sctp_af sctp_af_inet = {
++static struct sctp_af sctp_af_inet __read_only = {
+ .sa_family = AF_INET,
+ .sctp_xmit = sctp_v4_xmit,
+ .setsockopt = ip_setsockopt,
@@ -1149,7 +1151,7 @@ static void sctp_v4_pf_init(void)
static void sctp_v4_pf_exit(void)
{
- list_del(&sctp_af_inet.list);
-+ pax_list_del((struct list_head *)&sctp_af_inet.list);
++ pax_list_del(&sctp_af_inet.list);
}
static int sctp_v4_protosw_init(void)
+diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c
+index 9032d50..49eb875 100644
+--- a/net/sctp/sm_sideeffect.c
++++ b/net/sctp/sm_sideeffect.c
+@@ -441,7 +441,7 @@ static void sctp_generate_sack_event(unsigned long data)
+ sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_SACK);
+ }
+
+-sctp_timer_event_t *sctp_timer_events[SCTP_NUM_TIMEOUT_TYPES] = {
++sctp_timer_event_t * const sctp_timer_events[SCTP_NUM_TIMEOUT_TYPES] = {
+ NULL,
+ sctp_generate_t1_cookie_event,
+ sctp_generate_t1_init_event,
diff --git a/net/sctp/socket.c b/net/sctp/socket.c
-index 5e0d86e..8633998 100644
+index 5e0d86e..e2a4da1 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
-@@ -4583,6 +4583,8 @@ static int sctp_getsockopt_peer_addrs(struct sock *sk, int len,
+@@ -2157,11 +2157,13 @@ static int sctp_setsockopt_events(struct sock *sk, char __user *optval,
+ {
+ struct sctp_association *asoc;
+ struct sctp_ulpevent *event;
++ struct sctp_event_subscribe subscribe;
+
+ if (optlen > sizeof(struct sctp_event_subscribe))
+ return -EINVAL;
+- if (copy_from_user(&sctp_sk(sk)->subscribe, optval, optlen))
++ if (copy_from_user(&subscribe, optval, optlen))
+ return -EFAULT;
++ sctp_sk(sk)->subscribe = subscribe;
+
+ /*
+ * At the time when a user app subscribes to SCTP_SENDER_DRY_EVENT,
+@@ -4141,13 +4143,16 @@ static int sctp_getsockopt_disable_fragments(struct sock *sk, int len,
+ static int sctp_getsockopt_events(struct sock *sk, int len, char __user *optval,
+ int __user *optlen)
+ {
++ struct sctp_event_subscribe subscribe;
++
+ if (len <= 0)
+ return -EINVAL;
+ if (len > sizeof(struct sctp_event_subscribe))
+ len = sizeof(struct sctp_event_subscribe);
+ if (put_user(len, optlen))
+ return -EFAULT;
+- if (copy_to_user(optval, &sctp_sk(sk)->subscribe, len))
++ subscribe = sctp_sk(sk)->subscribe;
++ if (copy_to_user(optval, &subscribe, len))
+ return -EFAULT;
+ return 0;
+ }
+@@ -4165,6 +4170,8 @@ static int sctp_getsockopt_events(struct sock *sk, int len, char __user *optval,
+ */
+ static int sctp_getsockopt_autoclose(struct sock *sk, int len, char __user *optval, int __user *optlen)
+ {
++ __u32 autoclose;
++
+ /* Applicable to UDP-style socket only */
+ if (sctp_style(sk, TCP))
+ return -EOPNOTSUPP;
+@@ -4173,7 +4180,8 @@ static int sctp_getsockopt_autoclose(struct sock *sk, int len, char __user *optv
+ len = sizeof(int);
+ if (put_user(len, optlen))
+ return -EFAULT;
+- if (copy_to_user(optval, &sctp_sk(sk)->autoclose, sizeof(int)))
++ autoclose = sctp_sk(sk)->autoclose;
++ if (copy_to_user(optval, &autoclose, sizeof(int)))
+ return -EFAULT;
+ return 0;
+ }
+@@ -4537,12 +4545,15 @@ static int sctp_getsockopt_delayed_ack(struct sock *sk, int len,
+ */
+ static int sctp_getsockopt_initmsg(struct sock *sk, int len, char __user *optval, int __user *optlen)
+ {
++ struct sctp_initmsg initmsg;
++
+ if (len < sizeof(struct sctp_initmsg))
+ return -EINVAL;
+ len = sizeof(struct sctp_initmsg);
+ if (put_user(len, optlen))
+ return -EFAULT;
+- if (copy_to_user(optval, &sctp_sk(sk)->initmsg, len))
++ initmsg = sctp_sk(sk)->initmsg;
++ if (copy_to_user(optval, &initmsg, len))
+ return -EFAULT;
+ return 0;
+ }
+@@ -4583,6 +4594,8 @@ static int sctp_getsockopt_peer_addrs(struct sock *sk, int len,
addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
if (space_left < addrlen)
return -ENOMEM;
@@ -84446,7 +89030,7 @@ index 8da4481..d02565e 100644
+ (rtt >> sctp_rto_alpha);
} else {
diff --git a/net/socket.c b/net/socket.c
-index 68879db..ed22cd4 100644
+index 68879db..1187d18 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -88,6 +88,7 @@
@@ -84599,7 +89183,16 @@ index 68879db..ed22cd4 100644
err =
security_socket_connect(sock, (struct sockaddr *)&address, addrlen);
if (err)
-@@ -1950,7 +2010,7 @@ static int __sys_sendmsg(struct socket *sock, struct msghdr __user *msg,
+@@ -1670,6 +1730,8 @@ SYSCALL_DEFINE3(getpeername, int, fd, struct sockaddr __user *, usockaddr,
+ * the protocol.
+ */
+
++asmlinkage long sys_sendto(int, void *, size_t, unsigned, struct sockaddr *, int);
++
+ SYSCALL_DEFINE6(sendto, int, fd, void __user *, buff, size_t, len,
+ unsigned, flags, struct sockaddr __user *, addr,
+ int, addr_len)
+@@ -1950,7 +2012,7 @@ static int __sys_sendmsg(struct socket *sock, struct msghdr __user *msg,
* checking falls down on this.
*/
if (copy_from_user(ctl_buf,
@@ -84608,7 +89201,16 @@ index 68879db..ed22cd4 100644
ctl_len))
goto out_freectl;
msg_sys->msg_control = ctl_buf;
-@@ -2120,7 +2180,7 @@ static int __sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
+@@ -2090,7 +2152,7 @@ static int __sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
+ int err, iov_size, total_len, len;
+
+ /* kernel mode address */
+- struct sockaddr_storage addr;
++ struct sockaddr_storage addr = { };
+
+ /* user mode address pointers */
+ struct sockaddr __user *uaddr;
+@@ -2120,7 +2182,7 @@ static int __sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
* kernel msghdr to use the kernel address space)
*/
@@ -84617,7 +89219,7 @@ index 68879db..ed22cd4 100644
uaddr_len = COMPAT_NAMELEN(msg);
if (MSG_CMSG_COMPAT & flags) {
err = verify_compat_iovec(msg_sys, iov,
-@@ -2749,7 +2809,7 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
+@@ -2749,7 +2811,7 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
}
ifr = compat_alloc_user_space(buf_size);
@@ -84626,7 +89228,7 @@ index 68879db..ed22cd4 100644
if (copy_in_user(&ifr->ifr_name, &ifr32->ifr_name, IFNAMSIZ))
return -EFAULT;
-@@ -2773,12 +2833,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
+@@ -2773,12 +2835,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
offsetof(struct ethtool_rxnfc, fs.ring_cookie));
if (copy_in_user(rxnfc, compat_rxnfc,
@@ -84643,7 +89245,7 @@ index 68879db..ed22cd4 100644
copy_in_user(&rxnfc->rule_cnt, &compat_rxnfc->rule_cnt,
sizeof(rxnfc->rule_cnt)))
return -EFAULT;
-@@ -2790,12 +2850,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
+@@ -2790,12 +2852,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
if (convert_out) {
if (copy_in_user(compat_rxnfc, rxnfc,
@@ -84660,7 +89262,7 @@ index 68879db..ed22cd4 100644
copy_in_user(&compat_rxnfc->rule_cnt, &rxnfc->rule_cnt,
sizeof(rxnfc->rule_cnt)))
return -EFAULT;
-@@ -2865,7 +2925,7 @@ static int bond_ioctl(struct net *net, unsigned int cmd,
+@@ -2865,7 +2927,7 @@ static int bond_ioctl(struct net *net, unsigned int cmd,
old_fs = get_fs();
set_fs(KERNEL_DS);
err = dev_ioctl(net, cmd,
@@ -84669,7 +89271,7 @@ index 68879db..ed22cd4 100644
set_fs(old_fs);
return err;
-@@ -2974,7 +3034,7 @@ static int compat_sioc_ifmap(struct net *net, unsigned int cmd,
+@@ -2974,7 +3036,7 @@ static int compat_sioc_ifmap(struct net *net, unsigned int cmd,
old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -84678,7 +89280,7 @@ index 68879db..ed22cd4 100644
set_fs(old_fs);
if (cmd == SIOCGIFMAP && !err) {
-@@ -3079,7 +3139,7 @@ static int routing_ioctl(struct net *net, struct socket *sock,
+@@ -3079,7 +3141,7 @@ static int routing_ioctl(struct net *net, struct socket *sock,
ret |= __get_user(rtdev, &(ur4->rt_dev));
if (rtdev) {
ret |= copy_from_user(devname, compat_ptr(rtdev), 15);
@@ -84687,7 +89289,7 @@ index 68879db..ed22cd4 100644
devname[15] = 0;
} else
r4.rt_dev = NULL;
-@@ -3319,8 +3379,8 @@ int kernel_getsockopt(struct socket *sock, int level, int optname,
+@@ -3319,8 +3381,8 @@ int kernel_getsockopt(struct socket *sock, int level, int optname,
int __user *uoptlen;
int err;
@@ -84698,7 +89300,7 @@ index 68879db..ed22cd4 100644
set_fs(KERNEL_DS);
if (level == SOL_SOCKET)
-@@ -3340,7 +3400,7 @@ int kernel_setsockopt(struct socket *sock, int level, int optname,
+@@ -3340,7 +3402,7 @@ int kernel_setsockopt(struct socket *sock, int level, int optname,
char __user *uoptval;
int err;
@@ -84707,6 +89309,21 @@ index 68879db..ed22cd4 100644
set_fs(KERNEL_DS);
if (level == SOL_SOCKET)
+diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
+index b2250da..6cabe9c 100644
+--- a/net/sunrpc/clnt.c
++++ b/net/sunrpc/clnt.c
+@@ -903,7 +903,9 @@ call_start(struct rpc_task *task)
+ (RPC_IS_ASYNC(task) ? "async" : "sync"));
+
+ /* Increment call count */
+- task->tk_msg.rpc_proc->p_count++;
++ pax_open_kernel();
++ (*(unsigned int *)&task->tk_msg.rpc_proc->p_count)++;
++ pax_close_kernel();
+ clnt->cl_stats->rpccnt++;
+ task->tk_action = call_reserve;
+ }
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
index 18c5a50..775f9f9 100644
--- a/net/sunrpc/sched.c
@@ -84723,6 +89340,21 @@ index 18c5a50..775f9f9 100644
}
#else
static inline void rpc_task_set_debuginfo(struct rpc_task *task)
+diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
+index c80c162..8bf128b 100644
+--- a/net/sunrpc/svc.c
++++ b/net/sunrpc/svc.c
+@@ -1145,7 +1145,9 @@ svc_process_common(struct svc_rqst *rqstp, struct kvec *argv, struct kvec *resv)
+ svc_putnl(resv, RPC_SUCCESS);
+
+ /* Bump per-procedure stats counter */
+- procp->pc_count++;
++ pax_open_kernel();
++ (*(unsigned int *)&procp->pc_count)++;
++ pax_close_kernel();
+
+ /* Initialize storage for argp and resp */
+ memset(rqstp->rq_argp, 0, procp->pc_argsize);
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index 296192c..5a95b93 100644
--- a/net/sunrpc/svcsock.c
@@ -85121,6 +89753,19 @@ index 317bfe3..342dd43 100644
seq_putc(seq, '\n');
}
+diff --git a/net/unix/sysctl_net_unix.c b/net/unix/sysctl_net_unix.c
+index 397cffe..405fdb1 100644
+--- a/net/unix/sysctl_net_unix.c
++++ b/net/unix/sysctl_net_unix.c
+@@ -34,7 +34,7 @@ static struct ctl_path unix_path[] = {
+
+ int __net_init unix_sysctl_register(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table;
+
+ table = kmemdup(unix_table, sizeof(unix_table), GFP_KERNEL);
+ if (table == NULL)
diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c
index 0af7f54..c916d2f 100644
--- a/net/wireless/wext-core.c
@@ -85159,7 +89804,7 @@ index 0af7f54..c916d2f 100644
iwp->length += essid_compat;
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
-index 113d20e..a8da249 100644
+index 113d20e..16d8f04 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -299,7 +299,7 @@ static void xfrm_policy_kill(struct xfrm_policy *policy)
@@ -85225,7 +89870,41 @@ index 113d20e..a8da249 100644
return 0;
mtu = dst_mtu(dst->child);
-@@ -2885,7 +2885,7 @@ static int xfrm_policy_migrate(struct xfrm_policy *pol,
+@@ -2434,8 +2434,11 @@ int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo)
+ dst_ops->link_failure = xfrm_link_failure;
+ if (likely(dst_ops->neigh_lookup == NULL))
+ dst_ops->neigh_lookup = xfrm_neigh_lookup;
+- if (likely(afinfo->garbage_collect == NULL))
+- afinfo->garbage_collect = xfrm_garbage_collect_deferred;
++ if (likely(afinfo->garbage_collect == NULL)) {
++ pax_open_kernel();
++ *(void **)&afinfo->garbage_collect = xfrm_garbage_collect_deferred;
++ pax_close_kernel();
++ }
+ xfrm_policy_afinfo[afinfo->family] = afinfo;
+ }
+ write_unlock_bh(&xfrm_policy_afinfo_lock);
+@@ -2482,7 +2485,9 @@ int xfrm_policy_unregister_afinfo(struct xfrm_policy_afinfo *afinfo)
+ dst_ops->check = NULL;
+ dst_ops->negative_advice = NULL;
+ dst_ops->link_failure = NULL;
+- afinfo->garbage_collect = NULL;
++ pax_open_kernel();
++ *(void **)&afinfo->garbage_collect = NULL;
++ pax_close_kernel();
+ }
+ }
+ write_unlock_bh(&xfrm_policy_afinfo_lock);
+@@ -2692,7 +2697,7 @@ static void __net_exit xfrm_net_exit(struct net *net)
+ xfrm_statistics_fini(net);
+ }
+
+-static struct pernet_operations __net_initdata xfrm_net_ops = {
++static struct pernet_operations __net_initconst xfrm_net_ops = {
+ .init = xfrm_net_init,
+ .exit = xfrm_net_exit,
+ };
+@@ -2885,7 +2890,7 @@ static int xfrm_policy_migrate(struct xfrm_policy *pol,
sizeof(pol->xfrm_vec[i].saddr));
pol->xfrm_vec[i].encap_family = mp->new_family;
/* flush bundles */
@@ -85235,21 +89914,98 @@ index 113d20e..a8da249 100644
}
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
-index 9414b9c..5139a22 100644
+index 9414b9c..8b3547c 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
-@@ -278,7 +278,9 @@ int xfrm_register_mode(struct xfrm_mode *mode, int family)
+@@ -194,11 +194,13 @@ int xfrm_register_type(const struct xfrm_type *type, unsigned short family)
+
+ if (unlikely(afinfo == NULL))
+ return -EAFNOSUPPORT;
+- typemap = afinfo->type_map;
++ typemap = (const struct xfrm_type **)afinfo->type_map;
+
+- if (likely(typemap[type->proto] == NULL))
++ if (likely(typemap[type->proto] == NULL)) {
++ pax_open_kernel();
+ typemap[type->proto] = type;
+- else
++ pax_close_kernel();
++ } else
+ err = -EEXIST;
+ xfrm_state_unlock_afinfo(afinfo);
+ return err;
+@@ -213,12 +215,15 @@ int xfrm_unregister_type(const struct xfrm_type *type, unsigned short family)
+
+ if (unlikely(afinfo == NULL))
+ return -EAFNOSUPPORT;
+- typemap = afinfo->type_map;
++ typemap = (const struct xfrm_type **)afinfo->type_map;
+
+ if (unlikely(typemap[type->proto] != type))
+ err = -ENOENT;
+- else
++ else {
++ pax_open_kernel();
+ typemap[type->proto] = NULL;
++ pax_close_kernel();
++ }
+ xfrm_state_unlock_afinfo(afinfo);
+ return err;
+ }
+@@ -227,7 +232,6 @@ EXPORT_SYMBOL(xfrm_unregister_type);
+ static const struct xfrm_type *xfrm_get_type(u8 proto, unsigned short family)
+ {
+ struct xfrm_state_afinfo *afinfo;
+- const struct xfrm_type **typemap;
+ const struct xfrm_type *type;
+ int modload_attempted = 0;
+
+@@ -235,9 +239,8 @@ retry:
+ afinfo = xfrm_state_get_afinfo(family);
+ if (unlikely(afinfo == NULL))
+ return NULL;
+- typemap = afinfo->type_map;
+
+- type = typemap[proto];
++ type = afinfo->type_map[proto];
+ if (unlikely(type && !try_module_get(type->owner)))
+ type = NULL;
+ if (!type && !modload_attempted) {
+@@ -270,7 +273,7 @@ int xfrm_register_mode(struct xfrm_mode *mode, int family)
+ return -EAFNOSUPPORT;
+
+ err = -EEXIST;
+- modemap = afinfo->mode_map;
++ modemap = (struct xfrm_mode **)afinfo->mode_map;
+ if (modemap[mode->encap])
+ goto out;
+
+@@ -278,8 +281,10 @@ int xfrm_register_mode(struct xfrm_mode *mode, int family)
if (!try_module_get(afinfo->owner))
goto out;
- mode->afinfo = afinfo;
+ pax_open_kernel();
-+ *(void **)&mode->afinfo = afinfo;
-+ pax_close_kernel();
++ *(const void **)&mode->afinfo = afinfo;
modemap[mode->encap] = mode;
++ pax_close_kernel();
err = 0;
-@@ -1985,8 +1987,10 @@ int __xfrm_init_state(struct xfrm_state *x, bool init_replay)
+ out:
+@@ -302,9 +307,11 @@ int xfrm_unregister_mode(struct xfrm_mode *mode, int family)
+ return -EAFNOSUPPORT;
+
+ err = -ENOENT;
+- modemap = afinfo->mode_map;
++ modemap = (struct xfrm_mode **)afinfo->mode_map;
+ if (likely(modemap[mode->encap] == mode)) {
++ pax_open_kernel();
+ modemap[mode->encap] = NULL;
++ pax_close_kernel();
+ module_put(mode->afinfo->owner);
+ err = 0;
+ }
+@@ -1985,8 +1992,10 @@ int __xfrm_init_state(struct xfrm_state *x, bool init_replay)
goto error;
x->outer_mode = xfrm_get_mode(x->props.mode, family);
@@ -85261,6 +90017,19 @@ index 9414b9c..5139a22 100644
if (init_replay) {
err = xfrm_init_replay(x);
+diff --git a/net/xfrm/xfrm_sysctl.c b/net/xfrm/xfrm_sysctl.c
+index 05640bc..b67eaaa 100644
+--- a/net/xfrm/xfrm_sysctl.c
++++ b/net/xfrm/xfrm_sysctl.c
+@@ -42,7 +42,7 @@ static struct ctl_table xfrm_table[] = {
+
+ int __net_init xfrm_sysctl_init(struct net *net)
+ {
+- struct ctl_table *table;
++ ctl_table_no_const *table;
+
+ __xfrm_sysctl_init(net);
+
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index d2b366c..2d5a6f8 100644
--- a/scripts/Makefile.build
@@ -85654,6 +90423,18 @@ index 9dfcd6d..099068e 100644
warn("writing sum in %s failed: %s\n",
filename, strerror(errno));
goto out;
+diff --git a/scripts/package/builddeb b/scripts/package/builddeb
+index 3c6c0b1..3e4dbf3 100644
+--- a/scripts/package/builddeb
++++ b/scripts/package/builddeb
+@@ -241,6 +241,7 @@ fi
+ (cd $srctree; find . -name Makefile -o -name Kconfig\* -o -name \*.pl > "$objtree/debian/hdrsrcfiles")
+ (cd $srctree; find arch/$SRCARCH/include include scripts -type f >> "$objtree/debian/hdrsrcfiles")
+ (cd $objtree; find .config Module.symvers include scripts -type f >> "$objtree/debian/hdrobjfiles")
++(cd $objtree; find tools/gcc -name \*.so >> "$objtree/debian/hdrobjfiles")
+ destdir=$kernel_headers_dir/usr/src/linux-headers-$version
+ mkdir -p "$destdir"
+ (cd $srctree; tar -c -f - -T "$objtree/debian/hdrsrcfiles") | (cd $destdir; tar -xf -)
diff --git a/scripts/pnmtologo.c b/scripts/pnmtologo.c
index 5c11312..72742b5 100644
--- a/scripts/pnmtologo.c
@@ -85698,10 +90479,10 @@ index 38f6617..e70b72b 100755
exuberant()
diff --git a/security/Kconfig b/security/Kconfig
-index 51bd5a0..cedcdeb 100644
+index 51bd5a0..14ae375 100644
--- a/security/Kconfig
+++ b/security/Kconfig
-@@ -4,6 +4,907 @@
+@@ -4,6 +4,944 @@
menu "Security options"
@@ -85875,15 +90656,17 @@ index 51bd5a0..cedcdeb 100644
+ help
+ Choose this option if performance is of highest priority for this deployment
+ of grsecurity. Features like UDEREF on a 64bit kernel, kernel stack clearing,
-+ and freed memory sanitizing will be disabled.
++ clearing of structures intended for userland, and freed memory sanitizing will
++ be disabled.
+
+config GRKERNSEC_CONFIG_PRIORITY_SECURITY
+ bool "Security"
+ help
+ Choose this option if security is of highest priority for this deployment of
-+ grsecurity. UDEREF, kernel stack clearing, and freed memory sanitizing will
-+ be enabled for this kernel. In a worst-case scenario, these features can
-+ introduce a 20% performance hit (UDEREF on x64 contributing half of this hit).
++ grsecurity. UDEREF, kernel stack clearing, clearing of structures intended
++ for userland, and freed memory sanitizing will be enabled for this kernel.
++ In a worst-case scenario, these features can introduce a 20% performance hit
++ (UDEREF on x64 contributing half of this hit).
+
+endchoice
+
@@ -86479,6 +91262,23 @@ index 51bd5a0..cedcdeb 100644
+ frames may leave uninitialized memory behind that may be exposed
+ to a later syscall leaking the stack.
+
++config PAX_MEMORY_STRUCTLEAK
++ bool "Forcibly initialize local variables copied to userland"
++ default y if (GRKERNSEC_CONFIG_AUTO && GRKERNSEC_CONFIG_PRIORITY_SECURITY)
++ help
++ By saying Y here the kernel will zero initialize some local
++ variables that are going to be copied to userland. This in
++ turn prevents unintended information leakage from the kernel
++ stack should later code forget to explicitly set all parts of
++ the copied variable.
++
++ The tradeoff is less performance impact than PAX_MEMORY_STACKLEAK
++ at a much smaller coverage.
++
++ Note that the implementation requires a gcc with plugin support,
++ i.e., gcc 4.5 or newer. You may need to install the supporting
++ headers explicitly in addition to the normal gcc package.
++
+config PAX_MEMORY_UDEREF
+ bool "Prevent invalid userland pointer dereference"
+ default y if GRKERNSEC_CONFIG_AUTO && (X86_32 || (X86_64 && GRKERNSEC_CONFIG_PRIORITY_SECURITY)) && (GRKERNSEC_CONFIG_VIRT_NONE || GRKERNSEC_CONFIG_VIRT_EPT)
@@ -86550,12 +91350,30 @@ index 51bd5a0..cedcdeb 100644
+ Since this has a negligible performance impact, you should enable
+ this feature.
+
-+
+config PAX_USERCOPY_DEBUG
+ bool
+ depends on X86 && PAX_USERCOPY
+ default n
+
++config PAX_CONSTIFY_PLUGIN
++ bool "Automatically constify eligible structures"
++ default y if GRKERNSEC_CONFIG_AUTO
++ depends on !UML
++ help
++ By saying Y here the compiler will automatically constify a class
++ of types that contain only function pointers. This reduces the
++ kernel's attack surface and also produces a better memory layout.
++
++ Note that the implementation requires a gcc with plugin support,
++ i.e., gcc 4.5 or newer. You may need to install the supporting
++ headers explicitly in addition to the normal gcc package
++
++ Note that if some code really has to modify constified variables
++ then the source code will have to be patched to allow it. Examples
++ can be found in PaX itself (the no_const attribute) and for some
++ out-of-tree modules at http://www.grsecurity.net/~paxguy1/ .
++
++
+config PAX_SIZE_OVERFLOW
+ bool "Prevent various integer overflows in function size parameters"
+ default y if GRKERNSEC_CONFIG_AUTO
@@ -86609,7 +91427,7 @@ index 51bd5a0..cedcdeb 100644
config KEYS
bool "Enable access key retention support"
help
-@@ -169,7 +1070,7 @@ config INTEL_TXT
+@@ -169,7 +1107,7 @@ config INTEL_TXT
config LSM_MMAP_MIN_ADDR
int "Low address space for LSM to protect from user allocation"
depends on SECURITY && SECURITY_SELINUX
@@ -86800,6 +91618,41 @@ index 1b0b7bf..9476b92 100644
err:
if (iov != iovstack)
kfree(iov);
+diff --git a/security/keys/key.c b/security/keys/key.c
+index 4414abd..bb89c73 100644
+--- a/security/keys/key.c
++++ b/security/keys/key.c
+@@ -956,7 +956,7 @@ int register_key_type(struct key_type *ktype)
+ }
+
+ /* store the type */
+- list_add(&ktype->link, &key_types_list);
++ pax_list_add((struct list_head *)&ktype->link, &key_types_list);
+ ret = 0;
+
+ out:
+@@ -976,7 +976,7 @@ EXPORT_SYMBOL(register_key_type);
+ void unregister_key_type(struct key_type *ktype)
+ {
+ down_write(&key_types_sem);
+- list_del_init(&ktype->link);
++ pax_list_del_init((struct list_head *)&ktype->link);
+ downgrade_write(&key_types_sem);
+ key_gc_keytype(ktype);
+ up_read(&key_types_sem);
+@@ -993,9 +993,9 @@ void __init key_init(void)
+ 0, SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
+
+ /* add the special key types */
+- list_add_tail(&key_type_keyring.link, &key_types_list);
+- list_add_tail(&key_type_dead.link, &key_types_list);
+- list_add_tail(&key_type_user.link, &key_types_list);
++ pax_list_add_tail((struct list_head *)&key_type_keyring.link, &key_types_list);
++ pax_list_add_tail((struct list_head *)&key_type_dead.link, &key_types_list);
++ pax_list_add_tail((struct list_head *)&key_type_user.link, &key_types_list);
+
+ /* record the root user tracking */
+ rb_link_node(&root_key_user.node,
diff --git a/security/keys/keyctl.c b/security/keys/keyctl.c
index 0b3f5d7..892c8a6 100644
--- a/security/keys/keyctl.c
@@ -87005,19 +91858,6 @@ index b43813c..74be837 100644
}
#else
static inline int selinux_xfrm_enabled(void)
-diff --git a/security/selinux/xfrm.c b/security/selinux/xfrm.c
-index 48665ec..8ab2951 100644
---- a/security/selinux/xfrm.c
-+++ b/security/selinux/xfrm.c
-@@ -310,7 +310,7 @@ int selinux_xfrm_policy_clone(struct xfrm_sec_ctx *old_ctx,
-
- if (old_ctx) {
- new_ctx = kmalloc(sizeof(*old_ctx) + old_ctx->ctx_len,
-- GFP_KERNEL);
-+ GFP_ATOMIC);
- if (!new_ctx)
- return -ENOMEM;
-
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
index 7db62b4..ee4d949 100644
--- a/security/smack/smack_lsm.c
@@ -87559,10 +92399,10 @@ index 0000000..50f2f2f
+size_overflow_hash.h
diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile
new file mode 100644
-index 0000000..1d09b7e
+index 0000000..144dbee
--- /dev/null
+++ b/tools/gcc/Makefile
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,45 @@
+#CC := gcc
+#PLUGIN_SOURCE_FILES := pax_plugin.c
+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES))
@@ -87571,13 +92411,13 @@ index 0000000..1d09b7e
+
+ifeq ($(PLUGINCC),$(HOSTCC))
+HOSTLIBS := hostlibs
-+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include -I$(GCCPLUGINS_DIR)/include/c-family -std=gnu99 -ggdb
++HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include -std=gnu99 -ggdb
+else
+HOSTLIBS := hostcxxlibs
-+HOST_EXTRACXXFLAGS += -I$(GCCPLUGINS_DIR)/include -I$(GCCPLUGINS_DIR)/include/c-family -std=gnu++98 -ggdb -Wno-unused-parameter
++HOST_EXTRACXXFLAGS += -I$(GCCPLUGINS_DIR)/include -std=gnu++98 -ggdb -Wno-unused-parameter
+endif
+
-+$(HOSTLIBS)-y := constify_plugin.so
++$(HOSTLIBS)-$(CONFIG_PAX_CONSTIFY_PLUGIN) := constify_plugin.so
+$(HOSTLIBS)-$(CONFIG_PAX_MEMORY_STACKLEAK) += stackleak_plugin.so
+$(HOSTLIBS)-$(CONFIG_KALLOCSTAT_PLUGIN) += kallocstat_plugin.so
+$(HOSTLIBS)-$(CONFIG_PAX_KERNEXEC_PLUGIN) += kernexec_plugin.so
@@ -87585,6 +92425,7 @@ index 0000000..1d09b7e
+$(HOSTLIBS)-y += colorize_plugin.so
+$(HOSTLIBS)-$(CONFIG_PAX_SIZE_OVERFLOW) += size_overflow_plugin.so
+$(HOSTLIBS)-$(CONFIG_PAX_LATENT_ENTROPY) += latent_entropy_plugin.so
++$(HOSTLIBS)-$(CONFIG_PAX_MEMORY_STRUCTLEAK) += structleak_plugin.so
+
+always := $($(HOSTLIBS)-y)
+
@@ -87596,6 +92437,7 @@ index 0000000..1d09b7e
+colorize_plugin-objs := colorize_plugin.o
+size_overflow_plugin-objs := size_overflow_plugin.o
+latent_entropy_plugin-objs := latent_entropy_plugin.o
++structleak_plugin-objs := structleak_plugin.o
+
+$(obj)/size_overflow_plugin.o: $(objtree)/$(obj)/size_overflow_hash.h
+
@@ -87942,10 +92784,10 @@ index 0000000..414fe5e
+}
diff --git a/tools/gcc/constify_plugin.c b/tools/gcc/constify_plugin.c
new file mode 100644
-index 0000000..c415c9d
+index 0000000..bee0acb
--- /dev/null
+++ b/tools/gcc/constify_plugin.c
-@@ -0,0 +1,359 @@
+@@ -0,0 +1,518 @@
+/*
+ * Copyright 2011 by Emese Revfy <re.emese@gmail.com>
+ * Copyright 2011-2013 by PaX Team <pageexec@freemail.hu>
@@ -87980,36 +92822,137 @@ index 0000000..c415c9d
+#include "rtl.h"
+#include "emit-rtl.h"
+#include "tree-flow.h"
++#include "target.h"
++#include "langhooks.h"
+
++// should come from c-tree.h if only it were installed for gcc 4.5...
+#define C_TYPE_FIELDS_READONLY(TYPE) TREE_LANG_FLAG_1(TYPE)
+
++// unused type flag in all versions 4.5-4.8
++#define TYPE_CONSTIFY_VISITED(TYPE) TYPE_LANG_FLAG_4(TYPE)
++
+int plugin_is_GPL_compatible;
+
+static struct plugin_info const_plugin_info = {
-+ .version = "201302112000",
++ .version = "201303270300",
+ .help = "no-constify\tturn off constification\n",
+};
+
-+static tree get_field_type(tree field)
++typedef struct {
++ bool has_fptr_field;
++ bool has_writable_field;
++ bool has_do_const_field;
++ bool has_no_const_field;
++} constify_info;
++
++static const_tree get_field_type(const_tree field)
+{
+ return strip_array_types(TREE_TYPE(field));
+}
+
-+static bool walk_struct(tree node);
++static bool is_fptr(const_tree field)
++{
++ const_tree ptr = get_field_type(field);
++
++ if (TREE_CODE(ptr) != POINTER_TYPE)
++ return false;
++
++ return TREE_CODE(TREE_TYPE(ptr)) == FUNCTION_TYPE;
++}
++
++/*
++ * determine whether the given structure type meets the requirements for automatic constification,
++ * including the constification attributes on nested structure types
++ */
++static void constifiable(const_tree node, constify_info *cinfo)
++{
++ const_tree field;
++
++ gcc_assert(TREE_CODE(node) == RECORD_TYPE || TREE_CODE(node) == UNION_TYPE);
++
++ // e.g., pointer to structure fields while still constructing the structure type
++ if (TYPE_FIELDS(node) == NULL_TREE)
++ return;
++
++ for (field = TYPE_FIELDS(node); field; field = TREE_CHAIN(field)) {
++ const_tree type = get_field_type(field);
++ enum tree_code code = TREE_CODE(type);
++
++ if (node == type)
++ continue;
++
++ if (is_fptr(field))
++ cinfo->has_fptr_field = true;
++ else if (!TREE_READONLY(field))
++ cinfo->has_writable_field = true;
++
++ if (code == RECORD_TYPE || code == UNION_TYPE) {
++ if (lookup_attribute("do_const", TYPE_ATTRIBUTES(type)))
++ cinfo->has_do_const_field = true;
++ else if (lookup_attribute("no_const", TYPE_ATTRIBUTES(type)))
++ cinfo->has_no_const_field = true;
++ else
++ constifiable(type, cinfo);
++ }
++ }
++}
++
++static bool constified(const_tree node)
++{
++ constify_info cinfo = {
++ .has_fptr_field = false,
++ .has_writable_field = false,
++ .has_do_const_field = false,
++ .has_no_const_field = false
++ };
++
++ gcc_assert(TREE_CODE(node) == RECORD_TYPE || TREE_CODE(node) == UNION_TYPE);
++
++ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(node))) {
++ gcc_assert(!TYPE_READONLY(node));
++ return false;
++ }
++
++ if (lookup_attribute("do_const", TYPE_ATTRIBUTES(node))) {
++ gcc_assert(TYPE_READONLY(node));
++ return true;
++ }
++
++ constifiable(node, &cinfo);
++ if ((!cinfo.has_fptr_field || cinfo.has_writable_field) && !cinfo.has_do_const_field)
++ return false;
++
++ return TYPE_READONLY(node);
++}
++
+static void deconstify_tree(tree node);
+
+static void deconstify_type(tree type)
+{
+ tree field;
+
++ gcc_assert(TREE_CODE(type) == RECORD_TYPE || TREE_CODE(type) == UNION_TYPE);
++
+ for (field = TYPE_FIELDS(type); field; field = TREE_CHAIN(field)) {
-+ tree fieldtype = get_field_type(field);
++ const_tree fieldtype = get_field_type(field);
+
-+ if (TREE_CODE(fieldtype) != RECORD_TYPE && TREE_CODE(fieldtype) != UNION_TYPE)
++ // special case handling of simple ptr-to-same-array-type members
++ if (TREE_CODE(TREE_TYPE(field)) == POINTER_TYPE) {
++ const_tree ptrtype = TREE_TYPE(TREE_TYPE(field));
++
++ if (TREE_CODE(ptrtype) != RECORD_TYPE && TREE_CODE(ptrtype) != UNION_TYPE)
++ continue;
++ if (TREE_TYPE(TREE_TYPE(field)) == type)
++ continue;
++ if (TYPE_MAIN_VARIANT(ptrtype) == TYPE_MAIN_VARIANT(type)) {
++ TREE_TYPE(field) = copy_node(TREE_TYPE(field));
++ TREE_TYPE(TREE_TYPE(field)) = type;
++ }
+ continue;
-+ if (!TYPE_READONLY(fieldtype))
++ }
++ if (TREE_CODE(fieldtype) != RECORD_TYPE && TREE_CODE(fieldtype) != UNION_TYPE)
+ continue;
-+ if (!walk_struct(fieldtype))
++ if (!constified(fieldtype))
+ continue;
+
+ deconstify_tree(field);
@@ -88017,16 +92960,17 @@ index 0000000..c415c9d
+ }
+ TYPE_READONLY(type) = 0;
+ C_TYPE_FIELDS_READONLY(type) = 0;
++ if (lookup_attribute("do_const", TYPE_ATTRIBUTES(type)))
++ TYPE_ATTRIBUTES(type) = remove_attribute("do_const", TYPE_ATTRIBUTES(type));
+}
+
+static void deconstify_tree(tree node)
+{
+ tree old_type, new_type, field;
+
-+// TREE_READONLY(node) = 0;
+ old_type = TREE_TYPE(node);
+ while (TREE_CODE(old_type) == ARRAY_TYPE && TREE_CODE(TREE_TYPE(old_type)) != ARRAY_TYPE) {
-+ node = old_type;
++ node = TREE_TYPE(node) = copy_node(old_type);
+ old_type = TREE_TYPE(old_type);
+ }
+
@@ -88046,6 +92990,12 @@ index 0000000..c415c9d
+static tree handle_no_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs)
+{
+ tree type;
++ constify_info cinfo = {
++ .has_fptr_field = false,
++ .has_writable_field = false,
++ .has_do_const_field = false,
++ .has_no_const_field = false
++ };
+
+ *no_add_attrs = true;
+ if (TREE_CODE(*node) == FUNCTION_DECL) {
@@ -88053,21 +93003,24 @@ index 0000000..c415c9d
+ return NULL_TREE;
+ }
+
++ if (TREE_CODE(*node) == PARM_DECL) {
++ error("%qE attribute does not apply to function parameters", name);
++ return NULL_TREE;
++ }
++
+ if (TREE_CODE(*node) == VAR_DECL) {
+ error("%qE attribute does not apply to variables", name);
+ return NULL_TREE;
+ }
+
+ if (TYPE_P(*node)) {
-+ if (TREE_CODE(*node) == RECORD_TYPE || TREE_CODE(*node) == UNION_TYPE)
-+ *no_add_attrs = false;
-+ else
-+ error("%qE attribute applies to struct and union types only", name);
-+ return NULL_TREE;
++ *no_add_attrs = false;
++ type = *node;
++ } else {
++ gcc_assert(TREE_CODE(*node) == TYPE_DECL);
++ type = TREE_TYPE(*node);
+ }
+
-+ type = TREE_TYPE(*node);
-+
+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE) {
+ error("%qE attribute applies to struct and union types only", name);
+ return NULL_TREE;
@@ -88078,16 +93031,20 @@ index 0000000..c415c9d
+ return NULL_TREE;
+ }
+
-+ if (TREE_CODE(*node) == TYPE_DECL && !TYPE_READONLY(type)) {
-+ error("%qE attribute used on type that is not constified", name);
++ if (TYPE_P(*node)) {
++ if (lookup_attribute("do_const", TYPE_ATTRIBUTES(type)))
++ error("%qE attribute is incompatible with 'do_const'", name);
+ return NULL_TREE;
+ }
+
-+ if (TREE_CODE(*node) == TYPE_DECL) {
++ constifiable(type, &cinfo);
++ if ((cinfo.has_fptr_field && !cinfo.has_writable_field) || lookup_attribute("do_const", TYPE_ATTRIBUTES(type))) {
+ deconstify_tree(*node);
++ TYPE_CONSTIFY_VISITED(TREE_TYPE(*node)) = 1;
+ return NULL_TREE;
+ }
+
++ error("%qE attribute used on type that is not constified", name);
+ return NULL_TREE;
+}
+
@@ -88095,6 +93052,8 @@ index 0000000..c415c9d
+{
+ TYPE_READONLY(type) = 1;
+ C_TYPE_FIELDS_READONLY(type) = 1;
++ TYPE_CONSTIFY_VISITED(type) = 1;
++// TYPE_ATTRIBUTES(type) = tree_cons(get_identifier("do_const"), NULL_TREE, TYPE_ATTRIBUTES(type));
+}
+
+static tree handle_do_const_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs)
@@ -88110,8 +93069,17 @@ index 0000000..c415c9d
+ return NULL_TREE;
+ }
+
++ if (lookup_attribute(IDENTIFIER_POINTER(name), TYPE_ATTRIBUTES(*node))) {
++ error("%qE attribute is already applied to the type", name);
++ return NULL_TREE;
++ }
++
++ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(*node))) {
++ error("%qE attribute is incompatible with 'no_const'", name);
++ return NULL_TREE;
++ }
++
+ *no_add_attrs = false;
-+ constify_type(*node);
+ return NULL_TREE;
+}
+
@@ -88147,61 +93115,54 @@ index 0000000..c415c9d
+ register_attribute(&do_const_attr);
+}
+
-+static bool is_fptr(tree field)
++static void finish_type(void *event_data, void *data)
+{
-+ tree ptr = get_field_type(field);
-+
-+ if (TREE_CODE(ptr) != POINTER_TYPE)
-+ return false;
-+
-+ return TREE_CODE(TREE_TYPE(ptr)) == FUNCTION_TYPE;
-+}
++ tree type = (tree)event_data;
++ constify_info cinfo = {
++ .has_fptr_field = false,
++ .has_writable_field = false,
++ .has_do_const_field = false,
++ .has_no_const_field = false
++ };
+
-+static bool walk_struct(tree node)
-+{
-+ tree field;
++ if (type == NULL_TREE || type == error_mark_node)
++ return;
+
-+ if (TYPE_FIELDS(node) == NULL_TREE)
-+ return false;
++ if (TYPE_FIELDS(type) == NULL_TREE || TYPE_CONSTIFY_VISITED(type))
++ return;
+
-+ if (lookup_attribute("do_const", TYPE_ATTRIBUTES(node)))
-+ return true;
++ constifiable(type, &cinfo);
+
-+ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(node))) {
-+ gcc_assert(!TYPE_READONLY(node));
-+ deconstify_type(node);
-+ return false;
++ if (TYPE_READONLY(type) && C_TYPE_FIELDS_READONLY(type)) {
++ if (!lookup_attribute("do_const", TYPE_ATTRIBUTES(type)))
++ return;
++ if (cinfo.has_writable_field)
++ return;
++ error("'do_const' attribute used on type that is%sconstified", cinfo.has_fptr_field ? " " : " not ");
++ return;
+ }
+
-+ for (field = TYPE_FIELDS(node); field; field = TREE_CHAIN(field)) {
-+ tree type = get_field_type(field);
-+ enum tree_code code = TREE_CODE(type);
-+
-+ if (node == type)
-+ return false;
-+ if (code == RECORD_TYPE || code == UNION_TYPE) {
-+ if (!(walk_struct(type)))
-+ return false;
-+ } else if (!is_fptr(field) && !TREE_READONLY(field))
-+ return false;
++ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(type))) {
++ if ((cinfo.has_fptr_field && !cinfo.has_writable_field) || cinfo.has_do_const_field) {
++ deconstify_type(type);
++ TYPE_CONSTIFY_VISITED(type) = 1;
++ } else
++ error("'no_const' attribute used on type that is not constified");
++ return;
+ }
-+ return true;
-+}
+
-+static void finish_type(void *event_data, void *data)
-+{
-+ tree type = (tree)event_data;
-+
-+ if (type == NULL_TREE || type == error_mark_node)
++ if (lookup_attribute("do_const", TYPE_ATTRIBUTES(type))) {
++ constify_type(type);
+ return;
++ }
+
-+ if (TYPE_READONLY(type))
++ if (cinfo.has_fptr_field && !cinfo.has_writable_field) {
++ constify_type(type);
+ return;
++ }
+
-+ if (walk_struct(type))
-+ constify_type(type);
-+ else
-+ deconstify_type(type);
++ deconstify_type(type);
++ TYPE_CONSTIFY_VISITED(type) = 1;
+}
+
+static unsigned int check_local_variables(void)
@@ -88230,24 +93191,19 @@ index 0000000..c415c9d
+ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE)
+ continue;
+
-+ if (!TYPE_READONLY(type))
++ if (!TYPE_READONLY(type) || !C_TYPE_FIELDS_READONLY(type))
+ continue;
+
-+// if (lookup_attribute("no_const", DECL_ATTRIBUTES(var)))
-+// continue;
-+
-+ if (lookup_attribute("no_const", TYPE_ATTRIBUTES(type)))
++ if (!TYPE_CONSTIFY_VISITED(type))
+ continue;
+
-+ if (walk_struct(type)) {
-+ error_at(DECL_SOURCE_LOCATION(var), "constified variable %qE cannot be local", var);
-+ ret = 1;
-+ }
++ error_at(DECL_SOURCE_LOCATION(var), "constified variable %qE cannot be local", var);
++ ret = 1;
+ }
+ return ret;
+}
+
-+struct gimple_opt_pass pass_local_variable = {
++static struct gimple_opt_pass pass_local_variable = {
+ {
+ .type = GIMPLE_PASS,
+ .name = "check_local_variables",
@@ -88268,6 +93224,45 @@ index 0000000..c415c9d
+ }
+};
+
++static struct {
++ const char *name;
++ const char *asm_op;
++} sections[] = {
++ {".init.rodata", "\t.section\t.init.rodata,\"a\""},
++ {".ref.rodata", "\t.section\t.ref.rodata,\"a\""},
++ {".devinit.rodata", "\t.section\t.devinit.rodata,\"a\""},
++ {".devexit.rodata", "\t.section\t.devexit.rodata,\"a\""},
++ {".cpuinit.rodata", "\t.section\t.cpuinit.rodata,\"a\""},
++ {".cpuexit.rodata", "\t.section\t.cpuexit.rodata,\"a\""},
++ {".meminit.rodata", "\t.section\t.meminit.rodata,\"a\""},
++ {".memexit.rodata", "\t.section\t.memexit.rodata,\"a\""},
++ {".data..read_only", "\t.section\t.data..read_only,\"a\""},
++};
++
++static unsigned int (*old_section_type_flags)(tree decl, const char *name, int reloc);
++
++static unsigned int constify_section_type_flags(tree decl, const char *name, int reloc)
++{
++ size_t i;
++
++ for (i = 0; i < ARRAY_SIZE(sections); i++)
++ if (!strcmp(sections[i].name, name))
++ return 0;
++ return old_section_type_flags(decl, name, reloc);
++}
++
++static void constify_start_unit(void *gcc_data, void *user_data)
++{
++// size_t i;
++
++// for (i = 0; i < ARRAY_SIZE(sections); i++)
++// sections[i].section = get_unnamed_section(0, output_section_asm_op, sections[i].asm_op);
++// sections[i].section = get_section(sections[i].name, 0, NULL);
++
++ old_section_type_flags = targetm.section_type_flags;
++ targetm.section_type_flags = constify_section_type_flags;
++}
++
+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version)
+{
+ const char * const plugin_name = plugin_info->base_name;
@@ -88296,10 +93291,16 @@ index 0000000..c415c9d
+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key);
+ }
+
++ if (strcmp(lang_hooks.name, "GNU C")) {
++ inform(UNKNOWN_LOCATION, G_("%s supports C only"), plugin_name);
++ constify = false;
++ }
++
+ register_callback(plugin_name, PLUGIN_INFO, NULL, &const_plugin_info);
+ if (constify) {
+ register_callback(plugin_name, PLUGIN_FINISH_TYPE, finish_type, NULL);
+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &local_variable_pass_info);
++ register_callback(plugin_name, PLUGIN_START_UNIT, constify_start_unit, NULL);
+ }
+ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL);
+
@@ -89387,3402 +94388,4786 @@ index 0000000..b5395ba
+}
diff --git a/tools/gcc/size_overflow_hash.data b/tools/gcc/size_overflow_hash.data
new file mode 100644
-index 0000000..a8203dd
+index 0000000..1e116f6
--- /dev/null
+++ b/tools/gcc/size_overflow_hash.data
-@@ -0,0 +1,3386 @@
+@@ -0,0 +1,4770 @@
+intel_fake_agp_alloc_by_type_1 intel_fake_agp_alloc_by_type 1 1 NULL
-+ipwireless_tty_received_49154 ipwireless_tty_received 3 49154 NULL
-+ath6kl_wmi_startscan_cmd_24580 ath6kl_wmi_startscan_cmd 7 24580 NULL
-+ipw_queue_tx_init_49161 ipw_queue_tx_init 3 49161 NULL
-+scsi_nl_send_vendor_msg_16394 scsi_nl_send_vendor_msg 5 16394 NULL
-+xfs_efd_init_5463 xfs_efd_init 3 5463 NULL
-+recent_mt_proc_write_8206 recent_mt_proc_write 3 8206 NULL
-+alloc_trdev_16399 alloc_trdev 1 16399 NULL
-+rds_sendmsg_40976 rds_sendmsg 4 40976 NULL
-+econet_recvmsg_40978 econet_recvmsg 4 40978 NULL
-+rt2x00debug_write_bbp_8212 rt2x00debug_write_bbp 3 8212 NULL
+storvsc_connect_to_vsp_22 storvsc_connect_to_vsp 2 22 NULL
+compat_sock_setsockopt_23 compat_sock_setsockopt 5 23 NULL
-+ad7879_spi_multi_read_8218 ad7879_spi_multi_read 3 8218 NULL
+carl9170_alloc_27 carl9170_alloc 1 27 NULL
-+dvb_dvr_ioctl_49182 dvb_dvr_ioctl 2 49182 NULL
-+ieee80211_if_read_tsf_16420 ieee80211_if_read_tsf 3 16420 NULL
-+rxrpc_server_keyring_16431 rxrpc_server_keyring 3 16431 NULL
-+mac80211_format_buffer_41010 mac80211_format_buffer 2 41010 NULL
+sel_read_policyvers_55 sel_read_policyvers 3 55 NULL nohasharray
+padzero_55 padzero 1 55 &sel_read_policyvers_55
+cfg80211_disconnected_57 cfg80211_disconnected 4 57 NULL
-+alloc_wr_24635 alloc_wr 1-2 24635 NULL
-+read_file_blob_57406 read_file_blob 3 57406 NULL
-+sctp_getsockopt_primary_addr_24639 sctp_getsockopt_primary_addr 2 24639 NULL
-+orig_node_add_if_32833 orig_node_add_if 2 32833 NULL
-+enclosure_register_57412 enclosure_register 3 57412 NULL
-+context_alloc_24645 context_alloc 3 24645 NULL
-+_req_append_segment_41031 _req_append_segment 2 41031 NULL
-+netlink_change_ngroups_16457 netlink_change_ngroups 2 16457 NULL
-+mISDN_sock_sendmsg_41035 mISDN_sock_sendmsg 4 41035 NULL
++vis_data_count_prim_sec_64 vis_data_count_prim_sec 0 64 NULL
+DepcaSignature_80 DepcaSignature 2 80 NULL nohasharray
+crypto_authenc_setkey_80 crypto_authenc_setkey 3 80 &DepcaSignature_80
-+init_cdev_8274 init_cdev 1 8274 NULL
-+compat_keyctl_instantiate_key_iov_57431 compat_keyctl_instantiate_key_iov 3 57431 NULL nohasharray
-+alloc_ftrace_hash_57431 alloc_ftrace_hash 1 57431 &compat_keyctl_instantiate_key_iov_57431
-+sock_wmalloc_16472 sock_wmalloc 2 16472 NULL
-+ab8500_val_write_16473 ab8500_val_write 3 16473 NULL
+snd_korg1212_copy_to_92 snd_korg1212_copy_to 6 92 NULL
+load_msg_95 load_msg 2 95 NULL
-+sctp_tsnmap_grow_32784 sctp_tsnmap_grow 2 32784 NULL
-+new_tape_buffer_32866 new_tape_buffer 2 32866 NULL
-+sys_pselect6_57449 sys_pselect6 1 57449 NULL
++device_flush_iotlb_115 device_flush_iotlb 2-3 115 NULL
++init_q_132 init_q 4 132 NULL
++memstick_alloc_host_142 memstick_alloc_host 1 142 NULL
++tracing_trace_options_write_153 tracing_trace_options_write 3 153 NULL
++iscsi_session_setup_196 iscsi_session_setup 4-5 196 NULL
++store_cpufv_215 store_cpufv 4 215 NULL
++flex_array_clear_251 flex_array_clear 2 251 NULL
++proc_scsi_write_proc_267 proc_scsi_write_proc 3 267 NULL
++generic_file_direct_write_291 generic_file_direct_write 0 291 NULL
++read_file_war_stats_292 read_file_war_stats 3 292 NULL
++platform_device_add_data_310 platform_device_add_data 3 310 NULL
++iwl_dbgfs_tx_statistics_read_314 iwl_dbgfs_tx_statistics_read 3 314 NULL nohasharray
++dn_setsockopt_314 dn_setsockopt 5 314 &iwl_dbgfs_tx_statistics_read_314
++next_node_allowed_318 next_node_allowed 1 318 NULL
++compat_sys_ioctl_333 compat_sys_ioctl 3 333 NULL
++btmrvl_txdnldready_read_413 btmrvl_txdnldready_read 3 413 NULL
++lbs_rdmac_read_418 lbs_rdmac_read 3 418 NULL
++snd_ca0106_ptr_read_467 snd_ca0106_ptr_read 0 467 NULL
++_alloc_get_attr_desc_470 _alloc_get_attr_desc 2 470 NULL
++pidlist_resize_496 pidlist_resize 2 496 NULL
++ocfs2_validate_meta_ecc_bhs_527 ocfs2_validate_meta_ecc_bhs 0 527 NULL
++ipv6_skip_exthdr_536 ipv6_skip_exthdr 0-2 536 NULL
++zlib_deflate_workspacesize_537 zlib_deflate_workspacesize 0-1-2 537 NULL
++iwl_dbgfs_wowlan_sram_read_540 iwl_dbgfs_wowlan_sram_read 3 540 NULL
++devres_alloc_551 devres_alloc 2 551 NULL
++snd_aw2_saa7146_get_hw_ptr_playback_558 snd_aw2_saa7146_get_hw_ptr_playback 0 558 NULL
++dev_hard_header_565 dev_hard_header 0 565 NULL nohasharray
++start_isoc_chain_565 start_isoc_chain 2 565 &dev_hard_header_565
++compat_sys_preadv_583 compat_sys_preadv 3 583 NULL
++ni_gpct_device_construct_610 ni_gpct_device_construct 5 610 NULL
++compat_sys_shmat_620 compat_sys_shmat 3 620 NULL
++sysfs_acpi_set_625 sysfs_acpi_set 3 625 NULL
++viafb_dfpl_proc_write_627 viafb_dfpl_proc_write 3 627 NULL
++isp1760_register_628 isp1760_register 1-2 628 NULL
++drbd_bm_find_next_643 drbd_bm_find_next 2 643 NULL
++unlink_queued_645 unlink_queued 3-4 645 NULL
++iwl_legacy_dbgfs_force_reset_read_649 iwl_legacy_dbgfs_force_reset_read 3 649 NULL
++dtim_interval_read_654 dtim_interval_read 3 654 NULL
++ceph_copy_user_to_page_vector_656 ceph_copy_user_to_page_vector 4-3 656 NULL
++rtl8169_try_rx_copy_705 rtl8169_try_rx_copy 3 705 NULL
++ipath_resize_cq_712 ipath_resize_cq 2 712 NULL
++context_struct_compute_av_722 context_struct_compute_av 3 722 NULL
++sctp_setsockopt_peer_addr_params_734 sctp_setsockopt_peer_addr_params 3 734 NULL
++dvb_video_write_754 dvb_video_write 3 754 NULL
++iwl_read_targ_mem_772 iwl_read_targ_mem 0 772 NULL
++if_writecmd_815 if_writecmd 2 815 NULL
++aac_change_queue_depth_825 aac_change_queue_depth 2 825 NULL
++um_idi_read_850 um_idi_read 3 850 NULL
++o2net_send_message_vec_879 o2net_send_message_vec 4 879 NULL nohasharray
++iwl_dbgfs_fh_reg_read_879 iwl_dbgfs_fh_reg_read 3 879 &o2net_send_message_vec_879
++snd_pcm_action_single_905 snd_pcm_action_single 0 905 NULL
++btmrvl_hsstate_read_920 btmrvl_hsstate_read 3 920 NULL
++carl9170_cmd_buf_950 carl9170_cmd_buf 3 950 NULL
++__nodes_weight_956 __nodes_weight 2 956 NULL
++sys_msgrcv_959 sys_msgrcv 3 959 NULL
++pohmelfs_name_alloc_1036 pohmelfs_name_alloc 1 1036 NULL
++gigaset_initdriver_1060 gigaset_initdriver 2 1060 NULL
++mce_request_packet_1073 mce_request_packet 3 1073 NULL
++agp_create_memory_1075 agp_create_memory 1 1075 NULL
++_scsih_adjust_queue_depth_1083 _scsih_adjust_queue_depth 2 1083 NULL
++__arch_hweight8_1105 __arch_hweight8 0 1105 NULL
++vmalloc_32_1135 vmalloc_32 1 1135 NULL
++i2400m_rx_ctl_1157 i2400m_rx_ctl 4 1157 NULL
++ipc_alloc_1192 ipc_alloc 1 1192 NULL
++ib_create_send_mad_1196 ib_create_send_mad 5 1196 NULL
++i2400m_rx_ctl_ack_1199 i2400m_rx_ctl_ack 3 1199 NULL
++i2cdev_read_1206 i2cdev_read 3 1206 NULL
++acpi_battery_write_alarm_1240 acpi_battery_write_alarm 3 1240 NULL
++ocfs2_extend_file_1266 ocfs2_extend_file 3 1266 NULL
++ioctl_private_iw_point_1273 ioctl_private_iw_point 7 1273 NULL
++compat_put_u64_1319 compat_put_u64 1 1319 NULL
++ffs_1322 ffs 0 1322 NULL
++btrfs_submit_compressed_write_1347 btrfs_submit_compressed_write 5 1347 NULL
++io_mapping_create_wc_1354 io_mapping_create_wc 1-2 1354 NULL
++snd_pcm_lib_write1_1358 snd_pcm_lib_write1 0-3 1358 NULL
++ipx_sendmsg_1362 ipx_sendmsg 4 1362 NULL
++ocfs2_prepare_inode_for_write_1372 ocfs2_prepare_inode_for_write 3 1372 NULL
+sctp_setsockopt_initmsg_1383 sctp_setsockopt_initmsg 3 1383 NULL
-+tracing_readme_read_16493 tracing_readme_read 3 16493 NULL
-+cfg80211_inform_bss_frame_41078 cfg80211_inform_bss_frame 4 41078 NULL
-+send_midi_async_57463 send_midi_async 3 57463 NULL
-+sisusb_clear_vram_57466 sisusb_clear_vram 2-3 57466 NULL
-+ieee80211_if_read_flags_57470 ieee80211_if_read_flags 3 57470 NULL
++do_msgsnd_1387 do_msgsnd 4 1387 NULL
++zone_page_state_1393 zone_page_state 0 1393 NULL
++file_read_actor_1401 file_read_actor 4 1401 NULL
++stack_max_size_read_1445 stack_max_size_read 3 1445 NULL
++tx_queue_len_read_1463 tx_queue_len_read 3 1463 NULL
++xprt_alloc_1475 xprt_alloc 2 1475 NULL
++sta_num_ps_buf_frames_read_1488 sta_num_ps_buf_frames_read 3 1488 NULL
++posix_acl_permission_1495 posix_acl_permission 0 1495 NULL
++tomoyo_round2_1518 tomoyo_round2 0 1518 NULL
++sym_name_1571 sym_name 3 1571 NULL
++ieee80211_if_read_dot11MeshHWMPnetDiameterTraversalTime_1589 ieee80211_if_read_dot11MeshHWMPnetDiameterTraversalTime 3 1589 NULL
++fc_frame_alloc_1596 fc_frame_alloc 2 1596 NULL
++packet_buffer_init_1607 packet_buffer_init 2 1607 NULL
++btmrvl_hscmd_read_1614 btmrvl_hscmd_read 3 1614 NULL
++v9fs_fid_xattr_get_1618 v9fs_fid_xattr_get 0 1618 NULL
++bluetooth_proc_write_1630 bluetooth_proc_write 3 1630 NULL
++btmrvl_hsmode_read_1647 btmrvl_hsmode_read 3 1647 NULL
++ikconfig_read_current_1658 ikconfig_read_current 3 1658 NULL
++compat_x25_ioctl_1674 compat_x25_ioctl 3 1674 NULL
++configfs_read_file_1683 configfs_read_file 3 1683 NULL
++coda_psdev_write_1711 coda_psdev_write 3 1711 NULL
++dma_memcpy_pg_to_iovec_1725 dma_memcpy_pg_to_iovec 6 1725 NULL
++compat_cdrom_generic_command_1756 compat_cdrom_generic_command 4 1756 NULL
++ieee80211_new_mesh_header_1761 ieee80211_new_mesh_header 0 1761 NULL
++ebt_size_mwt_1768 ebt_size_mwt 0 1768 NULL
++cosa_write_1774 cosa_write 3 1774 NULL
++__nodelist_scnprintf_1815 __nodelist_scnprintf 0-4-2 1815 NULL
++iwl_legacy_dbgfs_rxon_flags_read_1894 iwl_legacy_dbgfs_rxon_flags_read 3 1894 NULL
++ieee80211_if_fmt_dot11MeshConfirmTimeout_1945 ieee80211_if_fmt_dot11MeshConfirmTimeout 3 1945 NULL
++read_swap_header_1957 read_swap_header 0 1957 NULL
++ivtv_v4l2_read_1964 ivtv_v4l2_read 3 1964 NULL
++store_iwmct_log_level_fw_1974 store_iwmct_log_level_fw 4 1974 NULL
++sel_read_avc_hash_stats_1984 sel_read_avc_hash_stats 3 1984 NULL
++xfs_trans_count_vecs_1991 xfs_trans_count_vecs 0 1991 NULL
++__alloc_bootmem_node_1992 __alloc_bootmem_node 2 1992 NULL
++atomic_read_unchecked_1995 atomic_read_unchecked 0 1995 NULL
++ocfs2_global_qinit_alloc_2018 ocfs2_global_qinit_alloc 0 2018 NULL
++write_flush_pipefs_2021 write_flush_pipefs 3 2021 NULL
++BcmCopySection_2035 BcmCopySection 5 2035 NULL
++devm_ioremap_nocache_2036 devm_ioremap_nocache 2-3 2036 NULL
++ath6kl_fwlog_mask_read_2050 ath6kl_fwlog_mask_read 3 2050 NULL
++ocfs2_expand_inline_dir_2063 ocfs2_expand_inline_dir 3 2063 NULL
++subbuf_read_actor_2071 subbuf_read_actor 3 2071 NULL
++iwl_dbgfs_current_sleep_command_read_2081 iwl_dbgfs_current_sleep_command_read 3 2081 NULL
++idetape_chrdev_read_2097 idetape_chrdev_read 3 2097 NULL
++audit_expand_2098 audit_expand 2 2098 NULL
++num_pages_spanned_2105 num_pages_spanned 0 2105 NULL
++iwl_dbgfs_log_event_read_2107 iwl_dbgfs_log_event_read 3 2107 NULL
++ecryptfs_encrypt_and_encode_filename_2109 ecryptfs_encrypt_and_encode_filename 6 2109 NULL
++enable_read_2117 enable_read 3 2117 NULL
++pcf50633_write_block_2124 pcf50633_write_block 3 2124 NULL
++check_load_and_stores_2143 check_load_and_stores 2 2143 NULL
++mlx4_init_icm_table_2151 mlx4_init_icm_table 5-4 2151 NULL
++iov_iter_count_2152 iov_iter_count 0 2152 NULL
++_ore_get_io_state_2166 _ore_get_io_state 3-4-5 2166 NULL
++ssb_bus_ssbbus_register_2217 ssb_bus_ssbbus_register 2 2217 NULL
++u32_array_read_2219 u32_array_read 3 2219 NULL
++vhci_write_2224 vhci_write 3 2224 NULL
++ieee80211_if_read_dot11MeshHWMPRannInterval_2249 ieee80211_if_read_dot11MeshHWMPRannInterval 3 2249 NULL
++netlbl_secattr_catmap_walk_2255 netlbl_secattr_catmap_walk 0-2 2255 NULL
++au_fidir_sz_2256 au_fidir_sz 0-1 2256 NULL nohasharray
++sel_write_avc_cache_threshold_2256 sel_write_avc_cache_threshold 3 2256 &au_fidir_sz_2256
++do_update_counters_2259 do_update_counters 4 2259 NULL
++kvm_clear_guest_page_2308 kvm_clear_guest_page 4 2308 NULL
++picolcd_fb_write_2318 picolcd_fb_write 3 2318 NULL
++gart_map_page_2325 gart_map_page 3-4 2325 NULL
++__erst_read_to_erange_2341 __erst_read_to_erange 0 2341 NULL
++create_subvol_2347 create_subvol 4 2347 NULL
++zr364xx_read_2354 zr364xx_read 3 2354 NULL
++viafb_iga2_odev_proc_write_2363 viafb_iga2_odev_proc_write 3 2363 NULL
++rtl_port_map_2385 rtl_port_map 1-2 2385 NULL
++rxpipe_rx_prep_beacon_drop_read_2403 rxpipe_rx_prep_beacon_drop_read 3 2403 NULL
++isdn_v110_open_2418 isdn_v110_open 3 2418 NULL
++ioremap_nocache_2439 ioremap_nocache 1-2 2439 NULL
++tty_buffer_find_2443 tty_buffer_find 2 2443 NULL
++b43legacy_debugfs_read_2473 b43legacy_debugfs_read 3 2473 NULL
++update_pmkid_2481 update_pmkid 4 2481 NULL
++wiphy_new_2482 wiphy_new 2 2482 NULL
++squashfs_read_fragment_index_table_2506 squashfs_read_fragment_index_table 4 2506 NULL
++dm_write_2513 dm_write 3 2513 NULL
++v9fs_cached_file_read_2514 v9fs_cached_file_read 3 2514 NULL
++ext4_get_inode_loc_2516 ext4_get_inode_loc 0 2516 NULL
++gspca_dev_probe_2570 gspca_dev_probe 4 2570 NULL
++pcm_sanity_check_2574 pcm_sanity_check 0 2574 NULL
++store_pwm1_enable_2577 store_pwm1_enable 4 2577 NULL
++smk_write_logging_2618 smk_write_logging 3 2618 NULL
++iwl4965_ucode_general_stats_read_2639 iwl4965_ucode_general_stats_read 3 2639 NULL
++lro_gen_skb_2644 lro_gen_skb 6 2644 NULL
++memcpy_fromiovecend_2707 memcpy_fromiovecend 3-4 2707 NULL
++__xip_file_write_2733 __xip_file_write 4-3 2733 NULL
++hid_report_raw_event_2762 hid_report_raw_event 4 2762 NULL
++mon_bin_ioctl_2771 mon_bin_ioctl 3 2771 NULL
++__next_cpu_2782 __next_cpu 1 2782 NULL
++sel_read_enforce_2828 sel_read_enforce 3 2828 NULL
++wait_for_avail_2847 wait_for_avail 0 2847 NULL
++ufs_free_fragments_2857 ufs_free_fragments 2 2857 NULL
++move_addr_to_user_2868 move_addr_to_user 2 2868 NULL
++nla_padlen_2883 nla_padlen 1 2883 NULL
++cmm_write_2896 cmm_write 3 2896 NULL
++alloc_page_cgroup_2919 alloc_page_cgroup 1 2919 NULL
++nes_read_indexed_2946 nes_read_indexed 0 2946 NULL
++tm6000_i2c_recv_regs16_2949 tm6000_i2c_recv_regs16 5 2949 NULL
++p9_nr_pages_2992 p9_nr_pages 0-2 2992 NULL
++store_cardr_2997 store_cardr 4 2997 NULL
++do_dmabuf_dirty_sou_3017 do_dmabuf_dirty_sou 7 3017 NULL
++depth_write_3021 depth_write 3 3021 NULL
++snd_azf3328_codec_inl_3022 snd_azf3328_codec_inl 0 3022 NULL
++xfrm_dst_alloc_copy_3034 xfrm_dst_alloc_copy 3 3034 NULL
++iwl_dbgfs_sleep_level_override_read_3038 iwl_dbgfs_sleep_level_override_read 3 3038 NULL
++nr_free_buffer_pages_3044 nr_free_buffer_pages 0 3044 NULL
++__blk_end_bidi_request_3070 __blk_end_bidi_request 3-4 3070 NULL
++dac960_user_command_proc_write_3071 dac960_user_command_proc_write 3 3071 NULL
++rb_alloc_3102 rb_alloc 1 3102 NULL
++simple_write_to_buffer_3122 simple_write_to_buffer 5-2 3122 NULL
++fill_write_buffer_3142 fill_write_buffer 3 3142 NULL
++CIFSSMBSetPosixACL_3154 CIFSSMBSetPosixACL 5 3154 NULL
++compat_sys_migrate_pages_3157 compat_sys_migrate_pages 2 3157 NULL
++encrypted_instantiate_3168 encrypted_instantiate 3 3168 NULL
++uv_num_possible_blades_3177 uv_num_possible_blades 0 3177 NULL
++compat_do_ip6t_set_ctl_3184 compat_do_ip6t_set_ctl 4 3184 NULL
++alloc_context_3194 alloc_context 1 3194 NULL
++ath6kl_mgmt_tx_3230 ath6kl_mgmt_tx 9 3230 NULL
++kimage_crash_alloc_3233 kimage_crash_alloc 3 3233 NULL
++ext3_xattr_find_entry_3237 ext3_xattr_find_entry 0 3237 NULL
++key_key_read_3241 key_key_read 3 3241 NULL
++number_3243 number 0 3243 NULL
++__ilog2_u64_3284 __ilog2_u64 0 3284 NULL
++arvo_sysfs_write_3311 arvo_sysfs_write 6 3311 NULL
++compat_sys_setsockopt_3326 compat_sys_setsockopt 5 3326 NULL
++aac_rkt_ioremap_3333 aac_rkt_ioremap 2 3333 NULL
++read_from_oldmem_3337 read_from_oldmem 2 3337 NULL
++gsm_control_rls_3353 gsm_control_rls 3 3353 NULL
++scnprintf_3360 scnprintf 0-2 3360 NULL
++send_stream_3397 send_stream 4 3397 NULL
++isdn_readbchan_3401 isdn_readbchan 0-5 3401 NULL
++msix_map_region_3411 msix_map_region 3 3411 NULL
++pci_add_cap_save_buffer_3426 pci_add_cap_save_buffer 3 3426 NULL
++crystalhd_create_dio_pool_3427 crystalhd_create_dio_pool 2 3427 NULL
++pipe_iov_copy_to_user_3447 pipe_iov_copy_to_user 3 3447 NULL
++percpu_modalloc_3448 percpu_modalloc 2-3 3448 NULL
++jffs2_acl_setxattr_3464 jffs2_acl_setxattr 4 3464 NULL nohasharray
++snd_pcm_lib_readv_transfer_3464 snd_pcm_lib_readv_transfer 4-2-5 3464 &jffs2_acl_setxattr_3464
++alloc_skb_fclone_3467 alloc_skb_fclone 1 3467 NULL
++security_context_to_sid_default_3492 security_context_to_sid_default 2 3492 NULL nohasharray
++efi_ioremap_3492 efi_ioremap 1-2 3492 &security_context_to_sid_default_3492
++xfrm_migrate_msgsize_3496 xfrm_migrate_msgsize 1 3496 NULL
++ieee80211_wx_set_gen_ie_rsl_3521 ieee80211_wx_set_gen_ie_rsl 3 3521 NULL
++btrfs_dir_name_len_3549 btrfs_dir_name_len 0 3549 NULL
++alloc_smp_resp_3566 alloc_smp_resp 1 3566 NULL
++evtchn_read_3569 evtchn_read 3 3569 NULL
++vc_resize_3585 vc_resize 2-3 3585 NULL
++compat_sys_semtimedop_3606 compat_sys_semtimedop 3 3606 NULL
++sctp_getsockopt_events_3607 sctp_getsockopt_events 2 3607 NULL
++aligned_kmalloc_3628 aligned_kmalloc 1 3628 NULL
++cm_copy_private_data_3649 cm_copy_private_data 2 3649 NULL
++i915_compat_ioctl_3656 i915_compat_ioctl 2 3656 NULL
++kmem_cache_alloc_3690 kmem_cache_alloc 0 3690 NULL
++create_irq_3703 create_irq 0 3703 NULL nohasharray
++btmrvl_psmode_write_3703 btmrvl_psmode_write 3 3703 &create_irq_3703 nohasharray
++snd_m3_assp_read_3703 snd_m3_assp_read 0 3703 &btmrvl_psmode_write_3703
++videobuf_pages_to_sg_3708 videobuf_pages_to_sg 2 3708 NULL
++ci_ll_write_3740 ci_ll_write 4 3740 NULL
++sctp_setsockopt_auth_key_3793 sctp_setsockopt_auth_key 3 3793 NULL
++ncp_file_write_3813 ncp_file_write 3 3813 NULL
++read_file_tx_chainmask_3829 read_file_tx_chainmask 3 3829 NULL
++stringify_nodemap_3842 stringify_nodemap 2 3842 NULL
++ubi_eba_read_leb_3847 ubi_eba_read_leb 0 3847 NULL
++smk_read_onlycap_3855 smk_read_onlycap 3 3855 NULL
++get_fd_set_3866 get_fd_set 1 3866 NULL
++ubi_dbg_dump_flash_3870 ubi_dbg_dump_flash 4 3870 NULL
++garp_attr_create_3883 garp_attr_create 3 3883 NULL
++uea_send_modem_cmd_3888 uea_send_modem_cmd 3 3888 NULL
++nvram_write_3894 nvram_write 3 3894 NULL
++comedi_buf_read_n_available_3899 comedi_buf_read_n_available 0 3899 NULL
++vcs_write_3910 vcs_write 3 3910 NULL
++pm860x_read_device_3958 pm860x_read_device 3 3958 NULL
++atalk_compat_ioctl_3991 atalk_compat_ioctl 3 3991 NULL
++do_add_counters_3992 do_add_counters 3 3992 NULL
++userspace_status_4004 userspace_status 4 4004 NULL
++mei_write_4005 mei_write 3 4005 NULL nohasharray
++xfs_check_block_4005 xfs_check_block 4 4005 &mei_write_4005
++snd_hdsp_capture_copy_4011 snd_hdsp_capture_copy 5 4011 NULL
++blk_end_request_4024 blk_end_request 3 4024 NULL
++ext4_xattr_find_entry_4025 ext4_xattr_find_entry 0 4025 NULL
++fbcon_do_set_font_4079 fbcon_do_set_font 2-3 4079 NULL
++tm6000_read_4151 tm6000_read 3 4151 NULL
++mpt_raid_phys_disk_get_num_paths_4155 mpt_raid_phys_disk_get_num_paths 0 4155 NULL
++msg_bits_4158 msg_bits 0-3-4 4158 NULL
++get_alua_req_4166 get_alua_req 3 4166 NULL
++blk_dropped_read_4168 blk_dropped_read 3 4168 NULL
++read_file_bool_4180 read_file_bool 3 4180 NULL
++f1x_determine_channel_4202 f1x_determine_channel 2 4202 NULL
++_osd_req_list_objects_4204 _osd_req_list_objects 6 4204 NULL
++__snd_gf1_read_addr_4210 __snd_gf1_read_addr 0 4210 NULL
++ext4_new_inode_4247 ext4_new_inode 5 4247 NULL
++xt_compat_add_offset_4289 xt_compat_add_offset 0 4289 NULL
++dvb_ringbuffer_pkt_read_user_4303 dvb_ringbuffer_pkt_read_user 2-3-5 4303 NULL
++ath6kl_wmi_tcmd_test_report_rx_4314 ath6kl_wmi_tcmd_test_report_rx 3 4314 NULL
++snd_rawmidi_kernel_read_4328 snd_rawmidi_kernel_read 3 4328 NULL
++__copy_from_user_inatomic_4365 __copy_from_user_inatomic 3 4365 NULL
++sys_setdomainname_4373 sys_setdomainname 2 4373 NULL
++irda_sendmsg_4388 irda_sendmsg 4 4388 NULL
++access_process_vm_4412 access_process_vm 0-2-4 4412 NULL nohasharray
++cxacru_cm_get_array_4412 cxacru_cm_get_array 4 4412 &access_process_vm_4412
++libfc_vport_create_4415 libfc_vport_create 2 4415 NULL
++do_pages_stat_4437 do_pages_stat 2 4437 NULL
++at76_set_card_command_4471 at76_set_card_command 4 4471 NULL
++recv_control_msg_4476 recv_control_msg 5 4476 NULL
++snd_seq_expand_var_event_4481 snd_seq_expand_var_event 0-5 4481 NULL
++sys_semtimedop_4486 sys_semtimedop 3 4486 NULL
++vmbus_establish_gpadl_4495 vmbus_establish_gpadl 3 4495 NULL
++sys_llistxattr_4532 sys_llistxattr 3 4532 NULL
++videobuf_vmalloc_to_sg_4548 videobuf_vmalloc_to_sg 2 4548 NULL
++btrfs_file_extent_inline_item_len_4575 btrfs_file_extent_inline_item_len 0 4575 NULL
++bch_alloc_4593 bch_alloc 1 4593 NULL
++rbd_create_rw_ops_4605 rbd_create_rw_ops 2 4605 NULL
++iwl_dbgfs_tx_queue_read_4635 iwl_dbgfs_tx_queue_read 3 4635 NULL
++virtqueue_add_buf_gfp_4662 virtqueue_add_buf_gfp 3-4 4662 NULL
++map_addr_4666 map_addr 6 4666 NULL
++skb_add_data_nocache_4682 skb_add_data_nocache 4 4682 NULL
++cx18_read_pos_4683 cx18_read_pos 3 4683 NULL
++short_retry_limit_read_4687 short_retry_limit_read 3 4687 NULL
++kone_receive_4690 kone_receive 4 4690 NULL
++round_pipe_size_4701 round_pipe_size 0 4701 NULL
++cxgbi_alloc_big_mem_4707 cxgbi_alloc_big_mem 1 4707 NULL
++trusted_instantiate_4710 trusted_instantiate 3 4710 NULL
++btmrvl_gpiogap_read_4718 btmrvl_gpiogap_read 3 4718 NULL
++ati_create_gatt_pages_4722 ati_create_gatt_pages 1 4722 NULL nohasharray
++show_header_4722 show_header 3 4722 &ati_create_gatt_pages_4722
++ncp__vol2io_4804 ncp__vol2io 5 4804 NULL
++__iio_allocate_sw_ring_buffer_4843 __iio_allocate_sw_ring_buffer 3 4843 NULL
++gigaset_if_receive_4861 gigaset_if_receive 3 4861 NULL
++key_tx_spec_read_4862 key_tx_spec_read 3 4862 NULL
++ocfs2_defrag_extent_4873 ocfs2_defrag_extent 3 4873 NULL
++hid_register_field_4874 hid_register_field 2-3 4874 NULL
++vga_arb_read_4886 vga_arb_read 3 4886 NULL
++sys_ipc_4889 sys_ipc 3 4889 NULL
++sys_process_vm_writev_4928 sys_process_vm_writev 3-5 4928 NULL
++ntfs_rl_insert_4931 ntfs_rl_insert 2-4 4931 NULL
++ieee80211_if_fmt_ave_beacon_4941 ieee80211_if_fmt_ave_beacon 3 4941 NULL
++devm_kzalloc_4966 devm_kzalloc 2 4966 NULL
++compat_rawv6_setsockopt_4967 compat_rawv6_setsockopt 5 4967 NULL
++skb_network_header_len_4971 skb_network_header_len 0 4971 NULL
++vmw_surface_define_size_4993 vmw_surface_define_size 0 4993 NULL
++qla82xx_pci_mem_write_direct_5008 qla82xx_pci_mem_write_direct 2 5008 NULL
++do_mincore_5018 do_mincore 0-1 5018 NULL
++mtd_device_parse_register_5024 mtd_device_parse_register 5 5024 NULL
++ocfs2_check_range_for_holes_5066 ocfs2_check_range_for_holes 2-3 5066 NULL
++snd_mixart_BA1_read_5082 snd_mixart_BA1_read 5 5082 NULL
++snd_emu10k1_ptr20_read_5087 snd_emu10k1_ptr20_read 0 5087 NULL
++get_random_bytes_5091 get_random_bytes 2 5091 NULL nohasharray
++kfifo_copy_from_user_5091 kfifo_copy_from_user 3 5091 &get_random_bytes_5091 nohasharray
++blk_rq_sectors_5091 blk_rq_sectors 0 5091 &kfifo_copy_from_user_5091
++sound_write_5102 sound_write 3 5102 NULL
++ufs_add_fragments_5144 ufs_add_fragments 2 5144 NULL
++compat_ptr_5159 compat_ptr 0-1 5159 NULL
++__uwb_addr_print_5161 __uwb_addr_print 2 5161 NULL
++iwl_dbgfs_status_read_5171 iwl_dbgfs_status_read 3 5171 NULL
++acpi_pcc_get_sqty_5176 acpi_pcc_get_sqty 0 5176 NULL
++sfi_map_memory_5183 sfi_map_memory 1-2 5183 NULL
++skb_network_header_5203 skb_network_header 0 5203 NULL
++pipe_set_size_5204 pipe_set_size 2 5204 NULL
++ppp_cp_parse_cr_5214 ppp_cp_parse_cr 4 5214 NULL
++ssb_ioremap_5228 ssb_ioremap 2 5228 NULL
++isdn_ppp_skb_push_5236 isdn_ppp_skb_push 2 5236 NULL
++do_atmif_sioc_5247 do_atmif_sioc 3 5247 NULL
++pwr_elp_enter_read_5324 pwr_elp_enter_read 3 5324 NULL
++allocate_cnodes_5329 allocate_cnodes 1 5329 NULL
++ad714x_i2c_read_5345 ad714x_i2c_read 4 5345 NULL
++ps_pspoll_utilization_read_5361 ps_pspoll_utilization_read 3 5361 NULL
++cciss_allocate_sg_chain_blocks_5368 cciss_allocate_sg_chain_blocks 3-2 5368 NULL
++bitmap_fold_5396 bitmap_fold 4 5396 NULL
++nilfs_palloc_entries_per_group_5418 nilfs_palloc_entries_per_group 0 5418 NULL
++sfi_map_table_5462 sfi_map_table 1 5462 NULL
++xfs_efd_init_5463 xfs_efd_init 3 5463 NULL
++xfs_efi_init_5476 xfs_efi_init 2 5476 NULL
++cifs_security_flags_proc_write_5484 cifs_security_flags_proc_write 3 5484 NULL
++tty_write_5494 tty_write 3 5494 NULL
++tomoyo_update_domain_5498 tomoyo_update_domain 2 5498 NULL nohasharray
++ieee80211_if_fmt_last_beacon_5498 ieee80211_if_fmt_last_beacon 3 5498 &tomoyo_update_domain_5498
++__max_nr_grant_frames_5505 __max_nr_grant_frames 0 5505 NULL
++spidev_message_5518 spidev_message 3 5518 NULL
++ieee80211_if_fmt_auto_open_plinks_5534 ieee80211_if_fmt_auto_open_plinks 3 5534 NULL
++le_readq_5557 le_readq 0 5557 NULL
++inw_5558 inw 0 5558 NULL
++__first_dma_cap_5560 __first_dma_cap 0 5560 NULL
++fir16_create_5574 fir16_create 3 5574 NULL
++bioset_create_5580 bioset_create 1 5580 NULL
++do_msgrcv_5590 do_msgrcv 4 5590 NULL
++usb_dump_device_descriptor_5599 usb_dump_device_descriptor 0 5599 NULL
++ldm_frag_add_5611 ldm_frag_add 2 5611 NULL
++compat_copy_entries_5617 compat_copy_entries 0 5617 NULL
++parse_arg_5657 parse_arg 2 5657 NULL
++ext4_xattr_get_5661 ext4_xattr_get 0 5661 NULL
++posix_clock_register_5662 posix_clock_register 2 5662 NULL
++mthca_map_reg_5664 mthca_map_reg 2-3 5664 NULL
++get_arg_5694 get_arg 3 5694 NULL
++vmw_kms_readback_5727 vmw_kms_readback 6 5727 NULL
++rts51x_transfer_data_partial_5735 rts51x_transfer_data_partial 6 5735 NULL
++ubi_cdev_compat_ioctl_5746 ubi_cdev_compat_ioctl 3 5746 NULL
++sctp_setsockopt_autoclose_5775 sctp_setsockopt_autoclose 3 5775 NULL
++compat_sys_writev_5784 compat_sys_writev 3 5784 NULL
++__vxge_hw_blockpool_malloc_5786 __vxge_hw_blockpool_malloc 2 5786 NULL
++skb_copy_datagram_iovec_5806 skb_copy_datagram_iovec 2-4 5806 NULL
++ceph_x_encrypt_buflen_5829 ceph_x_encrypt_buflen 0-1 5829 NULL
++autofs4_root_compat_ioctl_5838 autofs4_root_compat_ioctl 3 5838 NULL
++xen_request_microcode_user_5840 xen_request_microcode_user 3 5840 NULL
++ceph_msg_new_5846 ceph_msg_new 2 5846 NULL
++ixgb_check_copybreak_5847 ixgb_check_copybreak 3 5847 NULL
++setup_req_5848 setup_req 3 5848 NULL
++compat_sys_move_pages_5861 compat_sys_move_pages 2 5861 NULL nohasharray
++uinput_compat_ioctl_5861 uinput_compat_ioctl 3 5861 &compat_sys_move_pages_5861
++port_show_regs_5904 port_show_regs 3 5904 NULL
++uhci_debug_read_5911 uhci_debug_read 3 5911 NULL
++qla82xx_pci_mem_read_2M_5912 qla82xx_pci_mem_read_2M 2 5912 NULL
++ttm_bo_kmap_ttm_5922 ttm_bo_kmap_ttm 3 5922 NULL
++lbs_highsnr_read_5931 lbs_highsnr_read 3 5931 NULL
++edac_device_alloc_ctl_info_5941 edac_device_alloc_ctl_info 1 5941 NULL
++tipc_subseq_alloc_5957 tipc_subseq_alloc 1 5957 NULL
++__apu_get_register_5967 __apu_get_register 0 5967 NULL
++ieee80211_if_fmt_rc_rateidx_mask_5ghz_5971 ieee80211_if_fmt_rc_rateidx_mask_5ghz 3 5971 NULL
++ntfs_rl_append_6037 ntfs_rl_append 2-4 6037 NULL
++send_video_command_6073 send_video_command 4 6073 NULL nohasharray
++sctp_setsockopt_connectx_6073 sctp_setsockopt_connectx 3 6073 &send_video_command_6073
++ipmi_addr_length_6110 ipmi_addr_length 0 6110 NULL
++dfs_global_file_write_6112 dfs_global_file_write 3 6112 NULL
++netfs_trans_alloc_6136 netfs_trans_alloc 2-4 6136 NULL
++skb_end_pointer_6144 skb_end_pointer 0 6144 NULL
++ivtv_copy_buf_to_user_6159 ivtv_copy_buf_to_user 4 6159 NULL
++vdma_mem_alloc_6171 vdma_mem_alloc 1 6171 NULL
++wl1251_cmd_template_set_6172 wl1251_cmd_template_set 4 6172 NULL
++v4l2_ctrl_new_std_menu_6221 v4l2_ctrl_new_std_menu 4 6221 NULL
++mqueue_read_file_6228 mqueue_read_file 3 6228 NULL
++au_br_do_del_brp_6232 au_br_do_del_brp 3 6232 NULL
++f_hidg_read_6238 f_hidg_read 3 6238 NULL
++fbcon_prepare_logo_6246 fbcon_prepare_logo 5 6246 NULL
++pcpu_next_pop_6277 pcpu_next_pop 4 6277 NULL
++snd_hda_override_conn_list_6282 snd_hda_override_conn_list 0 6282 NULL nohasharray
++xenbus_file_write_6282 xenbus_file_write 3 6282 &snd_hda_override_conn_list_6282
++iwl4965_rs_sta_dbgfs_stats_table_read_6289 iwl4965_rs_sta_dbgfs_stats_table_read 3 6289 NULL
++set_local_name_6310 set_local_name 4 6310 NULL
++_proc_do_string_6376 _proc_do_string 2 6376 NULL
++osd_req_read_sg_kern_6378 osd_req_read_sg_kern 5 6378 NULL
++ipr_change_queue_depth_6431 ipr_change_queue_depth 2 6431 NULL
++__alloc_bootmem_node_nopanic_6432 __alloc_bootmem_node_nopanic 2 6432 NULL
++ext4_compat_ioctl_6471 ext4_compat_ioctl 3 6471 NULL
++ieee80211_if_fmt_dot11MeshMaxRetries_6476 ieee80211_if_fmt_dot11MeshMaxRetries 3 6476 NULL
++cipso_v4_map_lvl_hton_6490 cipso_v4_map_lvl_hton 0 6490 NULL
++dbg_intr_buf_6501 dbg_intr_buf 2 6501 NULL
++mei_read_6507 mei_read 3 6507 NULL
++read_file_disable_ani_6536 read_file_disable_ani 3 6536 NULL
++rndis_set_oid_6547 rndis_set_oid 4 6547 NULL
++wdm_read_6549 wdm_read 3 6549 NULL
++fb_alloc_cmap_6554 fb_alloc_cmap 2 6554 NULL
++usb_dump_config_descriptor_6572 usb_dump_config_descriptor 0 6572 NULL
++usemap_size_6601 usemap_size 0 6601 NULL
++snmp_mib_init_6604 snmp_mib_init 2-3 6604 NULL
++ecryptfs_filldir_6622 ecryptfs_filldir 3 6622 NULL
++virtscsi_alloc_tgt_6643 virtscsi_alloc_tgt 2 6643 NULL
++process_rcvd_data_6679 process_rcvd_data 3 6679 NULL
++ql_process_mac_rx_skb_6689 ql_process_mac_rx_skb 4 6689 NULL
++btrfs_lookup_csums_range_6696 btrfs_lookup_csums_range 2 6696 NULL
++ps_pspoll_max_apturn_read_6699 ps_pspoll_max_apturn_read 3 6699 NULL
++mpeg_read_6708 mpeg_read 3 6708 NULL
++video_proc_write_6724 video_proc_write 3 6724 NULL
++posix_acl_xattr_count_6725 posix_acl_xattr_count 0-1 6725 NULL
++rds_rdma_pages_6735 rds_rdma_pages 0 6735 NULL
++device_queue_depth_6771 device_queue_depth 0 6771 NULL
++sfi_check_table_6772 sfi_check_table 1 6772 NULL
++iwl_dbgfs_channels_read_6784 iwl_dbgfs_channels_read 3 6784 NULL
++ieee80211_if_read_6785 ieee80211_if_read 3 6785 NULL
++hdlcdrv_register_6792 hdlcdrv_register 2 6792 NULL
++make_8259A_irq_6828 make_8259A_irq 1 6828 NULL
++calc_pages_for_6838 calc_pages_for 0-1-2 6838 NULL
++mon_bin_read_6841 mon_bin_read 3 6841 NULL
++snd_cs4281_BA0_read_6847 snd_cs4281_BA0_read 5 6847 NULL
++ieee80211_if_fmt_path_refresh_time_6888 ieee80211_if_fmt_path_refresh_time 3 6888 NULL nohasharray
++raw_seticmpfilter_6888 raw_seticmpfilter 3 6888 &ieee80211_if_fmt_path_refresh_time_6888
++dlmfs_file_write_6892 dlmfs_file_write 3 6892 NULL
++spi_show_regs_6911 spi_show_regs 3 6911 NULL nohasharray
++proc_sessionid_read_6911 proc_sessionid_read 3 6911 &spi_show_regs_6911
++__kfifo_dma_in_finish_r_6913 __kfifo_dma_in_finish_r 2-3 6913 NULL
++ieee80211_rx_mgmt_probe_resp_6918 ieee80211_rx_mgmt_probe_resp 3 6918 NULL
++ieee80211_send_probe_req_6924 ieee80211_send_probe_req 6 6924 NULL
++cache_do_downcall_6926 cache_do_downcall 3 6926 NULL
++qsfp_cks_6945 qsfp_cks 0-2 6945 NULL
++ab3100_get_register_page_interruptible_6951 ab3100_get_register_page_interruptible 4 6951 NULL
++pch_uart_hal_read_6961 pch_uart_hal_read 0 6961 NULL
++videobuf_dma_init_kernel_6963 videobuf_dma_init_kernel 3 6963 NULL
++crypto_authenc_esn_setkey_6985 crypto_authenc_esn_setkey 3 6985 NULL
++request_key_async_6990 request_key_async 4 6990 NULL
++r871x_set_wpa_ie_7000 r871x_set_wpa_ie 3 7000 NULL
++cipso_v4_gentag_enum_7006 cipso_v4_gentag_enum 0 7006 NULL
++tracing_cpumask_read_7010 tracing_cpumask_read 3 7010 NULL
++wimax_msg_7030 wimax_msg 4 7030 NULL
++ipath_get_base_info_7043 ipath_get_base_info 3 7043 NULL
++snd_pcm_oss_bytes_7051 snd_pcm_oss_bytes 2 7051 NULL
++event_enable_read_7074 event_enable_read 3 7074 NULL
++beacon_interval_read_7091 beacon_interval_read 3 7091 NULL
++lp_compat_ioctl_7098 lp_compat_ioctl 3 7098 NULL
++check_header_7108 check_header 0 7108 NULL
++utf16_strsize_7203 utf16_strsize 0 7203 NULL nohasharray
++__alloc_objio_seg_7203 __alloc_objio_seg 1 7203 &utf16_strsize_7203
++sys32_ipc_7238 sys32_ipc 3-5-6 7238 NULL
++dma_ops_alloc_addresses_7272 dma_ops_alloc_addresses 3-4-5 7272 NULL
++mgmt_control_7349 mgmt_control 3 7349 NULL
++ext3_free_blocks_7362 ext3_free_blocks 3-4 7362 NULL
++ieee80211_if_read_dot11MeshHWMPactivePathTimeout_7368 ieee80211_if_read_dot11MeshHWMPactivePathTimeout 3 7368 NULL
++hweight_long_7388 hweight_long 0-1 7388 NULL
++sl_change_mtu_7396 sl_change_mtu 2 7396 NULL
++readb_7401 readb 0 7401 NULL
++drm_property_create_blob_7414 drm_property_create_blob 2 7414 NULL
++kvm_pv_mmu_op_7436 kvm_pv_mmu_op 3 7436 NULL
++ip_options_get_alloc_7448 ip_options_get_alloc 1 7448 NULL
++ms_rw_multi_sector_7459 ms_rw_multi_sector 3-4 7459 NULL
++__mutex_lock_common_7469 __mutex_lock_common 0 7469 NULL
++garp_request_join_7471 garp_request_join 4 7471 NULL
++compat_sys_msgrcv_7482 compat_sys_msgrcv 2 7482 NULL
++snd_pcm_lib_read1_7491 snd_pcm_lib_read1 0-3 7491 NULL
++sdhci_alloc_host_7509 sdhci_alloc_host 2 7509 NULL nohasharray
++ahash_instance_headroom_7509 ahash_instance_headroom 0 7509 &sdhci_alloc_host_7509
++goal_in_my_reservation_7553 goal_in_my_reservation 3 7553 NULL
++ext3_try_to_allocate_7590 ext3_try_to_allocate 5-3 7590 NULL
++groups_alloc_7614 groups_alloc 1 7614 NULL
++sg_virt_7616 sg_virt 0 7616 NULL
++set_connectable_7649 set_connectable 4 7649 NULL
++acpi_ex_allocate_name_string_7685 acpi_ex_allocate_name_string 2-1 7685 NULL
++acpi_ns_get_pathname_length_7699 acpi_ns_get_pathname_length 0 7699 NULL
++dev_write_7708 dev_write 3 7708 NULL
++brcms_attach_7709 brcms_attach 3 7709 NULL
++manip_pkt_7741 manip_pkt 3 7741 NULL
++vxge_device_register_7752 vxge_device_register 4 7752 NULL
++pohmelfs_path_length_7758 pohmelfs_path_length 0 7758 NULL
++osdv2_attr_list_elem_size_7763 osdv2_attr_list_elem_size 0-1 7763 NULL
++ubi_io_read_vid_hdr_7766 ubi_io_read_vid_hdr 0 7766 NULL
++alloc_candev_7776 alloc_candev 1-2 7776 NULL
++dfs_global_file_read_7787 dfs_global_file_read 3 7787 NULL
++bnx2_nvram_write_7790 bnx2_nvram_write 4-2 7790 NULL
++diva_os_copy_from_user_7792 diva_os_copy_from_user 4 7792 NULL
++ubifs_leb_read_7828 ubifs_leb_read 0 7828 NULL
++dvb_dmxdev_read_sec_7892 dvb_dmxdev_read_sec 4 7892 NULL
++xfs_trans_get_efi_7898 xfs_trans_get_efi 2 7898 NULL
++gfs2_tune_get_i_7903 gfs2_tune_get_i 0 7903 NULL
++ext3_group_extend_7911 ext3_group_extend 3 7911 NULL
++libfc_host_alloc_7917 libfc_host_alloc 2 7917 NULL
++do_surface_dirty_sou_7920 do_surface_dirty_sou 7 7920 NULL
++f_hidg_write_7932 f_hidg_write 3 7932 NULL
++io_apic_setup_irq_pin_once_7934 io_apic_setup_irq_pin_once 1 7934 NULL
++smk_write_load_self_7958 smk_write_load_self 3 7958 NULL
++arch_gnttab_map_shared_7970 arch_gnttab_map_shared 3 7970 NULL
++sys_mbind_7990 sys_mbind 5 7990 NULL
++sep_lock_user_pages_8000 sep_lock_user_pages 2-3 8000 NULL
++vcs_read_8017 vcs_read 3 8017 NULL
++normalize_up_8037 normalize_up 0-1-2 8037 NULL
++vhost_add_used_and_signal_n_8038 vhost_add_used_and_signal_n 4 8038 NULL
++ms_read_multiple_pages_8052 ms_read_multiple_pages 5-4 8052 NULL
++leb_read_lock_8070 leb_read_lock 0 8070 NULL
++alloc_targets_8074 alloc_targets 2 8074 NULL
++venus_lookup_8121 venus_lookup 4 8121 NULL
++ieee80211_if_fmt_num_buffered_multicast_8127 ieee80211_if_fmt_num_buffered_multicast 3 8127 NULL
++ext_sd_execute_write_data_8175 ext_sd_execute_write_data 9 8175 NULL
++dma_map_area_8178 dma_map_area 5-2-3 8178 NULL
++__sk_mem_schedule_8185 __sk_mem_schedule 2 8185 NULL
++ieee80211_if_fmt_dot11MeshHoldingTimeout_8187 ieee80211_if_fmt_dot11MeshHoldingTimeout 3 8187 NULL
++__nf_nat_mangle_tcp_packet_8190 __nf_nat_mangle_tcp_packet 7-5 8190 NULL
++recent_mt_proc_write_8206 recent_mt_proc_write 3 8206 NULL
++rt2x00debug_write_bbp_8212 rt2x00debug_write_bbp 3 8212 NULL
++ad7879_spi_multi_read_8218 ad7879_spi_multi_read 3 8218 NULL
++play_iframe_8219 play_iframe 3 8219 NULL
++sctp_ssnmap_size_8228 sctp_ssnmap_size 0-1-2 8228 NULL
++check_xattr_ref_inode_8244 check_xattr_ref_inode 0 8244 NULL
++t3_init_l2t_8261 t3_init_l2t 1 8261 NULL
++init_cdev_8274 init_cdev 1 8274 NULL
++qib_decode_7220_err_8315 qib_decode_7220_err 3 8315 NULL
+construct_key_and_link_8321 construct_key_and_link 4 8321 NULL
-+ath6kl_set_ap_probe_resp_ies_50539 ath6kl_set_ap_probe_resp_ies 3 50539 NULL
-+init_q_132 init_q 4 132 NULL
-+roccat_read_41093 roccat_read 3 41093 NULL
+ipwireless_send_packet_8328 ipwireless_send_packet 4 8328 NULL
+__c4iw_init_resource_fifo_8334 __c4iw_init_resource_fifo 3 8334 NULL
-+provide_user_output_41105 provide_user_output 3 41105 NULL
-+uio_read_49300 uio_read 3 49300 NULL
-+f_audio_buffer_alloc_41110 f_audio_buffer_alloc 1 41110 NULL
+tracing_entries_read_8345 tracing_entries_read 3 8345 NULL
-+oom_adjust_write_41116 oom_adjust_write 3 41116 NULL
-+firmwareUpload_32794 firmwareUpload 3 32794 NULL
-+copy_in_user_57502 copy_in_user 3 57502 NULL
-+simple_attr_read_24738 simple_attr_read 3 24738 NULL
-+play_iframe_8219 play_iframe 3 8219 NULL
-+qla2x00_change_queue_depth_24742 qla2x00_change_queue_depth 2 24742 NULL
-+ping_getfrag_8360 ping_getfrag 3-4 8360 NULL
-+ath_rxbuf_alloc_24745 ath_rxbuf_alloc 2 24745 NULL
-+init_tag_map_57515 init_tag_map 3 57515 NULL
-+cmm_read_57520 cmm_read 3 57520 NULL
-+kgdb_hex2mem_24755 kgdb_hex2mem 3 24755 NULL
-+lpfc_debugfs_read_16566 lpfc_debugfs_read 3 16566 NULL
-+DoC_Probe_57534 DoC_Probe 1 57534 NULL
-+cfpkt_setlen_49343 cfpkt_setlen 2 49343 NULL
-+agp_allocate_memory_wrap_16576 agp_allocate_memory_wrap 1 16576 NULL
-+mI_alloc_skb_24770 mI_alloc_skb 1 24770 NULL
-+iscsi_session_setup_196 iscsi_session_setup 4-5 196 NULL
-+i915_cache_sharing_read_24775 i915_cache_sharing_read 3 24775 NULL
++ping_getfrag_8360 ping_getfrag 4-3 8360 NULL
+xdi_copy_from_user_8395 xdi_copy_from_user 4 8395 NULL
-+joydev_ioctl_common_49359 joydev_ioctl_common 2 49359 NULL
-+datablob_hmac_verify_24786 datablob_hmac_verify 4 24786 NULL
-+dvb_ca_write_41171 dvb_ca_write 3 41171 NULL
-+cache_read_24790 cache_read 3 24790 NULL
-+store_cpufv_215 store_cpufv 4 215 NULL
-+px_raw_event_49371 px_raw_event 4 49371 NULL
-+compat_filldir_32999 compat_filldir 3 32999 NULL
-+rx_fcs_err_read_62844 rx_fcs_err_read 3 62844 NULL
-+compat_sys_process_vm_writev_41194 compat_sys_process_vm_writev 3-5 41194 NULL
-+dfs_file_write_41196 dfs_file_write 3 41196 NULL
-+afs_cell_create_27346 afs_cell_create 2 27346 NULL
-+iscsi_alloc_session_49390 iscsi_alloc_session 3 49390 NULL
-+applesmc_create_nodes_49392 applesmc_create_nodes 2 49392 NULL
++zd_rf_scnprint_id_8406 zd_rf_scnprint_id 0-3 8406 NULL
++uvc_v4l2_ioctl_8411 uvc_v4l2_ioctl 2 8411 NULL
+snd_usb_ctl_msg_8436 snd_usb_ctl_msg 8 8436 NULL
-+comedi_buf_alloc_24822 comedi_buf_alloc 3 24822 NULL
-+rx_streaming_always_read_49401 rx_streaming_always_read 3 49401 NULL
-+iwl_legacy_dbgfs_nvm_read_49405 iwl_legacy_dbgfs_nvm_read 3 49405 NULL
-+tnode_alloc_49407 tnode_alloc 1 49407 NULL
-+tun_alloc_skb_41216 tun_alloc_skb 2-4-3 41216 NULL
-+proc_scsi_write_proc_267 proc_scsi_write_proc 3 267 NULL
-+sk_stream_alloc_skb_57622 sk_stream_alloc_skb 2 57622 NULL
-+iwl_dbgfs_ucode_general_stats_read_49199 iwl_dbgfs_ucode_general_stats_read 3 49199 NULL
-+packet_recv_error_16669 packet_recv_error 3 16669 NULL
-+osdmap_set_max_osd_57630 osdmap_set_max_osd 2 57630 NULL nohasharray
-+sisusbcon_putcs_57630 sisusbcon_putcs 3 57630 &osdmap_set_max_osd_57630
-+mem_read_57631 mem_read 3 57631 NULL
+afs_cell_lookup_8482 afs_cell_lookup 2 8482 NULL
-+read_file_war_stats_292 read_file_war_stats 3 292 NULL
-+pnp_alloc_24869 pnp_alloc 1 24869 NULL nohasharray
-+put_data_to_circ_buf_24869 put_data_to_circ_buf 3 24869 &pnp_alloc_24869
-+hiddev_compat_ioctl_41255 hiddev_compat_ioctl 2 41255 NULL
-+bnx2fc_cmd_mgr_alloc_24873 bnx2fc_cmd_mgr_alloc 2-3 24873 NULL
-+sel_read_checkreqprot_33068 sel_read_checkreqprot 3 33068 NULL
-+queues_read_24877 queues_read 3 24877 NULL
-+opera1_xilinx_rw_31453 opera1_xilinx_rw 5 31453 NULL
-+dlm_new_lockspace_16688 dlm_new_lockspace 2 16688 NULL
-+platform_device_add_data_310 platform_device_add_data 3 310 NULL
-+agp_3_5_isochronous_node_enable_49465 agp_3_5_isochronous_node_enable 3 49465 NULL
+dev_config_8506 dev_config 3 8506 NULL
-+read_buf_20469 read_buf 2 20469 NULL
-+sys_mq_timedsend_57661 sys_mq_timedsend 3 57661 NULL
-+r3964_write_57662 r3964_write 4 57662 NULL
-+xfs_iformat_local_49472 xfs_iformat_local 4 49472 NULL
-+dn_nsp_do_disc_49474 dn_nsp_do_disc 2-6 49474 NULL
-+iwm_rx_handle_24899 iwm_rx_handle 3 24899 NULL
-+__lgwrite_57669 __lgwrite 4 57669 NULL
-+pppoe_recvmsg_15073 pppoe_recvmsg 4 15073 NULL
-+codec_list_read_file_24910 codec_list_read_file 3 24910 NULL
-+isr_decrypt_done_read_49490 isr_decrypt_done_read 3 49490 NULL
++ACL_to_cifs_posix_8509 ACL_to_cifs_posix 3 8509 NULL
++utf16_strnlen_8513 utf16_strnlen 0 8513 NULL
++pnp_resource_len_8532 pnp_resource_len 0 8532 NULL
+alloc_pg_vec_8533 alloc_pg_vec 2 8533 NULL
-+ieee80211_fragment_33112 ieee80211_fragment 4 33112 NULL
-+write_node_33121 write_node 4 33121 NULL
-+fb_sys_write_33130 fb_sys_write 3 33130 NULL
++ocfs2_read_virt_blocks_8538 ocfs2_read_virt_blocks 2-3 8538 NULL
+profile_remove_8556 profile_remove 3 8556 NULL
-+emulator_write_phys_49520 emulator_write_phys 2-4 49520 NULL
-+create_bounce_buffer_41330 create_bounce_buffer 3 41330 NULL
-+acpi_os_ioremap_49523 acpi_os_ioremap 1-2 49523 NULL
-+arcmsr_adjust_disk_queue_depth_16756 arcmsr_adjust_disk_queue_depth 2 16756 NULL
-+dlm_alloc_pagevec_54296 dlm_alloc_pagevec 1 54296 NULL
-+cmtp_send_interopmsg_376 cmtp_send_interopmsg 7 376 NULL
+cache_slow_downcall_8570 cache_slow_downcall 2 8570 NULL
+mga_ioremap_8571 mga_ioremap 1-2 8571 NULL
-+twl_change_queue_depth_41342 twl_change_queue_depth 2 41342 NULL
-+nfs4_init_slot_table_33152 nfs4_init_slot_table 2 33152 NULL
-+sys_rt_sigpending_24961 sys_rt_sigpending 2 24961 NULL
++isr_dma0_done_read_8574 isr_dma0_done_read 3 8574 NULL
+tower_write_8580 tower_write 3 8580 NULL
-+add_rx_skb_8257 add_rx_skb 3 8257 NULL
-+dlmfs_file_write_6892 dlmfs_file_write 3 6892 NULL
-+cnic_init_id_tbl_41354 cnic_init_id_tbl 2 41354 NULL
-+compat_sys_set_mempolicy_57742 compat_sys_set_mempolicy 3 57742 NULL nohasharray
-+pppol2tp_recvmsg_57742 pppol2tp_recvmsg 4 57742 &compat_sys_set_mempolicy_57742
-+jbd2_alloc_41359 jbd2_alloc 1 41359 NULL
-+zd_mac_rx_38296 zd_mac_rx 3 38296 NULL
-+smk_write_access_49561 smk_write_access 3 49561 NULL
-+tun_get_user_33178 tun_get_user 3 33178 NULL
-+llc_ui_sendmsg_24987 llc_ui_sendmsg 4 24987 NULL
-+kmp_init_41373 kmp_init 2 41373 NULL
-+t3_init_l2t_8261 t3_init_l2t 1 8261 NULL
-+lbs_rdmac_read_418 lbs_rdmac_read 3 418 NULL
-+get_server_iovec_16804 get_server_iovec 2 16804 NULL
-+alloc_chunk_49575 alloc_chunk 1 49575 NULL
-+tipc_send2name_16809 tipc_send2name 6 16809 NULL
-+sctp_setsockopt_default_send_param_49578 sctp_setsockopt_default_send_param 3 49578 NULL nohasharray
-+hidraw_report_event_49578 hidraw_report_event 3 49578 &sctp_setsockopt_default_send_param_49578
-+key_conf_hw_key_idx_read_25003 key_conf_hw_key_idx_read 3 25003 NULL
+shash_setkey_unaligned_8620 shash_setkey_unaligned 3 8620 NULL
-+dm_vcalloc_16814 dm_vcalloc 1-2 16814 NULL
-+iwl3945_ucode_general_stats_read_25009 iwl3945_ucode_general_stats_read 3 25009 NULL
+it821x_firmware_command_8628 it821x_firmware_command 3 8628 NULL
-+isr_commands_read_41398 isr_commands_read 3 41398 NULL
-+pp_read_33210 pp_read 3 33210 NULL
-+sys_flistxattr_41407 sys_flistxattr 3 41407 NULL
-+scsi_mode_sense_16835 scsi_mode_sense 5 16835 NULL
-+ivtv_read_57796 ivtv_read 3 57796 NULL
-+isr_wakeups_read_49607 isr_wakeups_read 3 49607 NULL
-+xfs_iext_add_41422 xfs_iext_add 3 41422 NULL
-+heap_init_49617 heap_init 2 49617 NULL
-+xfs_file_aio_write_33234 xfs_file_aio_write 4 33234 NULL
-+aoechr_write_62883 aoechr_write 3 62883 NULL
-+isdn_ppp_fill_rq_41428 isdn_ppp_fill_rq 2 41428 NULL
-+smk_write_doi_49621 smk_write_doi 3 49621 NULL
-+_alloc_get_attr_desc_470 _alloc_get_attr_desc 2 470 NULL
-+lbs_rdrf_read_41431 lbs_rdrf_read 3 41431 NULL
-+port_fops_read_49626 port_fops_read 3 49626 NULL
-+ftrace_profile_write_53327 ftrace_profile_write 3 53327 NULL
-+ntfs_file_buffered_write_41442 ntfs_file_buffered_write 4-6 41442 NULL
-+pcpu_build_alloc_info_41443 pcpu_build_alloc_info 1-3-2 41443 NULL
-+bfad_debugfs_read_regrd_57830 bfad_debugfs_read_regrd 3 57830 NULL
-+st_write_16874 st_write 3 16874 NULL
-+copy_to_user_57835 copy_to_user 3 57835 NULL
-+pidlist_resize_496 pidlist_resize 2 496 NULL
-+flash_read_57843 flash_read 3 57843 NULL
-+cachefiles_cook_key_33274 cachefiles_cook_key 2 33274 NULL
-+spi_show_regs_6911 spi_show_regs 3 6911 NULL nohasharray
-+proc_sessionid_read_6911 proc_sessionid_read 3 6911 &spi_show_regs_6911
++scsi_dma_map_8632 scsi_dma_map 0 8632 NULL
++fuse_send_write_pages_8636 fuse_send_write_pages 0 8636 NULL
++nf_nat_mangle_tcp_packet_8643 nf_nat_mangle_tcp_packet 5-7 8643 NULL
++generic_acl_set_8658 generic_acl_set 4 8658 NULL
++ath6kl_tm_rx_report_event_8660 ath6kl_tm_rx_report_event 3 8660 NULL
++lbs_bcnmiss_read_8678 lbs_bcnmiss_read 3 8678 NULL
++skb_frag_size_8695 skb_frag_size 0 8695 NULL
+arcfb_write_8702 arcfb_write 3 8702 NULL
-+gsm_control_reply_53333 gsm_control_reply 4 53333 NULL
-+smp_send_cmd_512 smp_send_cmd 3 512 NULL
++i_size_read_8703 i_size_read 0 8703 NULL nohasharray
++init_header_8703 init_header 0 8703 &i_size_read_8703
+cifs_writedata_alloc_8710 cifs_writedata_alloc 1 8710 NULL
-+stats_read_ul_32751 stats_read_ul 3 32751 NULL
+ctrl_out_8712 ctrl_out 3-5 8712 NULL
-+mwifiex_update_curr_bss_params_16908 mwifiex_update_curr_bss_params 5 16908 NULL
-+cxio_hal_init_rhdl_resource_25104 cxio_hal_init_rhdl_resource 1 25104 NULL
-+copy_to_user_fromio_57432 copy_to_user_fromio 3 57432 NULL
-+snd_rawmidi_kernel_write_25106 snd_rawmidi_kernel_write 3 25106 NULL
-+ivtv_v4l2_ioctl_16915 ivtv_v4l2_ioctl 2 16915 NULL
-+wep_interrupt_read_41492 wep_interrupt_read 3 41492 NULL
-+tracing_max_lat_write_8728 tracing_max_lat_write 3 8728 NULL
-+hpfs_translate_name_41497 hpfs_translate_name 3 41497 NULL
-+mcs7830_get_reg_33308 mcs7830_get_reg 3 33308 NULL
-+psb_unlocked_ioctl_16926 psb_unlocked_ioctl 2 16926 NULL nohasharray
-+snd_gf1_mem_proc_dump_16926 snd_gf1_mem_proc_dump 5 16926 &psb_unlocked_ioctl_16926
-+iwl_dbgfs_reply_tx_error_read_19205 iwl_dbgfs_reply_tx_error_read 3 19205 NULL
-+ceph_msgpool_init_33312 ceph_msgpool_init 3 33312 NULL
-+sys_gethostname_49698 sys_gethostname 2 49698 NULL
-+cx2341x_ctrl_new_menu_49700 cx2341x_ctrl_new_menu 3 49700 NULL
-+ieee80211_rx_mgmt_probe_resp_6918 ieee80211_rx_mgmt_probe_resp 3 6918 NULL
-+devres_alloc_551 devres_alloc 2 551 NULL
-+ldisc_receive_41516 ldisc_receive 4 41516 NULL
-+tt_response_fill_table_57902 tt_response_fill_table 1 57902 NULL
-+xt_alloc_table_info_57903 xt_alloc_table_info 1 57903 NULL
-+_sp2d_alloc_16944 _sp2d_alloc 1-3-2 16944 NULL
-+squashfs_read_table_16945 squashfs_read_table 3 16945 NULL
-+em28xx_init_isoc_8755 em28xx_init_isoc 2-3 8755 NULL
-+emi26_writememory_57908 emi26_writememory 4 57908 NULL
-+start_isoc_chain_565 start_isoc_chain 2 565 NULL
-+iio_read_first_n_kfifo_57910 iio_read_first_n_kfifo 2 57910 NULL
-+gsm_mux_rx_netchar_33336 gsm_mux_rx_netchar 3 33336 NULL
-+yurex_write_8761 yurex_write 3 8761 NULL
++jffs2_acl_count_8729 jffs2_acl_count 0-1 8729 NULL
++em28xx_init_isoc_8755 em28xx_init_isoc 3-2 8755 NULL
+joydev_compat_ioctl_8765 joydev_compat_ioctl 2 8765 NULL
-+joydev_ioctl_33343 joydev_ioctl 2 33343 NULL
-+compat_sys_preadv_583 compat_sys_preadv 3 583 NULL
-+sys_fsetxattr_49736 sys_fsetxattr 4 49736 NULL
-+keyctl_instantiate_key_iov_16969 keyctl_instantiate_key_iov 3 16969 NULL
-+kstrtoint_from_user_8778 kstrtoint_from_user 2 8778 NULL
-+create_xattr_datum_33356 create_xattr_datum 5 33356 NULL
-+sel_read_handle_unknown_57933 sel_read_handle_unknown 3 57933 NULL
-+sys_fgetxattr_25166 sys_fgetxattr 4 25166 NULL
-+ipath_init_qp_table_25167 ipath_init_qp_table 2 25167 NULL
-+zd_usb_iowrite16v_49744 zd_usb_iowrite16v 3 49744 NULL
-+i2cdev_write_23310 i2cdev_write 3 23310 NULL
-+rx_57944 rx 4 57944 NULL
-+sctp_getsockopt_local_addrs_25178 sctp_getsockopt_local_addrs 2 25178 NULL
-+nci_skb_alloc_49757 nci_skb_alloc 2 49757 NULL
-+key_conf_keylen_read_49758 key_conf_keylen_read 3 49758 NULL
++__bitmap_weight_8796 __bitmap_weight 0-2 8796 NULL
+cpuset_common_file_read_8800 cpuset_common_file_read 5 8800 NULL
-+ip_set_alloc_57953 ip_set_alloc 1 57953 NULL
-+fuse_conn_waiting_read_49762 fuse_conn_waiting_read 3 49762 NULL
-+mempool_create_slab_pool_62907 mempool_create_slab_pool 1 62907 NULL
-+ieee80211_if_read_dropped_frames_no_route_33383 ieee80211_if_read_dropped_frames_no_route 3 33383 NULL
-+i915_cache_sharing_write_57961 i915_cache_sharing_write 3 57961 NULL
-+rng_dev_read_41581 rng_dev_read 3 41581 NULL
-+sysfs_acpi_set_625 sysfs_acpi_set 3 625 NULL
-+viafb_dfpl_proc_write_627 viafb_dfpl_proc_write 3 627 NULL
-+hfc_empty_fifo_57972 hfc_empty_fifo 2 57972 NULL
+metronomefb_write_8823 metronomefb_write 3 8823 NULL
-+copy_counters_to_user_17027 copy_counters_to_user 5 17027 NULL nohasharray
-+iwm_if_alloc_17027 iwm_if_alloc 1 17027 &copy_counters_to_user_17027
-+unlink_queued_645 unlink_queued 3-4 645 NULL
-+iwl_legacy_dbgfs_force_reset_read_649 iwl_legacy_dbgfs_force_reset_read 3 649 NULL
-+rx_hw_stuck_read_57179 rx_hw_stuck_read 3 57179 NULL
-+sys_dup3_33421 sys_dup3 2 33421 NULL
-+nfs4_acl_new_49806 nfs4_acl_new 1 49806 NULL
-+ceph_copy_user_to_page_vector_656 ceph_copy_user_to_page_vector 4-3 656 NULL
-+rx_reset_counter_read_58001 rx_reset_counter_read 3 58001 NULL
-+mon_stat_read_25238 mon_stat_read 3 25238 NULL
-+jffs2_trusted_setxattr_17048 jffs2_trusted_setxattr 4 17048 NULL
-+regcache_rbtree_insert_to_block_58009 regcache_rbtree_insert_to_block 5 58009 NULL
++get_queue_depth_8833 get_queue_depth 0 8833 NULL
++dvb_ringbuffer_pkt_next_8834 dvb_ringbuffer_pkt_next 0-2 8834 NULL
++usb_ep_queue_8839 usb_ep_queue 0 8839 NULL
+wa_nep_queue_8858 wa_nep_queue 2 8858 NULL
-+macvtap_alloc_skb_50629 macvtap_alloc_skb 2-4-3 50629 NULL
-+ntfs_copy_from_user_iovec_49829 ntfs_copy_from_user_iovec 3-6 49829 NULL
+iwl_dbgfs_debug_level_write_8871 iwl_dbgfs_debug_level_write 3 8871 NULL
-+dvb_dvr_read_17073 dvb_dvr_read 3 17073 NULL
-+mempool_create_kmalloc_pool_41650 mempool_create_kmalloc_pool 1 41650 NULL
-+simple_transaction_read_17076 simple_transaction_read 3 17076 NULL
-+vmw_execbuf_process_49845 vmw_execbuf_process 5 49845 NULL
-+squashfs_cache_init_41656 squashfs_cache_init 2 41656 NULL
++compressed_bio_size_8887 compressed_bio_size 0-2 8887 NULL
+tracing_max_lat_read_8890 tracing_max_lat_read 3 8890 NULL
-+crypto_alloc_instance2_25277 crypto_alloc_instance2 3 25277 NULL
-+vfs_writev_25278 vfs_writev 3 25278 NULL
-+rtl8169_try_rx_copy_705 rtl8169_try_rx_copy 3 705 NULL
-+sys_dup2_25284 sys_dup2 2 25284 NULL
-+l2tp_session_create_25286 l2tp_session_create 1 25286 NULL
-+create_entry_33479 create_entry 2 33479 NULL
-+mce_async_out_58056 mce_async_out 3 58056 NULL
-+dns_query_9676 dns_query 3 9676 NULL
-+sys_preadv_17100 sys_preadv 3 17100 NULL
-+sctp_setsockopt_bindx_49870 sctp_setsockopt_bindx 3 49870 NULL
-+ip_setsockopt_33487 ip_setsockopt 5 33487 NULL
-+netxen_nic_hw_write_wx_128M_33488 netxen_nic_hw_write_wx_128M 2 33488 NULL
-+aac_src_ioremap_41688 aac_src_ioremap 2 41688 NULL
-+res_counter_read_33499 res_counter_read 4 33499 NULL
-+snd_emu10k1_synth_copy_from_user_9061 snd_emu10k1_synth_copy_from_user 3-5 9061 NULL
-+sctp_setsockopt_peer_addr_params_734 sctp_setsockopt_peer_addr_params 3 734 NULL
-+cm4040_write_58079 cm4040_write 3 58079 NULL
-+fb_read_33506 fb_read 3 33506 NULL
-+ath9k_debugfs_read_buf_25316 ath9k_debugfs_read_buf 3 25316 NULL
-+rfcomm_wmalloc_58090 rfcomm_wmalloc 2 58090 NULL
-+mwifiex_get_common_rates_17131 mwifiex_get_common_rates 3 17131 NULL
-+ddp_set_map_751 ddp_set_map 4 751 NULL
++sdio_max_byte_size_8907 sdio_max_byte_size 0 8907 NULL
++layout_commit_8926 layout_commit 3 8926 NULL
++adjust_priv_size_8935 adjust_priv_size 0-1 8935 NULL
+driver_stats_read_8944 driver_stats_read 3 8944 NULL
-+ahash_setkey_unaligned_33521 ahash_setkey_unaligned 3 33521 NULL
-+dvb_video_write_754 dvb_video_write 3 754 NULL
-+nes_alloc_fast_reg_page_list_33523 nes_alloc_fast_reg_page_list 2 33523 NULL
-+osd_req_add_get_attr_list_49278 osd_req_add_get_attr_list 3 49278 NULL
-+bdx_tx_db_init_41719 bdx_tx_db_init 2 41719 NULL
-+kzalloc_54740 kzalloc 1 54740 NULL
-+sys_pwritev_41722 sys_pwritev 3 41722 NULL
-+ib_send_cm_mra_60202 ib_send_cm_mra 4 60202 NULL nohasharray
-+qib_reg_phys_mr_60202 qib_reg_phys_mr 3 60202 &ib_send_cm_mra_60202
+read_file_tgt_stats_8959 read_file_tgt_stats 3 8959 NULL
-+__copy_from_user_inatomic_nocache_49921 __copy_from_user_inatomic_nocache 3 49921 NULL
-+tomoyo_read_self_33539 tomoyo_read_self 3 33539 NULL
++seq_bitmap_list_8963 seq_bitmap_list 3 8963 NULL
+usb_allocate_stream_buffers_8964 usb_allocate_stream_buffers 3 8964 NULL
-+tcm_loop_change_queue_depth_42454 tcm_loop_change_queue_depth 2 42454 NULL
++qib_qsfp_dump_8966 qib_qsfp_dump 0-3 8966 NULL
+venus_mkdir_8967 venus_mkdir 4 8967 NULL
+seq_open_net_8968 seq_open_net 4 8968 NULL nohasharray
+vol_cdev_read_8968 vol_cdev_read 3 8968 &seq_open_net_8968
-+linear_conf_23485 linear_conf 2 23485 NULL nohasharray
-+divasa_remap_pci_bar_23485 divasa_remap_pci_bar 3-4 23485 &linear_conf_23485
-+befs_nls2utf_17163 befs_nls2utf 3 17163 NULL
-+dup_array_33551 dup_array 3 33551 NULL
-+solo_enc_read_33553 solo_enc_read 3 33553 NULL
-+fillonedir_41746 fillonedir 3 41746 NULL
-+zoran_ioctl_30465 zoran_ioctl 2 30465 NULL
-+ipv6_flowlabel_opt_58135 ipv6_flowlabel_opt 3 58135 NULL nohasharray
-+slhc_init_58135 slhc_init 1-2 58135 &ipv6_flowlabel_opt_58135
-+sel_read_mls_25369 sel_read_mls 3 25369 NULL
-+driver_state_read_17194 driver_state_read 3 17194 NULL nohasharray
-+iscsit_find_cmd_from_itt_or_dump_17194 iscsit_find_cmd_from_itt_or_dump 3 17194 &driver_state_read_17194
-+if_writecmd_815 if_writecmd 2 815 NULL
-+viafb_dfph_proc_write_49288 viafb_dfph_proc_write 3 49288 NULL
-+sparse_add_one_section_41778 sparse_add_one_section 3 41778 NULL
-+aac_change_queue_depth_825 aac_change_queue_depth 2 825 NULL
-+read_fifo_826 read_fifo 3 826 NULL
-+scsi_execute_33596 scsi_execute 5 33596 NULL
-+dn_recvmsg_17213 dn_recvmsg 4 17213 NULL
-+ms_rw_17220 ms_rw 4-3 17220 NULL
-+et61x251_read_25420 et61x251_read 3 25420 NULL
-+dai_list_read_file_25421 dai_list_read_file 3 25421 NULL
-+garmin_write_bulk_58191 garmin_write_bulk 3 58191 NULL
-+asix_write_cmd_58192 asix_write_cmd 5 58192 NULL
-+um_idi_read_850 um_idi_read 3 850 NULL
-+sctp_getsockopt_assoc_ids_9043 sctp_getsockopt_assoc_ids 2 9043 NULL
-+memstick_alloc_host_142 memstick_alloc_host 1 142 NULL
-+sco_send_frame_41815 sco_send_frame 3 41815 NULL
-+ts_read_44687 ts_read 3 44687 NULL
-+nci_send_cmd_58206 nci_send_cmd 3 58206 NULL
-+isdn_read_50021 isdn_read 3 50021 NULL
++bio_integrity_get_tag_8974 bio_integrity_get_tag 3 8974 NULL nohasharray
++selinux_proc_get_sid_8974 selinux_proc_get_sid 2 8974 &bio_integrity_get_tag_8974
++snd_emu10k1_ptr_read_9026 snd_emu10k1_ptr_read 0-2 9026 NULL
++nla_put_9042 nla_put 3 9042 NULL
++snd_emu10k1_synth_copy_from_user_9061 snd_emu10k1_synth_copy_from_user 3-5 9061 NULL
+snd_gus_dram_peek_9062 snd_gus_dram_peek 4 9062 NULL
-+o2net_send_message_vec_879 o2net_send_message_vec 4 879 NULL nohasharray
-+iwl_dbgfs_fh_reg_read_879 iwl_dbgfs_fh_reg_read 3 879 &o2net_send_message_vec_879
+fib_info_hash_alloc_9075 fib_info_hash_alloc 1 9075 NULL
-+alloc_ep_17269 alloc_ep 1 17269 NULL
-+generic_file_buffered_write_25464 generic_file_buffered_write 4 25464 NULL
-+do_ip_setsockopt_41852 do_ip_setsockopt 5 41852 NULL
-+raw_recvmsg_17277 raw_recvmsg 4 17277 NULL
-+alloc_ebda_hpc_50046 alloc_ebda_hpc 1-2 50046 NULL
-+keyctl_instantiate_key_41855 keyctl_instantiate_key 3 41855 NULL
++string_9080 string 0 9080 NULL
+create_queues_9088 create_queues 2-3 9088 NULL
-+neigh_hash_grow_17283 neigh_hash_grow 2 17283 NULL
-+cx25821_video_ioctl_30188 cx25821_video_ioctl 2 30188 NULL
-+minstrel_stats_read_17290 minstrel_stats_read 3 17290 NULL
-+fuse_conn_max_background_write_50061 fuse_conn_max_background_write 3 50061 NULL
-+rbd_alloc_coll_33678 rbd_alloc_coll 1 33678 NULL
-+read_file_debug_58256 read_file_debug 3 58256 NULL
-+spi_register_board_info_35651 spi_register_board_info 2 35651 NULL
++ftdi_prepare_write_buffer_9093 ftdi_prepare_write_buffer 3 9093 NULL
+caif_stream_sendmsg_9110 caif_stream_sendmsg 4 9110 NULL
-+tracing_trace_options_write_153 tracing_trace_options_write 3 153 NULL
-+btmrvl_hsstate_read_920 btmrvl_hsstate_read 3 920 NULL
-+mb_cache_create_17307 mb_cache_create 2 17307 NULL
+pmcraid_change_queue_depth_9116 pmcraid_change_queue_depth 2 9116 NULL
-+ivtv_buf_copy_from_user_25502 ivtv_buf_copy_from_user 4 25502 NULL
-+acpi_ds_build_internal_package_obj_58271 acpi_ds_build_internal_package_obj 3 58271 NULL
-+snd_pcm_plugin_build_25505 snd_pcm_plugin_build 5 25505 NULL
-+dev_set_alias_50084 dev_set_alias 3 50084 NULL
-+pcpu_get_vm_areas_50085 pcpu_get_vm_areas 3 50085 NULL
-+rxpipe_descr_host_int_trig_rx_data_read_22001 rxpipe_descr_host_int_trig_rx_data_read 3 22001 NULL
-+iwm_umac_set_config_var_17320 iwm_umac_set_config_var 4 17320 NULL
-+brcmf_sdbrcm_send_buf_9129 brcmf_sdbrcm_send_buf 6 9129 NULL
-+altera_swap_dr_50090 altera_swap_dr 2 50090 NULL
-+sys_keyctl_33708 sys_keyctl 4 33708 NULL nohasharray
-+netlink_sendmsg_33708 netlink_sendmsg 4 33708 &sys_keyctl_33708
-+ata_host_alloc_pinfo_17325 ata_host_alloc_pinfo 3 17325 NULL
-+get_free_de_33714 get_free_de 2 33714 NULL
-+iscsi_decode_text_input_58292 iscsi_decode_text_input 4 58292 NULL
-+carl9170_cmd_buf_950 carl9170_cmd_buf 3 950 NULL
-+pvr2_stream_buffer_count_33719 pvr2_stream_buffer_count 2 33719 NULL
-+my_skb_head_push_58297 my_skb_head_push 2 58297 NULL
-+get_packet_41914 get_packet 3 41914 NULL
-+roccat_common_receive_53407 roccat_common_receive 4 53407 NULL
-+get_fdb_entries_41916 get_fdb_entries 3 41916 NULL
-+ceph_get_direct_page_vector_41917 ceph_get_direct_page_vector 2 41917 NULL
-+read_file_slot_50111 read_file_slot 3 50111 NULL
-+iwl_dbgfs_rxon_filter_flags_read_28832 iwl_dbgfs_rxon_filter_flags_read 3 28832 NULL
-+ieee80211_if_read_dot11MeshTTL_58307 ieee80211_if_read_dot11MeshTTL 3 58307 NULL
-+serverworks_create_gatt_pages_46582 serverworks_create_gatt_pages 1 46582 NULL
-+rx_streaming_interval_write_50120 rx_streaming_interval_write 3 50120 NULL
-+ieee80211_if_read_path_refresh_time_25545 ieee80211_if_read_path_refresh_time 3 25545 NULL
-+c4iw_init_resource_fifo_random_25547 c4iw_init_resource_fifo_random 3 25547 NULL
-+copy_items_50140 copy_items 6 50140 NULL
++dbg_command_buf_9165 dbg_command_buf 2 9165 NULL
+isr_irqs_read_9181 isr_irqs_read 3 9181 NULL
-+pcim_iomap_58334 pcim_iomap 3 58334 NULL
-+diva_init_dma_map_58336 diva_init_dma_map 3 58336 NULL
-+realloc_packet_buffer_25569 realloc_packet_buffer 2 25569 NULL
-+xfs_buf_associate_memory_17915 xfs_buf_associate_memory 3 17915 NULL
-+hdlcdev_rx_997 hdlcdev_rx 3 997 NULL
-+portnames_read_41958 portnames_read 3 41958 NULL
-+hashtab_create_33769 hashtab_create 3 33769 NULL
+alloc_group_attrs_9194 alloc_group_attrs 2 9194 NULL nohasharray
+altera_swap_ir_9194 altera_swap_ir 2 9194 &alloc_group_attrs_9194
-+alloc_fdtable_17389 alloc_fdtable 1 17389 NULL
++gx1_gx_base_9198 gx1_gx_base 0 9198 NULL
+sep_prepare_input_output_dma_table_9200 sep_prepare_input_output_dma_table 2-4-3 9200 NULL
-+vmalloc_to_sg_58354 vmalloc_to_sg 2 58354 NULL
-+aac_nark_ioremap_50163 aac_nark_ioremap 2 50163 NULL nohasharray
-+kmalloc_node_50163 kmalloc_node 1 50163 &aac_nark_ioremap_50163
-+cx24116_writeregN_41975 cx24116_writeregN 4 41975 NULL
-+odev_update_50169 odev_update 2 50169 NULL
-+ubi_resize_volume_50172 ubi_resize_volume 2 50172 NULL
-+ping_recvmsg_25597 ping_recvmsg 4 25597 NULL
-+__devres_alloc_25598 __devres_alloc 2 25598 NULL
-+netpoll_send_udp_58955 netpoll_send_udp 3 58955 NULL
++snd_m3_get_pointer_9206 snd_m3_get_pointer 0 9206 NULL
+l2cap_create_connless_pdu_9222 l2cap_create_connless_pdu 3 9222 NULL
-+ib_send_cm_drep_50186 ib_send_cm_drep 3 50186 NULL
-+pohmelfs_name_alloc_1036 pohmelfs_name_alloc 1 1036 NULL
+sctp_getsockopt_delayed_ack_9232 sctp_getsockopt_delayed_ack 2 9232 NULL
-+lguest_map_42008 lguest_map 1-2 42008 NULL
-+proc_coredump_filter_write_25625 proc_coredump_filter_write 3 25625 NULL
-+sta_connected_time_read_17435 sta_connected_time_read 3 17435 NULL
-+pool_allocate_42012 pool_allocate 3 42012 NULL
-+l2cap_sock_setsockopt_50207 l2cap_sock_setsockopt 5 50207 NULL
-+sctp_make_init_58401 sctp_make_init 4 58401 NULL
-+ieee80211_skb_resize_50211 ieee80211_skb_resize 3 50211 NULL
-+gigaset_initdriver_1060 gigaset_initdriver 2 1060 NULL
-+vp_request_msix_vectors_28849 vp_request_msix_vectors 2 28849 NULL
++ocfs2_clear_ext_refcount_9256 ocfs2_clear_ext_refcount 4 9256 NULL
+tcf_csum_ipv4_icmp_9258 tcf_csum_ipv4_icmp 3 9258 NULL
-+acpi_ut_create_buffer_object_42030 acpi_ut_create_buffer_object 1 42030 NULL
-+mce_request_packet_1073 mce_request_packet 3 1073 NULL
-+agp_create_memory_1075 agp_create_memory 1 1075 NULL
+sparse_early_usemaps_alloc_node_9269 sparse_early_usemaps_alloc_node 4 9269 NULL
-+__hwahc_op_set_gtk_42038 __hwahc_op_set_gtk 4 42038 NULL
+hdpvr_read_9273 hdpvr_read 3 9273 NULL
-+mon_bin_compat_ioctl_50234 mon_bin_compat_ioctl 3 50234 NULL
-+_scsih_adjust_queue_depth_1083 _scsih_adjust_queue_depth 2 1083 NULL
-+irda_sendmsg_ultra_42047 irda_sendmsg_ultra 4 42047 NULL
-+jffs2_do_link_42048 jffs2_do_link 6 42048 NULL
-+ablkcipher_copy_iv_64140 ablkcipher_copy_iv 3 64140 NULL
-+ttm_put_pages_38411 ttm_put_pages 2 38411 NULL
-+dma_rx_requested_read_65354 dma_rx_requested_read 3 65354 NULL
-+InterfaceTransmitPacket_42058 InterfaceTransmitPacket 3 42058 NULL
-+kvm_write_guest_cached_11106 kvm_write_guest_cached 4 11106 NULL
-+TSS_rawhmac_17486 TSS_rawhmac 3 17486 NULL
-+brcmf_sdbrcm_downloadvars_42064 brcmf_sdbrcm_downloadvars 3 42064 NULL
-+afs_extract_data_50261 afs_extract_data 5 50261 NULL
-+capabilities_read_58457 capabilities_read 3 58457 NULL
-+sta_inactive_ms_read_25690 sta_inactive_ms_read 3 25690 NULL
++qla82xx_pci_set_window_9303 qla82xx_pci_set_window 0-2 9303 NULL
+iwl_dbgfs_stations_read_9309 iwl_dbgfs_stations_read 3 9309 NULL
-+lpfc_idiag_baracc_read_58466 lpfc_idiag_baracc_read 3 58466 NULL nohasharray
-+compat_do_ipt_set_ctl_58466 compat_do_ipt_set_ctl 4 58466 &lpfc_idiag_baracc_read_58466
-+scsi_execute_req_42088 scsi_execute_req 5 42088 NULL
-+hcd_buffer_alloc_27495 hcd_buffer_alloc 2 27495 NULL
-+key_algorithm_read_57946 key_algorithm_read 3 57946 NULL
-+rxrpc_setsockopt_50286 rxrpc_setsockopt 5 50286 NULL
-+sk_chk_filter_42095 sk_chk_filter 2 42095 NULL
-+ibmasm_new_command_25714 ibmasm_new_command 2 25714 NULL
-+snd_rme96_capture_copy_58484 snd_rme96_capture_copy 5 58484 NULL
-+event_tx_stuck_read_19305 event_tx_stuck_read 3 19305 NULL
-+restore_i387_fxsave_17528 restore_i387_fxsave 2 17528 NULL
-+submit_inquiry_42108 submit_inquiry 3 42108 NULL
-+sel_write_context_25726 sel_write_context 3 25726 NULL nohasharray
-+__alloc_bootmem_low_node_25726 __alloc_bootmem_low_node 2 25726 &sel_write_context_25726
-+sysfs_read_file_42113 sysfs_read_file 3 42113 NULL
-+compat_mpctl_ioctl_45671 compat_mpctl_ioctl 2 45671 NULL
-+mcs_unwrap_fir_25733 mcs_unwrap_fir 3 25733 NULL
-+store_gps_42118 store_gps 4 42118 NULL
-+vme_user_write_15587 vme_user_write 3 15587 NULL
-+cifs_readdata_alloc_50318 cifs_readdata_alloc 1 50318 NULL
-+__copy_to_user_17551 __copy_to_user 3 17551 NULL
-+cxgbi_device_portmap_create_25747 cxgbi_device_portmap_create 3 25747 NULL
-+sel_read_avc_cache_threshold_33942 sel_read_avc_cache_threshold 3 33942 NULL
-+copy_from_user_17559 copy_from_user 3 17559 NULL
-+read_file_tgt_rx_stats_33944 read_file_tgt_rx_stats 3 33944 NULL
-+diva_os_malloc_16406 diva_os_malloc 2 16406 NULL
-+lpfc_idiag_pcicfg_read_50334 lpfc_idiag_pcicfg_read 3 50334 NULL
-+ttm_agp_populate_42144 ttm_agp_populate 2 42144 NULL
-+v9fs_alloc_rdir_buf_42150 v9fs_alloc_rdir_buf 2 42150 NULL
-+ipc_alloc_1192 ipc_alloc 1 1192 NULL
-+mwifiex_info_read_53447 mwifiex_info_read 3 53447 NULL
-+ib_create_send_mad_1196 ib_create_send_mad 5 1196 NULL
-+rndis_add_response_58544 rndis_add_response 2 58544 NULL
-+efx_tsoh_heap_alloc_58545 efx_tsoh_heap_alloc 2 58545 NULL
-+isdn_ppp_read_50356 isdn_ppp_read 4 50356 NULL
++ceph_sync_setxattr_9310 ceph_sync_setxattr 4 9310 NULL
++sk_rmem_schedule_9331 sk_rmem_schedule 2 9331 NULL
++ocfs2_orphan_for_truncate_9342 ocfs2_orphan_for_truncate 4 9342 NULL
+read_9397 read 3 9397 NULL
-+i2cdev_read_1206 i2cdev_read 3 1206 NULL
-+read_file_base_eeprom_42168 read_file_base_eeprom 3 42168 NULL
-+printer_write_60276 printer_write 3 60276 NULL
-+acpi_ut_create_package_object_17594 acpi_ut_create_package_object 1 17594 NULL
-+neigh_hash_alloc_17595 neigh_hash_alloc 1 17595 NULL
-+rts51x_write_mem_17598 rts51x_write_mem 4 17598 NULL
-+vga_switcheroo_debugfs_write_33984 vga_switcheroo_debugfs_write 3 33984 NULL
-+request_key_async_with_auxdata_46624 request_key_async_with_auxdata 4 46624 NULL
-+blk_init_tags_30592 blk_init_tags 1 30592 NULL
-+qlcnic_alloc_sds_rings_26795 qlcnic_alloc_sds_rings 2 26795 NULL
-+oprofilefs_str_to_user_42182 oprofilefs_str_to_user 3 42182 NULL
-+sg_read_25799 sg_read 3 25799 NULL
-+sl_alloc_bufs_50380 sl_alloc_bufs 2 50380 NULL
-+ipw_packet_received_skb_1230 ipw_packet_received_skb 2 1230 NULL
-+sys32_rt_sigpending_25814 sys32_rt_sigpending 2 25814 NULL
+bm_realloc_pages_9431 bm_realloc_pages 2 9431 NULL
-+realloc_buffer_25816 realloc_buffer 2 25816 NULL
-+skb_make_writable_24783 skb_make_writable 2 24783 NULL
+ffs_ep0_write_9438 ffs_ep0_write 3 9438 NULL
-+pwr_missing_bcns_read_25824 pwr_missing_bcns_read 3 25824 NULL
-+gdth_search_isa_58595 gdth_search_isa 1 58595 NULL
-+__ntfs_malloc_34022 __ntfs_malloc 1 34022 NULL
-+l2tp_ip_sendmsg_50411 l2tp_ip_sendmsg 4 50411 NULL
-+resize_stripes_61650 resize_stripes 2 61650 NULL
-+mcs_unwrap_mir_9455 mcs_unwrap_mir 3 9455 NULL
-+ppp_write_34034 ppp_write 3 34034 NULL
-+iscsi_create_conn_50425 iscsi_create_conn 2 50425 NULL
-+tty_insert_flip_string_34042 tty_insert_flip_string 3 34042 NULL
-+xfs_buf_read_uncached_27519 xfs_buf_read_uncached 4 27519 NULL
++kmalloc_array_9444 kmalloc_array 1-2 9444 NULL
++ieee80211_if_fmt_fwded_unicast_9454 ieee80211_if_fmt_fwded_unicast 3 9454 NULL
++ext3_xattr_set_acl_9467 ext3_xattr_set_acl 4 9467 NULL
+agp_generic_alloc_user_9470 agp_generic_alloc_user 1 9470 NULL
-+skb_copy_to_page_nocache_58624 skb_copy_to_page_nocache 6 58624 NULL
-+do_arpt_set_ctl_51053 do_arpt_set_ctl 4 51053 NULL
-+module_alloc_update_bounds_rx_58634 module_alloc_update_bounds_rx 1 58634 NULL
-+btmrvl_hsmode_write_42252 btmrvl_hsmode_write 3 42252 NULL
-+dsp_tone_hw_message_17678 dsp_tone_hw_message 3 17678 NULL
-+netxen_nic_map_indirect_address_128M_42257 netxen_nic_map_indirect_address_128M 2 42257 NULL
-+ipath_get_base_info_7043 ipath_get_base_info 3 7043 NULL
++rbd_coll_end_req_9472 rbd_coll_end_req 3 9472 NULL
+__alloc_preds_9492 __alloc_preds 2 9492 NULL
-+pgctrl_write_50453 pgctrl_write 3 50453 NULL
-+pwr_enable_ps_read_17686 pwr_enable_ps_read 3 17686 NULL
-+ath6kl_regread_read_25884 ath6kl_regread_read 3 25884 NULL
-+tm6000_i2c_recv_regs16_2949 tm6000_i2c_recv_regs16 5 2949 NULL
-+uvc_v4l2_ioctl_8411 uvc_v4l2_ioctl 2 8411 NULL
+lp_write_9511 lp_write 3 9511 NULL
-+venus_rename_17707 venus_rename 4-5 17707 NULL
-+cdrom_read_cdda_50478 cdrom_read_cdda 4 50478 NULL
-+nfs_readdir_make_qstr_12509 nfs_readdir_make_qstr 3 12509 NULL
-+lpfc_change_queue_depth_25905 lpfc_change_queue_depth 2 25905 NULL
+scsi_tgt_kspace_exec_9522 scsi_tgt_kspace_exec 8 9522 NULL
-+do_jffs2_setxattr_25910 do_jffs2_setxattr 5 25910 NULL
-+do_xip_mapping_read_60297 do_xip_mapping_read 5 60297 NULL
+read_file_dma_9530 read_file_dma 3 9530 NULL
-+sel_read_perm_42302 sel_read_perm 3 42302 NULL
-+rcname_read_25919 rcname_read 3 25919 NULL
-+sctp_setsockopt_del_key_42304 sctp_setsockopt_del_key 3 42304 NULL nohasharray
-+ulong_read_file_42304 ulong_read_file 3 42304 &sctp_setsockopt_del_key_42304
++ext3_alloc_branch_9534 ext3_alloc_branch 5 9534 NULL
+pohmelfs_send_readpages_9537 pohmelfs_send_readpages 3 9537 NULL
-+exofs_read_lookup_dev_table_17733 exofs_read_lookup_dev_table 3 17733 NULL
-+pwr_rcvd_awake_beacons_read_50505 pwr_rcvd_awake_beacons_read 3 50505 NULL
-+snd_es1938_capture_copy_25930 snd_es1938_capture_copy 5 25930 NULL
-+key_flags_read_25931 key_flags_read 3 25931 NULL
+audit_log_n_untrustedstring_9548 audit_log_n_untrustedstring 3 9548 NULL
-+sctpprobe_read_17741 sctpprobe_read 3 17741 NULL
-+ipx_sendmsg_1362 ipx_sendmsg 4 1362 NULL
-+tracing_ctrl_write_42324 tracing_ctrl_write 3 42324 NULL nohasharray
-+hysdn_conf_read_42324 hysdn_conf_read 3 42324 &tracing_ctrl_write_42324
-+islpci_mgt_transmit_34133 islpci_mgt_transmit 5 34133 NULL
+fw_node_create_9559 fw_node_create 2 9559 NULL
-+sctp_getsockopt_nodelay_9560 sctp_getsockopt_nodelay 2 9560 NULL
-+insert_one_name_61668 insert_one_name 7 61668 NULL
+kobj_map_9566 kobj_map 2-3 9566 NULL
-+snd_pcm_plug_alloc_42339 snd_pcm_plug_alloc 2 42339 NULL
+biovec_create_pools_9575 biovec_create_pools 2 9575 NULL
-+fwnet_receive_packet_50537 fwnet_receive_packet 9 50537 NULL
-+do_msgsnd_1387 do_msgsnd 4 1387 NULL
-+ieee80211_tdls_mgmt_9581 ieee80211_tdls_mgmt 8 9581 NULL
-+cosa_read_25966 cosa_read 3 25966 NULL
-+snd_rawmidi_kernel_read_4328 snd_rawmidi_kernel_read 3 4328 NULL
-+ide_raw_taskfile_42355 ide_raw_taskfile 4 42355 NULL
-+rngapi_reset_34366 rngapi_reset 3 34366 NULL nohasharray
-+p54_alloc_skb_34366 p54_alloc_skb 3 34366 &rngapi_reset_34366
-+compat_udpv6_setsockopt_42981 compat_udpv6_setsockopt 5 42981 NULL
-+file_read_actor_1401 file_read_actor 4 1401 NULL
-+av7110_ipack_init_46655 av7110_ipack_init 2 46655 NULL
-+hci_si_event_1404 hci_si_event 3 1404 NULL
-+ath6kl_fwlog_mask_write_24810 ath6kl_fwlog_mask_write 3 24810 NULL
-+udp_setsockopt_25985 udp_setsockopt 5 25985 NULL
++lguest_setup_irq_9587 lguest_setup_irq 1 9587 NULL
+do_sync_9604 do_sync 1 9604 NULL
-+snd_emu10k1_fx8010_read_9605 snd_emu10k1_fx8010_read 5 9605 NULL
-+scsi_host_alloc_63041 scsi_host_alloc 2 63041 NULL
-+agp_allocate_memory_58761 agp_allocate_memory 2 58761 NULL
-+__do_config_autodelink_58763 __do_config_autodelink 3 58763 NULL
-+iwl_legacy_dbgfs_tx_queue_read_34192 iwl_legacy_dbgfs_tx_queue_read 3 34192 NULL
-+lpfc_sli_probe_sriov_nr_virtfn_26004 lpfc_sli_probe_sriov_nr_virtfn 2 26004 NULL
-+osd_req_write_kern_53486 osd_req_write_kern 5 53486 NULL
-+pep_reply_50582 pep_reply 5 50582 NULL
-+iwl_dbgfs_missed_beacon_read_50584 iwl_dbgfs_missed_beacon_read 3 50584 NULL
++snd_emu10k1_fx8010_read_9605 snd_emu10k1_fx8010_read 5-6 9605 NULL
+saa7164_buffer_alloc_user_9627 saa7164_buffer_alloc_user 2 9627 NULL
-+_snd_pcm_lib_alloc_vmalloc_buffer_17820 _snd_pcm_lib_alloc_vmalloc_buffer 2 17820 NULL
-+mtd_write_34207 mtd_write 3 34207 NULL
-+xfs_readdir_41200 xfs_readdir 3 41200 NULL
-+sge_rx_50594 sge_rx 3 50594 NULL
-+stack_max_size_read_1445 stack_max_size_read 3 1445 NULL
-+brn_proc_write_42407 brn_proc_write 3 42407 NULL
-+sg_kmalloc_50240 sg_kmalloc 1 50240 NULL
-+skb_padto_50759 skb_padto 2 50759 NULL
-+raw_send_hdrinc_58803 raw_send_hdrinc 4 58803 NULL
-+mptscsih_change_queue_depth_26036 mptscsih_change_queue_depth 2 26036 NULL
-+selinux_inode_post_setxattr_26037 selinux_inode_post_setxattr 4 26037 NULL
-+tx_queue_len_read_1463 tx_queue_len_read 3 1463 NULL
++compat_sys_keyctl_9639 compat_sys_keyctl 4-2-3 9639 NULL
++ocfs2_xattr_get_rec_9652 ocfs2_xattr_get_rec 0 9652 NULL
++snd_intelmad_register_irq_9654 snd_intelmad_register_irq 2-3 9654 NULL
+uvc_alloc_buffers_9656 uvc_alloc_buffers 2-3 9656 NULL
+queue_received_packet_9657 queue_received_packet 5 9657 NULL
-+sctp_getsockopt_initmsg_26042 sctp_getsockopt_initmsg 2 26042 NULL
-+ep_read_58813 ep_read 3 58813 NULL
-+xprt_alloc_1475 xprt_alloc 2 1475 NULL
-+gsm_data_alloc_42437 gsm_data_alloc 3 42437 NULL
+snd_opl4_mem_proc_write_9670 snd_opl4_mem_proc_write 5 9670 NULL
-+pci_enable_sriov_35745 pci_enable_sriov 2 35745 NULL
-+sisusb_send_bulk_msg_17864 sisusb_send_bulk_msg 3 17864 NULL
-+simple_transaction_get_50633 simple_transaction_get 3 50633 NULL
-+key_conf_keyidx_read_42443 key_conf_keyidx_read 3 42443 NULL
-+alloc_sja1000dev_17868 alloc_sja1000dev 1 17868 NULL
-+keyctl_update_key_26061 keyctl_update_key 3 26061 NULL
-+sta_num_ps_buf_frames_read_1488 sta_num_ps_buf_frames_read 3 1488 NULL
-+ray_cs_essid_proc_write_17875 ray_cs_essid_proc_write 3 17875 NULL
-+orinoco_set_key_17878 orinoco_set_key 5-7 17878 NULL
-+bl_pipe_downcall_34264 bl_pipe_downcall 3 34264 NULL
-+command_write_58841 command_write 3 58841 NULL
-+compat_sys_pwritev_17886 compat_sys_pwritev 3 17886 NULL
-+rw_copy_check_uvector_34271 rw_copy_check_uvector 3 34271 NULL
-+ocfs2_readlink_50656 ocfs2_readlink 3 50656 NULL
-+sctp_getsockopt_default_send_param_63056 sctp_getsockopt_default_send_param 2 63056 NULL
-+sys_readv_50664 sys_readv 3 50664 NULL
++ks8842_read16_9676 ks8842_read16 0 9676 NULL nohasharray
++dns_query_9676 dns_query 3 9676 &ks8842_read16_9676
++qib_7322_handle_hwerrors_9678 qib_7322_handle_hwerrors 3 9678 NULL
++__erst_read_from_storage_9690 __erst_read_from_storage 0 9690 NULL
++x25_asy_compat_ioctl_9694 x25_asy_compat_ioctl 4 9694 NULL nohasharray
++is_hole_9694 is_hole 2 9694 &x25_asy_compat_ioctl_9694
++fnb_9703 fnb 2-3 9703 NULL
+ieee80211_if_read_aid_9705 ieee80211_if_read_aid 3 9705 NULL
-+udp_manip_pkt_50770 udp_manip_pkt 2 50770 NULL
-+recover_head_17904 recover_head 3 17904 NULL
-+iwl_dbgfs_traffic_log_read_58870 iwl_dbgfs_traffic_log_read 3 58870 NULL
-+dccp_feat_register_sp_17914 dccp_feat_register_sp 5 17914 NULL
-+btmrvl_psstate_read_50683 btmrvl_psstate_read 3 50683 NULL
-+brcmf_sdbrcm_bus_txctl_42492 brcmf_sdbrcm_bus_txctl 3 42492 NULL
-+srp_iu_pool_alloc_17920 srp_iu_pool_alloc 2 17920 NULL
-+gs_alloc_req_58883 gs_alloc_req 2 58883 NULL
-+pvr2_v4l2_read_18006 pvr2_v4l2_read 3 18006 NULL
-+cs553x_init_one_58886 cs553x_init_one 3 58886 NULL
-+vring_add_indirect_20737 vring_add_indirect 3-4 20737 NULL
-+tomoyo_write_log2_34318 tomoyo_write_log2 2 34318 NULL
+ddb_input_read_9743 ddb_input_read 3 9743 NULL
-+user_instantiate_26131 user_instantiate 3 26131 NULL
-+kvm_write_wall_clock_42520 kvm_write_wall_clock 2 42520 NULL
-+skb_cow_26138 skb_cow 2 26138 NULL
-+smk_write_netlbladdr_42525 smk_write_netlbladdr 3 42525 NULL
-+beacon_interval_write_17952 beacon_interval_write 3 17952 NULL
-+snd_emux_create_port_42533 snd_emux_create_port 3 42533 NULL
++__alloc_percpu_9764 __alloc_percpu 1-2 9764 NULL
+do_sigpending_9766 do_sigpending 2 9766 NULL
-+iwl_dbgfs_disable_ht40_read_35761 iwl_dbgfs_disable_ht40_read 3 35761 NULL
+__blk_queue_init_tags_9778 __blk_queue_init_tags 2 9778 NULL
-+copy_oldmem_page_26164 copy_oldmem_page 3-1 26164 NULL
-+bluetooth_proc_write_1630 bluetooth_proc_write 3 1630 NULL
-+vmalloc_32_1135 vmalloc_32 1 1135 NULL
+snd_mem_proc_write_9786 snd_mem_proc_write 3 9786 NULL
-+fc_frame_alloc_1596 fc_frame_alloc 2 1596 NULL
-+udp_recvmsg_42558 udp_recvmsg 4 42558 NULL
-+store_cardr_2997 store_cardr 4 2997 NULL
-+alloc_rx_desc_ring_18016 alloc_rx_desc_ring 2 18016 NULL
-+solo_v4l2_read_59247 solo_v4l2_read 3 59247 NULL
-+smk_write_cipso_17989 smk_write_cipso 3 17989 NULL
-+packet_buffer_init_1607 packet_buffer_init 2 1607 NULL
-+reiserfs_resize_34377 reiserfs_resize 2 34377 NULL
-+get_registers_26187 get_registers 3 26187 NULL
+ttm_bo_fbdev_io_9805 ttm_bo_fbdev_io 4 9805 NULL
-+btmrvl_hscmd_read_1614 btmrvl_hscmd_read 3 1614 NULL
-+av7110_vbi_write_34384 av7110_vbi_write 3 34384 NULL
-+usbvision_v4l2_read_34386 usbvision_v4l2_read 3 34386 NULL
-+snd_pcm_oss_write2_27332 snd_pcm_oss_write2 3 27332 NULL
-+udpv6_recvmsg_9813 udpv6_recvmsg 4 9813 NULL nohasharray
-+ieee80211_if_read_state_9813 ieee80211_if_read_state 3 9813 &udpv6_recvmsg_9813
-+tm6000_read_write_usb_50774 tm6000_read_write_usb 7 50774 NULL nohasharray
-+pipe_handler_request_50774 pipe_handler_request 5 50774 &tm6000_read_write_usb_50774
-+xfs_idata_realloc_26199 xfs_idata_realloc 2 26199 NULL
-+mce_write_26201 mce_write 3 26201 NULL
-+bio_alloc_map_data_50782 bio_alloc_map_data 1-2 50782 NULL
-+ivtv_read_pos_34400 ivtv_read_pos 3 34400 NULL
-+oom_score_adj_write_42594 oom_score_adj_write 3 42594 NULL
-+libipw_alloc_txb_27579 libipw_alloc_txb 1-3-2 27579 NULL
-+process_vm_rw_single_vec_26213 process_vm_rw_single_vec 1-2 26213 NULL
-+__pskb_pull_42602 __pskb_pull 2 42602 NULL
-+sctp_make_heartbeat_ack_34411 sctp_make_heartbeat_ack 4 34411 NULL
-+tpm_write_50798 tpm_write 3 50798 NULL
-+btmrvl_hsmode_read_1647 btmrvl_hsmode_read 3 1647 NULL
++ieee80211_if_read_state_9813 ieee80211_if_read_state 3 9813 NULL
++pnp_mem_start_9817 pnp_mem_start 0 9817 NULL
++kernel_physical_mapping_init_9818 kernel_physical_mapping_init 0-2-1 9818 NULL
+dvb_dvr_set_buffer_size_9840 dvb_dvr_set_buffer_size 2 9840 NULL
-+store_sys_hwmon_26225 store_sys_hwmon 3 26225 NULL
-+write_flush_50803 write_flush 3 50803 NULL
-+_scsih_change_queue_depth_26230 _scsih_change_queue_depth 2 26230 NULL
-+rxrpc_recvmsg_26233 rxrpc_recvmsg 4 26233 NULL
-+ikconfig_read_current_1658 ikconfig_read_current 3 1658 NULL
-+posix_acl_alloc_48063 posix_acl_alloc 1 48063 NULL
-+dvb_play_50814 dvb_play 3 50814 NULL
-+ep_write_59008 ep_write 3 59008 NULL
-+sys_move_pages_42626 sys_move_pages 2 42626 NULL
-+ddebug_proc_write_18055 ddebug_proc_write 3 18055 NULL
++cfg80211_send_deauth_9862 cfg80211_send_deauth 3 9862 NULL
++get_blk_table_len_9863 get_blk_table_len 0 9863 NULL
+pmcraid_alloc_sglist_9864 pmcraid_alloc_sglist 1 9864 NULL
-+receive_server_sync_packet_59021 receive_server_sync_packet 3 59021 NULL
-+usbtest_alloc_urb_34446 usbtest_alloc_urb 3-5 34446 NULL
-+scsi_activate_tcq_42640 scsi_activate_tcq 2 42640 NULL
-+br_mdb_rehash_42643 br_mdb_rehash 2 42643 NULL
-+packet_came_18072 packet_came 3 18072 NULL
-+kvm_read_guest_page_18074 kvm_read_guest_page 5 18074 NULL
-+sctp_make_abort_34459 sctp_make_abort 3 34459 NULL
-+_regmap_raw_write_42652 _regmap_raw_write 4 42652 NULL
-+selinux_transaction_write_59038 selinux_transaction_write 3 59038 NULL
-+get_vm_area_18080 get_vm_area 1 18080 NULL
-+tun_do_read_50800 tun_do_read 4 50800 NULL
++mlx4_bitmap_alloc_range_9876 mlx4_bitmap_alloc_range 2-3 9876 NULL
+bm_register_write_9893 bm_register_write 3 9893 NULL nohasharray
+snd_midi_event_new_9893 snd_midi_event_new 1 9893 &bm_register_write_9893
-+handle_rx_packet_58993 handle_rx_packet 3 58993 NULL
-+mwifiex_regrdwr_read_34472 mwifiex_regrdwr_read 3 34472 NULL
-+carl9170_debugfs_write_50857 carl9170_debugfs_write 3 50857 NULL
-+iwm_rx_packet_alloc_9898 iwm_rx_packet_alloc 3 9898 NULL
-+i2o_parm_field_get_34477 i2o_parm_field_get 5 34477 NULL
-+coda_psdev_write_1711 coda_psdev_write 3 1711 NULL
++snd_gf1_pcm_playback_copy_9895 snd_gf1_pcm_playback_copy 3-5 9895 NULL
+receive_DataRequest_9904 receive_DataRequest 3 9904 NULL
-+wl1271_rx_handle_data_1714 wl1271_rx_handle_data 3 1714 NULL
-+max3107_handlerx_58978 max3107_handlerx 2 58978 NULL
-+udf_alloc_i_data_35786 udf_alloc_i_data 2 35786 NULL
-+netlink_kernel_create_18110 netlink_kernel_create 3 18110 NULL
-+dfs_file_read_18116 dfs_file_read 3 18116 NULL
-+request_key_and_link_42693 request_key_and_link 4 42693 NULL
-+iwl_legacy_dbgfs_chain_noise_read_31692 iwl_legacy_dbgfs_chain_noise_read 3 31692 NULL
-+tled_proc_write_26315 tled_proc_write 3 26315 NULL
-+vb2_read_42703 vb2_read 3 42703 NULL
-+pwr_wake_on_host_read_26321 pwr_wake_on_host_read 3 26321 NULL
-+irda_sendmsg_4388 irda_sendmsg 4 4388 NULL
+read_file_misc_9948 read_file_misc 3 9948 NULL
-+xfs_iext_remove_50909 xfs_iext_remove 3 50909 NULL
-+set_rxd_buffer_pointer_9950 set_rxd_buffer_pointer 8 9950 NULL
-+tcp_sacktag_walk_26339 tcp_sacktag_walk 5-6 26339 NULL
-+alloc_buf_34532 alloc_buf 1 34532 NULL
++ext2_new_blocks_9954 ext2_new_blocks 2 9954 NULL
+csum_partial_copy_fromiovecend_9957 csum_partial_copy_fromiovecend 3-4 9957 NULL
-+tracing_stats_read_34537 tracing_stats_read 3 34537 NULL
-+hash_recvmsg_50924 hash_recvmsg 4 50924 NULL
-+dvb_demux_ioctl_42733 dvb_demux_ioctl 2 42733 NULL
-+chd_dec_fetch_cdata_50926 chd_dec_fetch_cdata 3 50926 NULL
-+set_aoe_iflist_42737 set_aoe_iflist 2 42737 NULL
-+hugetlbfs_read_actor_34547 hugetlbfs_read_actor 2-5-4 34547 NULL
-+ax25_setsockopt_42740 ax25_setsockopt 5 42740 NULL
+btrfs_add_link_9973 btrfs_add_link 5 9973 NULL
-+stats_dot11RTSSuccessCount_read_33065 stats_dot11RTSSuccessCount_read 3 33065 NULL
-+dup_to_netobj_26363 dup_to_netobj 3 26363 NULL
-+sock_bindtodevice_50942 sock_bindtodevice 3 50942 NULL
-+pccard_store_cis_18176 pccard_store_cis 6 18176 NULL
-+cryptd_alloc_instance_18048 cryptd_alloc_instance 2-3 18048 NULL
-+alloc_ieee80211_rsl_34564 alloc_ieee80211_rsl 1 34564 NULL
-+mld_newpack_50950 mld_newpack 2 50950 NULL
-+asn1_octets_decode_9991 asn1_octets_decode 2 9991 NULL
-+framebuffer_alloc_59145 framebuffer_alloc 1 59145 NULL
-+radeon_compat_ioctl_59150 radeon_compat_ioctl 2 59150 NULL
-+qla2x00_get_ctx_bsg_sp_42768 qla2x00_get_ctx_bsg_sp 3 42768 NULL
-+cfpkt_create_18197 cfpkt_create 1 18197 NULL
-+velocity_rx_copy_34583 velocity_rx_copy 2 34583 NULL
++nfs_readdata_alloc_9990 nfs_readdata_alloc 1 9990 NULL
+kovaplus_send_10009 kovaplus_send 4 10009 NULL
-+init_send_hfcd_34586 init_send_hfcd 1 34586 NULL
-+proc_pid_readlink_52186 proc_pid_readlink 3 52186 NULL
-+orinoco_add_extscan_result_18207 orinoco_add_extscan_result 3 18207 NULL
-+gsm_control_message_18209 gsm_control_message 4 18209 NULL
-+do_ipv6_setsockopt_18215 do_ipv6_setsockopt 5 18215 NULL
-+koneplus_sysfs_read_42792 koneplus_sysfs_read 6 42792 NULL
-+setup_window_59178 setup_window 7-5-4-2 59178 NULL
-+timeout_write_50991 timeout_write 3 50991 NULL
-+koneplus_send_18226 koneplus_send 4 18226 NULL
-+iwl_legacy_dbgfs_sram_read_26419 iwl_legacy_dbgfs_sram_read 3 26419 NULL
-+fw_device_op_compat_ioctl_42804 fw_device_op_compat_ioctl 2 42804 NULL
-+sctp_getsockopt_peeloff_59190 sctp_getsockopt_peeloff 2 59190 NULL
-+proc_write_51003 proc_write 3 51003 NULL
-+drm_ioctl_42813 drm_ioctl 2 42813 NULL
-+gnttab_alloc_grant_references_18240 gnttab_alloc_grant_references 1 18240 NULL
-+iwl_dbgfs_ucode_bt_stats_read_42820 iwl_dbgfs_ucode_bt_stats_read 3 42820 NULL
-+set_arg_42824 set_arg 3 42824 NULL
-+xfs_iext_realloc_indirect_59211 xfs_iext_realloc_indirect 2 59211 NULL
-+fast_rx_path_59214 fast_rx_path 3 59214 NULL
-+lbs_dev_info_51023 lbs_dev_info 3 51023 NULL
-+cnic_alloc_dma_34641 cnic_alloc_dma 3 34641 NULL
-+fuse_conn_congestion_threshold_read_51028 fuse_conn_congestion_threshold_read 3 51028 NULL
-+pstore_mkfile_50830 pstore_mkfile 5 50830 NULL
-+qdisc_class_hash_alloc_18262 qdisc_class_hash_alloc 1 18262 NULL
-+hidp_queue_report_1881 hidp_queue_report 3 1881 NULL
-+dt3155_read_59226 dt3155_read 3 59226 NULL
-+iwl_dbgfs_tx_statistics_read_314 iwl_dbgfs_tx_statistics_read 3 314 NULL nohasharray
-+dn_setsockopt_314 dn_setsockopt 5 314 &iwl_dbgfs_tx_statistics_read_314
-+dump_midi_51040 dump_midi 3 51040 NULL
-+gfs2_alloc_sort_buffer_18275 gfs2_alloc_sort_buffer 1 18275 NULL
-+skb_copy_datagram_const_iovec_48102 skb_copy_datagram_const_iovec 2-5-4 48102 NULL
-+iwl_legacy_dbgfs_rxon_flags_read_1894 iwl_legacy_dbgfs_rxon_flags_read 3 1894 NULL
-+tty_prepare_flip_string_flags_59240 tty_prepare_flip_string_flags 4 59240 NULL
-+cxacru_cm_get_array_4412 cxacru_cm_get_array 4 4412 NULL
-+mmc_send_bus_test_18285 mmc_send_bus_test 4 18285 NULL
-+em28xx_v4l2_read_16701 em28xx_v4l2_read 3 16701 NULL
-+configfs_read_file_1683 configfs_read_file 3 1683 NULL
-+um_idi_write_18293 um_idi_write 3 18293 NULL
-+wusb_prf_64_51065 wusb_prf_64 7 51065 NULL
-+dvb_ca_en50221_io_ioctl_26490 dvb_ca_en50221_io_ioctl 2 26490 NULL
-+libfc_vport_create_4415 libfc_vport_create 2 4415 NULL
-+isr_fiqs_read_34687 isr_fiqs_read 3 34687 NULL
-+pskb_expand_head_42881 pskb_expand_head 2-3 42881 NULL
-+ip6ip6_err_18308 ip6ip6_err 5 18308 NULL
-+read_vmcore_26501 read_vmcore 3 26501 NULL
-+garp_attr_create_3883 garp_attr_create 3 3883 NULL
-+tipc_port_recv_sections_42890 tipc_port_recv_sections 4 42890 NULL
-+xpc_kmalloc_cacheline_aligned_42895 xpc_kmalloc_cacheline_aligned 1 42895 NULL
-+jbd2_journal_init_revoke_51088 jbd2_journal_init_revoke 2 51088 NULL
-+ecryptfs_send_message_18322 ecryptfs_send_message 2 18322 NULL
-+alloc_context_41283 alloc_context 1 41283 NULL
-+SendTxCommandPacket_42901 SendTxCommandPacket 3 42901 NULL
-+qcam_read_13977 qcam_read 3 13977 NULL
-+btmrvl_hscfgcmd_read_56303 btmrvl_hscfgcmd_read 3 56303 NULL
-+read_file_wiphy_51103 read_file_wiphy 3 51103 NULL
-+ieee80211_if_read_num_sta_ps_34722 ieee80211_if_read_num_sta_ps 3 34722 NULL
-+alloc_ring_15345 alloc_ring 2-4 15345 NULL
-+btrfs_insert_dir_item_59304 btrfs_insert_dir_item 4 59304 NULL
++aat2870_dump_reg_10019 aat2870_dump_reg 0 10019 NULL
++handle_request_10024 handle_request 9 10024 NULL
++rbd_coll_end_req_index_10041 rbd_coll_end_req_index 5 10041 NULL
++ufs_bitmap_search_10105 ufs_bitmap_search 0-3 10105 NULL
++get_elem_size_10110 get_elem_size 0-2 10110 NULL
++gfs2_meta_read_10112 gfs2_meta_read 0 10112 NULL
++offset_to_bit_10134 offset_to_bit 0 10134 NULL
++au_sbr_realloc_10150 au_sbr_realloc 2 10150 NULL
+aes_decrypt_packets_read_10155 aes_decrypt_packets_read 3 10155 NULL
-+rds_message_inc_copy_to_user_26540 rds_message_inc_copy_to_user 3 26540 NULL
+rx_out_of_mem_read_10157 rx_out_of_mem_read 3 10157 NULL
-+platform_list_read_file_34734 platform_list_read_file 3 34734 NULL
-+dvb_demux_read_13981 dvb_demux_read 3 13981 NULL
-+reg_w_ixbuf_34736 reg_w_ixbuf 4 34736 NULL
-+sctp_make_datafrag_empty_34737 sctp_make_datafrag_empty 3 34737 NULL
-+pwr_power_save_off_read_18355 pwr_power_save_off_read 3 18355 NULL
++ol_chunk_entries_10159 ol_chunk_entries 0 10159 NULL
+asd_store_update_bios_10165 asd_store_update_bios 4 10165 NULL
-+store_iwmct_log_level_fw_1974 store_iwmct_log_level_fw 4 1974 NULL
-+kstrtol_from_user_10168 kstrtol_from_user 2 10168 NULL
-+__vhost_add_used_n_26554 __vhost_add_used_n 3 26554 NULL
-+fd_copyout_59323 fd_copyout 3 59323 NULL
-+nfs_map_name_to_uid_51132 nfs_map_name_to_uid 3 51132 NULL
-+xlbd_reserve_minors_18365 xlbd_reserve_minors 1-2 18365 NULL
-+read_9287_modal_eeprom_59327 read_9287_modal_eeprom 3 59327 NULL
-+sel_read_avc_hash_stats_1984 sel_read_avc_hash_stats 3 1984 NULL
-+solos_param_store_34755 solos_param_store 4 34755 NULL
-+wl1271_cmd_build_probe_req_51141 wl1271_cmd_build_probe_req 3-5 51141 NULL
++proc_pid_attr_read_10173 proc_pid_attr_read 3 10173 NULL
+jffs2_user_setxattr_10182 jffs2_user_setxattr 4 10182 NULL
-+gpio_power_write_1991 gpio_power_write 3 1991 NULL
-+__alloc_bootmem_node_1992 __alloc_bootmem_node 2 1992 NULL
-+xfs_trans_get_efd_51148 xfs_trans_get_efd 3 51148 NULL
-+rts51x_read_mem_26577 rts51x_read_mem 4 26577 NULL
-+sys_sethostname_42962 sys_sethostname 2 42962 NULL
-+set_registers_53582 set_registers 3 53582 NULL
-+qib_cdev_init_34778 qib_cdev_init 1 34778 NULL
-+add_new_gdb_27643 add_new_gdb 3 27643 NULL
-+write_flush_pipefs_2021 write_flush_pipefs 3 2021 NULL
-+__copy_in_user_34790 __copy_in_user 3 34790 NULL
-+crystalhd_user_data_18407 crystalhd_user_data 3 18407 NULL
-+ieee80211_bss_info_update_13991 ieee80211_bss_info_update 4 13991 NULL
-+nfs_idmap_get_desc_42990 nfs_idmap_get_desc 2-4 42990 NULL
-+tipc_log_resize_34803 tipc_log_resize 1 34803 NULL
-+devm_ioremap_nocache_2036 devm_ioremap_nocache 2-3 2036 NULL
-+line6_dumpreq_init_34473 line6_dumpreq_init 3 34473 NULL
-+ath6kl_fwlog_mask_read_2050 ath6kl_fwlog_mask_read 3 2050 NULL
-+pwr_fix_tsf_ps_read_26627 pwr_fix_tsf_ps_read 3 26627 NULL
-+pm8001_store_update_fw_55716 pm8001_store_update_fw 4 55716 NULL
-+sctp_getsockopt_fragment_interleave_51215 sctp_getsockopt_fragment_interleave 2 51215 NULL
-+sep_prepare_input_dma_table_34832 sep_prepare_input_dma_table 2-3 34832 NULL
-+isr_rx_mem_overflow_read_43025 isr_rx_mem_overflow_read 3 43025 NULL
++do_ioctl_trans_10194 do_ioctl_trans 3 10194 NULL
+cciss_proc_write_10259 cciss_proc_write 3 10259 NULL
-+hest_ghes_dev_register_46766 hest_ghes_dev_register 1 46766 NULL
-+b43_debugfs_write_34838 b43_debugfs_write 3 34838 NULL
-+subbuf_read_actor_2071 subbuf_read_actor 3 2071 NULL
-+hugetlbfs_read_11268 hugetlbfs_read 3 11268 NULL
-+irq_alloc_generic_chip_26650 irq_alloc_generic_chip 2 26650 NULL
-+regset_tls_set_18459 regset_tls_set 4 18459 NULL
-+uapsd_queues_write_43040 uapsd_queues_write 3 43040 NULL
-+iwl_dbgfs_current_sleep_command_read_2081 iwl_dbgfs_current_sleep_command_read 3 2081 NULL
-+erst_dbg_write_46715 erst_dbg_write 3 46715 NULL
-+acpi_system_write_wakeup_device_34853 acpi_system_write_wakeup_device 3 34853 NULL
-+tipc_send_51238 tipc_send 4 51238 NULL
-+drm_property_create_51239 drm_property_create 4 51239 NULL
+snd_rme9652_capture_copy_10287 snd_rme9652_capture_copy 5 10287 NULL
-+squashfs_read_data_59440 squashfs_read_data 6 59440 NULL
-+idetape_chrdev_read_2097 idetape_chrdev_read 3 2097 NULL
-+audit_expand_2098 audit_expand 2 2098 NULL
-+st_read_51251 st_read 3 51251 NULL
-+dvb_demux_do_ioctl_34871 dvb_demux_do_ioctl 3 34871 NULL
-+sep_prepare_input_output_dma_table_in_dcb_43064 sep_prepare_input_output_dma_table_in_dcb 4-5-2-3 43064 NULL
-+iwl_dbgfs_log_event_read_2107 iwl_dbgfs_log_event_read 3 2107 NULL
-+ecryptfs_encrypt_and_encode_filename_2109 ecryptfs_encrypt_and_encode_filename 6 2109 NULL
-+__alloc_pred_stack_26687 __alloc_pred_stack 2 26687 NULL
-+journal_init_revoke_table_56331 journal_init_revoke_table 1 56331 NULL
-+enable_read_2117 enable_read 3 2117 NULL
+read_emulate_10310 read_emulate 2-4 10310 NULL
-+dvb_audio_write_51275 dvb_audio_write 3 51275 NULL
-+pcf50633_write_block_2124 pcf50633_write_block 3 2124 NULL
-+ipwireless_network_packet_received_51277 ipwireless_network_packet_received 4 51277 NULL
-+ieee80211_if_write_34894 ieee80211_if_write 3 34894 NULL
+ttm_object_device_init_10321 ttm_object_device_init 2 10321 NULL
-+pkt_add_39897 pkt_add 3 39897 NULL
-+ieee80211_if_read_rc_rateidx_mask_5ghz_27183 ieee80211_if_read_rc_rateidx_mask_5ghz 3 27183 NULL
-+uvc_alloc_entity_20836 uvc_alloc_entity 3-4 20836 NULL
-+snd_gus_dram_poke_18525 snd_gus_dram_poke 4 18525 NULL
-+check_load_and_stores_2143 check_load_and_stores 2 2143 NULL
-+cdrom_read_cdda_old_27664 cdrom_read_cdda_old 4 27664 NULL
-+mlx4_init_icm_table_2151 mlx4_init_icm_table 4-5 2151 NULL
-+regmap_access_read_file_37223 regmap_access_read_file 3 37223 NULL
++ubi_leb_read_10328 ubi_leb_read 0 10328 NULL
++tun_sendmsg_10337 tun_sendmsg 4 10337 NULL
+ufx_alloc_urb_list_10349 ufx_alloc_urb_list 3 10349 NULL
-+ib_copy_from_udata_59502 ib_copy_from_udata 3 59502 NULL
-+seq_copy_in_user_18543 seq_copy_in_user 3 18543 NULL
-+_ore_get_io_state_2166 _ore_get_io_state 3-5-4 2166 NULL
-+alloc_hippi_dev_51320 alloc_hippi_dev 1 51320 NULL
-+ms_write_multiple_pages_10362 ms_write_multiple_pages 5-6 10362 NULL
-+sas_change_queue_depth_18555 sas_change_queue_depth 2 18555 NULL
-+i2400m_rx_stats_read_57706 i2400m_rx_stats_read 3 57706 NULL
++dbAllocAny_10354 dbAllocAny 0 10354 NULL
++ms_write_multiple_pages_10362 ms_write_multiple_pages 6-5 10362 NULL
+sta_ht_capa_read_10366 sta_ht_capa_read 3 10366 NULL
-+mthca_buf_alloc_35861 mthca_buf_alloc 2 35861 NULL
-+alloc_fddidev_15382 alloc_fddidev 1 15382 NULL
-+srp_ring_alloc_26760 srp_ring_alloc 2 26760 NULL
-+alloc_smp_req_51337 alloc_smp_req 1 51337 NULL
+ecryptfs_decode_and_decrypt_filename_10379 ecryptfs_decode_and_decrypt_filename 5 10379 NULL
-+ntfs_malloc_nofs_nofail_63631 ntfs_malloc_nofs_nofail 1 63631 NULL
-+__proc_file_read_54978 __proc_file_read 3 54978 NULL
-+skb_gro_header_slow_34958 skb_gro_header_slow 2 34958 NULL
-+debug_output_18575 debug_output 3 18575 NULL
-+Realloc_34961 Realloc 2 34961 NULL
-+v9fs_file_readn_36353 v9fs_file_readn 4 36353 NULL nohasharray
-+xz_dec_lzma2_create_36353 xz_dec_lzma2_create 2 36353 &v9fs_file_readn_36353
+do_compat_pselect_10398 do_compat_pselect 1 10398 NULL
-+__netdev_alloc_skb_18595 __netdev_alloc_skb 2 18595 NULL
-+slabinfo_write_18600 slabinfo_write 3 18600 NULL
-+ssb_bus_ssbbus_register_2217 ssb_bus_ssbbus_register 2 2217 NULL
-+radeon_kms_compat_ioctl_51371 radeon_kms_compat_ioctl 2 51371 NULL
-+iowarrior_write_18604 iowarrior_write 3 18604 NULL
-+vhci_write_2224 vhci_write 3 2224 NULL
-+iscsi_recv_pdu_16755 iscsi_recv_pdu 4 16755 NULL
-+rb_alloc_3102 rb_alloc 1 3102 NULL
-+nfsd_cache_update_59574 nfsd_cache_update 3 59574 NULL
-+user_update_41332 user_update 3 41332 NULL
-+l2cap_skbuff_fromiovec_35003 l2cap_skbuff_fromiovec 3-4 35003 NULL
-+write_pbl_59583 write_pbl 4 59583 NULL
-+from_buffer_18625 from_buffer 3 18625 NULL
-+uio_write_43202 uio_write 3 43202 NULL
-+memdup_user_59590 memdup_user 2 59590 NULL
-+ieee80211_wx_set_gen_ie_51399 ieee80211_wx_set_gen_ie 3 51399 NULL
-+iso_callback_43208 iso_callback 3 43208 NULL
-+ieee80211_if_read_dot11MeshHWMPRannInterval_2249 ieee80211_if_read_dot11MeshHWMPRannInterval 3 2249 NULL
-+smk_write_load_26829 smk_write_load 3 26829 NULL
-+sel_write_avc_cache_threshold_2256 sel_write_avc_cache_threshold 3 2256 NULL
-+do_update_counters_2259 do_update_counters 4 2259 NULL
-+coda_psdev_read_35029 coda_psdev_read 3 35029 NULL
-+packet_sendmsg_24954 packet_sendmsg 4 24954 NULL
-+ecryptfs_miscdev_write_26847 ecryptfs_miscdev_write 3 26847 NULL
-+blk_register_region_51424 blk_register_region 1-2 51424 NULL
-+mwifiex_rdeeprom_read_51429 mwifiex_rdeeprom_read 3 51429 NULL
-+econet_sendmsg_51430 econet_sendmsg 4 51430 NULL
++mirror_status_10435 mirror_status 4 10435 NULL
+event_phy_transmit_error_read_10471 event_phy_transmit_error_read 3 10471 NULL
-+ip_vs_icmp_xmit_59624 ip_vs_icmp_xmit 4 59624 NULL
-+netxen_nic_hw_read_wx_128M_26858 netxen_nic_hw_read_wx_128M 2 26858 NULL
-+edge_tty_recv_18667 edge_tty_recv 4 18667 NULL nohasharray
-+xfs_iext_insert_18667 xfs_iext_insert 3 18667 &edge_tty_recv_18667
-+btmrvl_gpiogap_write_35053 btmrvl_gpiogap_write 3 35053 NULL
-+tty_buffer_alloc_45437 tty_buffer_alloc 2 45437 NULL
-+ieee80211_if_read_dot11MeshHWMPRootMode_51441 ieee80211_if_read_dot11MeshHWMPRootMode 3 51441 NULL
-+rfcomm_sock_recvmsg_22227 rfcomm_sock_recvmsg 4 22227 NULL
-+isr_dma0_done_read_8574 isr_dma0_done_read 3 8574 NULL
-+fixup_leb_43256 fixup_leb 3 43256 NULL
-+store_wwan_43264 store_wwan 4 43264 NULL
-+ubifs_setxattr_59650 ubifs_setxattr 4 59650 NULL nohasharray
-+hidraw_read_59650 hidraw_read 3 59650 &ubifs_setxattr_59650
-+kvm_clear_guest_page_2308 kvm_clear_guest_page 4 2308 NULL
+ca91cx42_alloc_resource_10502 ca91cx42_alloc_resource 2 10502 NULL
+qib_alloc_fast_reg_page_list_10507 qib_alloc_fast_reg_page_list 2 10507 NULL
-+virtqueue_add_buf_gfp_4662 virtqueue_add_buf_gfp 3-4 4662 NULL
-+evtchn_write_43278 evtchn_write 3 43278 NULL
-+sel_write_disable_10511 sel_write_disable 3 10511 NULL
-+store_ifalias_35088 store_ifalias 4 35088 NULL
-+setup_req_5848 setup_req 3 5848 NULL
++sel_write_disable_10511 sel_write_disable 3 10511 NULL nohasharray
++rbd_get_segment_10511 rbd_get_segment 0-3-4 10511 &sel_write_disable_10511
+osd_req_write_sg_kern_10514 osd_req_write_sg_kern 5 10514 NULL
-+____alloc_ei_netdev_51475 ____alloc_ei_netdev 1 51475 NULL
-+iwl_dbgfs_rx_handlers_read_18708 iwl_dbgfs_rx_handlers_read 3 18708 NULL
+rds_message_alloc_10517 rds_message_alloc 1 10517 NULL
-+ceph_alloc_page_vector_18710 ceph_alloc_page_vector 1 18710 NULL
-+blk_rq_map_user_iov_16772 blk_rq_map_user_iov 5 16772 NULL
++ocfs2_add_refcounted_extent_10526 ocfs2_add_refcounted_extent 6 10526 NULL
+get_vm_area_caller_10527 get_vm_area_caller 1 10527 NULL
-+capi_write_35104 capi_write 3 35104 NULL
-+alloc_subdevices_43300 alloc_subdevices 2 43300 NULL
-+ide_settings_proc_write_35110 ide_settings_proc_write 3 35110 NULL
-+dev_read_56369 dev_read 3 56369 NULL
-+kstrtouint_from_user_10536 kstrtouint_from_user 2 10536 NULL
-+sriov_enable_59689 sriov_enable 2 59689 NULL
-+create_subvol_2347 create_subvol 4 2347 NULL
-+x25_asy_change_mtu_26928 x25_asy_change_mtu 2 26928 NULL
-+zr364xx_read_2354 zr364xx_read 3 2354 NULL
-+ieee80211_mgmt_tx_59699 ieee80211_mgmt_tx 9 59699 NULL
-+mic_calc_failure_read_59700 mic_calc_failure_read 3 59700 NULL
-+scsi_tgt_copy_sense_26933 scsi_tgt_copy_sense 3 26933 NULL
-+pwr_ps_enter_read_26935 pwr_ps_enter_read 3 26935 NULL nohasharray
-+sctp_setsockopt_adaptation_layer_26935 sctp_setsockopt_adaptation_layer 3 26935 &pwr_ps_enter_read_26935
-+o2hb_debug_create_18744 o2hb_debug_create 4 18744 NULL
-+viafb_iga2_odev_proc_write_2363 viafb_iga2_odev_proc_write 3 2363 NULL
-+hecubafb_write_26942 hecubafb_write 3 26942 NULL
-+wep_packets_read_18751 wep_packets_read 3 18751 NULL
-+rose_recvmsg_2368 rose_recvmsg 4 2368 NULL
-+extract_entropy_user_26952 extract_entropy_user 3 26952 NULL
-+gntdev_alloc_map_35145 gntdev_alloc_map 2 35145 NULL
-+acpi_pre_map_51532 acpi_pre_map 1-2 51532 NULL
-+read_file_dump_nfcal_18766 read_file_dump_nfcal 3 18766 NULL
-+sctp_getsockopt_peer_addr_params_53645 sctp_getsockopt_peer_addr_params 2 53645 NULL
-+rtl_port_map_2385 rtl_port_map 1-2 2385 NULL
-+ffs_epfile_read_18775 ffs_epfile_read 3 18775 NULL
-+selinux_inode_setsecurity_18148 selinux_inode_setsecurity 4 18148 NULL
-+dvb_dvr_do_ioctl_43355 dvb_dvr_do_ioctl 3 43355 NULL
-+alloc_fcdev_18780 alloc_fcdev 1 18780 NULL
-+__alloc_eip_netdev_51549 __alloc_eip_netdev 1 51549 NULL
-+icn_writecmd_38629 icn_writecmd 2 38629 NULL
-+otp_read_10594 otp_read 2-5-4 10594 NULL
-+rxpipe_rx_prep_beacon_drop_read_2403 rxpipe_rx_prep_beacon_drop_read 3 2403 NULL
-+proc_pid_attr_read_10173 proc_pid_attr_read 3 10173 NULL
++snd_pcm_lib_read_10536 snd_pcm_lib_read 0-3 10536 NULL
++otp_read_10594 otp_read 2-4-5 10594 NULL
+supply_map_read_file_10608 supply_map_read_file 3 10608 NULL
-+isdn_v110_open_2418 isdn_v110_open 3 2418 NULL
-+long_retry_limit_read_59766 long_retry_limit_read 3 59766 NULL
-+ieee80211_auth_challenge_18810 ieee80211_auth_challenge 3 18810 NULL
+ima_show_htable_violations_10619 ima_show_htable_violations 3 10619 NULL
-+cxgb3_get_cpl_reply_skb_10620 cxgb3_get_cpl_reply_skb 2 10620 NULL
-+xfs_iroot_realloc_46826 xfs_iroot_realloc 2 46826 NULL
-+venus_remove_59781 venus_remove 4 59781 NULL
-+ioremap_nocache_2439 ioremap_nocache 1-2 2439 NULL
-+sys_modify_ldt_18824 sys_modify_ldt 3 18824 NULL
-+unix_stream_recvmsg_35210 unix_stream_recvmsg 4 35210 NULL
-+tty_buffer_find_2443 tty_buffer_find 2 2443 NULL
-+xlog_do_recover_59789 xlog_do_recover 3 59789 NULL
-+rfcomm_tty_write_51603 rfcomm_tty_write 3 51603 NULL
-+xenfb_write_43412 xenfb_write 3 43412 NULL
-+cosa_write_1774 cosa_write 3 1774 NULL
-+mtf_test_write_18844 mtf_test_write 3 18844 NULL
-+__alloc_bootmem_low_43423 __alloc_bootmem_low 1 43423 NULL
-+rtllib_wx_set_gen_ie_59808 rtllib_wx_set_gen_ie 3 59808 NULL
-+ubi_dbg_check_all_ff_59810 ubi_dbg_check_all_ff 4 59810 NULL
-+sisusb_send_packet_20891 sisusb_send_packet 2 20891 NULL
-+scsi_init_shared_tag_map_59812 scsi_init_shared_tag_map 2 59812 NULL
-+xlog_recover_add_to_cont_trans_44102 xlog_recover_add_to_cont_trans 4 44102 NULL
-+ni65_alloc_mem_10664 ni65_alloc_mem 3 10664 NULL
-+b43legacy_debugfs_read_2473 b43legacy_debugfs_read 3 2473 NULL
-+usb_alloc_urb_43436 usb_alloc_urb 1 43436 NULL
-+sctp_setsockopt_events_18862 sctp_setsockopt_events 3 18862 NULL
-+btmrvl_txdnldready_read_413 btmrvl_txdnldready_read 3 413 NULL
-+update_pmkid_2481 update_pmkid 4 2481 NULL
-+wiphy_new_2482 wiphy_new 2 2482 NULL
-+ieee80211_if_read_dot11MeshHWMPmaxPREQretries_59829 ieee80211_if_read_dot11MeshHWMPmaxPREQretries 3 59829 NULL
-+__videobuf_alloc_vb_27062 __videobuf_alloc_vb 1 27062 NULL
-+ioapic_setup_resources_35255 ioapic_setup_resources 1 35255 NULL
-+tcp_push_10680 tcp_push 3 10680 NULL
-+sctp_auth_create_key_51641 sctp_auth_create_key 1 51641 NULL
-+key_icverrors_read_20895 key_icverrors_read 3 20895 NULL
-+iscsi_create_session_51647 iscsi_create_session 3 51647 NULL
-+dma_show_regs_35266 dma_show_regs 3 35266 NULL
-+tun_put_user_59849 tun_put_user 4 59849 NULL
-+squashfs_read_fragment_index_table_2506 squashfs_read_fragment_index_table 4 2506 NULL
-+alloc_fdmem_27083 alloc_fdmem 1 27083 NULL
-+irda_recvmsg_stream_35280 irda_recvmsg_stream 4 35280 NULL
-+dm_write_2513 dm_write 3 2513 NULL
-+v9fs_cached_file_read_2514 v9fs_cached_file_read 3 2514 NULL
-+isr_rx_rdys_read_35283 isr_rx_rdys_read 3 35283 NULL
-+selinux_inode_setxattr_10708 selinux_inode_setxattr 4 10708 NULL
-+ps_upsd_utilization_read_51669 ps_upsd_utilization_read 3 51669 NULL
-+ntfs_malloc_nofs_49572 ntfs_malloc_nofs 1 49572 NULL
++nes_alloc_resource_10624 nes_alloc_resource 3 10624 NULL
++parport_write_10669 parport_write 0 10669 NULL
++inl_10708 inl 0 10708 NULL nohasharray
++selinux_inode_setxattr_10708 selinux_inode_setxattr 4 10708 &inl_10708
+pvr2_ioread_read_10720 pvr2_ioread_read 3 10720 NULL nohasharray
+shash_async_setkey_10720 shash_async_setkey 3 10720 &pvr2_ioread_read_10720
-+ceph_setxattr_18913 ceph_setxattr 4 18913 NULL
-+sctp_setsockopt_associnfo_51684 sctp_setsockopt_associnfo 3 51684 NULL
-+__iscsi_complete_pdu_10726 __iscsi_complete_pdu 4 10726 NULL
-+sfi_sysfs_install_table_51688 sfi_sysfs_install_table 1 51688 NULL
-+pvr2_ioread_set_sync_key_59882 pvr2_ioread_set_sync_key 3 59882 NULL
-+l2cap_sock_recvmsg_59886 l2cap_sock_recvmsg 4 59886 NULL
-+__btrfs_buffered_write_35311 __btrfs_buffered_write 3 35311 NULL
-+tracing_read_pipe_35312 tracing_read_pipe 3 35312 NULL
-+sctp_getsockopt_maxseg_10737 sctp_getsockopt_maxseg 2 10737 NULL
++spi_sync_10731 spi_sync 0 10731 NULL
++sctp_getsockopt_maxseg_10737 sctp_getsockopt_maxseg 2 10737 NULL nohasharray
++apu_get_register_10737 apu_get_register 0 10737 &sctp_getsockopt_maxseg_10737
+compat_sys_msgsnd_10738 compat_sys_msgsnd 2 10738 NULL
-+ffs_prepare_buffer_59892 ffs_prepare_buffer 2 59892 NULL
-+sel_write_access_51704 sel_write_access 3 51704 NULL
+alloc_one_pg_vec_page_10747 alloc_one_pg_vec_page 1 10747 NULL
-+new_bind_ctl_35324 new_bind_ctl 2 35324 NULL
-+do_readlink_43518 do_readlink 2 43518 NULL
-+gem_alloc_skb_51715 gem_alloc_skb 2 51715 NULL
-+fallback_on_nodma_alloc_35332 fallback_on_nodma_alloc 2 35332 NULL
-+a4t_cs_init_27734 a4t_cs_init 3 27734 NULL
-+pms_capture_27142 pms_capture 4 27142 NULL
-+btmrvl_hscfgcmd_write_27143 btmrvl_hscfgcmd_write 3 27143 NULL
+vhost_add_used_n_10760 vhost_add_used_n 3 10760 NULL
-+orig_hash_add_if_53676 orig_hash_add_if 2 53676 NULL
-+gspca_dev_probe_2570 gspca_dev_probe 4 2570 NULL
-+sg_read_oxfer_51724 sg_read_oxfer 3 51724 NULL
+kvm_read_guest_atomic_10765 kvm_read_guest_atomic 4 10765 NULL
-+cachefiles_daemon_write_43535 cachefiles_daemon_write 3 43535 NULL
-+store_pwm1_enable_2577 store_pwm1_enable 4 2577 NULL
-+hpi_alloc_control_cache_35351 hpi_alloc_control_cache 1 35351 NULL
-+hid_parse_report_51737 hid_parse_report 3 51737 NULL
-+compat_filldir64_35354 compat_filldir64 3 35354 NULL
-+alc_auto_create_extra_outs_18975 alc_auto_create_extra_outs 2 18975 NULL
-+i2400m_net_rx_27170 i2400m_net_rx 5 27170 NULL
-+nfs_readdata_alloc_9990 nfs_readdata_alloc 1 9990 NULL
-+ifx_spi_insert_flip_string_51752 ifx_spi_insert_flip_string 3 51752 NULL
-+_send_control_msg_43564 _send_control_msg 6 43564 NULL nohasharray
-+ath_rx_init_43564 ath_rx_init 2 43564 &_send_control_msg_43564
-+dapm_widget_power_read_file_59950 dapm_widget_power_read_file 3 59950 NULL
++posix_acl_to_xattr_10767 posix_acl_to_xattr 0 10767 NULL
+sys_bind_10799 sys_bind 3 10799 NULL
-+_fc_frame_alloc_43568 _fc_frame_alloc 1 43568 NULL
-+ioremap_prot_51764 ioremap_prot 1-2 51764 NULL
-+rpc_malloc_43573 rpc_malloc 2 43573 NULL
-+dataflash_read_fact_otp_33204 dataflash_read_fact_otp 3-2 33204 NULL
-+smk_write_logging_2618 smk_write_logging 3 2618 NULL
-+aun_incoming_10814 aun_incoming 3 10814 NULL
-+set_local_name_6310 set_local_name 4 6310 NULL
-+drm_vblank_init_11362 drm_vblank_init 2 11362 NULL
-+iwl4965_ucode_general_stats_read_2639 iwl4965_ucode_general_stats_read 3 2639 NULL
-+send_command_10832 send_command 4 10832 NULL
-+lro_gen_skb_2644 lro_gen_skb 6 2644 NULL
-+osd_req_read_kern_59990 osd_req_read_kern 5 59990 NULL
++compat_put_int_10828 compat_put_int 1 10828 NULL
+lbs_sleepparams_read_10840 lbs_sleepparams_read 3 10840 NULL
-+__i2400mu_send_barker_23652 __i2400mu_send_barker 3 23652 NULL
-+proc_read_43614 proc_read 3 43614 NULL
-+dma_memcpy_pg_to_iovec_1725 dma_memcpy_pg_to_iovec 6 1725 NULL
-+revalidate_19043 revalidate 2 19043 NULL
-+drm_fb_helper_init_19044 drm_fb_helper_init 3-4 19044 NULL
-+prison_create_43623 prison_create 1 43623 NULL
-+rawsock_sendmsg_60010 rawsock_sendmsg 4 60010 NULL
-+qib_alloc_devdata_51819 qib_alloc_devdata 2 51819 NULL
-+buffer_to_user_35439 buffer_to_user 3 35439 NULL
-+ffs_ep0_read_2672 ffs_ep0_read 3 2672 NULL
-+vmalloc_15464 vmalloc 1 15464 NULL
-+buffer_from_user_51826 buffer_from_user 3 51826 NULL
-+do_kimage_alloc_64827 do_kimage_alloc 3 64827 NULL
++ida_get_new_above_10853 ida_get_new_above 2 10853 NULL
++fuse_conn_max_background_read_10855 fuse_conn_max_background_read 3 10855 NULL
++ol_chunk_blocks_10864 ol_chunk_blocks 0 10864 NULL
+snd_pcm_oss_write1_10872 snd_pcm_oss_write1 3 10872 NULL
-+ieee80211_key_alloc_19065 ieee80211_key_alloc 3 19065 NULL
-+mled_proc_write_16831 mled_proc_write 3 16831 NULL nohasharray
-+drm_malloc_ab_16831 drm_malloc_ab 1-2 16831 &mled_proc_write_16831
-+cfpkt_add_trail_27260 cfpkt_add_trail 3 27260 NULL
-+xlog_bread_offset_60030 xlog_bread_offset 3 60030 NULL
-+sys_sched_getaffinity_60033 sys_sched_getaffinity 2 60033 NULL
-+read_file_tgt_tx_stats_51847 read_file_tgt_tx_stats 3 51847 NULL
-+do_ip6t_set_ctl_60040 do_ip6t_set_ctl 4 60040 NULL
-+do_readv_writev_51849 do_readv_writev 4 51849 NULL
-+adu_write_30487 adu_write 3 30487 NULL
-+ieee80211_if_read_tkip_mic_test_19565 ieee80211_if_read_tkip_mic_test 3 19565 NULL
+get_scq_10897 get_scq 2 10897 NULL
-+sys_process_vm_readv_19090 sys_process_vm_readv 3-5 19090 NULL
-+memcpy_fromiovecend_2707 memcpy_fromiovecend 3-4 2707 NULL
+cgroup_write_string_10900 cgroup_write_string 5 10900 NULL
-+x25_recvmsg_42777 x25_recvmsg 4 42777 NULL
-+load_module_60056 load_module 2 60056 NULL nohasharray
-+gru_alloc_gts_60056 gru_alloc_gts 2-3 60056 &load_module_60056
-+get_indirect_ea_51869 get_indirect_ea 4 51869 NULL
-+compat_writev_60063 compat_writev 3 60063 NULL
-+nfsd_read_19568 nfsd_read 5 19568 NULL
-+sta_last_seq_ctrl_read_19106 sta_last_seq_ctrl_read 3 19106 NULL
-+iscsit_dump_data_payload_38683 iscsit_dump_data_payload 2 38683 NULL
-+cifs_readv_from_socket_19109 cifs_readv_from_socket 3 19109 NULL
++tifm_alloc_adapter_10903 tifm_alloc_adapter 1 10903 NULL
+__copy_from_user_10918 __copy_from_user 3 10918 NULL
-+user_read_51881 user_read 3 51881 NULL
-+copy_from_buf_27308 copy_from_buf 4-2 27308 NULL
-+__xip_file_write_2733 __xip_file_write 3-4 2733 NULL
-+cryptd_hash_setkey_42781 cryptd_hash_setkey 3 42781 NULL
-+ath6kl_wmi_test_cmd_27312 ath6kl_wmi_test_cmd 3 27312 NULL
-+dtim_interval_write_30489 dtim_interval_write 3 30489 NULL
-+rxrpc_kernel_send_data_60083 rxrpc_kernel_send_data 3 60083 NULL
-+hidp_send_ctrl_message_43702 hidp_send_ctrl_message 4 43702 NULL
-+check_mirror_57342 check_mirror 1-2 57342 NULL nohasharray
-+usblp_read_57342 usblp_read 3 57342 &check_mirror_57342
-+user_confirm_reply_43708 user_confirm_reply 4 43708 NULL
+iwl_calib_set_10944 iwl_calib_set 3 10944 NULL
-+async_setkey_35521 async_setkey 3 35521 NULL
-+send_msg_37323 send_msg 4 37323 NULL
-+alloc_irdadev_19140 alloc_irdadev 1 19140 NULL
-+compat_sys_keyctl_9639 compat_sys_keyctl 4 9639 NULL
-+hid_report_raw_event_2762 hid_report_raw_event 4 2762 NULL
-+iwl_dbgfs_bt_traffic_read_35534 iwl_dbgfs_bt_traffic_read 3 35534 NULL
-+rxpipe_tx_xfr_host_int_trig_rx_data_read_35538 rxpipe_tx_xfr_host_int_trig_rx_data_read 3 35538 NULL
-+mon_bin_ioctl_2771 mon_bin_ioctl 3 2771 NULL
-+snd_rme32_playback_copy_43732 snd_rme32_playback_copy 5 43732 NULL
-+ttm_bo_kmap_60118 ttm_bo_kmap 2-3 60118 NULL
-+fuse_conn_congestion_threshold_write_43736 fuse_conn_congestion_threshold_write 3 43736 NULL
-+alloc_context_3194 alloc_context 1 3194 NULL
-+ieee80211_if_write_smps_35550 ieee80211_if_write_smps 3 35550 NULL
+bm_entry_read_10976 bm_entry_read 3 10976 NULL
-+pcbit_stat_27364 pcbit_stat 2 27364 NULL
+sched_autogroup_write_10984 sched_autogroup_write 3 10984 NULL
-+gigaset_initcs_43753 gigaset_initcs 2 43753 NULL
-+sctp_setsockopt_active_key_43755 sctp_setsockopt_active_key 3 43755 NULL
-+scsi_get_vpd_page_51951 scsi_get_vpd_page 4 51951 NULL
-+handle_request_10024 handle_request 9 10024 NULL
+xfrm_hash_alloc_10997 xfrm_hash_alloc 1 10997 NULL
-+ab8500_bank_write_51960 ab8500_bank_write 3 51960 NULL
-+ath6kl_tm_rx_report_event_8660 ath6kl_tm_rx_report_event 3 8660 NULL
-+init_state_60165 init_state 2 60165 NULL
-+vmw_unlocked_ioctl_19212 vmw_unlocked_ioctl 2 19212 NULL
-+__copy_to_user_inatomic_19214 __copy_to_user_inatomic 3 19214 NULL
-+dev_counters_read_19216 dev_counters_read 3 19216 NULL
-+ath6kl_sdio_alloc_prep_scat_req_51986 ath6kl_sdio_alloc_prep_scat_req 2 51986 NULL
-+sg_build_sgat_60179 sg_build_sgat 3 60179 NULL nohasharray
-+jffs2_alloc_full_dirent_60179 jffs2_alloc_full_dirent 1 60179 &sg_build_sgat_60179
-+ieee80211_if_read_smps_27416 ieee80211_if_read_smps 3 27416 NULL
-+btrfs_copy_from_user_43806 btrfs_copy_from_user 3-1 43806 NULL
-+kernel_readv_35617 kernel_readv 3 35617 NULL
-+hci_send_cmd_43810 hci_send_cmd 3 43810 NULL
-+reshape_ring_29147 reshape_ring 2 29147 NULL
-+ceph_buffer_new_35974 ceph_buffer_new 1 35974 NULL
++mb_find_next_bit_11037 mb_find_next_bit 2-3-0 11037 NULL
+tda10048_writeregbulk_11050 tda10048_writeregbulk 4 11050 NULL
-+skb_copy_datagram_from_iovec_52014 skb_copy_datagram_from_iovec 2-5-4 52014 NULL
-+carl9170_handle_mpdu_11056 carl9170_handle_mpdu 3 11056 NULL
-+store_iwmct_log_level_60209 store_iwmct_log_level 4 60209 NULL
-+move_addr_to_user_2868 move_addr_to_user 2 2868 NULL
-+ieee80211_alloc_hw_43829 ieee80211_alloc_hw 1 43829 NULL
-+vxge_rx_alloc_52024 vxge_rx_alloc 3 52024 NULL
-+override_release_52032 override_release 2 52032 NULL
-+p54_download_eeprom_43842 p54_download_eeprom 4 43842 NULL
-+sys_fcntl_19267 sys_fcntl 3 19267 NULL
-+store_debug_level_35652 store_debug_level 3 35652 NULL
-+filldir64_46469 filldir64 3 46469 NULL
-+read_flush_43851 read_flush 3 43851 NULL
-+dma_rx_errors_read_52045 dma_rx_errors_read 3 52045 NULL
-+cmm_write_2896 cmm_write 3 2896 NULL
-+io_mapping_map_wc_19284 io_mapping_map_wc 2 19284 NULL
-+compat_sys_kexec_load_35674 compat_sys_kexec_load 2 35674 NULL
-+rtsx_write_cfg_seq_27485 rtsx_write_cfg_seq 3-5 27485 NULL
-+compat_sys_fcntl64_60256 compat_sys_fcntl64 3 60256 NULL
-+qc_capture_19298 qc_capture 3 19298 NULL
-+lbs_bcnmiss_read_8678 lbs_bcnmiss_read 3 8678 NULL
-+alloc_page_cgroup_2919 alloc_page_cgroup 1 2919 NULL
-+qib_create_cq_27497 qib_create_cq 2 27497 NULL
-+rds_page_copy_user_35691 rds_page_copy_user 4 35691 NULL
++tcp_send_mss_11079 tcp_send_mss 0 11079 NULL
++count_argc_11083 count_argc 0 11083 NULL
++kvm_write_guest_cached_11106 kvm_write_guest_cached 4 11106 NULL
+tw_change_queue_depth_11116 tw_change_queue_depth 2 11116 NULL
-+idmap_update_entry_43885 idmap_update_entry 3 43885 NULL
-+str_to_user_11411 str_to_user 2 11411 NULL
++page_offset_11120 page_offset 0 11120 NULL
+tracing_buffers_read_11124 tracing_buffers_read 3 11124 NULL
-+garmin_read_process_27509 garmin_read_process 3 27509 NULL
+alloc_alien_cache_11127 alloc_alien_cache 2 11127 NULL
-+nsm_get_handle_52089 nsm_get_handle 4 52089 NULL
-+debug_read_19322 debug_read 3 19322 NULL
-+snd_rme9652_playback_copy_20970 snd_rme9652_playback_copy 5 20970 NULL
-+__pskb_pull_tail_60287 __pskb_pull_tail 2 60287 NULL
-+gs_buf_alloc_25067 gs_buf_alloc 2 25067 NULL
-+cfg80211_inform_bss_19332 cfg80211_inform_bss 8 19332 NULL
-+ib_copy_to_udata_27525 ib_copy_to_udata 3 27525 NULL
-+dn_nsp_return_disc_60296 dn_nsp_return_disc 2 60296 NULL
-+o2net_debug_read_52105 o2net_debug_read 3 52105 NULL
-+prism2_sta_send_mgmt_43916 prism2_sta_send_mgmt 5 43916 NULL
-+rxpipe_beacon_buffer_thres_host_int_trig_rx_data_read_55106 rxpipe_beacon_buffer_thres_host_int_trig_rx_data_read 3 55106 NULL
-+snd_seq_oss_readq_new_14283 snd_seq_oss_readq_new 2 14283 NULL
-+ppp_cp_event_2965 ppp_cp_event 6 2965 NULL
+acpi_os_map_memory_11161 acpi_os_map_memory 1-2 11161 NULL
-+ceph_parse_server_name_60318 ceph_parse_server_name 2 60318 NULL
-+v4l2_ctrl_new_38725 v4l2_ctrl_new 7 38725 NULL
-+retry_count_read_52129 retry_count_read 3 52129 NULL
-+ioat2_alloc_ring_11172 ioat2_alloc_ring 2 11172 NULL
-+read_zero_19366 read_zero 3 19366 NULL
-+bch_alloc_4593 bch_alloc 1 4593 NULL
-+stats_dot11RTSFailureCount_read_43948 stats_dot11RTSFailureCount_read 3 43948 NULL
-+hysdn_conf_write_52145 hysdn_conf_write 3 52145 NULL
-+iwl_legacy_dbgfs_disable_ht40_read_40910 iwl_legacy_dbgfs_disable_ht40_read 3 40910 NULL
-+xd_read_multiple_pages_11422 xd_read_multiple_pages 4-5 11422 NULL
-+__kfifo_from_user_r_60345 __kfifo_from_user_r 3 60345 NULL
-+brcmf_alloc_wdev_60347 brcmf_alloc_wdev 1 60347 NULL
-+interpret_user_input_19393 interpret_user_input 2 19393 NULL
-+sel_read_enforce_2828 sel_read_enforce 3 2828 NULL
-+handle_eviocgbit_44193 handle_eviocgbit 3 44193 NULL
-+ieee80211_if_read_dot11MeshRetryTimeout_52168 ieee80211_if_read_dot11MeshRetryTimeout 3 52168 NULL
-+mga_compat_ioctl_52170 mga_compat_ioctl 2 52170 NULL
-+depth_write_3021 depth_write 3 3021 NULL
-+dccp_setsockopt_60367 dccp_setsockopt 5 60367 NULL
-+store_fan1_input_35793 store_fan1_input 4 35793 NULL
-+read_file_stations_35795 read_file_stations 3 35795 NULL
-+rfcomm_sock_setsockopt_18254 rfcomm_sock_setsockopt 5 18254 NULL
-+tipc_cfg_reply_alloc_27606 tipc_cfg_reply_alloc 1 27606 NULL
-+bcm_recvmsg_43992 bcm_recvmsg 4 43992 NULL
-+xfrm_dst_alloc_copy_3034 xfrm_dst_alloc_copy 3 3034 NULL
-+iwl_dbgfs_sleep_level_override_read_3038 iwl_dbgfs_sleep_level_override_read 3 3038 NULL
-+dvbdmx_write_19423 dvbdmx_write 3 19423 NULL
-+iwl4965_rs_sta_dbgfs_rate_scale_data_read_27619 iwl4965_rs_sta_dbgfs_rate_scale_data_read 3 27619 NULL
-+mthca_alloc_resize_buf_60394 mthca_alloc_resize_buf 3 60394 NULL
-+write_flush_procfs_44011 write_flush_procfs 3 44011 NULL
-+driver_names_read_60399 driver_names_read 3 60399 NULL
-+read_flush_procfs_27642 read_flush_procfs 3 27642 NULL
-+iscsi_if_send_reply_52219 iscsi_if_send_reply 7 52219 NULL
-+dac960_user_command_proc_write_3071 dac960_user_command_proc_write 3 3071 NULL
-+simple_alloc_urb_60420 simple_alloc_urb 3 60420 NULL
++ioat2_alloc_ring_11172 ioat2_alloc_ring 2 11172 NULL nohasharray
++snd_gf1_pcm_playback_silence_11172 snd_gf1_pcm_playback_silence 3-4 11172 &ioat2_alloc_ring_11172
++hugetlbfs_read_11268 hugetlbfs_read 3 11268 NULL
+cru_detect_11272 cru_detect 1 11272 NULL
-+excessive_retries_read_60425 excessive_retries_read 3 60425 NULL
-+ieee80211_build_probe_req_27660 ieee80211_build_probe_req 7-5 27660 NULL
-+tstats_write_60432 tstats_write 3 60432 NULL nohasharray
-+kmalloc_60432 kmalloc 1 60432 &tstats_write_60432
-+do_dmabuf_dirty_ldu_52241 do_dmabuf_dirty_ldu 6 52241 NULL
-+refill_pool_19477 refill_pool 2 19477 NULL
-+rx_data_60442 rx_data 4 60442 NULL
-+efivar_create_sysfs_entry_19485 efivar_create_sysfs_entry 2 19485 NULL
-+tcf_csum_ipv4_igmp_60446 tcf_csum_ipv4_igmp 3 60446 NULL
-+rtsx_read_cfg_seq_48139 rtsx_read_cfg_seq 3-5 48139 NULL
-+iwm_ntf_rx_packet_60452 iwm_ntf_rx_packet 3 60452 NULL
-+rt2x00debug_write_csr_64753 rt2x00debug_write_csr 3 64753 NULL
-+kstrtoll_from_user_19500 kstrtoll_from_user 2 19500 NULL
-+sisusbcon_do_font_op_52271 sisusbcon_do_font_op 9 52271 NULL
-+simple_write_to_buffer_3122 simple_write_to_buffer 2-5 3122 NULL
-+uwb_rc_cmd_done_35892 uwb_rc_cmd_done 4 35892 NULL
-+l2cap_sar_segment_sdu_27701 l2cap_sar_segment_sdu 3 27701 NULL
-+v4l2_event_subscribe_19510 v4l2_event_subscribe 3 19510 NULL
-+tcp_mark_head_lost_35895 tcp_mark_head_lost 2 35895 NULL
-+smk_write_load_list_52280 smk_write_load_list 3 52280 NULL
-+skb_realloc_headroom_19516 skb_realloc_headroom 2 19516 NULL
-+atm_alloc_charge_19517 atm_alloc_charge 2 19517 NULL nohasharray
-+dev_alloc_skb_19517 dev_alloc_skb 1 19517 &atm_alloc_charge_19517
-+construct_key_11329 construct_key 3 11329 NULL
-+evm_write_key_27715 evm_write_key 3 27715 NULL
-+fill_write_buffer_3142 fill_write_buffer 3 3142 NULL
-+filldir_55137 filldir 3 55137 NULL
-+igmpv3_newpack_35912 igmpv3_newpack 2 35912 NULL
-+kernel_setsockopt_35913 kernel_setsockopt 5 35913 NULL
-+pstore_write_27724 pstore_write 3 27724 NULL nohasharray
-+reg_w_buf_27724 reg_w_buf 3 27724 &pstore_write_27724
-+dccp_listen_start_35918 dccp_listen_start 2 35918 NULL
-+ath6kl_wmi_get_new_buf_52304 ath6kl_wmi_get_new_buf 1 52304 NULL
-+compat_sys_migrate_pages_3157 compat_sys_migrate_pages 2 3157 NULL
++ext4_xattr_check_names_11314 ext4_xattr_check_names 0 11314 NULL
++construct_key_11329 construct_key 3 11329 NULL nohasharray
++__kfifo_out_peek_11329 __kfifo_out_peek 0-3 11329 &construct_key_11329
++next_segment_11330 next_segment 0-2-1 11330 NULL
+i915_max_freq_write_11350 i915_max_freq_write 3 11350 NULL
+sel_write_create_11353 sel_write_create 3 11353 NULL
-+tracing_set_trace_read_44122 tracing_set_trace_read 3 44122 NULL
-+hwflags_read_52318 hwflags_read 3 52318 NULL
-+encrypted_instantiate_3168 encrypted_instantiate 3 3168 NULL
-+put_cmsg_compat_35937 put_cmsg_compat 4 35937 NULL
-+vmw_gmr_bind_44130 vmw_gmr_bind 3 44130 NULL
-+ath_tx_init_60515 ath_tx_init 2 60515 NULL
-+alloc_ring_18278 alloc_ring 2-4 18278 NULL
-+ntfs_rl_split_52328 ntfs_rl_split 2-4 52328 NULL
++handle_unit_11355 handle_unit 0-1 11355 NULL
++drm_vblank_init_11362 drm_vblank_init 2 11362 NULL
+qib_get_base_info_11369 qib_get_base_info 3 11369 NULL
-+ocfs2_control_message_19564 ocfs2_control_message 3 19564 NULL
-+test_unaligned_bulk_52333 test_unaligned_bulk 3 52333 NULL
-+compat_do_ip6t_set_ctl_3184 compat_do_ip6t_set_ctl 4 3184 NULL
-+garp_request_join_7471 garp_request_join 4 7471 NULL
-+cgroup_read_s64_19570 cgroup_read_s64 5 19570 NULL
-+aa_simple_write_to_buffer_49683 aa_simple_write_to_buffer 3-4 49683 NULL
-+iwl3945_ucode_rx_stats_read_52340 iwl3945_ucode_rx_stats_read 3 52340 NULL
-+hysdn_sched_rx_60533 hysdn_sched_rx 3 60533 NULL
-+kcalloc_27770 kcalloc 1-2 27770 NULL
-+bm_status_read_19583 bm_status_read 3 19583 NULL
-+v9fs_fid_readn_60544 v9fs_fid_readn 4 60544 NULL
+dev_irnet_write_11398 dev_irnet_write 3 11398 NULL
-+acl_alloc_35979 acl_alloc 1 35979 NULL
-+copy_entries_to_user_52367 copy_entries_to_user 1 52367 NULL
+___alloc_bootmem_11410 ___alloc_bootmem 1 11410 NULL
-+tracing_entries_write_60563 tracing_entries_write 3 60563 NULL
-+koneplus_sysfs_write_35993 koneplus_sysfs_write 6 35993 NULL
++str_to_user_11411 str_to_user 2 11411 NULL
+trace_options_read_11419 trace_options_read 3 11419 NULL
-+ttm_object_file_init_27804 ttm_object_file_init 2 27804 NULL
-+ath6kl_mgmt_tx_3230 ath6kl_mgmt_tx 9 3230 NULL
-+isdn_writebuf_stub_52383 isdn_writebuf_stub 4 52383 NULL
-+kimage_crash_alloc_3233 kimage_crash_alloc 3 3233 NULL
-+write_adapter_mem_3234 write_adapter_mem 3 3234 NULL
-+console_store_36007 console_store 4 36007 NULL
++xd_read_multiple_pages_11422 xd_read_multiple_pages 5-4 11422 NULL
++prepare_image_11424 prepare_image 0 11424 NULL
++vring_size_11426 vring_size 0-1-2 11426 NULL
+bttv_read_11432 bttv_read 3 11432 NULL
-+key_key_read_3241 key_key_read 3 3241 NULL
-+aer_inject_write_52399 aer_inject_write 3 52399 NULL
-+__feat_register_sp_64712 __feat_register_sp 6 64712 NULL
-+ib_alloc_device_26483 ib_alloc_device 1 26483 NULL
-+sys_listxattr_27833 sys_listxattr 3 27833 NULL
-+aac_rx_ioremap_52410 aac_rx_ioremap 2 52410 NULL
-+ulong_write_file_26485 ulong_write_file 3 26485 NULL
-+cgroup_file_write_52417 cgroup_file_write 3 52417 NULL
-+srp_alloc_iu_44227 srp_alloc_iu 2 44227 NULL
-+usbvision_rvmalloc_19655 usbvision_rvmalloc 1 19655 NULL
-+line6_midibuf_init_52425 line6_midibuf_init 2 52425 NULL
-+LoadBitmap_19658 LoadBitmap 2 19658 NULL
-+audit_unpack_string_13748 audit_unpack_string 3 13748 NULL
-+wl1273_fm_fops_write_60621 wl1273_fm_fops_write 3 60621 NULL
-+sys_init_module_36047 sys_init_module 2 36047 NULL
-+read_profile_27859 read_profile 3 27859 NULL
-+acl_alloc_stack_init_60630 acl_alloc_stack_init 1 60630 NULL
++__bm_find_next_11447 __bm_find_next 2 11447 NULL
++swp_offset_11475 swp_offset 0 11475 NULL
+sca3000_read_first_n_hw_rb_11479 sca3000_read_first_n_hw_rb 2 11479 NULL
-+enlarge_skb_44248 enlarge_skb 2 44248 NULL
-+scsi_track_queue_full_44239 scsi_track_queue_full 2 44239 NULL
-+rbd_snap_add_19678 rbd_snap_add 4 19678 NULL
-+ubifs_recover_leb_60639 ubifs_recover_leb 3 60639 NULL
-+write_emulate_36065 write_emulate 2-4 36065 NULL
-+btmrvl_psmode_read_22395 btmrvl_psmode_read 3 22395 NULL
-+stack_max_size_write_36068 stack_max_size_write 3 36068 NULL
-+oom_adjust_read_25127 oom_adjust_read 3 25127 NULL
-+ieee80211_if_write_tsf_36077 ieee80211_if_write_tsf 3 36077 NULL
-+arvo_sysfs_write_3311 arvo_sysfs_write 6 3311 NULL
+sd_do_mode_sense_11507 sd_do_mode_sense 5 11507 NULL
-+unix_seqpacket_sendmsg_27893 unix_seqpacket_sendmsg 4 27893 NULL
+kmem_zalloc_11510 kmem_zalloc 1 11510 NULL
-+hidraw_get_report_45609 hidraw_get_report 3 45609 NULL
-+ubi_eba_write_leb_st_27896 ubi_eba_write_leb_st 5 27896 NULL
-+ieee80211_alloc_txb_52477 ieee80211_alloc_txb 1-2 52477 NULL
-+ieee80211_if_read_dot11MeshConfirmTimeout_60670 ieee80211_if_read_dot11MeshConfirmTimeout 3 60670 NULL
-+iwl_legacy_dbgfs_rx_queue_read_56533 iwl_legacy_dbgfs_rx_queue_read 3 56533 NULL
-+alloc_async_14208 alloc_async 1 14208 NULL
-+aac_rkt_ioremap_3333 aac_rkt_ioremap 2 3333 NULL
-+sctp_make_init_ack_3335 sctp_make_init_ack 4 3335 NULL
-+read_from_oldmem_3337 read_from_oldmem 2 3337 NULL
-+sctp_getsockopt_context_52490 sctp_getsockopt_context 2 52490 NULL
-+ath6kl_add_bss_if_needed_46978 ath6kl_add_bss_if_needed 5 46978 NULL
-+skb_cow_head_52495 skb_cow_head 2 52495 NULL
-+vga_arb_write_36112 vga_arb_write 3 36112 NULL
-+mangle_packet_27864 mangle_packet 6-8 27864 NULL
-+int_tasklet_entry_52500 int_tasklet_entry 3 52500 NULL
-+ip_append_data_16942 ip_append_data 5-6 16942 NULL
-+iwch_alloc_fastreg_pbl_40153 iwch_alloc_fastreg_pbl 2 40153 NULL
-+memcpy_toiovecend_19736 memcpy_toiovecend 3-4 19736 NULL
-+gsm_control_rls_3353 gsm_control_rls 3 3353 NULL
-+dispatch_proc_write_44320 dispatch_proc_write 3 44320 NULL
-+pm_qos_power_write_52513 pm_qos_power_write 3 52513 NULL
-+gpio_power_read_36059 gpio_power_read 3 36059 NULL
-+vmalloc_exec_36132 vmalloc_exec 1 36132 NULL
-+init_data_container_60709 init_data_container 1 60709 NULL
-+p9_client_read_19750 p9_client_read 5 19750 NULL
-+skb_cow_data_11565 skb_cow_data 2 11565 NULL
-+pnpbios_proc_write_19758 pnpbios_proc_write 3 19758 NULL
++setup_IO_APIC_irq_extra_11537 setup_IO_APIC_irq_extra 1 11537 NULL
++skb_cow_data_11565 skb_cow_data 0-2 11565 NULL
+mlx4_init_cmpt_table_11569 mlx4_init_cmpt_table 3 11569 NULL
-+iwl_trans_txq_alloc_36147 iwl_trans_txq_alloc 3 36147 NULL
-+slow_kernel_write_19764 slow_kernel_write 2 19764 NULL
-+alloc_vm_area_36149 alloc_vm_area 1 36149 NULL
-+sctp_make_abort_violation_27959 sctp_make_abort_violation 4 27959 NULL
-+tracing_clock_write_27961 tracing_clock_write 3 27961 NULL
-+b1_alloc_card_36155 b1_alloc_card 1 36155 NULL
+oprofilefs_ulong_to_user_11582 oprofilefs_ulong_to_user 3 11582 NULL
-+blk_queue_init_tags_44355 blk_queue_init_tags 2 44355 NULL
-+saa7146_vmalloc_build_pgtable_19780 saa7146_vmalloc_build_pgtable 2 19780 NULL
-+send_stream_3397 send_stream 4 3397 NULL
-+snd_korg1212_copy_from_36169 snd_korg1212_copy_from 6 36169 NULL
++snd_pcm_action_11589 snd_pcm_action 0 11589 NULL
+fw_device_op_ioctl_11595 fw_device_op_ioctl 2 11595 NULL
-+ipx_recvmsg_44366 ipx_recvmsg 4 44366 NULL
-+hycapi_rx_capipkt_11602 hycapi_rx_capipkt 3 11602 NULL
-+msix_map_region_3411 msix_map_region 3 3411 NULL
-+idmouse_read_63374 idmouse_read 3 63374 NULL
-+__ip_append_data_36191 __ip_append_data 7-8 36191 NULL
-+rts_threshold_read_44384 rts_threshold_read 3 44384 NULL
-+pci_add_cap_save_buffer_3426 pci_add_cap_save_buffer 3 3426 NULL
-+crystalhd_create_dio_pool_3427 crystalhd_create_dio_pool 2 3427 NULL
-+sel_write_checkreqprot_60774 sel_write_checkreqprot 3 60774 NULL
-+opticon_write_60775 opticon_write 4 60775 NULL
-+snd_rawmidi_write_28008 snd_rawmidi_write 3 28008 NULL
-+acl_alloc_num_60778 acl_alloc_num 1-2 60778 NULL
-+aoedev_flush_44398 aoedev_flush 2 44398 NULL
-+irda_setsockopt_19824 irda_setsockopt 5 19824 NULL
-+ubi_eba_write_leb_19826 ubi_eba_write_leb 5-6 19826 NULL
-+drm_buffer_alloc_44405 drm_buffer_alloc 2 44405 NULL
-+pipe_iov_copy_to_user_3447 pipe_iov_copy_to_user 3 3447 NULL
-+osst_do_scsi_44410 osst_do_scsi 4 44410 NULL
-+security_context_to_sid_19839 security_context_to_sid 2 19839 NULL
+sisusb_send_bridge_packet_11649 sisusb_send_bridge_packet 2 11649 NULL
-+atomic_stats_read_36228 atomic_stats_read 3 36228 NULL
-+sctp_setsockopt_maxburst_28041 sctp_setsockopt_maxburst 3 28041 NULL
-+iwl_legacy_dbgfs_channels_read_52619 iwl_legacy_dbgfs_channels_read 3 52619 NULL
-+cfg80211_mlme_register_mgmt_19852 cfg80211_mlme_register_mgmt 5 19852 NULL
-+viafb_iga1_odev_proc_write_36241 viafb_iga1_odev_proc_write 3 36241 NULL
-+cx231xx_init_vbi_isoc_28053 cx231xx_init_vbi_isoc 2-3 28053 NULL
-+iwl_dbgfs_ucode_tx_stats_read_31611 iwl_dbgfs_ucode_tx_stats_read 3 31611 NULL
++nla_total_size_11658 nla_total_size 0-1 11658 NULL
+ide_queue_pc_tail_11673 ide_queue_pc_tail 5 11673 NULL
-+lpfc_idiag_mbxacc_read_28061 lpfc_idiag_mbxacc_read 3 28061 NULL
+btrfs_alloc_delayed_item_11678 btrfs_alloc_delayed_item 1 11678 NULL
-+compat_sys_mbind_36256 compat_sys_mbind 5 36256 NULL
+dsp_buffer_alloc_11684 dsp_buffer_alloc 2 11684 NULL
+iwm_ntf_calib_res_11686 iwm_ntf_calib_res 3 11686 NULL
+sctp_setsockopt_hmac_ident_11687 sctp_setsockopt_hmac_ident 3 11687 NULL
-+blk_rq_map_kern_47004 blk_rq_map_kern 4 47004 NULL
+split_11691 split 2 11691 NULL
+snd_ctl_elem_user_tlv_11695 snd_ctl_elem_user_tlv 3 11695 NULL
-+pwr_tx_with_ps_read_60851 pwr_tx_with_ps_read 3 60851 NULL
-+usb_buffer_alloc_36276 usb_buffer_alloc 2 36276 NULL
-+__kfifo_alloc_22173 __kfifo_alloc 2-3 22173 NULL
-+mangle_sdp_packet_36279 mangle_sdp_packet 9 36279 NULL
-+codec_reg_read_file_36280 codec_reg_read_file 3 36280 NULL
-+gdth_init_isa_28091 gdth_init_isa 1 28091 NULL
-+ieee80211_send_auth_60865 ieee80211_send_auth 5 60865 NULL
-+cx18_read_pos_4683 cx18_read_pos 3 4683 NULL
-+drm_property_create_blob_7414 drm_property_create_blob 2 7414 NULL
-+mmc_test_alloc_mem_28102 mmc_test_alloc_mem 3-2 28102 NULL
-+ps_upsd_max_apturn_read_19918 ps_upsd_max_apturn_read 3 19918 NULL
-+lpfc_debugfs_dif_err_read_36303 lpfc_debugfs_dif_err_read 3 36303 NULL
-+ieee80211_if_read_dropped_frames_ttl_44500 ieee80211_if_read_dropped_frames_ttl 3 44500 NULL
-+ad7879_spi_xfer_36311 ad7879_spi_xfer 3 36311 NULL
-+iwl_dbgfs_sram_read_44505 iwl_dbgfs_sram_read 3 44505 NULL
++blk_rq_cur_bytes_11723 blk_rq_cur_bytes 0 11723 NULL
++i2c_master_recv_11734 i2c_master_recv 0-3 11734 NULL
+tcf_csum_ipv6_icmp_11738 tcf_csum_ipv6_icmp 4 11738 NULL
-+l2tp_xmit_skb_42672 l2tp_xmit_skb 3 42672 NULL
-+vgacon_adjust_height_28124 vgacon_adjust_height 2 28124 NULL
-+spidev_write_44510 spidev_write 3 44510 NULL
-+snd_soc_hw_bulk_write_raw_14245 snd_soc_hw_bulk_write_raw 4 14245 NULL
-+iwl_dbgfs_rx_queue_read_19943 iwl_dbgfs_rx_queue_read 3 19943 NULL
-+fat_compat_ioctl_filldir_36328 fat_compat_ioctl_filldir 3 36328 NULL
++nfsd4_get_drc_mem_11748 nfsd4_get_drc_mem 0-1-2 11748 NULL
+iwl_dbgfs_qos_read_11753 iwl_dbgfs_qos_read 3 11753 NULL
-+kone_receive_4690 kone_receive 4 4690 NULL
-+alloc_smp_resp_3566 alloc_smp_resp 1 3566 NULL
-+jbd2_journal_init_revoke_table_36336 jbd2_journal_init_revoke_table 1 36336 NULL
-+evtchn_read_3569 evtchn_read 3 3569 NULL
-+mgt_set_varlen_60916 mgt_set_varlen 4 60916 NULL
-+compat_sys_setsockopt_3326 compat_sys_setsockopt 5 3326 NULL
-+sys_msgsnd_44537 sys_msgsnd 3 44537 NULL nohasharray
-+comm_write_44537 comm_write 3 44537 &sys_msgsnd_44537
-+stats_dot11FCSErrorCount_read_28154 stats_dot11FCSErrorCount_read 3 28154 NULL
-+ax25_send_frame_19964 ax25_send_frame 2 19964 NULL
-+blkcipher_next_slow_52733 blkcipher_next_slow 4-3 52733 NULL
-+relay_alloc_page_array_52735 relay_alloc_page_array 1 52735 NULL
+ps_pspoll_timeouts_read_11776 ps_pspoll_timeouts_read 3 11776 NULL
-+vc_resize_3585 vc_resize 2-3 3585 NULL
-+sys_select_38827 sys_select 1 38827 NULL
-+gluebi_write_27905 gluebi_write 3 27905 NULL
-+ivtv_v4l2_read_1964 ivtv_v4l2_read 3 1964 NULL
-+set_powered_60938 set_powered 4 60938 NULL
-+c4iw_reject_cr_28174 c4iw_reject_cr 3 28174 NULL
-+iscsi_nop_out_rsp_51117 iscsi_nop_out_rsp 4 51117 NULL
-+attach_hdlc_protocol_19986 attach_hdlc_protocol 3 19986 NULL
-+ip_send_reply_19987 ip_send_reply 5 19987 NULL
-+mtd_do_writeoob_36373 mtd_do_writeoob 4 36373 NULL
-+vring_new_virtqueue_36374 vring_new_virtqueue 1 36374 NULL
-+sctp_getsockopt_events_3607 sctp_getsockopt_events 2 3607 NULL
-+sctp_getsockopt_partial_delivery_point_60952 sctp_getsockopt_partial_delivery_point 2 60952 NULL
-+macvtap_get_user_28185 macvtap_get_user 4 28185 NULL
-+lcd_proc_write_18351 lcd_proc_write 3 18351 NULL
-+read_file_regidx_33370 read_file_regidx 3 33370 NULL
-+pti_char_write_60960 pti_char_write 3 60960 NULL
-+mwifiex_alloc_sdio_mpa_buffers_60961 mwifiex_alloc_sdio_mpa_buffers 2-3 60961 NULL
-+event_calibration_read_21083 event_calibration_read 3 21083 NULL
++ebt_buf_add_11779 ebt_buf_add 0 11779 NULL
+pcpu_fc_alloc_11818 pcpu_fc_alloc 2 11818 NULL
-+aligned_kmalloc_3628 aligned_kmalloc 1 3628 NULL
-+afs_alloc_flat_call_36399 afs_alloc_flat_call 2-3 36399 NULL
-+snd_pcm_alloc_vmalloc_buffer_44595 snd_pcm_alloc_vmalloc_buffer 2 44595 NULL
+zerocopy_sg_from_iovec_11828 zerocopy_sg_from_iovec 3 11828 NULL
+sctp_setsockopt_maxseg_11829 sctp_setsockopt_maxseg 3 11829 NULL
+rts51x_read_status_11830 rts51x_read_status 4 11830 NULL
-+calc_hmac_32010 calc_hmac 3 32010 NULL
-+cm_copy_private_data_3649 cm_copy_private_data 2 3649 NULL
++avc_has_perm_11840 avc_has_perm 3 11840 NULL
+shmem_xattr_set_11843 shmem_xattr_set 4 11843 NULL
-+sctp_ulpevent_new_33377 sctp_ulpevent_new 1 33377 NULL
-+i915_compat_ioctl_3656 i915_compat_ioctl 2 3656 NULL
-+allocate_probes_40204 allocate_probes 1 40204 NULL
-+sctp_getsockopt_mappedv4_20044 sctp_getsockopt_mappedv4 2 20044 NULL
-+ni_gpct_device_construct_610 ni_gpct_device_construct 5 610 NULL
-+cfpkt_add_body_44630 cfpkt_add_body 3 44630 NULL
-+handle_received_packet_22457 handle_received_packet 3 22457 NULL
++unix_stream_connect_11844 unix_stream_connect 3 11844 NULL
+ecryptfs_copy_filename_11868 ecryptfs_copy_filename 4 11868 NULL
-+ath6kl_lrssi_roam_read_61022 ath6kl_lrssi_roam_read 3 61022 NULL
-+alloc_ieee80211_20063 alloc_ieee80211 1 20063 NULL
-+alloc_etherdev_mqs_36450 alloc_etherdev_mqs 1 36450 NULL
-+ath6kl_connect_event_14267 ath6kl_connect_event 7-9-8 14267 NULL
-+pwr_rcvd_beacons_read_52836 pwr_rcvd_beacons_read 3 52836 NULL
+l2cap_chan_send_11878 l2cap_chan_send 3 11878 NULL
-+_l2_alloc_skb_11883 _l2_alloc_skb 1 11883 NULL
-+sctp_getsockopt_maxburst_42941 sctp_getsockopt_maxburst 2 42941 NULL
-+rawv6_sendmsg_20080 rawv6_sendmsg 4 20080 NULL
-+fuse_conn_limit_read_20084 fuse_conn_limit_read 3 20084 NULL
-+btmrvl_psmode_write_3703 btmrvl_psmode_write 3 3703 NULL
-+symtab_init_61050 symtab_init 2 61050 NULL
-+alloc_ctrl_packet_44667 alloc_ctrl_packet 1 44667 NULL
-+videobuf_pages_to_sg_3708 videobuf_pages_to_sg 2 3708 NULL
-+mon_bin_get_event_52863 mon_bin_get_event 4 52863 NULL
-+b43_nphy_load_samples_36481 b43_nphy_load_samples 3 36481 NULL
-+ip6_append_data_36490 ip6_append_data 4-5 36490 NULL
-+iwl_legacy_dbgfs_power_save_status_read_36492 iwl_legacy_dbgfs_power_save_status_read 3 36492 NULL
+kmalloc_slab_11917 kmalloc_slab 1 11917 NULL
-+ceph_read_dir_17005 ceph_read_dir 3 17005 NULL
-+nouveau_compat_ioctl_28305 nouveau_compat_ioctl 2 28305 NULL
-+cache_read_procfs_52882 cache_read_procfs 3 52882 NULL
+fs_devrw_entry_11924 fs_devrw_entry 3 11924 NULL
-+hptiop_adjust_disk_queue_depth_20122 hptiop_adjust_disk_queue_depth 2 20122 NULL
-+ci_ll_write_3740 ci_ll_write 4 3740 NULL
-+snd_pcm_oss_read_28317 snd_pcm_oss_read 3 28317 NULL
-+__hwahc_op_set_ptk_36510 __hwahc_op_set_ptk 5 36510 NULL
-+ima_show_htable_value_57136 ima_show_htable_value 2 57136 NULL
-+mcam_v4l_read_36513 mcam_v4l_read 3 36513 NULL
++bitmap_remap_11929 bitmap_remap 5 11929 NULL
++atomic_sub_return_11939 atomic_sub_return 0-1 11939 NULL
+dccp_feat_clone_sp_val_11942 dccp_feat_clone_sp_val 3 11942 NULL
-+kmem_realloc_37489 kmem_realloc 2 37489 NULL
-+ieee80211_if_read_fwded_frames_36520 ieee80211_if_read_fwded_frames 3 36520 NULL
-+mempool_create_node_44715 mempool_create_node 1 44715 NULL
-+get_derived_key_61100 get_derived_key 4 61100 NULL
+kvm_set_msr_common_11953 kvm_set_msr_common 3 11953 NULL
-+bm_entry_write_28338 bm_entry_write 3 28338 NULL
-+_zd_iowrite32v_locked_44725 _zd_iowrite32v_locked 3 44725 NULL
-+tcp_copy_to_iovec_28344 tcp_copy_to_iovec 3 28344 NULL
-+clusterip_proc_write_44729 clusterip_proc_write 3 44729 NULL
-+cpu_type_read_36540 cpu_type_read 3 36540 NULL
-+__probe_kernel_read_61119 __probe_kernel_read 3 61119 NULL
-+kone_send_63435 kone_send 4 63435 NULL
-+alloc_rtllib_51136 alloc_rtllib 1 51136 NULL
-+key_tx_rx_count_read_44742 key_tx_rx_count_read 3 44742 NULL
-+tomoyo_commit_ok_20167 tomoyo_commit_ok 2 20167 NULL
-+ip_nat_sdp_port_52938 ip_nat_sdp_port 6 52938 NULL
-+__kfifo_to_user_36555 __kfifo_to_user 3 36555 NULL nohasharray
-+macvtap_do_read_36555 macvtap_do_read 4 36555 &__kfifo_to_user_36555
-+wep_addr_key_count_read_20174 wep_addr_key_count_read 3 20174 NULL
-+create_trace_probe_20175 create_trace_probe 1 20175 NULL
-+sctp_setsockopt_auth_key_3793 sctp_setsockopt_auth_key 3 3793 NULL
-+afs_proc_cells_write_61139 afs_proc_cells_write 3 61139 NULL
-+tnode_new_44757 tnode_new 3 44757 NULL nohasharray
-+pty_write_44757 pty_write 3 44757 &tnode_new_44757
-+ath6kl_send_go_probe_resp_21113 ath6kl_send_go_probe_resp 3 21113 NULL
-+store_disp_52952 store_disp 4 52952 NULL
-+iwl_dbgfs_nvm_read_23845 iwl_dbgfs_nvm_read 3 23845 NULL
-+sys_writev_28384 sys_writev 3 28384 NULL
-+dlmfs_file_read_28385 dlmfs_file_read 3 28385 NULL
-+ssb_bus_scan_36578 ssb_bus_scan 2 36578 NULL
-+bt_sock_stream_recvmsg_52518 bt_sock_stream_recvmsg 4 52518 NULL
-+put_cmsg_36589 put_cmsg 4 36589 NULL
-+__vmalloc_61168 __vmalloc 1 61168 NULL
-+llc_ui_recvmsg_3826 llc_ui_recvmsg 4 3826 NULL
-+sctp_setsockopt_44788 sctp_setsockopt 5 44788 NULL
-+read_file_tx_chainmask_3829 read_file_tx_chainmask 3 3829 NULL
-+pcnet32_realloc_rx_ring_36598 pcnet32_realloc_rx_ring 3 36598 NULL
-+event_oom_late_read_61175 event_oom_late_read 3 61175 NULL
-+sys_lsetxattr_61177 sys_lsetxattr 4 61177 NULL
-+p54_init_common_23850 p54_init_common 1 23850 NULL
-+rx_dropped_read_44799 rx_dropped_read 3 44799 NULL
-+subdev_ioctl_28417 subdev_ioctl 2 28417 NULL
-+fat_ioctl_filldir_36621 fat_ioctl_filldir 3 36621 NULL
-+smk_read_onlycap_3855 smk_read_onlycap 3 3855 NULL
-+cfpkt_append_61206 cfpkt_append 3 61206 NULL
-+rose_sendmsg_20249 rose_sendmsg 4 20249 NULL
-+tm6000_i2c_send_regs_20250 tm6000_i2c_send_regs 5 20250 NULL
-+brcmf_sdioh_request_buffer_40239 brcmf_sdioh_request_buffer 7 40239 NULL
++f1x_swap_interleaved_region_11970 f1x_swap_interleaved_region 0-2 11970 NULL
++ftdi_elan_total_command_size_12045 ftdi_elan_total_command_size 0 12045 NULL
+pyra_send_12061 pyra_send 4 12061 NULL
-+ubi_dbg_dump_flash_3870 ubi_dbg_dump_flash 4 3870 NULL
-+read_file_rx_chainmask_41605 read_file_rx_chainmask 3 41605 NULL
-+sisusb_write_44834 sisusb_write 3 44834 NULL
-+smk_read_ambient_61220 smk_read_ambient 3 61220 NULL
-+raw_recvmsg_52529 raw_recvmsg 4 52529 NULL
-+ubifs_leb_write_61226 ubifs_leb_write 4-5 61226 NULL
-+alloc_irq_cpu_rmap_28459 alloc_irq_cpu_rmap 1 28459 NULL
+ptc_proc_write_12076 ptc_proc_write 3 12076 NULL
+ubifs_recover_log_leb_12079 ubifs_recover_log_leb 3 12079 NULL
-+uea_send_modem_cmd_3888 uea_send_modem_cmd 3 3888 NULL
-+vmw_cursor_update_dmabuf_32045 vmw_cursor_update_dmabuf 3-4 32045 NULL
-+nvram_write_3894 nvram_write 3 3894 NULL
-+osd_req_list_collection_objects_36664 osd_req_list_collection_objects 5 36664 NULL
-+iscsi_host_alloc_36671 iscsi_host_alloc 2 36671 NULL
-+vcs_write_3910 vcs_write 3 3910 NULL
-+mwifiex_debug_read_53074 mwifiex_debug_read 3 53074 NULL
-+vmbus_establish_gpadl_4495 vmbus_establish_gpadl 3 4495 NULL
-+dtim_interval_read_654 dtim_interval_read 3 654 NULL
-+_alloc_mISDN_skb_52232 _alloc_mISDN_skb 3 52232 NULL
-+nfs_idmap_lookup_id_13665 nfs_idmap_lookup_id 2 13665 NULL
-+dm_read_15674 dm_read 3 15674 NULL
+alloc_bulk_urbs_generic_12127 alloc_bulk_urbs_generic 5 12127 NULL
-+do_tty_write_44896 do_tty_write 5 44896 NULL
-+qib_resize_cq_53090 qib_resize_cq 2 53090 NULL
-+snd_cs4281_BA1_read_20323 snd_cs4281_BA1_read 5 20323 NULL
+xfs_handle_to_dentry_12135 xfs_handle_to_dentry 3 12135 NULL
-+sys_add_key_61288 sys_add_key 4 61288 NULL
+rawv6_seticmpfilter_12137 rawv6_seticmpfilter 5 12137 NULL
+vmw_fifo_reserve_12141 vmw_fifo_reserve 2 12141 NULL
-+i2400m_tx_stats_read_28527 i2400m_tx_stats_read 3 28527 NULL
-+rawsock_recvmsg_12144 rawsock_recvmsg 4 12144 NULL
++iwl4965_ucode_tx_stats_read_12143 iwl4965_ucode_tx_stats_read 3 12143 NULL
++get_idx_gc_leb_12148 get_idx_gc_leb 0 12148 NULL
+btmrvl_sdio_host_to_card_12152 btmrvl_sdio_host_to_card 3 12152 NULL
+vmbus_open_12154 vmbus_open 2-3 12154 NULL
-+gfs2_glock_nq_m_20347 gfs2_glock_nq_m 1 20347 NULL
-+sel_read_policycap_28544 sel_read_policycap 3 28544 NULL
-+mptctl_getiocinfo_28545 mptctl_getiocinfo 2 28545 NULL
-+line6_dumpreq_initbuf_53123 line6_dumpreq_initbuf 3 53123 NULL
-+snd_rawmidi_kernel_read1_36740 snd_rawmidi_kernel_read1 4 36740 NULL
-+gather_array_56641 gather_array 3 56641 NULL
-+cxgbi_device_register_36746 cxgbi_device_register 1-2 36746 NULL
-+b43legacy_debugfs_write_28556 b43legacy_debugfs_write 3 28556 NULL
++tt_update_changes_12155 tt_update_changes 3 12155 NULL
+dma_memcpy_to_iovec_12173 dma_memcpy_to_iovec 5 12173 NULL
+ddp_make_gl_12179 ddp_make_gl 1 12179 NULL
-+dbgfs_state_38894 dbgfs_state 3 38894 NULL
-+tcf_csum_ipv6_udp_25241 tcf_csum_ipv6_udp 4 25241 NULL
-+do_add_counters_3992 do_add_counters 3 3992 NULL
-+mic_rx_pkts_read_27972 mic_rx_pkts_read 3 27972 NULL
++compat_do_arpt_set_ctl_12184 compat_do_arpt_set_ctl 4 12184 NULL
+ip_generic_getfrag_12187 ip_generic_getfrag 3-4 12187 NULL
+pair_device_12188 pair_device 4 12188 NULL
-+compat_rw_copy_check_uvector_25242 compat_rw_copy_check_uvector 3 25242 NULL
-+dccpprobe_read_52549 dccpprobe_read 3 52549 NULL
-+ip4ip6_err_36772 ip4ip6_err 5 36772 NULL
-+mei_write_4005 mei_write 3 4005 NULL
-+snd_hdsp_capture_copy_4011 snd_hdsp_capture_copy 5 4011 NULL
-+__kfifo_from_user_20399 __kfifo_from_user 3 20399 NULL
-+tx_queue_status_read_44978 tx_queue_status_read 3 44978 NULL
-+BcmCopySection_2035 BcmCopySection 5 2035 NULL
-+interface_rx_20404 interface_rx 4 20404 NULL
++qt2160_read_block_12198 qt2160_read_block 4 12198 NULL
++bl_is_sector_init_12199 bl_is_sector_init 2 12199 NULL
+receive_copy_12216 receive_copy 3 12216 NULL
++snd_pcm_kernel_ioctl_12219 snd_pcm_kernel_ioctl 0 12219 NULL
+aat2870_reg_read_file_12221 aat2870_reg_read_file 3 12221 NULL
-+proc_fault_inject_read_36802 proc_fault_inject_read 3 36802 NULL
-+do_dmabuf_dirty_sou_36807 do_dmabuf_dirty_sou 7 36807 NULL
-+do_msgrcv_5590 do_msgrcv 4 5590 NULL
-+ftdi_process_packet_45005 ftdi_process_packet 5 45005 NULL
-+change_xattr_61390 change_xattr 5 61390 NULL
-+find_skb_20431 find_skb 2 20431 NULL
-+hiddev_ioctl_36816 hiddev_ioctl 2 36816 NULL
-+fmc_send_cmd_20435 fmc_send_cmd 5 20435 NULL
-+tcp_fragment_20436 tcp_fragment 3 20436 NULL
+ib_uverbs_unmarshall_recv_12251 ib_uverbs_unmarshall_recv 5 12251 NULL
-+ptrace_writedata_45021 ptrace_writedata 4 45021 NULL
-+int_hardware_entry_36833 int_hardware_entry 3 36833 NULL
-+fc_change_queue_depth_36841 fc_change_queue_depth 2 36841 NULL
++ath_descdma_setup_12257 ath_descdma_setup 5 12257 NULL
+shash_compat_setkey_12267 shash_compat_setkey 3 12267 NULL
+add_sctp_bind_addr_12269 add_sctp_bind_addr 3 12269 NULL
-+sctp_make_asconf_4078 sctp_make_asconf 3 4078 NULL
-+vhci_get_user_45039 vhci_get_user 3 45039 NULL
-+ip_vs_icmp_xmit_v6_20464 ip_vs_icmp_xmit_v6 4 20464 NULL
-+compat_ipv6_setsockopt_20468 compat_ipv6_setsockopt 5 20468 NULL
-+keyctl_describe_key_36853 keyctl_describe_key 3 36853 NULL
-+cm_write_36858 cm_write 3 36858 NULL
+roccat_common_send_12284 roccat_common_send 4 12284 NULL
+note_last_dentry_12285 note_last_dentry 3 12285 NULL
-+blk_queue_resize_tags_28670 blk_queue_resize_tags 2 28670 NULL
-+ab8500_address_write_4099 ab8500_address_write 3 4099 NULL
-+sel_write_user_45060 sel_write_user 3 45060 NULL
++roundup_to_multiple_of_64_12288 roundup_to_multiple_of_64 0-1 12288 NULL
+iwm_notif_send_12295 iwm_notif_send 6 12295 NULL
-+__dev_alloc_skb_28681 __dev_alloc_skb 1 28681 NULL
-+pohmelfs_send_xattr_req_49783 pohmelfs_send_xattr_req 6 49783 NULL
-+svc_setsockopt_36876 svc_setsockopt 5 36876 NULL
-+snd_mixart_BA0_read_45069 snd_mixart_BA0_read 5 45069 NULL
-+fast_user_write_20494 fast_user_write 5 20494 NULL
-+unix_stream_sendmsg_61455 unix_stream_sendmsg 4 61455 NULL
++vxge_get_num_vfs_12302 vxge_get_num_vfs 0 12302 NULL
+__einj_error_trigger_12304 __einj_error_trigger 1 12304 NULL
-+sctp_make_fwdtsn_53265 sctp_make_fwdtsn 3 53265 NULL
-+ib_ucm_alloc_data_36885 ib_ucm_alloc_data 3 36885 NULL
-+hidraw_report_event_20503 hidraw_report_event 3 20503 NULL
-+orig_hash_del_if_45080 orig_hash_del_if 2 45080 NULL
-+bt_sock_recvmsg_12316 bt_sock_recvmsg 4 12316 NULL
-+selinux_inode_notifysecctx_36896 selinux_inode_notifysecctx 3 36896 NULL
-+lirc_buffer_init_53282 lirc_buffer_init 2-3 53282 NULL
+alloc_trace_probe_12323 alloc_trace_probe 6 12323 NULL
+tipc_msg_build_12326 tipc_msg_build 4 12326 NULL
-+xfs_iext_realloc_direct_20521 xfs_iext_realloc_direct 2 20521 NULL
-+sctp_getsockopt_disable_fragments_12330 sctp_getsockopt_disable_fragments 2 12330 NULL
+pcbit_writecmd_12332 pcbit_writecmd 2 12332 NULL
-+OS_kmalloc_36909 OS_kmalloc 1 36909 NULL
-+tm6000_read_4151 tm6000_read 3 4151 NULL
-+amd_create_gatt_pages_20537 amd_create_gatt_pages 1 20537 NULL
-+usbdev_read_45114 usbdev_read 3 45114 NULL
-+spi_execute_28736 spi_execute 5 28736 NULL
-+snd_pcm_aio_write_28738 snd_pcm_aio_write 3 28738 NULL
+mptctl_ioctl_12355 mptctl_ioctl 2 12355 NULL
-+get_alua_req_4166 get_alua_req 3 4166 NULL
-+blk_dropped_read_4168 blk_dropped_read 3 4168 NULL
-+venus_create_20555 venus_create 4 20555 NULL
-+receive_packet_12367 receive_packet 2 12367 NULL
-+expand_files_17080 expand_files 2 17080 NULL
-+read_file_bool_4180 read_file_bool 3 4180 NULL
-+send_to_tty_45141 send_to_tty 3 45141 NULL
-+tomoyo_init_log_61526 tomoyo_init_log 2 61526 NULL
-+fops_read_40672 fops_read 3 40672 NULL
-+ath6kl_wmi_send_action_cmd_30735 ath6kl_wmi_send_action_cmd 6 30735 NULL
-+cxio_init_resource_fifo_28764 cxio_init_resource_fifo 3 28764 NULL
-+write_leb_36957 write_leb 5 36957 NULL
-+_copy_from_user_36959 _copy_from_user 3 36959 NULL
+xfs_iext_inline_to_direct_12384 xfs_iext_inline_to_direct 2 12384 NULL
-+device_write_45156 device_write 3 45156 NULL
-+i915_max_freq_read_20581 i915_max_freq_read 3 20581 NULL
-+tomoyo_write_self_45161 tomoyo_write_self 3 45161 NULL
-+sparse_early_mem_maps_alloc_node_36971 sparse_early_mem_maps_alloc_node 4 36971 NULL
-+_osd_req_list_objects_4204 _osd_req_list_objects 6 4204 NULL
-+trace_options_core_write_61551 trace_options_core_write 3 61551 NULL
-+dvb_net_sec_callback_28786 dvb_net_sec_callback 2 28786 NULL
-+isp1760_register_628 isp1760_register 1-2 628 NULL
-+dvb_net_ioctl_61559 dvb_net_ioctl 2 61559 NULL
-+lirc_write_20604 lirc_write 3 20604 NULL
-+sel_write_member_28800 sel_write_member 3 28800 NULL
-+ieee80211_if_read_rc_rateidx_mask_2ghz_61570 ieee80211_if_read_rc_rateidx_mask_2ghz 3 61570 NULL
-+cgroup_file_read_28804 cgroup_file_read 3 28804 NULL
-+snd_sb_csp_load_user_45190 snd_sb_csp_load_user 3 45190 NULL
-+setxattr_37006 setxattr 4 37006 NULL
-+add_child_45201 add_child 4 45201 NULL
-+pwr_elp_enter_read_5324 pwr_elp_enter_read 3 5324 NULL
-+seq_open_private_61589 seq_open_private 3 61589 NULL
-+iso_alloc_urb_45206 iso_alloc_urb 4-5 45206 NULL
-+fuse_perform_write_18457 fuse_perform_write 4 18457 NULL
-+__get_vm_area_61599 __get_vm_area 1 61599 NULL
-+netlink_recvmsg_61600 netlink_recvmsg 4 61600 NULL
-+store_lssw_43035 store_lssw 4 43035 NULL nohasharray
-+wep_default_key_count_read_43035 wep_default_key_count_read 3 43035 &store_lssw_43035
-+kfifo_copy_to_user_20646 kfifo_copy_to_user 3 20646 NULL
-+spi_alloc_master_45223 spi_alloc_master 2 45223 NULL
++btrfs_file_extent_ram_bytes_12391 btrfs_file_extent_ram_bytes 0 12391 NULL
+skb_do_copy_data_nocache_12465 skb_do_copy_data_nocache 5 12465 NULL
-+configfs_write_file_61621 configfs_write_file 3 61621 NULL
-+event_enable_write_45238 event_enable_write 3 45238 NULL
-+ieee80211_if_read_drop_unencrypted_37053 ieee80211_if_read_drop_unencrypted 3 37053 NULL
-+ieee80211_rx_bss_info_61630 ieee80211_rx_bss_info 3 61630 NULL
-+isr_cmd_cmplt_read_53439 isr_cmd_cmplt_read 3 53439 NULL
-+ablkcipher_next_slow_47274 ablkcipher_next_slow 4-3 47274 NULL
-+i2o_parm_table_get_61635 i2o_parm_table_get 6 61635 NULL
-+snd_hdsp_playback_copy_20676 snd_hdsp_playback_copy 5 20676 NULL
+x25_sendmsg_12487 x25_sendmsg 4 12487 NULL
-+dvb_dmxdev_buffer_read_20682 dvb_dmxdev_buffer_read 4 20682 NULL
-+get_packet_pg_28023 get_packet_pg 4 28023 NULL
-+rtllib_auth_challenge_12493 rtllib_auth_challenge 3 12493 NULL
-+acpi_tb_parse_root_table_53455 acpi_tb_parse_root_table 1 53455 NULL
-+iwl3945_sta_dbgfs_stats_table_read_28882 iwl3945_sta_dbgfs_stats_table_read 3 28882 NULL
-+n2_run_53459 n2_run 3 53459 NULL
-+packet_sendmsg_spkt_28885 packet_sendmsg_spkt 4 28885 NULL
-+parse_command_37079 parse_command 2 37079 NULL
-+read_file_tgt_int_stats_20697 read_file_tgt_int_stats 3 20697 NULL
-+ath6kl_wmi_tcmd_test_report_rx_4314 ath6kl_wmi_tcmd_test_report_rx 3 4314 NULL
-+ttm_page_pool_free_61661 ttm_page_pool_free 2 61661 NULL
-+rds_tcp_data_recv_53476 rds_tcp_data_recv 3 53476 NULL
-+pcpu_page_first_chunk_20712 pcpu_page_first_chunk 1 20712 NULL
-+iowarrior_read_53483 iowarrior_read 3 53483 NULL
++nfs_readdir_make_qstr_12509 nfs_readdir_make_qstr 3 12509 NULL
+qib_alloc_fast_reg_mr_12526 qib_alloc_fast_reg_mr 2 12526 NULL
-+lock_loop_61681 lock_loop 1 61681 NULL
-+snd_pcm_oss_sync1_45298 snd_pcm_oss_sync1 2 45298 NULL
-+security_context_to_sid_force_20724 security_context_to_sid_force 2 20724 NULL
-+softsynth_write_3455 softsynth_write 3 3455 NULL
-+ps_upsd_timeouts_read_28924 ps_upsd_timeouts_read 3 28924 NULL
+iwl_legacy_dbgfs_rx_statistics_read_12545 iwl_legacy_dbgfs_rx_statistics_read 3 12545 NULL
-+xfs_file_buffered_aio_write_52609 xfs_file_buffered_aio_write 4 52609 NULL
-+push_rx_28939 push_rx 3 28939 NULL
-+__copy_from_user_inatomic_4365 __copy_from_user_inatomic 3 4365 NULL
-+vol_cdev_direct_write_20751 vol_cdev_direct_write 3 20751 NULL
-+ipc_rcu_alloc_21208 ipc_rcu_alloc 1 21208 NULL
-+sys_setdomainname_4373 sys_setdomainname 2 4373 NULL
-+fragmentation_threshold_read_61718 fragmentation_threshold_read 3 61718 NULL
-+copy_vm86_regs_from_user_45340 copy_vm86_regs_from_user 3 45340 NULL
+hvc_alloc_12579 hvc_alloc 4 12579 NULL
+snd_pcm_plugin_alloc_12580 snd_pcm_plugin_alloc 2 12580 NULL
-+alloc_sched_domains_28972 alloc_sched_domains 1 28972 NULL
++macvtap_compat_ioctl_12587 macvtap_compat_ioctl 3 12587 NULL
+pcpu_extend_area_map_12589 pcpu_extend_area_map 2 12589 NULL
-+read_file_interrupt_61742 read_file_interrupt 3 61742 NULL nohasharray
-+read_file_regval_61742 read_file_regval 3 61742 &read_file_interrupt_61742
-+btmrvl_hscmd_write_27089 btmrvl_hscmd_write 3 27089 NULL
-+fb_alloc_cmap_gfp_20792 fb_alloc_cmap_gfp 2 20792 NULL
-+iwl_dbgfs_rxon_flags_read_20795 iwl_dbgfs_rxon_flags_read 3 20795 NULL
+vhci_put_user_12604 vhci_put_user 4 12604 NULL
-+sctp_getsockopt_adaptation_layer_45375 sctp_getsockopt_adaptation_layer 2 45375 NULL
-+hci_sock_setsockopt_28993 hci_sock_setsockopt 5 28993 NULL
-+alloc_skb_fclone_3467 alloc_skb_fclone 1 3467 NULL
-+bin_uuid_28999 bin_uuid 3 28999 NULL
-+sys_sendto_20809 sys_sendto 6 20809 NULL
-+udpv6_setsockopt_18487 udpv6_setsockopt 5 18487 NULL
-+store_wimax_37196 store_wimax 4 37196 NULL
-+vcc_recvmsg_37198 vcc_recvmsg 4 37198 NULL
+fc_fcp_frame_alloc_12624 fc_fcp_frame_alloc 2 12624 NULL
-+do_pages_stat_4437 do_pages_stat 2 4437 NULL
-+lane2_associate_req_45398 lane2_associate_req 4 45398 NULL
-+ath6kl_regdump_read_14393 ath6kl_regdump_read 3 14393 NULL
-+iwl_legacy_dbgfs_qos_read_20825 iwl_legacy_dbgfs_qos_read 3 20825 NULL
-+keymap_store_45406 keymap_store 4 45406 NULL
++ctrl_cdev_compat_ioctl_12634 ctrl_cdev_compat_ioctl 3 12634 NULL
+pn_sendmsg_12640 pn_sendmsg 4 12640 NULL
-+uapsd_queues_read_37217 uapsd_queues_read 3 37217 NULL
-+wl1271_format_buffer_20834 wl1271_format_buffer 2 20834 NULL
-+pfkey_recvmsg_53604 pfkey_recvmsg 4 53604 NULL
-+xz_dec_init_29029 xz_dec_init 2 29029 NULL
-+sys_fcntl64_29031 sys_fcntl64 3 29031 NULL
-+nr_recvmsg_12649 nr_recvmsg 4 12649 NULL
-+__do_replace_37227 __do_replace 5 37227 NULL
-+ath6kl_wmi_send_probe_response_cmd_45422 ath6kl_wmi_send_probe_response_cmd 5 45422 NULL
-+rs_sta_dbgfs_rate_scale_data_read_47165 rs_sta_dbgfs_rate_scale_data_read 3 47165 NULL
-+dn_alloc_send_pskb_4465 dn_alloc_send_pskb 2 4465 NULL
-+at76_set_card_command_4471 at76_set_card_command 4 4471 NULL
++ocfs2_read_block_12659 ocfs2_read_block 0 12659 NULL
+trusted_update_12664 trusted_update 3 12664 NULL
-+rxrpc_sendmsg_29049 rxrpc_sendmsg 4 29049 NULL
-+tso_fragment_29050 tso_fragment 3 29050 NULL
-+compat_dccp_setsockopt_51263 compat_dccp_setsockopt 5 51263 NULL
-+recv_control_msg_4476 recv_control_msg 5 4476 NULL
+sel_read_class_12669 sel_read_class 3 12669 NULL nohasharray
+sparse_mem_maps_populate_node_12669 sparse_mem_maps_populate_node 4 12669 &sel_read_class_12669
-+osst_execute_17607 osst_execute 7-6 17607 NULL
-+cifs_setxattr_23957 cifs_setxattr 4 23957 NULL
-+xd_write_multiple_pages_53633 xd_write_multiple_pages 5-6 53633 NULL
-+ccid_getsockopt_builtin_ccids_53634 ccid_getsockopt_builtin_ccids 2 53634 NULL
-+kvm_read_guest_page_mmu_37611 kvm_read_guest_page_mmu 6 37611 NULL
-+init_per_cpu_17880 init_per_cpu 1 17880 NULL
-+iso_packets_buffer_init_29061 iso_packets_buffer_init 3-4 29061 NULL
-+sys_semtimedop_4486 sys_semtimedop 3 4486 NULL
-+isr_dma1_done_read_48159 isr_dma1_done_read 3 48159 NULL
-+udp_sendmsg_4492 udp_sendmsg 4 4492 NULL
-+ieee80211_probereq_get_29069 ieee80211_probereq_get 4-6 29069 NULL
-+iwl3945_ucode_tx_stats_read_20879 iwl3945_ucode_tx_stats_read 3 20879 NULL
-+bfad_debugfs_write_regwr_61841 bfad_debugfs_write_regwr 3 61841 NULL
-+uapsd_max_sp_len_read_53651 uapsd_max_sp_len_read 3 53651 NULL
-+_alloc_cdb_cont_23609 _alloc_cdb_cont 2 23609 NULL
-+nr_sendmsg_53656 nr_sendmsg 4 53656 NULL
-+rb_simple_write_20890 rb_simple_write 3 20890 NULL
-+l1oip_socket_parse_4507 l1oip_socket_parse 4 4507 NULL
-+tracing_read_dyn_info_45468 tracing_read_dyn_info 3 45468 NULL
-+c101_run_37279 c101_run 2 37279 NULL
-+srp_target_alloc_37288 srp_target_alloc 3 37288 NULL
-+ieee80211_if_read_ave_beacon_64924 ieee80211_if_read_ave_beacon 3 64924 NULL
-+sctp_getsockopt_active_key_45483 sctp_getsockopt_active_key 2 45483 NULL
+ieee80211_if_read_num_buffered_multicast_12716 ieee80211_if_read_num_buffered_multicast 3 12716 NULL
-+c4_add_card_54968 c4_add_card 3 54968 NULL
-+compat_sys_readv_20911 compat_sys_readv 3 20911 NULL
-+fuse_fill_write_pages_53682 fuse_fill_write_pages 4 53682 NULL
-+sys_llistxattr_4532 sys_llistxattr 3 4532 NULL
-+isdn_ppp_write_29109 isdn_ppp_write 4 29109 NULL
-+jffs2_write_dirent_37311 jffs2_write_dirent 5 37311 NULL
+key_rx_spec_read_12736 key_rx_spec_read 3 12736 NULL
-+videobuf_vmalloc_to_sg_4548 videobuf_vmalloc_to_sg 2 4548 NULL
-+rds_message_copy_from_user_45510 rds_message_copy_from_user 3 45510 NULL
-+ieee80211_rtl_auth_challenge_61897 ieee80211_rtl_auth_challenge 3 61897 NULL
-+cxgb4_pktgl_to_skb_61899 cxgb4_pktgl_to_skb 2 61899 NULL
-+brcmf_sdbrcm_membytes_37324 brcmf_sdbrcm_membytes 3-5 37324 NULL
-+svc_pool_map_alloc_arrays_47181 svc_pool_map_alloc_arrays 2 47181 NULL
-+clear_refs_write_61904 clear_refs_write 3 61904 NULL
-+scsi_mode_select_37330 scsi_mode_select 6 37330 NULL
-+rxrpc_server_sendmsg_37331 rxrpc_server_sendmsg 4 37331 NULL
-+altera_set_ir_post_20948 altera_set_ir_post 2 20948 NULL
-+proc_scsi_write_29142 proc_scsi_write 3 29142 NULL
-+security_context_to_sid_default_3492 security_context_to_sid_default 2 3492 NULL nohasharray
-+efi_ioremap_3492 efi_ioremap 1-2 3492 &security_context_to_sid_default_3492
-+sys_lgetxattr_45531 sys_lgetxattr 4 45531 NULL
-+cgroup_read_u64_45532 cgroup_read_u64 5 45532 NULL
-+au0828_init_isoc_61917 au0828_init_isoc 2-3 61917 NULL
-+copy_macs_45534 copy_macs 4 45534 NULL
-+sctp_sendmsg_61919 sctp_sendmsg 4 61919 NULL
-+xfs_attrmulti_attr_set_59346 xfs_attrmulti_attr_set 4 59346 NULL
++ieee80211_if_read_dot11MeshMaxRetries_12756 ieee80211_if_read_dot11MeshMaxRetries 3 12756 NULL
+listxattr_12769 listxattr 3 12769 NULL
-+wdm_write_53735 wdm_write 3 53735 NULL
-+v9fs_direct_read_45546 v9fs_direct_read 3 45546 NULL
-+send_bulk_static_data_61932 send_bulk_static_data 3 61932 NULL
-+cx18_copy_mdl_to_user_45549 cx18_copy_mdl_to_user 4 45549 NULL
-+sock_kmalloc_62205 sock_kmalloc 2 62205 NULL
++sctp_ssnmap_init_12772 sctp_ssnmap_init 2-3 12772 NULL
+platform_create_bundle_12785 platform_create_bundle 4-6 12785 NULL
-+brcmf_tx_frame_20978 brcmf_tx_frame 3 20978 NULL
-+key_tx_spec_read_4862 key_tx_spec_read 3 4862 NULL
-+stats_dot11ACKFailureCount_read_45558 stats_dot11ACKFailureCount_read 3 45558 NULL
-+alg_setsockopt_20985 alg_setsockopt 5 20985 NULL
-+venus_rmdir_45564 venus_rmdir 4 45564 NULL
-+rbd_create_rw_ops_4605 rbd_create_rw_ops 2 4605 NULL
+scsi_adjust_queue_depth_12802 scsi_adjust_queue_depth 3 12802 NULL
-+squashfs_read_id_index_table_61961 squashfs_read_id_index_table 4 61961 NULL
+xfs_inumbers_fmt_12817 xfs_inumbers_fmt 3 12817 NULL
-+ipath_create_cq_45586 ipath_create_cq 2 45586 NULL
-+wusb_prf_256_29203 wusb_prf_256 7 29203 NULL
-+rtllib_authentication_req_26713 rtllib_authentication_req 3 26713 NULL
-+rdma_set_ib_paths_45592 rdma_set_ib_paths 3 45592 NULL
-+iwl_dbgfs_tx_queue_read_4635 iwl_dbgfs_tx_queue_read 3 4635 NULL
-+rds_iw_inc_copy_to_user_29214 rds_iw_inc_copy_to_user 3 29214 NULL
+TSS_authhmac_12839 TSS_authhmac 3 12839 NULL
-+iwl_dbgfs_temperature_read_29224 iwl_dbgfs_temperature_read 3 29224 NULL
-+virtnet_send_command_61993 virtnet_send_command 5-6 61993 NULL
-+sys_getxattr_37418 sys_getxattr 4 37418 NULL
-+regmap_raw_write_53803 regmap_raw_write 4 53803 NULL
-+hci_sock_sendmsg_37420 hci_sock_sendmsg 4 37420 NULL
++spidev_sync_12842 spidev_sync 0 12842 NULL
++twl4030_init_irq_12843 twl4030_init_irq 2 12843 NULL
+spidev_ioctl_12846 spidev_ioctl 2 12846 NULL
-+smk_read_doi_30813 smk_read_doi 3 30813 NULL
-+audit_log_n_hex_45617 audit_log_n_hex 3 45617 NULL
-+devm_ioremap_29235 devm_ioremap 2-3 29235 NULL
-+tty_insert_flip_string_fixed_flag_37428 tty_insert_flip_string_fixed_flag 4 37428 NULL
-+recover_peb_29238 recover_peb 6-7 29238 NULL
-+map_addr_4666 map_addr 6 4666 NULL
-+setup_data_read_53822 setup_data_read 3 53822 NULL
-+security_context_to_sid_core_29248 security_context_to_sid_core 2 29248 NULL
-+proc_fault_inject_write_21058 proc_fault_inject_write 3 21058 NULL
-+i915_gem_execbuffer_relocate_slow_25355 i915_gem_execbuffer_relocate_slow 7 25355 NULL
-+jffs2_do_unlink_62020 jffs2_do_unlink 4 62020 NULL
-+mempool_kmalloc_53831 mempool_kmalloc 2 53831 NULL
-+sm_checker_extend_23615 sm_checker_extend 2 23615 NULL
-+skb_add_data_nocache_4682 skb_add_data_nocache 4 4682 NULL
-+sctp_getsockopt_rtoinfo_62027 sctp_getsockopt_rtoinfo 2 62027 NULL
-+short_retry_limit_read_4687 short_retry_limit_read 3 4687 NULL
-+pmcraid_build_passthrough_ioadls_62034 pmcraid_build_passthrough_ioadls 2 62034 NULL
-+proc_fdinfo_read_62043 proc_fdinfo_read 3 62043 NULL
-+ppp_tx_cp_62044 ppp_tx_cp 5 62044 NULL
-+prism2_set_genericelement_29277 prism2_set_genericelement 3 29277 NULL
-+sctp_user_addto_chunk_62047 sctp_user_addto_chunk 2-3 62047 NULL
-+cxgbi_alloc_big_mem_4707 cxgbi_alloc_big_mem 1 4707 NULL
-+trusted_instantiate_4710 trusted_instantiate 3 4710 NULL
-+savemem_58129 savemem 3 58129 NULL
-+do_pselect_62061 do_pselect 1 62061 NULL
-+btmrvl_gpiogap_read_4718 btmrvl_gpiogap_read 3 4718 NULL
-+dgram_sendmsg_45679 dgram_sendmsg 4 45679 NULL
-+pms_read_53873 pms_read 3 53873 NULL
-+ati_create_gatt_pages_4722 ati_create_gatt_pages 1 4722 NULL nohasharray
-+show_header_4722 show_header 3 4722 &ati_create_gatt_pages_4722
-+ip_options_get_from_user_64958 ip_options_get_from_user 4 64958 NULL
-+sn9c102_read_29305 sn9c102_read 3 29305 NULL
-+pcpu_alloc_bootmem_62074 pcpu_alloc_bootmem 2 62074 NULL
-+smk_write_ambient_45691 smk_write_ambient 3 45691 NULL
-+ip_nat_sip_expect_45693 ip_nat_sip_expect 7 45693 NULL
++crypt_status_12876 crypt_status 4 12876 NULL
++get_leb_cnt_12892 get_leb_cnt 0-2 12892 NULL
++ocfs2_hamming_encode_block_12904 ocfs2_hamming_encode_block 2 12904 NULL
++get_virtual_node_size_12908 get_virtual_node_size 0 12908 NULL
++rds_pages_in_vec_12922 rds_pages_in_vec 0 12922 NULL
+ci_ll_init_12930 ci_ll_init 3 12930 NULL
-+unix_dgram_sendmsg_45699 unix_dgram_sendmsg 4 45699 NULL
-+ieee80211_wx_set_gen_ie_rsl_3521 ieee80211_wx_set_gen_ie_rsl 3 3521 NULL
-+sg_proc_write_adio_45704 sg_proc_write_adio 3 45704 NULL
-+vmalloc_32_user_37519 vmalloc_32_user 1 37519 NULL
-+proc_file_read_53905 proc_file_read 3 53905 NULL
-+dvb_ca_en50221_init_45718 dvb_ca_en50221_init 4 45718 NULL
-+__alloc_ei_netdev_29338 __alloc_ei_netdev 1 29338 NULL
-+jffs2_security_setxattr_62107 jffs2_security_setxattr 4 62107 NULL
-+new_skb_21148 new_skb 1 21148 NULL
-+bcsp_prepare_pkt_12961 bcsp_prepare_pkt 3 12961 NULL
-+l2cap_sock_setsockopt_old_29346 l2cap_sock_setsockopt_old 4 29346 NULL
++do_inode_permission_12946 do_inode_permission 0 12946 NULL
+bm_status_write_12964 bm_status_write 3 12964 NULL
-+aes_decrypt_interrupt_read_19910 aes_decrypt_interrupt_read 3 19910 NULL
-+snd_cs46xx_io_read_45734 snd_cs46xx_io_read 5 45734 NULL
-+wusb_ccm_mac_32199 wusb_ccm_mac 7 32199 NULL
-+ip6_ufo_append_data_4780 ip6_ufo_append_data 5-7-6 4780 NULL
-+pcpu_embed_first_chunk_24224 pcpu_embed_first_chunk 1-3-2 24224 NULL
-+rfcomm_sock_sendmsg_37661 rfcomm_sock_sendmsg 4 37661 NULL nohasharray
-+vmw_framebuffer_dmabuf_dirty_37661 vmw_framebuffer_dmabuf_dirty 6 37661 &rfcomm_sock_sendmsg_37661
-+v4l2_ctrl_new_std_45748 v4l2_ctrl_new_std 5 45748 NULL
-+qib_diag_write_62133 qib_diag_write 3 62133 NULL
-+lkdtm_debugfs_read_45752 lkdtm_debugfs_read 3 45752 NULL
-+sctp_make_chunk_12986 sctp_make_chunk 4 12986 NULL
+acpi_tb_install_table_12988 acpi_tb_install_table 1 12988 NULL
+TransmitTcb_12989 TransmitTcb 4 12989 NULL
-+mthca_setup_cmd_doorbells_53954 mthca_setup_cmd_doorbells 2 53954 NULL
-+ncp__vol2io_4804 ncp__vol2io 5 4804 NULL
-+video_usercopy_62151 video_usercopy 2 62151 NULL
-+cx18_v4l2_read_21196 cx18_v4l2_read 3 21196 NULL
-+alloc_ts_config_45775 alloc_ts_config 1 45775 NULL
-+xhci_alloc_streams_37586 xhci_alloc_streams 5 37586 NULL
-+ath6kl_tm_rx_report_44494 ath6kl_tm_rx_report 3 44494 NULL
-+bnx2i_send_nl_mesg_53353 bnx2i_send_nl_mesg 4 53353 NULL
-+idetape_chrdev_write_53976 idetape_chrdev_write 3 53976 NULL
-+dvb_ca_en50221_io_write_43533 dvb_ca_en50221_io_write 3 43533 NULL
-+___alloc_bootmem_nopanic_53626 ___alloc_bootmem_nopanic 1 53626 NULL
+subsystem_filter_write_13022 subsystem_filter_write 3 13022 NULL
-+nfs_idmap_request_key_45791 nfs_idmap_request_key 2 45791 NULL
-+raw_setsockopt_45800 raw_setsockopt 5 45800 NULL
-+alloc_upcall_62186 alloc_upcall 2 62186 NULL
-+__iio_allocate_sw_ring_buffer_4843 __iio_allocate_sw_ring_buffer 3 4843 NULL
-+lbs_rdbbp_read_45805 lbs_rdbbp_read 3 45805 NULL
-+ide_driver_proc_write_32493 ide_driver_proc_write 3 32493 NULL
-+ubi_eba_atomic_leb_change_13041 ubi_eba_atomic_leb_change 5 13041 NULL
-+pcpu_alloc_alloc_info_45813 pcpu_alloc_alloc_info 1-2 45813 NULL
-+input_ff_create_21240 input_ff_create 2 21240 NULL
-+tomoyo_write_log2_11732 tomoyo_write_log2 2 11732 NULL
-+mempool_create_29437 mempool_create 1 29437 NULL
-+sock_alloc_send_pskb_21246 sock_alloc_send_pskb 2 21246 NULL
-+acpi_os_allocate_14892 acpi_os_allocate 1 14892 NULL
++generic_segment_checks_13041 generic_segment_checks 0 13041 NULL nohasharray
++ubi_eba_atomic_leb_change_13041 ubi_eba_atomic_leb_change 5 13041 &generic_segment_checks_13041
++ocfs2_write_begin_13045 ocfs2_write_begin 3-4 13045 NULL
+__dn_setsockopt_13060 __dn_setsockopt 5 13060 NULL
-+alloc_fd_37637 alloc_fd 1 37637 NULL
-+amthi_read_45831 amthi_read 4 45831 NULL
-+cmpk_message_handle_tx_54024 cmpk_message_handle_tx 4 54024 NULL
-+check_unicast_packet_62217 check_unicast_packet 2 62217 NULL
-+hid_register_field_4874 hid_register_field 2-3 4874 NULL
-+hash_new_62224 hash_new 1 62224 NULL
-+tcp_dma_try_early_copy_37651 tcp_dma_try_early_copy 3 37651 NULL
-+ipxrtr_route_packet_54036 ipxrtr_route_packet 4 54036 NULL
-+vga_arb_read_4886 vga_arb_read 3 4886 NULL
-+sys_ipc_4889 sys_ipc 3 4889 NULL
-+bio_copy_user_iov_37660 bio_copy_user_iov 4 37660 NULL
-+smp_build_cmd_45853 smp_build_cmd 3 45853 NULL
-+nfsd_read_file_62241 nfsd_read_file 6 62241 NULL
-+iwl_legacy_dbgfs_rxon_filter_flags_read_37666 iwl_legacy_dbgfs_rxon_filter_flags_read 3 37666 NULL
-+rs_sta_dbgfs_scale_table_read_40262 rs_sta_dbgfs_scale_table_read 3 40262 NULL
-+do_register_entry_29478 do_register_entry 4 29478 NULL
-+isdn_write_45863 isdn_write 3 45863 NULL
-+regmap_map_read_file_37685 regmap_map_read_file 3 37685 NULL
++irq_set_chip_and_handler_13088 irq_set_chip_and_handler 1 13088 NULL
++xattr_getsecurity_13090 xattr_getsecurity 0 13090 NULL
++blk_rq_map_sg_13092 blk_rq_map_sg 0 13092 NULL
++mb_find_next_zero_bit_13100 mb_find_next_zero_bit 2-3 13100 NULL
++ubifs_compat_ioctl_13108 ubifs_compat_ioctl 3 13108 NULL
+snd_rme96_playback_copy_13111 snd_rme96_playback_copy 5 13111 NULL
-+vmw_gmr2_bind_21305 vmw_gmr2_bind 3 21305 NULL
-+get_rdac_req_45882 get_rdac_req 3 45882 NULL
-+store_cpufv_disabled_43809 store_cpufv_disabled 4 43809 NULL
++xen_allocate_irq_dynamic_13116 xen_allocate_irq_dynamic 0 13116 NULL
+bfad_debugfs_read_13119 bfad_debugfs_read 3 13119 NULL
-+sys_process_vm_writev_4928 sys_process_vm_writev 3-5 4928 NULL
-+ntfs_rl_insert_4931 ntfs_rl_insert 2-4 4931 NULL
-+store_bluetooth_21320 store_bluetooth 4 21320 NULL
-+ip_make_skb_13129 ip_make_skb 5-6 13129 NULL
-+ftrace_profile_read_21327 ftrace_profile_read 3 21327 NULL
-+atk_debugfs_ggrp_read_29522 atk_debugfs_ggrp_read 3 29522 NULL
-+iwl_legacy_tx_queue_init_21332 iwl_legacy_tx_queue_init 3 21332 NULL
-+sctp_getsockopt_associnfo_58169 sctp_getsockopt_associnfo 2 58169 NULL
-+create_xattr_54106 create_xattr 5 54106 NULL
-+udplite_getfrag_14479 udplite_getfrag 3-4 14479 NULL
-+dbgfs_frame_45917 dbgfs_frame 3 45917 NULL
-+devm_kzalloc_4966 devm_kzalloc 2 4966 NULL
-+compat_rawv6_setsockopt_4967 compat_rawv6_setsockopt 5 4967 NULL
-+udf_sb_alloc_partition_maps_62313 udf_sb_alloc_partition_maps 2 62313 NULL
-+kstrtos8_from_user_58268 kstrtos8_from_user 2 58268 NULL
-+crypto_authenc_esn_setkey_6985 crypto_authenc_esn_setkey 3 6985 NULL
-+_malloc_54077 _malloc 1 54077 NULL
-+read_enabled_file_bool_37744 read_enabled_file_bool 3 37744 NULL
-+store_sys_acpi_54129 store_sys_acpi 4 54129 NULL
-+hfcpci_empty_bfifo_62323 hfcpci_empty_bfifo 4 62323 NULL
++blk_update_request_13146 blk_update_request 3 13146 NULL
++flakey_status_13154 flakey_status 4 13154 NULL
+caif_stream_recvmsg_13173 caif_stream_recvmsg 4 13173 NULL
-+ocfs2_control_cfu_37750 ocfs2_control_cfu 2 37750 NULL
-+Wb35Reg_BurstWrite_62327 Wb35Reg_BurstWrite 4 62327 NULL
+pwr_disable_ps_read_13176 pwr_disable_ps_read 3 13176 NULL
-+idetape_queue_rw_tail_29562 idetape_queue_rw_tail 3 29562 NULL
-+alloc_orinocodev_21371 alloc_orinocodev 1 21371 NULL
-+leaf_dealloc_29566 leaf_dealloc 3 29566 NULL
-+btmrvl_pscmd_write_29504 btmrvl_pscmd_write 3 29504 NULL
-+lbs_lowsnr_read_29571 lbs_lowsnr_read 3 29571 NULL
-+video_ioctl2_21380 video_ioctl2 2 21380 NULL
-+dccp_setsockopt_cscov_37766 dccp_setsockopt_cscov 2 37766 NULL
-+asn1_oid_decode_4999 asn1_oid_decode 2 4999 NULL
-+ipath_resize_cq_712 ipath_resize_cq 2 712 NULL
++compat_put_ulong_13186 compat_put_ulong 1 13186 NULL
+comedi_read_13199 comedi_read 3 13199 NULL
-+flash_write_62354 flash_write 3 62354 NULL
-+rb_simple_read_45972 rb_simple_read 3 45972 NULL
+mmc_ext_csd_read_13205 mmc_ext_csd_read 3 13205 NULL
-+i2400m_zrealloc_2x_54166 i2400m_zrealloc_2x 3 54166 NULL nohasharray
-+memcpy_toiovec_54166 memcpy_toiovec 3 54166 &i2400m_zrealloc_2x_54166
-+ezusb_writememory_45976 ezusb_writememory 4 45976 NULL
-+mtd_device_parse_register_5024 mtd_device_parse_register 5 5024 NULL
-+acpi_os_read_memory_54186 acpi_os_read_memory 1-3 54186 NULL
-+smk_read_logging_37804 smk_read_logging 3 37804 NULL
-+video_read_28148 video_read 3 28148 NULL
-+tracing_saved_cmdlines_read_21434 tracing_saved_cmdlines_read 3 21434 NULL
-+altera_irscan_62396 altera_irscan 2 62396 NULL
++__nodes_fold_13215 __nodes_fold 4 13215 NULL
++svm_msrpm_offset_13220 svm_msrpm_offset 0-1 13220 NULL
+asix_read_cmd_13245 asix_read_cmd 5 13245 NULL
-+fw_download_code_13249 fw_download_code 3 13249 NULL
-+init_tid_tabs_13252 init_tid_tabs 2-4-3 13252 NULL
-+concat_writev_21451 concat_writev 3 21451 NULL
-+sierra_setup_urb_46029 sierra_setup_urb 5 46029 NULL
-+get_free_entries_46030 get_free_entries 1 46030 NULL
-+__register_chrdev_54223 __register_chrdev 2-3 54223 NULL
-+sctp_make_abort_user_29654 sctp_make_abort_user 3 29654 NULL
-+snd_midi_channel_alloc_set_28153 snd_midi_channel_alloc_set 1 28153 NULL
-+carl9170_rx_13272 carl9170_rx 3 13272 NULL
-+snd_mixart_BA1_read_5082 snd_mixart_BA1_read 5 5082 NULL
-+o2hb_debug_read_37851 o2hb_debug_read 3 37851 NULL
-+udplite_manip_pkt_62433 udplite_manip_pkt 2 62433 NULL
-+kfifo_copy_from_user_5091 kfifo_copy_from_user 3 5091 NULL
-+__vxge_hw_channel_allocate_55462 __vxge_hw_channel_allocate 3 55462 NULL
++init_tid_tabs_13252 init_tid_tabs 2-3-4 13252 NULL
++bio_integrity_trim_13259 bio_integrity_trim 3 13259 NULL
++pmcraid_notify_aen_13274 pmcraid_notify_aen 3 13274 NULL
++lpfc_idiag_mbxacc_get_setup_13282 lpfc_idiag_mbxacc_get_setup 0 13282 NULL
+platform_device_add_resources_13289 platform_device_add_resources 3 13289 NULL
-+new_lockspace_29674 new_lockspace 2 29674 NULL
-+capinc_tty_write_28539 capinc_tty_write 3 28539 NULL
-+dma_tx_errors_read_46060 dma_tx_errors_read 3 46060 NULL
-+sound_write_5102 sound_write 3 5102 NULL
-+read_file_xmit_21487 read_file_xmit 3 21487 NULL
-+e1000_check_copybreak_62448 e1000_check_copybreak 3 62448 NULL
-+ceph_msgpool_get_54258 ceph_msgpool_get 2 54258 NULL
-+iwmct_fw_parser_init_37876 iwmct_fw_parser_init 4 37876 NULL
-+wusb_prf_54261 wusb_prf 7 54261 NULL nohasharray
-+audio_write_54261 audio_write 4 54261 &wusb_prf_54261
-+sys_setxattr_37880 sys_setxattr 4 37880 NULL
-+dvb_net_sec_37884 dvb_net_sec 3 37884 NULL
-+sel_commit_bools_write_46077 sel_commit_bools_write 3 46077 NULL
-+mmc_alloc_sg_21504 mmc_alloc_sg 1 21504 NULL
-+kstrtou16_from_user_54274 kstrtou16_from_user 2 54274 NULL
-+tunables_write_59563 tunables_write 3 59563 NULL
-+osd_req_write_sg_50908 osd_req_write_sg 5 50908 NULL
-+dbg_leb_change_19969 dbg_leb_change 4 19969 NULL
-+nf_nat_mangle_udp_packet_13321 nf_nat_mangle_udp_packet 5-7 13321 NULL
-+altera_set_ir_pre_54103 altera_set_ir_pre 2 54103 NULL
-+dma_skb_copy_datagram_iovec_21516 dma_skb_copy_datagram_iovec 3-5 21516 NULL
-+ata_host_alloc_46094 ata_host_alloc 2 46094 NULL
-+probes_write_29711 probes_write 3 29711 NULL
-+btrfs_file_aio_write_21520 btrfs_file_aio_write 4 21520 NULL
++nf_nat_mangle_udp_packet_13321 nf_nat_mangle_udp_packet 7-5 13321 NULL
+us122l_ctl_msg_13330 us122l_ctl_msg 8 13330 NULL
-+altera_set_dr_post_54291 altera_set_dr_post 2 54291 NULL
-+ceph_dns_resolve_name_62488 ceph_dns_resolve_name 1-2 62488 NULL
+kvm_read_nested_guest_page_13337 kvm_read_nested_guest_page 5 13337 NULL
-+tipc_link_send_sections_fast_37920 tipc_link_send_sections_fast 4 37920 NULL
-+mlx4_en_create_rx_ring_62498 mlx4_en_create_rx_ring 3 62498 NULL
-+emi62_writememory_29731 emi62_writememory 4 29731 NULL
-+mlx4_ib_alloc_fast_reg_page_list_46119 mlx4_ib_alloc_fast_reg_page_list 2 46119 NULL
-+pkt_alloc_packet_data_37928 pkt_alloc_packet_data 1 37928 NULL
-+rxrpc_send_data_21553 rxrpc_send_data 5 21553 NULL
-+iwl_dbgfs_status_read_5171 iwl_dbgfs_status_read 3 5171 NULL
-+event_filter_write_56609 event_filter_write 3 56609 NULL
-+pn_raw_send_54330 pn_raw_send 2 54330 NULL
-+pep_sendmsg_62524 pep_sendmsg 4 62524 NULL
-+tomoyo_update_policy_40458 tomoyo_update_policy 2 40458 NULL
-+sfi_map_memory_5183 sfi_map_memory 1-2 5183 NULL
++mthca_alloc_mtt_range_13371 mthca_alloc_mtt_range 2 13371 NULL
+iso_sched_alloc_13377 iso_sched_alloc 1 13377 NULL nohasharray
+wep_key_not_found_read_13377 wep_key_not_found_read 3 13377 &iso_sched_alloc_13377
-+test_iso_queue_62534 test_iso_queue 5 62534 NULL
-+__alloc_dev_table_54343 __alloc_dev_table 2 54343 NULL
-+ddp_clear_map_46152 ddp_clear_map 4 46152 NULL
-+cxio_hal_init_resource_29771 cxio_hal_init_resource 2-7-6 29771 NULL nohasharray
-+ip_vs_conn_fill_param_sync_29771 ip_vs_conn_fill_param_sync 6 29771 &cxio_hal_init_resource_29771
-+__netlink_change_ngroups_46156 __netlink_change_ngroups 2 46156 NULL
-+sco_sock_sendmsg_62542 sco_sock_sendmsg 4 62542 NULL
-+_osd_realloc_seg_54352 _osd_realloc_seg 3 54352 NULL
-+pipe_set_size_5204 pipe_set_size 2 5204 NULL
-+tcf_hash_create_54360 tcf_hash_create 4 54360 NULL
-+ppp_cp_parse_cr_5214 ppp_cp_parse_cr 4 5214 NULL
+sky2_receive_13407 sky2_receive 2 13407 NULL
-+vfs_readlink_54368 vfs_readlink 3 54368 NULL
-+pep_recvmsg_19402 pep_recvmsg 4 19402 NULL
-+ocfs2_acl_from_xattr_21604 ocfs2_acl_from_xattr 2 21604 NULL
-+subsystem_filter_read_62310 subsystem_filter_read 3 62310 NULL
+encrypted_update_13414 encrypted_update 3 13414 NULL
-+vxge_os_dma_malloc_46184 vxge_os_dma_malloc 2 46184 NULL
+netxen_alloc_sds_rings_13417 netxen_alloc_sds_rings 2 13417 NULL
-+ah_alloc_tmp_54378 ah_alloc_tmp 2-3 54378 NULL
-+ssb_ioremap_5228 ssb_ioremap 2 5228 NULL
-+xfrm_user_policy_62573 xfrm_user_policy 4 62573 NULL
-+pointer_size_read_51863 pointer_size_read 3 51863 NULL
-+xlog_do_recovery_pass_21618 xlog_do_recovery_pass 3 21618 NULL
-+snd_pcm_oss_read2_54387 snd_pcm_oss_read2 3 54387 NULL
-+isdn_ppp_skb_push_5236 isdn_ppp_skb_push 2 5236 NULL
-+iwl_dbgfs_power_save_status_read_54392 iwl_dbgfs_power_save_status_read 3 54392 NULL
-+vfs_readv_38011 vfs_readv 3 38011 NULL
+keyring_read_13438 keyring_read 3 13438 NULL
+sctp_setsockopt_peer_primary_addr_13440 sctp_setsockopt_peer_primary_addr 3 13440 NULL
-+ath6kl_cfg80211_connect_event_13443 ath6kl_cfg80211_connect_event 7-9-8 13443 NULL
-+compat_sys_semtimedop_3606 compat_sys_semtimedop 3 3606 NULL
-+tm6000_i2c_recv_regs_46215 tm6000_i2c_recv_regs 5 46215 NULL
-+dsp_write_46218 dsp_write 2 46218 NULL
-+prism2_send_mgmt_62605 prism2_send_mgmt 4 62605 NULL nohasharray
-+nfsd_vfs_read_62605 nfsd_vfs_read 6 62605 &prism2_send_mgmt_62605
-+__probe_kernel_write_29842 __probe_kernel_write 3 29842 NULL
-+aggr_recv_addba_req_evt_38037 aggr_recv_addba_req_evt 4 38037 NULL
-+carl9170_rx_copy_data_21656 carl9170_rx_copy_data 2 21656 NULL
-+alloc_mr_45935 alloc_mr 1 45935 NULL
-+usblp_new_writeurb_22894 usblp_new_writeurb 2 22894 NULL
-+add_packet_54433 add_packet 3 54433 NULL
-+ems_pcmcia_add_card_62627 ems_pcmcia_add_card 2 62627 NULL
-+iwl_dbgfs_force_reset_read_62628 iwl_dbgfs_force_reset_read 3 62628 NULL
-+sm501_create_subdev_48668 sm501_create_subdev 3-4 48668 NULL nohasharray
-+sys_setgroups_48668 sys_setgroups 1 48668 &sm501_create_subdev_48668
-+nsm_create_handle_38060 nsm_create_handle 4 38060 NULL
-+atalk_sendmsg_21677 atalk_sendmsg 4 21677 NULL
-+ipv6_setsockopt_29871 ipv6_setsockopt 5 29871 NULL
-+sisusb_copy_memory_35016 sisusb_copy_memory 4 35016 NULL
-+lpfc_sli4_queue_alloc_62646 lpfc_sli4_queue_alloc 3 62646 NULL
-+alloc_ltalkdev_38071 alloc_ltalkdev 1 38071 NULL
-+tt_changes_fill_buffer_62649 tt_changes_fill_buffer 3 62649 NULL
-+nfc_targets_found_29886 nfc_targets_found 3 29886 NULL
-+pin_code_reply_29893 pin_code_reply 4 29893 NULL
-+tunables_read_36385 tunables_read 3 36385 NULL
-+evdev_ioctl_handler_21705 evdev_ioctl_handler 2 21705 NULL
-+request_key_auth_new_38092 request_key_auth_new 3 38092 NULL
-+drm_sman_init_21710 drm_sman_init 2-4-3 21710 NULL
-+write_62671 write 3 62671 NULL
-+isr_host_acknowledges_read_54136 isr_host_acknowledges_read 3 54136 NULL
++ath6kl_cfg80211_connect_event_13443 ath6kl_cfg80211_connect_event 7-8-9 13443 NULL
++mthca_buddy_alloc_13454 mthca_buddy_alloc 2 13454 NULL
++ocfs2_align_bytes_to_blocks_13512 ocfs2_align_bytes_to_blocks 2 13512 NULL
++core_status_13515 core_status 4 13515 NULL
+sctp_tsnmap_mark_13527 sctp_tsnmap_mark 2 13527 NULL
+bm_init_13529 bm_init 2 13529 NULL
-+check586_29914 check586 2 29914 NULL
-+snd_pcm_oss_write_38108 snd_pcm_oss_write 3 38108 NULL
-+printer_req_alloc_62687 printer_req_alloc 2 62687 NULL nohasharray
-+iwl_dbgfs_rx_statistics_read_62687 iwl_dbgfs_rx_statistics_read 3 62687 &printer_req_alloc_62687
-+ccid3_hc_rx_getsockopt_62331 ccid3_hc_rx_getsockopt 3 62331 NULL
-+reiserfs_allocate_list_bitmaps_21732 reiserfs_allocate_list_bitmaps 3 21732 NULL
-+cifs_idmap_key_instantiate_54503 cifs_idmap_key_instantiate 3 54503 NULL
-+pg_read_17276 pg_read 3 17276 NULL
-+sg_proc_write_dressz_46316 sg_proc_write_dressz 3 46316 NULL
-+ps_pspoll_utilization_read_5361 ps_pspoll_utilization_read 3 5361 NULL
-+cgroup_write_X64_54514 cgroup_write_X64 5 54514 NULL
-+uea_idma_write_64139 uea_idma_write 3 64139 NULL
-+bioset_integrity_create_62708 bioset_integrity_create 2 62708 NULL
-+rfc4106_set_key_54519 rfc4106_set_key 3 54519 NULL
-+cciss_allocate_sg_chain_blocks_5368 cciss_allocate_sg_chain_blocks 2-3 5368 NULL
-+mthca_alloc_init_21754 mthca_alloc_init 2 21754 NULL
-+l2down_create_21755 l2down_create 4 21755 NULL
-+viacam_read_54526 viacam_read 3 54526 NULL
-+opera1_usb_i2c_msgxfer_64521 opera1_usb_i2c_msgxfer 4 64521 NULL
++ubifs_get_idx_gc_leb_13566 ubifs_get_idx_gc_leb 0 13566 NULL
+read_file_antenna_13574 read_file_antenna 3 13574 NULL
-+__ntfs_copy_from_user_iovec_inatomic_38153 __ntfs_copy_from_user_iovec_inatomic 3-4 38153 NULL
-+setsockopt_54539 setsockopt 5 54539 NULL
-+gen_pool_add_21776 gen_pool_add 3 21776 NULL
-+iwl_dbgfs_chain_noise_read_46355 iwl_dbgfs_chain_noise_read 3 46355 NULL
+cache_write_13589 cache_write 3 13589 NULL
-+mpt_lan_receive_post_turbo_13592 mpt_lan_receive_post_turbo 2 13592 NULL
-+xfs_da_grow_inode_int_21785 xfs_da_grow_inode_int 3 21785 NULL
-+key_replays_read_62746 key_replays_read 3 62746 NULL
-+smk_write_direct_46363 smk_write_direct 3 46363 NULL
+aac_sa_ioremap_13596 aac_sa_ioremap 2 13596 NULL nohasharray
+irias_new_octseq_value_13596 irias_new_octseq_value 2 13596 &aac_sa_ioremap_13596
-+irias_add_octseq_attrib_29983 irias_add_octseq_attrib 4 29983 NULL
-+cdev_add_38176 cdev_add 2-3 38176 NULL
-+__ioremap_caller_21800 __ioremap_caller 1-2 21800 NULL
-+alloc_and_copy_ftrace_hash_29368 alloc_and_copy_ftrace_hash 1 29368 NULL
++usb_dump_interface_descriptor_13603 usb_dump_interface_descriptor 0 13603 NULL
+swap_cgroup_swapon_13614 swap_cgroup_swapon 2 13614 NULL
+wm8994_bulk_write_13615 wm8994_bulk_write 3 13615 NULL
-+init_chip_wc_pat_62768 init_chip_wc_pat 2 62768 NULL
-+nfsd_vfs_write_54577 nfsd_vfs_write 6 54577 NULL
-+ax25_sendmsg_62770 ax25_sendmsg 4 62770 NULL
-+rt2x00debug_write_rf_38195 rt2x00debug_write_rf 3 38195 NULL
-+fw_iso_buffer_init_54582 fw_iso_buffer_init 3 54582 NULL
-+__alloc_bootmem_node_high_65076 __alloc_bootmem_node_high 2 65076 NULL
-+get_ucode_user_38202 get_ucode_user 3 38202 NULL
-+fuse_file_aio_write_46399 fuse_file_aio_write 4 46399 NULL
++pmcraid_get_minor_13619 pmcraid_get_minor 0 13619 NULL
++iio_device_add_event_sysfs_13627 iio_device_add_event_sysfs 0 13627 NULL
+packet_snd_13634 packet_snd 3 13634 NULL
-+alloc_netdev_mqs_30030 alloc_netdev_mqs 1 30030 NULL
-+osd_req_list_partition_collections_38223 osd_req_list_partition_collections 5 38223 NULL
-+compat_do_arpt_set_ctl_12184 compat_do_arpt_set_ctl 4 12184 NULL
-+sfi_map_table_5462 sfi_map_table 1 5462 NULL
+blk_msg_write_13655 blk_msg_write 3 13655 NULL
-+scsi_vpd_inquiry_30040 scsi_vpd_inquiry 4 30040 NULL
-+inet_csk_listen_start_38233 inet_csk_listen_start 2 38233 NULL
-+fwSendNullPacket_54618 fwSendNullPacket 2 54618 NULL
-+tracing_total_entries_read_62817 tracing_total_entries_read 3 62817 NULL
++nfs_idmap_lookup_id_13665 nfs_idmap_lookup_id 2 13665 NULL
+cache_downcall_13666 cache_downcall 3 13666 NULL
-+port_fops_write_54627 port_fops_write 3 54627 NULL
-+xfs_efi_init_5476 xfs_efi_init 2 5476 NULL
-+mtrr_write_59622 mtrr_write 3 59622 NULL
-+acpi_tb_check_xsdt_21862 acpi_tb_check_xsdt 1 21862 NULL
-+cifs_security_flags_proc_write_5484 cifs_security_flags_proc_write 3 5484 NULL
-+cp210x_set_config_46447 cp210x_set_config 4 46447 NULL
-+sisusbcon_bmove_21873 sisusbcon_bmove 5-7-6 21873 NULL
-+tty_write_5494 tty_write 3 5494 NULL
-+xlog_recover_add_to_trans_62839 xlog_recover_add_to_trans 4 62839 NULL
-+tomoyo_update_domain_5498 tomoyo_update_domain 2 5498 NULL
-+ieee80211_if_read_auto_open_plinks_38268 ieee80211_if_read_auto_open_plinks 3 38268 NULL nohasharray
-+mthca_alloc_icm_table_38268 mthca_alloc_icm_table 3-4 38268 &ieee80211_if_read_auto_open_plinks_38268
-+dns_resolver_read_54658 dns_resolver_read 3 54658 NULL
-+skb_pad_17302 skb_pad 2 17302 NULL
-+line6_alloc_sysex_buffer_28225 line6_alloc_sysex_buffer 4 28225 NULL
-+cxgbi_ddp_reserve_30091 cxgbi_ddp_reserve 4 30091 NULL
-+snd_midi_channel_init_set_30092 snd_midi_channel_init_set 1 30092 NULL
-+tg3_run_loopback_30093 tg3_run_loopback 2 30093 NULL
-+spidev_message_5518 spidev_message 3 5518 NULL
-+vmemmap_alloc_block_43245 vmemmap_alloc_block 1 43245 NULL
-+bio_kmalloc_54672 bio_kmalloc 2 54672 NULL
-+evm_read_key_54674 evm_read_key 3 54674 NULL
-+nfs_writedata_alloc_62868 nfs_writedata_alloc 1 62868 NULL
-+sctp_make_op_error_space_5528 sctp_make_op_error_space 3 5528 NULL
-+qsfp_1_read_21915 qsfp_1_read 3 21915 NULL
-+do_proc_readlink_14096 do_proc_readlink 3 14096 NULL
-+profile_load_58267 profile_load 3 58267 NULL
-+resize_info_buffer_62889 resize_info_buffer 2 62889 NULL
-+if_spi_host_to_card_62890 if_spi_host_to_card 4 62890 NULL
-+u32_array_read_2219 u32_array_read 3 2219 NULL
-+if_write_51756 if_write 3 51756 NULL
-+addtgt_54703 addtgt 3 54703 NULL
-+mthca_alloc_cq_buf_46512 mthca_alloc_cq_buf 3 46512 NULL
-+vxge_device_register_7752 vxge_device_register 4 7752 NULL
-+brcmu_pkt_buf_get_skb_5556 brcmu_pkt_buf_get_skb 1 5556 NULL
-+isr_rx_headers_read_38325 isr_rx_headers_read 3 38325 NULL
-+rfkill_fop_read_54711 rfkill_fop_read 3 54711 NULL
-+recv_stream_30138 recv_stream 4 30138 NULL
-+u_memcpya_30139 u_memcpya 2-3 30139 NULL
-+getdqbuf_62908 getdqbuf 1 62908 NULL
-+bdx_rxdb_create_46525 bdx_rxdb_create 1 46525 NULL
-+_add_sg_continuation_descriptor_54721 _add_sg_continuation_descriptor 3 54721 NULL
-+fc_frame_alloc_fill_59394 fc_frame_alloc_fill 2 59394 NULL
-+fir16_create_5574 fir16_create 3 5574 NULL
-+bioset_create_5580 bioset_create 1 5580 NULL
-+ocfs2_control_write_54737 ocfs2_control_write 3 54737 NULL
++audit_unpack_string_13748 audit_unpack_string 3 13748 NULL
++ufs_dtog_13750 ufs_dtog 0-2 13750 NULL
+fb_sys_read_13778 fb_sys_read 3 13778 NULL
-+alloc_ldt_21972 alloc_ldt 2 21972 NULL
-+drm_mode_crtc_set_gamma_size_54742 drm_mode_crtc_set_gamma_size 2 54742 NULL
-+wep_iv_read_54744 wep_iv_read 3 54744 NULL
-+link_send_sections_long_46556 link_send_sections_long 4 46556 NULL
-+ldm_frag_add_5611 ldm_frag_add 2 5611 NULL
-+sctp_sf_abort_violation_38380 sctp_sf_abort_violation 6 38380 NULL
-+mempool_create_page_pool_30189 mempool_create_page_pool 1 30189 NULL
-+nf_nat_mangle_tcp_packet_8643 nf_nat_mangle_tcp_packet 5-7 8643 NULL
-+sock_setsockopt_50088 sock_setsockopt 5 50088 NULL
-+bat_ogm_aggregate_new_13813 bat_ogm_aggregate_new 2 13813 NULL
-+dn_sendmsg_38390 dn_sendmsg 4 38390 NULL
+random_read_13815 random_read 3 13815 NULL
-+sctp_getsockopt_auto_asconf_46584 sctp_getsockopt_auto_asconf 2 46584 NULL
-+usblp_ioctl_30203 usblp_ioctl 2 30203 NULL
-+hidp_output_raw_report_5629 hidp_output_raw_report 3 5629 NULL
-+read_4k_modal_eeprom_30212 read_4k_modal_eeprom 3 30212 NULL
-+flexcop_device_kmalloc_54793 flexcop_device_kmalloc 1 54793 NULL
-+snd_ac97_pcm_assign_30218 snd_ac97_pcm_assign 2 30218 NULL
-+ti_recv_22027 ti_recv 4 22027 NULL
-+iwm_wdev_alloc_38415 iwm_wdev_alloc 1 38415 NULL
-+ieee80211_if_read_dtim_count_38419 ieee80211_if_read_dtim_count 3 38419 NULL
-+dccp_manip_pkt_30229 dccp_manip_pkt 2 30229 NULL
-+parse_arg_5657 parse_arg 2 5657 NULL
+mtd_do_readoob_13850 mtd_do_readoob 4 13850 NULL
-+evdev_ioctl_compat_13851 evdev_ioctl_compat 2 13851 NULL
-+pcnet32_realloc_tx_ring_38428 pcnet32_realloc_tx_ring 3 38428 NULL
-+posix_clock_register_5662 posix_clock_register 2 5662 NULL
-+aes_decrypt_fail_read_54815 aes_decrypt_fail_read 3 54815 NULL
-+get_skb_63008 get_skb 2 63008 NULL
-+zd_usb_read_fw_22049 zd_usb_read_fw 4 22049 NULL
-+atalk_recvmsg_22053 atalk_recvmsg 4 22053 NULL
++evdev_ioctl_compat_13851 evdev_ioctl_compat 2-3 13851 NULL
+compat_ip_setsockopt_13870 compat_ip_setsockopt 5 13870 NULL
-+aircable_process_packet_46639 aircable_process_packet 5 46639 NULL
-+generic_perform_write_54832 generic_perform_write 3 54832 NULL
-+kstrtoull_from_user_63026 kstrtoull_from_user 2 63026 NULL
-+sctp_tsnmap_init_36446 sctp_tsnmap_init 2 36446 NULL
-+cx18_v4l2_ioctl_46647 cx18_v4l2_ioctl 2 46647 NULL
-+__vb2_perform_fileio_63033 __vb2_perform_fileio 3 63033 NULL
-+edac_mc_alloc_54846 edac_mc_alloc 1 54846 NULL
-+isr_pci_pm_read_30271 isr_pci_pm_read 3 30271 NULL
-+ufx_ops_write_54848 ufx_ops_write 3 54848 NULL
-+compat_readv_30273 compat_readv 3 30273 NULL
-+printer_read_54851 printer_read 3 54851 NULL
-+mem_rw_22085 mem_rw 3 22085 NULL
-+alloc_ep_req_54860 alloc_ep_req 2 54860 NULL
-+broadsheet_spiflash_rewrite_sector_54864 broadsheet_spiflash_rewrite_sector 2 54864 NULL
-+skcipher_sendmsg_30290 skcipher_sendmsg 4 30290 NULL
-+unlink1_63059 unlink1 3 63059 NULL
-+iwl4965_ucode_rx_stats_read_46676 iwl4965_ucode_rx_stats_read 3 46676 NULL
-+picolcd_fb_write_2318 picolcd_fb_write 3 2318 NULL
++snd_pcm_aio_read_13900 snd_pcm_aio_read 3 13900 NULL
+qla2x00_get_ctx_sp_13912 qla2x00_get_ctx_sp 3 13912 NULL
-+tcf_csum_ipv6_tcp_54877 tcf_csum_ipv6_tcp 4 54877 NULL
-+vmw_kms_readback_5727 vmw_kms_readback 6 5727 NULL
-+replay_log_leb_18704 replay_log_leb 3 18704 NULL
-+rts51x_transfer_data_partial_5735 rts51x_transfer_data_partial 6 5735 NULL
-+alloc_data_packet_46698 alloc_data_packet 1 46698 NULL
-+dev_names_read_38509 dev_names_read 3 38509 NULL
-+iscsi_create_iface_38510 iscsi_create_iface 5 38510 NULL
-+get_packet_5747 get_packet 3 5747 NULL
-+event_rx_mismatch_read_38518 event_rx_mismatch_read 3 38518 NULL
++ext3_xattr_block_get_13936 ext3_xattr_block_get 0 13936 NULL
++ocfs2_xa_value_truncate_13940 ocfs2_xa_value_truncate 2 13940 NULL
+iwl_dbgfs_protection_mode_read_13943 iwl_dbgfs_protection_mode_read 3 13943 NULL
++compat_chaninfo_13945 compat_chaninfo 2 13945 NULL
+ieee80211_if_read_min_discovery_timeout_13946 ieee80211_if_read_min_discovery_timeout 3 13946 NULL
-+sys_msgrcv_959 sys_msgrcv 3 959 NULL
+lpfc_idiag_queacc_read_13950 lpfc_idiag_queacc_read 3 13950 NULL
-+xfs_buf_get_uncached_51477 xfs_buf_get_uncached 2 51477 NULL
-+iscsi_pool_init_54913 iscsi_pool_init 2-4 54913 NULL
-+ath6kl_regwrite_read_48747 ath6kl_regwrite_read 3 48747 NULL
-+resource_from_user_30341 resource_from_user 3 30341 NULL
-+brcmf_alloc_pkt_and_read_63116 brcmf_alloc_pkt_and_read 2 63116 NULL nohasharray
-+iwl_dbgfs_sensitivity_read_63116 iwl_dbgfs_sensitivity_read 3 63116 &brcmf_alloc_pkt_and_read_63116
-+sctp_setsockopt_autoclose_5775 sctp_setsockopt_autoclose 3 5775 NULL
-+__vmalloc_node_flags_30352 __vmalloc_node_flags 1 30352 NULL
-+kstrtoul_from_user_64569 kstrtoul_from_user 2 64569 NULL
++snd_pcm_plug_slave_size_13967 snd_pcm_plug_slave_size 0-2 13967 NULL
+com90xx_found_13974 com90xx_found 3 13974 NULL
-+compat_sys_writev_5784 compat_sys_writev 3 5784 NULL
-+kstrtou32_from_user_30361 kstrtou32_from_user 2 30361 NULL
-+__vxge_hw_blockpool_malloc_5786 __vxge_hw_blockpool_malloc 2 5786 NULL
-+add_port_54941 add_port 2 54941 NULL
-+ib_send_cm_rtu_63138 ib_send_cm_rtu 3 63138 NULL
-+irda_sendmsg_dgram_38563 irda_sendmsg_dgram 4 38563 NULL
-+snd_nm256_playback_copy_38567 snd_nm256_playback_copy 5 38567 NULL
-+sys_get_mempolicy_30379 sys_get_mempolicy 3 30379 NULL
-+iwl_dbgfs_ucode_rx_stats_read_58023 iwl_dbgfs_ucode_rx_stats_read 3 58023 NULL
-+skb_copy_datagram_iovec_5806 skb_copy_datagram_iovec 2-4 5806 NULL
-+trace_options_core_read_47390 trace_options_core_read 3 47390 NULL
-+int_hw_irq_en_46776 int_hw_irq_en 3 46776 NULL
-+c4iw_init_resource_30393 c4iw_init_resource 2-3 30393 NULL
-+cosa_net_setup_rx_38594 cosa_net_setup_rx 2 38594 NULL
-+brcmf_sdcard_send_buf_54980 brcmf_sdcard_send_buf 6 54980 NULL
-+_rtl92s_firmware_downloadcode_14021 _rtl92s_firmware_downloadcode 3 14021 NULL
-+_queue_data_54983 _queue_data 4 54983 NULL
-+reportdesc_callback_38603 reportdesc_callback 3 38603 NULL
-+pfkey_sendmsg_47394 pfkey_sendmsg 4 47394 NULL
-+journal_init_revoke_56933 journal_init_revoke 2 56933 NULL
-+pep_indicate_38611 pep_indicate 5 38611 NULL
++qcam_read_13977 qcam_read 3 13977 NULL
++dsp_read_13980 dsp_read 2 13980 NULL
++bm_block_bits_13981 bm_block_bits 0 13981 NULL nohasharray
++dvb_demux_read_13981 dvb_demux_read 3 13981 &bm_block_bits_13981
++ieee80211_bss_info_update_13991 ieee80211_bss_info_update 4 13991 NULL
++btrfs_get_blocks_direct_14016 btrfs_get_blocks_direct 2 14016 NULL
+dvb_usercopy_14036 dvb_usercopy 2 14036 NULL
-+ceph_msg_new_5846 ceph_msg_new 2 5846 NULL
-+ixgb_check_copybreak_5847 ixgb_check_copybreak 3 5847 NULL
-+mem_write_22232 mem_write 3 22232 NULL
+read_def_modal_eeprom_14041 read_def_modal_eeprom 3 14041 NULL
-+_xfs_buf_get_pages_46811 _xfs_buf_get_pages 2 46811 NULL
-+rds_ib_inc_copy_to_user_55007 rds_ib_inc_copy_to_user 3 55007 NULL
-+compat_sys_move_pages_5861 compat_sys_move_pages 2 5861 NULL
-+cx231xx_v4l2_read_55014 cx231xx_v4l2_read 3 55014 NULL
++ieee80211_if_fmt_aid_14055 ieee80211_if_fmt_aid 3 14055 NULL
+sta_agg_status_read_14058 sta_agg_status_read 3 14058 NULL
-+compat_process_vm_rw_22254 compat_process_vm_rw 3-5 22254 NULL
-+audit_init_entry_38644 audit_init_entry 1 38644 NULL
-+enable_write_30456 enable_write 3 30456 NULL
-+urandom_read_30462 urandom_read 3 30462 NULL
-+mmc_send_cxd_data_38655 mmc_send_cxd_data 5 38655 NULL
-+__btrfs_direct_write_22273 __btrfs_direct_write 4 22273 NULL
-+smctr_process_rx_packet_13270 smctr_process_rx_packet 2 13270 NULL
-+qla2x00_adjust_sdev_qdepth_up_20097 qla2x00_adjust_sdev_qdepth_up 2 20097 NULL
-+nfs_dns_resolve_name_38670 nfs_dns_resolve_name 2 38670 NULL
-+port_show_regs_5904 port_show_regs 3 5904 NULL
-+write_head_30481 write_head 4 30481 NULL
-+ptp_read_63251 ptp_read 4 63251 NULL
-+uhci_debug_read_5911 uhci_debug_read 3 5911 NULL
++do_tcp_sendpages_14083 do_tcp_sendpages 3-4 14083 NULL
++do_proc_readlink_14096 do_proc_readlink 3 14096 NULL
+compat_sys_pselect6_14105 compat_sys_pselect6 1 14105 NULL
-+__netdev_alloc_skb_ip_align_55067 __netdev_alloc_skb_ip_align 2 55067 NULL
-+__tun_chr_ioctl_22300 __tun_chr_ioctl 4 22300 NULL
-+stk_allocate_buffers_16291 stk_allocate_buffers 2 16291 NULL
-+mesh_table_alloc_22305 mesh_table_alloc 1 22305 NULL
-+ttm_bo_kmap_ttm_5922 ttm_bo_kmap_ttm 3 5922 NULL
-+iscsi_iser_recv_41948 iscsi_iser_recv 4 41948 NULL
-+lbs_highsnr_read_5931 lbs_highsnr_read 3 5931 NULL
-+udpv6_sendmsg_22316 udpv6_sendmsg 4 22316 NULL
-+edac_device_alloc_ctl_info_5941 edac_device_alloc_ctl_info 1 5941 NULL
-+sisusbcon_scroll_area_25899 sisusbcon_scroll_area 3-4 25899 NULL
++nlmsg_len_14115 nlmsg_len 0 14115 NULL
+ntfs_rl_replace_14136 ntfs_rl_replace 2-4 14136 NULL
-+tcp_collapse_63294 tcp_collapse 5-6 63294 NULL
-+isdn_ppp_ccp_xmit_reset_63297 isdn_ppp_ccp_xmit_reset 6 63297 NULL
-+crypto_shash_setkey_60483 crypto_shash_setkey 3 60483 NULL
-+tipc_subseq_alloc_5957 tipc_subseq_alloc 1 5957 NULL
-+kstrtos16_from_user_28300 kstrtos16_from_user 2 28300 NULL
-+tracing_ctrl_read_46922 tracing_ctrl_read 3 46922 NULL
+gsm_dlci_data_14155 gsm_dlci_data 3 14155 NULL
-+fb_write_46924 fb_write 3 46924 NULL
-+dns_resolver_instantiate_63314 dns_resolver_instantiate 3 63314 NULL
-+btmrvl_curpsmode_read_46939 btmrvl_curpsmode_read 3 46939 NULL
-+crypto_ahash_setkey_55134 crypto_ahash_setkey 3 55134 NULL
-+netdev_alloc_skb_62437 netdev_alloc_skb 2 62437 NULL
-+disk_expand_part_tbl_30561 disk_expand_part_tbl 2 30561 NULL
-+evdev_ioctl_22371 evdev_ioctl 2 22371 NULL
-+__sctp_setsockopt_connectx_46949 __sctp_setsockopt_connectx 3 46949 NULL
-+proc_info_read_63344 proc_info_read 3 63344 NULL
++print_input_mask_14168 print_input_mask 3-0 14168 NULL
++ocfs2_xattr_value_truncate_14183 ocfs2_xattr_value_truncate 3 14183 NULL
+tcp_manip_pkt_14202 tcp_manip_pkt 2 14202 NULL
-+iwl_dbgfs_thermal_throttling_read_38779 iwl_dbgfs_thermal_throttling_read 3 38779 NULL
-+ubifs_leb_change_22399 ubifs_leb_change 4 22399 NULL nohasharray
-+alloc_private_22399 alloc_private 2 22399 &ubifs_leb_change_22399
-+snd_gus_dram_write_38784 snd_gus_dram_write 4 38784 NULL
-+gre_manip_pkt_38785 gre_manip_pkt 2 38785 NULL
-+ps_upsd_max_sptime_read_63362 ps_upsd_max_sptime_read 3 63362 NULL
-+zoran_write_22404 zoran_write 3 22404 NULL
-+sctp_getsockopt_peer_addr_info_6024 sctp_getsockopt_peer_addr_info 2 6024 NULL
-+xfs_dir2_block_to_sf_37868 xfs_dir2_block_to_sf 3 37868 NULL
++alloc_async_14208 alloc_async 1 14208 NULL
+sys_kexec_load_14222 sys_kexec_load 2 14222 NULL
-+queue_reply_22416 queue_reply 3 22416 NULL
-+sgl_map_user_pages_30610 sgl_map_user_pages 2 30610 NULL
-+sel_write_bool_46996 sel_write_bool 3 46996 NULL
-+ntfs_rl_append_6037 ntfs_rl_append 2-4 6037 NULL
-+ttm_bo_io_47000 ttm_bo_io 5 47000 NULL
-+sel_write_relabel_55195 sel_write_relabel 3 55195 NULL
-+edac_pci_alloc_ctl_info_63388 edac_pci_alloc_ctl_info 1 63388 NULL
-+ipv6_renew_option_38813 ipv6_renew_option 3 38813 NULL
-+sched_feat_write_55202 sched_feat_write 3 55202 NULL
-+dma_declare_coherent_memory_14244 dma_declare_coherent_memory 2-4 14244 NULL
-+macvtap_sendmsg_30629 macvtap_sendmsg 4 30629 NULL
-+ht40allow_map_read_55209 ht40allow_map_read 3 55209 NULL nohasharray
-+isdn_net_ciscohdlck_alloc_skb_55209 isdn_net_ciscohdlck_alloc_skb 2 55209 &ht40allow_map_read_55209
-+compat_raw_setsockopt_30634 compat_raw_setsockopt 5 30634 NULL
-+scsi_dispatch_cmd_entry_49848 scsi_dispatch_cmd_entry 3 49848 NULL
-+rxpipe_missed_beacon_host_int_trig_rx_data_read_63405 rxpipe_missed_beacon_host_int_trig_rx_data_read 3 63405 NULL
-+do_raw_setsockopt_55215 do_raw_setsockopt 5 55215 NULL
-+cx231xx_init_bulk_47024 cx231xx_init_bulk 3-2 47024 NULL
-+sctp_abort_pkt_new_55218 sctp_abort_pkt_new 5 55218 NULL
-+direct_entry_38836 direct_entry 3 38836 NULL
-+compat_udp_setsockopt_38840 compat_udp_setsockopt 5 38840 NULL
-+send_video_command_6073 send_video_command 4 6073 NULL nohasharray
-+sctp_setsockopt_connectx_6073 sctp_setsockopt_connectx 3 6073 &send_video_command_6073
-+noack_read_63419 noack_read 3 63419 NULL
-+tipc_port_reject_sections_55229 tipc_port_reject_sections 5 55229 NULL
-+mgmt_event_46069 mgmt_event 4 46069 NULL
++dma_declare_coherent_memory_14244 dma_declare_coherent_memory 4-2 14244 NULL
++snd_soc_hw_bulk_write_raw_14245 snd_soc_hw_bulk_write_raw 4 14245 NULL
++reiserfs_compat_ioctl_14265 reiserfs_compat_ioctl 3 14265 NULL
++ath6kl_connect_event_14267 ath6kl_connect_event 7-8-9 14267 NULL
+add_numbered_child_14273 add_numbered_child 5 14273 NULL
-+l2cap_sock_sendmsg_63427 l2cap_sock_sendmsg 4 63427 NULL
-+OS_mem_token_alloc_14276 OS_mem_token_alloc 1 14276 NULL
-+iwl_dbgfs_debug_level_read_63430 iwl_dbgfs_debug_level_read 3 63430 NULL
-+agp_remap_30665 agp_remap 2 30665 NULL
-+interfaces_38859 interfaces 2 38859 NULL
-+memcpy_fromiovec_55247 memcpy_fromiovec 3 55247 NULL
-+nfsd_symlink_63442 nfsd_symlink 6 63442 NULL
-+__get_vm_area_node_55305 __get_vm_area_node 1 55305 NULL
-+cache_write_procfs_22491 cache_write_procfs 3 22491 NULL
++em28xx_i2c_eeprom_14280 em28xx_i2c_eeprom 3 14280 NULL
++snd_seq_oss_readq_new_14283 snd_seq_oss_readq_new 2 14283 NULL
++rr_status_14293 rr_status 5 14293 NULL
+read_default_ldt_14302 read_default_ldt 2 14302 NULL
-+dfs_global_file_write_6112 dfs_global_file_write 3 6112 NULL
-+alloc_dca_provider_59670 alloc_dca_provider 2 59670 NULL
-+timeradd_entry_49850 timeradd_entry 3 49850 NULL
-+dccp_setsockopt_ccid_30701 dccp_setsockopt_ccid 4 30701 NULL
-+scsi_deactivate_tcq_47086 scsi_deactivate_tcq 2 47086 NULL
-+mwifiex_getlog_read_54269 mwifiex_getlog_read 3 54269 NULL
-+snd_info_entry_write_63474 snd_info_entry_write 3 63474 NULL
++oo_objects_14319 oo_objects 0 14319 NULL
+iwl_legacy_dbgfs_interrupt_read_14324 iwl_legacy_dbgfs_interrupt_read 3 14324 NULL
-+wled_proc_write_30709 wled_proc_write 3 30709 NULL
-+netfs_trans_alloc_6136 netfs_trans_alloc 2-4 6136 NULL
-+rx_streaming_interval_read_55291 rx_streaming_interval_read 3 55291 NULL
-+read_kcore_63488 read_kcore 3 63488 NULL
-+lbs_debugfs_read_30721 lbs_debugfs_read 3 30721 NULL
-+sel_write_load_63830 sel_write_load 3 63830 NULL
-+gsm_control_modem_55303 gsm_control_modem 3 55303 NULL
+p9_client_zc_rpc_14345 p9_client_zc_rpc 7 14345 NULL
-+iscsi_conn_setup_35159 iscsi_conn_setup 2 35159 NULL
-+ivtv_copy_buf_to_user_6159 ivtv_copy_buf_to_user 4 6159 NULL
-+pskb_may_pull_22546 pskb_may_pull 2 22546 NULL
-+mousedev_read_47123 mousedev_read 3 47123 NULL
-+ieee80211_if_read_bssid_35161 ieee80211_if_read_bssid 3 35161 NULL
-+agp_alloc_page_array_22554 agp_alloc_page_array 1 22554 NULL
-+vdma_mem_alloc_6171 vdma_mem_alloc 1 6171 NULL
-+wl1251_cmd_template_set_6172 wl1251_cmd_template_set 4 6172 NULL
-+ses_recv_diag_47143 ses_recv_diag 4 47143 NULL nohasharray
-+acpi_ut_initialize_buffer_47143 acpi_ut_initialize_buffer 2 47143 &ses_recv_diag_47143
-+sock_rmalloc_59740 sock_rmalloc 2 59740 NULL nohasharray
-+ieee80211_if_read_fwded_unicast_59740 ieee80211_if_read_fwded_unicast 3 59740 &sock_rmalloc_59740
-+vme_user_read_55338 vme_user_read 3 55338 NULL
-+ubi_more_leb_change_data_63534 ubi_more_leb_change_data 4 63534 NULL
-+cxio_init_resource_fifo_random_47151 cxio_init_resource_fifo_random 3 47151 NULL
-+write_rio_54837 write_rio 3 54837 NULL
-+fuse_conn_limit_write_30777 fuse_conn_limit_write 3 30777 NULL nohasharray
-+tcf_csum_ipv4_udp_30777 tcf_csum_ipv4_udp 4 30777 &fuse_conn_limit_write_30777
-+__hidp_send_ctrl_message_28303 __hidp_send_ctrl_message 4 28303 NULL
-+ddp_ppod_write_idata_25610 ddp_ppod_write_idata 5 25610 NULL
-+append_to_buffer_63550 append_to_buffer 3 63550 NULL
++snd_pcm_lib_readv_14363 snd_pcm_lib_readv 0-3 14363 NULL
++acpi_get_override_irq_14381 acpi_get_override_irq 1 14381 NULL
++ath6kl_regdump_read_14393 ath6kl_regdump_read 3 14393 NULL
+smk_write_onlycap_14400 smk_write_onlycap 3 14400 NULL
-+acpi_system_read_event_55362 acpi_system_read_event 3 55362 NULL
-+kvm_write_guest_page_63555 kvm_write_guest_page 5 63555 NULL
-+nfc_alloc_skb_6216 nfc_alloc_skb 1 6216 NULL
-+snapshot_read_22601 snapshot_read 3 22601 NULL
-+OSDSetBlock_38986 OSDSetBlock 2-4 38986 NULL
-+v4l2_ctrl_new_std_menu_6221 v4l2_ctrl_new_std_menu 4 6221 NULL
+mtd_concat_create_14416 mtd_concat_create 2 14416 NULL
-+mqueue_read_file_6228 mqueue_read_file 3 6228 NULL
-+ioremap_cache_47189 ioremap_cache 1-2 47189 NULL
-+ubi_write_30809 ubi_write 4-5 30809 NULL
++get_kcore_size_14425 get_kcore_size 0 14425 NULL
+easycap_alsa_vmalloc_14426 easycap_alsa_vmalloc 2 14426 NULL
-+t4vf_pktgl_to_skb_39005 t4vf_pktgl_to_skb 2 39005 NULL
-+f_hidg_read_6238 f_hidg_read 3 6238 NULL
-+lpfc_debugfs_dif_err_write_17424 lpfc_debugfs_dif_err_write 3 17424 NULL
-+get_nodes_39012 get_nodes 3 39012 NULL
-+module_alloc_update_bounds_47205 module_alloc_update_bounds 1 47205 NULL
-+fbcon_prepare_logo_6246 fbcon_prepare_logo 5 6246 NULL
-+sctp_setsockopt_connectx_old_22631 sctp_setsockopt_connectx_old 3 22631 NULL
-+ide_core_cp_entry_22636 ide_core_cp_entry 3 22636 NULL
-+iwl_dbgfs_plcp_delta_read_55407 iwl_dbgfs_plcp_delta_read 3 55407 NULL
-+disp_proc_write_39024 disp_proc_write 3 39024 NULL
-+rawv6_recvmsg_30265 rawv6_recvmsg 4 30265 NULL
-+mthca_map_reg_5664 mthca_map_reg 2-3 5664 NULL
-+_zd_iowrite32v_async_locked_39034 _zd_iowrite32v_async_locked 3 39034 NULL
-+sctp_setsockopt_auth_chunk_30843 sctp_setsockopt_auth_chunk 3 30843 NULL
-+read_oldmem_55658 read_oldmem 3 55658 NULL
-+xenbus_file_write_6282 xenbus_file_write 3 6282 NULL
-+options_write_47243 options_write 3 47243 NULL
-+module_alloc_63630 module_alloc 1 63630 NULL
-+alloc_skb_55439 alloc_skb 1 55439 NULL
-+iwl4965_rs_sta_dbgfs_stats_table_read_6289 iwl4965_rs_sta_dbgfs_stats_table_read 3 6289 NULL
-+portcntrs_1_read_47253 portcntrs_1_read 3 47253 NULL
++gart_alloc_coherent_14437 gart_alloc_coherent 2 14437 NULL
++check_lpt_crc_14442 check_lpt_crc 0 14442 NULL
++block_size_14443 block_size 0 14443 NULL
++snd_emu10k1_proc_spdif_status_14457 snd_emu10k1_proc_spdif_status 4-5 14457 NULL
++udplite_getfrag_14479 udplite_getfrag 3-4 14479 NULL
+ieee80211_if_read_dot11MeshGateAnnouncementProtocol_14486 ieee80211_if_read_dot11MeshGateAnnouncementProtocol 3 14486 NULL
-+l2tp_ip_recvmsg_22681 l2tp_ip_recvmsg 4 22681 NULL
-+proc_loginuid_write_63648 proc_loginuid_write 3 63648 NULL
-+vmemmap_alloc_block_buf_61126 vmemmap_alloc_block_buf 1 61126 NULL
-+ValidateDSDParamsChecksum_63654 ValidateDSDParamsChecksum 3 63654 NULL
-+pn_recvmsg_30887 pn_recvmsg 4 30887 NULL
-+befs_utf2nls_25628 befs_utf2nls 3 25628 NULL
-+hidraw_ioctl_63658 hidraw_ioctl 2 63658 NULL
+ocfs2_debug_read_14507 ocfs2_debug_read 3 14507 NULL
-+lbs_threshold_read_21046 lbs_threshold_read 5 21046 NULL
-+tty_audit_log_47280 tty_audit_log 8 47280 NULL
-+alloc_libipw_22708 alloc_libipw 1 22708 NULL
-+fc_host_post_vendor_event_30903 fc_host_post_vendor_event 3 30903 NULL
-+iwl4965_rs_sta_dbgfs_scale_table_read_63672 iwl4965_rs_sta_dbgfs_scale_table_read 3 63672 NULL
-+vbi_read_63673 vbi_read 3 63673 NULL
-+i2o_pool_alloc_55485 i2o_pool_alloc 4 55485 NULL
-+brcmf_sdbrcm_read_control_22721 brcmf_sdbrcm_read_control 3 22721 NULL
-+read_flush_pipefs_20171 read_flush_pipefs 3 20171 NULL
-+tx_internal_desc_overflow_read_47300 tx_internal_desc_overflow_read 3 47300 NULL
-+iommu_map_mmio_space_30919 iommu_map_mmio_space 1 30919 NULL
-+dataflash_read_user_otp_14536 dataflash_read_user_otp 3-2 14536 NULL nohasharray
++dataflash_read_user_otp_14536 dataflash_read_user_otp 2-3 14536 NULL nohasharray
+ep0_write_14536 ep0_write 3 14536 &dataflash_read_user_otp_14536
-+channel_type_read_47308 channel_type_read 3 47308 NULL
-+dvb_ringbuffer_pkt_read_user_4303 dvb_ringbuffer_pkt_read_user 3-5-2 4303 NULL
-+cx18_copy_buf_to_user_22735 cx18_copy_buf_to_user 4 22735 NULL
-+ax25_output_22736 ax25_output 2 22736 NULL
-+__kfifo_to_user_r_39123 __kfifo_to_user_r 3 39123 NULL
-+l2cap_send_cmd_14548 l2cap_send_cmd 4 14548 NULL
+picolcd_debug_eeprom_read_14549 picolcd_debug_eeprom_read 3 14549 NULL
+drm_vmalloc_dma_14550 drm_vmalloc_dma 1 14550 NULL
-+cfpkt_pad_trail_55511 cfpkt_pad_trail 2 55511 NULL
-+cmtp_add_msgpart_9252 cmtp_add_msgpart 4 9252 NULL
-+xfs_iext_add_indirect_multi_32400 xfs_iext_add_indirect_multi 3 32400 NULL
-+sctp_setsockopt_rtoinfo_30941 sctp_setsockopt_rtoinfo 3 30941 NULL
-+hfcpci_empty_fifo_2427 hfcpci_empty_fifo 4 2427 NULL
-+_proc_do_string_6376 _proc_do_string 2 6376 NULL
-+nfs4_reset_slot_table_63721 nfs4_reset_slot_table 2 63721 NULL
-+osd_req_read_sg_kern_6378 osd_req_read_sg_kern 5 6378 NULL
-+read_cis_cache_29735 read_cis_cache 4 29735 NULL
-+ata_scsi_change_queue_depth_23126 ata_scsi_change_queue_depth 2 23126 NULL
-+alloc_ring_39151 alloc_ring 2-4 39151 NULL
-+sctp_getsockopt_assoc_number_6384 sctp_getsockopt_assoc_number 2 6384 NULL
-+proc_coredump_filter_read_39153 proc_coredump_filter_read 3 39153 NULL
-+orig_node_del_if_28371 orig_node_del_if 2 28371 NULL
++usb_dump_desc_14553 usb_dump_desc 0 14553 NULL
+nfqnl_mangle_14583 nfqnl_mangle 2 14583 NULL
-+tty_insert_flip_string_flags_30969 tty_insert_flip_string_flags 4 30969 NULL
-+ieee80211_if_read_dot11MeshHoldingTimeout_47356 ieee80211_if_read_dot11MeshHoldingTimeout 3 47356 NULL
+idmap_pipe_downcall_14591 idmap_pipe_downcall 3 14591 NULL
-+selinux_secctx_to_secid_63744 selinux_secctx_to_secid 2 63744 NULL
-+send_control_msg_62261 send_control_msg 5 62261 NULL
-+isdn_add_channels_40905 isdn_add_channels 3 40905 NULL
-+bt_skb_alloc_6404 bt_skb_alloc 1 6404 NULL
-+vmw_kms_present_38130 vmw_kms_present 9 38130 NULL
-+__bio_map_kern_47379 __bio_map_kern 2-3 47379 NULL
-+init_list_set_39188 init_list_set 2-3 39188 NULL
-+ubi_more_update_data_39189 ubi_more_update_data 4 39189 NULL
-+snd_pcm_oss_read1_63771 snd_pcm_oss_read1 3 63771 NULL
-+l2up_create_6430 l2up_create 3 6430 NULL
-+ipr_change_queue_depth_6431 ipr_change_queue_depth 2 6431 NULL
-+__alloc_bootmem_node_nopanic_6432 __alloc_bootmem_node_nopanic 2 6432 NULL
-+spidev_compat_ioctl_63778 spidev_compat_ioctl 2 63778 NULL
-+add_partition_55588 add_partition 2 55588 NULL
-+lbs_host_sleep_read_31013 lbs_host_sleep_read 3 31013 NULL
-+kstrtou8_from_user_55599 kstrtou8_from_user 2 55599 NULL
-+read_file_disable_ani_6536 read_file_disable_ani 3 6536 NULL
-+macvtap_put_user_55609 macvtap_put_user 4 55609 NULL
-+ivtv_v4l2_write_39226 ivtv_v4l2_write 3 39226 NULL
-+selinux_setprocattr_55611 selinux_setprocattr 4 55611 NULL
++ocfs2_trim_group_14641 ocfs2_trim_group 4-3 14641 NULL
++dbJoin_14644 dbJoin 0 14644 NULL
+profile_replace_14652 profile_replace 3 14652 NULL
-+vzalloc_47421 vzalloc 1 47421 NULL
-+mwifiex_11n_create_rx_reorder_tbl_63806 mwifiex_11n_create_rx_reorder_tbl 4 63806 NULL
-+agp_create_user_memory_62955 agp_create_user_memory 1 62955 NULL
-+send_packet_52960 send_packet 4 52960 NULL
-+read_file_rcstat_22854 read_file_rcstat 3 22854 NULL
-+__videobuf_copy_stream_44769 __videobuf_copy_stream 4 44769 NULL
-+__vmalloc_node_39308 __vmalloc_node 1 39308 NULL
-+pktgen_if_write_55628 pktgen_if_write 3 55628 NULL
-+create_attr_set_22861 create_attr_set 1 22861 NULL
-+snd_opl4_mem_proc_read_63774 snd_opl4_mem_proc_read 5 63774 NULL
-+compat_sys_mq_timedsend_31060 compat_sys_mq_timedsend 3 31060 NULL
-+__skb_cow_39254 __skb_cow 2 39254 NULL
-+iscsi_offload_mesg_58425 iscsi_offload_mesg 5 58425 NULL
-+bnx2_nvram_write_7790 bnx2_nvram_write 4-2 7790 NULL
-+dvb_dmxdev_set_buffer_size_55643 dvb_dmxdev_set_buffer_size 2 55643 NULL
++ieee80211_if_fmt_rc_rateidx_mask_2ghz_14683 ieee80211_if_fmt_rc_rateidx_mask_2ghz 3 14683 NULL
+tsi148_master_set_14685 tsi148_master_set 4 14685 NULL
-+ncp_file_write_3813 ncp_file_write 3 3813 NULL
-+probe_bios_17467 probe_bios 1 17467 NULL
-+proc_pid_attr_write_63845 proc_pid_attr_write 3 63845 NULL
-+expand_fdtable_39273 expand_fdtable 2 39273 NULL
-+ttm_bo_ioremap_31082 ttm_bo_ioremap 2-3 31082 NULL
-+mei_read_6507 mei_read 3 6507 NULL
-+lpfc_idiag_queinfo_read_55662 lpfc_idiag_queinfo_read 3 55662 NULL
-+mdc800_device_read_22896 mdc800_device_read 3 22896 NULL
-+pohmelfs_setxattr_39281 pohmelfs_setxattr 4 39281 NULL
-+sctp_setsockopt_context_31091 sctp_setsockopt_context 3 31091 NULL
-+mei_registration_cdev_39284 mei_registration_cdev 2 39284 NULL
-+tpm_read_50344 tpm_read 3 50344 NULL
-+newpart_47485 newpart 6 47485 NULL
-+do_tune_cpucache_14828 do_tune_cpucache 2 14828 NULL
-+get_info_55681 get_info 3 55681 NULL
-+inet_listen_14723 inet_listen 2 14723 NULL
-+compat_sys_get_mempolicy_31109 compat_sys_get_mempolicy 3 31109 NULL
-+core_sys_select_47494 core_sys_select 1 47494 NULL
-+store_pwm1_62529 store_pwm1 4 62529 NULL
-+depth_read_31112 depth_read 3 31112 NULL
-+sisusb_write_mem_bulk_29678 sisusb_write_mem_bulk 4 29678 NULL
-+virtqueue_add_buf_22924 virtqueue_add_buf 3-4 22924 NULL
-+libfc_host_alloc_7917 libfc_host_alloc 2 7917 NULL
-+kvm_mmu_pte_write_31120 kvm_mmu_pte_write 2 31120 NULL
-+alloc_arraycache_47505 alloc_arraycache 2 47505 NULL
-+unlink_simple_47506 unlink_simple 3 47506 NULL
-+rndis_set_oid_6547 rndis_set_oid 4 6547 NULL
-+wdm_read_6549 wdm_read 3 6549 NULL
-+init_map_ipmac_63896 init_map_ipmac 3-4 63896 NULL
-+fb_alloc_cmap_6554 fb_alloc_cmap 2 6554 NULL
-+divas_write_63901 divas_write 3 63901 NULL
-+xhci_alloc_stream_info_63902 xhci_alloc_stream_info 3 63902 NULL
++u_audio_playback_14709 u_audio_playback 3 14709 NULL
++vfd_write_14717 vfd_write 3 14717 NULL
++__blk_end_request_14729 __blk_end_request 3 14729 NULL nohasharray
++do_mmap_14729 do_mmap 0 14729 &__blk_end_request_14729
+store_camera_14751 store_camera 4 14751 NULL
-+pcpu_mem_zalloc_22948 pcpu_mem_zalloc 1 22948 NULL
-+filter_read_61692 filter_read 3 61692 NULL
-+mtdswap_init_55719 mtdswap_init 2 55719 NULL
-+pohmelfs_readpages_trans_complete_63912 pohmelfs_readpages_trans_complete 2 63912 NULL
-+sel_read_handle_status_56139 sel_read_handle_status 3 56139 NULL
-+debugfs_read_62535 debugfs_read 3 62535 NULL
-+w9966_v4l_read_31148 w9966_v4l_read 3 31148 NULL
-+process_vm_rw_47533 process_vm_rw 3-5 47533 NULL
-+alloc_sglist_22960 alloc_sglist 1-3-2 22960 NULL
-+caif_seqpkt_sendmsg_22961 caif_seqpkt_sendmsg 4 22961 NULL
-+cfpkt_split_47541 cfpkt_split 2 47541 NULL
-+__copy_from_user_nocache_39351 __copy_from_user_nocache 3 39351 NULL
-+ledd_proc_write_63928 ledd_proc_write 3 63928 NULL
-+btmrvl_pscmd_read_24308 btmrvl_pscmd_read 3 24308 NULL
-+__iio_allocate_kfifo_55738 __iio_allocate_kfifo 2-3 55738 NULL
-+ipw_write_59807 ipw_write 3 59807 NULL
++qla82xx_pci_mem_write_2M_14765 qla82xx_pci_mem_write_2M 2 14765 NULL
+sta_dev_read_14782 sta_dev_read 3 14782 NULL
-+tipc_send2port_63935 tipc_send2port 5 63935 NULL
-+ch_do_scsi_31171 ch_do_scsi 4 31171 NULL
-+afs_send_simple_reply_63940 afs_send_simple_reply 3 63940 NULL
-+cycx_setup_47562 cycx_setup 4 47562 NULL
-+remote_settings_file_write_22987 remote_settings_file_write 3 22987 NULL
++cp_tm1217_read_14792 cp_tm1217_read 3 14792 NULL
+ext4_kvmalloc_14796 ext4_kvmalloc 1 14796 NULL
-+macvtap_recvmsg_63949 macvtap_recvmsg 4 63949 NULL
-+input_mt_init_slots_31183 input_mt_init_slots 2 31183 NULL
+nfs_parse_server_name_14800 nfs_parse_server_name 2 14800 NULL
-+read_ldt_47570 read_ldt 2 47570 NULL
-+snd_gus_dram_read_56686 snd_gus_dram_read 4 56686 NULL
-+tomoyo_init_log_14806 tomoyo_init_log 2 14806 NULL
-+pci_iomap_47575 pci_iomap 3 47575 NULL
-+acpi_ex_system_memory_space_handler_31192 acpi_ex_system_memory_space_handler 2 31192 NULL
-+kimage_normal_alloc_31140 kimage_normal_alloc 3 31140 NULL
-+module_alloc_update_bounds_rw_63233 module_alloc_update_bounds_rw 1 63233 NULL
-+ecryptfs_filldir_6622 ecryptfs_filldir 3 6622 NULL
-+drm_ht_create_18853 drm_ht_create 2 18853 NULL
-+qlcnic_alloc_msix_entries_46160 qlcnic_alloc_msix_entries 2 46160 NULL
-+ieee80211_authentication_req_63973 ieee80211_authentication_req 3 63973 NULL
-+dn_alloc_skb_6631 dn_alloc_skb 2 6631 NULL
-+command_file_write_31318 command_file_write 3 31318 NULL
-+viafb_dvp0_proc_write_23023 viafb_dvp0_proc_write 3 23023 NULL
-+iwl_legacy_dbgfs_tx_statistics_read_63987 iwl_legacy_dbgfs_tx_statistics_read 3 63987 NULL
-+atm_get_addr_31221 atm_get_addr 3 31221 NULL
-+user_power_read_39414 user_power_read 3 39414 NULL
-+uwb_rc_neh_grok_event_55799 uwb_rc_neh_grok_event 3 55799 NULL
-+uea_request_47613 uea_request 4 47613 NULL
-+cache_read_pipefs_47615 cache_read_pipefs 3 47615 NULL
-+read_file_frameerrors_64001 read_file_frameerrors 3 64001 NULL
-+alloc_agpphysmem_i8xx_39427 alloc_agpphysmem_i8xx 1 39427 NULL
-+tcp_recvmsg_31238 tcp_recvmsg 4 31238 NULL
-+iwl_legacy_dbgfs_sensitivity_read_55816 iwl_legacy_dbgfs_sensitivity_read 3 55816 NULL
++snd_als300_gcr_read_14801 snd_als300_gcr_read 0 14801 NULL nohasharray
++hpet_readl_14801 hpet_readl 0 14801 &snd_als300_gcr_read_14801
++bcma_scan_read32_14802 bcma_scan_read32 0 14802 NULL
++do_tune_cpucache_14828 do_tune_cpucache 2 14828 NULL
++__mutex_fastpath_lock_retval_14844 __mutex_fastpath_lock_retval 0 14844 NULL
+lcd_write_14857 lcd_write 3 14857 NULL nohasharray
+__krealloc_14857 __krealloc 2 14857 &lcd_write_14857
-+_create_sg_bios_31244 _create_sg_bios 4 31244 NULL
+get_user_cpu_mask_14861 get_user_cpu_mask 2 14861 NULL
-+kvm_pv_mmu_write_47630 kvm_pv_mmu_write 2 47630 NULL
-+kmemdup_64015 kmemdup 2 64015 NULL
-+ivtv_serialized_ioctl_47632 ivtv_serialized_ioctl 3 47632 NULL
-+kmalloc_section_memmap_46168 kmalloc_section_memmap 3 46168 NULL
-+reiserfs_add_entry_23062 reiserfs_add_entry 4 23062 NULL nohasharray
-+unix_seqpacket_recvmsg_23062 unix_seqpacket_recvmsg 4 23062 &reiserfs_add_entry_23062
-+process_rcvd_data_6679 process_rcvd_data 3 6679 NULL
-+ieee80211_if_read_last_beacon_31257 ieee80211_if_read_last_beacon 3 31257 NULL
-+sb16_copy_from_user_55836 sb16_copy_from_user 10-7-6 55836 NULL
-+frequency_read_64031 frequency_read 3 64031 NULL nohasharray
-+resize_async_buffer_64031 resize_async_buffer 4 64031 &frequency_read_64031
-+sys_semop_39457 sys_semop 3 39457 NULL
-+xfs_da_buf_make_55845 xfs_da_buf_make 1 55845 NULL
-+ceph_copy_page_vector_to_user_31270 ceph_copy_page_vector_to_user 4-3 31270 NULL
-+set_fd_set_35249 set_fd_set 1 35249 NULL
-+ieee80211_if_read_dot11MeshMaxRetries_12756 ieee80211_if_read_dot11MeshMaxRetries 3 12756 NULL
-+ps_pspoll_max_apturn_read_6699 ps_pspoll_max_apturn_read 3 6699 NULL
++sriov_enable_migration_14889 sriov_enable_migration 2 14889 NULL
++acpi_os_allocate_14892 acpi_os_allocate 1 14892 NULL
++ubi_leb_change_14899 ubi_leb_change 4 14899 NULL
++krealloc_14908 krealloc 2 14908 NULL
++__arch_hweight64_14923 __arch_hweight64 0 14923 NULL
++store_sys_wmi_14934 store_sys_wmi 4 14934 NULL
++ocfs2_expand_nonsparse_inode_14936 ocfs2_expand_nonsparse_inode 3-4 14936 NULL
++queue_cnt_14951 queue_cnt 0 14951 NULL
++videobuf_read_stream_14956 videobuf_read_stream 3 14956 NULL
++help_14971 help 4 14971 NULL
++mce_flush_rx_buffer_14976 mce_flush_rx_buffer 2 14976 NULL
++setkey_14987 setkey 3 14987 NULL
++store_touchpad_15003 store_touchpad 4 15003 NULL
++vmap_15025 vmap 2 15025 NULL
++blk_integrity_tuple_size_15027 blk_integrity_tuple_size 0 15027 NULL
++irq_get_next_irq_15053 irq_get_next_irq 1 15053 NULL
++store_lslvl_15059 store_lslvl 4 15059 NULL
++nfs4_write_cached_acl_15070 nfs4_write_cached_acl 4 15070 NULL
++ntfs_copy_from_user_15072 ntfs_copy_from_user 3-5 15072 NULL
++ubifs_write_node_15088 ubifs_write_node 5-3 15088 NULL
++hex_dump_to_buffer_15121 hex_dump_to_buffer 6 15121 NULL
++start_port_15124 start_port 0 15124 NULL
++memchr_15126 memchr 0 15126 NULL
++ipwireless_ppp_mru_15153 ipwireless_ppp_mru 0 15153 NULL
++iscsi_create_endpoint_15193 iscsi_create_endpoint 1 15193 NULL
++reserve_resources_15194 reserve_resources 3 15194 NULL
++bfad_debugfs_write_regrd_15218 bfad_debugfs_write_regrd 3 15218 NULL
++udf_bitmap_new_block_15230 udf_bitmap_new_block 5 15230 NULL
++variax_alloc_sysex_buffer_15237 variax_alloc_sysex_buffer 3 15237 NULL
++compat_raw_ioctl_15290 compat_raw_ioctl 3 15290 NULL
++sys_connect_15291 sys_connect 3 15291 NULL nohasharray
++xlate_dev_mem_ptr_15291 xlate_dev_mem_ptr 1 15291 &sys_connect_15291
++arch_enable_uv_irq_15294 arch_enable_uv_irq 2 15294 NULL
++acpi_ev_create_gpe_block_15297 acpi_ev_create_gpe_block 5 15297 NULL
++tpm_tis_init_15304 tpm_tis_init 2-3 15304 NULL
++__ocfs2_remove_xattr_range_15330 __ocfs2_remove_xattr_range 4-5-3 15330 NULL
++ioread16_15342 ioread16 0 15342 NULL
++alloc_ring_15345 alloc_ring 2-4 15345 NULL
++acpi_ut_create_string_object_15360 acpi_ut_create_string_object 1 15360 NULL
++compat_sys_process_vm_readv_15374 compat_sys_process_vm_readv 3-5 15374 NULL
++fq_codel_zalloc_15378 fq_codel_zalloc 1 15378 NULL
++domain_flush_pages_15379 domain_flush_pages 2-3 15379 NULL
++alloc_fddidev_15382 alloc_fddidev 1 15382 NULL
++btrfs_level_size_15392 btrfs_level_size 0 15392 NULL
++get_modalias_15406 get_modalias 2 15406 NULL
++__videobuf_copy_to_user_15423 __videobuf_copy_to_user 4 15423 NULL
++tcp_mtu_to_mss_15438 tcp_mtu_to_mss 0-2 15438 NULL
++hpsa_change_queue_depth_15449 hpsa_change_queue_depth 2 15449 NULL
++vmalloc_15464 vmalloc 1 15464 NULL
++zd_chip_is_zd1211b_15518 zd_chip_is_zd1211b 0 15518 NULL
++p9_check_zc_errors_15534 p9_check_zc_errors 4 15534 NULL
++ql_process_mac_rx_page_15543 ql_process_mac_rx_page 4 15543 NULL
++persistent_status_15574 persistent_status 4 15574 NULL
++bnx2fc_process_unsol_compl_15576 bnx2fc_process_unsol_compl 2 15576 NULL
++vme_user_write_15587 vme_user_write 3 15587 NULL
++ocfs2_truncate_rec_15595 ocfs2_truncate_rec 7 15595 NULL
++get_event_length_15598 get_event_length 0 15598 NULL
++sx150x_install_irq_chip_15609 sx150x_install_irq_chip 3 15609 NULL
++iommu_device_max_index_15620 iommu_device_max_index 0-3-2-1 15620 NULL nohasharray
++compat_fillonedir_15620 compat_fillonedir 3 15620 &iommu_device_max_index_15620
++proc_loginuid_read_15631 proc_loginuid_read 3 15631 NULL
++tomoyo_scan_bprm_15642 tomoyo_scan_bprm 2-4 15642 NULL
++xsd_read_15653 xsd_read 3 15653 NULL
++compat_sys_fcntl_15654 compat_sys_fcntl 3 15654 NULL
++unix_bind_15668 unix_bind 3 15668 NULL
++dm_read_15674 dm_read 3 15674 NULL
++ocfs2_split_tree_15716 ocfs2_split_tree 5 15716 NULL
++HiSax_readstatus_15752 HiSax_readstatus 2 15752 NULL
++sk_wmem_schedule_15759 sk_wmem_schedule 2 15759 NULL
++bitmap_search_next_usable_block_15762 bitmap_search_next_usable_block 3-1 15762 NULL
++do_test_15766 do_test 1 15766 NULL
++smk_read_direct_15803 smk_read_direct 3 15803 NULL
++snd_pcm_ioctl_compat_15804 snd_pcm_ioctl_compat 3 15804 NULL
++gx1_read_conf_reg_15817 gx1_read_conf_reg 0 15817 NULL nohasharray
++gnttab_expand_15817 gnttab_expand 1 15817 &gx1_read_conf_reg_15817
++afs_proc_rootcell_write_15822 afs_proc_rootcell_write 3 15822 NULL nohasharray
++random_N_15822 random_N 1 15822 &afs_proc_rootcell_write_15822
++table_size_15851 table_size 0-1-2 15851 NULL
++ubi_io_write_15870 ubi_io_write 5-4 15870 NULL nohasharray
++media_entity_init_15870 media_entity_init 2-4 15870 &ubi_io_write_15870
++__mptctl_ioctl_15875 __mptctl_ioctl 2 15875 NULL
++nfs_map_group_to_gid_15892 nfs_map_group_to_gid 3 15892 NULL
++native_read_msr_15905 native_read_msr 0 15905 NULL
++parse_audio_stream_data_15937 parse_audio_stream_data 3 15937 NULL
++power_read_15939 power_read 3 15939 NULL
++lpfc_idiag_drbacc_read_15948 lpfc_idiag_drbacc_read 3 15948 NULL
++snd_pcm_lib_read_transfer_15952 snd_pcm_lib_read_transfer 4-2-5 15952 NULL
++process_vm_rw_pages_15954 process_vm_rw_pages 6-5 15954 NULL
++remap_pci_mem_15966 remap_pci_mem 1-2 15966 NULL
++frame_alloc_15981 frame_alloc 4 15981 NULL
++alloc_vm_area_15989 alloc_vm_area 1 15989 NULL
++get_entry_16003 get_entry 4 16003 NULL
++hdpvr_register_videodev_16010 hdpvr_register_videodev 3 16010 NULL
++viafb_vt1636_proc_write_16018 viafb_vt1636_proc_write 3 16018 NULL
++isr_tx_exch_complete_read_16103 isr_tx_exch_complete_read 3 16103 NULL
++dma_tx_requested_read_16110 dma_tx_requested_read 3 16110 NULL nohasharray
++isr_hw_pm_mode_changes_read_16110 isr_hw_pm_mode_changes_read 3 16110 &dma_tx_requested_read_16110
++irq_set_chip_and_handler_name_16111 irq_set_chip_and_handler_name 1 16111 NULL
++snd_dma_pointer_16126 snd_dma_pointer 0-2 16126 NULL
++compat_sys_select_16131 compat_sys_select 1 16131 NULL
++fsm_init_16134 fsm_init 2 16134 NULL
++ext4_xattr_block_get_16148 ext4_xattr_block_get 0 16148 NULL
++bnx2i_get_cid_num_16166 bnx2i_get_cid_num 0 16166 NULL
++cipso_v4_map_cat_rng_hton_16203 cipso_v4_map_cat_rng_hton 0 16203 NULL
++create_table_16213 create_table 2 16213 NULL
++atomic_read_file_16227 atomic_read_file 3 16227 NULL
++BcmGetSectionValStartOffset_16235 BcmGetSectionValStartOffset 0 16235 NULL
++btrfs_dev_extent_chunk_offset_16247 btrfs_dev_extent_chunk_offset 0 16247 NULL
++mark_written_sectors_16262 mark_written_sectors 2 16262 NULL
++reiserfs_acl_count_16265 reiserfs_acl_count 0-1 16265 NULL
++ocfs2_xattr_bucket_value_truncate_16279 ocfs2_xattr_bucket_value_truncate 4 16279 NULL
++drbd_setsockopt_16280 drbd_setsockopt 5 16280 NULL nohasharray
++nand_bch_init_16280 nand_bch_init 3-2 16280 &drbd_setsockopt_16280
++account_16283 account 0-2-4 16283 NULL
++stk_allocate_buffers_16291 stk_allocate_buffers 2 16291 NULL
++rsc_mgr_init_16299 rsc_mgr_init 3 16299 NULL
++vmw_cursor_update_image_16332 vmw_cursor_update_image 3-4 16332 NULL
++total_ps_buffered_read_16365 total_ps_buffered_read 3 16365 NULL
++iscsi_tcp_conn_setup_16376 iscsi_tcp_conn_setup 2 16376 NULL
++nl80211_send_unprot_deauth_16378 nl80211_send_unprot_deauth 4 16378 NULL
++alloc_trdev_16399 alloc_trdev 1 16399 NULL
++diva_os_malloc_16406 diva_os_malloc 2 16406 NULL
++ieee80211_if_read_tsf_16420 ieee80211_if_read_tsf 3 16420 NULL
++rxrpc_server_keyring_16431 rxrpc_server_keyring 3 16431 NULL
++netlink_change_ngroups_16457 netlink_change_ngroups 2 16457 NULL
++tracing_readme_read_16493 tracing_readme_read 3 16493 NULL
++snd_interval_max_16529 snd_interval_max 0 16529 NULL
++lpfc_debugfs_read_16566 lpfc_debugfs_read 3 16566 NULL
++agp_allocate_memory_wrap_16576 agp_allocate_memory_wrap 1 16576 NULL
++dlm_new_lockspace_16688 dlm_new_lockspace 2 16688 NULL
++calc_layout_16690 calc_layout 4 16690 NULL
++em28xx_v4l2_read_16701 em28xx_v4l2_read 3 16701 NULL
++arcmsr_adjust_disk_queue_depth_16756 arcmsr_adjust_disk_queue_depth 2 16756 NULL
++compat_blkdev_driver_ioctl_16769 compat_blkdev_driver_ioctl 4 16769 NULL
++blk_rq_map_user_iov_16772 blk_rq_map_user_iov 5 16772 NULL
++i2o_parm_issue_16790 i2o_parm_issue 0 16790 NULL
++get_server_iovec_16804 get_server_iovec 2 16804 NULL
++tipc_send2name_16809 tipc_send2name 6 16809 NULL
++dm_vcalloc_16814 dm_vcalloc 1-2 16814 NULL
++mled_proc_write_16831 mled_proc_write 3 16831 NULL nohasharray
++drm_malloc_ab_16831 drm_malloc_ab 1-2 16831 &mled_proc_write_16831
++scsi_mode_sense_16835 scsi_mode_sense 5 16835 NULL
++avc_has_perm_noaudit_16837 avc_has_perm_noaudit 3 16837 NULL
++hfsplus_min_io_size_16859 hfsplus_min_io_size 0 16859 NULL
++alloc_idx_lebs_16872 alloc_idx_lebs 2 16872 NULL
++carl9170_debugfs_ampdu_state_read_16873 carl9170_debugfs_ampdu_state_read 3 16873 NULL
++st_write_16874 st_write 3 16874 NULL
++__kfifo_peek_n_16877 __kfifo_peek_n 0 16877 NULL
++edac_align_ptr_16901 edac_align_ptr 0-2 16901 NULL
++mwifiex_update_curr_bss_params_16908 mwifiex_update_curr_bss_params 5 16908 NULL
++ivtv_v4l2_ioctl_16915 ivtv_v4l2_ioctl 2 16915 NULL
++psb_unlocked_ioctl_16926 psb_unlocked_ioctl 2 16926 NULL nohasharray
++snd_gf1_mem_proc_dump_16926 snd_gf1_mem_proc_dump 5 16926 &psb_unlocked_ioctl_16926
++random32_16937 random32 0 16937 NULL
++_sp2d_alloc_16944 _sp2d_alloc 1-2-3 16944 NULL
++squashfs_read_table_16945 squashfs_read_table 3 16945 NULL
++cfg80211_send_unprot_disassoc_16951 cfg80211_send_unprot_disassoc 3 16951 NULL
++keyctl_instantiate_key_iov_16969 keyctl_instantiate_key_iov 3 16969 NULL
++ceph_read_dir_17005 ceph_read_dir 3 17005 NULL
++copy_counters_to_user_17027 copy_counters_to_user 5 17027 NULL nohasharray
++iwm_if_alloc_17027 iwm_if_alloc 1 17027 &copy_counters_to_user_17027
++jffs2_trusted_setxattr_17048 jffs2_trusted_setxattr 4 17048 NULL
++__arch_hweight32_17060 __arch_hweight32 0 17060 NULL
++dvb_dvr_read_17073 dvb_dvr_read 3 17073 NULL
++simple_transaction_read_17076 simple_transaction_read 3 17076 NULL
++carl9170_debugfs_mem_usage_read_17084 carl9170_debugfs_mem_usage_read 3 17084 NULL
++mac_address_string_17091 mac_address_string 0 17091 NULL
++entry_length_17093 entry_length 0 17093 NULL
++sys_preadv_17100 sys_preadv 3 17100 NULL
++pvr2_hdw_state_report_17121 pvr2_hdw_state_report 3 17121 NULL
++mwifiex_get_common_rates_17131 mwifiex_get_common_rates 3 17131 NULL
++befs_nls2utf_17163 befs_nls2utf 3 17163 NULL
++pm860x_page_bulk_read_17174 pm860x_page_bulk_read 3 17174 NULL
++access_remote_vm_17189 access_remote_vm 0-2-4 17189 NULL
++driver_state_read_17194 driver_state_read 3 17194 NULL nohasharray
++iscsit_find_cmd_from_itt_or_dump_17194 iscsit_find_cmd_from_itt_or_dump 3 17194 &driver_state_read_17194
++dn_recvmsg_17213 dn_recvmsg 4 17213 NULL
++ms_rw_17220 ms_rw 3-4 17220 NULL
++alloc_ep_17269 alloc_ep 1 17269 NULL
++pg_read_17276 pg_read 3 17276 NULL
++raw_recvmsg_17277 raw_recvmsg 4 17277 NULL
++neigh_hash_grow_17283 neigh_hash_grow 2 17283 NULL
++minstrel_stats_read_17290 minstrel_stats_read 3 17290 NULL
++qla4_8xxx_pci_mem_read_direct_17301 qla4_8xxx_pci_mem_read_direct 2 17301 NULL
++skb_pad_17302 skb_pad 2 17302 NULL
++mb_cache_create_17307 mb_cache_create 2 17307 NULL
++iwm_umac_set_config_var_17320 iwm_umac_set_config_var 4 17320 NULL
++ata_host_alloc_pinfo_17325 ata_host_alloc_pinfo 3 17325 NULL
++lpfc_debugfs_dif_err_write_17424 lpfc_debugfs_dif_err_write 3 17424 NULL
++sta_connected_time_read_17435 sta_connected_time_read 3 17435 NULL
++nla_get_u32_17455 nla_get_u32 0 17455 NULL
++__ref_totlen_17461 __ref_totlen 0 17461 NULL
++compat_cmd_17465 compat_cmd 2 17465 NULL
++probe_bios_17467 probe_bios 1 17467 NULL
++TSS_rawhmac_17486 TSS_rawhmac 3 17486 NULL
++bitmap_pos_to_ord_17503 bitmap_pos_to_ord 3 17503 NULL
++restore_i387_fxsave_17528 restore_i387_fxsave 2 17528 NULL
++__cfg80211_roamed_17529 __cfg80211_roamed 5-7 17529 NULL
++__copy_to_user_17551 __copy_to_user 3 17551 NULL
++copy_from_user_17559 copy_from_user 3 17559 NULL
++acpi_ut_create_package_object_17594 acpi_ut_create_package_object 1 17594 NULL
++neigh_hash_alloc_17595 neigh_hash_alloc 1 17595 NULL
++rts51x_write_mem_17598 rts51x_write_mem 4 17598 NULL
++brcmf_process_nvram_vars_17601 brcmf_process_nvram_vars 0 17601 NULL nohasharray
++iwl_dump_nic_event_log_17601 iwl_dump_nic_event_log 0 17601 &brcmf_process_nvram_vars_17601
++osst_execute_17607 osst_execute 7-6 17607 NULL
++ocfs2_mark_extent_written_17615 ocfs2_mark_extent_written 6 17615 NULL
++packet_setsockopt_17662 packet_setsockopt 5 17662 NULL nohasharray
++ubi_io_read_data_17662 ubi_io_read_data 0 17662 &packet_setsockopt_17662
++pwr_enable_ps_read_17686 pwr_enable_ps_read 3 17686 NULL
++venus_rename_17707 venus_rename 5-4 17707 NULL
++multipath_status_17726 multipath_status 4 17726 NULL
++exofs_read_lookup_dev_table_17733 exofs_read_lookup_dev_table 3 17733 NULL
++sctpprobe_read_17741 sctpprobe_read 3 17741 NULL
++mark_unsafe_pages_17759 mark_unsafe_pages 0 17759 NULL
++_snd_pcm_lib_alloc_vmalloc_buffer_17820 _snd_pcm_lib_alloc_vmalloc_buffer 2 17820 NULL
++gnet_stats_copy_app_17821 gnet_stats_copy_app 3 17821 NULL
++cipso_v4_gentag_rbm_17836 cipso_v4_gentag_rbm 0 17836 NULL
++count_leafs_17842 count_leafs 0 17842 NULL
++sisusb_send_bulk_msg_17864 sisusb_send_bulk_msg 3 17864 NULL
++alloc_sja1000dev_17868 alloc_sja1000dev 1 17868 NULL
++ray_cs_essid_proc_write_17875 ray_cs_essid_proc_write 3 17875 NULL
++orinoco_set_key_17878 orinoco_set_key 5-7 17878 NULL
++init_per_cpu_17880 init_per_cpu 1 17880 NULL
++ieee80211_if_fmt_dot11MeshMaxPeerLinks_17883 ieee80211_if_fmt_dot11MeshMaxPeerLinks 3 17883 NULL
++compat_sys_pwritev_17886 compat_sys_pwritev 3 17886 NULL
++ieee80211_if_fmt_dot11MeshHWMPRootMode_17890 ieee80211_if_fmt_dot11MeshHWMPRootMode 3 17890 NULL
++ocfs2_clusters_to_blocks_17896 ocfs2_clusters_to_blocks 0-2 17896 NULL
++recover_head_17904 recover_head 3 17904 NULL
++dccp_feat_register_sp_17914 dccp_feat_register_sp 5 17914 NULL
++xfs_buf_associate_memory_17915 xfs_buf_associate_memory 3 17915 NULL
++srp_iu_pool_alloc_17920 srp_iu_pool_alloc 2 17920 NULL
++scsi_bufflen_17933 scsi_bufflen 0 17933 NULL
++ufs_free_blocks_17963 ufs_free_blocks 2-3 17963 NULL
++calc_nr_buckets_17976 calc_nr_buckets 0 17976 NULL
++smk_write_cipso_17989 smk_write_cipso 3 17989 NULL
++gnttab_max_grant_frames_17993 gnttab_max_grant_frames 0 17993 NULL
++ext4_num_overhead_clusters_18001 ext4_num_overhead_clusters 2 18001 NULL
++pvr2_v4l2_read_18006 pvr2_v4l2_read 3 18006 NULL
++prandom32_18007 prandom32 0 18007 NULL
++alloc_rx_desc_ring_18016 alloc_rx_desc_ring 2 18016 NULL
++fill_read_18019 fill_read 0 18019 NULL
++o2hb_highest_node_18034 o2hb_highest_node 2 18034 NULL
++cryptd_alloc_instance_18048 cryptd_alloc_instance 2-3 18048 NULL
++ddebug_proc_write_18055 ddebug_proc_write 3 18055 NULL
++kvm_read_guest_page_18074 kvm_read_guest_page 5 18074 NULL
++get_vm_area_18080 get_vm_area 1 18080 NULL
++netlink_kernel_create_18110 netlink_kernel_create 3 18110 NULL
++dfs_file_read_18116 dfs_file_read 3 18116 NULL
++svc_getnl_18120 svc_getnl 0 18120 NULL
++vmw_surface_dma_size_18132 vmw_surface_dma_size 0 18132 NULL
++selinux_inode_setsecurity_18148 selinux_inode_setsecurity 4 18148 NULL
++_has_tag_18169 _has_tag 2 18169 NULL
++pccard_store_cis_18176 pccard_store_cis 6 18176 NULL
++orinoco_add_extscan_result_18207 orinoco_add_extscan_result 3 18207 NULL
++gsm_control_message_18209 gsm_control_message 4 18209 NULL
++do_ipv6_setsockopt_18215 do_ipv6_setsockopt 5 18215 NULL
++koneplus_send_18226 koneplus_send 4 18226 NULL
++gnttab_alloc_grant_references_18240 gnttab_alloc_grant_references 1 18240 NULL
++snd_ctl_ioctl_compat_18250 snd_ctl_ioctl_compat 3 18250 NULL
++rfcomm_sock_setsockopt_18254 rfcomm_sock_setsockopt 5 18254 NULL
++qdisc_class_hash_alloc_18262 qdisc_class_hash_alloc 1 18262 NULL
++gfs2_alloc_sort_buffer_18275 gfs2_alloc_sort_buffer 1 18275 NULL
++alloc_ring_18278 alloc_ring 2-4 18278 NULL
++find_dirty_idx_leb_18280 find_dirty_idx_leb 0 18280 NULL
++mmc_send_bus_test_18285 mmc_send_bus_test 4 18285 NULL
++um_idi_write_18293 um_idi_write 3 18293 NULL
++ip6ip6_err_18308 ip6ip6_err 5 18308 NULL
++vga_r_18310 vga_r 0 18310 NULL
++ecryptfs_send_message_18322 ecryptfs_send_message 2 18322 NULL
++bio_integrity_advance_18324 bio_integrity_advance 2 18324 NULL
++lcd_proc_write_18351 lcd_proc_write 3 18351 NULL
++pwr_power_save_off_read_18355 pwr_power_save_off_read 3 18355 NULL
++xlbd_reserve_minors_18365 xlbd_reserve_minors 1-2 18365 NULL
++ep_io_18367 ep_io 0 18367 NULL
++__video_register_device_18399 __video_register_device 3 18399 NULL
++crystalhd_user_data_18407 crystalhd_user_data 3 18407 NULL
++snd_hda_get_connections_18437 snd_hda_get_connections 0 18437 NULL
++fuse_perform_write_18457 fuse_perform_write 4 18457 NULL
++regset_tls_set_18459 regset_tls_set 4 18459 NULL
++udpv6_setsockopt_18487 udpv6_setsockopt 5 18487 NULL
++snd_gus_dram_poke_18525 snd_gus_dram_poke 4 18525 NULL
++seq_copy_in_user_18543 seq_copy_in_user 3 18543 NULL
++acpi_register_gsi_ioapic_18550 acpi_register_gsi_ioapic 2 18550 NULL
++sas_change_queue_depth_18555 sas_change_queue_depth 2 18555 NULL
++debug_output_18575 debug_output 3 18575 NULL
++check_lpt_type_18577 check_lpt_type 0 18577 NULL
++__netdev_alloc_skb_18595 __netdev_alloc_skb 2 18595 NULL
++filemap_fdatawait_range_18600 filemap_fdatawait_range 0 18600 NULL nohasharray
++slabinfo_write_18600 slabinfo_write 3 18600 &filemap_fdatawait_range_18600
++iowarrior_write_18604 iowarrior_write 3 18604 NULL
++from_buffer_18625 from_buffer 3 18625 NULL
++f1x_map_sysaddr_to_csrow_18628 f1x_map_sysaddr_to_csrow 2 18628 NULL
++cfg80211_send_rx_assoc_18638 cfg80211_send_rx_assoc 3 18638 NULL
++snd_pcm_oss_write3_18657 snd_pcm_oss_write3 0-3 18657 NULL
++unmap_page_18665 unmap_page 2-3 18665 NULL
++edge_tty_recv_18667 edge_tty_recv 4 18667 NULL nohasharray
++xfs_iext_insert_18667 xfs_iext_insert 3 18667 &edge_tty_recv_18667
++replay_log_leb_18704 replay_log_leb 3 18704 NULL
++iwl_dbgfs_rx_handlers_read_18708 iwl_dbgfs_rx_handlers_read 3 18708 NULL
++ceph_alloc_page_vector_18710 ceph_alloc_page_vector 1 18710 NULL
++ocfs2_trim_extent_18711 ocfs2_trim_extent 4-3 18711 NULL
++blk_rq_bytes_18715 blk_rq_bytes 0 18715 NULL
++snd_als4k_gcr_read_addr_18741 snd_als4k_gcr_read_addr 0 18741 NULL
++o2hb_debug_create_18744 o2hb_debug_create 4 18744 NULL
++__erst_read_to_erange_from_nvram_18748 __erst_read_to_erange_from_nvram 0 18748 NULL
++wep_packets_read_18751 wep_packets_read 3 18751 NULL
++md_compat_ioctl_18764 md_compat_ioctl 4 18764 NULL
++read_file_dump_nfcal_18766 read_file_dump_nfcal 3 18766 NULL
++ffs_epfile_read_18775 ffs_epfile_read 3 18775 NULL
++alloc_fcdev_18780 alloc_fcdev 1 18780 NULL
++fat_compat_dir_ioctl_18800 fat_compat_dir_ioctl 3 18800 NULL
++__do_kmalloc_18808 __do_kmalloc 0 18808 NULL
++setup_ioapic_irq_18813 setup_ioapic_irq 1 18813 NULL
++iio_allocate_device_18821 iio_allocate_device 1 18821 NULL
++sys_modify_ldt_18824 sys_modify_ldt 3 18824 NULL
++thin_status_18830 thin_status 4 18830 NULL
++mtf_test_write_18844 mtf_test_write 3 18844 NULL
++drm_ht_create_18853 drm_ht_create 2 18853 NULL
++sctp_setsockopt_events_18862 sctp_setsockopt_events 3 18862 NULL
++ieee80211_if_read_element_ttl_18869 ieee80211_if_read_element_ttl 3 18869 NULL
++xlog_find_verify_log_record_18870 xlog_find_verify_log_record 2 18870 NULL
++width_to_agaw_18883 width_to_agaw 0-1 18883 NULL
++ceph_setxattr_18913 ceph_setxattr 4 18913 NULL
++snapshot_write_next_18937 snapshot_write_next 0 18937 NULL
++__nla_reserve_18974 __nla_reserve 3 18974 NULL
++alc_auto_create_extra_outs_18975 alc_auto_create_extra_outs 2 18975 NULL
++find_dirtiest_idx_leb_19001 find_dirtiest_idx_leb 0 19001 NULL
++layout_in_gaps_19006 layout_in_gaps 2 19006 NULL
++huge_page_size_19008 huge_page_size 0 19008 NULL
++usbdev_compat_ioctl_19026 usbdev_compat_ioctl 3 19026 NULL
++prepare_highmem_image_19028 prepare_highmem_image 0 19028 NULL
++revalidate_19043 revalidate 2 19043 NULL
++drm_fb_helper_init_19044 drm_fb_helper_init 3-4 19044 NULL
++create_gpadl_header_19064 create_gpadl_header 2 19064 NULL
++ieee80211_key_alloc_19065 ieee80211_key_alloc 3 19065 NULL
++alloc_pbl_19075 alloc_pbl 2 19075 NULL
++au_procfs_plm_write_19086 au_procfs_plm_write 3 19086 NULL
++copy_and_check_19089 copy_and_check 3 19089 NULL
++sys_process_vm_readv_19090 sys_process_vm_readv 3-5 19090 NULL
++sta_last_seq_ctrl_read_19106 sta_last_seq_ctrl_read 3 19106 NULL
++cifs_readv_from_socket_19109 cifs_readv_from_socket 3 19109 NULL
++skb_gro_offset_19123 skb_gro_offset 0 19123 NULL
++ext4_inode_table_19125 ext4_inode_table 0 19125 NULL
++snd_als4k_iobase_readl_19136 snd_als4k_iobase_readl 0 19136 NULL
++alloc_irdadev_19140 alloc_irdadev 1 19140 NULL
++iwl_dbgfs_reply_tx_error_read_19205 iwl_dbgfs_reply_tx_error_read 3 19205 NULL
++vmw_unlocked_ioctl_19212 vmw_unlocked_ioctl 2 19212 NULL
++__copy_to_user_inatomic_19214 __copy_to_user_inatomic 3 19214 NULL
++dev_counters_read_19216 dev_counters_read 3 19216 NULL
++gsi_to_irq_19220 gsi_to_irq 0-1 19220 NULL
++snd_mask_max_19224 snd_mask_max 0 19224 NULL
++sys_fcntl_19267 sys_fcntl 3 19267 NULL
++io_mapping_map_wc_19284 io_mapping_map_wc 2 19284 NULL
++____cache_alloc_node_19297 ____cache_alloc_node 0 19297 NULL
++qc_capture_19298 qc_capture 3 19298 NULL
++ocfs2_prepare_inode_for_refcount_19303 ocfs2_prepare_inode_for_refcount 3-4 19303 NULL
++event_tx_stuck_read_19305 event_tx_stuck_read 3 19305 NULL
++debug_read_19322 debug_read 3 19322 NULL
++cfg80211_inform_bss_19332 cfg80211_inform_bss 8 19332 NULL
++read_zero_19366 read_zero 3 19366 NULL
++interpret_user_input_19393 interpret_user_input 2 19393 NULL
++get_n_events_by_type_19401 get_n_events_by_type 0 19401 NULL
++dvbdmx_write_19423 dvbdmx_write 3 19423 NULL
++__phys_addr_19434 __phys_addr 0 19434 NULL
++xfrm_alg_auth_len_19454 xfrm_alg_auth_len 0 19454 NULL
++hpet_compat_ioctl_19455 hpet_compat_ioctl 3 19455 NULL
++gnet_stats_copy_19458 gnet_stats_copy 4 19458 NULL
++sky2_read16_19475 sky2_read16 0 19475 NULL
++efivar_create_sysfs_entry_19485 efivar_create_sysfs_entry 2 19485 NULL
++v4l2_event_subscribe_19510 v4l2_event_subscribe 3 19510 NULL
++skb_realloc_headroom_19516 skb_realloc_headroom 2 19516 NULL
++ocfs2_control_message_19564 ocfs2_control_message 3 19564 NULL
++ieee80211_if_read_tkip_mic_test_19565 ieee80211_if_read_tkip_mic_test 3 19565 NULL
++nfsd_read_19568 nfsd_read 5 19568 NULL
++cgroup_read_s64_19570 cgroup_read_s64 5 19570 NULL
++bm_status_read_19583 bm_status_read 3 19583 NULL
++load_xattr_datum_19594 load_xattr_datum 0 19594 NULL
++alloc_coherent_19649 alloc_coherent 2 19649 NULL
++usbvision_rvmalloc_19655 usbvision_rvmalloc 1 19655 NULL
++LoadBitmap_19658 LoadBitmap 2 19658 NULL
++rbd_snap_add_19678 rbd_snap_add 4 19678 NULL
++au_ibusy_compat_ioctl_19723 au_ibusy_compat_ioctl 2 19723 NULL nohasharray
++read_reg_19723 read_reg 0 19723 &au_ibusy_compat_ioctl_19723
++memcpy_toiovecend_19736 memcpy_toiovecend 4-3 19736 NULL
++snd_es1968_get_dma_ptr_19747 snd_es1968_get_dma_ptr 0 19747 NULL
++p9_client_read_19750 p9_client_read 5 19750 NULL
++pnpbios_proc_write_19758 pnpbios_proc_write 3 19758 NULL
++jffs2_acl_from_medium_19762 jffs2_acl_from_medium 2 19762 NULL
++slow_kernel_write_19764 slow_kernel_write 2 19764 NULL
++__set_print_fmt_19776 __set_print_fmt 0 19776 NULL
++saa7146_vmalloc_build_pgtable_19780 saa7146_vmalloc_build_pgtable 2 19780 NULL
++irda_setsockopt_19824 irda_setsockopt 5 19824 NULL
++ubi_eba_write_leb_19826 ubi_eba_write_leb 5-6 19826 NULL
++pcpu_next_unpop_19831 pcpu_next_unpop 4 19831 NULL
++vfs_getxattr_19832 vfs_getxattr 0 19832 NULL
++security_context_to_sid_19839 security_context_to_sid 2 19839 NULL
++cfg80211_mlme_register_mgmt_19852 cfg80211_mlme_register_mgmt 5 19852 NULL
++__nla_put_19857 __nla_put 3 19857 NULL
++aes_decrypt_interrupt_read_19910 aes_decrypt_interrupt_read 3 19910 NULL
++ps_upsd_max_apturn_read_19918 ps_upsd_max_apturn_read 3 19918 NULL
++cgroup_task_count_19930 cgroup_task_count 0 19930 NULL
++iwl_dbgfs_rx_queue_read_19943 iwl_dbgfs_rx_queue_read 3 19943 NULL
++dbg_leb_change_19969 dbg_leb_change 4 19969 NULL
++attach_hdlc_protocol_19986 attach_hdlc_protocol 3 19986 NULL
++diva_um_idi_read_20003 diva_um_idi_read 0 20003 NULL
++alloc_ieee80211_20063 alloc_ieee80211 1 20063 NULL
++rawv6_sendmsg_20080 rawv6_sendmsg 4 20080 NULL
++fuse_conn_limit_read_20084 fuse_conn_limit_read 3 20084 NULL
++qla2x00_adjust_sdev_qdepth_up_20097 qla2x00_adjust_sdev_qdepth_up 2 20097 NULL
++hptiop_adjust_disk_queue_depth_20122 hptiop_adjust_disk_queue_depth 2 20122 NULL
++tomoyo_commit_ok_20167 tomoyo_commit_ok 2 20167 NULL
++read_flush_pipefs_20171 read_flush_pipefs 3 20171 NULL
++wep_addr_key_count_read_20174 wep_addr_key_count_read 3 20174 NULL
++create_trace_probe_20175 create_trace_probe 1 20175 NULL
++pvr2_ctrl_value_to_sym_20229 pvr2_ctrl_value_to_sym 5 20229 NULL
++rose_sendmsg_20249 rose_sendmsg 4 20249 NULL
++tm6000_i2c_send_regs_20250 tm6000_i2c_send_regs 5 20250 NULL
++pcpu_alloc_20255 pcpu_alloc 1-2 20255 NULL
++resource_size_20256 resource_size 0 20256 NULL
++snd_cs4281_BA1_read_20323 snd_cs4281_BA1_read 5 20323 NULL
++gfs2_glock_nq_m_20347 gfs2_glock_nq_m 1 20347 NULL
++qla82xx_pci_mem_read_direct_20368 qla82xx_pci_mem_read_direct 2 20368 NULL
++u64_to_uptr_20384 u64_to_uptr 1 20384 NULL
++snd_nm256_readl_20394 snd_nm256_readl 0 20394 NULL
++__kfifo_from_user_20399 __kfifo_from_user 3 20399 NULL
++interface_rx_20404 interface_rx 4 20404 NULL
++au_di_realloc_20412 au_di_realloc 2 20412 NULL
++nfs3_setxattr_20458 nfs3_setxattr 4 20458 NULL
++ip_vs_icmp_xmit_v6_20464 ip_vs_icmp_xmit_v6 4 20464 NULL
++compat_ipv6_setsockopt_20468 compat_ipv6_setsockopt 5 20468 NULL
++read_buf_20469 read_buf 2 20469 NULL
++dbg_leb_write_20478 dbg_leb_write 4-5 20478 NULL
++fast_user_write_20494 fast_user_write 5 20494 NULL
++ocfs2_db_frozen_trigger_20503 ocfs2_db_frozen_trigger 4 20503 NULL nohasharray
++hidraw_report_event_20503 hidraw_report_event 3 20503 &ocfs2_db_frozen_trigger_20503
++pcpu_alloc_area_20511 pcpu_alloc_area 0-3 20511 NULL
++pcpu_depopulate_chunk_20517 pcpu_depopulate_chunk 2-3 20517 NULL
++xfs_iext_realloc_direct_20521 xfs_iext_realloc_direct 2 20521 NULL
++drbd_bm_resize_20522 drbd_bm_resize 2 20522 NULL
++amd_create_gatt_pages_20537 amd_create_gatt_pages 1 20537 NULL
++venus_create_20555 venus_create 4 20555 NULL
++crypto_ahash_reqsize_20569 crypto_ahash_reqsize 0 20569 NULL
++i915_max_freq_read_20581 i915_max_freq_read 3 20581 NULL
++lirc_write_20604 lirc_write 3 20604 NULL
++qib_qsfp_write_20614 qib_qsfp_write 0-4-2 20614 NULL
++regcache_lzo_block_count_20628 regcache_lzo_block_count 0 20628 NULL
++snd_pcm_oss_prepare_20641 snd_pcm_oss_prepare 0 20641 NULL
++kfifo_copy_to_user_20646 kfifo_copy_to_user 3 20646 NULL
++cpulist_scnprintf_20648 cpulist_scnprintf 0-2 20648 NULL
++__cache_alloc_20649 __cache_alloc 0 20649 NULL
++ceph_osdc_new_request_20654 ceph_osdc_new_request 15-4 20654 NULL
++snd_hdsp_playback_copy_20676 snd_hdsp_playback_copy 5 20676 NULL
++qla4_8xxx_pci_mem_read_2M_20680 qla4_8xxx_pci_mem_read_2M 2 20680 NULL
++dvb_dmxdev_buffer_read_20682 dvb_dmxdev_buffer_read 0-4 20682 NULL
++cpumask_size_20683 cpumask_size 0 20683 NULL
++read_file_tgt_int_stats_20697 read_file_tgt_int_stats 3 20697 NULL
++__maestro_read_20700 __maestro_read 0 20700 NULL
++cipso_v4_gentag_rng_20703 cipso_v4_gentag_rng 0 20703 NULL
++pcpu_page_first_chunk_20712 pcpu_page_first_chunk 1 20712 NULL
++ocfs2_read_xattr_bucket_20722 ocfs2_read_xattr_bucket 0 20722 NULL
++security_context_to_sid_force_20724 security_context_to_sid_force 2 20724 NULL
++vring_add_indirect_20737 vring_add_indirect 3-4 20737 NULL
++io_apic_set_pci_routing_20740 io_apic_set_pci_routing 2 20740 NULL
++vol_cdev_direct_write_20751 vol_cdev_direct_write 3 20751 NULL
++ocfs2_align_bytes_to_clusters_20754 ocfs2_align_bytes_to_clusters 2 20754 NULL
++ubi_io_read_20767 ubi_io_read 0 20767 NULL
++fb_alloc_cmap_gfp_20792 fb_alloc_cmap_gfp 2 20792 NULL
++iommu_range_alloc_20794 iommu_range_alloc 3 20794 NULL
++iwl_dbgfs_rxon_flags_read_20795 iwl_dbgfs_rxon_flags_read 3 20795 NULL
++sys_sendto_20809 sys_sendto 6 20809 NULL
++strndup_user_20819 strndup_user 2 20819 NULL
++iwl_legacy_dbgfs_qos_read_20825 iwl_legacy_dbgfs_qos_read 3 20825 NULL
++wl1271_format_buffer_20834 wl1271_format_buffer 2 20834 NULL
++uvc_alloc_entity_20836 uvc_alloc_entity 4-3 20836 NULL
++snd_pcm_capture_avail_20867 snd_pcm_capture_avail 0 20867 NULL
++ocfs2_bmap_20874 ocfs2_bmap 2 20874 NULL
++iwl3945_ucode_tx_stats_read_20879 iwl3945_ucode_tx_stats_read 3 20879 NULL
++sisusb_send_packet_20891 sisusb_send_packet 2 20891 NULL
++key_icverrors_read_20895 key_icverrors_read 3 20895 NULL
++compat_sys_readv_20911 compat_sys_readv 3 20911 NULL
++htable_bits_20933 htable_bits 0 20933 NULL
++altera_set_ir_post_20948 altera_set_ir_post 2 20948 NULL
++snd_rme9652_playback_copy_20970 snd_rme9652_playback_copy 5 20970 NULL
++alg_setsockopt_20985 alg_setsockopt 5 20985 NULL
++ocfs2_free_clusters_21001 ocfs2_free_clusters 4 21001 NULL
++btrfs_inode_ref_name_len_21024 btrfs_inode_ref_name_len 0 21024 NULL
++lbs_threshold_read_21046 lbs_threshold_read 5 21046 NULL
++proc_fault_inject_write_21058 proc_fault_inject_write 3 21058 NULL
++event_calibration_read_21083 event_calibration_read 3 21083 NULL
++compat_sock_ioctl_trans_21092 compat_sock_ioctl_trans 4 21092 NULL
++__cfg80211_send_disassoc_21096 __cfg80211_send_disassoc 3 21096 NULL
++ext2_valid_block_bitmap_21101 ext2_valid_block_bitmap 3 21101 NULL
++ath6kl_send_go_probe_resp_21113 ath6kl_send_go_probe_resp 3 21113 NULL
++i2400m_rx_trace_21127 i2400m_rx_trace 3 21127 NULL
++ocfs2_block_check_validate_21149 ocfs2_block_check_validate 2 21149 NULL
++setup_msi_irq_21169 setup_msi_irq 3 21169 NULL
++cx18_v4l2_read_21196 cx18_v4l2_read 3 21196 NULL
++ipc_rcu_alloc_21208 ipc_rcu_alloc 1 21208 NULL
++_ocfs2_free_clusters_21220 _ocfs2_free_clusters 4 21220 NULL
++get_numpages_21227 get_numpages 0-1-2 21227 NULL
++flex_array_get_21228 flex_array_get 2 21228 NULL
++input_ff_create_21240 input_ff_create 2 21240 NULL
++cfg80211_notify_new_peer_candidate_21242 cfg80211_notify_new_peer_candidate 4 21242 NULL
++ocfs2_blocks_for_bytes_21268 ocfs2_blocks_for_bytes 0-2 21268 NULL
++vmw_gmr2_bind_21305 vmw_gmr2_bind 3 21305 NULL
++store_bluetooth_21320 store_bluetooth 4 21320 NULL
++get_zeroed_page_21322 get_zeroed_page 0 21322 NULL
++ftrace_profile_read_21327 ftrace_profile_read 3 21327 NULL
++iwl_legacy_tx_queue_init_21332 iwl_legacy_tx_queue_init 3 21332 NULL
++gfs2_ea_get_copy_21353 gfs2_ea_get_copy 0 21353 NULL
++alloc_orinocodev_21371 alloc_orinocodev 1 21371 NULL
++video_ioctl2_21380 video_ioctl2 2 21380 NULL
++diva_get_driver_dbg_mask_21399 diva_get_driver_dbg_mask 0 21399 NULL
++snd_m3_inw_21406 snd_m3_inw 0 21406 NULL
++snapshot_read_next_21426 snapshot_read_next 0 21426 NULL
++tcp_bound_to_half_wnd_21429 tcp_bound_to_half_wnd 0-2 21429 NULL
++tracing_saved_cmdlines_read_21434 tracing_saved_cmdlines_read 3 21434 NULL
++concat_writev_21451 concat_writev 3 21451 NULL
++read_file_xmit_21487 read_file_xmit 3 21487 NULL
++mmc_alloc_sg_21504 mmc_alloc_sg 1 21504 NULL
++btrfs_file_aio_write_21520 btrfs_file_aio_write 4 21520 NULL
++cipso_v4_map_cat_enum_hton_21540 cipso_v4_map_cat_enum_hton 0 21540 NULL
++rxrpc_send_data_21553 rxrpc_send_data 5 21553 NULL
++ocfs2_acl_from_xattr_21604 ocfs2_acl_from_xattr 2 21604 NULL
++__jfs_getxattr_21631 __jfs_getxattr 0 21631 NULL
++validate_nnode_21638 validate_nnode 0 21638 NULL
++__irq_alloc_descs_21639 __irq_alloc_descs 2-1-3 21639 NULL
++hpet_setup_msi_irq_21662 hpet_setup_msi_irq 1 21662 NULL
++atalk_sendmsg_21677 atalk_sendmsg 4 21677 NULL
++ocfs2_xattr_get_nolock_21678 ocfs2_xattr_get_nolock 0 21678 NULL
++rtllib_alloc_txb_21687 rtllib_alloc_txb 1 21687 NULL
++evdev_ioctl_handler_21705 evdev_ioctl_handler 2 21705 NULL
++drm_sman_init_21710 drm_sman_init 2-4-3 21710 NULL
++reiserfs_allocate_list_bitmaps_21732 reiserfs_allocate_list_bitmaps 3 21732 NULL
++mthca_alloc_init_21754 mthca_alloc_init 2 21754 NULL
++gen_pool_add_21776 gen_pool_add 3 21776 NULL
++xfs_da_grow_inode_int_21785 xfs_da_grow_inode_int 3 21785 NULL
++kmalloc_order_trace_21788 kmalloc_order_trace 0-1 21788 NULL
++__ioremap_caller_21800 __ioremap_caller 1-2 21800 NULL
++dvb_generic_ioctl_21810 dvb_generic_ioctl 2 21810 NULL
++acpi_tb_check_xsdt_21862 acpi_tb_check_xsdt 1 21862 NULL
++lpfc_idiag_extacc_avail_get_21865 lpfc_idiag_extacc_avail_get 0-3 21865 NULL
++sisusbcon_bmove_21873 sisusbcon_bmove 6-5-7 21873 NULL nohasharray
++tcp_cookie_size_check_21873 tcp_cookie_size_check 0-1 21873 &sisusbcon_bmove_21873
++security_compute_sid_21874 security_compute_sid 3 21874 NULL
++__alloc_reserved_percpu_21895 __alloc_reserved_percpu 1-2 21895 NULL
++dbAllocCtl_21911 dbAllocCtl 0 21911 NULL
++qsfp_1_read_21915 qsfp_1_read 3 21915 NULL
++rbd_req_read_21952 rbd_req_read 4-5 21952 NULL
++alloc_ldt_21972 alloc_ldt 2 21972 NULL
++rxpipe_descr_host_int_trig_rx_data_read_22001 rxpipe_descr_host_int_trig_rx_data_read 3 22001 NULL
++ti_recv_22027 ti_recv 4 22027 NULL
++zd_usb_read_fw_22049 zd_usb_read_fw 4 22049 NULL
++ieee80211_if_fmt_dropped_frames_ttl_22054 ieee80211_if_fmt_dropped_frames_ttl 3 22054 NULL
++btrfs_reloc_clone_csums_22077 btrfs_reloc_clone_csums 2 22077 NULL
++mem_rw_22085 mem_rw 3 22085 NULL
++sys_remap_file_pages_22124 sys_remap_file_pages 1 22124 NULL
++compat_insn_22142 compat_insn 2 22142 NULL
++__kfifo_alloc_22173 __kfifo_alloc 2-3 22173 NULL
++fls_22210 fls 0 22210 NULL nohasharray
++snd_soc_lzo_block_count_22210 snd_soc_lzo_block_count 0 22210 &fls_22210
++bio_chain_clone_22227 bio_chain_clone 4 22227 NULL
++mem_write_22232 mem_write 3 22232 NULL
++p9_virtio_zc_request_22240 p9_virtio_zc_request 6-5 22240 NULL
++atomic64_xchg_22246 atomic64_xchg 0 22246 NULL
++compat_process_vm_rw_22254 compat_process_vm_rw 3-5 22254 NULL
++__btrfs_direct_write_22273 __btrfs_direct_write 4 22273 NULL
++index_to_obj_22280 index_to_obj 0-3 22280 NULL
++__tun_chr_ioctl_22300 __tun_chr_ioctl 4 22300 NULL
++mesh_table_alloc_22305 mesh_table_alloc 1 22305 NULL
++atomic_read_22342 atomic_read 0 22342 NULL
++mlx4_db_alloc_22358 mlx4_db_alloc 3 22358 NULL
++irq_reserve_irq_22360 irq_reserve_irq 1 22360 NULL
++snd_pcm_alsa_frames_22363 snd_pcm_alsa_frames 2 22363 NULL
++iwch_alloc_fast_reg_mr_22368 iwch_alloc_fast_reg_mr 2 22368 NULL
++evdev_ioctl_22371 evdev_ioctl 2 22371 NULL
++btmrvl_psmode_read_22395 btmrvl_psmode_read 3 22395 NULL
++alloc_private_22399 alloc_private 2 22399 NULL nohasharray
++ubifs_leb_change_22399 ubifs_leb_change 4 22399 &alloc_private_22399
++zoran_write_22404 zoran_write 3 22404 NULL
++queue_reply_22416 queue_reply 3 22416 NULL
++__set_enter_print_fmt_22431 __set_enter_print_fmt 0 22431 NULL
++queue_max_segments_22441 queue_max_segments 0 22441 NULL
++handle_received_packet_22457 handle_received_packet 3 22457 NULL
++cache_write_procfs_22491 cache_write_procfs 3 22491 NULL
++mp_find_ioapic_pin_22499 mp_find_ioapic_pin 0-2 22499 NULL
++mutex_lock_interruptible_22505 mutex_lock_interruptible 0 22505 NULL
++ip4_addr_string_22511 ip4_addr_string 0 22511 NULL
++pskb_may_pull_22546 pskb_may_pull 2 22546 NULL
++ocfs2_read_extent_block_22550 ocfs2_read_extent_block 0 22550 NULL
++atomic_long_read_unchecked_22551 atomic_long_read_unchecked 0 22551 NULL
++agp_alloc_page_array_22554 agp_alloc_page_array 1 22554 NULL
++dbFindCtl_22587 dbFindCtl 0 22587 NULL
++snapshot_read_22601 snapshot_read 3 22601 NULL
++sctp_setsockopt_connectx_old_22631 sctp_setsockopt_connectx_old 3 22631 NULL
++ide_core_cp_entry_22636 ide_core_cp_entry 3 22636 NULL
++pwr_wake_on_timer_exp_read_22640 pwr_wake_on_timer_exp_read 3 22640 NULL
++ocfs2_get_block_22687 ocfs2_get_block 2 22687 NULL
++compat_fd_ioctl_22694 compat_fd_ioctl 4 22694 NULL
++alloc_libipw_22708 alloc_libipw 1 22708 NULL
++cache_alloc_refill_22713 cache_alloc_refill 0 22713 NULL
++aa_features_read_22730 aa_features_read 3 22730 NULL
++cx18_copy_buf_to_user_22735 cx18_copy_buf_to_user 4 22735 NULL
++ceph_decode_32_22738 ceph_decode_32 0 22738 NULL
++print_frame_22769 print_frame 0 22769 NULL
++ftrace_arch_read_dyn_info_22773 ftrace_arch_read_dyn_info 0 22773 NULL
++compat_blkdev_ioctl_22841 compat_blkdev_ioctl 3 22841 NULL
++can_nocow_odirect_22854 can_nocow_odirect 3 22854 NULL nohasharray
++read_file_rcstat_22854 read_file_rcstat 3 22854 &can_nocow_odirect_22854
++do_atm_iobuf_22857 do_atm_iobuf 3 22857 NULL
++create_attr_set_22861 create_attr_set 1 22861 NULL
++vmw_execbuf_process_22885 vmw_execbuf_process 5 22885 NULL
++usblp_new_writeurb_22894 usblp_new_writeurb 2 22894 NULL
++mdc800_device_read_22896 mdc800_device_read 3 22896 NULL
++virtqueue_add_buf_22924 virtqueue_add_buf 3-4 22924 NULL
++pcpu_mem_zalloc_22948 pcpu_mem_zalloc 1 22948 NULL
++alloc_sglist_22960 alloc_sglist 1-2-3 22960 NULL
++caif_seqpkt_sendmsg_22961 caif_seqpkt_sendmsg 4 22961 NULL
++vme_get_size_22964 vme_get_size 0 22964 NULL
++usb_get_langid_22983 usb_get_langid 0 22983 NULL
++remote_settings_file_write_22987 remote_settings_file_write 3 22987 NULL
++viafb_dvp0_proc_write_23023 viafb_dvp0_proc_write 3 23023 NULL
++st_status_23032 st_status 5 23032 NULL
++reiserfs_add_entry_23062 reiserfs_add_entry 4 23062 NULL
++vivi_read_23073 vivi_read 3 23073 NULL
++kvm_mmu_gva_to_gpa_write_23075 kvm_mmu_gva_to_gpa_write 0 23075 NULL
++vm_map_ram_23078 vm_map_ram 2 23078 NULL nohasharray
++raw_sendmsg_23078 raw_sendmsg 4 23078 &vm_map_ram_23078
+isr_tx_procs_read_23084 isr_tx_procs_read 3 23084 NULL
-+tracing_set_trace_write_57096 tracing_set_trace_write 3 57096 NULL
-+setkey_unaligned_39474 setkey_unaligned 3 39474 NULL
+rt2x00debug_write_eeprom_23091 rt2x00debug_write_eeprom 3 23091 NULL
-+mpeg_read_6708 mpeg_read 3 6708 NULL
-+hcd_alloc_coherent_55862 hcd_alloc_coherent 5 55862 NULL
-+btrfs_mksubvol_39479 btrfs_mksubvol 3 39479 NULL
++fls_long_23096 fls_long 0 23096 NULL
+ntfs_ucstonls_23097 ntfs_ucstonls 3-5 23097 NULL
-+read_file_credit_dist_stats_54367 read_file_credit_dist_stats 3 54367 NULL
-+krealloc_14908 krealloc 2 14908 NULL
+pipe_iov_copy_from_user_23102 pipe_iov_copy_from_user 3 23102 NULL
-+bt_skb_send_alloc_6581 bt_skb_send_alloc 2 6581 NULL
-+dgram_recvmsg_23104 dgram_recvmsg 4 23104 NULL
-+gigaset_if_receive_4861 gigaset_if_receive 3 4861 NULL
-+video_proc_write_6724 video_proc_write 3 6724 NULL
-+ip_recv_error_23109 ip_recv_error 3 23109 NULL
+mwl8k_cmd_set_beacon_23110 mwl8k_cmd_set_beacon 4 23110 NULL
-+uvc_simplify_fraction_31303 uvc_simplify_fraction 3 31303 NULL
-+ieee80211_if_read_peer_45233 ieee80211_if_read_peer 3 45233 NULL
-+cmd_complete_14502 cmd_complete 5 14502 NULL
++nl80211_send_rx_auth_23111 nl80211_send_rx_auth 4 23111 NULL
++__clear_user_23118 __clear_user 0 23118 NULL
+drm_mode_create_tv_properties_23122 drm_mode_create_tv_properties 2 23122 NULL
-+pm_qos_power_read_55891 pm_qos_power_read 3 55891 NULL
-+packet_recvmsg_47700 packet_recvmsg 4 47700 NULL
-+store_sys_wmi_14934 store_sys_wmi 4 14934 NULL
-+gspca_dev_probe2_59833 gspca_dev_probe2 4 59833 NULL
-+lbs_highrssi_read_64089 lbs_highrssi_read 3 64089 NULL
-+ipv6_renew_options_28867 ipv6_renew_options 5 28867 NULL
-+unix_dgram_recvmsg_14952 unix_dgram_recvmsg 4 14952 NULL
++cfg80211_rx_mgmt_23138 cfg80211_rx_mgmt 4 23138 NULL
+ca91cx42_master_set_23146 ca91cx42_master_set 4 23146 NULL
-+videobuf_read_stream_14956 videobuf_read_stream 3 14956 NULL
-+ieee80211_if_read_dot11MeshHWMPnetDiameterTraversalTime_1589 ieee80211_if_read_dot11MeshHWMPnetDiameterTraversalTime 3 1589 NULL
-+dm_table_create_35687 dm_table_create 3 35687 NULL
-+sfi_check_table_6772 sfi_check_table 1 6772 NULL
-+bits_to_user_47733 bits_to_user 3-2 47733 NULL
-+int_proc_write_39542 int_proc_write 3 39542 NULL
-+do_dccp_setsockopt_54377 do_dccp_setsockopt 5 54377 NULL
+read_file_ani_23161 read_file_ani 3 23161 NULL
-+carl9170_debugfs_read_47738 carl9170_debugfs_read 3 47738 NULL
-+help_14971 help 4 14971 NULL
-+mce_flush_rx_buffer_14976 mce_flush_rx_buffer 2 14976 NULL
-+ieee80211_if_read_6785 ieee80211_if_read 3 6785 NULL
-+pp_write_39554 pp_write 3 39554 NULL
-+br_send_bpdu_29669 br_send_bpdu 3 29669 NULL
-+mvumi_alloc_mem_resource_47750 mvumi_alloc_mem_resource 3 47750 NULL
-+hdlcdrv_register_6792 hdlcdrv_register 2 6792 NULL
++ioremap_23172 ioremap 1-2 23172 NULL
+usblp_write_23178 usblp_write 3 23178 NULL
-+setkey_14987 setkey 3 14987 NULL
-+xprt_rdma_allocate_31372 xprt_rdma_allocate 2 31372 NULL
++msnd_fifo_alloc_23179 msnd_fifo_alloc 2 23179 NULL
+gss_pipe_downcall_23182 gss_pipe_downcall 3 23182 NULL
-+handle_response_55951 handle_response 5 55951 NULL
-+datablob_format_39571 datablob_format 2 39571 NULL nohasharray
-+ieee80211_if_read_fwded_mcast_39571 ieee80211_if_read_fwded_mcast 3 39571 &datablob_format_39571
++ieee80211_get_mesh_hdrlen_23183 ieee80211_get_mesh_hdrlen 0 23183 NULL
+fix_unclean_leb_23188 fix_unclean_leb 3 23188 NULL
-+simple_read_from_buffer_55957 simple_read_from_buffer 2-5 55957 NULL
-+dlfb_ops_write_64150 dlfb_ops_write 3 64150 NULL
-+store_touchpad_15003 store_touchpad 4 15003 NULL
-+get_fd_set_3866 get_fd_set 1 3866 NULL
-+drbd_bm_resize_20522 drbd_bm_resize 2 20522 NULL
-+ip_ufo_append_data_12775 ip_ufo_append_data 6-8-7 12775 NULL
-+alloc_session_64171 alloc_session 1-2 64171 NULL
-+rvmalloc_46873 rvmalloc 1 46873 NULL
-+cistpl_vers_1_15023 cistpl_vers_1 4 15023 NULL
-+vmap_15025 vmap 2 15025 NULL
-+key_ifindex_read_31411 key_ifindex_read 3 31411 NULL
-+mcs7830_set_reg_31413 mcs7830_set_reg 3 31413 NULL
-+mon_bin_read_6841 mon_bin_read 3 6841 NULL
++__next_dma_cap_23195 __next_dma_cap 1 23195 NULL
++convert_ip_to_linear_23198 convert_ip_to_linear 0 23198 NULL
++compat_rawv6_ioctl_23210 compat_rawv6_ioctl 3 23210 NULL
+tty_buffer_request_room_23228 tty_buffer_request_room 2 23228 NULL
+xlog_get_bp_23229 xlog_get_bp 2 23229 NULL
-+snd_cs4281_BA0_read_6847 snd_cs4281_BA0_read 5 6847 NULL
++__kmalloc_23231 __kmalloc 0 23231 NULL
+rxrpc_client_sendmsg_23236 rxrpc_client_sendmsg 5 23236 NULL
++ad799x_single_channel_from_ring_23265 ad799x_single_channel_from_ring 2 23265 NULL
++uwb_dev_addr_print_23282 uwb_dev_addr_print 2 23282 NULL
++doc_probe_23285 doc_probe 1 23285 NULL
++diva_get_trace_filter_23286 diva_get_trace_filter 0 23286 NULL
++i2cdev_write_23310 i2cdev_write 3 23310 NULL
++nl_pid_hash_zalloc_23314 nl_pid_hash_zalloc 1 23314 NULL
++page_readlink_23346 page_readlink 3 23346 NULL
++get_dst_timing_23358 get_dst_timing 0 23358 NULL
++ip_nat_sdp_media_23386 ip_nat_sdp_media 8 23386 NULL
++iscsi_change_queue_depth_23416 iscsi_change_queue_depth 2 23416 NULL
++vga_mm_r_23419 vga_mm_r 0 23419 NULL
++vzalloc_node_23424 vzalloc_node 1 23424 NULL
++__cxio_init_resource_fifo_23447 __cxio_init_resource_fifo 3 23447 NULL nohasharray
++ocfs2_zero_tail_23447 ocfs2_zero_tail 3 23447 &__cxio_init_resource_fifo_23447
++hidraw_send_report_23449 hidraw_send_report 3 23449 NULL
++linear_conf_23485 linear_conf 2 23485 NULL nohasharray
++divasa_remap_pci_bar_23485 divasa_remap_pci_bar 3-4 23485 &linear_conf_23485
++si4713_send_command_23493 si4713_send_command 6 23493 NULL
++event_filter_read_23494 event_filter_read 3 23494 NULL
++write_led_23517 write_led 2 23517 NULL
++ima_show_measurements_count_23536 ima_show_measurements_count 3 23536 NULL
++xen_allocate_irq_gsi_23546 xen_allocate_irq_gsi 1-0 23546 NULL
++tcp_current_mss_23552 tcp_current_mss 0 23552 NULL
++venus_symlink_23570 venus_symlink 4-6 23570 NULL
++iwl_dbgfs_interrupt_read_23574 iwl_dbgfs_interrupt_read 3 23574 NULL
++cifs_spnego_key_instantiate_23588 cifs_spnego_key_instantiate 3 23588 NULL
++snd_interval_min_23590 snd_interval_min 0 23590 NULL
++_alloc_cdb_cont_23609 _alloc_cdb_cont 2 23609 NULL
++islpci_mgt_transaction_23610 islpci_mgt_transaction 5 23610 NULL
++sm_checker_extend_23615 sm_checker_extend 2 23615 NULL
++__i2400mu_send_barker_23652 __i2400mu_send_barker 3 23652 NULL
++ext3_compat_ioctl_23659 ext3_compat_ioctl 3 23659 NULL
++sInW_23663 sInW 0 23663 NULL
++proc_ioctl_compat_23682 proc_ioctl_compat 2 23682 NULL
++nftl_partscan_23688 nftl_partscan 0 23688 NULL
++cx18_read_23699 cx18_read 3 23699 NULL
++mp_config_acpi_gsi_23728 mp_config_acpi_gsi 2 23728 NULL
++pack_sg_list_p_23739 pack_sg_list_p 0-2 23739 NULL
++__kfifo_max_r_23768 __kfifo_max_r 0-2-1 23768 NULL
++tt_save_orig_buffer_23779 tt_save_orig_buffer 4 23779 NULL
++security_inode_getxattr_23781 security_inode_getxattr 0 23781 NULL
++diva_alloc_dma_map_23798 diva_alloc_dma_map 2 23798 NULL
++rx_path_reset_read_23801 rx_path_reset_read 3 23801 NULL
++__earlyonly_bootmem_alloc_23824 __earlyonly_bootmem_alloc 2 23824 NULL
++xfs_dir2_leaf_getdents_23841 xfs_dir2_leaf_getdents 3 23841 NULL
++iwl_dbgfs_nvm_read_23845 iwl_dbgfs_nvm_read 3 23845 NULL
++p54_init_common_23850 p54_init_common 1 23850 NULL
++ocfs2_xattr_get_clusters_23857 ocfs2_xattr_get_clusters 0 23857 NULL
++ieee80211_if_read_dot11MeshMaxPeerLinks_23878 ieee80211_if_read_dot11MeshMaxPeerLinks 3 23878 NULL
++ieee80211_if_read_channel_type_23884 ieee80211_if_read_channel_type 3 23884 NULL
++ipath_reg_phys_mr_23918 ipath_reg_phys_mr 3 23918 NULL
++kvm_read_guest_23928 kvm_read_guest 4-2 23928 NULL
++__alloc_skb_23940 __alloc_skb 1 23940 NULL
++cifs_setxattr_23957 cifs_setxattr 4 23957 NULL
++zd_usb_iowrite16v_async_23984 zd_usb_iowrite16v_async 3 23984 NULL
++cxgb_alloc_mem_24007 cxgb_alloc_mem 1 24007 NULL
++ocfs2_mark_extent_refcounted_24035 ocfs2_mark_extent_refcounted 6 24035 NULL
++au_nhash_append_wh_24044 au_nhash_append_wh 3 24044 NULL
++afs_cell_alloc_24052 afs_cell_alloc 2 24052 NULL
++blkcipher_copy_iv_24075 blkcipher_copy_iv 3 24075 NULL
++request_key_auth_read_24109 request_key_auth_read 3 24109 NULL
++iwl_legacy_dbgfs_stations_read_24121 iwl_legacy_dbgfs_stations_read 3 24121 NULL
++mpu401_read_24126 mpu401_read 3 24126 NULL
++irnet_ctrl_write_24139 irnet_ctrl_write 3 24139 NULL
++adu_read_24177 adu_read 3 24177 NULL
++safe_prepare_write_buffer_24187 safe_prepare_write_buffer 3 24187 NULL
++get_order_24203 get_order 0 24203 NULL
++ieee80211_if_read_dot11MeshHWMPpreqMinInterval_24208 ieee80211_if_read_dot11MeshHWMPpreqMinInterval 3 24208 NULL
++tcpprobe_sprint_24222 tcpprobe_sprint 0-2 24222 NULL
++pcpu_embed_first_chunk_24224 pcpu_embed_first_chunk 1-2-3 24224 NULL
++pci_num_vf_24235 pci_num_vf 0 24235 NULL
++sel_read_bool_24236 sel_read_bool 3 24236 NULL
++msg_size_24288 msg_size 0 24288 NULL
++fa_element_to_part_nr_24291 fa_element_to_part_nr 2 24291 NULL
++ext2_free_blocks_24292 ext2_free_blocks 2-3 24292 NULL
++map_page_24298 map_page 3-4 24298 NULL
++btmrvl_pscmd_read_24308 btmrvl_pscmd_read 3 24308 NULL
++ocfs2_direct_IO_get_blocks_24333 ocfs2_direct_IO_get_blocks 2 24333 NULL
++kzalloc_node_24352 kzalloc_node 1 24352 NULL
++qla2x00_handle_queue_full_24365 qla2x00_handle_queue_full 2 24365 NULL
++cfi_read_pri_24366 cfi_read_pri 3 24366 NULL
++btrfs_item_size_nr_24367 btrfs_item_size_nr 0 24367 NULL
++igetword_24373 igetword 0 24373 NULL
++pvr2_v4l2_ioctl_24398 pvr2_v4l2_ioctl 2 24398 NULL nohasharray
++getxattr_24398 getxattr 4 24398 &pvr2_v4l2_ioctl_24398
++blk_update_bidi_request_24415 blk_update_bidi_request 3-4 24415 NULL
++b43_debugfs_read_24425 b43_debugfs_read 3 24425 NULL
++ieee80211_rx_mgmt_beacon_24430 ieee80211_rx_mgmt_beacon 3 24430 NULL
++page_address_24444 page_address 0 24444 NULL
++evdev_do_ioctl_24459 evdev_do_ioctl 2 24459 NULL
++ocfs2_write_cluster_by_desc_24466 ocfs2_write_cluster_by_desc 5-6 24466 NULL
++pd_video_read_24510 pd_video_read 3 24510 NULL
++request_key_with_auxdata_24515 request_key_with_auxdata 4 24515 NULL
++named_prepare_buf_24532 named_prepare_buf 2 24532 NULL
++write_cache_pages_24562 write_cache_pages 0 24562 NULL
++tsi148_alloc_resource_24563 tsi148_alloc_resource 2 24563 NULL
++udf_compute_nr_groups_24594 udf_compute_nr_groups 0 24594 NULL
++count_preds_24600 count_preds 0 24600 NULL
++context_alloc_24645 context_alloc 3 24645 NULL
++blk_rq_err_bytes_24650 blk_rq_err_bytes 0 24650 NULL
++simple_attr_read_24738 simple_attr_read 3 24738 NULL
++au_rdhash_est_24740 au_rdhash_est 0-1 24740 NULL
++qla2x00_change_queue_depth_24742 qla2x00_change_queue_depth 2 24742 NULL
++get_dma_residue_24749 get_dma_residue 0 24749 NULL
++kgdb_hex2mem_24755 kgdb_hex2mem 3 24755 NULL
++nfsd4_sanitize_slot_size_24756 nfsd4_sanitize_slot_size 0-1 24756 NULL
++i915_cache_sharing_read_24775 i915_cache_sharing_read 3 24775 NULL
++ocfs2_read_blocks_24777 ocfs2_read_blocks 0 24777 NULL
++skb_make_writable_24783 skb_make_writable 2 24783 NULL
++datablob_hmac_verify_24786 datablob_hmac_verify 4 24786 NULL
++cache_read_24790 cache_read 3 24790 NULL
++unpack_str_24798 unpack_str 0 24798 NULL
++__next_cpu_nr_24805 __next_cpu_nr 1 24805 NULL
++comedi_buf_alloc_24822 comedi_buf_alloc 3 24822 NULL
++c4iw_alloc_fast_reg_mr_24838 c4iw_alloc_fast_reg_mr 2 24838 NULL nohasharray
++free_coherent_24838 free_coherent 4-2 24838 &c4iw_alloc_fast_reg_mr_24838
++snd_als4k_gcr_read_24840 snd_als4k_gcr_read 0 24840 NULL
++snd_pcm_lib_buffer_bytes_24865 snd_pcm_lib_buffer_bytes 0 24865 NULL
++pnp_alloc_24869 pnp_alloc 1 24869 NULL nohasharray
++put_data_to_circ_buf_24869 put_data_to_circ_buf 3 24869 &pnp_alloc_24869
++bnx2fc_cmd_mgr_alloc_24873 bnx2fc_cmd_mgr_alloc 3-2 24873 NULL
++queues_read_24877 queues_read 3 24877 NULL
++iwm_rx_handle_24899 iwm_rx_handle 3 24899 NULL
++codec_list_read_file_24910 codec_list_read_file 3 24910 NULL
++ocfs2_fiemap_24949 ocfs2_fiemap 3-4 24949 NULL
++packet_sendmsg_24954 packet_sendmsg 4 24954 NULL
++sys_rt_sigpending_24961 sys_rt_sigpending 2 24961 NULL
++llc_ui_sendmsg_24987 llc_ui_sendmsg 4 24987 NULL
++key_conf_hw_key_idx_read_25003 key_conf_hw_key_idx_read 3 25003 NULL
++iwl3945_ucode_general_stats_read_25009 iwl3945_ucode_general_stats_read 3 25009 NULL
++ni_660x_num_counters_25031 ni_660x_num_counters 0 25031 NULL
++kmem_getpages_25058 kmem_getpages 0 25058 NULL
++gs_buf_alloc_25067 gs_buf_alloc 2 25067 NULL
++cxio_hal_init_rhdl_resource_25104 cxio_hal_init_rhdl_resource 1 25104 NULL
++snd_rawmidi_kernel_write_25106 snd_rawmidi_kernel_write 3 25106 NULL
++oom_adjust_read_25127 oom_adjust_read 3 25127 NULL
++sys_fgetxattr_25166 sys_fgetxattr 4 25166 NULL
++ipath_init_qp_table_25167 ipath_init_qp_table 2 25167 NULL
++sctp_getsockopt_local_addrs_25178 sctp_getsockopt_local_addrs 2 25178 NULL
++ks8851_rdreg32_25187 ks8851_rdreg32 0 25187 NULL
++ocfs2_block_check_compute_25223 ocfs2_block_check_compute 2 25223 NULL
++mon_stat_read_25238 mon_stat_read 3 25238 NULL
++tcf_csum_ipv6_udp_25241 tcf_csum_ipv6_udp 4 25241 NULL
++compat_rw_copy_check_uvector_25242 compat_rw_copy_check_uvector 0-3 25242 NULL
++nilfs_palloc_find_available_slot_25245 nilfs_palloc_find_available_slot 3-5 25245 NULL
++snd_pcm_start_25273 snd_pcm_start 0 25273 NULL
++crypto_alloc_instance2_25277 crypto_alloc_instance2 3 25277 NULL
++vfs_writev_25278 vfs_writev 3 25278 NULL
++l2tp_session_create_25286 l2tp_session_create 1 25286 NULL
++snd_seq_ioctl_compat_25307 snd_seq_ioctl_compat 3 25307 NULL
++ath9k_debugfs_read_buf_25316 ath9k_debugfs_read_buf 3 25316 NULL
++i915_gem_execbuffer_relocate_slow_25355 i915_gem_execbuffer_relocate_slow 7 25355 NULL
++unix_mkname_25368 unix_mkname 0-2 25368 NULL
++sel_read_mls_25369 sel_read_mls 3 25369 NULL
++ebt_buf_add_pad_25413 ebt_buf_add_pad 0 25413 NULL
++et61x251_read_25420 et61x251_read 3 25420 NULL
++dai_list_read_file_25421 dai_list_read_file 3 25421 NULL
++generic_file_buffered_write_25464 generic_file_buffered_write 4 25464 NULL
++crypto_hash_digestsize_25469 crypto_hash_digestsize 0 25469 NULL
++ocfs2_hamming_encode_25501 ocfs2_hamming_encode 3 25501 NULL
++ivtv_buf_copy_from_user_25502 ivtv_buf_copy_from_user 4 25502 NULL
++snd_pcm_plugin_build_25505 snd_pcm_plugin_build 5 25505 NULL
++ext3_get_inode_loc_25542 ext3_get_inode_loc 0 25542 NULL
++ieee80211_if_read_path_refresh_time_25545 ieee80211_if_read_path_refresh_time 3 25545 NULL
++c4iw_init_resource_fifo_random_25547 c4iw_init_resource_fifo_random 3 25547 NULL
++wimax_addr_scnprint_25548 wimax_addr_scnprint 2 25548 NULL
++ht_print_chan_25556 ht_print_chan 0 25556 NULL
++skb_tailroom_25567 skb_tailroom 0 25567 NULL
++realloc_packet_buffer_25569 realloc_packet_buffer 2 25569 NULL
++__devres_alloc_25598 __devres_alloc 2 25598 NULL
++proc_coredump_filter_write_25625 proc_coredump_filter_write 3 25625 NULL
++__get_user_pages_25628 __get_user_pages 0 25628 NULL nohasharray
++befs_utf2nls_25628 befs_utf2nls 3 25628 &__get_user_pages_25628
++ext2_try_to_allocate_25667 ext2_try_to_allocate 4-2 25667 NULL
++aircable_prepare_write_buffer_25669 aircable_prepare_write_buffer 3 25669 NULL
++sta_inactive_ms_read_25690 sta_inactive_ms_read 3 25690 NULL
++ebitmap_start_positive_25703 ebitmap_start_positive 0 25703 NULL
++ibmasm_new_command_25714 ibmasm_new_command 2 25714 NULL
++sel_write_context_25726 sel_write_context 3 25726 NULL nohasharray
++__alloc_bootmem_low_node_25726 __alloc_bootmem_low_node 2 25726 &sel_write_context_25726
++ext2_find_near_25734 ext2_find_near 0 25734 NULL
++cxgbi_device_portmap_create_25747 cxgbi_device_portmap_create 3 25747 NULL
++event_rx_pool_read_25792 event_rx_pool_read 3 25792 NULL
++sg_read_25799 sg_read 3 25799 NULL
++sys32_rt_sigpending_25814 sys32_rt_sigpending 2 25814 NULL
++system_enable_read_25815 system_enable_read 3 25815 NULL
++realloc_buffer_25816 realloc_buffer 2 25816 NULL
++pwr_missing_bcns_read_25824 pwr_missing_bcns_read 3 25824 NULL
++parport_read_25855 parport_read 0 25855 NULL
++xfs_dir2_sf_hdr_size_25858 xfs_dir2_sf_hdr_size 0 25858 NULL
++ath6kl_regread_read_25884 ath6kl_regread_read 3 25884 NULL
++run_delalloc_nocow_25896 run_delalloc_nocow 3 25896 NULL
++sisusbcon_scroll_area_25899 sisusbcon_scroll_area 4-3 25899 NULL
++lpfc_change_queue_depth_25905 lpfc_change_queue_depth 2 25905 NULL
++do_jffs2_setxattr_25910 do_jffs2_setxattr 5 25910 NULL
++rcname_read_25919 rcname_read 3 25919 NULL
++snd_es1938_capture_copy_25930 snd_es1938_capture_copy 5 25930 NULL
++key_flags_read_25931 key_flags_read 3 25931 NULL
++copy_play_buf_25932 copy_play_buf 3 25932 NULL
++security_compute_av_user_25950 security_compute_av_user 3 25950 NULL
++video_register_device_25971 video_register_device 3 25971 NULL
++udp_setsockopt_25985 udp_setsockopt 5 25985 NULL
++ebt_compat_entry_padsize_26001 ebt_compat_entry_padsize 0 26001 NULL
++lpfc_sli_probe_sriov_nr_virtfn_26004 lpfc_sli_probe_sriov_nr_virtfn 2 26004 NULL
++xfs_xattr_acl_set_26028 xfs_xattr_acl_set 4 26028 NULL
++skb_mac_header_26034 skb_mac_header 0 26034 NULL
++mptscsih_change_queue_depth_26036 mptscsih_change_queue_depth 2 26036 NULL
++selinux_inode_post_setxattr_26037 selinux_inode_post_setxattr 4 26037 NULL
++security_file_mmap_26056 security_file_mmap 0 26056 NULL
++keyctl_update_key_26061 keyctl_update_key 3 26061 NULL
++__strnlen_user_26117 __strnlen_user 0-2 26117 NULL
++user_instantiate_26131 user_instantiate 3 26131 NULL
++skb_cow_26138 skb_cow 2 26138 NULL
++usb_dump_device_strings_26146 usb_dump_device_strings 0 26146 NULL
++copy_oldmem_page_26164 copy_oldmem_page 1-3 26164 NULL
++gfs2_xattr_acl_get_26166 gfs2_xattr_acl_get 0 26166 NULL
++disk_devt_26180 disk_devt 0 26180 NULL
++get_registers_26187 get_registers 3 26187 NULL
++ieee80211_if_fmt_dot11MeshTTL_26198 ieee80211_if_fmt_dot11MeshTTL 3 26198 NULL
++xfs_idata_realloc_26199 xfs_idata_realloc 2 26199 NULL
++mce_write_26201 mce_write 3 26201 NULL
++process_vm_rw_single_vec_26213 process_vm_rw_single_vec 1-2 26213 NULL
++store_sys_hwmon_26225 store_sys_hwmon 3 26225 NULL
++_scsih_change_queue_depth_26230 _scsih_change_queue_depth 2 26230 NULL
++cxio_num_stags_26233 cxio_num_stags 0 26233 NULL
++bio_split_26235 bio_split 2 26235 NULL
++crypto_ctxsize_26278 crypto_ctxsize 0 26278 NULL
++ext2_find_goal_26306 ext2_find_goal 0 26306 NULL
++snd_pcm_plug_client_channels_buf_26309 snd_pcm_plug_client_channels_buf 0-3 26309 NULL nohasharray
++pax_get_random_long_26309 pax_get_random_long 0 26309 &snd_pcm_plug_client_channels_buf_26309
++tled_proc_write_26315 tled_proc_write 3 26315 NULL
++pwr_wake_on_host_read_26321 pwr_wake_on_host_read 3 26321 NULL
++ocfs2_duplicate_clusters_by_page_26357 ocfs2_duplicate_clusters_by_page 5 26357 NULL
++dup_to_netobj_26363 dup_to_netobj 3 26363 NULL
++invalidate_inode_pages2_range_26403 invalidate_inode_pages2_range 0 26403 NULL
++iwl_legacy_dbgfs_sram_read_26419 iwl_legacy_dbgfs_sram_read 3 26419 NULL
++ib_alloc_device_26483 ib_alloc_device 1 26483 NULL
++ulong_write_file_26485 ulong_write_file 3 26485 NULL
++dvb_ca_en50221_io_ioctl_26490 dvb_ca_en50221_io_ioctl 2 26490 NULL
++read_vmcore_26501 read_vmcore 3 26501 NULL
++__vhost_add_used_n_26554 __vhost_add_used_n 3 26554 NULL
++ip6_addr_string_26568 ip6_addr_string 0 26568 NULL
++rts51x_read_mem_26577 rts51x_read_mem 4 26577 NULL
++cirrusfb_get_memsize_26597 cirrusfb_get_memsize 0 26597 NULL
++__unmap_single_26604 __unmap_single 2-3 26604 NULL
++iommu_alloc_26621 iommu_alloc 4 26621 NULL
++pwr_fix_tsf_ps_read_26627 pwr_fix_tsf_ps_read 3 26627 NULL
++mmap_region_26649 mmap_region 0-2 26649 NULL
++irq_alloc_generic_chip_26650 irq_alloc_generic_chip 2 26650 NULL nohasharray
++inb_p_26650 inb_p 0 26650 &irq_alloc_generic_chip_26650
++cipso_v4_map_cat_rbm_hton_26680 cipso_v4_map_cat_rbm_hton 0 26680 NULL
++__alloc_pred_stack_26687 __alloc_pred_stack 2 26687 NULL
++aty_ld_le32_26720 aty_ld_le32 0 26720 NULL
++srp_ring_alloc_26760 srp_ring_alloc 2 26760 NULL
++snd_hda_get_raw_connections_26762 snd_hda_get_raw_connections 0 26762 NULL
++qlcnic_alloc_sds_rings_26795 qlcnic_alloc_sds_rings 2 26795 NULL
++cipso_v4_genopt_26812 cipso_v4_genopt 0 26812 NULL
++smk_write_load_26829 smk_write_load 3 26829 NULL
++slgt_compat_ioctl_26834 slgt_compat_ioctl 3 26834 NULL
++__nodes_onto_26838 __nodes_onto 4 26838 NULL
++scnprint_id_26842 scnprint_id 3 26842 NULL
++ecryptfs_miscdev_write_26847 ecryptfs_miscdev_write 3 26847 NULL
++netxen_nic_hw_read_wx_128M_26858 netxen_nic_hw_read_wx_128M 2 26858 NULL
++svc_print_xprts_26881 svc_print_xprts 0 26881 NULL
++ext2_compat_ioctl_26883 ext2_compat_ioctl 3 26883 NULL
++x25_asy_change_mtu_26928 x25_asy_change_mtu 2 26928 NULL
++compat_mtw_from_user_26932 compat_mtw_from_user 0 26932 NULL
++scsi_tgt_copy_sense_26933 scsi_tgt_copy_sense 3 26933 NULL
++pwr_ps_enter_read_26935 pwr_ps_enter_read 3 26935 NULL nohasharray
++sctp_setsockopt_adaptation_layer_26935 sctp_setsockopt_adaptation_layer 3 26935 &pwr_ps_enter_read_26935
++create_bm_block_list_26940 create_bm_block_list 0 26940 NULL
++hecubafb_write_26942 hecubafb_write 3 26942 NULL
++extract_entropy_user_26952 extract_entropy_user 3 26952 NULL
++ufs_alloc_fragments_27059 ufs_alloc_fragments 3-0-2 27059 NULL
++__videobuf_alloc_vb_27062 __videobuf_alloc_vb 1 27062 NULL
++snd_pcm_lib_period_bytes_27071 snd_pcm_lib_period_bytes 0 27071 NULL
++paravirt_read_msr_27077 paravirt_read_msr 0 27077 NULL
++alloc_fdmem_27083 alloc_fdmem 1 27083 NULL
++find_first_bit_27088 find_first_bit 0-2 27088 NULL
++btmrvl_hscmd_write_27089 btmrvl_hscmd_write 3 27089 NULL
++__devcgroup_inode_permission_27108 __devcgroup_inode_permission 0 27108 NULL
++drbd_get_capacity_27141 drbd_get_capacity 0 27141 NULL
++pms_capture_27142 pms_capture 4 27142 NULL
++btmrvl_hscfgcmd_write_27143 btmrvl_hscfgcmd_write 3 27143 NULL
++au_br_do_del_hip_27168 au_br_do_del_hip 3 27168 NULL
++i2400m_net_rx_27170 i2400m_net_rx 5 27170 NULL
++ieee80211_if_read_rc_rateidx_mask_5ghz_27183 ieee80211_if_read_rc_rateidx_mask_5ghz 3 27183 NULL
++mmc_blk_compat_ioctl_27194 mmc_blk_compat_ioctl 4 27194 NULL
++dbAllocAG_27228 dbAllocAG 0 27228 NULL
++rxrpc_request_key_27235 rxrpc_request_key 3 27235 NULL
++cfpkt_add_trail_27260 cfpkt_add_trail 3 27260 NULL
++__dma_map_cont_27289 __dma_map_cont 5 27289 NULL
++hpi_read_reg_27302 hpi_read_reg 0 27302 NULL
++copy_from_buf_27308 copy_from_buf 4-2 27308 NULL
++ocfs2_blocks_to_clusters_27327 ocfs2_blocks_to_clusters 0-2 27327 NULL
++snd_pcm_oss_write2_27332 snd_pcm_oss_write2 3-0 27332 NULL
++afs_cell_create_27346 afs_cell_create 2 27346 NULL
++pcbit_stat_27364 pcbit_stat 2 27364 NULL
++init_memory_mapping_27395 init_memory_mapping 0 27395 NULL
++phys_pte_init_27411 phys_pte_init 0-3-2 27411 NULL
++acpi_os_get_root_pointer_27416 acpi_os_get_root_pointer 0 27416 NULL nohasharray
++ieee80211_if_read_smps_27416 ieee80211_if_read_smps 3 27416 &acpi_os_get_root_pointer_27416
++pack_sg_list_27425 pack_sg_list 0-2 27425 NULL
++rtsx_write_cfg_seq_27485 rtsx_write_cfg_seq 5-3 27485 NULL
++hcd_buffer_alloc_27495 hcd_buffer_alloc 2 27495 NULL
++qib_create_cq_27497 qib_create_cq 2 27497 NULL
++ip_set_get_h32_27498 ip_set_get_h32 0 27498 NULL
++garmin_read_process_27509 garmin_read_process 3 27509 NULL
++xfs_buf_read_uncached_27519 xfs_buf_read_uncached 4 27519 NULL
++ib_copy_to_udata_27525 ib_copy_to_udata 3 27525 NULL
++snd_sonicvibes_getdmaa_27552 snd_sonicvibes_getdmaa 0 27552 NULL
++libipw_alloc_txb_27579 libipw_alloc_txb 1 27579 NULL
++reciprocal_divide_27596 reciprocal_divide 0-1-2 27596 NULL
++iwl4965_rs_sta_dbgfs_rate_scale_data_read_27619 iwl4965_rs_sta_dbgfs_rate_scale_data_read 3 27619 NULL
++read_flush_procfs_27642 read_flush_procfs 3 27642 NULL nohasharray
++nl80211_send_connect_result_27642 nl80211_send_connect_result 5-7 27642 &read_flush_procfs_27642 nohasharray
++ocfs2_xattr_ibody_get_27642 ocfs2_xattr_ibody_get 0 27642 &nl80211_send_connect_result_27642
++add_new_gdb_27643 add_new_gdb 3 27643 NULL
++ieee80211_build_probe_req_27660 ieee80211_build_probe_req 7 27660 NULL
++cdrom_read_cdda_old_27664 cdrom_read_cdda_old 4 27664 NULL
++qword_get_27670 qword_get 0 27670 NULL
++ocfs2_extend_dir_27695 ocfs2_extend_dir 4 27695 NULL
++l2cap_sar_segment_sdu_27701 l2cap_sar_segment_sdu 3 27701 NULL
++cxio_hal_pblpool_alloc_27714 cxio_hal_pblpool_alloc 2 27714 NULL
++evm_write_key_27715 evm_write_key 3 27715 NULL
++ieee80211_if_fmt_dot11MeshGateAnnouncementProtocol_27722 ieee80211_if_fmt_dot11MeshGateAnnouncementProtocol 3 27722 NULL
++pstore_write_27724 pstore_write 3 27724 NULL nohasharray
++reg_w_buf_27724 reg_w_buf 3 27724 &pstore_write_27724
++xfs_dir2_block_sfsize_27727 xfs_dir2_block_sfsize 0 27727 NULL
++a4t_cs_init_27734 a4t_cs_init 3 27734 NULL
++kcalloc_27770 kcalloc 1-2 27770 NULL
++DivaSTraceGetMemotyRequirement_27797 DivaSTraceGetMemotyRequirement 0-1 27797 NULL
++ttm_object_file_init_27804 ttm_object_file_init 2 27804 NULL
++init_header_complete_27833 init_header_complete 0 27833 NULL nohasharray
++sys_listxattr_27833 sys_listxattr 3 27833 &init_header_complete_27833
++read_profile_27859 read_profile 3 27859 NULL
++sky2_pci_read16_27863 sky2_pci_read16 0 27863 NULL
++mangle_packet_27864 mangle_packet 6-8 27864 NULL
++unix_seqpacket_sendmsg_27893 unix_seqpacket_sendmsg 4 27893 NULL
++ubi_eba_write_leb_st_27896 ubi_eba_write_leb_st 5 27896 NULL
++gluebi_write_27905 gluebi_write 3 27905 NULL
++bm_find_next_27929 bm_find_next 2 27929 NULL
++tracing_clock_write_27961 tracing_clock_write 3 27961 NULL
++mic_rx_pkts_read_27972 mic_rx_pkts_read 3 27972 NULL
++snd_rawmidi_write_28008 snd_rawmidi_write 3 28008 NULL
++serial8250_port_size_28019 serial8250_port_size 0 28019 NULL
++sctp_setsockopt_maxburst_28041 sctp_setsockopt_maxburst 3 28041 NULL
++cx231xx_init_vbi_isoc_28053 cx231xx_init_vbi_isoc 3-2 28053 NULL
++lpfc_idiag_mbxacc_read_28061 lpfc_idiag_mbxacc_read 3 28061 NULL
++gdth_init_isa_28091 gdth_init_isa 1 28091 NULL
++mmc_test_alloc_mem_28102 mmc_test_alloc_mem 3-2 28102 NULL
++vgacon_adjust_height_28124 vgacon_adjust_height 2 28124 NULL
++video_read_28148 video_read 3 28148 NULL
++snd_midi_channel_alloc_set_28153 snd_midi_channel_alloc_set 1 28153 NULL
++stats_dot11FCSErrorCount_read_28154 stats_dot11FCSErrorCount_read 3 28154 NULL
++vread_28173 vread 0 28173 NULL
++macvtap_get_user_28185 macvtap_get_user 4 28185 NULL
++d_path_28198 d_path 0 28198 NULL
++line6_alloc_sysex_buffer_28225 line6_alloc_sysex_buffer 4 28225 NULL
++amd_nb_num_28228 amd_nb_num 0 28228 NULL
++c4iw_rqtpool_alloc_28271 c4iw_rqtpool_alloc 2 28271 NULL
++usemap_size_28281 usemap_size 0 28281 NULL
++dma_map_sg_attrs_28289 dma_map_sg_attrs 0 28289 NULL
++acpi_register_gsi_xen_28305 acpi_register_gsi_xen 2 28305 NULL nohasharray
++nouveau_compat_ioctl_28305 nouveau_compat_ioctl 2 28305 &acpi_register_gsi_xen_28305
++snd_pcm_oss_read_28317 snd_pcm_oss_read 3 28317 NULL
++bm_entry_write_28338 bm_entry_write 3 28338 NULL
++snapshot_write_28351 snapshot_write 3 28351 NULL
++orig_node_del_if_28371 orig_node_del_if 2 28371 NULL
++sys_writev_28384 sys_writev 3 28384 NULL
++dlmfs_file_read_28385 dlmfs_file_read 3 28385 NULL
++subdev_ioctl_28417 subdev_ioctl 2 28417 NULL
++snd_emu10k1_efx_read_28452 snd_emu10k1_efx_read 2 28452 NULL
++alloc_irq_cpu_rmap_28459 alloc_irq_cpu_rmap 1 28459 NULL
++vmw_du_crtc_cursor_set_28479 vmw_du_crtc_cursor_set 4-5 28479 NULL
++snapshot_status_28480 snapshot_status 4 28480 NULL
++ocfs2_backup_super_blkno_28484 ocfs2_backup_super_blkno 0-2 28484 NULL
++max_response_pages_28492 max_response_pages 0 28492 NULL
++__next_node_28521 __next_node 1 28521 NULL
++i2400m_tx_stats_read_28527 i2400m_tx_stats_read 3 28527 NULL
++sel_read_policycap_28544 sel_read_policycap 3 28544 NULL
++run_delalloc_range_28545 run_delalloc_range 3 28545 NULL nohasharray
++mptctl_getiocinfo_28545 mptctl_getiocinfo 2 28545 &run_delalloc_range_28545
++b43legacy_debugfs_write_28556 b43legacy_debugfs_write 3 28556 NULL
++phys_pud_init_28574 phys_pud_init 0-3-2 28574 NULL
++cfg80211_send_rx_auth_28580 cfg80211_send_rx_auth 3 28580 NULL
++oxygen_read32_28582 oxygen_read32 0 28582 NULL
++ocfs2_read_dir_block_28587 ocfs2_read_dir_block 2 28587 NULL
++extract_entropy_28604 extract_entropy 3-5 28604 NULL
++kfifo_unused_28612 kfifo_unused 0 28612 NULL
++mp_override_legacy_irq_28618 mp_override_legacy_irq 4 28618 NULL
++snd_nm256_capture_copy_28622 snd_nm256_capture_copy 5-3 28622 NULL
++_set_range_28627 _set_range 3 28627 NULL
++v4l2_compat_ioctl32_28630 v4l2_compat_ioctl32 3 28630 NULL
++setup_usemap_28636 setup_usemap 3-4 28636 NULL
++blk_queue_resize_tags_28670 blk_queue_resize_tags 2 28670 NULL
++posix_acl_from_xattr_28675 posix_acl_from_xattr 2 28675 NULL
++nl80211_send_new_peer_candidate_28692 nl80211_send_new_peer_candidate 5 28692 NULL
++drm_plane_init_28731 drm_plane_init 6 28731 NULL
++spi_execute_28736 spi_execute 5 28736 NULL
++snd_pcm_aio_write_28738 snd_pcm_aio_write 3 28738 NULL nohasharray
++phantom_compat_ioctl_28738 phantom_compat_ioctl 3 28738 &snd_pcm_aio_write_28738
++cxio_init_resource_fifo_28764 cxio_init_resource_fifo 3 28764 NULL
++ath6kl_get_num_reg_28780 ath6kl_get_num_reg 0 28780 NULL
++sel_write_member_28800 sel_write_member 3 28800 NULL
++cgroup_file_read_28804 cgroup_file_read 3 28804 NULL
++memory_bm_create_28814 memory_bm_create 0 28814 NULL
++iwl_dbgfs_rxon_filter_flags_read_28832 iwl_dbgfs_rxon_filter_flags_read 3 28832 NULL
++vp_request_msix_vectors_28849 vp_request_msix_vectors 2 28849 NULL
++ipv6_renew_options_28867 ipv6_renew_options 5 28867 NULL
++iwl3945_sta_dbgfs_stats_table_read_28882 iwl3945_sta_dbgfs_stats_table_read 3 28882 NULL
++packet_sendmsg_spkt_28885 packet_sendmsg_spkt 4 28885 NULL
++ps_upsd_timeouts_read_28924 ps_upsd_timeouts_read 3 28924 NULL
++ocfs2_frozen_trigger_28929 ocfs2_frozen_trigger 4 28929 NULL
++push_rx_28939 push_rx 3 28939 NULL
++alloc_sched_domains_28972 alloc_sched_domains 1 28972 NULL
++ext4_mb_add_groupinfo_28988 ext4_mb_add_groupinfo 2 28988 NULL
++hci_sock_setsockopt_28993 hci_sock_setsockopt 5 28993 NULL
++bin_uuid_28999 bin_uuid 3 28999 NULL
++xz_dec_init_29029 xz_dec_init 2 29029 NULL
++sys_fcntl64_29031 sys_fcntl64 3 29031 NULL
++rxrpc_sendmsg_29049 rxrpc_sendmsg 4 29049 NULL
++split_bvec_29058 split_bvec 5 29058 NULL
++iso_packets_buffer_init_29061 iso_packets_buffer_init 3-4 29061 NULL
++lpfc_idiag_extacc_drivr_get_29067 lpfc_idiag_extacc_drivr_get 0-3 29067 NULL
++mark_extents_written_29082 mark_extents_written 2 29082 NULL
++isdn_ppp_write_29109 isdn_ppp_write 4 29109 NULL
++rbd_req_sync_op_29115 rbd_req_sync_op 9-10 29115 NULL
++snprintf_29125 snprintf 0 29125 NULL
++iov_shorten_29130 iov_shorten 0 29130 NULL
++proc_scsi_write_29142 proc_scsi_write 3 29142 NULL
++reshape_ring_29147 reshape_ring 2 29147 NULL
++drm_property_create_enum_29201 drm_property_create_enum 5 29201 NULL
++wusb_prf_256_29203 wusb_prf_256 7 29203 NULL
++do_shrinker_shrink_29208 do_shrinker_shrink 0 29208 NULL
++iwl_dbgfs_temperature_read_29224 iwl_dbgfs_temperature_read 3 29224 NULL
++devm_ioremap_29235 devm_ioremap 2-3 29235 NULL
++recover_peb_29238 recover_peb 6-7 29238 NULL
++security_context_to_sid_core_29248 security_context_to_sid_core 2 29248 NULL
++prism2_set_genericelement_29277 prism2_set_genericelement 3 29277 NULL
++bitmap_ord_to_pos_29279 bitmap_ord_to_pos 3 29279 NULL
++sn9c102_read_29305 sn9c102_read 3 29305 NULL
++lo_compat_ioctl_29336 lo_compat_ioctl 4 29336 NULL
++__alloc_ei_netdev_29338 __alloc_ei_netdev 1 29338 NULL
++l2cap_sock_setsockopt_old_29346 l2cap_sock_setsockopt_old 4 29346 NULL
++alloc_and_copy_ftrace_hash_29368 alloc_and_copy_ftrace_hash 1 29368 NULL
++pca953x_irq_setup_29407 pca953x_irq_setup 3 29407 NULL
++mempool_create_29437 mempool_create 1 29437 NULL
++crypto_ahash_alignmask_29445 crypto_ahash_alignmask 0 29445 NULL
++apei_exec_ctx_get_output_29457 apei_exec_ctx_get_output 0 29457 NULL
++validate_scan_freqs_29462 validate_scan_freqs 0 29462 NULL
++do_register_entry_29478 do_register_entry 4 29478 NULL
++simple_strtoul_29480 simple_strtoul 0 29480 NULL
++btmrvl_pscmd_write_29504 btmrvl_pscmd_write 3 29504 NULL
++btrfs_file_extent_disk_bytenr_29505 btrfs_file_extent_disk_bytenr 0 29505 NULL
++atk_debugfs_ggrp_read_29522 atk_debugfs_ggrp_read 3 29522 NULL
++idetape_queue_rw_tail_29562 idetape_queue_rw_tail 3 29562 NULL
++leaf_dealloc_29566 leaf_dealloc 3 29566 NULL
++lbs_lowsnr_read_29571 lbs_lowsnr_read 3 29571 NULL
++pvr2_hdw_report_unlocked_29589 pvr2_hdw_report_unlocked 4 29589 NULL
++slots_per_page_29601 slots_per_page 0 29601 NULL
++nla_get_u16_29624 nla_get_u16 0 29624 NULL
++lowmem_page_address_29649 lowmem_page_address 0 29649 NULL
++sctp_make_abort_user_29654 sctp_make_abort_user 3 29654 NULL
++new_lockspace_29674 new_lockspace 2 29674 NULL
++sisusb_write_mem_bulk_29678 sisusb_write_mem_bulk 4 29678 NULL
++sd_alloc_ctl_entry_29708 sd_alloc_ctl_entry 1 29708 NULL
++probes_write_29711 probes_write 3 29711 NULL
++emi62_writememory_29731 emi62_writememory 4 29731 NULL
++read_cis_cache_29735 read_cis_cache 4 29735 NULL
++cxio_hal_init_resource_29771 cxio_hal_init_resource 2-6-7 29771 NULL nohasharray
++ip_vs_conn_fill_param_sync_29771 ip_vs_conn_fill_param_sync 6 29771 &cxio_hal_init_resource_29771
++cifs_ucs2_bytes_29790 cifs_ucs2_bytes 0 29790 NULL
++dbAlloc_29794 dbAlloc 0 29794 NULL
++ext4_trim_all_free_29806 ext4_trim_all_free 4-3-2 29806 NULL
++tcp_sendpage_29829 tcp_sendpage 3-4 29829 NULL
++scan_bitmap_block_29840 scan_bitmap_block 4 29840 NULL
++__probe_kernel_write_29842 __probe_kernel_write 3 29842 NULL
++ipv6_setsockopt_29871 ipv6_setsockopt 5 29871 NULL
++scsi_end_request_29876 scsi_end_request 3 29876 NULL
++crypto_aead_alignmask_29885 crypto_aead_alignmask 0 29885 NULL
++nfc_targets_found_29886 nfc_targets_found 3 29886 NULL
++pin_code_reply_29893 pin_code_reply 4 29893 NULL
++check586_29914 check586 2 29914 NULL
++ext4_xattr_set_acl_29930 ext4_xattr_set_acl 4 29930 NULL
++security_transition_sid_29940 security_transition_sid 3 29940 NULL
++__btrfs_getxattr_29947 __btrfs_getxattr 0 29947 NULL
++irias_add_octseq_attrib_29983 irias_add_octseq_attrib 4 29983 NULL nohasharray
++diva_os_get_context_size_29983 diva_os_get_context_size 0 29983 &irias_add_octseq_attrib_29983
++arch_setup_dmar_msi_29992 arch_setup_dmar_msi 1 29992 NULL
++utf32_to_utf8_30028 utf32_to_utf8 0 30028 NULL
++alloc_netdev_mqs_30030 alloc_netdev_mqs 1 30030 NULL
++scsi_vpd_inquiry_30040 scsi_vpd_inquiry 4 30040 NULL
++cxgbi_ddp_reserve_30091 cxgbi_ddp_reserve 4 30091 NULL
++snd_midi_channel_init_set_30092 snd_midi_channel_init_set 1 30092 NULL
++tg3_run_loopback_30093 tg3_run_loopback 2 30093 NULL
++skb_pagelen_30113 skb_pagelen 0 30113 NULL
++spi_async_locked_30117 spi_async_locked 0 30117 NULL
++calgary_unmap_page_30130 calgary_unmap_page 2-3 30130 NULL
++_osd_req_sizeof_alist_header_30134 _osd_req_sizeof_alist_header 0 30134 NULL
++u_memcpya_30139 u_memcpya 2-3 30139 NULL
++cx25821_video_ioctl_30188 cx25821_video_ioctl 2 30188 NULL
++mempool_create_page_pool_30189 mempool_create_page_pool 1 30189 NULL
++stripe_status_30195 stripe_status 4 30195 NULL
++usblp_ioctl_30203 usblp_ioctl 2 30203 NULL
++read_4k_modal_eeprom_30212 read_4k_modal_eeprom 3 30212 NULL
++snd_ac97_pcm_assign_30218 snd_ac97_pcm_assign 2 30218 NULL
++dccp_manip_pkt_30229 dccp_manip_pkt 2 30229 NULL
++isr_pci_pm_read_30271 isr_pci_pm_read 3 30271 NULL
++compat_readv_30273 compat_readv 3 30273 NULL
++lapic_register_intr_30279 lapic_register_intr 1 30279 NULL
++skcipher_sendmsg_30290 skcipher_sendmsg 4 30290 NULL
++ext4_acl_from_disk_30320 ext4_acl_from_disk 2 30320 NULL
++generic_ptrace_pokedata_30338 generic_ptrace_pokedata 2 30338 NULL
++resource_from_user_30341 resource_from_user 3 30341 NULL
++__vmalloc_node_flags_30352 __vmalloc_node_flags 1 30352 NULL
++sys_get_mempolicy_30379 sys_get_mempolicy 3 30379 NULL
++c4iw_init_resource_30393 c4iw_init_resource 2-3 30393 NULL
++_drbd_bm_find_next_zero_30415 _drbd_bm_find_next_zero 2 30415 NULL
++enable_write_30456 enable_write 3 30456 NULL
++urandom_read_30462 urandom_read 3 30462 NULL
++zoran_ioctl_30465 zoran_ioctl 2 30465 NULL
++write_head_30481 write_head 4 30481 NULL
++adu_write_30487 adu_write 3 30487 NULL
++disk_expand_part_tbl_30561 disk_expand_part_tbl 2 30561 NULL
++blk_init_tags_30592 blk_init_tags 1 30592 NULL
++sgl_map_user_pages_30610 sgl_map_user_pages 2 30610 NULL
++macvtap_sendmsg_30629 macvtap_sendmsg 4 30629 NULL
++compat_raw_setsockopt_30634 compat_raw_setsockopt 5 30634 NULL
++nfsd_nrpools_30651 nfsd_nrpools 0 30651 NULL
++agp_remap_30665 agp_remap 2 30665 NULL
++jffs2_flash_read_30667 jffs2_flash_read 0 30667 NULL
++dccp_setsockopt_ccid_30701 dccp_setsockopt_ccid 4 30701 NULL
++wled_proc_write_30709 wled_proc_write 3 30709 NULL
++lbs_debugfs_read_30721 lbs_debugfs_read 3 30721 NULL
++snd_nm256_playback_silence_30727 snd_nm256_playback_silence 4-3 30727 NULL
++ath6kl_wmi_send_action_cmd_30735 ath6kl_wmi_send_action_cmd 6 30735 NULL
++fuse_conn_limit_write_30777 fuse_conn_limit_write 3 30777 NULL nohasharray
++tcf_csum_ipv4_udp_30777 tcf_csum_ipv4_udp 4 30777 &fuse_conn_limit_write_30777
++ubi_write_30809 ubi_write 4-5 30809 NULL
++smk_read_doi_30813 smk_read_doi 3 30813 NULL
++get_kobj_path_length_30831 get_kobj_path_length 0 30831 NULL
++sctp_setsockopt_auth_chunk_30843 sctp_setsockopt_auth_chunk 3 30843 NULL
++hda_hwdep_ioctl_compat_30847 hda_hwdep_ioctl_compat 4 30847 NULL
++ieee80211_if_fmt_dropped_frames_no_route_30884 ieee80211_if_fmt_dropped_frames_no_route 3 30884 NULL
++f1x_match_to_this_node_30888 f1x_match_to_this_node 3 30888 NULL
++iommu_map_mmio_space_30919 iommu_map_mmio_space 1 30919 NULL
++sctp_setsockopt_rtoinfo_30941 sctp_setsockopt_rtoinfo 3 30941 NULL
++tty_insert_flip_string_flags_30969 tty_insert_flip_string_flags 4 30969 NULL
++huge_page_mask_30981 huge_page_mask 0 30981 NULL
++lbs_host_sleep_read_31013 lbs_host_sleep_read 3 31013 NULL
++phys_pmd_init_31024 phys_pmd_init 0-3-2 31024 NULL
++compat_sys_mq_timedsend_31060 compat_sys_mq_timedsend 3 31060 NULL
++lbs_failcount_read_31063 lbs_failcount_read 3 31063 NULL
++find_next_bit_le_31064 find_next_bit_le 0-2-3 31064 NULL
++sys_mincore_31079 sys_mincore 1 31079 NULL
++ttm_bo_ioremap_31082 ttm_bo_ioremap 2-3 31082 NULL
++sctp_setsockopt_context_31091 sctp_setsockopt_context 3 31091 NULL
++compat_sys_get_mempolicy_31109 compat_sys_get_mempolicy 3 31109 NULL
++depth_read_31112 depth_read 3 31112 NULL
++kvm_mmu_pte_write_31120 kvm_mmu_pte_write 2 31120 NULL
++kimage_normal_alloc_31140 kimage_normal_alloc 3 31140 NULL
++size_inside_page_31141 size_inside_page 0 31141 NULL
++w9966_v4l_read_31148 w9966_v4l_read 3 31148 NULL
++ch_do_scsi_31171 ch_do_scsi 4 31171 NULL
++input_mt_init_slots_31183 input_mt_init_slots 2 31183 NULL
++acpi_ex_system_memory_space_handler_31192 acpi_ex_system_memory_space_handler 2 31192 NULL
++crypto_rng_seedsize_31196 crypto_rng_seedsize 0 31196 NULL
++r592_read_fifo_pio_31198 r592_read_fifo_pio 3 31198 NULL
++cpumask_weight_31215 cpumask_weight 0 31215 NULL
++__read_reg_31216 __read_reg 0 31216 NULL
++atm_get_addr_31221 atm_get_addr 3 31221 NULL
++cyy_readb_31240 cyy_readb 0 31240 NULL
++_create_sg_bios_31244 _create_sg_bios 4 31244 NULL
++ieee80211_if_read_last_beacon_31257 ieee80211_if_read_last_beacon 3 31257 NULL
++ceph_copy_page_vector_to_user_31270 ceph_copy_page_vector_to_user 3-4 31270 NULL
++sctp_tsnmap_find_gap_ack_31272 sctp_tsnmap_find_gap_ack 3-2 31272 NULL
++uvc_simplify_fraction_31303 uvc_simplify_fraction 3 31303 NULL
++sisusbcon_scroll_31315 sisusbcon_scroll 5-2-3 31315 NULL
++futex_uaddr_31316 futex_uaddr 2 31316 NULL
++command_file_write_31318 command_file_write 3 31318 NULL
++__cpu_to_node_31345 __cpu_to_node 0 31345 NULL
++rbd_do_op_31366 rbd_do_op 8-9 31366 NULL
++xprt_rdma_allocate_31372 xprt_rdma_allocate 2 31372 NULL
++trace_parser_get_init_31379 trace_parser_get_init 2 31379 NULL
++inb_31388 inb 0 31388 NULL
++key_ifindex_read_31411 key_ifindex_read 3 31411 NULL
++mcs7830_set_reg_31413 mcs7830_set_reg 3 31413 NULL
+TSS_checkhmac1_31429 TSS_checkhmac1 5 31429 NULL
-+ubi_leb_write_41691 ubi_leb_write 4-5 41691 NULL
-+arch_gnttab_map_shared_7970 arch_gnttab_map_shared 3 7970 NULL
-+store_lslvl_15059 store_lslvl 4 15059 NULL
-+ssb_bus_pcmciabus_register_56020 ssb_bus_pcmciabus_register 3 56020 NULL
-+fm_send_cmd_39639 fm_send_cmd 5 39639 NULL
-+dm_exception_table_init_39645 dm_exception_table_init 2 39645 NULL
-+nfs4_write_cached_acl_15070 nfs4_write_cached_acl 4 15070 NULL
-+ntfs_copy_from_user_15072 ntfs_copy_from_user 3-5 15072 NULL
-+sctp_recvmsg_23265 sctp_recvmsg 4 23265 NULL
-+snd_rme32_capture_copy_39653 snd_rme32_capture_copy 5 39653 NULL
-+get_new_cssid_51665 get_new_cssid 2 51665 NULL
-+raw_seticmpfilter_6888 raw_seticmpfilter 3 6888 NULL
-+prism2_info_hostscanresults_39657 prism2_info_hostscanresults 3 39657 NULL
++snd_aw2_saa7146_get_hw_ptr_capture_31431 snd_aw2_saa7146_get_hw_ptr_capture 0 31431 NULL
++pool_status_31439 pool_status 4 31439 NULL
++acpi_sci_ioapic_setup_31445 acpi_sci_ioapic_setup 4 31445 NULL
++opera1_xilinx_rw_31453 opera1_xilinx_rw 5 31453 NULL
+do_fcntl_31468 do_fcntl 3 31468 NULL
-+ath6kl_wmi_set_appie_cmd_47855 ath6kl_wmi_set_appie_cmd 4 47855 NULL
-+ubifs_write_node_15088 ubifs_write_node 5-3 15088 NULL
-+kvm_read_guest_cached_39666 kvm_read_guest_cached 4 39666 NULL
-+redrat3_transmit_ir_64244 redrat3_transmit_ir 3 64244 NULL
-+doc_probe_23285 doc_probe 1 23285 NULL
-+v4l_stk_read_39672 v4l_stk_read 3 39672 NULL
-+dccp_sendmsg_56058 dccp_sendmsg 4 56058 NULL
++xfs_btree_get_numrecs_31477 xfs_btree_get_numrecs 0 31477 NULL
+alg_setkey_31485 alg_setkey 3 31485 NULL
+rds_message_map_pages_31487 rds_message_map_pages 2 31487 NULL
+qsfp_2_read_31491 qsfp_2_read 3 31491 NULL
-+vhci_read_47878 vhci_read 3 47878 NULL
+__alloc_bootmem_31498 __alloc_bootmem 1 31498 NULL
-+ieee80211_send_probe_req_6924 ieee80211_send_probe_req 6-4 6924 NULL
-+cache_do_downcall_6926 cache_do_downcall 3 6926 NULL
-+qla2x00_handle_queue_full_24365 qla2x00_handle_queue_full 2 24365 NULL
-+keyctl_instantiate_key_common_47889 keyctl_instantiate_key_common 4 47889 NULL
-+nl_pid_hash_zalloc_23314 nl_pid_hash_zalloc 1 23314 NULL
-+rawv6_send_hdrinc_35425 rawv6_send_hdrinc 3 35425 NULL
-+ftrace_pid_write_39710 ftrace_pid_write 3 39710 NULL
-+event_id_read_64288 event_id_read 3 64288 NULL nohasharray
-+xfs_dir_cilookup_result_64288 xfs_dir_cilookup_result 3 64288 &event_id_read_64288
-+osd_req_read_sg_47905 osd_req_read_sg 5 47905 NULL
-+sta_agg_status_write_45164 sta_agg_status_write 3 45164 NULL
-+sel_read_bool_24236 sel_read_bool 3 24236 NULL
-+pscsi_get_bio_56103 pscsi_get_bio 1 56103 NULL
-+timeout_read_47915 timeout_read 3 47915 NULL
+hidraw_write_31536 hidraw_write 3 31536 NULL
-+page_readlink_23346 page_readlink 3 23346 NULL
-+videobuf_dma_init_kernel_6963 videobuf_dma_init_kernel 3 6963 NULL
-+comedi_write_47926 comedi_write 3 47926 NULL
-+packet_alloc_skb_62602 packet_alloc_skb 2-5-4 62602 NULL
-+kmem_zalloc_large_56128 kmem_zalloc_large 1 56128 NULL
-+sisusbcon_clear_64329 sisusbcon_clear 3-5-4 64329 NULL
-+tcp_write_xmit_39755 tcp_write_xmit 2 39755 NULL
-+nf_nat_ftp_47948 nf_nat_ftp 5 47948 NULL
-+request_key_async_6990 request_key_async 4 6990 NULL
-+ts_write_64336 ts_write 3 64336 NULL
-+ath6kl_wmi_bssinfo_event_rx_56146 ath6kl_wmi_bssinfo_event_rx 3 56146 NULL
-+usbtmc_write_64340 usbtmc_write 3 64340 NULL
-+xlog_do_log_recovery_17550 xlog_do_log_recovery 3 17550 NULL
-+do_write_orph_node_64343 do_write_orph_node 2 64343 NULL
-+r871x_set_wpa_ie_7000 r871x_set_wpa_ie 3 7000 NULL
-+iscsi_create_endpoint_15193 iscsi_create_endpoint 1 15193 NULL
-+ip_nat_sdp_media_23386 ip_nat_sdp_media 8 23386 NULL
++mtd_div_by_eb_31543 mtd_div_by_eb 0-1 31543 NULL
++normalize_31566 normalize 0-1-2 31566 NULL
+osst_write_31581 osst_write 3 31581 NULL
-+tracing_cpumask_read_7010 tracing_cpumask_read 3 7010 NULL
-+rawv6_setsockopt_56165 rawv6_setsockopt 5 56165 NULL
-+diva_xdi_write_63975 diva_xdi_write 4 63975 NULL
-+llc_alloc_frame_64366 llc_alloc_frame 4 64366 NULL
-+iwl_dbgfs_ucode_tracing_read_47983 iwl_dbgfs_ucode_tracing_read 3 47983 NULL nohasharray
-+mempool_resize_47983 mempool_resize 2 47983 &iwl_dbgfs_ucode_tracing_read_47983
-+hid_report_raw_event_7024 hid_report_raw_event 4 7024 NULL
-+bfad_debugfs_write_regrd_15218 bfad_debugfs_write_regrd 3 15218 NULL
-+mgmt_pending_add_47990 mgmt_pending_add 5 47990 NULL
-+iscsi_change_queue_depth_23416 iscsi_change_queue_depth 2 23416 NULL
-+ib_umad_write_47993 ib_umad_write 3 47993 NULL
-+ilo_write_64378 ilo_write 3 64378 NULL
-+vmw_du_crtc_cursor_set_28479 vmw_du_crtc_cursor_set 4-5 28479 NULL
-+vzalloc_node_23424 vzalloc_node 1 23424 NULL
++iwl_dbgfs_ucode_tx_stats_read_31611 iwl_dbgfs_ucode_tx_stats_read 3 31611 NULL
+arvo_sysfs_read_31617 arvo_sysfs_read 6 31617 NULL
-+ulog_alloc_skb_23427 ulog_alloc_skb 1 23427 NULL
-+variax_alloc_sysex_buffer_15237 variax_alloc_sysex_buffer 3 15237 NULL
+iwl_legacy_dbgfs_traffic_log_read_31625 iwl_legacy_dbgfs_traffic_log_read 3 31625 NULL
-+lpfc_idiag_ctlacc_read_33943 lpfc_idiag_ctlacc_read 3 33943 NULL
-+ffs_epfile_write_48014 ffs_epfile_write 3 48014 NULL
-+store_wlan_38040 store_wlan 4 38040 NULL
-+ir_lirc_transmit_ir_64403 ir_lirc_transmit_ir 3 64403 NULL
-+pidlist_allocate_64404 pidlist_allocate 1 64404 NULL
+videobuf_read_one_31637 videobuf_read_one 3 31637 NULL
-+rx_hdr_overflow_read_64407 rx_hdr_overflow_read 3 64407 NULL
-+hidraw_send_report_23449 hidraw_send_report 3 23449 NULL
-+beiscsi_process_async_pdu_39834 beiscsi_process_async_pdu 7 39834 NULL
-+hci_sock_recvmsg_7072 hci_sock_recvmsg 4 7072 NULL
-+snd_card_create_64418 snd_card_create 4 64418 NULL nohasharray
-+keyctl_get_security_64418 keyctl_get_security 3 64418 &snd_card_create_64418
+pod_alloc_sysex_buffer_31651 pod_alloc_sysex_buffer 3 31651 NULL
-+cp210x_get_config_56229 cp210x_get_config 4 56229 NULL
-+spi_dv_device_echo_buffer_39846 spi_dv_device_echo_buffer 2-3 39846 NULL
-+pppoe_sendmsg_48039 pppoe_sendmsg 4 48039 NULL
-+ecryptfs_readlink_40775 ecryptfs_readlink 3 40775 NULL
-+dn_nsp_send_disc_23469 dn_nsp_send_disc 2 23469 NULL
-+do_ipt_set_ctl_56238 do_ipt_set_ctl 4 56238 NULL
-+ping_sendmsg_3782 ping_sendmsg 4 3782 NULL
-+beacon_interval_read_7091 beacon_interval_read 3 7091 NULL
++xfer_secondary_pool_31661 xfer_secondary_pool 2 31661 NULL
+__lgread_31668 __lgread 4 31668 NULL
-+fd_copyin_56247 fd_copyin 3 56247 NULL
-+wpan_phy_alloc_48056 wpan_phy_alloc 1 48056 NULL
-+ax25_recvmsg_64441 ax25_recvmsg 4 64441 NULL
-+sys_connect_15291 sys_connect 3 15291 NULL nohasharray
-+xlate_dev_mem_ptr_15291 xlate_dev_mem_ptr 1 15291 &sys_connect_15291
-+__ata_change_queue_depth_23484 __ata_change_queue_depth 3 23484 NULL
-+teiup_create_43201 teiup_create 3 43201 NULL
-+ext4_kvzalloc_47605 ext4_kvzalloc 1 47605 NULL
-+ieee80211_if_read_element_ttl_18869 ieee80211_if_read_element_ttl 3 18869 NULL
-+event_filter_read_23494 event_filter_read 3 23494 NULL
-+tpm_tis_init_15304 tpm_tis_init 2-3 15304 NULL
-+msnd_fifo_alloc_23179 msnd_fifo_alloc 2 23179 NULL
-+fcoe_ctlr_send_keep_alive_15308 fcoe_ctlr_send_keep_alive 3 15308 NULL
-+sys_setsockopt_35320 sys_setsockopt 5 35320 NULL
++symbol_string_31670 symbol_string 0 31670 NULL
++handle_interrupt_31689 handle_interrupt 0 31689 NULL nohasharray
++reiserfs_in_journal_31689 reiserfs_in_journal 3 31689 &handle_interrupt_31689
++iwl_legacy_dbgfs_chain_noise_read_31692 iwl_legacy_dbgfs_chain_noise_read 3 31692 NULL
+audit_log_n_string_31705 audit_log_n_string 3 31705 NULL
-+c4iw_init_resource_fifo_48090 c4iw_init_resource_fifo 3 48090 NULL
-+write_led_23517 write_led 2 23517 NULL
-+ip_vs_create_timeout_table_64478 ip_vs_create_timeout_table 2 64478 NULL
-+send_mpa_reject_7135 send_mpa_reject 3 7135 NULL
-+sctp_make_op_error_7057 sctp_make_op_error 5-6 7057 NULL
-+mmc_alloc_host_48097 mmc_alloc_host 1 48097 NULL
++utf16s_to_utf8s_31735 utf16s_to_utf8s 0 31735 NULL
++NCR_700_change_queue_depth_31742 NCR_700_change_queue_depth 2 31742 NULL nohasharray
++input_abs_get_max_31742 input_abs_get_max 0 31742 &NCR_700_change_queue_depth_31742
++bcm_char_read_31750 bcm_char_read 3 31750 NULL
++snd_seq_device_new_31753 snd_seq_device_new 4 31753 NULL
++usblp_cache_device_id_string_31790 usblp_cache_device_id_string 0 31790 NULL
++get_count_order_31800 get_count_order 0 31800 NULL
++ecryptfs_send_message_locked_31801 ecryptfs_send_message_locked 2 31801 NULL
++isr_rx_procs_read_31804 isr_rx_procs_read 3 31804 NULL
++strnlen_user_31815 strnlen_user 0-2 31815 NULL
++sta_last_signal_read_31818 sta_last_signal_read 3 31818 NULL
++drm_mode_crtc_set_gamma_size_31881 drm_mode_crtc_set_gamma_size 2 31881 NULL
++ddb_output_write_31902 ddb_output_write 3 31902 NULL
++xattr_permission_31907 xattr_permission 0 31907 NULL
++kmem_alloc_31920 kmem_alloc 1 31920 NULL
++guestwidth_to_adjustwidth_31937 guestwidth_to_adjustwidth 0-1 31937 NULL
++iov_iter_copy_from_user_31942 iov_iter_copy_from_user 4 31942 NULL
++vb2_write_31948 vb2_write 3 31948 NULL
++pvr2_ctrl_get_valname_31951 pvr2_ctrl_get_valname 4 31951 NULL
++copy_from_user_toio_31966 copy_from_user_toio 3 31966 NULL
++mtd_add_partition_31971 mtd_add_partition 3 31971 NULL
++find_next_zero_bit_31990 find_next_zero_bit 0-2-3 31990 NULL
++calc_hmac_32010 calc_hmac 3 32010 NULL
++aead_len_32021 aead_len 0 32021 NULL
++ocfs2_remove_extent_32032 ocfs2_remove_extent 4-3 32032 NULL
++posix_acl_set_32037 posix_acl_set 4 32037 NULL
++vmw_cursor_update_dmabuf_32045 vmw_cursor_update_dmabuf 3-4 32045 NULL
++sys_sched_setaffinity_32046 sys_sched_setaffinity 2 32046 NULL
++proc_scsi_devinfo_write_32064 proc_scsi_devinfo_write 3 32064 NULL
++cfg80211_send_unprot_deauth_32080 cfg80211_send_unprot_deauth 3 32080 NULL
++ath6kl_fwlog_read_32101 ath6kl_fwlog_read 3 32101 NULL
++set_discoverable_32102 set_discoverable 4 32102 NULL
++disk_status_32120 disk_status 4 32120 NULL
++venus_link_32165 venus_link 5 32165 NULL
++drbd_new_dev_size_32171 drbd_new_dev_size 0 32171 NULL
++do_writepages_32173 do_writepages 0 32173 NULL nohasharray
++ntfs_rl_realloc_nofail_32173 ntfs_rl_realloc_nofail 3 32173 &do_writepages_32173
++load_header_32183 load_header 0 32183 NULL
++ubi_wl_scrub_peb_32196 ubi_wl_scrub_peb 0 32196 NULL
++wusb_ccm_mac_32199 wusb_ccm_mac 7 32199 NULL
++riva_get_cmap_len_32218 riva_get_cmap_len 0 32218 NULL
++lbs_lowrssi_read_32242 lbs_lowrssi_read 3 32242 NULL
++ocfs2_xattr_find_entry_32260 ocfs2_xattr_find_entry 0 32260 NULL
++fb_compat_ioctl_32265 fb_compat_ioctl 3 32265 NULL
++vmalloc_user_32308 vmalloc_user 1 32308 NULL
++nl80211_send_mlme_event_32337 nl80211_send_mlme_event 4 32337 NULL
++t4_alloc_mem_32342 t4_alloc_mem 1 32342 NULL
++dispatch_ioctl_32357 dispatch_ioctl 2 32357 NULL
++f1x_translate_sysaddr_to_cs_32359 f1x_translate_sysaddr_to_cs 2 32359 NULL
++sel_read_initcon_32362 sel_read_initcon 3 32362 NULL
++_drbd_bm_find_next_32372 _drbd_bm_find_next 2 32372 NULL
++variax_set_raw2_32374 variax_set_raw2 4 32374 NULL
++usbtmc_read_32377 usbtmc_read 3 32377 NULL
++xfs_iext_add_indirect_multi_32400 xfs_iext_add_indirect_multi 3 32400 NULL
++hid_input_report_32458 hid_input_report 4 32458 NULL
++ieee80211_fill_mesh_addresses_32465 ieee80211_fill_mesh_addresses 0 32465 NULL
++ide_driver_proc_write_32493 ide_driver_proc_write 3 32493 NULL
++ctrl_std_val_to_sym_32516 ctrl_std_val_to_sym 5 32516 NULL
++qsfp_read_32522 qsfp_read 0-4-2 32522 NULL
++ilo_read_32531 ilo_read 3 32531 NULL
++ieee80211_if_read_estab_plinks_32533 ieee80211_if_read_estab_plinks 3 32533 NULL
++format_devstat_counter_32550 format_devstat_counter 3 32550 NULL
++__first_node_32558 __first_node 0 32558 NULL
++aes_encrypt_fail_read_32562 aes_encrypt_fail_read 3 32562 NULL
++pnp_mem_len_32584 pnp_mem_len 0 32584 NULL
++mem_swapout_entry_32586 mem_swapout_entry 3 32586 NULL
++read_file_beacon_32595 read_file_beacon 3 32595 NULL
++ieee80211_if_read_dropped_frames_congestion_32603 ieee80211_if_read_dropped_frames_congestion 3 32603 NULL
++sys_set_mempolicy_32608 sys_set_mempolicy 3 32608 NULL
++cfg80211_roamed_32632 cfg80211_roamed 5-7 32632 NULL
++ieee80211_hdrlen_32637 ieee80211_hdrlen 0 32637 NULL
++ite_decode_bytes_32642 ite_decode_bytes 3 32642 NULL
++kvmalloc_32646 kvmalloc 1 32646 NULL
++ib_sg_dma_len_32649 ib_sg_dma_len 0 32649 NULL
++__kmalloc_section_memmap_32651 __kmalloc_section_memmap 1 32651 NULL
++generic_readlink_32654 generic_readlink 3 32654 NULL
++move_addr_to_kernel_32673 move_addr_to_kernel 2 32673 NULL
++snd_hwdep_ioctl_compat_32736 snd_hwdep_ioctl_compat 3 32736 NULL
++megasas_change_queue_depth_32747 megasas_change_queue_depth 2 32747 NULL
++stats_read_ul_32751 stats_read_ul 3 32751 NULL
++tty_compat_ioctl_32761 tty_compat_ioctl 3 32761 NULL
++sctp_tsnmap_grow_32784 sctp_tsnmap_grow 2 32784 NULL
++firmwareUpload_32794 firmwareUpload 3 32794 NULL
++get_register_page_interruptible_32809 get_register_page_interruptible 5 32809 NULL
++orig_node_add_if_32833 orig_node_add_if 2 32833 NULL
++vga_rseq_32848 vga_rseq 0 32848 NULL
++new_tape_buffer_32866 new_tape_buffer 2 32866 NULL
++io_apic_setup_irq_pin_32868 io_apic_setup_irq_pin 1 32868 NULL
++zlib_inflate_workspacesize_32927 zlib_inflate_workspacesize 0 32927 NULL
++irq_reserve_irqs_32946 irq_reserve_irqs 1-2 32946 NULL
++ext4_valid_block_bitmap_32958 ext4_valid_block_bitmap 3 32958 NULL
++arch_ptrace_32981 arch_ptrace 3 32981 NULL
++compat_filldir_32999 compat_filldir 3 32999 NULL
++ext3_alloc_blocks_33007 ext3_alloc_blocks 3 33007 NULL
++ebt_compat_match_offset_33053 ebt_compat_match_offset 0-2 33053 NULL
++stats_dot11RTSSuccessCount_read_33065 stats_dot11RTSSuccessCount_read 3 33065 NULL
++sel_read_checkreqprot_33068 sel_read_checkreqprot 3 33068 NULL
++acl_permission_check_33083 acl_permission_check 0 33083 NULL
++write_node_33121 write_node 4 33121 NULL
++fb_sys_write_33130 fb_sys_write 3 33130 NULL
++nfs4_init_slot_table_33152 nfs4_init_slot_table 2 33152 NULL
++tun_get_user_33178 tun_get_user 3 33178 NULL
++dataflash_read_fact_otp_33204 dataflash_read_fact_otp 2-3 33204 NULL
++pp_read_33210 pp_read 3 33210 NULL
++xfs_file_aio_write_33234 xfs_file_aio_write 4 33234 NULL
++snd_pcm_plug_client_size_33267 snd_pcm_plug_client_size 0-2 33267 NULL
++sched_find_first_bit_33270 sched_find_first_bit 0 33270 NULL
++cachefiles_cook_key_33274 cachefiles_cook_key 2 33274 NULL
++mei_compat_ioctl_33275 mei_compat_ioctl 3 33275 NULL
++security_genfs_sid_33277 security_genfs_sid 3 33277 NULL
++mcs7830_get_reg_33308 mcs7830_get_reg 3 33308 NULL
++ceph_msgpool_init_33312 ceph_msgpool_init 3 33312 NULL
++joydev_ioctl_33343 joydev_ioctl 2 33343 NULL
++create_xattr_datum_33356 create_xattr_datum 5 33356 NULL
++read_file_regidx_33370 read_file_regidx 3 33370 NULL
++ceph_osdc_writepages_33375 ceph_osdc_writepages 5 33375 NULL
++ocfs2_quota_read_33382 ocfs2_quota_read 5 33382 NULL
++ieee80211_if_read_dropped_frames_no_route_33383 ieee80211_if_read_dropped_frames_no_route 3 33383 NULL
++scsi_varlen_cdb_length_33385 scsi_varlen_cdb_length 0 33385 NULL
++ocfs2_allocate_unwritten_extents_33394 ocfs2_allocate_unwritten_extents 2-3 33394 NULL
++snd_pcm_capture_ioctl1_33408 snd_pcm_capture_ioctl1 0 33408 NULL
++ufs_getfrag_block_33409 ufs_getfrag_block 2 33409 NULL
++ubh_scanc_33436 ubh_scanc 0-4-3 33436 NULL
++create_entry_33479 create_entry 2 33479 NULL
++ip_setsockopt_33487 ip_setsockopt 5 33487 NULL nohasharray
++elf_map_33487 elf_map 0-2 33487 &ip_setsockopt_33487
++netxen_nic_hw_write_wx_128M_33488 netxen_nic_hw_write_wx_128M 2 33488 NULL
++ol_dqblk_chunk_off_33489 ol_dqblk_chunk_off 2 33489 NULL
++res_counter_read_33499 res_counter_read 4 33499 NULL
++fb_read_33506 fb_read 3 33506 NULL
++ahash_setkey_unaligned_33521 ahash_setkey_unaligned 3 33521 NULL
++nes_alloc_fast_reg_page_list_33523 nes_alloc_fast_reg_page_list 2 33523 NULL
++acpi_gsi_to_irq_33533 acpi_gsi_to_irq 1 33533 NULL
++tomoyo_read_self_33539 tomoyo_read_self 3 33539 NULL
++dup_array_33551 dup_array 3 33551 NULL
++solo_enc_read_33553 solo_enc_read 3 33553 NULL
++scsi_execute_33596 scsi_execute 5 33596 NULL
++comedi_buf_write_n_allocated_33604 comedi_buf_write_n_allocated 0 33604 NULL
++xt_compat_target_offset_33608 xt_compat_target_offset 0 33608 NULL nohasharray
++ip6_find_1stfragopt_33608 ip6_find_1stfragopt 0 33608 &xt_compat_target_offset_33608
++inw_p_33668 inw_p 0 33668 NULL
++arp_hdr_len_33671 arp_hdr_len 0 33671 NULL
++rbd_alloc_coll_33678 rbd_alloc_coll 1 33678 NULL
++compat_insnlist_33706 compat_insnlist 2 33706 NULL
++sys_keyctl_33708 sys_keyctl 4 33708 NULL nohasharray
++netlink_sendmsg_33708 netlink_sendmsg 4 33708 &sys_keyctl_33708
++get_free_de_33714 get_free_de 2 33714 NULL
++pvr2_stream_buffer_count_33719 pvr2_stream_buffer_count 2 33719 NULL
++ocfs2_extent_map_get_blocks_33720 ocfs2_extent_map_get_blocks 2 33720 NULL
++__mutex_lock_interruptible_slowpath_33735 __mutex_lock_interruptible_slowpath 0 33735 NULL
++hashtab_create_33769 hashtab_create 3 33769 NULL
++midibuf_message_length_33770 midibuf_message_length 0 33770 NULL
++if_sdio_read_rx_len_33800 if_sdio_read_rx_len 0 33800 NULL
++find_next_offset_33804 find_next_offset 3 33804 NULL nohasharray
++apei_estatus_len_33804 apei_estatus_len 0 33804 &find_next_offset_33804
++sky2_rx_pad_33819 sky2_rx_pad 0 33819 NULL
++usb_dump_endpoint_descriptor_33849 usb_dump_endpoint_descriptor 0 33849 NULL
++get_user_pages_33908 get_user_pages 0 33908 NULL
++queue_logical_block_size_33918 queue_logical_block_size 0 33918 NULL
++max8649_read_device_33930 max8649_read_device 3 33930 NULL
++sel_read_avc_cache_threshold_33942 sel_read_avc_cache_threshold 3 33942 NULL
++lpfc_idiag_ctlacc_read_33943 lpfc_idiag_ctlacc_read 3 33943 NULL
++read_file_tgt_rx_stats_33944 read_file_tgt_rx_stats 3 33944 NULL
++vga_switcheroo_debugfs_write_33984 vga_switcheroo_debugfs_write 3 33984 NULL
++__ntfs_malloc_34022 __ntfs_malloc 1 34022 NULL
++ppp_write_34034 ppp_write 3 34034 NULL
++tty_insert_flip_string_34042 tty_insert_flip_string 3 34042 NULL
++__domain_flush_pages_34045 __domain_flush_pages 2-3 34045 NULL
++compat_hdio_ioctl_34088 compat_hdio_ioctl 4 34088 NULL
++islpci_mgt_transmit_34133 islpci_mgt_transmit 5 34133 NULL
++ttm_dma_page_pool_free_34135 ttm_dma_page_pool_free 2 34135 NULL
++iwl_legacy_dbgfs_tx_queue_read_34192 iwl_legacy_dbgfs_tx_queue_read 3 34192 NULL
++mtd_write_34207 mtd_write 3 34207 NULL
++bl_pipe_downcall_34264 bl_pipe_downcall 3 34264 NULL
++rw_copy_check_uvector_34271 rw_copy_check_uvector 3 34271 NULL
++zone_spanned_pages_in_node_34299 zone_spanned_pages_in_node 0 34299 NULL
++iov_iter_single_seg_count_34326 iov_iter_single_seg_count 0 34326 NULL nohasharray
++pcpu_need_to_extend_34326 pcpu_need_to_extend 0 34326 &iov_iter_single_seg_count_34326
++crypto_ablkcipher_ivsize_34363 crypto_ablkcipher_ivsize 0 34363 NULL
++rngapi_reset_34366 rngapi_reset 3 34366 NULL
++reiserfs_resize_34377 reiserfs_resize 2 34377 NULL
++ea_read_34378 ea_read 0 34378 NULL
++av7110_vbi_write_34384 av7110_vbi_write 3 34384 NULL
++usbvision_v4l2_read_34386 usbvision_v4l2_read 3 34386 NULL
++read_rbu_image_type_34387 read_rbu_image_type 6 34387 NULL
++ivtv_read_pos_34400 ivtv_read_pos 3 34400 NULL
++nl80211_send_disassoc_34424 nl80211_send_disassoc 4 34424 NULL
++usbtest_alloc_urb_34446 usbtest_alloc_urb 3-5 34446 NULL
++mwifiex_regrdwr_read_34472 mwifiex_regrdwr_read 3 34472 NULL
++line6_dumpreq_init_34473 line6_dumpreq_init 3 34473 NULL
++skcipher_sndbuf_34476 skcipher_sndbuf 0 34476 NULL
++i2o_parm_field_get_34477 i2o_parm_field_get 5 34477 NULL
++security_inode_permission_34488 security_inode_permission 0 34488 NULL
++alloc_buf_34532 alloc_buf 1 34532 NULL
++tracing_stats_read_34537 tracing_stats_read 3 34537 NULL
++hugetlbfs_read_actor_34547 hugetlbfs_read_actor 2-5-4 34547 NULL
++dbBackSplit_34561 dbBackSplit 0 34561 NULL
++alloc_ieee80211_rsl_34564 alloc_ieee80211_rsl 1 34564 NULL
++velocity_rx_copy_34583 velocity_rx_copy 2 34583 NULL
++init_send_hfcd_34586 init_send_hfcd 1 34586 NULL
++inet6_ifla6_size_34591 inet6_ifla6_size 0 34591 NULL
++__jffs2_ref_totlen_34609 __jffs2_ref_totlen 0 34609 NULL
++__cfg80211_disconnected_34622 __cfg80211_disconnected 3 34622 NULL
++cnic_alloc_dma_34641 cnic_alloc_dma 3 34641 NULL
++isr_fiqs_read_34687 isr_fiqs_read 3 34687 NULL
++alloc_irq_and_cfg_at_34706 alloc_irq_and_cfg_at 1 34706 NULL
++ieee80211_if_read_num_sta_ps_34722 ieee80211_if_read_num_sta_ps 3 34722 NULL
++platform_list_read_file_34734 platform_list_read_file 3 34734 NULL
++reg_w_ixbuf_34736 reg_w_ixbuf 4 34736 NULL
++qib_cdev_init_34778 qib_cdev_init 1 34778 NULL
++__copy_in_user_34790 __copy_in_user 3 34790 NULL
++tipc_log_resize_34803 tipc_log_resize 1 34803 NULL
++drbd_get_max_capacity_34804 drbd_get_max_capacity 0 34804 NULL
++sep_prepare_input_dma_table_34832 sep_prepare_input_dma_table 2-3 34832 NULL
++b43_debugfs_write_34838 b43_debugfs_write 3 34838 NULL
++bl_mark_for_commit_34852 bl_mark_for_commit 2-3 34852 NULL
++acpi_system_write_wakeup_device_34853 acpi_system_write_wakeup_device 3 34853 NULL
++usb_serial_generic_prepare_write_buffer_34857 usb_serial_generic_prepare_write_buffer 3 34857 NULL
++ieee80211_if_write_34894 ieee80211_if_write 3 34894 NULL
++compat_put_uint_34905 compat_put_uint 1 34905 NULL
++skb_gro_header_slow_34958 skb_gro_header_slow 2 34958 NULL nohasharray
++i2c_transfer_34958 i2c_transfer 0 34958 &skb_gro_header_slow_34958
++Realloc_34961 Realloc 2 34961 NULL
++l2cap_skbuff_fromiovec_35003 l2cap_skbuff_fromiovec 4-3 35003 NULL
++sisusb_copy_memory_35016 sisusb_copy_memory 4 35016 NULL
++coda_psdev_read_35029 coda_psdev_read 3 35029 NULL
++btmrvl_gpiogap_write_35053 btmrvl_gpiogap_write 3 35053 NULL
++store_ifalias_35088 store_ifalias 4 35088 NULL
++__kfifo_uint_must_check_helper_35097 __kfifo_uint_must_check_helper 0-1 35097 NULL
++capi_write_35104 capi_write 3 35104 NULL
++ide_settings_proc_write_35110 ide_settings_proc_write 3 35110 NULL
++pointer_35138 pointer 0 35138 NULL
++gntdev_alloc_map_35145 gntdev_alloc_map 2 35145 NULL
++iscsi_conn_setup_35159 iscsi_conn_setup 2 35159 NULL
++ieee80211_if_read_bssid_35161 ieee80211_if_read_bssid 3 35161 NULL
++bat_ogm_aggr_packet_35202 bat_ogm_aggr_packet 3 35202 NULL
++unix_stream_recvmsg_35210 unix_stream_recvmsg 4 35210 NULL
++_osd_req_alist_elem_size_35216 _osd_req_alist_elem_size 0-2 35216 NULL
++striped_read_35218 striped_read 2-8-0-3 35218 NULL nohasharray
++security_key_getsecurity_35218 security_key_getsecurity 0 35218 &striped_read_35218
++video_register_device_no_warn_35226 video_register_device_no_warn 3 35226 NULL
++set_fd_set_35249 set_fd_set 1 35249 NULL
++ioapic_setup_resources_35255 ioapic_setup_resources 1 35255 NULL
++dma_show_regs_35266 dma_show_regs 3 35266 NULL
++irda_recvmsg_stream_35280 irda_recvmsg_stream 4 35280 NULL
++i2o_block_end_request_35282 i2o_block_end_request 3 35282 NULL
++isr_rx_rdys_read_35283 isr_rx_rdys_read 3 35283 NULL
++__btrfs_buffered_write_35311 __btrfs_buffered_write 3 35311 NULL
++tracing_read_pipe_35312 tracing_read_pipe 3 35312 NULL
++sys_setsockopt_35320 sys_setsockopt 5 35320 NULL
++new_bind_ctl_35324 new_bind_ctl 2 35324 NULL
++fallback_on_nodma_alloc_35332 fallback_on_nodma_alloc 2 35332 NULL
++pskb_network_may_pull_35336 pskb_network_may_pull 2 35336 NULL
++hpi_alloc_control_cache_35351 hpi_alloc_control_cache 1 35351 NULL
++compat_filldir64_35354 compat_filldir64 3 35354 NULL
++tt_update_orig_35361 tt_update_orig 4 35361 NULL
++test_empty_cb_35410 test_empty_cb 3 35410 NULL
++rawv6_send_hdrinc_35425 rawv6_send_hdrinc 3 35425 NULL
++buffer_to_user_35439 buffer_to_user 3 35439 NULL
++i915_wedged_read_35474 i915_wedged_read 3 35474 NULL
++do_atm_ioctl_35519 do_atm_ioctl 3 35519 NULL
++async_setkey_35521 async_setkey 3 35521 NULL
++__filemap_fdatawrite_range_35528 __filemap_fdatawrite_range 0 35528 NULL
++iwl_dbgfs_bt_traffic_read_35534 iwl_dbgfs_bt_traffic_read 3 35534 NULL
++rxpipe_tx_xfr_host_int_trig_rx_data_read_35538 rxpipe_tx_xfr_host_int_trig_rx_data_read 3 35538 NULL
++ibnl_put_attr_35541 ibnl_put_attr 3 35541 NULL
++ieee80211_if_write_smps_35550 ieee80211_if_write_smps 3 35550 NULL
++ext2_acl_from_disk_35580 ext2_acl_from_disk 2 35580 NULL
++security_compute_av_35608 security_compute_av 3 35608 NULL
++rbd_req_sync_read_35615 rbd_req_sync_read 5-6 35615 NULL
++kernel_readv_35617 kernel_readv 3 35617 NULL
++scrub_stripe_35637 scrub_stripe 4-3 35637 NULL
++spi_register_board_info_35651 spi_register_board_info 2 35651 NULL
++store_debug_level_35652 store_debug_level 3 35652 NULL
++compat_sys_kexec_load_35674 compat_sys_kexec_load 2 35674 NULL
++dm_table_create_35687 dm_table_create 3 35687 NULL
++rds_page_copy_user_35691 rds_page_copy_user 4 35691 NULL
++pci_enable_sriov_35745 pci_enable_sriov 2 35745 NULL
++iwl_dbgfs_disable_ht40_read_35761 iwl_dbgfs_disable_ht40_read 3 35761 NULL
++udf_alloc_i_data_35786 udf_alloc_i_data 2 35786 NULL
++store_fan1_input_35793 store_fan1_input 4 35793 NULL
++read_file_stations_35795 read_file_stations 3 35795 NULL
++pvr2_hdw_cpufw_get_35824 pvr2_hdw_cpufw_get 0-4-2 35824 NULL
++mthca_buf_alloc_35861 mthca_buf_alloc 2 35861 NULL
++fls64_35862 fls64 0 35862 NULL
++kvm_dirty_bitmap_bytes_35886 kvm_dirty_bitmap_bytes 0 35886 NULL
++ieee80211_if_fmt_dot11MeshRetryTimeout_35890 ieee80211_if_fmt_dot11MeshRetryTimeout 3 35890 NULL
++uwb_rc_cmd_done_35892 uwb_rc_cmd_done 4 35892 NULL
++kernel_setsockopt_35913 kernel_setsockopt 5 35913 NULL
++vol_cdev_compat_ioctl_35923 vol_cdev_compat_ioctl 3 35923 NULL
++au_kzrealloc_35935 au_kzrealloc 3 35935 NULL
++put_cmsg_compat_35937 put_cmsg_compat 4 35937 NULL
++ceph_buffer_new_35974 ceph_buffer_new 1 35974 NULL
++acl_alloc_35979 acl_alloc 1 35979 NULL
++generic_file_aio_read_35987 generic_file_aio_read 0 35987 NULL
++koneplus_sysfs_write_35993 koneplus_sysfs_write 6 35993 NULL
++sys_init_module_36047 sys_init_module 2 36047 NULL
++gpio_power_read_36059 gpio_power_read 3 36059 NULL
++write_emulate_36065 write_emulate 2-4 36065 NULL
++ieee80211_if_fmt_peer_36071 ieee80211_if_fmt_peer 3 36071 NULL
++ext3_new_blocks_36073 ext3_new_blocks 3 36073 NULL
++ieee80211_if_write_tsf_36077 ieee80211_if_write_tsf 3 36077 NULL
++snd_pcm_plug_read_transfer_36080 snd_pcm_plug_read_transfer 0-3 36080 NULL
++vga_arb_write_36112 vga_arb_write 3 36112 NULL
++compat_ptrace_request_36131 compat_ptrace_request 3-4 36131 NULL
++vmalloc_exec_36132 vmalloc_exec 1 36132 NULL
++iwl_trans_txq_alloc_36147 iwl_trans_txq_alloc 3 36147 NULL
++alloc_vm_area_36149 alloc_vm_area 1 36149 NULL
++b1_alloc_card_36155 b1_alloc_card 1 36155 NULL
++btrfs_file_extent_inline_len_36158 btrfs_file_extent_inline_len 0 36158 NULL
++snd_korg1212_copy_from_36169 snd_korg1212_copy_from 6 36169 NULL
++FTL_Get_Block_Table_Flash_Size_Bytes_36187 FTL_Get_Block_Table_Flash_Size_Bytes 0 36187 NULL
++ubifs_read_nnode_36221 ubifs_read_nnode 0 36221 NULL
++atomic_stats_read_36228 atomic_stats_read 3 36228 NULL
++viafb_iga1_odev_proc_write_36241 viafb_iga1_odev_proc_write 3 36241 NULL
++compat_sys_mbind_36256 compat_sys_mbind 5 36256 NULL
++usb_buffer_alloc_36276 usb_buffer_alloc 2 36276 NULL
++mangle_sdp_packet_36279 mangle_sdp_packet 9 36279 NULL
++codec_reg_read_file_36280 codec_reg_read_file 3 36280 NULL
++lpfc_debugfs_dif_err_read_36303 lpfc_debugfs_dif_err_read 3 36303 NULL
++ad7879_spi_xfer_36311 ad7879_spi_xfer 3 36311 NULL
++fat_compat_ioctl_filldir_36328 fat_compat_ioctl_filldir 3 36328 NULL
++jbd2_journal_init_revoke_table_36336 jbd2_journal_init_revoke_table 1 36336 NULL
++v9fs_file_readn_36353 v9fs_file_readn 4 36353 NULL nohasharray
++xz_dec_lzma2_create_36353 xz_dec_lzma2_create 2 36353 &v9fs_file_readn_36353
++to_sector_36361 to_sector 0-1 36361 NULL
++mtd_do_writeoob_36373 mtd_do_writeoob 4 36373 NULL
++vring_new_virtqueue_36374 vring_new_virtqueue 1 36374 NULL
++tunables_read_36385 tunables_read 3 36385 NULL
++afs_alloc_flat_call_36399 afs_alloc_flat_call 2-3 36399 NULL
++sctp_tsnmap_init_36446 sctp_tsnmap_init 2 36446 NULL
++alloc_etherdev_mqs_36450 alloc_etherdev_mqs 1 36450 NULL
++b43_nphy_load_samples_36481 b43_nphy_load_samples 3 36481 NULL
++iwl_legacy_dbgfs_power_save_status_read_36492 iwl_legacy_dbgfs_power_save_status_read 3 36492 NULL
++__hwahc_op_set_ptk_36510 __hwahc_op_set_ptk 5 36510 NULL
++mcam_v4l_read_36513 mcam_v4l_read 3 36513 NULL
++ieee80211_if_read_fwded_frames_36520 ieee80211_if_read_fwded_frames 3 36520 NULL
++crypto_aead_authsize_36537 crypto_aead_authsize 0 36537 NULL
++cpu_type_read_36540 cpu_type_read 3 36540 NULL
++__kfifo_to_user_36555 __kfifo_to_user 3 36555 NULL nohasharray
++macvtap_do_read_36555 macvtap_do_read 4 36555 &__kfifo_to_user_36555
++ssb_bus_scan_36578 ssb_bus_scan 2 36578 NULL
++__erst_read_36579 __erst_read 0 36579 NULL
++put_cmsg_36589 put_cmsg 4 36589 NULL
++pcnet32_realloc_rx_ring_36598 pcnet32_realloc_rx_ring 3 36598 NULL
++fat_ioctl_filldir_36621 fat_ioctl_filldir 3 36621 NULL
++vxge_config_vpaths_36636 vxge_config_vpaths 0 36636 NULL
++format_decode_36638 format_decode 0 36638 NULL
++cxio_hal_rqtpool_alloc_36648 cxio_hal_rqtpool_alloc 2 36648 NULL nohasharray
++lpfc_idiag_extacc_alloc_get_36648 lpfc_idiag_extacc_alloc_get 0-3 36648 &cxio_hal_rqtpool_alloc_36648
++osd_req_list_collection_objects_36664 osd_req_list_collection_objects 5 36664 NULL
++iscsi_host_alloc_36671 iscsi_host_alloc 2 36671 NULL
++ptr_to_compat_36680 ptr_to_compat 0 36680 NULL
++ext4_mb_discard_group_preallocations_36685 ext4_mb_discard_group_preallocations 2 36685 NULL
++saa7134_i2c_eeprom_36729 saa7134_i2c_eeprom 3 36729 NULL
++extract_icmp6_fields_36732 extract_icmp6_fields 2 36732 NULL
++snd_rawmidi_kernel_read1_36740 snd_rawmidi_kernel_read1 4 36740 NULL
++cxgbi_device_register_36746 cxgbi_device_register 1-2 36746 NULL
++ip4ip6_err_36772 ip4ip6_err 5 36772 NULL
++proc_fault_inject_read_36802 proc_fault_inject_read 3 36802 NULL
++do_dmabuf_dirty_sou_36807 do_dmabuf_dirty_sou 7 36807 NULL
++hiddev_ioctl_36816 hiddev_ioctl 2 36816 NULL
++int_hardware_entry_36833 int_hardware_entry 3 36833 NULL
++fc_change_queue_depth_36841 fc_change_queue_depth 2 36841 NULL
++keyctl_describe_key_36853 keyctl_describe_key 3 36853 NULL
++cm_write_36858 cm_write 3 36858 NULL
++svc_setsockopt_36876 svc_setsockopt 5 36876 NULL
++ib_ucm_alloc_data_36885 ib_ucm_alloc_data 3 36885 NULL
++selinux_inode_notifysecctx_36896 selinux_inode_notifysecctx 3 36896 NULL
++OS_kmalloc_36909 OS_kmalloc 1 36909 NULL
++crypto_blkcipher_ivsize_36944 crypto_blkcipher_ivsize 0 36944 NULL
++write_leb_36957 write_leb 5 36957 NULL
++_copy_from_user_36959 _copy_from_user 3 36959 NULL
++ntfs_external_attr_find_36963 ntfs_external_attr_find 0 36963 NULL
++sparse_early_mem_maps_alloc_node_36971 sparse_early_mem_maps_alloc_node 4 36971 NULL
++setxattr_37006 setxattr 4 37006 NULL
++ieee80211_if_read_drop_unencrypted_37053 ieee80211_if_read_drop_unencrypted 3 37053 NULL
++parse_command_37079 parse_command 2 37079 NULL
++snd_hda_get_conn_list_37132 snd_hda_get_conn_list 0 37132 NULL
++msg_word_37164 msg_word 0 37164 NULL
++can_set_xattr_37182 can_set_xattr 4 37182 NULL
++store_wimax_37196 store_wimax 4 37196 NULL
++crypto_shash_descsize_37212 crypto_shash_descsize 0 37212 NULL
++uapsd_queues_read_37217 uapsd_queues_read 3 37217 NULL
++regmap_access_read_file_37223 regmap_access_read_file 3 37223 NULL
++__do_replace_37227 __do_replace 5 37227 NULL
++prot_queue_del_37258 prot_queue_del 0 37258 NULL
++exofs_max_io_pages_37263 exofs_max_io_pages 0-2 37263 NULL
++c101_run_37279 c101_run 2 37279 NULL
++srp_target_alloc_37288 srp_target_alloc 3 37288 NULL
++jffs2_write_dirent_37311 jffs2_write_dirent 5 37311 NULL
++send_msg_37323 send_msg 4 37323 NULL
++scsi_mode_select_37330 scsi_mode_select 6 37330 NULL
++rxrpc_server_sendmsg_37331 rxrpc_server_sendmsg 4 37331 NULL
++flex_array_put_37350 flex_array_put 2 37350 NULL
++security_inode_getsecurity_37354 security_inode_getsecurity 0 37354 NULL
++iommu_num_pages_37391 iommu_num_pages 0-1-3-2 37391 NULL
++sys_getxattr_37418 sys_getxattr 4 37418 NULL
++hci_sock_sendmsg_37420 hci_sock_sendmsg 4 37420 NULL
++acpi_os_allocate_zeroed_37422 acpi_os_allocate_zeroed 1 37422 NULL nohasharray
++find_next_bit_37422 find_next_bit 0-2-3 37422 &acpi_os_allocate_zeroed_37422
++tty_insert_flip_string_fixed_flag_37428 tty_insert_flip_string_fixed_flag 4 37428 NULL
++iwl_print_last_event_logs_37433 iwl_print_last_event_logs 0-7-9 37433 NULL
++tcp_established_options_37450 tcp_established_options 0 37450 NULL
++cmd_input_size_37457 cmd_input_size 0-1 37457 NULL
++ufs_data_ptr_to_cpu_37475 ufs_data_ptr_to_cpu 0 37475 NULL
++get_est_timing_37484 get_est_timing 0 37484 NULL
++kmem_realloc_37489 kmem_realloc 2 37489 NULL
++security_validate_transition_37494 security_validate_transition 4 37494 NULL
++kvm_vcpu_compat_ioctl_37500 kvm_vcpu_compat_ioctl 3 37500 NULL
++vmalloc_32_user_37519 vmalloc_32_user 1 37519 NULL
++hdr_size_37536 hdr_size 0 37536 NULL
++xhci_alloc_streams_37586 xhci_alloc_streams 5 37586 NULL
++kvm_read_guest_page_mmu_37611 kvm_read_guest_page_mmu 6 37611 NULL
++alloc_fd_37637 alloc_fd 1 37637 NULL
++bio_copy_user_iov_37660 bio_copy_user_iov 4 37660 NULL
++rfcomm_sock_sendmsg_37661 rfcomm_sock_sendmsg 4 37661 NULL nohasharray
++vmw_framebuffer_dmabuf_dirty_37661 vmw_framebuffer_dmabuf_dirty 6 37661 &rfcomm_sock_sendmsg_37661
++iwl_legacy_dbgfs_rxon_filter_flags_read_37666 iwl_legacy_dbgfs_rxon_filter_flags_read 3 37666 NULL
++regmap_map_read_file_37685 regmap_map_read_file 3 37685 NULL
++__le32_to_cpup_37702 __le32_to_cpup 0 37702 NULL
++read_enabled_file_bool_37744 read_enabled_file_bool 3 37744 NULL
++ocfs2_duplicate_clusters_by_jbd_37749 ocfs2_duplicate_clusters_by_jbd 6-4-5 37749 NULL
++ocfs2_control_cfu_37750 ocfs2_control_cfu 2 37750 NULL
++ipath_cdev_init_37752 ipath_cdev_init 1 37752 NULL
++dccp_setsockopt_cscov_37766 dccp_setsockopt_cscov 2 37766 NULL
++smk_read_logging_37804 smk_read_logging 3 37804 NULL
++deny_write_access_37813 deny_write_access 0 37813 NULL
++fallback_alloc_37821 fallback_alloc 0 37821 NULL
++slab_get_obj_37825 slab_get_obj 0 37825 NULL
++bitmap_find_next_zero_area_37827 bitmap_find_next_zero_area 2-3-5-4 37827 NULL
++o2hb_debug_read_37851 o2hb_debug_read 3 37851 NULL
++xfs_dir2_block_to_sf_37868 xfs_dir2_block_to_sf 3 37868 NULL
++iwmct_fw_parser_init_37876 iwmct_fw_parser_init 4 37876 NULL
++sys_setxattr_37880 sys_setxattr 4 37880 NULL
++tipc_link_send_sections_fast_37920 tipc_link_send_sections_fast 4 37920 NULL
++pkt_alloc_packet_data_37928 pkt_alloc_packet_data 1 37928 NULL
++read_rbu_packet_size_37939 read_rbu_packet_size 6 37939 NULL
++ext3_free_blocks_sb_37967 ext3_free_blocks_sb 3-4 37967 NULL
++rds_rdma_extra_size_37990 rds_rdma_extra_size 0 37990 NULL
++vfs_readv_38011 vfs_readv 3 38011 NULL
++aggr_recv_addba_req_evt_38037 aggr_recv_addba_req_evt 4 38037 NULL
++store_wlan_38040 store_wlan 4 38040 NULL
++klsi_105_prepare_write_buffer_38044 klsi_105_prepare_write_buffer 3 38044 NULL
++nsm_create_handle_38060 nsm_create_handle 4 38060 NULL
++alloc_ltalkdev_38071 alloc_ltalkdev 1 38071 NULL
++uwb_mac_addr_print_38085 uwb_mac_addr_print 2 38085 NULL
++request_key_auth_new_38092 request_key_auth_new 3 38092 NULL
++proc_self_readlink_38094 proc_self_readlink 3 38094 NULL
++ep0_read_38095 ep0_read 3 38095 NULL
++snd_pcm_oss_write_38108 snd_pcm_oss_write 3 38108 NULL
++vmw_kms_present_38130 vmw_kms_present 9 38130 NULL
++__ntfs_copy_from_user_iovec_inatomic_38153 __ntfs_copy_from_user_iovec_inatomic 3-4 38153 NULL
++kvm_clear_guest_38164 kvm_clear_guest 3-2 38164 NULL
++cdev_add_38176 cdev_add 2-3 38176 NULL
++rt2x00debug_write_rf_38195 rt2x00debug_write_rf 3 38195 NULL
++get_ucode_user_38202 get_ucode_user 3 38202 NULL
++ext3_new_block_38208 ext3_new_block 3 38208 NULL
++osd_req_list_partition_collections_38223 osd_req_list_partition_collections 5 38223 NULL
++vhost_net_compat_ioctl_38237 vhost_net_compat_ioctl 3 38237 NULL
++_ipw_read_reg32_38245 _ipw_read_reg32 0 38245 NULL
++ieee80211_if_read_auto_open_plinks_38268 ieee80211_if_read_auto_open_plinks 3 38268 NULL nohasharray
++mthca_alloc_icm_table_38268 mthca_alloc_icm_table 4-3 38268 &ieee80211_if_read_auto_open_plinks_38268
++xfs_bmbt_to_bmdr_38275 xfs_bmbt_to_bmdr 3 38275 NULL nohasharray
++xfs_bmdr_to_bmbt_38275 xfs_bmdr_to_bmbt 5 38275 &xfs_bmbt_to_bmdr_38275
++isr_rx_headers_read_38325 isr_rx_headers_read 3 38325 NULL
++ida_simple_get_38326 ida_simple_get 2 38326 NULL
++__snd_gf1_look8_38333 __snd_gf1_look8 0 38333 NULL
++dn_sendmsg_38390 dn_sendmsg 4 38390 NULL
++get_valid_node_allowed_38412 get_valid_node_allowed 1-0 38412 NULL
++ocfs2_which_cluster_group_38413 ocfs2_which_cluster_group 2 38413 NULL
++iwm_wdev_alloc_38415 iwm_wdev_alloc 1 38415 NULL
++ht_destroy_irq_38418 ht_destroy_irq 1 38418 NULL
++ieee80211_if_read_dtim_count_38419 ieee80211_if_read_dtim_count 3 38419 NULL
++pcnet32_realloc_tx_ring_38428 pcnet32_realloc_tx_ring 3 38428 NULL
++pmcraid_copy_sglist_38431 pmcraid_copy_sglist 3 38431 NULL
++kvm_write_guest_38454 kvm_write_guest 4-2 38454 NULL
++blk_end_bidi_request_38482 blk_end_bidi_request 3-4 38482 NULL
++cpu_to_mem_38501 cpu_to_mem 0 38501 NULL
++dev_names_read_38509 dev_names_read 3 38509 NULL
++iscsi_create_iface_38510 iscsi_create_iface 5 38510 NULL
++event_rx_mismatch_read_38518 event_rx_mismatch_read 3 38518 NULL
++ubifs_idx_node_sz_38546 ubifs_idx_node_sz 0-2 38546 NULL
++cpu_to_node_38561 cpu_to_node 0 38561 NULL
++irda_sendmsg_dgram_38563 irda_sendmsg_dgram 4 38563 NULL
++_ipw_read32_38565 _ipw_read32 0 38565 NULL
++snd_nm256_playback_copy_38567 snd_nm256_playback_copy 5-3 38567 NULL
++copy_ctl_value_to_user_38587 copy_ctl_value_to_user 4 38587 NULL
++compat_sys_ptrace_38595 compat_sys_ptrace 3-4 38595 NULL
++reportdesc_callback_38603 reportdesc_callback 3 38603 NULL
++__css_put_38613 __css_put 2 38613 NULL
++icn_writecmd_38629 icn_writecmd 2 38629 NULL
++receive_extralen_38634 receive_extralen 0 38634 NULL
++audit_init_entry_38644 audit_init_entry 1 38644 NULL
++mmc_send_cxd_data_38655 mmc_send_cxd_data 5 38655 NULL
++nfs_dns_resolve_name_38670 nfs_dns_resolve_name 2 38670 NULL
++cfg80211_send_disassoc_38678 cfg80211_send_disassoc 3 38678 NULL
++iscsit_dump_data_payload_38683 iscsit_dump_data_payload 2 38683 NULL
++find_next_usable_block_38716 find_next_usable_block 1-3 38716 NULL
++v4l2_ctrl_new_38725 v4l2_ctrl_new 7 38725 NULL
++iwl_dbgfs_thermal_throttling_read_38779 iwl_dbgfs_thermal_throttling_read 3 38779 NULL
++snd_gus_dram_write_38784 snd_gus_dram_write 4 38784 NULL
++gre_manip_pkt_38785 gre_manip_pkt 2 38785 NULL
++err_decode_38804 err_decode 2 38804 NULL
++ipv6_renew_option_38813 ipv6_renew_option 3 38813 NULL
++sys_select_38827 sys_select 1 38827 NULL
++b43_txhdr_size_38832 b43_txhdr_size 0 38832 NULL
++direct_entry_38836 direct_entry 3 38836 NULL
++compat_udp_setsockopt_38840 compat_udp_setsockopt 5 38840 NULL
++interfaces_38859 interfaces 2 38859 NULL
++pci_msix_table_size_38867 pci_msix_table_size 0 38867 NULL
++sizeof_gpio_leds_priv_38882 sizeof_gpio_leds_priv 0-1 38882 NULL
++dbgfs_state_38894 dbgfs_state 3 38894 NULL
++ext3_trim_all_free_38929 ext3_trim_all_free 3-4-2 38929 NULL
++usb_maxpacket_38977 usb_maxpacket 0 38977 NULL
++OSDSetBlock_38986 OSDSetBlock 4-2 38986 NULL
++udf_new_block_38999 udf_new_block 4 38999 NULL
++get_nodes_39012 get_nodes 3 39012 NULL
++disp_proc_write_39024 disp_proc_write 3 39024 NULL
++acpi_install_gpe_block_39031 acpi_install_gpe_block 4 39031 NULL
++_zd_iowrite32v_async_locked_39034 _zd_iowrite32v_async_locked 3 39034 NULL
++line6_midibuf_read_39067 line6_midibuf_read 0-3 39067 NULL
++ext4_init_block_bitmap_39071 ext4_init_block_bitmap 3 39071 NULL
++tomoyo_truncate_39105 tomoyo_truncate 0 39105 NULL
++__kfifo_to_user_r_39123 __kfifo_to_user_r 3 39123 NULL
++ea_foreach_39133 ea_foreach 0 39133 NULL
++generic_permission_39150 generic_permission 0 39150 NULL
++alloc_ring_39151 alloc_ring 2-4 39151 NULL
++proc_coredump_filter_read_39153 proc_coredump_filter_read 3 39153 NULL
++create_bounce_buffer_39155 create_bounce_buffer 3 39155 NULL
++ext3_xattr_check_names_39174 ext3_xattr_check_names 0 39174 NULL
++init_list_set_39188 init_list_set 2-3 39188 NULL
++ubi_more_update_data_39189 ubi_more_update_data 4 39189 NULL
++qcam_read_bytes_39205 qcam_read_bytes 0 39205 NULL
++ivtv_v4l2_write_39226 ivtv_v4l2_write 3 39226 NULL
++drm_order_39244 drm_order 0 39244 NULL
++r128_compat_ioctl_39250 r128_compat_ioctl 2 39250 NULL
++__skb_cow_39254 __skb_cow 2 39254 NULL
++pohmelfs_setxattr_39281 pohmelfs_setxattr 4 39281 NULL
++mei_registration_cdev_39284 mei_registration_cdev 2 39284 NULL
++__vmalloc_node_39308 __vmalloc_node 1 39308 NULL
++__cfg80211_connect_result_39326 __cfg80211_connect_result 4-6 39326 NULL
++flex_array_prealloc_39330 flex_array_prealloc 2-3 39330 NULL
++wimax_msg_alloc_39343 wimax_msg_alloc 4 39343 NULL
++__cfg80211_send_deauth_39344 __cfg80211_send_deauth 3 39344 NULL
++__copy_from_user_nocache_39351 __copy_from_user_nocache 3 39351 NULL
++ide_complete_rq_39354 ide_complete_rq 3 39354 NULL
++vortex_wtdma_getlinearpos_39371 vortex_wtdma_getlinearpos 0 39371 NULL
++user_power_read_39414 user_power_read 3 39414 NULL
++alloc_agpphysmem_i8xx_39427 alloc_agpphysmem_i8xx 1 39427 NULL
++sys_semop_39457 sys_semop 3 39457 NULL
++setkey_unaligned_39474 setkey_unaligned 3 39474 NULL
++btrfs_mksubvol_39479 btrfs_mksubvol 3 39479 NULL
++ieee80211_if_fmt_dot11MeshHWMPmaxPREQretries_39499 ieee80211_if_fmt_dot11MeshHWMPmaxPREQretries 3 39499 NULL
++atomic64_read_unchecked_39505 atomic64_read_unchecked 0 39505 NULL
++wm8350_i2c_read_device_39542 wm8350_i2c_read_device 3 39542 NULL nohasharray
++int_proc_write_39542 int_proc_write 3 39542 &wm8350_i2c_read_device_39542
++pp_write_39554 pp_write 3 39554 NULL
++ol_dqblk_block_39558 ol_dqblk_block 0-3-2 39558 NULL
++datablob_format_39571 datablob_format 2 39571 NULL nohasharray
++ieee80211_if_read_fwded_mcast_39571 ieee80211_if_read_fwded_mcast 3 39571 &datablob_format_39571
++handle_response_icmp_39574 handle_response_icmp 7 39574 NULL
++n_tty_compat_ioctl_helper_39605 n_tty_compat_ioctl_helper 4 39605 NULL
++ext_depth_39607 ext_depth 0 39607 NULL
++sdio_readb_39618 sdio_readb 0 39618 NULL
++dm_exception_table_init_39645 dm_exception_table_init 2 39645 NULL
++snd_rme32_capture_copy_39653 snd_rme32_capture_copy 5 39653 NULL
++prism2_info_hostscanresults_39657 prism2_info_hostscanresults 3 39657 NULL
++kvm_read_guest_cached_39666 kvm_read_guest_cached 4 39666 NULL
++v4l_stk_read_39672 v4l_stk_read 3 39672 NULL
++do_surface_dirty_sou_39678 do_surface_dirty_sou 7 39678 NULL
++ftrace_pid_write_39710 ftrace_pid_write 3 39710 NULL
++tcf_csum_ipv4_tcp_39713 tcf_csum_ipv4_tcp 4 39713 NULL
++ocfs2_pages_per_cluster_39790 ocfs2_pages_per_cluster 0 39790 NULL
++security_inode_listsecurity_39812 security_inode_listsecurity 0 39812 NULL
++snd_pcm_oss_writev3_39818 snd_pcm_oss_writev3 3 39818 NULL
++sys_migrate_pages_39825 sys_migrate_pages 2 39825 NULL
++get_priv_size_39828 get_priv_size 0-1 39828 NULL
++pkt_add_39897 pkt_add 3 39897 NULL
+read_file_modal_eeprom_39909 read_file_modal_eeprom 3 39909 NULL
-+ipv6_recv_rxpmtu_7142 ipv6_recv_rxpmtu 3 7142 NULL
-+dvb_aplay_56296 dvb_aplay 3 56296 NULL
+gen_pool_add_virt_39913 gen_pool_add_virt 4 39913 NULL
-+alloc_large_system_hash_64490 alloc_large_system_hash 2 64490 NULL
+dw210x_op_rw_39915 dw210x_op_rw 6 39915 NULL
-+p54_parse_rssical_64493 p54_parse_rssical 3 64493 NULL
-+sctp_make_asconf_ack_31726 sctp_make_asconf_ack 3 31726 NULL
+aes_encrypt_interrupt_read_39919 aes_encrypt_interrupt_read 3 39919 NULL
-+ima_show_measurements_count_23536 ima_show_measurements_count 3 23536 NULL
+exofs_read_kern_39921 exofs_read_kern 6 39921 NULL nohasharray
+oom_score_adj_read_39921 oom_score_adj_read 3 39921 &exofs_read_kern_39921
-+alloc_cpu_rmap_65363 alloc_cpu_rmap 1 65363 NULL
-+get_arg_5694 get_arg 3 5694 NULL
-+NCR_700_change_queue_depth_31742 NCR_700_change_queue_depth 2 31742 NULL
-+acpi_ut_create_string_object_15360 acpi_ut_create_string_object 1 15360 NULL
-+lbs_failcount_read_31063 lbs_failcount_read 3 31063 NULL
++__spi_async_39932 __spi_async 0 39932 NULL
+iwl_legacy_dbgfs_missed_beacon_read_39939 iwl_legacy_dbgfs_missed_beacon_read 3 39939 NULL
-+vmw_framebuffer_surface_dirty_48132 vmw_framebuffer_surface_dirty 6 48132 NULL
-+bcm_char_read_31750 bcm_char_read 3 31750 NULL
-+snd_seq_device_new_31753 snd_seq_device_new 4 31753 NULL
-+fwnet_pd_new_39947 fwnet_pd_new 4 39947 NULL
-+compat_sys_process_vm_readv_15374 compat_sys_process_vm_readv 3-5 15374 NULL
-+ses_send_diag_64527 ses_send_diag 4 64527 NULL
-+tcp_match_skb_to_sack_23568 tcp_match_skb_to_sack 3-4 23568 NULL
-+snd_rawmidi_read_56337 snd_rawmidi_read 3 56337 NULL
-+venus_symlink_23570 venus_symlink 4-6 23570 NULL
+tty_prepare_flip_string_39955 tty_prepare_flip_string 3 39955 NULL
-+__tcp_push_pending_frames_48148 __tcp_push_pending_frames 2 48148 NULL
-+iwl_dbgfs_interrupt_read_23574 iwl_dbgfs_interrupt_read 3 23574 NULL
-+ipv6_recv_error_56347 ipv6_recv_error 3 56347 NULL
-+vxge_os_dma_malloc_async_56348 vxge_os_dma_malloc_async 3 56348 NULL
-+ca_extend_64541 ca_extend 2 64541 NULL
-+drm_compat_ioctl_51717 drm_compat_ioctl 2 51717 NULL
-+__alloc_objio_seg_7203 __alloc_objio_seg 1 7203 NULL
-+cifs_spnego_key_instantiate_23588 cifs_spnego_key_instantiate 3 23588 NULL
+dma_push_rx_39973 dma_push_rx 2 39973 NULL
+broadsheetfb_write_39976 broadsheetfb_write 3 39976 NULL
-+cfpkt_create_pfx_23594 cfpkt_create_pfx 1-2 23594 NULL
-+sctp_datamsg_from_user_55342 sctp_datamsg_from_user 4 55342 NULL
-+iov_iter_copy_from_user_atomic_56368 iov_iter_copy_from_user_atomic 4 56368 NULL
-+pskb_network_may_pull_35336 pskb_network_may_pull 2 35336 NULL
+mthca_array_init_39987 mthca_array_init 2 39987 NULL
-+diva_os_alloc_message_buffer_64568 diva_os_alloc_message_buffer 1 64568 NULL
-+ecryptfs_send_message_locked_31801 ecryptfs_send_message_locked 2 31801 NULL
-+islpci_mgt_transaction_23610 islpci_mgt_transaction 5 23610 NULL
-+init_ipath_48187 init_ipath 1 48187 NULL
-+isr_rx_procs_read_31804 isr_rx_procs_read 3 31804 NULL
-+__videobuf_copy_to_user_15423 __videobuf_copy_to_user 4 15423 NULL
-+sys32_ipc_7238 sys32_ipc 3 7238 NULL
-+sta_last_signal_read_31818 sta_last_signal_read 3 31818 NULL
-+rtllib_alloc_txb_21687 rtllib_alloc_txb 1-2 21687 NULL
-+msg_set_51725 msg_set 3 51725 NULL
+xen_hvm_config_40018 xen_hvm_config 2 40018 NULL
-+ocfs2_control_read_56405 ocfs2_control_read 3 56405 NULL
-+xlog_find_verify_log_record_18870 xlog_find_verify_log_record 2 18870 NULL
+ivtvfb_write_40023 ivtvfb_write 3 40023 NULL
-+pmcraid_copy_sglist_38431 pmcraid_copy_sglist 3 38431 NULL
-+hpsa_change_queue_depth_15449 hpsa_change_queue_depth 2 15449 NULL
-+use_pool_64607 use_pool 2 64607 NULL
-+__get_vm_area_caller_56416 __get_vm_area_caller 1 56416 NULL nohasharray
-+acpi_os_write_memory_56416 acpi_os_write_memory 1-3 56416 &__get_vm_area_caller_56416
-+store_msg_56417 store_msg 3 56417 NULL
-+pppol2tp_sendmsg_56420 pppol2tp_sendmsg 4 56420 NULL
-+sel_write_enforce_48998 sel_write_enforce 3 48998 NULL
++ea_foreach_i_40028 ea_foreach_i 0 40028 NULL
+datablob_hmac_append_40038 datablob_hmac_append 3 40038 NULL
++atomic_xchg_40070 atomic_xchg 0 40070 NULL
++sctp_setsockopt_delayed_ack_40129 sctp_setsockopt_delayed_ack 3 40129 NULL
++iwch_alloc_fastreg_pbl_40153 iwch_alloc_fastreg_pbl 2 40153 NULL
++pt_write_40159 pt_write 3 40159 NULL
++scsi_sg_count_40182 scsi_sg_count 0 40182 NULL
++ipr_alloc_ucode_buffer_40199 ipr_alloc_ucode_buffer 1 40199 NULL nohasharray
++devnode_find_40199 devnode_find 3-2 40199 &ipr_alloc_ucode_buffer_40199
++allocate_probes_40204 allocate_probes 1 40204 NULL
++compat_put_long_40214 compat_put_long 1 40214 NULL
++au0828_v4l2_read_40220 au0828_v4l2_read 3 40220 NULL
++osst_read_40237 osst_read 3 40237 NULL
++ocfs2_zero_extend_get_range_40248 ocfs2_zero_extend_get_range 4 40248 NULL
++rs_sta_dbgfs_scale_table_read_40262 rs_sta_dbgfs_scale_table_read 3 40262 NULL
++rx_xfr_hint_trig_read_40283 rx_xfr_hint_trig_read 3 40283 NULL
++ubi_io_write_data_40305 ubi_io_write_data 4-5 40305 NULL
++ib_get_mad_data_offset_40336 ib_get_mad_data_offset 0 40336 NULL
++mmio_read_40348 mmio_read 4 40348 NULL
++usb_dump_interface_40353 usb_dump_interface 0 40353 NULL
++ocfs2_release_clusters_40355 ocfs2_release_clusters 4 40355 NULL
++event_rx_mem_empty_read_40363 event_rx_mem_empty_read 3 40363 NULL
++ocfs2_check_range_for_refcount_40365 ocfs2_check_range_for_refcount 2-3 40365 NULL
++tomoyo_update_policy_40458 tomoyo_update_policy 2 40458 NULL
++zd_usb_scnprint_id_40459 zd_usb_scnprint_id 0-3 40459 NULL
++devcgroup_inode_permission_40492 devcgroup_inode_permission 0 40492 NULL
++tty_write_room_40495 tty_write_room 0 40495 NULL
++sg_phys_40507 sg_phys 0 40507 NULL
++TSS_checkhmac2_40520 TSS_checkhmac2 5-7 40520 NULL
++ima_write_policy_40548 ima_write_policy 3 40548 NULL
++esp_alloc_tmp_40558 esp_alloc_tmp 3-2 40558 NULL
++ufs_inode_getfrag_40560 ufs_inode_getfrag 2-4 40560 NULL
++arch_setup_hpet_msi_40584 arch_setup_hpet_msi 1 40584 NULL
++skge_rx_get_40598 skge_rx_get 3 40598 NULL
++get_priv_descr_and_size_40612 get_priv_descr_and_size 0 40612 NULL
++sctp_manip_pkt_40620 sctp_manip_pkt 2 40620 NULL
++cpuset_sprintf_cpulist_40627 cpuset_sprintf_cpulist 0 40627 NULL
++fops_read_40672 fops_read 3 40672 NULL
++__seq_open_private_40715 __seq_open_private 3 40715 NULL
++xfs_iext_remove_direct_40744 xfs_iext_remove_direct 3 40744 NULL nohasharray
++find_next_zero_bit_le_40744 find_next_zero_bit_le 0-2-3 40744 &xfs_iext_remove_direct_40744
++security_inode_listxattr_40752 security_inode_listxattr 0 40752 NULL
++fat_generic_compat_ioctl_40755 fat_generic_compat_ioctl 3 40755 NULL
++card_send_command_40757 card_send_command 3 40757 NULL
++ad1889_readl_40765 ad1889_readl 0 40765 NULL
++pg_write_40766 pg_write 3 40766 NULL
++ecryptfs_readlink_40775 ecryptfs_readlink 3 40775 NULL nohasharray
++show_list_40775 show_list 3 40775 &ecryptfs_readlink_40775
++bitmap_weight_40791 bitmap_weight 0-2 40791 NULL
++netdev_alloc_skb_ip_align_40811 netdev_alloc_skb_ip_align 2 40811 NULL nohasharray
++paranoid_check_not_bad_40811 paranoid_check_not_bad 0 40811 &netdev_alloc_skb_ip_align_40811
++nl80211_send_roamed_40825 nl80211_send_roamed 5-7 40825 NULL
++ocfs2_zero_partial_clusters_40856 ocfs2_zero_partial_clusters 2-3 40856 NULL
++v9fs_file_read_40858 v9fs_file_read 3 40858 NULL
++iwch_alloc_pbl_40885 iwch_alloc_pbl 2 40885 NULL
++read_file_queue_40895 read_file_queue 3 40895 NULL
++waiters_read_40902 waiters_read 3 40902 NULL
++isdn_add_channels_40905 isdn_add_channels 3 40905 NULL
++iwl_legacy_dbgfs_disable_ht40_read_40910 iwl_legacy_dbgfs_disable_ht40_read 3 40910 NULL
++gfs2_ea_find_40913 gfs2_ea_find 0 40913 NULL
++vol_cdev_write_40915 vol_cdev_write 3 40915 NULL
++snd_vx_create_40948 snd_vx_create 4 40948 NULL
++rds_sendmsg_40976 rds_sendmsg 4 40976 NULL
++econet_recvmsg_40978 econet_recvmsg 4 40978 NULL
++mac80211_format_buffer_41010 mac80211_format_buffer 2 41010 NULL
++_req_append_segment_41031 _req_append_segment 2 41031 NULL
++mISDN_sock_sendmsg_41035 mISDN_sock_sendmsg 4 41035 NULL
++ocfs2_xattr_index_block_find_41040 ocfs2_xattr_index_block_find 0 41040 NULL
++vfs_listxattr_41062 vfs_listxattr 0 41062 NULL
++cfg80211_inform_bss_frame_41078 cfg80211_inform_bss_frame 4 41078 NULL
++roccat_read_41093 roccat_read 3 41093 NULL
++provide_user_output_41105 provide_user_output 3 41105 NULL
++f_audio_buffer_alloc_41110 f_audio_buffer_alloc 1 41110 NULL
++oom_adjust_write_41116 oom_adjust_write 3 41116 NULL
++dvb_ca_write_41171 dvb_ca_write 3 41171 NULL
++ol_quota_chunk_block_41177 ol_quota_chunk_block 0-2 41177 NULL
++compat_sys_process_vm_writev_41194 compat_sys_process_vm_writev 3-5 41194 NULL
++dfs_file_write_41196 dfs_file_write 3 41196 NULL
++xfs_readdir_41200 xfs_readdir 3 41200 NULL
++ocfs2_read_quota_block_41207 ocfs2_read_quota_block 2 41207 NULL
++ceph_calc_raw_layout_41212 ceph_calc_raw_layout 4 41212 NULL
++nfs_page_array_len_41219 nfs_page_array_len 0-2-1 41219 NULL
++hiddev_compat_ioctl_41255 hiddev_compat_ioctl 2-3 41255 NULL
++erst_read_41260 erst_read 0 41260 NULL
++alloc_context_41283 alloc_context 1 41283 NULL
++create_bounce_buffer_41330 create_bounce_buffer 3 41330 NULL
++user_update_41332 user_update 3 41332 NULL
++twl_change_queue_depth_41342 twl_change_queue_depth 2 41342 NULL
++cnic_init_id_tbl_41354 cnic_init_id_tbl 2 41354 NULL
++jbd2_alloc_41359 jbd2_alloc 1 41359 NULL
++kmp_init_41373 kmp_init 2 41373 NULL
++isr_commands_read_41398 isr_commands_read 3 41398 NULL
++sys_flistxattr_41407 sys_flistxattr 3 41407 NULL
++xfs_iext_add_41422 xfs_iext_add 3 41422 NULL
++isdn_ppp_fill_rq_41428 isdn_ppp_fill_rq 2 41428 NULL
++lbs_rdrf_read_41431 lbs_rdrf_read 3 41431 NULL
++ext4_trim_extent_41436 ext4_trim_extent 4 41436 NULL
++ntfs_file_buffered_write_41442 ntfs_file_buffered_write 4-6 41442 NULL
++pcpu_build_alloc_info_41443 pcpu_build_alloc_info 1-2-3 41443 NULL
++layout_leb_in_gaps_41470 layout_leb_in_gaps 0 41470 NULL
++wep_interrupt_read_41492 wep_interrupt_read 3 41492 NULL
++hpfs_translate_name_41497 hpfs_translate_name 3 41497 NULL
++xfrm_hash_new_size_41505 xfrm_hash_new_size 0-1 41505 NULL
++ldisc_receive_41516 ldisc_receive 4 41516 NULL
++slab_alloc_41538 slab_alloc 0 41538 NULL
++rng_dev_read_41581 rng_dev_read 3 41581 NULL
++read_file_rx_chainmask_41605 read_file_rx_chainmask 3 41605 NULL
++vga_io_r_41609 vga_io_r 0 41609 NULL
++usb_endpoint_maxp_41613 usb_endpoint_maxp 0 41613 NULL
++lis3l02dq_read_accel_from_buffer_41615 lis3l02dq_read_accel_from_buffer 2 41615 NULL
++mempool_create_kmalloc_pool_41650 mempool_create_kmalloc_pool 1 41650 NULL
++get_std_timing_41654 get_std_timing 0 41654 NULL
++squashfs_cache_init_41656 squashfs_cache_init 2 41656 NULL
++au_nhash_alloc_41670 au_nhash_alloc 2 41670 NULL
++ieee80211_if_fmt_bssid_41677 ieee80211_if_fmt_bssid 3 41677 NULL
++params_period_bytes_41683 params_period_bytes 0 41683 NULL
++aac_src_ioremap_41688 aac_src_ioremap 2 41688 NULL
++ubi_leb_write_41691 ubi_leb_write 4-5 41691 NULL
++bdx_tx_db_init_41719 bdx_tx_db_init 2 41719 NULL
++sys_pwritev_41722 sys_pwritev 3 41722 NULL
++get_bios_ebda_41730 get_bios_ebda 0 41730 NULL
++hc_gpa_41744 hc_gpa 0-2-3 41744 NULL
++fillonedir_41746 fillonedir 3 41746 NULL
++sparse_add_one_section_41778 sparse_add_one_section 3 41778 NULL
++ocfs2_dx_dir_rebalance_41793 ocfs2_dx_dir_rebalance 7 41793 NULL
++sco_send_frame_41815 sco_send_frame 3 41815 NULL
++do_ip_setsockopt_41852 do_ip_setsockopt 5 41852 NULL
++keyctl_instantiate_key_41855 keyctl_instantiate_key 3 41855 NULL
++get_fdb_entries_41916 get_fdb_entries 3 41916 NULL
++ceph_get_direct_page_vector_41917 ceph_get_direct_page_vector 2 41917 NULL
++find_ge_pid_41918 find_ge_pid 1 41918 NULL
++build_inv_iotlb_pages_41922 build_inv_iotlb_pages 4-5 41922 NULL
++nfsd_getxattr_41934 nfsd_getxattr 0 41934 NULL
++ocfs2_xattr_bucket_get_name_value_41949 ocfs2_xattr_bucket_get_name_value 0 41949 NULL
++portnames_read_41958 portnames_read 3 41958 NULL
++dst_mtu_41969 dst_mtu 0 41969 NULL
++cx24116_writeregN_41975 cx24116_writeregN 4 41975 NULL
++ubi_io_is_bad_41983 ubi_io_is_bad 0 41983 NULL
++lguest_map_42008 lguest_map 1-2 42008 NULL
++pool_allocate_42012 pool_allocate 3 42012 NULL
++spidev_sync_read_42014 spidev_sync_read 0 42014 NULL
++ensure_wear_leveling_42029 ensure_wear_leveling 0 42029 NULL
++acpi_ut_create_buffer_object_42030 acpi_ut_create_buffer_object 1 42030 NULL
++__hwahc_op_set_gtk_42038 __hwahc_op_set_gtk 4 42038 NULL
++irda_sendmsg_ultra_42047 irda_sendmsg_ultra 4 42047 NULL
++jffs2_do_link_42048 jffs2_do_link 6 42048 NULL
++InterfaceTransmitPacket_42058 InterfaceTransmitPacket 3 42058 NULL
++brcmf_sdbrcm_downloadvars_42064 brcmf_sdbrcm_downloadvars 3 42064 NULL
++scsi_execute_req_42088 scsi_execute_req 5 42088 NULL
++sk_chk_filter_42095 sk_chk_filter 2 42095 NULL
++submit_inquiry_42108 submit_inquiry 3 42108 NULL
++sysfs_read_file_42113 sysfs_read_file 3 42113 NULL
++store_gps_42118 store_gps 4 42118 NULL
++ttm_agp_populate_42144 ttm_agp_populate 2 42144 NULL
++v9fs_alloc_rdir_buf_42150 v9fs_alloc_rdir_buf 2 42150 NULL
++mmc_align_data_size_42161 mmc_align_data_size 0-2 42161 NULL
++read_file_base_eeprom_42168 read_file_base_eeprom 3 42168 NULL
++oprofilefs_str_to_user_42182 oprofilefs_str_to_user 3 42182 NULL
++get_znodes_to_commit_42201 get_znodes_to_commit 0 42201 NULL
++btmrvl_hsmode_write_42252 btmrvl_hsmode_write 3 42252 NULL
++netxen_nic_map_indirect_address_128M_42257 netxen_nic_map_indirect_address_128M 2 42257 NULL
++snd_pcm_hw_param_value_max_42280 snd_pcm_hw_param_value_max 0 42280 NULL
++sel_read_perm_42302 sel_read_perm 3 42302 NULL
++sctp_setsockopt_del_key_42304 sctp_setsockopt_del_key 3 42304 NULL nohasharray
++ulong_read_file_42304 ulong_read_file 3 42304 &sctp_setsockopt_del_key_42304
++hysdn_conf_read_42324 hysdn_conf_read 3 42324 NULL
++tcp_sync_mss_42330 tcp_sync_mss 0-2 42330 NULL
++snd_pcm_plug_alloc_42339 snd_pcm_plug_alloc 2 42339 NULL
++ide_raw_taskfile_42355 ide_raw_taskfile 4 42355 NULL
++msnd_fifo_read_42406 msnd_fifo_read 0-3 42406 NULL
++brn_proc_write_42407 brn_proc_write 3 42407 NULL
++krng_get_random_42420 krng_get_random 3 42420 NULL
++gsm_data_alloc_42437 gsm_data_alloc 3 42437 NULL
++key_conf_keyidx_read_42443 key_conf_keyidx_read 3 42443 NULL
++snd_pcm_action_group_42452 snd_pcm_action_group 0 42452 NULL
++tcm_loop_change_queue_depth_42454 tcm_loop_change_queue_depth 2 42454 NULL
++ext3_valid_block_bitmap_42459 ext3_valid_block_bitmap 3 42459 NULL
++follow_hugetlb_page_42486 follow_hugetlb_page 0-7 42486 NULL
++kvm_write_wall_clock_42520 kvm_write_wall_clock 2 42520 NULL
++smk_write_netlbladdr_42525 smk_write_netlbladdr 3 42525 NULL
++snd_emux_create_port_42533 snd_emux_create_port 3 42533 NULL
++dbAllocNear_42546 dbAllocNear 0 42546 NULL
++iwl_print_event_log_42566 iwl_print_event_log 0-5-7 42566 NULL
++xfrm_new_hash_mask_42579 xfrm_new_hash_mask 0-1 42579 NULL
++oom_score_adj_write_42594 oom_score_adj_write 3 42594 NULL
++map_state_42602 map_state 1 42602 NULL nohasharray
++__pskb_pull_42602 __pskb_pull 2 42602 &map_state_42602
++sys_move_pages_42626 sys_move_pages 2 42626 NULL
++ieee80211_if_fmt_dot11MeshHWMPactivePathTimeout_42635 ieee80211_if_fmt_dot11MeshHWMPactivePathTimeout 3 42635 NULL
++scsi_activate_tcq_42640 scsi_activate_tcq 2 42640 NULL
++br_mdb_rehash_42643 br_mdb_rehash 2 42643 NULL
++_regmap_raw_write_42652 _regmap_raw_write 4 42652 NULL
++l2tp_xmit_skb_42672 l2tp_xmit_skb 3 42672 NULL
++request_key_and_link_42693 request_key_and_link 4 42693 NULL
++vb2_read_42703 vb2_read 3 42703 NULL
++__ocfs2_decrease_refcount_42717 __ocfs2_decrease_refcount 4 42717 NULL
++dvb_demux_ioctl_42733 dvb_demux_ioctl 2 42733 NULL
++set_aoe_iflist_42737 set_aoe_iflist 2 42737 NULL
++ax25_setsockopt_42740 ax25_setsockopt 5 42740 NULL
++xen_bind_pirq_gsi_to_irq_42750 xen_bind_pirq_gsi_to_irq 1 42750 NULL
++qla2x00_get_ctx_bsg_sp_42768 qla2x00_get_ctx_bsg_sp 3 42768 NULL
++snd_midi_event_decode_42780 snd_midi_event_decode 0 42780 NULL
++cryptd_hash_setkey_42781 cryptd_hash_setkey 3 42781 NULL
++koneplus_sysfs_read_42792 koneplus_sysfs_read 6 42792 NULL
++ntfs_attr_extend_allocation_42796 ntfs_attr_extend_allocation 0-2 42796 NULL
++fw_device_op_compat_ioctl_42804 fw_device_op_compat_ioctl 2-3 42804 NULL
++drm_ioctl_42813 drm_ioctl 2 42813 NULL
++iwl_dbgfs_ucode_bt_stats_read_42820 iwl_dbgfs_ucode_bt_stats_read 3 42820 NULL
++set_arg_42824 set_arg 3 42824 NULL
++ocfs2_desc_bitmap_to_cluster_off_42831 ocfs2_desc_bitmap_to_cluster_off 2 42831 NULL
++ocfs2_clusters_for_bytes_42872 ocfs2_clusters_for_bytes 0-2 42872 NULL
++pskb_expand_head_42881 pskb_expand_head 2-3 42881 NULL
++vt_compat_ioctl_42887 vt_compat_ioctl 3 42887 NULL
++tipc_port_recv_sections_42890 tipc_port_recv_sections 4 42890 NULL
++xpc_kmalloc_cacheline_aligned_42895 xpc_kmalloc_cacheline_aligned 1 42895 NULL
++hd_end_request_42904 hd_end_request 2 42904 NULL
++sctp_getsockopt_maxburst_42941 sctp_getsockopt_maxburst 2 42941 NULL
++get_unmapped_area_42944 get_unmapped_area 0 42944 NULL
++sys_sethostname_42962 sys_sethostname 2 42962 NULL
++compat_udpv6_setsockopt_42981 compat_udpv6_setsockopt 5 42981 NULL
++snd_timer_user_ioctl_compat_42985 snd_timer_user_ioctl_compat 3 42985 NULL
++nfs_idmap_get_desc_42990 nfs_idmap_get_desc 4-2 42990 NULL
++mlx4_qp_reserve_range_43000 mlx4_qp_reserve_range 2-3 43000 NULL
++isr_rx_mem_overflow_read_43025 isr_rx_mem_overflow_read 3 43025 NULL
++store_lssw_43035 store_lssw 4 43035 NULL nohasharray
++wep_default_key_count_read_43035 wep_default_key_count_read 3 43035 &store_lssw_43035
++sep_prepare_input_output_dma_table_in_dcb_43064 sep_prepare_input_output_dma_table_in_dcb 4-5-2-3 43064 NULL
++cpuset_sprintf_memlist_43088 cpuset_sprintf_memlist 0 43088 NULL
++ieee80211_if_fmt_drop_unencrypted_43107 ieee80211_if_fmt_drop_unencrypted 3 43107 NULL
++uuid_string_43154 uuid_string 0 43154 NULL
++usb_string_sub_43164 usb_string_sub 0 43164 NULL
++ext4_xattr_ibody_get_43200 ext4_xattr_ibody_get 0 43200 NULL
++uio_write_43202 uio_write 3 43202 NULL
++iso_callback_43208 iso_callback 3 43208 NULL
++atomic_long_add_return_43217 atomic_long_add_return 1 43217 NULL
++comedi_compat_ioctl_43218 comedi_compat_ioctl 3 43218 NULL
++vmemmap_alloc_block_43245 vmemmap_alloc_block 1 43245 NULL
++fixup_leb_43256 fixup_leb 3 43256 NULL
++store_wwan_43264 store_wwan 4 43264 NULL
++ide_end_rq_43269 ide_end_rq 4 43269 NULL
++evtchn_write_43278 evtchn_write 3 43278 NULL
++filemap_write_and_wait_range_43279 filemap_write_and_wait_range 0 43279 NULL
++alloc_subdevices_43300 alloc_subdevices 2 43300 NULL
++store_ledd_43312 store_ledd 4 43312 NULL
++get_nr_irqs_gsi_43315 get_nr_irqs_gsi 0 43315 NULL
++__ext4_get_inode_loc_43332 __ext4_get_inode_loc 0 43332 NULL
++xenfb_write_43412 xenfb_write 3 43412 NULL
++__alloc_bootmem_low_43423 __alloc_bootmem_low 1 43423 NULL
++usb_alloc_urb_43436 usb_alloc_urb 1 43436 NULL
++usemap_size_43443 usemap_size 0-2-1 43443 NULL nohasharray
++usb_string_43443 usb_string 0 43443 &usemap_size_43443
++alloc_new_reservation_43480 alloc_new_reservation 4 43480 NULL
++nf_nat_ftp_fmt_cmd_43495 nf_nat_ftp_fmt_cmd 0 43495 NULL
++ieee80211_if_fmt_dot11MeshHWMPnetDiameterTraversalTime_43505 ieee80211_if_fmt_dot11MeshHWMPnetDiameterTraversalTime 3 43505 NULL
++do_readlink_43518 do_readlink 2 43518 NULL
++dvb_ca_en50221_io_write_43533 dvb_ca_en50221_io_write 3 43533 NULL
++cachefiles_daemon_write_43535 cachefiles_daemon_write 3 43535 NULL
++ufs_alloccg_block_43540 ufs_alloccg_block 3-0 43540 NULL
++ath_rx_init_43564 ath_rx_init 2 43564 NULL nohasharray
++_send_control_msg_43564 _send_control_msg 6 43564 &ath_rx_init_43564
++_fc_frame_alloc_43568 _fc_frame_alloc 1 43568 NULL
++rpc_malloc_43573 rpc_malloc 2 43573 NULL
++lpfc_idiag_drbacc_read_reg_43606 lpfc_idiag_drbacc_read_reg 0-3 43606 NULL
++proc_read_43614 proc_read 3 43614 NULL
++prison_create_43623 prison_create 1 43623 NULL
++bio_integrity_tag_43658 bio_integrity_tag 3 43658 NULL
++ext4_acl_count_43659 ext4_acl_count 0-1 43659 NULL
++dmam_declare_coherent_memory_43679 dmam_declare_coherent_memory 4-2 43679 NULL
++calgary_map_page_43686 calgary_map_page 3-4 43686 NULL
++user_confirm_reply_43708 user_confirm_reply 4 43708 NULL
++drbd_md_first_sector_43729 drbd_md_first_sector 0 43729 NULL
++snd_rme32_playback_copy_43732 snd_rme32_playback_copy 5 43732 NULL
++ocfs2_replace_clusters_43733 ocfs2_replace_clusters 5 43733 NULL
++fuse_conn_congestion_threshold_write_43736 fuse_conn_congestion_threshold_write 3 43736 NULL
++einj_get_parameter_address_43743 einj_get_parameter_address 0 43743 NULL
++osdv1_attr_list_elem_size_43747 osdv1_attr_list_elem_size 0-1 43747 NULL
++gigaset_initcs_43753 gigaset_initcs 2 43753 NULL
++sctp_setsockopt_active_key_43755 sctp_setsockopt_active_key 3 43755 NULL
++ocfs2_xattr_get_value_outside_43787 ocfs2_xattr_get_value_outside 0 43787 NULL nohasharray
++byte_pos_43787 byte_pos 0-2 43787 &ocfs2_xattr_get_value_outside_43787
++btrfs_copy_from_user_43806 btrfs_copy_from_user 3-1 43806 NULL
++store_cpufv_disabled_43809 store_cpufv_disabled 4 43809 NULL
++ext4_read_block_bitmap_43814 ext4_read_block_bitmap 2 43814 NULL
++ieee80211_if_fmt_element_ttl_43825 ieee80211_if_fmt_element_ttl 3 43825 NULL
++ieee80211_alloc_hw_43829 ieee80211_alloc_hw 1 43829 NULL
++read_flush_43851 read_flush 3 43851 NULL
++ocfs2_block_group_find_clear_bits_43874 ocfs2_block_group_find_clear_bits 4 43874 NULL
++idmap_update_entry_43885 idmap_update_entry 3 43885 NULL
++xen_register_gsi_43946 xen_register_gsi 1-2 43946 NULL
++stats_dot11RTSFailureCount_read_43948 stats_dot11RTSFailureCount_read 3 43948 NULL
++__get_required_blob_size_43980 __get_required_blob_size 0-2-3 43980 NULL
++nla_reserve_43984 nla_reserve 3 43984 NULL
++scsi_command_size_43992 scsi_command_size 0 43992 NULL nohasharray
++bcm_recvmsg_43992 bcm_recvmsg 4 43992 &scsi_command_size_43992
++write_flush_procfs_44011 write_flush_procfs 3 44011 NULL
++socket_sockcreate_sid_44074 socket_sockcreate_sid 2 44074 NULL
++xlog_recover_add_to_cont_trans_44102 xlog_recover_add_to_cont_trans 4 44102 NULL
++tracing_set_trace_read_44122 tracing_set_trace_read 3 44122 NULL
++vmw_gmr_bind_44130 vmw_gmr_bind 3 44130 NULL
++scsi_get_resid_44147 scsi_get_resid 0 44147 NULL
++ubifs_find_dirty_idx_leb_44169 ubifs_find_dirty_idx_leb 0 44169 NULL
++ocfs2_xattr_bucket_find_44174 ocfs2_xattr_bucket_find 0 44174 NULL
++handle_eviocgbit_44193 handle_eviocgbit 3 44193 NULL
++IO_APIC_get_PCI_irq_vector_44198 IO_APIC_get_PCI_irq_vector 0 44198 NULL
++claim_ptd_buffers_44213 claim_ptd_buffers 3 44213 NULL
++srp_alloc_iu_44227 srp_alloc_iu 2 44227 NULL
++ioapic_register_intr_44238 ioapic_register_intr 1 44238 NULL
++scsi_track_queue_full_44239 scsi_track_queue_full 2 44239 NULL
++enlarge_skb_44248 enlarge_skb 2 44248 NULL
++ufs_clusteracct_44293 ufs_clusteracct 3 44293 NULL
++ocfs2_zero_range_for_truncate_44294 ocfs2_zero_range_for_truncate 3 44294 NULL
++iwl3945_statistics_flag_44310 iwl3945_statistics_flag 3-0 44310 NULL
++bitmap_scnprintf_44318 bitmap_scnprintf 0-2 44318 NULL
++dispatch_proc_write_44320 dispatch_proc_write 3 44320 NULL
++blk_queue_init_tags_44355 blk_queue_init_tags 2 44355 NULL
++rts_threshold_read_44384 rts_threshold_read 3 44384 NULL
++aoedev_flush_44398 aoedev_flush 2 44398 NULL
++drm_buffer_alloc_44405 drm_buffer_alloc 2 44405 NULL
++osst_do_scsi_44410 osst_do_scsi 4 44410 NULL
++btrfs_chunk_item_size_44478 btrfs_chunk_item_size 0-1 44478 NULL
++sdio_align_size_44489 sdio_align_size 0-2 44489 NULL
++ieee80211_if_read_dropped_frames_ttl_44500 ieee80211_if_read_dropped_frames_ttl 3 44500 NULL
++security_getprocattr_44505 security_getprocattr 0 44505 NULL nohasharray
++iwl_dbgfs_sram_read_44505 iwl_dbgfs_sram_read 3 44505 &security_getprocattr_44505
++spidev_write_44510 spidev_write 3 44510 NULL
++sys_msgsnd_44537 sys_msgsnd 3 44537 NULL nohasharray
++comm_write_44537 comm_write 3 44537 &sys_msgsnd_44537
++snd_pcm_alloc_vmalloc_buffer_44595 snd_pcm_alloc_vmalloc_buffer 2 44595 NULL
++slip_compat_ioctl_44599 slip_compat_ioctl 4 44599 NULL
++cfpkt_add_body_44630 cfpkt_add_body 3 44630 NULL
++ext2_new_block_44645 ext2_new_block 2 44645 NULL
++alloc_ctrl_packet_44667 alloc_ctrl_packet 1 44667 NULL
++ts_read_44687 ts_read 3 44687 NULL
++security_member_sid_44712 security_member_sid 3 44712 NULL
++mempool_create_node_44715 mempool_create_node 1 44715 NULL
++_zd_iowrite32v_locked_44725 _zd_iowrite32v_locked 3 44725 NULL
++clusterip_proc_write_44729 clusterip_proc_write 3 44729 NULL
++fib_count_nexthops_44730 fib_count_nexthops 0 44730 NULL
++key_tx_rx_count_read_44742 key_tx_rx_count_read 3 44742 NULL
++tnode_new_44757 tnode_new 3 44757 NULL nohasharray
++pty_write_44757 pty_write 3 44757 &tnode_new_44757
++__videobuf_copy_stream_44769 __videobuf_copy_stream 4 44769 NULL
++sctp_setsockopt_44788 sctp_setsockopt 5 44788 NULL
++rx_dropped_read_44799 rx_dropped_read 3 44799 NULL
++sisusb_write_44834 sisusb_write 3 44834 NULL
++nl80211_send_unprot_disassoc_44846 nl80211_send_unprot_disassoc 4 44846 NULL
++skb_availroom_44883 skb_availroom 0 44883 NULL
++nf_bridge_encap_header_len_44890 nf_bridge_encap_header_len 0 44890 NULL
++do_tty_write_44896 do_tty_write 5 44896 NULL
++tx_queue_status_read_44978 tx_queue_status_read 3 44978 NULL
++ftdi_process_packet_45005 ftdi_process_packet 5 45005 NULL
++read_block_bitmap_45021 read_block_bitmap 2 45021 NULL nohasharray
++ptrace_writedata_45021 ptrace_writedata 4-3 45021 &read_block_bitmap_45021
++vhci_get_user_45039 vhci_get_user 3 45039 NULL
++sel_write_user_45060 sel_write_user 3 45060 NULL
++do_video_ioctl_45069 do_video_ioctl 3 45069 NULL nohasharray
++snd_mixart_BA0_read_45069 snd_mixart_BA0_read 5 45069 &do_video_ioctl_45069
++orig_hash_del_if_45080 orig_hash_del_if 2 45080 NULL
++au_sbend_45097 au_sbend 0 45097 NULL
++alternate_node_alloc_45100 alternate_node_alloc 0 45100 NULL
++usbdev_read_45114 usbdev_read 3 45114 NULL
++send_to_tty_45141 send_to_tty 3 45141 NULL
++crypto_aead_blocksize_45148 crypto_aead_blocksize 0 45148 NULL
++gen_bitmask_string_45149 gen_bitmask_string 6 45149 NULL
++ocfs2_remove_inode_range_45156 ocfs2_remove_inode_range 3-4 45156 NULL nohasharray
++device_write_45156 device_write 3 45156 &ocfs2_remove_inode_range_45156
++ocfs2_dq_frozen_trigger_45159 ocfs2_dq_frozen_trigger 4 45159 NULL
++tomoyo_write_self_45161 tomoyo_write_self 3 45161 NULL
++sta_agg_status_write_45164 sta_agg_status_write 3 45164 NULL
++snd_sb_csp_load_user_45190 snd_sb_csp_load_user 3 45190 NULL
++num_clusters_in_group_45194 num_clusters_in_group 2 45194 NULL
++add_child_45201 add_child 4 45201 NULL
++iso_alloc_urb_45206 iso_alloc_urb 4-5 45206 NULL
++spi_alloc_master_45223 spi_alloc_master 2 45223 NULL
++ieee80211_if_read_peer_45233 ieee80211_if_read_peer 3 45233 NULL
++vcc_compat_ioctl_45291 vcc_compat_ioctl 3 45291 NULL
++snd_pcm_oss_sync1_45298 snd_pcm_oss_sync1 2 45298 NULL
++copy_vm86_regs_from_user_45340 copy_vm86_regs_from_user 3 45340 NULL
++lane2_associate_req_45398 lane2_associate_req 4 45398 NULL
++keymap_store_45406 keymap_store 4 45406 NULL
++tty_buffer_alloc_45437 tty_buffer_alloc 2 45437 NULL
++do_mmap_pgoff_45441 do_mmap_pgoff 0 45441 NULL
++__node_remap_45458 __node_remap 4 45458 NULL
++rds_ib_set_wr_signal_state_45463 rds_ib_set_wr_signal_state 0 45463 NULL
++tracing_read_dyn_info_45468 tracing_read_dyn_info 3 45468 NULL
++rds_message_copy_from_user_45510 rds_message_copy_from_user 3 45510 NULL
++sys_lgetxattr_45531 sys_lgetxattr 4 45531 NULL
++cgroup_read_u64_45532 cgroup_read_u64 5 45532 NULL
++copy_macs_45534 copy_macs 4 45534 NULL
++nla_attr_size_45545 nla_attr_size 0-1 45545 NULL
++v9fs_direct_read_45546 v9fs_direct_read 3 45546 NULL
++cx18_copy_mdl_to_user_45549 cx18_copy_mdl_to_user 4 45549 NULL
++ext3_group_first_block_no_45555 ext3_group_first_block_no 0-2 45555 NULL
++stats_dot11ACKFailureCount_read_45558 stats_dot11ACKFailureCount_read 3 45558 NULL
++posix_acl_xattr_size_45561 posix_acl_xattr_size 0-1 45561 NULL
++venus_rmdir_45564 venus_rmdir 4 45564 NULL
++ipath_create_cq_45586 ipath_create_cq 2 45586 NULL
++rdma_set_ib_paths_45592 rdma_set_ib_paths 3 45592 NULL
++hidraw_get_report_45609 hidraw_get_report 3 45609 NULL
++audit_log_n_hex_45617 audit_log_n_hex 3 45617 NULL
++ebitmap_next_positive_45651 ebitmap_next_positive 3 45651 NULL
++dma_map_cont_45668 dma_map_cont 5 45668 NULL
++compat_mpctl_ioctl_45671 compat_mpctl_ioctl 2 45671 NULL
++dgram_sendmsg_45679 dgram_sendmsg 4 45679 NULL
++smk_write_ambient_45691 smk_write_ambient 3 45691 NULL
++dm_compat_ctl_ioctl_45692 dm_compat_ctl_ioctl 3 45692 NULL
++ip_nat_sip_expect_45693 ip_nat_sip_expect 7 45693 NULL
++unix_dgram_sendmsg_45699 unix_dgram_sendmsg 4 45699 NULL nohasharray
++bscnl_emit_45699 bscnl_emit 2-5-0 45699 &unix_dgram_sendmsg_45699
++sg_proc_write_adio_45704 sg_proc_write_adio 3 45704 NULL
++dvb_ca_en50221_init_45718 dvb_ca_en50221_init 4 45718 NULL
++snd_cs46xx_io_read_45734 snd_cs46xx_io_read 5 45734 NULL
++v4l2_ctrl_new_std_45748 v4l2_ctrl_new_std 5 45748 NULL
++lkdtm_debugfs_read_45752 lkdtm_debugfs_read 3 45752 NULL
++nilfs_compat_ioctl_45769 nilfs_compat_ioctl 3 45769 NULL
++alloc_ts_config_45775 alloc_ts_config 1 45775 NULL
++nfs_idmap_request_key_45791 nfs_idmap_request_key 2 45791 NULL
++raw_setsockopt_45800 raw_setsockopt 5 45800 NULL
++lbs_rdbbp_read_45805 lbs_rdbbp_read 3 45805 NULL
++pcpu_alloc_alloc_info_45813 pcpu_alloc_alloc_info 1-2 45813 NULL
++fm_v4l2_init_video_device_45821 fm_v4l2_init_video_device 2 45821 NULL
++amthi_read_45831 amthi_read 4 45831 NULL
++isdn_write_45863 isdn_write 3 45863 NULL
++rbd_get_num_segments_45864 rbd_get_num_segments 0-2-3 45864 NULL
++unpack_orig_pfns_45867 unpack_orig_pfns 0 45867 NULL
++get_rdac_req_45882 get_rdac_req 3 45882 NULL
++ocfs2_xattr_block_find_45891 ocfs2_xattr_block_find 0 45891 NULL
++qla4_8xxx_pci_mem_write_2M_45906 qla4_8xxx_pci_mem_write_2M 2 45906 NULL
++dbgfs_frame_45917 dbgfs_frame 3 45917 NULL
++alloc_mr_45935 alloc_mr 1 45935 NULL
++rb_simple_read_45972 rb_simple_read 3 45972 NULL
++ezusb_writememory_45976 ezusb_writememory 4 45976 NULL
++ioat2_dca_count_dca_slots_45984 ioat2_dca_count_dca_slots 0 45984 NULL
++sierra_setup_urb_46029 sierra_setup_urb 5 46029 NULL
++get_free_entries_46030 get_free_entries 1 46030 NULL
++__access_remote_vm_46031 __access_remote_vm 0-5-3 46031 NULL
++snd_emu10k1x_ptr_read_46049 snd_emu10k1x_ptr_read 0 46049 NULL
++acpi_register_gsi_xen_hvm_46052 acpi_register_gsi_xen_hvm 2 46052 NULL
++line6_midibuf_bytes_used_46059 line6_midibuf_bytes_used 0 46059 NULL
++__ocfs2_move_extent_46060 __ocfs2_move_extent 5-6 46060 NULL nohasharray
++dma_tx_errors_read_46060 dma_tx_errors_read 3 46060 &__ocfs2_move_extent_46060
++sel_commit_bools_write_46077 sel_commit_bools_write 3 46077 NULL
++ata_host_alloc_46094 ata_host_alloc 2 46094 NULL
++pkt_ctl_compat_ioctl_46110 pkt_ctl_compat_ioctl 3 46110 NULL
++mlx4_ib_alloc_fast_reg_page_list_46119 mlx4_ib_alloc_fast_reg_page_list 2 46119 NULL
++__netlink_change_ngroups_46156 __netlink_change_ngroups 2 46156 NULL
++qlcnic_alloc_msix_entries_46160 qlcnic_alloc_msix_entries 2 46160 NULL
++kmalloc_section_memmap_46168 kmalloc_section_memmap 3 46168 NULL
++vxge_os_dma_malloc_46184 vxge_os_dma_malloc 2 46184 NULL
++fillvdir_46193 fillvdir 3 46193 NULL
++i2400m_op_msg_from_user_46213 i2400m_op_msg_from_user 4 46213 NULL
++tm6000_i2c_recv_regs_46215 tm6000_i2c_recv_regs 5 46215 NULL
++dsp_write_46218 dsp_write 2 46218 NULL
++sg_proc_write_dressz_46316 sg_proc_write_dressz 3 46316 NULL
++__hwahc_dev_set_key_46328 __hwahc_dev_set_key 5 46328 NULL
++iwl_dbgfs_chain_noise_read_46355 iwl_dbgfs_chain_noise_read 3 46355 NULL
++smk_write_direct_46363 smk_write_direct 3 46363 NULL
++__iommu_calculate_agaw_46366 __iommu_calculate_agaw 2 46366 NULL
++fuse_file_aio_write_46399 fuse_file_aio_write 4 46399 NULL
++crypto_ablkcipher_reqsize_46411 crypto_ablkcipher_reqsize 0 46411 NULL
++cp210x_set_config_46447 cp210x_set_config 4 46447 NULL
++filldir64_46469 filldir64 3 46469 NULL
++mthca_alloc_cq_buf_46512 mthca_alloc_cq_buf 3 46512 NULL
++bdx_rxdb_create_46525 bdx_rxdb_create 1 46525 NULL
++nl80211_send_rx_assoc_46538 nl80211_send_rx_assoc 4 46538 NULL
++mv_get_hc_count_46554 mv_get_hc_count 0 46554 NULL
++link_send_sections_long_46556 link_send_sections_long 4 46556 NULL
++dn_current_mss_46574 dn_current_mss 0 46574 NULL
++serverworks_create_gatt_pages_46582 serverworks_create_gatt_pages 1 46582 NULL
++vscnprintf_46617 vscnprintf 0-2 46617 NULL
++request_key_async_with_auxdata_46624 request_key_async_with_auxdata 4 46624 NULL
++aircable_process_packet_46639 aircable_process_packet 5 46639 NULL
++cx18_v4l2_ioctl_46647 cx18_v4l2_ioctl 2 46647 NULL
++av7110_ipack_init_46655 av7110_ipack_init 2 46655 NULL
++iwl4965_ucode_rx_stats_read_46676 iwl4965_ucode_rx_stats_read 3 46676 NULL
++alloc_data_packet_46698 alloc_data_packet 1 46698 NULL
++__ilog2_u32_46706 __ilog2_u32 0 46706 NULL
++erst_dbg_write_46715 erst_dbg_write 3 46715 NULL
++hest_ghes_dev_register_46766 hest_ghes_dev_register 1 46766 NULL
++int_hw_irq_en_46776 int_hw_irq_en 3 46776 NULL
++_xfs_buf_get_pages_46811 _xfs_buf_get_pages 2 46811 NULL
++xfs_iroot_realloc_46826 xfs_iroot_realloc 2 46826 NULL
++security_validtrans_handle_fail_46843 security_validtrans_handle_fail 4 46843 NULL
++ieee80211_rx_radiotap_len_46846 ieee80211_rx_radiotap_len 0 46846 NULL
++spi_async_46857 spi_async 0 46857 NULL
++vsnprintf_46863 vsnprintf 0 46863 NULL
++rvmalloc_46873 rvmalloc 1 46873 NULL
++hpi_read_word_nolock_46881 hpi_read_word_nolock 0 46881 NULL
++sk_mem_pages_46896 sk_mem_pages 0-1 46896 NULL
++ol_dqblk_off_46904 ol_dqblk_off 3-2 46904 NULL
++tracing_ctrl_read_46922 tracing_ctrl_read 3 46922 NULL
++fb_write_46924 fb_write 3 46924 NULL
++btmrvl_curpsmode_read_46939 btmrvl_curpsmode_read 3 46939 NULL
++kvm_register_read_46948 kvm_register_read 0 46948 NULL
++__sctp_setsockopt_connectx_46949 __sctp_setsockopt_connectx 3 46949 NULL
++crypto_tfm_alg_alignmask_46971 crypto_tfm_alg_alignmask 0 46971 NULL
++ath6kl_add_bss_if_needed_46978 ath6kl_add_bss_if_needed 5 46978 NULL
++gfs2_xattr_system_set_46996 gfs2_xattr_system_set 4 46996 NULL nohasharray
++sel_write_bool_46996 sel_write_bool 3 46996 &gfs2_xattr_system_set_46996
++ttm_bo_io_47000 ttm_bo_io 5 47000 NULL
++blk_rq_map_kern_47004 blk_rq_map_kern 4 47004 NULL
++__map_single_47020 __map_single 3-4-7 47020 NULL
++cx231xx_init_bulk_47024 cx231xx_init_bulk 3-2 47024 NULL
++ufs_new_fragments_47070 ufs_new_fragments 3-5-4 47070 NULL
++unmap_class_47076 unmap_class 0-1 47076 NULL
++scsi_deactivate_tcq_47086 scsi_deactivate_tcq 2 47086 NULL
++mousedev_read_47123 mousedev_read 3 47123 NULL
++ses_recv_diag_47143 ses_recv_diag 4 47143 NULL nohasharray
++acpi_ut_initialize_buffer_47143 acpi_ut_initialize_buffer 2 47143 &ses_recv_diag_47143
++cxio_init_resource_fifo_random_47151 cxio_init_resource_fifo_random 3 47151 NULL
++mxms_headerlen_47161 mxms_headerlen 0 47161 NULL
++rs_sta_dbgfs_rate_scale_data_read_47165 rs_sta_dbgfs_rate_scale_data_read 3 47165 NULL
++svc_pool_map_alloc_arrays_47181 svc_pool_map_alloc_arrays 2 47181 NULL
++can_set_system_xattr_47182 can_set_system_xattr 4 47182 NULL
++ioremap_cache_47189 ioremap_cache 1-2 47189 NULL
++security_change_sid_47202 security_change_sid 3 47202 NULL
++module_alloc_update_bounds_47205 module_alloc_update_bounds 1 47205 NULL
++l2headersize_47238 l2headersize 0 47238 NULL
++options_write_47243 options_write 3 47243 NULL
++portcntrs_1_read_47253 portcntrs_1_read 3 47253 NULL
++ablkcipher_next_slow_47274 ablkcipher_next_slow 4-3 47274 NULL
++tty_audit_log_47280 tty_audit_log 8 47280 NULL
++vsnprintf_47291 vsnprintf 0 47291 NULL
++tx_internal_desc_overflow_read_47300 tx_internal_desc_overflow_read 3 47300 NULL
++channel_type_read_47308 channel_type_read 3 47308 NULL
++ieee80211_if_read_dot11MeshHoldingTimeout_47356 ieee80211_if_read_dot11MeshHoldingTimeout 3 47356 NULL
++avc_get_hash_stats_47359 avc_get_hash_stats 0 47359 NULL
++find_first_zero_bit_le_47369 find_first_zero_bit_le 2 47369 NULL
++__bio_map_kern_47379 __bio_map_kern 3 47379 NULL
++trace_options_core_read_47390 trace_options_core_read 3 47390 NULL
++pfkey_sendmsg_47394 pfkey_sendmsg 4 47394 NULL
++ocfs2_resv_end_47408 ocfs2_resv_end 0 47408 NULL
++crypto_ablkcipher_alignmask_47410 crypto_ablkcipher_alignmask 0 47410 NULL
++vzalloc_47421 vzalloc 1 47421 NULL
++posix_acl_from_disk_47445 posix_acl_from_disk 2 47445 NULL
++environ_read_47451 environ_read 3 47451 NULL
++newpart_47485 newpart 6 47485 NULL
++core_sys_select_47494 core_sys_select 1 47494 NULL
++alloc_arraycache_47505 alloc_arraycache 2 47505 NULL
++unlink_simple_47506 unlink_simple 3 47506 NULL
++ufs_inode_getblock_47512 ufs_inode_getblock 4 47512 NULL
++vscnprintf_47533 vscnprintf 0-2 47533 NULL nohasharray
++process_vm_rw_47533 process_vm_rw 3-5 47533 &vscnprintf_47533
++ieee80211_if_fmt_min_discovery_timeout_47539 ieee80211_if_fmt_min_discovery_timeout 3 47539 NULL
++cycx_setup_47562 cycx_setup 4 47562 NULL
++read_ldt_47570 read_ldt 2 47570 NULL
++pci_iomap_47575 pci_iomap 3 47575 NULL
++rpipe_get_idx_47579 rpipe_get_idx 2 47579 NULL
++ext4_kvzalloc_47605 ext4_kvzalloc 1 47605 NULL
++sctp_ssnmap_new_47608 sctp_ssnmap_new 1-2 47608 NULL
++uea_request_47613 uea_request 4 47613 NULL
++cache_read_pipefs_47615 cache_read_pipefs 3 47615 NULL
++kvm_pv_mmu_write_47630 kvm_pv_mmu_write 2 47630 NULL
++ivtv_serialized_ioctl_47632 ivtv_serialized_ioctl 3 47632 NULL
++irq_set_chip_47638 irq_set_chip 1 47638 NULL
++__build_packet_message_47643 __build_packet_message 3-9 47643 NULL
++compute_sid_handle_invalid_context_47647 compute_sid_handle_invalid_context 3 47647 NULL
++bits_to_user_47733 bits_to_user 2-3 47733 NULL
++carl9170_debugfs_read_47738 carl9170_debugfs_read 3 47738 NULL
++ir_prepare_write_buffer_47747 ir_prepare_write_buffer 3 47747 NULL
++mvumi_alloc_mem_resource_47750 mvumi_alloc_mem_resource 3 47750 NULL
++ext3_find_near_47752 ext3_find_near 0 47752 NULL
++alloc_sched_domains_47756 alloc_sched_domains 1 47756 NULL
++i915_wedged_write_47771 i915_wedged_write 3 47771 NULL
++uwb_ie_dump_hex_47774 uwb_ie_dump_hex 4 47774 NULL
++sst_prepare_output_buffers_47781 sst_prepare_output_buffers 4 47781 NULL
++tt_len_47789 tt_len 0-1 47789 NULL
++stmmac_set_bfsize_47834 stmmac_set_bfsize 0 47834 NULL
++ubifs_unpack_nnode_47866 ubifs_unpack_nnode 0 47866 NULL
++vhci_read_47878 vhci_read 3 47878 NULL
++keyctl_instantiate_key_common_47889 keyctl_instantiate_key_common 4 47889 NULL
++osd_req_read_sg_47905 osd_req_read_sg 5 47905 NULL
++comedi_write_47926 comedi_write 3 47926 NULL
++nf_nat_ftp_47948 nf_nat_ftp 5 47948 NULL
++iwl_dbgfs_ucode_tracing_read_47983 iwl_dbgfs_ucode_tracing_read 3 47983 NULL nohasharray
++mempool_resize_47983 mempool_resize 2 47983 &iwl_dbgfs_ucode_tracing_read_47983
++pnpacpi_parse_allocated_irqresource_47986 pnpacpi_parse_allocated_irqresource 2 47986 NULL
++mgmt_pending_add_47990 mgmt_pending_add 5 47990 NULL nohasharray
++dbg_port_buf_47990 dbg_port_buf 2 47990 &mgmt_pending_add_47990
++ib_umad_write_47993 ib_umad_write 3 47993 NULL
++ffs_epfile_write_48014 ffs_epfile_write 3 48014 NULL
++bio_integrity_set_tag_48035 bio_integrity_set_tag 3 48035 NULL
++pppoe_sendmsg_48039 pppoe_sendmsg 4 48039 NULL
++wpan_phy_alloc_48056 wpan_phy_alloc 1 48056 NULL
++posix_acl_alloc_48063 posix_acl_alloc 1 48063 NULL
++c4iw_init_resource_fifo_48090 c4iw_init_resource_fifo 3 48090 NULL
++mmc_alloc_host_48097 mmc_alloc_host 1 48097 NULL
++skb_copy_datagram_const_iovec_48102 skb_copy_datagram_const_iovec 4-2-5 48102 NULL
++vmw_framebuffer_surface_dirty_48132 vmw_framebuffer_surface_dirty 6 48132 NULL
++rtsx_read_cfg_seq_48139 rtsx_read_cfg_seq 5-3 48139 NULL
++dn_fib_count_nhs_48145 dn_fib_count_nhs 0 48145 NULL
++bitmap_onto_48152 bitmap_onto 4 48152 NULL
++isr_dma1_done_read_48159 isr_dma1_done_read 3 48159 NULL
++ocfs2_find_next_zero_bit_unaligned_48170 ocfs2_find_next_zero_bit_unaligned 2-3 48170 NULL
++init_ipath_48187 init_ipath 1 48187 NULL
++snd_seq_dump_var_event_48209 snd_seq_dump_var_event 0 48209 NULL
++is_block_in_journal_48223 is_block_in_journal 3 48223 NULL
++uv_blade_nr_possible_cpus_48226 uv_blade_nr_possible_cpus 0 48226 NULL
+read_file_recv_48232 read_file_recv 3 48232 NULL
-+r128_compat_ioctl_39250 r128_compat_ioctl 2 39250 NULL
-+fanotify_write_64623 fanotify_write 3 64623 NULL
-+fl_create_56435 fl_create 5 56435 NULL
-+gnttab_map_56439 gnttab_map 2 56439 NULL
++blk_rq_pos_48233 blk_rq_pos 0 48233 NULL
+nfsctl_transaction_read_48250 nfsctl_transaction_read 3 48250 NULL
-+event_rx_pool_read_25792 event_rx_pool_read 3 25792 NULL
-+cx231xx_init_isoc_56453 cx231xx_init_isoc 2-3 56453 NULL
-+xfs_dir2_sf_addname_hard_54254 xfs_dir2_sf_addname_hard 3 54254 NULL
-+pwc_video_read_51735 pwc_video_read 3 51735 NULL
+cache_write_pipefs_48270 cache_write_pipefs 3 48270 NULL
-+osd_req_list_partition_objects_56464 osd_req_list_partition_objects 5 56464 NULL
-+cx18_read_23699 cx18_read 3 23699 NULL
-+tcf_csum_skb_nextlayer_64025 tcf_csum_skb_nextlayer 3 64025 NULL
-+iwl4965_ucode_tx_stats_read_12143 iwl4965_ucode_tx_stats_read 3 12143 NULL
+pkt_bio_alloc_48284 pkt_bio_alloc 1 48284 NULL
-+ddb_output_write_31902 ddb_output_write 3 31902 NULL
-+tun_sendmsg_10337 tun_sendmsg 4 10337 NULL
-+sock_alloc_send_skb_23720 sock_alloc_send_skb 2 23720 NULL
-+wep_decrypt_fail_read_58567 wep_decrypt_fail_read 3 58567 NULL
+lpfc_idiag_extacc_read_48301 lpfc_idiag_extacc_read 3 48301 NULL
-+p9_check_zc_errors_15534 p9_check_zc_errors 4 15534 NULL
-+kmem_alloc_31920 kmem_alloc 1 31920 NULL
+timblogiw_read_48305 timblogiw_read 3 48305 NULL
-+mgmt_control_7349 mgmt_control 3 7349 NULL
+hash_setkey_48310 hash_setkey 3 48310 NULL
-+ql_process_mac_rx_page_15543 ql_process_mac_rx_page 4 15543 NULL
-+sctp_setsockopt_delayed_ack_40129 sctp_setsockopt_delayed_ack 3 40129 NULL
-+cfg80211_connect_result_56515 cfg80211_connect_result 4-6 56515 NULL
-+iov_iter_copy_from_user_31942 iov_iter_copy_from_user 4 31942 NULL
-+ql_process_mac_rx_skb_6689 ql_process_mac_rx_skb 4 6689 NULL
-+ieee80211_if_read_dot11MeshHWMPactivePathTimeout_7368 ieee80211_if_read_dot11MeshHWMPactivePathTimeout 3 7368 NULL
-+ieee80211_amsdu_to_8023s_15561 ieee80211_amsdu_to_8023s 5 15561 NULL
-+dapm_bias_read_file_64715 dapm_bias_read_file 3 64715 NULL
-+vb2_write_31948 vb2_write 3 31948 NULL
-+proc_self_readlink_38094 proc_self_readlink 3 38094 NULL
-+store_ledd_43312 store_ledd 4 43312 NULL
-+bnx2fc_process_unsol_compl_15576 bnx2fc_process_unsol_compl 2 15576 NULL
-+l1oip_socket_recv_56537 l1oip_socket_recv 6 56537 NULL
-+ip_options_get_56538 ip_options_get 4 56538 NULL
-+ep0_read_38095 ep0_read 3 38095 NULL
-+sctp_getsockopt_sctp_status_56540 sctp_getsockopt_sctp_status 2 56540 NULL
-+copy_from_user_toio_31966 copy_from_user_toio 3 31966 NULL
-+pt_write_40159 pt_write 3 40159 NULL
-+squashfs_read_inode_lookup_table_64739 squashfs_read_inode_lookup_table 4 64739 NULL
-+sl_change_mtu_7396 sl_change_mtu 2 7396 NULL
-+vm_map_ram_23078 vm_map_ram 2 23078 NULL nohasharray
-+raw_sendmsg_23078 raw_sendmsg 4 23078 &vm_map_ram_23078
-+allocate_cnodes_5329 allocate_cnodes 1 5329 NULL
+skb_add_data_48363 skb_add_data 3 48363 NULL
-+bio_map_kern_64751 bio_map_kern 3 64751 NULL
-+alloc_apertures_56561 alloc_apertures 1 56561 NULL
-+iscsi_complete_pdu_48372 iscsi_complete_pdu 4 48372 NULL
-+diva_alloc_dma_map_23798 diva_alloc_dma_map 2 23798 NULL
-+sriov_enable_migration_14889 sriov_enable_migration 2 14889 NULL
-+rx_path_reset_read_23801 rx_path_reset_read 3 23801 NULL
-+rs_sta_dbgfs_stats_table_read_56573 rs_sta_dbgfs_stats_table_read 3 56573 NULL
-+compat_fillonedir_15620 compat_fillonedir 3 15620 NULL
-+ipr_alloc_ucode_buffer_40199 ipr_alloc_ucode_buffer 1 40199 NULL
-+dsp_cmx_send_member_15625 dsp_cmx_send_member 2 15625 NULL
-+portcntrs_2_read_56586 portcntrs_2_read 3 56586 NULL
-+system_enable_read_25815 system_enable_read 3 25815 NULL
-+kvm_pv_mmu_op_7436 kvm_pv_mmu_op 3 7436 NULL
-+sd_alloc_ctl_entry_29708 sd_alloc_ctl_entry 1 29708 NULL
-+proc_loginuid_read_15631 proc_loginuid_read 3 15631 NULL
-+__earlyonly_bootmem_alloc_23824 __earlyonly_bootmem_alloc 2 23824 NULL
-+acpi_battery_write_alarm_1240 acpi_battery_write_alarm 3 1240 NULL
-+isr_low_rssi_read_64789 isr_low_rssi_read 3 64789 NULL
-+ip_options_get_alloc_7448 ip_options_get_alloc 1 7448 NULL
-+tomoyo_scan_bprm_15642 tomoyo_scan_bprm 2-4 15642 NULL
-+joydev_handle_JSIOCSBTNMAP_15643 joydev_handle_JSIOCSBTNMAP 3 15643 NULL
-+au0828_v4l2_read_40220 au0828_v4l2_read 3 40220 NULL
+lbs_debugfs_write_48413 lbs_debugfs_write 3 48413 NULL
-+nfsctl_transaction_write_64800 nfsctl_transaction_write 3 64800 NULL
-+xfs_dir2_leaf_getdents_23841 xfs_dir2_leaf_getdents 3 23841 NULL
-+ms_rw_multi_sector_7459 ms_rw_multi_sector 4-3 7459 NULL
-+xsd_read_15653 xsd_read 3 15653 NULL
-+compat_sys_fcntl_15654 compat_sys_fcntl 3 15654 NULL
++aufs_compat_ioctl_dir_48420 aufs_compat_ioctl_dir 3 48420 NULL
+pwr_tx_without_ps_read_48423 pwr_tx_without_ps_read 3 48423 NULL
-+rfkill_fop_write_64808 rfkill_fop_write 3 64808 NULL
+nfs4_alloc_pages_48426 nfs4_alloc_pages 1 48426 NULL
-+osst_read_40237 osst_read 3 40237 NULL
-+sys_sched_setaffinity_32046 sys_sched_setaffinity 2 32046 NULL
-+megaraid_change_queue_depth_64815 megaraid_change_queue_depth 2 64815 NULL
-+ecryptfs_send_miscdev_64816 ecryptfs_send_miscdev 2 64816 NULL
-+copy_nodes_to_user_63807 copy_nodes_to_user 2 63807 NULL
-+ubi_leb_change_14899 ubi_leb_change 4 14899 NULL
-+unix_bind_15668 unix_bind 3 15668 NULL
+wm8994_write_48439 wm8994_write 3 48439 NULL
-+compat_sys_msgrcv_7482 compat_sys_msgrcv 2 7482 NULL
-+pep_alloc_skb_46303 pep_alloc_skb 3 46303 NULL
-+proc_scsi_devinfo_write_32064 proc_scsi_devinfo_write 3 32064 NULL
-+xip_file_read_58592 xip_file_read 3 58592 NULL
-+evdev_do_ioctl_24459 evdev_do_ioctl 2 24459 NULL
-+ieee80211_if_read_dot11MeshMaxPeerLinks_23878 ieee80211_if_read_dot11MeshMaxPeerLinks 3 23878 NULL
-+ieee80211_if_read_channel_type_23884 ieee80211_if_read_channel_type 3 23884 NULL
+tun_recvmsg_48463 tun_recvmsg 4 48463 NULL
-+reqsk_queue_alloc_40272 reqsk_queue_alloc 2 40272 NULL
-+sdhci_alloc_host_7509 sdhci_alloc_host 2 7509 NULL
-+dlm_dir_lookup_56662 dlm_dir_lookup 4 56662 NULL
-+rx_xfr_hint_trig_read_40283 rx_xfr_hint_trig_read 3 40283 NULL
-+iwch_reject_cr_23901 iwch_reject_cr 3 23901 NULL
-+altera_set_dr_pre_64862 altera_set_dr_pre 2 64862 NULL
-+shmem_setxattr_55867 shmem_setxattr 4 55867 NULL
-+ath6kl_fwlog_read_32101 ath6kl_fwlog_read 3 32101 NULL
-+set_discoverable_32102 set_discoverable 4 32102 NULL
+r8712_usbctrl_vendorreq_48489 r8712_usbctrl_vendorreq 6 48489 NULL
-+ioremap_wc_62695 ioremap_wc 1-2 62695 NULL
-+ipath_reg_phys_mr_23918 ipath_reg_phys_mr 3 23918 NULL
-+ubi_io_write_data_40305 ubi_io_write_data 4-5 40305 NULL
+send_control_msg_48498 send_control_msg 6 48498 NULL
+mlx4_en_create_tx_ring_48501 mlx4_en_create_tx_ring 4 48501 NULL
-+ffs_epfile_io_64886 ffs_epfile_io 3 64886 NULL
-+iwl_legacy_dbgfs_status_read_48508 iwl_legacy_dbgfs_status_read 3 48508 NULL nohasharray
-+diva_os_copy_to_user_48508 diva_os_copy_to_user 4 48508 &iwl_legacy_dbgfs_status_read_48508
-+dvb_ringbuffer_read_user_56702 dvb_ringbuffer_read_user 3 56702 NULL
-+inet_dccp_listen_28565 inet_dccp_listen 2 28565 NULL
-+__alloc_skb_23940 __alloc_skb 1 23940 NULL
-+sta_flags_read_56710 sta_flags_read 3 56710 NULL
-+ipv6_getsockopt_sticky_56711 ipv6_getsockopt_sticky 5 56711 NULL
-+HiSax_readstatus_15752 HiSax_readstatus 2 15752 NULL
-+l2cap_create_basic_pdu_54508 l2cap_create_basic_pdu 3 54508 NULL
++diva_os_copy_to_user_48508 diva_os_copy_to_user 4 48508 NULL nohasharray
++iwl_legacy_dbgfs_status_read_48508 iwl_legacy_dbgfs_status_read 3 48508 &diva_os_copy_to_user_48508
++phantom_get_free_48514 phantom_get_free 0 48514 NULL
+ubi_dbg_check_write_48525 ubi_dbg_check_write 5 48525 NULL
-+alloc_tx_32143 alloc_tx 2 32143 NULL
+wiimote_hid_send_48528 wiimote_hid_send 3 48528 NULL
-+bat_ogm_queue_add_40337 bat_ogm_queue_add 3 40337 NULL
-+__wa_xfer_setup_segs_56725 __wa_xfer_setup_segs 2 56725 NULL
-+do_test_15766 do_test 1 15766 NULL
-+mmio_read_40348 mmio_read 4 40348 NULL
-+vivi_read_23073 vivi_read 3 23073 NULL
-+nfsd_write_54809 nfsd_write 6 54809 NULL
-+venus_link_32165 venus_link 5 32165 NULL
-+st5481_setup_isocpipes_61340 st5481_setup_isocpipes 6-4 61340 NULL
-+event_rx_mem_empty_read_40363 event_rx_mem_empty_read 3 40363 NULL
-+drm_agp_bind_pages_56748 drm_agp_bind_pages 3 56748 NULL
-+ntfs_rl_realloc_nofail_32173 ntfs_rl_realloc_nofail 3 32173 NULL
-+zd_usb_iowrite16v_async_23984 zd_usb_iowrite16v_async 3 23984 NULL
-+mfd_add_devices_56753 mfd_add_devices 4 56753 NULL
-+ubifs_wbuf_write_nolock_64946 ubifs_wbuf_write_nolock 3 64946 NULL
-+get_chars_40373 get_chars 3 40373 NULL
-+smk_read_direct_15803 smk_read_direct 3 15803 NULL
-+fwnet_incoming_packet_40380 fwnet_incoming_packet 3 40380 NULL
-+groups_alloc_7614 groups_alloc 1 7614 NULL
-+brcmf_sdcard_recv_buf_24006 brcmf_sdcard_recv_buf 6 24006 NULL
-+cxgb_alloc_mem_24007 cxgb_alloc_mem 1 24007 NULL
-+gnttab_expand_15817 gnttab_expand 1 15817 NULL
++ext3_splice_branch_48531 ext3_splice_branch 6 48531 NULL
+ext_sd_execute_read_data_48589 ext_sd_execute_read_data 9 48589 NULL
-+afs_proc_rootcell_write_15822 afs_proc_rootcell_write 3 15822 NULL
-+__carl9170_rx_56784 __carl9170_rx 3 56784 NULL
-+__hwahc_dev_set_key_46328 __hwahc_dev_set_key 5 46328 NULL
-+oprofilefs_ulong_from_user_57251 oprofilefs_ulong_from_user 3 57251 NULL
-+ioctl_private_iw_point_1273 ioctl_private_iw_point 7 1273 NULL
-+tcf_csum_ipv4_tcp_39713 tcf_csum_ipv4_tcp 4 39713 NULL
-+snapshot_write_28351 snapshot_write 3 28351 NULL
-+event_enable_read_7074 event_enable_read 3 7074 NULL
-+set_connectable_7649 set_connectable 4 7649 NULL
-+sl_realloc_bufs_64086 sl_realloc_bufs 2 64086 NULL
-+pskb_pull_65005 pskb_pull 2 65005 NULL
-+caif_seqpkt_recvmsg_32241 caif_seqpkt_recvmsg 4 32241 NULL
-+lbs_lowrssi_read_32242 lbs_lowrssi_read 3 32242 NULL
-+sisusbcon_scroll_31315 sisusbcon_scroll 5-3-2 31315 NULL
-+afs_cell_alloc_24052 afs_cell_alloc 2 24052 NULL
-+packet_setsockopt_17662 packet_setsockopt 5 17662 NULL
-+ubi_io_write_15870 ubi_io_write 4-5 15870 NULL nohasharray
-+media_entity_init_15870 media_entity_init 2-4 15870 &ubi_io_write_15870
-+ntfs_rl_realloc_56831 ntfs_rl_realloc 3 56831 NULL
++ufs_dtogd_48616 ufs_dtogd 0-2 48616 NULL
+do_ip_vs_set_ctl_48641 do_ip_vs_set_ctl 4 48641 NULL
-+__mptctl_ioctl_15875 __mptctl_ioctl 2 15875 NULL
-+ipath_cdev_init_37752 ipath_cdev_init 1 37752 NULL
-+skb_copy_expand_7685 skb_copy_expand 2-3 7685 NULL nohasharray
-+acpi_ex_allocate_name_string_7685 acpi_ex_allocate_name_string 2-1 7685 &skb_copy_expand_7685
-+insert_dent_65034 insert_dent 7 65034 NULL
-+blkcipher_copy_iv_24075 blkcipher_copy_iv 3 24075 NULL
-+acpi_os_allocate_zeroed_37422 acpi_os_allocate_zeroed 1 37422 NULL
-+snd_rawmidi_kernel_write1_56847 snd_rawmidi_kernel_write1 4 56847 NULL
-+brcmf_sdcard_rwdata_65041 brcmf_sdcard_rwdata 5 65041 NULL
-+nfs_map_group_to_gid_15892 nfs_map_group_to_gid 3 15892 NULL
+lc_create_48662 lc_create 3 48662 NULL
-+l2cap_create_iframe_pdu_51801 l2cap_create_iframe_pdu 3 51801 NULL
+aes_encrypt_packets_read_48666 aes_encrypt_packets_read 3 48666 NULL
-+dev_write_7708 dev_write 3 7708 NULL
-+ath9k_multi_regread_65056 ath9k_multi_regread 4 65056 NULL
-+l3_alloc_skb_32289 l3_alloc_skb 1 32289 NULL
-+l2cap_build_cmd_48676 l2cap_build_cmd 4 48676 NULL
-+request_key_auth_read_24109 request_key_auth_read 3 24109 NULL
-+bnx2fc_process_l2_frame_compl_65072 bnx2fc_process_l2_frame_compl 3 65072 NULL
-+vmalloc_user_32308 vmalloc_user 1 32308 NULL
++sm501_create_subdev_48668 sm501_create_subdev 3-4 48668 NULL nohasharray
++sys_setgroups_48668 sys_setgroups 1 48668 &sm501_create_subdev_48668
+hysdn_log_write_48694 hysdn_log_write 3 48694 NULL
-+iwl_legacy_dbgfs_stations_read_24121 iwl_legacy_dbgfs_stations_read 3 24121 NULL
+altera_drscan_48698 altera_drscan 2 48698 NULL
-+manip_pkt_7741 manip_pkt 3 7741 NULL
+kvm_set_irq_routing_48704 kvm_set_irq_routing 3 48704 NULL
-+power_read_15939 power_read 3 15939 NULL
-+recv_msg_48709 recv_msg 4 48709 NULL
-+ghash_async_setkey_60001 ghash_async_setkey 3 60001 NULL
-+TSS_checkhmac2_40520 TSS_checkhmac2 5-7 40520 NULL
-+irnet_ctrl_write_24139 irnet_ctrl_write 3 24139 NULL
-+lpfc_idiag_drbacc_read_15948 lpfc_idiag_drbacc_read 3 15948 NULL
-+process_vm_rw_pages_15954 process_vm_rw_pages 5-6 15954 NULL
-+rxrpc_request_key_27235 rxrpc_request_key 3 27235 NULL
-+t4_alloc_mem_32342 t4_alloc_mem 1 32342 NULL
-+remap_pci_mem_15966 remap_pci_mem 1-2 15966 NULL
-+alloc_candev_7776 alloc_candev 1-2 7776 NULL
+disconnect_48738 disconnect 4 48738 NULL
-+ima_write_policy_40548 ima_write_policy 3 40548 NULL
-+dispatch_ioctl_32357 dispatch_ioctl 2 32357 NULL nohasharray
-+rx_streaming_always_write_32357 rx_streaming_always_write 3 32357 &dispatch_ioctl_32357
-+sel_read_initcon_32362 sel_read_initcon 3 32362 NULL
-+dfs_global_file_read_7787 dfs_global_file_read 3 7787 NULL
-+frame_alloc_15981 frame_alloc 4 15981 NULL
-+esp_alloc_tmp_40558 esp_alloc_tmp 2-3 40558 NULL
-+diva_os_copy_from_user_7792 diva_os_copy_from_user 4 7792 NULL
-+adu_read_24177 adu_read 3 24177 NULL
-+send_mpa_reply_32372 send_mpa_reply 3 32372 NULL
-+alloc_vm_area_15989 alloc_vm_area 1 15989 NULL
-+variax_set_raw2_32374 variax_set_raw2 4 32374 NULL
-+vfd_write_14717 vfd_write 3 14717 NULL
-+usbtmc_read_32377 usbtmc_read 3 32377 NULL
-+get_entry_16003 get_entry 4 16003 NULL
-+event_buffer_read_48772 event_buffer_read 3 48772 NULL
-+ieee80211_if_read_dot11MeshHWMPpreqMinInterval_24208 ieee80211_if_read_dot11MeshHWMPpreqMinInterval 3 24208 NULL
-+viafb_vt1636_proc_write_16018 viafb_vt1636_proc_write 3 16018 NULL
-+__cxio_init_resource_fifo_23447 __cxio_init_resource_fifo 3 23447 NULL
-+skge_rx_get_40598 skge_rx_get 3 40598 NULL
-+register_device_60015 register_device 2-3 60015 NULL
-+got_frame_16028 got_frame 2 16028 NULL
-+ssb_bus_register_65183 ssb_bus_register 3 65183 NULL
-+snd_pcm_aio_read_13900 snd_pcm_aio_read 3 13900 NULL
++ath6kl_regwrite_read_48747 ath6kl_regwrite_read 3 48747 NULL
+icmp_manip_pkt_48801 icmp_manip_pkt 2 48801 NULL
-+scsi_register_49094 scsi_register 2 49094 NULL
+twa_change_queue_depth_48808 twa_change_queue_depth 2 48808 NULL
-+kmalloc_order_trace_21788 kmalloc_order_trace 1 21788 NULL
-+vlsi_alloc_ring_57003 vlsi_alloc_ring 3-4 57003 NULL
-+sctp_manip_pkt_40620 sctp_manip_pkt 2 40620 NULL
-+tcp_push_one_48816 tcp_push_one 2 48816 NULL
-+nfulnl_alloc_skb_65207 nfulnl_alloc_skb 2 65207 NULL
-+dccp_recvmsg_16056 dccp_recvmsg 4 16056 NULL
+atomic_counters_read_48827 atomic_counters_read 3 48827 NULL
++azx_get_position_48841 azx_get_position 0 48841 NULL
+vc_do_resize_48842 vc_do_resize 3-4 48842 NULL
-+prism2_info_scanresults_59729 prism2_info_scanresults 3 59729 NULL
-+fill_readbuf_32464 fill_readbuf 3 32464 NULL
-+create_gpadl_header_19064 create_gpadl_header 2 19064 NULL
-+dvb_dmxdev_read_sec_7892 dvb_dmxdev_read_sec 4 7892 NULL
-+snd_nm256_capture_copy_28622 snd_nm256_capture_copy 5 28622 NULL
-+xfs_trans_get_efi_7898 xfs_trans_get_efi 2 7898 NULL
+viafb_dvp1_proc_write_48864 viafb_dvp1_proc_write 3 48864 NULL
-+osd_req_list_dev_partitions_60027 osd_req_list_dev_partitions 4 60027 NULL
+__ffs_ep0_read_events_48868 __ffs_ep0_read_events 3 48868 NULL
++sys_setgroups16_48882 sys_setgroups16 1 48882 NULL
++get_num_ops_48886 get_num_ops 0 48886 NULL
++ext2_alloc_branch_48889 ext2_alloc_branch 4 48889 NULL
++crypto_cipher_ctxsize_48890 crypto_cipher_ctxsize 0 48890 NULL
++xdi_copy_to_user_48900 xdi_copy_to_user 4 48900 NULL
++msg_hdr_sz_48908 msg_hdr_sz 0 48908 NULL
++gdth_isa_probe_one_48925 gdth_isa_probe_one 1 48925 NULL
++lpfc_sli4_get_els_iocb_cnt_48926 lpfc_sli4_get_els_iocb_cnt 0 48926 NULL
++event_heart_beat_read_48961 event_heart_beat_read 3 48961 NULL
++_alloc_set_attr_list_48991 _alloc_set_attr_list 4 48991 NULL
++rds_rm_size_48996 rds_rm_size 0-2 48996 NULL
++sel_write_enforce_48998 sel_write_enforce 3 48998 NULL
++xd_rw_49020 xd_rw 3-4 49020 NULL
++transient_status_49027 transient_status 4 49027 NULL
++ubi_read_49061 ubi_read 0 49061 NULL
++vmx_set_msr_49090 vmx_set_msr 3 49090 NULL
++scsi_register_49094 scsi_register 2 49094 NULL
++compat_do_readv_writev_49102 compat_do_readv_writev 4 49102 NULL
++xfrm_replay_state_esn_len_49119 xfrm_replay_state_esn_len 0 49119 NULL
++pt_read_49136 pt_read 3 49136 NULL
++iwl_legacy_dbgfs_fh_reg_read_49144 iwl_legacy_dbgfs_fh_reg_read 3 49144 NULL nohasharray
++tipc_multicast_49144 tipc_multicast 5 49144 &iwl_legacy_dbgfs_fh_reg_read_49144
++atyfb_setup_generic_49151 atyfb_setup_generic 3 49151 NULL
++ipwireless_tty_received_49154 ipwireless_tty_received 3 49154 NULL
++ipw_queue_tx_init_49161 ipw_queue_tx_init 3 49161 NULL
++ext4_free_clusters_after_init_49174 ext4_free_clusters_after_init 2 49174 NULL
++dvb_dvr_ioctl_49182 dvb_dvr_ioctl 2 49182 NULL
++iwl_dbgfs_ucode_general_stats_read_49199 iwl_dbgfs_ucode_general_stats_read 3 49199 NULL
++do_jffs2_getxattr_49210 do_jffs2_getxattr 0 49210 NULL
++osd_req_add_get_attr_list_49278 osd_req_add_get_attr_list 3 49278 NULL
++viafb_dfph_proc_write_49288 viafb_dfph_proc_write 3 49288 NULL
++uio_read_49300 uio_read 3 49300 NULL
++ocfs2_resmap_find_free_bits_49301 ocfs2_resmap_find_free_bits 3 49301 NULL
++cfpkt_setlen_49343 cfpkt_setlen 2 49343 NULL
++joydev_ioctl_common_49359 joydev_ioctl_common 2 49359 NULL
++ocfs2_remove_btree_range_49370 ocfs2_remove_btree_range 4-5-3 49370 NULL
++px_raw_event_49371 px_raw_event 4 49371 NULL
++iscsi_alloc_session_49390 iscsi_alloc_session 3 49390 NULL
++applesmc_create_nodes_49392 applesmc_create_nodes 2 49392 NULL
++rx_streaming_always_read_49401 rx_streaming_always_read 3 49401 NULL
++iwl_legacy_dbgfs_nvm_read_49405 iwl_legacy_dbgfs_nvm_read 3 49405 NULL
++tnode_alloc_49407 tnode_alloc 1 49407 NULL
++samples_to_bytes_49426 samples_to_bytes 0-2 49426 NULL
++md_domain_init_49432 md_domain_init 2 49432 NULL
++agp_3_5_isochronous_node_enable_49465 agp_3_5_isochronous_node_enable 3 49465 NULL
++xfs_iformat_local_49472 xfs_iformat_local 4 49472 NULL
++isr_decrypt_done_read_49490 isr_decrypt_done_read 3 49490 NULL
++emulator_write_phys_49520 emulator_write_phys 2-4 49520 NULL
++acpi_os_ioremap_49523 acpi_os_ioremap 1-2 49523 NULL
++smk_write_access_49561 smk_write_access 3 49561 NULL
++ntfs_malloc_nofs_49572 ntfs_malloc_nofs 1 49572 NULL
++alloc_chunk_49575 alloc_chunk 1 49575 NULL
++sctp_setsockopt_default_send_param_49578 sctp_setsockopt_default_send_param 3 49578 NULL
++isr_wakeups_read_49607 isr_wakeups_read 3 49607 NULL
++heap_init_49617 heap_init 2 49617 NULL
++smk_write_doi_49621 smk_write_doi 3 49621 NULL
++svm_set_msr_49643 svm_set_msr 3 49643 NULL
++____cache_alloc_49656 ____cache_alloc 0 49656 NULL
++aa_simple_write_to_buffer_49683 aa_simple_write_to_buffer 3-4 49683 NULL
++sys_gethostname_49698 sys_gethostname 2 49698 NULL
++cx2341x_ctrl_new_menu_49700 cx2341x_ctrl_new_menu 3 49700 NULL
++get_key_haup_common_49709 get_key_haup_common 4 49709 NULL
++sys_fsetxattr_49736 sys_fsetxattr 4 49736 NULL
++zd_usb_iowrite16v_49744 zd_usb_iowrite16v 3 49744 NULL
++btrfs_chunk_num_stripes_49751 btrfs_chunk_num_stripes 0 49751 NULL
++key_conf_keylen_read_49758 key_conf_keylen_read 3 49758 NULL
++fuse_conn_waiting_read_49762 fuse_conn_waiting_read 3 49762 NULL
++pohmelfs_send_xattr_req_49783 pohmelfs_send_xattr_req 6 49783 NULL
++ceph_osdc_readpages_49789 ceph_osdc_readpages 10-4 49789 NULL
++nfs4_acl_new_49806 nfs4_acl_new 1 49806 NULL
++ntfs_copy_from_user_iovec_49829 ntfs_copy_from_user_iovec 3-6-0 49829 NULL
++vmw_execbuf_process_49845 vmw_execbuf_process 5 49845 NULL
++scsi_dispatch_cmd_entry_49848 scsi_dispatch_cmd_entry 3 49848 NULL
++timeradd_entry_49850 timeradd_entry 3 49850 NULL
++sctp_setsockopt_bindx_49870 sctp_setsockopt_bindx 3 49870 NULL
++ceph_get_caps_49890 ceph_get_caps 0 49890 NULL
++__copy_from_user_inatomic_nocache_49921 __copy_from_user_inatomic_nocache 3 49921 NULL
++ieee80211_if_fmt_dtim_count_49987 ieee80211_if_fmt_dtim_count 3 49987 NULL
++dn_mss_from_pmtu_50011 dn_mss_from_pmtu 0-2 50011 NULL
++ptrace_readdata_50020 ptrace_readdata 2-4 50020 NULL
++isdn_read_50021 isdn_read 3 50021 NULL
++rbd_req_write_50041 rbd_req_write 4-5 50041 NULL
++alloc_ebda_hpc_50046 alloc_ebda_hpc 1-2 50046 NULL
++fuse_conn_max_background_write_50061 fuse_conn_max_background_write 3 50061 NULL
++vmw_surface_destroy_size_50072 vmw_surface_destroy_size 0 50072 NULL
++arch_setup_ht_irq_50073 arch_setup_ht_irq 1 50073 NULL
++dev_set_alias_50084 dev_set_alias 3 50084 NULL
++pcpu_get_vm_areas_50085 pcpu_get_vm_areas 3 50085 NULL
++sock_setsockopt_50088 sock_setsockopt 5 50088 NULL
++altera_swap_dr_50090 altera_swap_dr 2 50090 NULL
++read_file_slot_50111 read_file_slot 3 50111 NULL
++pn544_fw_read_50112 pn544_fw_read 0 50112 NULL
++copy_items_50140 copy_items 6 50140 NULL
++reiserfs_bmap_count_50160 reiserfs_bmap_count 0 50160 NULL
++aac_nark_ioremap_50163 aac_nark_ioremap 2 50163 NULL nohasharray
++kmalloc_node_50163 kmalloc_node 1 50163 &aac_nark_ioremap_50163
++odev_update_50169 odev_update 2 50169 NULL
++ieee80211_if_fmt_dot11MeshHWMPRannInterval_50172 ieee80211_if_fmt_dot11MeshHWMPRannInterval 3 50172 NULL nohasharray
++ubi_resize_volume_50172 ubi_resize_volume 2 50172 &ieee80211_if_fmt_dot11MeshHWMPRannInterval_50172
++ib_send_cm_drep_50186 ib_send_cm_drep 3 50186 NULL
++l2cap_sock_setsockopt_50207 l2cap_sock_setsockopt 5 50207 NULL
++ieee80211_skb_resize_50211 ieee80211_skb_resize 3 50211 NULL
++mon_bin_compat_ioctl_50234 mon_bin_compat_ioctl 3 50234 NULL
++sg_kmalloc_50240 sg_kmalloc 1 50240 NULL
++afs_extract_data_50261 afs_extract_data 5 50261 NULL
++rxrpc_setsockopt_50286 rxrpc_setsockopt 5 50286 NULL nohasharray
++gart_free_coherent_50286 gart_free_coherent 4-2 50286 &rxrpc_setsockopt_50286
++soc_codec_reg_show_50302 soc_codec_reg_show 0 50302 NULL
++cifs_readdata_alloc_50318 cifs_readdata_alloc 1 50318 NULL
++do_launder_page_50329 do_launder_page 0 50329 NULL
++lpfc_idiag_pcicfg_read_50334 lpfc_idiag_pcicfg_read 3 50334 NULL
++ocfs2_block_to_cluster_group_50337 ocfs2_block_to_cluster_group 2 50337 NULL nohasharray
++au_br_alloc_50337 au_br_alloc 2 50337 &ocfs2_block_to_cluster_group_50337 nohasharray
++snd_pcm_lib_writev_50337 snd_pcm_lib_writev 0-3 50337 &au_br_alloc_50337
++tpm_read_50344 tpm_read 3 50344 NULL
++isdn_ppp_read_50356 isdn_ppp_read 4 50356 NULL
++unpack_u16_chunk_50357 unpack_u16_chunk 0 50357 NULL
++xfrm_send_migrate_50365 xfrm_send_migrate 5 50365 NULL
++sl_alloc_bufs_50380 sl_alloc_bufs 2 50380 NULL
++l2tp_ip_sendmsg_50411 l2tp_ip_sendmsg 4 50411 NULL
++iscsi_create_conn_50425 iscsi_create_conn 2 50425 NULL
++pgctrl_write_50453 pgctrl_write 3 50453 NULL
++cdrom_read_cdda_50478 cdrom_read_cdda 4 50478 NULL
++pwr_rcvd_awake_beacons_read_50505 pwr_rcvd_awake_beacons_read 3 50505 NULL
++ath6kl_set_ap_probe_resp_ies_50539 ath6kl_set_ap_probe_resp_ies 3 50539 NULL
++iwl_dbgfs_missed_beacon_read_50584 iwl_dbgfs_missed_beacon_read 3 50584 NULL
++build_inv_iommu_pages_50589 build_inv_iommu_pages 2-3 50589 NULL
++__ffs_50625 __ffs 0 50625 NULL
++simple_transaction_get_50633 simple_transaction_get 3 50633 NULL
++ocfs2_readlink_50656 ocfs2_readlink 3 50656 NULL
++sys_readv_50664 sys_readv 3 50664 NULL
++ext2_try_to_allocate_with_rsv_50669 ext2_try_to_allocate_with_rsv 4-2 50669 NULL
++btmrvl_psstate_read_50683 btmrvl_psstate_read 3 50683 NULL
++get_wear_leveling_table_len_50712 get_wear_leveling_table_len 0 50712 NULL
++__ext3_get_inode_loc_50744 __ext3_get_inode_loc 0 50744 NULL
++skb_padto_50759 skb_padto 2 50759 NULL
++udp_manip_pkt_50770 udp_manip_pkt 2 50770 NULL
++ocfs2_xattr_block_get_50773 ocfs2_xattr_block_get 0 50773 NULL
++tm6000_read_write_usb_50774 tm6000_read_write_usb 7 50774 NULL
++bio_alloc_map_data_50782 bio_alloc_map_data 1-2 50782 NULL
++tpm_write_50798 tpm_write 3 50798 NULL
++tun_do_read_50800 tun_do_read 4 50800 NULL
++write_flush_50803 write_flush 3 50803 NULL
++dvb_play_50814 dvb_play 3 50814 NULL
++acpi_ev_install_gpe_block_50829 acpi_ev_install_gpe_block 2 50829 NULL
++pstore_mkfile_50830 pstore_mkfile 5 50830 NULL
++create_mem_extents_50835 create_mem_extents 0 50835 NULL
++carl9170_debugfs_write_50857 carl9170_debugfs_write 3 50857 NULL
++netlbl_secattr_catmap_walk_rng_50894 netlbl_secattr_catmap_walk_rng 0-2 50894 NULL
++osd_req_write_sg_50908 osd_req_write_sg 5 50908 NULL
++xfs_iext_remove_50909 xfs_iext_remove 3 50909 NULL
++blk_rq_cur_sectors_50910 blk_rq_cur_sectors 0 50910 NULL
++hash_recvmsg_50924 hash_recvmsg 4 50924 NULL
++chd_dec_fetch_cdata_50926 chd_dec_fetch_cdata 3 50926 NULL
++sock_bindtodevice_50942 sock_bindtodevice 3 50942 NULL
++ocfs2_add_refcount_flag_50952 ocfs2_add_refcount_flag 6 50952 NULL
++iwl_statistics_flag_50981 iwl_statistics_flag 0-3 50981 NULL
++timeout_write_50991 timeout_write 3 50991 NULL
++proc_write_51003 proc_write 3 51003 NULL
++lbs_dev_info_51023 lbs_dev_info 3 51023 NULL
++ntfs_attr_find_51028 ntfs_attr_find 0 51028 NULL nohasharray
++fuse_conn_congestion_threshold_read_51028 fuse_conn_congestion_threshold_read 3 51028 &ntfs_attr_find_51028
++BcmGetSectionValEndOffset_51039 BcmGetSectionValEndOffset 0 51039 NULL
++dump_midi_51040 dump_midi 3 51040 NULL
++do_arpt_set_ctl_51053 do_arpt_set_ctl 4 51053 NULL
++wusb_prf_64_51065 wusb_prf_64 7 51065 NULL
++qla4_8xxx_pci_mem_write_direct_51079 qla4_8xxx_pci_mem_write_direct 2 51079 NULL
++jbd2_journal_init_revoke_51088 jbd2_journal_init_revoke 2 51088 NULL
++__ocfs2_find_path_51096 __ocfs2_find_path 0 51096 NULL
++read_file_wiphy_51103 read_file_wiphy 3 51103 NULL
++nfs_map_name_to_uid_51132 nfs_map_name_to_uid 3 51132 NULL
++alloc_rtllib_51136 alloc_rtllib 1 51136 NULL
++xfs_trans_get_efd_51148 xfs_trans_get_efd 3 51148 NULL
++snd_pcm_write_51235 snd_pcm_write 3 51235 NULL
++tipc_send_51238 tipc_send 4 51238 NULL
++drm_property_create_51239 drm_property_create 4 51239 NULL
++st_read_51251 st_read 3 51251 NULL
++compat_dccp_setsockopt_51263 compat_dccp_setsockopt 5 51263 NULL
++dvb_audio_write_51275 dvb_audio_write 3 51275 NULL
++ipwireless_network_packet_received_51277 ipwireless_network_packet_received 4 51277 NULL
++zone_reclaimable_pages_51283 zone_reclaimable_pages 0 51283 NULL
++pvr2_std_id_to_str_51288 pvr2_std_id_to_str 2 51288 NULL
++alloc_hippi_dev_51320 alloc_hippi_dev 1 51320 NULL
++ext2_xattr_get_51327 ext2_xattr_get 0 51327 NULL
++alloc_smp_req_51337 alloc_smp_req 1 51337 NULL nohasharray
++compat_arch_ptrace_51337 compat_arch_ptrace 3-4 51337 &alloc_smp_req_51337
++ipw_get_event_log_len_51341 ipw_get_event_log_len 0 51341 NULL
++ieee80211_if_fmt_estab_plinks_51370 ieee80211_if_fmt_estab_plinks 3 51370 NULL
++radeon_kms_compat_ioctl_51371 radeon_kms_compat_ioctl 2 51371 NULL
++ieee80211_wx_set_gen_ie_51399 ieee80211_wx_set_gen_ie 3 51399 NULL
++ceph_sync_read_51410 ceph_sync_read 3 51410 NULL
++blk_register_region_51424 blk_register_region 1-2 51424 NULL
++mwifiex_rdeeprom_read_51429 mwifiex_rdeeprom_read 3 51429 NULL
++econet_sendmsg_51430 econet_sendmsg 4 51430 NULL
++ieee80211_if_read_dot11MeshHWMPRootMode_51441 ieee80211_if_read_dot11MeshHWMPRootMode 3 51441 NULL
++print_devstats_dot11ACKFailureCount_51443 print_devstats_dot11ACKFailureCount 3 51443 NULL
++____alloc_ei_netdev_51475 ____alloc_ei_netdev 1 51475 NULL
++xfs_buf_get_uncached_51477 xfs_buf_get_uncached 2 51477 NULL
++acpi_pre_map_51532 acpi_pre_map 1-2 51532 NULL
++__alloc_eip_netdev_51549 __alloc_eip_netdev 1 51549 NULL
++ixgb_get_eeprom_len_51586 ixgb_get_eeprom_len 0 51586 NULL
++raw_ioctl_51607 raw_ioctl 3 51607 NULL
++table_size_to_number_of_entries_51613 table_size_to_number_of_entries 0-1 51613 NULL
++dns_resolve_server_name_to_ip_51632 dns_resolve_server_name_to_ip 0 51632 NULL
++sctp_auth_create_key_51641 sctp_auth_create_key 1 51641 NULL
++iscsi_create_session_51647 iscsi_create_session 3 51647 NULL
++au_fidir_realloc_51650 au_fidir_realloc 2 51650 NULL
++get_new_cssid_51665 get_new_cssid 2 51665 NULL
++ps_upsd_utilization_read_51669 ps_upsd_utilization_read 3 51669 NULL
++sctp_setsockopt_associnfo_51684 sctp_setsockopt_associnfo 3 51684 NULL
++sfi_sysfs_install_table_51688 sfi_sysfs_install_table 1 51688 NULL
++sel_write_access_51704 sel_write_access 3 51704 NULL
++drm_compat_ioctl_51717 drm_compat_ioctl 2 51717 NULL
++sg_read_oxfer_51724 sg_read_oxfer 3 51724 NULL
++msg_set_51725 msg_set 3 51725 NULL
++pwc_video_read_51735 pwc_video_read 3 51735 NULL
++hid_parse_report_51737 hid_parse_report 3 51737 NULL
++get_user_pages_fast_51751 get_user_pages_fast 0 51751 NULL
++ifx_spi_insert_flip_string_51752 ifx_spi_insert_flip_string 3 51752 NULL
++if_write_51756 if_write 3 51756 NULL
++ioremap_prot_51764 ioremap_prot 1-2 51764 NULL
++iio_buffer_add_channel_sysfs_51766 iio_buffer_add_channel_sysfs 0 51766 NULL
++l2cap_create_iframe_pdu_51801 l2cap_create_iframe_pdu 3 51801 NULL
++qib_alloc_devdata_51819 qib_alloc_devdata 2 51819 NULL
++buffer_from_user_51826 buffer_from_user 3 51826 NULL
++type_attribute_bounds_av_51837 type_attribute_bounds_av 3 51837 NULL
++ioread32_51847 ioread32 0 51847 NULL nohasharray
++read_file_tgt_tx_stats_51847 read_file_tgt_tx_stats 3 51847 &ioread32_51847
++do_readv_writev_51849 do_readv_writev 4 51849 NULL
++pointer_size_read_51863 pointer_size_read 3 51863 NULL
++mlx4_alloc_db_from_pgdir_51865 mlx4_alloc_db_from_pgdir 3 51865 NULL
++get_indirect_ea_51869 get_indirect_ea 4 51869 NULL
++user_read_51881 user_read 3 51881 NULL
++dbAdjCtl_51888 dbAdjCtl 0 51888 NULL
++virt_to_phys_51896 virt_to_phys 0 51896 NULL
++dbg_status_buf_51930 dbg_status_buf 2 51930 NULL
++xfrm_alg_len_51940 xfrm_alg_len 0 51940 NULL
++scsi_get_vpd_page_51951 scsi_get_vpd_page 4 51951 NULL
++snd_mask_min_51969 snd_mask_min 0 51969 NULL
++twl6030_init_irq_51979 twl6030_init_irq 2 51979 NULL
++ath6kl_sdio_alloc_prep_scat_req_51986 ath6kl_sdio_alloc_prep_scat_req 2 51986 NULL
++skb_copy_datagram_from_iovec_52014 skb_copy_datagram_from_iovec 4-2-5 52014 NULL
++vxge_rx_alloc_52024 vxge_rx_alloc 3 52024 NULL
++override_release_52032 override_release 2 52032 NULL
++end_port_52042 end_port 0 52042 NULL
++dma_rx_errors_read_52045 dma_rx_errors_read 3 52045 NULL
++msnd_fifo_write_52052 msnd_fifo_write 0-3 52052 NULL
++dvb_ringbuffer_avail_52057 dvb_ringbuffer_avail 0 52057 NULL
++nsm_get_handle_52089 nsm_get_handle 4 52089 NULL
++o2net_debug_read_52105 o2net_debug_read 3 52105 NULL
++retry_count_read_52129 retry_count_read 3 52129 NULL
++hysdn_conf_write_52145 hysdn_conf_write 3 52145 NULL nohasharray
++ext2_alloc_blocks_52145 ext2_alloc_blocks 2 52145 &hysdn_conf_write_52145
++ieee80211_if_read_dot11MeshRetryTimeout_52168 ieee80211_if_read_dot11MeshRetryTimeout 3 52168 NULL
++mga_compat_ioctl_52170 mga_compat_ioctl 2 52170 NULL
++proc_pid_readlink_52186 proc_pid_readlink 3 52186 NULL
++do_dmabuf_dirty_ldu_52241 do_dmabuf_dirty_ldu 6 52241 NULL
++shrink_slab_52261 shrink_slab 2-3 52261 NULL
++sisusbcon_do_font_op_52271 sisusbcon_do_font_op 9 52271 NULL
++smk_write_load_list_52280 smk_write_load_list 3 52280 NULL
++mpol_to_str_52293 mpol_to_str 2 52293 NULL
++atomic64_read_52300 atomic64_read 0 52300 NULL
++hwflags_read_52318 hwflags_read 3 52318 NULL
++ntfs_rl_split_52328 ntfs_rl_split 2-4 52328 NULL
++test_unaligned_bulk_52333 test_unaligned_bulk 3 52333 NULL
++iwl3945_ucode_rx_stats_read_52340 iwl3945_ucode_rx_stats_read 3 52340 NULL
++bytes_to_frames_52362 bytes_to_frames 0-2 52362 NULL
++copy_entries_to_user_52367 copy_entries_to_user 1 52367 NULL
++iwl_dump_fh_52371 iwl_dump_fh 0 52371 NULL
++isdn_writebuf_stub_52383 isdn_writebuf_stub 4 52383 NULL
++jfs_setxattr_52389 jfs_setxattr 4 52389 NULL
++aer_inject_write_52399 aer_inject_write 3 52399 NULL
++aac_rx_ioremap_52410 aac_rx_ioremap 2 52410 NULL
++cgroup_file_write_52417 cgroup_file_write 3 52417 NULL
++line6_midibuf_init_52425 line6_midibuf_init 2 52425 NULL
++ieee80211_if_fmt_num_sta_ps_52438 ieee80211_if_fmt_num_sta_ps 3 52438 NULL
++nl80211_send_mgmt_tx_status_52445 nl80211_send_mgmt_tx_status 5 52445 NULL
++ieee80211_alloc_txb_52477 ieee80211_alloc_txb 1 52477 NULL
++ocfs2_extend_no_holes_52483 ocfs2_extend_no_holes 3-4 52483 NULL
++skb_cow_head_52495 skb_cow_head 2 52495 NULL
++int_tasklet_entry_52500 int_tasklet_entry 3 52500 NULL
++pm_qos_power_write_52513 pm_qos_power_write 3 52513 NULL
++dccpprobe_read_52549 dccpprobe_read 3 52549 NULL
++ocfs2_make_right_split_rec_52562 ocfs2_make_right_split_rec 3 52562 NULL
++emit_code_52583 emit_code 0-3 52583 NULL
++xfs_file_buffered_aio_write_52609 xfs_file_buffered_aio_write 4 52609 NULL
++iwl_legacy_dbgfs_channels_read_52619 iwl_legacy_dbgfs_channels_read 3 52619 NULL
++cx25840_ir_rx_read_52724 cx25840_ir_rx_read 3 52724 NULL
++blkcipher_next_slow_52733 blkcipher_next_slow 3-4 52733 NULL
++relay_alloc_page_array_52735 relay_alloc_page_array 1 52735 NULL
++__do_cache_alloc_52738 __do_cache_alloc 0 52738 NULL
++carl9170_debugfs_vif_dump_read_52755 carl9170_debugfs_vif_dump_read 3 52755 NULL
++bl_mark_sectors_init_52831 bl_mark_sectors_init 2-3 52831 NULL
++pwr_rcvd_beacons_read_52836 pwr_rcvd_beacons_read 3 52836 NULL
++ext2_xattr_set_acl_52857 ext2_xattr_set_acl 4 52857 NULL
++mon_bin_get_event_52863 mon_bin_get_event 4 52863 NULL
++pvr2_ctrl_value_to_sym_internal_52881 pvr2_ctrl_value_to_sym_internal 5 52881 NULL
++cache_read_procfs_52882 cache_read_procfs 3 52882 NULL
++__iio_device_attr_init_52936 __iio_device_attr_init 0 52936 NULL
++ip_nat_sdp_port_52938 ip_nat_sdp_port 6 52938 NULL
++__nodes_remap_52951 __nodes_remap 5 52951 NULL
++store_disp_52952 store_disp 4 52952 NULL
++send_packet_52960 send_packet 4 52960 NULL
++ieee80211_if_fmt_fwded_mcast_52961 ieee80211_if_fmt_fwded_mcast 3 52961 NULL
++compat_sock_ioctl_52964 compat_sock_ioctl 3 52964 NULL
++num_node_state_52989 num_node_state 0 52989 NULL
++bio_cur_bytes_53037 bio_cur_bytes 0 53037 NULL
++cfi_read_query_53066 cfi_read_query 0 53066 NULL
++mwifiex_debug_read_53074 mwifiex_debug_read 3 53074 NULL
++security_transition_sid_user_53075 security_transition_sid_user 3 53075 NULL
++qib_resize_cq_53090 qib_resize_cq 2 53090 NULL
++line6_dumpreq_initbuf_53123 line6_dumpreq_initbuf 3 53123 NULL
++clear_capture_buf_53192 clear_capture_buf 2 53192 NULL
++mtdoops_erase_block_53206 mtdoops_erase_block 2 53206 NULL
++btrfs_file_extent_num_bytes_53269 btrfs_file_extent_num_bytes 0 53269 NULL
++pn544_i2c_read_53270 pn544_i2c_read 0 53270 NULL
++lirc_buffer_init_53282 lirc_buffer_init 3-2 53282 NULL
++gsm_control_reply_53333 gsm_control_reply 4 53333 NULL
++get_random_bytes_arch_53370 get_random_bytes_arch 2 53370 NULL
++roccat_common_receive_53407 roccat_common_receive 4 53407 NULL
++isr_cmd_cmplt_read_53439 isr_cmd_cmplt_read 3 53439 NULL
++mwifiex_info_read_53447 mwifiex_info_read 3 53447 NULL
++apei_exec_run_optional_53452 apei_exec_run_optional 0 53452 NULL
++acpi_tb_parse_root_table_53455 acpi_tb_parse_root_table 1 53455 NULL
++n2_run_53459 n2_run 3 53459 NULL
++rds_tcp_data_recv_53476 rds_tcp_data_recv 3 53476 NULL
++iowarrior_read_53483 iowarrior_read 3 53483 NULL
++osd_req_write_kern_53486 osd_req_write_kern 5 53486 NULL
++do_verify_xattr_datum_53499 do_verify_xattr_datum 0 53499 NULL
++snd_pcm_format_physical_width_53505 snd_pcm_format_physical_width 0 53505 NULL
++dbAllocNext_53506 dbAllocNext 0 53506 NULL
++ocfs2_xattr_set_acl_53508 ocfs2_xattr_set_acl 4 53508 NULL
++check_acl_53512 check_acl 0 53512 NULL
++set_registers_53582 set_registers 3 53582 NULL
++obj_to_index_53614 obj_to_index 0 53614 NULL
++___alloc_bootmem_nopanic_53626 ___alloc_bootmem_nopanic 1 53626 NULL
++xd_write_multiple_pages_53633 xd_write_multiple_pages 6-5 53633 NULL
++ccid_getsockopt_builtin_ccids_53634 ccid_getsockopt_builtin_ccids 2 53634 NULL
++uapsd_max_sp_len_read_53651 uapsd_max_sp_len_read 3 53651 NULL
++nr_sendmsg_53656 nr_sendmsg 4 53656 NULL
++orig_hash_add_if_53676 orig_hash_add_if 2 53676 NULL nohasharray
++_preload_range_53676 _preload_range 2-3 53676 &orig_hash_add_if_53676
++fuse_fill_write_pages_53682 fuse_fill_write_pages 4 53682 NULL
++bdev_logical_block_size_53690 bdev_logical_block_size 0 53690 NULL
++find_overflow_devnum_53711 find_overflow_devnum 0 53711 NULL
++bio_integrity_split_53714 bio_integrity_split 3 53714 NULL
++__ocfs2_resv_find_window_53721 __ocfs2_resv_find_window 3 53721 NULL
++wdm_write_53735 wdm_write 3 53735 NULL
++ext3_try_to_allocate_with_rsv_53737 ext3_try_to_allocate_with_rsv 5-3 53737 NULL
++lpfc_idiag_queacc_read_qe_53755 lpfc_idiag_queacc_read_qe 0-2 53755 NULL nohasharray
++amdtp_out_stream_get_max_payload_53755 amdtp_out_stream_get_max_payload 0 53755 &lpfc_idiag_queacc_read_qe_53755
++ext2_acl_count_53773 ext2_acl_count 0-1 53773 NULL
++__kfifo_dma_in_prepare_r_53792 __kfifo_dma_in_prepare_r 4-5 53792 NULL
++regmap_raw_write_53803 regmap_raw_write 4 53803 NULL
++lpfc_idiag_ctlacc_read_reg_53809 lpfc_idiag_ctlacc_read_reg 0-3 53809 NULL
++nls_nullsize_53815 nls_nullsize 0 53815 NULL
++ieee80211_if_fmt_dropped_frames_congestion_53883 ieee80211_if_fmt_dropped_frames_congestion 3 53883 NULL
++ocfs2_rm_xattr_cluster_53900 ocfs2_rm_xattr_cluster 5-4-3 53900 NULL
++proc_file_read_53905 proc_file_read 3 53905 NULL
++ocfs2_make_clusters_writable_53938 ocfs2_make_clusters_writable 4 53938 NULL
++mthca_setup_cmd_doorbells_53954 mthca_setup_cmd_doorbells 2 53954 NULL
++mlx4_num_eq_uar_53965 mlx4_num_eq_uar 0 53965 NULL
++idetape_chrdev_write_53976 idetape_chrdev_write 3 53976 NULL
++__ocfs2_xattr_set_value_outside_53981 __ocfs2_xattr_set_value_outside 5 53981 NULL
++snd_pcm_lib_write_transfer_54018 snd_pcm_lib_write_transfer 4-2-5 54018 NULL
++ipxrtr_route_packet_54036 ipxrtr_route_packet 4 54036 NULL
++nl80211_send_disconnected_54056 nl80211_send_disconnected 5 54056 NULL
++_malloc_54077 _malloc 1 54077 NULL
++bitmap_bitremap_54096 bitmap_bitremap 4 54096 NULL
++altera_set_ir_pre_54103 altera_set_ir_pre 2 54103 NULL
++create_xattr_54106 create_xattr 5 54106 NULL
++strn_len_54122 strn_len 0 54122 NULL
++store_sys_acpi_54129 store_sys_acpi 4 54129 NULL
++isr_host_acknowledges_read_54136 isr_host_acknowledges_read 3 54136 NULL
++c4iw_pblpool_alloc_54148 c4iw_pblpool_alloc 2 54148 NULL
++i2400m_zrealloc_2x_54166 i2400m_zrealloc_2x 3 54166 NULL nohasharray
++memcpy_toiovec_54166 memcpy_toiovec 3 54166 &i2400m_zrealloc_2x_54166
++acpi_os_read_memory_54186 acpi_os_read_memory 1-3 54186 NULL
++__register_chrdev_54223 __register_chrdev 2-3 54223 NULL
++_format_mac_addr_54229 _format_mac_addr 2-0 54229 NULL
++pi_read_regr_54231 pi_read_regr 0 54231 NULL
++xfs_dir2_sf_addname_hard_54254 xfs_dir2_sf_addname_hard 3 54254 NULL
++ceph_msgpool_get_54258 ceph_msgpool_get 2 54258 NULL
++wusb_prf_54261 wusb_prf 7 54261 NULL nohasharray
++audio_write_54261 audio_write 4 54261 &wusb_prf_54261
++mwifiex_getlog_read_54269 mwifiex_getlog_read 3 54269 NULL
++ubi_calc_data_len_54279 ubi_calc_data_len 0-3 54279 NULL
++altera_set_dr_post_54291 altera_set_dr_post 2 54291 NULL
++dlm_alloc_pagevec_54296 dlm_alloc_pagevec 1 54296 NULL
++sprintf_54306 sprintf 0 54306 NULL
++br_fdb_fillbuf_54339 br_fdb_fillbuf 0 54339 NULL
++__alloc_dev_table_54343 __alloc_dev_table 2 54343 NULL
++_osd_realloc_seg_54352 _osd_realloc_seg 3 54352 NULL nohasharray
++__get_free_pages_54352 __get_free_pages 0 54352 &_osd_realloc_seg_54352
++tcf_hash_create_54360 tcf_hash_create 4 54360 NULL
++read_file_credit_dist_stats_54367 read_file_credit_dist_stats 3 54367 NULL
++vfs_readlink_54368 vfs_readlink 3 54368 NULL
++do_dccp_setsockopt_54377 do_dccp_setsockopt 5 54377 NULL
++ah_alloc_tmp_54378 ah_alloc_tmp 3-2 54378 NULL
++gart_unmap_page_54379 gart_unmap_page 2-3 54379 NULL
++snd_pcm_oss_read2_54387 snd_pcm_oss_read2 0-3 54387 NULL
++i386_mmap_check_54388 i386_mmap_check 0 54388 NULL
++iwl_dbgfs_power_save_status_read_54392 iwl_dbgfs_power_save_status_read 3 54392 NULL
++simple_strtoull_54493 simple_strtoull 0 54493 NULL
++cifs_idmap_key_instantiate_54503 cifs_idmap_key_instantiate 3 54503 NULL
++l2cap_create_basic_pdu_54508 l2cap_create_basic_pdu 3 54508 NULL
++btrfs_ordered_sum_size_54509 btrfs_ordered_sum_size 0-2 54509 NULL
++cgroup_write_X64_54514 cgroup_write_X64 5 54514 NULL
++rfc4106_set_key_54519 rfc4106_set_key 3 54519 NULL
++viacam_read_54526 viacam_read 3 54526 NULL
++unix_dgram_connect_54535 unix_dgram_connect 3 54535 NULL
++setsockopt_54539 setsockopt 5 54539 NULL
++nfsd_vfs_write_54577 nfsd_vfs_write 6 54577 NULL
++fw_iso_buffer_init_54582 fw_iso_buffer_init 3 54582 NULL
++dns_resolver_read_54658 dns_resolver_read 3 54658 NULL
++bio_kmalloc_54672 bio_kmalloc 2 54672 NULL
++evm_read_key_54674 evm_read_key 3 54674 NULL
++resource_string_54699 resource_string 0 54699 NULL
++addtgt_54703 addtgt 3 54703 NULL
++rfkill_fop_read_54711 rfkill_fop_read 3 54711 NULL
++_add_sg_continuation_descriptor_54721 _add_sg_continuation_descriptor 3 54721 NULL
++ocfs2_control_write_54737 ocfs2_control_write 3 54737 NULL
++kzalloc_54740 kzalloc 1 54740 NULL
++drm_mode_crtc_set_gamma_size_54742 drm_mode_crtc_set_gamma_size 2 54742 NULL
++wep_iv_read_54744 wep_iv_read 3 54744 NULL
++qla4_8xxx_pci_set_window_54766 qla4_8xxx_pci_set_window 0-2 54766 NULL
++flexcop_device_kmalloc_54793 flexcop_device_kmalloc 1 54793 NULL
++domain_init_54797 domain_init 2 54797 NULL
++ext3_find_goal_54801 ext3_find_goal 0 54801 NULL
++avc_has_perm_flags_54802 avc_has_perm_flags 3 54802 NULL
++nfsd_write_54809 nfsd_write 6 54809 NULL
++aes_decrypt_fail_read_54815 aes_decrypt_fail_read 3 54815 NULL nohasharray
++crypto_tfm_ctx_alignment_54815 crypto_tfm_ctx_alignment 0 54815 &aes_decrypt_fail_read_54815
++generic_perform_write_54832 generic_perform_write 3 54832 NULL
++write_rio_54837 write_rio 3 54837 NULL
++ext3_acl_from_disk_54839 ext3_acl_from_disk 2 54839 NULL
++edac_mc_alloc_54846 edac_mc_alloc 1 54846 NULL
++ufx_ops_write_54848 ufx_ops_write 3 54848 NULL
++printer_read_54851 printer_read 3 54851 NULL
++alloc_ep_req_54860 alloc_ep_req 2 54860 NULL
++broadsheet_spiflash_rewrite_sector_54864 broadsheet_spiflash_rewrite_sector 2 54864 NULL
++prism_build_supp_rates_54865 prism_build_supp_rates 0 54865 NULL
++tcf_csum_ipv6_tcp_54877 tcf_csum_ipv6_tcp 4 54877 NULL
++iscsi_pool_init_54913 iscsi_pool_init 2-4 54913 NULL
++btrfs_stack_chunk_num_stripes_54923 btrfs_stack_chunk_num_stripes 0 54923 NULL
++mxms_structlen_54939 mxms_structlen 0 54939 NULL
++add_port_54941 add_port 2 54941 NULL
++c4_add_card_54968 c4_add_card 3 54968 NULL
++__proc_file_read_54978 __proc_file_read 3 54978 NULL
++ext3_xattr_get_54989 ext3_xattr_get 0 54989 NULL
++cx231xx_v4l2_read_55014 cx231xx_v4l2_read 3 55014 NULL
++__netdev_alloc_skb_ip_align_55067 __netdev_alloc_skb_ip_align 2 55067 NULL
++apei_exec_run_55075 apei_exec_run 0 55075 NULL
++rxpipe_beacon_buffer_thres_host_int_trig_rx_data_read_55106 rxpipe_beacon_buffer_thres_host_int_trig_rx_data_read 3 55106 NULL
++kmalloc_large_55111 kmalloc_large 0 55111 NULL
++crypto_ahash_setkey_55134 crypto_ahash_setkey 3 55134 NULL
++ocfs2_prepare_refcount_change_for_del_55137 ocfs2_prepare_refcount_change_for_del 3 55137 NULL nohasharray
++filldir_55137 filldir 3 55137 &ocfs2_prepare_refcount_change_for_del_55137
++ocfs2_truncate_file_55148 ocfs2_truncate_file 3 55148 NULL
++sel_write_relabel_55195 sel_write_relabel 3 55195 NULL
++sched_feat_write_55202 sched_feat_write 3 55202 NULL
++ht40allow_map_read_55209 ht40allow_map_read 3 55209 NULL
++__kfifo_dma_out_prepare_r_55211 __kfifo_dma_out_prepare_r 4-5 55211 NULL
++do_raw_setsockopt_55215 do_raw_setsockopt 5 55215 NULL
++dbAllocDmap_55227 dbAllocDmap 0 55227 NULL
++tipc_port_reject_sections_55229 tipc_port_reject_sections 5 55229 NULL
++get_nr_threads_55242 get_nr_threads 0 55242 NULL
++memcpy_fromiovec_55247 memcpy_fromiovec 3 55247 NULL
++ptrace_request_55288 ptrace_request 3 55288 NULL
++rx_streaming_interval_read_55291 rx_streaming_interval_read 3 55291 NULL
++gsm_control_modem_55303 gsm_control_modem 3 55303 NULL
++__get_vm_area_node_55305 __get_vm_area_node 1 55305 NULL
++vme_user_read_55338 vme_user_read 3 55338 NULL
++sctp_datamsg_from_user_55342 sctp_datamsg_from_user 4 55342 NULL nohasharray
++__wa_xfer_setup_sizes_55342 __wa_xfer_setup_sizes 0 55342 &sctp_datamsg_from_user_55342
++acpi_system_read_event_55362 acpi_system_read_event 3 55362 NULL
++iwl_dbgfs_plcp_delta_read_55407 iwl_dbgfs_plcp_delta_read 3 55407 NULL
++alloc_skb_55439 alloc_skb 1 55439 NULL
++security_dump_masked_av_55447 security_dump_masked_av 3 55447 NULL
++__vxge_hw_channel_allocate_55462 __vxge_hw_channel_allocate 3 55462 NULL
++cx23888_ir_rx_read_55473 cx23888_ir_rx_read 3 55473 NULL
++snd_pcm_lib_write_55483 snd_pcm_lib_write 0-3 55483 NULL
++i2o_pool_alloc_55485 i2o_pool_alloc 4 55485 NULL
++ocfs2_rec_clusters_55501 ocfs2_rec_clusters 0 55501 NULL
++ext4_flex_bg_size_55502 ext4_flex_bg_size 0 55502 NULL
++cfpkt_pad_trail_55511 cfpkt_pad_trail 2 55511 NULL
++ea_get_55522 ea_get 0 55522 NULL
++set_msr_interception_55538 set_msr_interception 2 55538 NULL
++add_partition_55588 add_partition 2 55588 NULL
++macvtap_put_user_55609 macvtap_put_user 4 55609 NULL
++selinux_setprocattr_55611 selinux_setprocattr 4 55611 NULL
++reiserfs_xattr_get_55628 reiserfs_xattr_get 0 55628 NULL nohasharray
++pktgen_if_write_55628 pktgen_if_write 3 55628 &reiserfs_xattr_get_55628
++dvb_dmxdev_set_buffer_size_55643 dvb_dmxdev_set_buffer_size 2 55643 NULL
++mlx4_buddy_alloc_55647 mlx4_buddy_alloc 2 55647 NULL
++xfs_bmbt_maxrecs_55649 xfs_bmbt_maxrecs 0-2 55649 NULL
++ib_umad_compat_ioctl_55650 ib_umad_compat_ioctl 3 55650 NULL
++read_oldmem_55658 read_oldmem 3 55658 NULL
++lpfc_idiag_queinfo_read_55662 lpfc_idiag_queinfo_read 3 55662 NULL
++get_info_55681 get_info 3 55681 NULL
++pm8001_store_update_fw_55716 pm8001_store_update_fw 4 55716 NULL
++mtdswap_init_55719 mtdswap_init 2 55719 NULL
++__iio_allocate_kfifo_55738 __iio_allocate_kfifo 2-3 55738 NULL
++strlen_55778 strlen 0 55778 NULL
++req_bio_endio_55786 req_bio_endio 3 55786 NULL
++uwb_rc_neh_grok_event_55799 uwb_rc_neh_grok_event 3 55799 NULL
++iwl_legacy_dbgfs_sensitivity_read_55816 iwl_legacy_dbgfs_sensitivity_read 3 55816 NULL
++sb16_copy_from_user_55836 sb16_copy_from_user 10-6-7 55836 NULL
++xfs_da_buf_make_55845 xfs_da_buf_make 1 55845 NULL
++ip_hdrlen_55849 ip_hdrlen 0 55849 NULL
++hcd_alloc_coherent_55862 hcd_alloc_coherent 5 55862 NULL
++shmem_setxattr_55867 shmem_setxattr 4 55867 NULL
++pm_qos_power_read_55891 pm_qos_power_read 3 55891 NULL
++snd_pcm_hw_param_value_min_55917 snd_pcm_hw_param_value_min 0 55917 NULL
++sel_read_policy_55947 sel_read_policy 3 55947 NULL
++handle_response_55951 handle_response 5 55951 NULL
++simple_read_from_buffer_55957 simple_read_from_buffer 2-5 55957 NULL
++ssb_bus_pcmciabus_register_56020 ssb_bus_pcmciabus_register 3 56020 NULL
++dccp_sendmsg_56058 dccp_sendmsg 4 56058 NULL
++pscsi_get_bio_56103 pscsi_get_bio 1 56103 NULL
++kmem_zalloc_large_56128 kmem_zalloc_large 1 56128 NULL
++sel_read_handle_status_56139 sel_read_handle_status 3 56139 NULL
++ath6kl_wmi_bssinfo_event_rx_56146 ath6kl_wmi_bssinfo_event_rx 3 56146 NULL
++rawv6_setsockopt_56165 rawv6_setsockopt 5 56165 NULL
++create_irq_nr_56180 create_irq_nr 1 56180 NULL
++skb_headroom_56200 skb_headroom 0 56200 NULL
++usb_dump_iad_descriptor_56204 usb_dump_iad_descriptor 0 56204 NULL
++delay_status_56215 delay_status 4 56215 NULL
++ncp_read_bounce_size_56221 ncp_read_bounce_size 0-1 56221 NULL
++ocfs2_find_xe_in_bucket_56224 ocfs2_find_xe_in_bucket 0 56224 NULL
++cp210x_get_config_56229 cp210x_get_config 4 56229 NULL
++do_ipt_set_ctl_56238 do_ipt_set_ctl 4 56238 NULL
++fd_copyin_56247 fd_copyin 3 56247 NULL
++dvb_aplay_56296 dvb_aplay 3 56296 NULL
++btmrvl_hscfgcmd_read_56303 btmrvl_hscfgcmd_read 3 56303 NULL
++compat_cdrom_read_audio_56304 compat_cdrom_read_audio 4 56304 NULL
++journal_init_revoke_table_56331 journal_init_revoke_table 1 56331 NULL
++snd_rawmidi_read_56337 snd_rawmidi_read 3 56337 NULL
++sixpack_compat_ioctl_56346 sixpack_compat_ioctl 4 56346 NULL
++vxge_os_dma_malloc_async_56348 vxge_os_dma_malloc_async 3 56348 NULL
++iov_iter_copy_from_user_atomic_56368 iov_iter_copy_from_user_atomic 4 56368 NULL
++dev_read_56369 dev_read 3 56369 NULL
++ocfs2_control_read_56405 ocfs2_control_read 3 56405 NULL
++__get_vm_area_caller_56416 __get_vm_area_caller 1 56416 NULL nohasharray
++acpi_os_write_memory_56416 acpi_os_write_memory 1-3 56416 &__get_vm_area_caller_56416
++store_msg_56417 store_msg 3 56417 NULL
++pppol2tp_sendmsg_56420 pppol2tp_sendmsg 4 56420 NULL
++fl_create_56435 fl_create 5 56435 NULL
++gnttab_map_56439 gnttab_map 2 56439 NULL
++cx231xx_init_isoc_56453 cx231xx_init_isoc 3-2 56453 NULL
++osd_req_list_partition_objects_56464 osd_req_list_partition_objects 5 56464 NULL
++calc_linear_pos_56472 calc_linear_pos 0-3 56472 NULL
++crypto_shash_alignmask_56486 crypto_shash_alignmask 0 56486 NULL
++cfg80211_connect_result_56515 cfg80211_connect_result 4-6 56515 NULL
++iwl_legacy_dbgfs_rx_queue_read_56533 iwl_legacy_dbgfs_rx_queue_read 3 56533 NULL
++ip_options_get_56538 ip_options_get 4 56538 NULL
++ocfs2_change_extent_flag_56549 ocfs2_change_extent_flag 5 56549 NULL
++alloc_apertures_56561 alloc_apertures 1 56561 NULL
++rs_sta_dbgfs_stats_table_read_56573 rs_sta_dbgfs_stats_table_read 3 56573 NULL
++portcntrs_2_read_56586 portcntrs_2_read 3 56586 NULL
++event_filter_write_56609 event_filter_write 3 56609 NULL
++gather_array_56641 gather_array 3 56641 NULL
++dlm_dir_lookup_56662 dlm_dir_lookup 4 56662 NULL
++snd_gus_dram_read_56686 snd_gus_dram_read 4 56686 NULL
++dvb_ringbuffer_read_user_56702 dvb_ringbuffer_read_user 3 56702 NULL
++sta_flags_read_56710 sta_flags_read 3 56710 NULL
++ipv6_getsockopt_sticky_56711 ipv6_getsockopt_sticky 5 56711 NULL
++__wa_xfer_setup_segs_56725 __wa_xfer_setup_segs 2 56725 NULL
++pcpu_populate_chunk_56741 pcpu_populate_chunk 2-3 56741 NULL
++drm_agp_bind_pages_56748 drm_agp_bind_pages 3 56748 NULL
++mfd_add_devices_56753 mfd_add_devices 4 56753 NULL
++dbgaufs_xi_read_56759 dbgaufs_xi_read 3 56759 NULL
++alloc_iommu_56778 alloc_iommu 2-3 56778 NULL
++ntfs_rl_realloc_56831 ntfs_rl_realloc 3 56831 NULL
++snd_rawmidi_kernel_write1_56847 snd_rawmidi_kernel_write1 4 56847 NULL
++ext3_xattr_ibody_get_56880 ext3_xattr_ibody_get 0 56880 NULL
++pvr2_debugifc_print_status_56890 pvr2_debugifc_print_status 3 56890 NULL
++__kfifo_out_56927 __kfifo_out 0-3 56927 NULL
++journal_init_revoke_56933 journal_init_revoke 2 56933 NULL
++diva_get_driver_info_56967 diva_get_driver_info 0 56967 NULL
++vlsi_alloc_ring_57003 vlsi_alloc_ring 3-4 57003 NULL
++btrfs_super_csum_size_57004 btrfs_super_csum_size 0 57004 NULL
++skb_network_offset_57043 skb_network_offset 0 57043 NULL nohasharray
++ieee80211_if_fmt_state_57043 ieee80211_if_fmt_state 3 57043 &skb_network_offset_57043
++bytes_to_samples_57049 bytes_to_samples 0-2 57049 NULL
++autofs_dev_ioctl_compat_57059 autofs_dev_ioctl_compat 3 57059 NULL
+cx2341x_ctrl_new_std_57061 cx2341x_ctrl_new_std 4 57061 NULL
-+isr_tx_exch_complete_read_16103 isr_tx_exch_complete_read 3 16103 NULL
+sca3000_read_data_57064 sca3000_read_data 4 57064 NULL
+pcmcia_replace_cis_57066 pcmcia_replace_cis 3 57066 NULL
+sis190_try_rx_copy_57069 sis190_try_rx_copy 3 57069 NULL
-+dma_tx_requested_read_16110 dma_tx_requested_read 3 16110 NULL nohasharray
-+isr_hw_pm_mode_changes_read_16110 isr_hw_pm_mode_changes_read 3 16110 &dma_tx_requested_read_16110
-+do_surface_dirty_sou_7920 do_surface_dirty_sou 7 7920 NULL
-+sys_setgroups16_48882 sys_setgroups16 1 48882 NULL
-+kmem_zalloc_greedy_65268 kmem_zalloc_greedy 2-3 65268 NULL
-+system_enable_write_61396 system_enable_write 3 61396 NULL
-+f_hidg_write_7932 f_hidg_write 3 7932 NULL
-+kmalloc_parameter_65279 kmalloc_parameter 1 65279 NULL
-+iwl_dbgfs_channels_read_6784 iwl_dbgfs_channels_read 3 6784 NULL
-+mac_drv_rx_init_48898 mac_drv_rx_init 2 48898 NULL nohasharray
-+joydev_handle_JSIOCSAXMAP_48898 joydev_handle_JSIOCSAXMAP 3 48898 &mac_drv_rx_init_48898
-+compat_sys_select_16131 compat_sys_select 1 16131 NULL
-+xdi_copy_to_user_48900 xdi_copy_to_user 4 48900 NULL
-+compat_core_sys_select_65285 compat_core_sys_select 1 65285 NULL
-+fsm_init_16134 fsm_init 2 16134 NULL
-+hysdn_rx_netpkt_16136 hysdn_rx_netpkt 3 16136 NULL
++tracing_set_trace_write_57096 tracing_set_trace_write 3 57096 NULL
++crypto_compress_ctxsize_57109 crypto_compress_ctxsize 0 57109 NULL
++sysfs_write_file_57116 sysfs_write_file 3 57116 NULL
++cipso_v4_gentag_loc_57119 cipso_v4_gentag_loc 0 57119 NULL
++nl80211_send_deauth_57136 nl80211_send_deauth 4 57136 NULL nohasharray
++rds_ib_sub_signaled_57136 rds_ib_sub_signaled 2 57136 &nl80211_send_deauth_57136 nohasharray
++ima_show_htable_value_57136 ima_show_htable_value 2 57136 &rds_ib_sub_signaled_57136
++snd_sonicvibes_getdmac_57140 snd_sonicvibes_getdmac 0 57140 NULL
++stk_prepare_sio_buffers_57168 stk_prepare_sio_buffers 2 57168 NULL
++rx_hw_stuck_read_57179 rx_hw_stuck_read 3 57179 NULL
++ieee80211_if_fmt_tsf_57249 ieee80211_if_fmt_tsf 3 57249 NULL
++oprofilefs_ulong_from_user_57251 oprofilefs_ulong_from_user 3 57251 NULL
++pstore_file_read_57288 pstore_file_read 3 57288 NULL
++snd_pcm_read_57289 snd_pcm_read 3 57289 NULL
++ftdi_elan_write_57309 ftdi_elan_write 3 57309 NULL
++ocfs2_xattr_shrink_size_57328 ocfs2_xattr_shrink_size 3 57328 NULL
++check_mirror_57342 check_mirror 1-2 57342 NULL nohasharray
++usblp_read_57342 usblp_read 3 57342 &check_mirror_57342
++print_devstats_dot11RTSFailureCount_57347 print_devstats_dot11RTSFailureCount 3 57347 NULL
++read_file_blob_57406 read_file_blob 3 57406 NULL
++enclosure_register_57412 enclosure_register 3 57412 NULL
++compat_keyctl_instantiate_key_iov_57431 compat_keyctl_instantiate_key_iov 3 57431 NULL nohasharray
++alloc_ftrace_hash_57431 alloc_ftrace_hash 1 57431 &compat_keyctl_instantiate_key_iov_57431
++copy_to_user_fromio_57432 copy_to_user_fromio 3 57432 NULL
++sys_pselect6_57449 sys_pselect6 1 57449 NULL
++__roundup_pow_of_two_57461 __roundup_pow_of_two 0 57461 NULL
++crypto_tfm_alg_blocksize_57463 crypto_tfm_alg_blocksize 0 57463 NULL nohasharray
++send_midi_async_57463 send_midi_async 3 57463 &crypto_tfm_alg_blocksize_57463
++iwl4965_statistics_flag_57466 iwl4965_statistics_flag 3-0 57466 NULL nohasharray
++sisusb_clear_vram_57466 sisusb_clear_vram 3-2 57466 &iwl4965_statistics_flag_57466
++ieee80211_if_read_flags_57470 ieee80211_if_read_flags 3 57470 NULL
++ocfs2_write_cluster_57483 ocfs2_write_cluster 8-2-9 57483 NULL
++nl80211_send_mgmt_57497 nl80211_send_mgmt 6 57497 NULL
++skb_headlen_57501 skb_headlen 0 57501 NULL
++copy_in_user_57502 copy_in_user 3 57502 NULL
++ks8842_read32_57505 ks8842_read32 0 57505 NULL nohasharray
++ckhdid_printf_57505 ckhdid_printf 2 57505 &ks8842_read32_57505
++init_tag_map_57515 init_tag_map 3 57515 NULL
++inode_permission_57531 inode_permission 0 57531 NULL
++DoC_Probe_57534 DoC_Probe 1 57534 NULL
++ext4_group_first_block_no_57559 ext4_group_first_block_no 0-2 57559 NULL
++snd_pcm_playback_ioctl1_57569 snd_pcm_playback_ioctl1 0 57569 NULL
++sk_stream_alloc_skb_57622 sk_stream_alloc_skb 2 57622 NULL
++osdmap_set_max_osd_57630 osdmap_set_max_osd 2 57630 NULL nohasharray
++sisusbcon_putcs_57630 sisusbcon_putcs 3 57630 &osdmap_set_max_osd_57630
++mem_read_57631 mem_read 3 57631 NULL
++sys_mq_timedsend_57661 sys_mq_timedsend 3 57661 NULL
++r3964_write_57662 r3964_write 4 57662 NULL
++__lgwrite_57669 __lgwrite 4 57669 NULL
++i2400m_rx_stats_read_57706 i2400m_rx_stats_read 3 57706 NULL
++calgary_alloc_coherent_57714 calgary_alloc_coherent 2 57714 NULL
++aa_matching_read_57720 aa_matching_read 3 57720 NULL
++compat_sys_set_mempolicy_57742 compat_sys_set_mempolicy 3 57742 NULL
++ieee80211_if_fmt_dot11MeshHWMPpreqMinInterval_57762 ieee80211_if_fmt_dot11MeshHWMPpreqMinInterval 3 57762 NULL
++ld2_57794 ld2 0 57794 NULL
++ivtv_read_57796 ivtv_read 3 57796 NULL
++generic_ptrace_peekdata_57806 generic_ptrace_peekdata 2 57806 NULL
++usb_dump_config_57817 usb_dump_config 0 57817 NULL
++bfad_debugfs_read_regrd_57830 bfad_debugfs_read_regrd 3 57830 NULL
++copy_to_user_57835 copy_to_user 3 57835 NULL
++flash_read_57843 flash_read 3 57843 NULL
++xt_alloc_table_info_57903 xt_alloc_table_info 1 57903 NULL
++emi26_writememory_57908 emi26_writememory 4 57908 NULL
++iio_read_first_n_kfifo_57910 iio_read_first_n_kfifo 2 57910 NULL
++__snd_gf1_look16_57925 __snd_gf1_look16 0 57925 NULL
++sel_read_handle_unknown_57933 sel_read_handle_unknown 3 57933 NULL
++key_algorithm_read_57946 key_algorithm_read 3 57946 NULL
++ip_set_alloc_57953 ip_set_alloc 1 57953 NULL nohasharray
++ioat3_dca_count_dca_slots_57953 ioat3_dca_count_dca_slots 0 57953 &ip_set_alloc_57953
++i915_cache_sharing_write_57961 i915_cache_sharing_write 3 57961 NULL
++rx_reset_counter_read_58001 rx_reset_counter_read 3 58001 NULL
++regcache_rbtree_insert_to_block_58009 regcache_rbtree_insert_to_block 5 58009 NULL
++iwl_dbgfs_ucode_rx_stats_read_58023 iwl_dbgfs_ucode_rx_stats_read 3 58023 NULL
++io_playback_transfer_58030 io_playback_transfer 4 58030 NULL
++mce_async_out_58056 mce_async_out 3 58056 NULL
++ocfs2_find_leaf_58065 ocfs2_find_leaf 0 58065 NULL
++cm4040_write_58079 cm4040_write 3 58079 NULL
++socket_type_to_security_class_58118 socket_type_to_security_class 0 58118 NULL
++savemem_58129 savemem 3 58129 NULL
++ipv6_flowlabel_opt_58135 ipv6_flowlabel_opt 3 58135 NULL nohasharray
++slhc_init_58135 slhc_init 1-2 58135 &ipv6_flowlabel_opt_58135
++garmin_write_bulk_58191 garmin_write_bulk 3 58191 NULL
++asix_write_cmd_58192 asix_write_cmd 5 58192 NULL
++ieee80211_if_fmt_flags_58205 ieee80211_if_fmt_flags 3 58205 NULL
++read_file_debug_58256 read_file_debug 3 58256 NULL
++cfg80211_mgmt_tx_status_58266 cfg80211_mgmt_tx_status 4 58266 NULL
++profile_load_58267 profile_load 3 58267 NULL
++acpi_ds_build_internal_package_obj_58271 acpi_ds_build_internal_package_obj 3 58271 NULL
++iscsi_decode_text_input_58292 iscsi_decode_text_input 4 58292 NULL
++my_skb_head_push_58297 my_skb_head_push 2 58297 NULL
++ieee80211_if_read_dot11MeshTTL_58307 ieee80211_if_read_dot11MeshTTL 3 58307 NULL
++pcim_iomap_58334 pcim_iomap 3 58334 NULL
++diva_init_dma_map_58336 diva_init_dma_map 3 58336 NULL
++next_pidmap_58347 next_pidmap 2 58347 NULL
++vmalloc_to_sg_58354 vmalloc_to_sg 2 58354 NULL
++i2400m_pld_size_58415 i2400m_pld_size 0 58415 NULL
++__iio_add_chan_devattr_58451 __iio_add_chan_devattr 0 58451 NULL
++capabilities_read_58457 capabilities_read 3 58457 NULL
++lpfc_idiag_baracc_read_58466 lpfc_idiag_baracc_read 3 58466 NULL nohasharray
++compat_do_ipt_set_ctl_58466 compat_do_ipt_set_ctl 4 58466 &lpfc_idiag_baracc_read_58466
++snd_gf1_read_addr_58483 snd_gf1_read_addr 0 58483 NULL
++snd_rme96_capture_copy_58484 snd_rme96_capture_copy 5 58484 NULL
++rndis_add_response_58544 rndis_add_response 2 58544 NULL
++efx_tsoh_heap_alloc_58545 efx_tsoh_heap_alloc 2 58545 NULL
++gen_pool_alloc_58558 gen_pool_alloc 2 58558 NULL
++wep_decrypt_fail_read_58567 wep_decrypt_fail_read 3 58567 NULL
++scnprint_mac_oui_58578 scnprint_mac_oui 3-0 58578 NULL
++ea_read_inline_58589 ea_read_inline 0 58589 NULL
++xip_file_read_58592 xip_file_read 3 58592 NULL
++gdth_search_isa_58595 gdth_search_isa 1 58595 NULL
++ebt_buf_count_58607 ebt_buf_count 0 58607 NULL
++skb_copy_to_page_nocache_58624 skb_copy_to_page_nocache 6 58624 NULL
++module_alloc_update_bounds_rx_58634 module_alloc_update_bounds_rx 1 58634 NULL
++ocfs2_block_to_cluster_start_58653 ocfs2_block_to_cluster_start 2 58653 NULL
++uwb_bce_print_IEs_58686 uwb_bce_print_IEs 4 58686 NULL
++vmalloc_node_58700 vmalloc_node 1 58700 NULL
++csum_exist_in_range_58730 csum_exist_in_range 2 58730 NULL
++frames_to_bytes_58741 frames_to_bytes 0-2 58741 NULL
+ieee80211_if_write_tkip_mic_test_58748 ieee80211_if_write_tkip_mic_test 3 58748 NULL
-+__seq_open_private_40715 __seq_open_private 3 40715 NULL
-+tifm_alloc_adapter_10903 tifm_alloc_adapter 1 10903 NULL
++agp_allocate_memory_58761 agp_allocate_memory 2 58761 NULL
++__do_config_autodelink_58763 __do_config_autodelink 3 58763 NULL
++regmap_calc_reg_len_58795 regmap_calc_reg_len 0 58795 NULL
++raw_send_hdrinc_58803 raw_send_hdrinc 4 58803 NULL
++ep_read_58813 ep_read 3 58813 NULL
++command_write_58841 command_write 3 58841 NULL
++ocfs2_truncate_log_append_58850 ocfs2_truncate_log_append 3 58850 NULL
++iwl_dbgfs_traffic_log_read_58870 iwl_dbgfs_traffic_log_read 3 58870 NULL
++gs_alloc_req_58883 gs_alloc_req 2 58883 NULL
++cs553x_init_one_58886 cs553x_init_one 3 58886 NULL
++raw_ctl_compat_ioctl_58905 raw_ctl_compat_ioctl 3 58905 NULL
++print_devstats_dot11FCSErrorCount_58919 print_devstats_dot11FCSErrorCount 3 58919 NULL
++tun_chr_compat_ioctl_58921 tun_chr_compat_ioctl 3 58921 NULL
++crypto_aead_ivsize_58970 crypto_aead_ivsize 0 58970 NULL
++max3107_handlerx_58978 max3107_handlerx 2 58978 NULL
++ep_write_59008 ep_write 3 59008 NULL
++selinux_transaction_write_59038 selinux_transaction_write 3 59038 NULL
++crypto_aead_reqsize_59039 crypto_aead_reqsize 0 59039 NULL
++mmc_sd_num_wr_blocks_59112 mmc_sd_num_wr_blocks 0 59112 NULL
++scsi_io_completion_59122 scsi_io_completion 2 59122 NULL
++__iio_add_event_config_attrs_59136 __iio_add_event_config_attrs 0 59136 NULL
++print_devstats_dot11RTSSuccessCount_59145 print_devstats_dot11RTSSuccessCount 3 59145 NULL nohasharray
++framebuffer_alloc_59145 framebuffer_alloc 1 59145 &print_devstats_dot11RTSSuccessCount_59145
++radeon_compat_ioctl_59150 radeon_compat_ioctl 2 59150 NULL
++pvr2_hdw_report_clients_59152 pvr2_hdw_report_clients 3 59152 NULL
++setup_window_59178 setup_window 4-2-5-7 59178 NULL
++ocfs2_move_extent_59187 ocfs2_move_extent 3 59187 NULL
++xfs_iext_realloc_indirect_59211 xfs_iext_realloc_indirect 2 59211 NULL
++inftl_partscan_59216 inftl_partscan 0 59216 NULL
++skb_transport_header_59223 skb_transport_header 0 59223 NULL
++dt3155_read_59226 dt3155_read 3 59226 NULL
++tcp_try_rmem_schedule_59231 tcp_try_rmem_schedule 2 59231 NULL
++tty_prepare_flip_string_flags_59240 tty_prepare_flip_string_flags 4 59240 NULL
++solo_v4l2_read_59247 solo_v4l2_read 3 59247 NULL
++nla_len_59258 nla_len 0 59258 NULL
++btrfs_insert_dir_item_59304 btrfs_insert_dir_item 4 59304 NULL
++fd_copyout_59323 fd_copyout 3 59323 NULL
++read_9287_modal_eeprom_59327 read_9287_modal_eeprom 3 59327 NULL
++xfs_attrmulti_attr_set_59346 xfs_attrmulti_attr_set 4 59346 NULL
++xfs_dir2_sf_entsize_59366 xfs_dir2_sf_entsize 0-2 59366 NULL
++pvr2_debugifc_print_info_59380 pvr2_debugifc_print_info 3 59380 NULL
++fc_frame_alloc_fill_59394 fc_frame_alloc_fill 2 59394 NULL
++vxge_hw_ring_rxds_per_block_get_59425 vxge_hw_ring_rxds_per_block_get 0 59425 NULL
++squashfs_read_data_59440 squashfs_read_data 6 59440 NULL
++descriptor_loc_59446 descriptor_loc 3 59446 NULL
++dma_attach_59495 dma_attach 5-6 59495 NULL
++ib_copy_from_udata_59502 ib_copy_from_udata 3 59502 NULL
++rds_pin_pages_59507 rds_pin_pages 0 59507 NULL
++tunables_write_59563 tunables_write 3 59563 NULL
++memdup_user_59590 memdup_user 2 59590 NULL
++mtrr_write_59622 mtrr_write 3 59622 NULL
++ip_vs_icmp_xmit_59624 ip_vs_icmp_xmit 4 59624 NULL
++find_first_zero_bit_59636 find_first_zero_bit 0-2 59636 NULL
++ubifs_setxattr_59650 ubifs_setxattr 4 59650 NULL nohasharray
++hidraw_read_59650 hidraw_read 3 59650 &ubifs_setxattr_59650
++v9fs_xattr_set_acl_59651 v9fs_xattr_set_acl 4 59651 NULL
++alloc_dca_provider_59670 alloc_dca_provider 2 59670 NULL
++sriov_enable_59689 sriov_enable 2 59689 NULL
++ieee80211_mgmt_tx_59699 ieee80211_mgmt_tx 9 59699 NULL
++mic_calc_failure_read_59700 mic_calc_failure_read 3 59700 NULL
++prism2_info_scanresults_59729 prism2_info_scanresults 3 59729 NULL
++ieee80211_if_read_fwded_unicast_59740 ieee80211_if_read_fwded_unicast 3 59740 NULL
++qib_decode_7220_sdma_errs_59745 qib_decode_7220_sdma_errs 4 59745 NULL
++strnlen_59746 strnlen 0 59746 NULL
++ext3_acl_count_59754 ext3_acl_count 0-1 59754 NULL
++long_retry_limit_read_59766 long_retry_limit_read 3 59766 NULL
++venus_remove_59781 venus_remove 4 59781 NULL
++ipw_write_59807 ipw_write 3 59807 NULL
++rtllib_wx_set_gen_ie_59808 rtllib_wx_set_gen_ie 3 59808 NULL
++ubi_dbg_check_all_ff_59810 ubi_dbg_check_all_ff 4 59810 NULL
++scsi_init_shared_tag_map_59812 scsi_init_shared_tag_map 2 59812 NULL
++ieee80211_if_read_dot11MeshHWMPmaxPREQretries_59829 ieee80211_if_read_dot11MeshHWMPmaxPREQretries 3 59829 NULL
++gspca_dev_probe2_59833 gspca_dev_probe2 4 59833 NULL
++may_create_59843 may_create 3 59843 NULL
++tun_put_user_59849 tun_put_user 4 59849 NULL
++format_array_59854 format_array 0 59854 NULL
++pvr2_ioread_set_sync_key_59882 pvr2_ioread_set_sync_key 3 59882 NULL
++shmem_zero_setup_59885 shmem_zero_setup 0 59885 NULL
++ffs_prepare_buffer_59892 ffs_prepare_buffer 2 59892 NULL
++dapm_widget_power_read_file_59950 dapm_widget_power_read_file 3 59950 NULL
++compat_ipmi_ioctl_59956 compat_ipmi_ioctl 3 59956 NULL
++fb_getput_cmap_59971 fb_getput_cmap 3 59971 NULL
++__arch_hweight16_59975 __arch_hweight16 0 59975 NULL
++osd_req_read_kern_59990 osd_req_read_kern 5 59990 NULL
++ghash_async_setkey_60001 ghash_async_setkey 3 60001 NULL
++rawsock_sendmsg_60010 rawsock_sendmsg 4 60010 NULL
++mthca_init_cq_60011 mthca_init_cq 2 60011 NULL
++register_device_60015 register_device 2-3 60015 NULL
++osd_req_list_dev_partitions_60027 osd_req_list_dev_partitions 4 60027 NULL
++xlog_bread_offset_60030 xlog_bread_offset 3 60030 NULL
++sys_sched_getaffinity_60033 sys_sched_getaffinity 2 60033 NULL
++bio_integrity_hw_sectors_60039 bio_integrity_hw_sectors 0-2 60039 NULL
++do_ip6t_set_ctl_60040 do_ip6t_set_ctl 4 60040 NULL
++pin_2_irq_60050 pin_2_irq 0-3 60050 NULL nohasharray
++vcs_size_60050 vcs_size 0 60050 &pin_2_irq_60050
++load_module_60056 load_module 2 60056 NULL nohasharray
++gru_alloc_gts_60056 gru_alloc_gts 3-2 60056 &load_module_60056
++compat_writev_60063 compat_writev 3 60063 NULL
++c4iw_num_stags_60073 c4iw_num_stags 0 60073 NULL
++mp_register_gsi_60079 mp_register_gsi 2 60079 NULL
++rxrpc_kernel_send_data_60083 rxrpc_kernel_send_data 3 60083 NULL
++ieee80211_if_fmt_fwded_frames_60103 ieee80211_if_fmt_fwded_frames 3 60103 NULL
++ttm_bo_kmap_60118 ttm_bo_kmap 3-2 60118 NULL
++kmem_cache_alloc_trace_60152 kmem_cache_alloc_trace 0 60152 NULL
++jmb38x_ms_count_slots_60164 jmb38x_ms_count_slots 0 60164 NULL
++init_state_60165 init_state 2 60165 NULL
++sg_build_sgat_60179 sg_build_sgat 3 60179 NULL nohasharray
++jffs2_alloc_full_dirent_60179 jffs2_alloc_full_dirent 1 60179 &sg_build_sgat_60179
++svc_compat_ioctl_60194 svc_compat_ioctl 3 60194 NULL
++ib_send_cm_mra_60202 ib_send_cm_mra 4 60202 NULL nohasharray
++qib_reg_phys_mr_60202 qib_reg_phys_mr 3 60202 &ib_send_cm_mra_60202
++store_iwmct_log_level_60209 store_iwmct_log_level 4 60209 NULL
++compat_sys_fcntl64_60256 compat_sys_fcntl64 3 60256 NULL
++printer_write_60276 printer_write 3 60276 NULL
++__pskb_pull_tail_60287 __pskb_pull_tail 2 60287 NULL
++do_xip_mapping_read_60297 do_xip_mapping_read 5 60297 NULL
++getDataLength_60301 getDataLength 0 60301 NULL
++ceph_parse_server_name_60318 ceph_parse_server_name 2 60318 NULL
++__kfifo_from_user_r_60345 __kfifo_from_user_r 3-5 60345 NULL
++brcmf_alloc_wdev_60347 brcmf_alloc_wdev 1 60347 NULL
++dccp_setsockopt_60367 dccp_setsockopt 5 60367 NULL
++mthca_alloc_resize_buf_60394 mthca_alloc_resize_buf 3 60394 NULL
++ocfs2_zero_extend_60396 ocfs2_zero_extend 3 60396 NULL
++tveeprom_read_60397 tveeprom_read 3 60397 NULL
++driver_names_read_60399 driver_names_read 3 60399 NULL
++simple_alloc_urb_60420 simple_alloc_urb 3 60420 NULL
++excessive_retries_read_60425 excessive_retries_read 3 60425 NULL
++tstats_write_60432 tstats_write 3 60432 NULL nohasharray
++kmalloc_60432 kmalloc 0-1 60432 &tstats_write_60432
++tipc_buf_acquire_60437 tipc_buf_acquire 1 60437 NULL
++tcf_csum_ipv4_igmp_60446 tcf_csum_ipv4_igmp 3 60446 NULL
++crypto_shash_setkey_60483 crypto_shash_setkey 3 60483 NULL
++ath_tx_init_60515 ath_tx_init 2 60515 NULL
++v9fs_fid_readn_60544 v9fs_fid_readn 4 60544 NULL
++skb_transport_offset_60619 skb_transport_offset 0 60619 NULL
++wl1273_fm_fops_write_60621 wl1273_fm_fops_write 3 60621 NULL
++acl_alloc_stack_init_60630 acl_alloc_stack_init 1 60630 NULL
++ubifs_recover_leb_60639 ubifs_recover_leb 3 60639 NULL
++fb_get_fscreeninfo_60640 fb_get_fscreeninfo 3 60640 NULL
++if_sdio_host_to_card_60666 if_sdio_host_to_card 4 60666 NULL
++ieee80211_if_read_dot11MeshConfirmTimeout_60670 ieee80211_if_read_dot11MeshConfirmTimeout 3 60670 NULL
++init_data_container_60709 init_data_container 1 60709 NULL
++snd_ice1712_ds_read_60754 snd_ice1712_ds_read 0 60754 NULL
++sel_write_checkreqprot_60774 sel_write_checkreqprot 3 60774 NULL
++opticon_write_60775 opticon_write 4 60775 NULL
++acl_alloc_num_60778 acl_alloc_num 1-2 60778 NULL
++snd_pcm_oss_readv3_60792 snd_pcm_oss_readv3 3 60792 NULL
++mtd_compat_ioctl_60850 mtd_compat_ioctl 3 60850 NULL
++pwr_tx_with_ps_read_60851 pwr_tx_with_ps_read 3 60851 NULL
++alloc_irq_from_60868 alloc_irq_from 1 60868 NULL
++generic_writepages_60871 generic_writepages 0 60871 NULL
++mgt_set_varlen_60916 mgt_set_varlen 4 60916 NULL
++set_powered_60938 set_powered 4 60938 NULL
++pti_char_write_60960 pti_char_write 3 60960 NULL
++mwifiex_alloc_sdio_mpa_buffers_60961 mwifiex_alloc_sdio_mpa_buffers 2-3 60961 NULL
++ath6kl_lrssi_roam_read_61022 ath6kl_lrssi_roam_read 3 61022 NULL
++symtab_init_61050 symtab_init 2 61050 NULL
++fuse_send_write_61053 fuse_send_write 0 61053 NULL
++bitmap_scnlistprintf_61062 bitmap_scnlistprintf 0-4-2 61062 NULL
++ahash_align_buffer_size_61070 ahash_align_buffer_size 0-1-2 61070 NULL
++get_derived_key_61100 get_derived_key 4 61100 NULL
++alloc_chrdev_region_61112 alloc_chrdev_region 0 61112 NULL
++__probe_kernel_read_61119 __probe_kernel_read 3 61119 NULL
++proto_ports_offset_61125 proto_ports_offset 0 61125 NULL
++vmemmap_alloc_block_buf_61126 vmemmap_alloc_block_buf 1 61126 NULL
++afs_proc_cells_write_61139 afs_proc_cells_write 3 61139 NULL
++__vmalloc_61168 __vmalloc 1 61168 NULL
++event_oom_late_read_61175 event_oom_late_read 3 61175 NULL
++sys_lsetxattr_61177 sys_lsetxattr 4 61177 NULL
++arch_hibernation_header_save_61212 arch_hibernation_header_save 0 61212 NULL
++smk_read_ambient_61220 smk_read_ambient 3 61220 NULL
++ubifs_leb_write_61226 ubifs_leb_write 4-5 61226 NULL
++vortex_adbdma_getlinearpos_61283 vortex_adbdma_getlinearpos 0 61283 NULL
++sys_add_key_61288 sys_add_key 4 61288 NULL
++ext4_issue_discard_61305 ext4_issue_discard 2 61305 NULL
++xfrm_user_sec_ctx_size_61320 xfrm_user_sec_ctx_size 0 61320 NULL
++__fls_61340 __fls 0 61340 NULL nohasharray
++st5481_setup_isocpipes_61340 st5481_setup_isocpipes 6-4 61340 &__fls_61340
++sys_ptrace_61369 sys_ptrace 3 61369 NULL
++change_xattr_61390 change_xattr 5 61390 NULL
++size_entry_mwt_61400 size_entry_mwt 0 61400 NULL
++pm860x_bulk_read_61415 pm860x_bulk_read 3 61415 NULL
++dma_ops_area_alloc_61440 dma_ops_area_alloc 3-4-5 61440 NULL
++unix_stream_sendmsg_61455 unix_stream_sendmsg 4 61455 NULL
++snd_pcm_lib_writev_transfer_61483 snd_pcm_lib_writev_transfer 4-2-5 61483 NULL
++btrfs_item_size_61485 btrfs_item_size 0 61485 NULL
++choke_len_61491 choke_len 0 61491 NULL
++clone_bio_61526 clone_bio 5 61526 NULL nohasharray
++erst_errno_61526 erst_errno 0 61526 &clone_bio_61526
++ntfs_attr_lookup_61539 ntfs_attr_lookup 0 61539 NULL
++o2hb_pop_count_61553 o2hb_pop_count 2 61553 NULL
++dvb_net_ioctl_61559 dvb_net_ioctl 2 61559 NULL
++rbd_do_request_61561 rbd_do_request 6-7 61561 NULL
++ieee80211_if_read_rc_rateidx_mask_2ghz_61570 ieee80211_if_read_rc_rateidx_mask_2ghz 3 61570 NULL
++seq_open_private_61589 seq_open_private 3 61589 NULL
++__get_vm_area_61599 __get_vm_area 1 61599 NULL
++ncp_compat_ioctl_61608 ncp_compat_ioctl 3 61608 NULL
++configfs_write_file_61621 configfs_write_file 3 61621 NULL
++ieee80211_rx_bss_info_61630 ieee80211_rx_bss_info 3 61630 NULL
++i2o_parm_table_get_61635 i2o_parm_table_get 6 61635 NULL
++snd_pcm_oss_read3_61643 snd_pcm_oss_read3 0-3 61643 NULL
++resize_stripes_61650 resize_stripes 2 61650 NULL
++ttm_page_pool_free_61661 ttm_page_pool_free 2 61661 NULL
++insert_one_name_61668 insert_one_name 7 61668 NULL
++lock_loop_61681 lock_loop 1 61681 NULL
++filter_read_61692 filter_read 3 61692 NULL
++iov_length_61716 iov_length 0 61716 NULL
++fragmentation_threshold_read_61718 fragmentation_threshold_read 3 61718 NULL
++read_file_interrupt_61742 read_file_interrupt 3 61742 NULL nohasharray
++read_file_regval_61742 read_file_regval 3 61742 &read_file_interrupt_61742
++bfad_debugfs_write_regwr_61841 bfad_debugfs_write_regwr 3 61841 NULL
++evdev_compute_buffer_size_61863 evdev_compute_buffer_size 0 61863 NULL
++get_fw_name_61874 get_fw_name 3 61874 NULL
++ax25_addr_size_61899 ax25_addr_size 0 61899 NULL
++clear_refs_write_61904 clear_refs_write 3 61904 NULL
++au0828_init_isoc_61917 au0828_init_isoc 3-2 61917 NULL
++sctp_sendmsg_61919 sctp_sendmsg 4 61919 NULL
++send_bulk_static_data_61932 send_bulk_static_data 3 61932 NULL
++squashfs_read_id_index_table_61961 squashfs_read_id_index_table 4 61961 NULL
++mlx4_alloc_mtt_range_61966 mlx4_alloc_mtt_range 2 61966 NULL
++ocfs2_quota_write_61972 ocfs2_quota_write 5-4 61972 NULL
++cow_file_range_61979 cow_file_range 3 61979 NULL
++virtnet_send_command_61993 virtnet_send_command 5-6 61993 NULL
++xt_compat_match_offset_62011 xt_compat_match_offset 0 62011 NULL
++jffs2_do_unlink_62020 jffs2_do_unlink 4 62020 NULL
++pmcraid_build_passthrough_ioadls_62034 pmcraid_build_passthrough_ioadls 2 62034 NULL
++proc_fdinfo_read_62043 proc_fdinfo_read 3 62043 NULL
++sctp_user_addto_chunk_62047 sctp_user_addto_chunk 2-3 62047 NULL
++do_pselect_62061 do_pselect 1 62061 NULL
++pcpu_alloc_bootmem_62074 pcpu_alloc_bootmem 2 62074 NULL
++get_domain_for_dev_62099 get_domain_for_dev 2 62099 NULL
++jffs2_security_setxattr_62107 jffs2_security_setxattr 4 62107 NULL
++llc_ui_header_len_62131 llc_ui_header_len 0 62131 NULL
++qib_diag_write_62133 qib_diag_write 3 62133 NULL
++ql_status_62135 ql_status 5 62135 NULL
++video_usercopy_62151 video_usercopy 2 62151 NULL
++prism54_wpa_bss_ie_get_62173 prism54_wpa_bss_ie_get 0 62173 NULL
++alloc_upcall_62186 alloc_upcall 2 62186 NULL
++btrfs_xattr_acl_set_62203 btrfs_xattr_acl_set 4 62203 NULL
++sock_kmalloc_62205 sock_kmalloc 2 62205 NULL
++check_unicast_packet_62217 check_unicast_packet 2 62217 NULL
++hash_new_62224 hash_new 1 62224 NULL
++nfsd_read_file_62241 nfsd_read_file 6 62241 NULL
++allocate_partition_62245 allocate_partition 4 62245 NULL
++send_control_msg_62261 send_control_msg 5 62261 NULL
++subsystem_filter_read_62310 subsystem_filter_read 3 62310 NULL
++udf_sb_alloc_partition_maps_62313 udf_sb_alloc_partition_maps 2 62313 NULL
++Wb35Reg_BurstWrite_62327 Wb35Reg_BurstWrite 4 62327 NULL
++flash_write_62354 flash_write 3 62354 NULL
++kmalloc_order_62372 kmalloc_order 0 62372 NULL
++altera_irscan_62396 altera_irscan 2 62396 NULL
++udplite_manip_pkt_62433 udplite_manip_pkt 2 62433 NULL
++netdev_alloc_skb_62437 netdev_alloc_skb 2 62437 NULL
++e1000_check_copybreak_62448 e1000_check_copybreak 3 62448 NULL
++ceph_dns_resolve_name_62488 ceph_dns_resolve_name 2 62488 NULL
++mlx4_en_create_rx_ring_62498 mlx4_en_create_rx_ring 3 62498 NULL
++pep_sendmsg_62524 pep_sendmsg 4 62524 NULL
++store_pwm1_62529 store_pwm1 4 62529 NULL
++test_iso_queue_62534 test_iso_queue 5 62534 NULL
++debugfs_read_62535 debugfs_read 3 62535 NULL
++sco_sock_sendmsg_62542 sco_sock_sendmsg 4 62542 NULL
++qib_refresh_qsfp_cache_62547 qib_refresh_qsfp_cache 0 62547 NULL
++xfrm_user_policy_62573 xfrm_user_policy 4 62573 NULL
++flex_array_get_ptr_62579 flex_array_get_ptr 2 62579 NULL
++nfsd_vfs_read_62605 nfsd_vfs_read 6 62605 NULL
++iommu_area_alloc_62619 iommu_area_alloc 2-3-4-7 62619 NULL
++ems_pcmcia_add_card_62627 ems_pcmcia_add_card 2 62627 NULL
++iwl_dbgfs_force_reset_read_62628 iwl_dbgfs_force_reset_read 3 62628 NULL
++compat_rangeinfo_62630 compat_rangeinfo 2 62630 NULL
++lpfc_sli4_queue_alloc_62646 lpfc_sli4_queue_alloc 3 62646 NULL
++tt_changes_fill_buffer_62649 tt_changes_fill_buffer 3 62649 NULL
++ima_file_mmap_62663 ima_file_mmap 0 62663 NULL
++write_62671 write 3 62671 NULL
++printer_req_alloc_62687 printer_req_alloc 2 62687 NULL nohasharray
++iwl_dbgfs_rx_statistics_read_62687 iwl_dbgfs_rx_statistics_read 3 62687 &printer_req_alloc_62687
++adxl34x_i2c_read_block_62691 adxl34x_i2c_read_block 3 62691 NULL
++ioremap_wc_62695 ioremap_wc 1-2 62695 NULL
++bioset_integrity_create_62708 bioset_integrity_create 2 62708 NULL
++key_replays_read_62746 key_replays_read 3 62746 NULL
++init_chip_wc_pat_62768 init_chip_wc_pat 2 62768 NULL
++ax25_sendmsg_62770 ax25_sendmsg 4 62770 NULL
++scrub_chunk_62771 scrub_chunk 4 62771 NULL nohasharray
++page_key_alloc_62771 page_key_alloc 0 62771 &scrub_chunk_62771
++tracing_total_entries_read_62817 tracing_total_entries_read 3 62817 NULL
++__rounddown_pow_of_two_62836 __rounddown_pow_of_two 0 62836 NULL
++xlog_recover_add_to_trans_62839 xlog_recover_add_to_trans 4 62839 NULL
++rx_fcs_err_read_62844 rx_fcs_err_read 3 62844 NULL
++hpi_read_word_62862 hpi_read_word 0 62862 NULL
++nfs_writedata_alloc_62868 nfs_writedata_alloc 1 62868 NULL
++aoechr_write_62883 aoechr_write 3 62883 NULL
++inode_mode_to_security_class_62886 inode_mode_to_security_class 0 62886 NULL
++resize_info_buffer_62889 resize_info_buffer 2 62889 NULL
++if_spi_host_to_card_62890 if_spi_host_to_card 4 62890 NULL
++mempool_create_slab_pool_62907 mempool_create_slab_pool 1 62907 NULL
++getdqbuf_62908 getdqbuf 1 62908 NULL
++agp_create_user_memory_62955 agp_create_user_memory 1 62955 NULL
++__vb2_perform_fileio_63033 __vb2_perform_fileio 3 63033 NULL
++scsi_host_alloc_63041 scsi_host_alloc 2 63041 NULL
++au_dir_size_63057 au_dir_size 0 63057 NULL
++unlink1_63059 unlink1 3 63059 NULL
++ocfs2_decrease_refcount_63078 ocfs2_decrease_refcount 3 63078 NULL
++iwl_dbgfs_sensitivity_read_63116 iwl_dbgfs_sensitivity_read 3 63116 NULL
++ib_send_cm_rtu_63138 ib_send_cm_rtu 3 63138 NULL
++vme_master_read_63221 vme_master_read 0 63221 NULL
++module_alloc_update_bounds_rw_63233 module_alloc_update_bounds_rw 1 63233 NULL
++ptp_read_63251 ptp_read 4 63251 NULL
++dns_resolver_instantiate_63314 dns_resolver_instantiate 3 63314 NULL
++proc_info_read_63344 proc_info_read 3 63344 NULL
++ps_upsd_max_sptime_read_63362 ps_upsd_max_sptime_read 3 63362 NULL
++idmouse_read_63374 idmouse_read 3 63374 NULL
++edac_pci_alloc_ctl_info_63388 edac_pci_alloc_ctl_info 1 63388 NULL
++rxpipe_missed_beacon_host_int_trig_rx_data_read_63405 rxpipe_missed_beacon_host_int_trig_rx_data_read 3 63405 NULL
++noack_read_63419 noack_read 3 63419 NULL
++l2cap_sock_sendmsg_63427 l2cap_sock_sendmsg 4 63427 NULL
++iwl_dbgfs_debug_level_read_63430 iwl_dbgfs_debug_level_read 3 63430 NULL
++kone_send_63435 kone_send 4 63435 NULL
++nfsd_symlink_63442 nfsd_symlink 6 63442 NULL
++snd_info_entry_write_63474 snd_info_entry_write 3 63474 NULL
++read_kcore_63488 read_kcore 3 63488 NULL
++snd_pcm_plug_write_transfer_63503 snd_pcm_plug_write_transfer 0-3 63503 NULL
++ubi_more_leb_change_data_63534 ubi_more_leb_change_data 4 63534 NULL
++if_sdio_read_scratch_63540 if_sdio_read_scratch 0 63540 NULL
++append_to_buffer_63550 append_to_buffer 3 63550 NULL
++kvm_write_guest_page_63555 kvm_write_guest_page 5 63555 NULL
++au_br_do_del_hdp_63561 au_br_do_del_hdp 3 63561 NULL
++ubifs_lpt_scan_nolock_63572 ubifs_lpt_scan_nolock 0 63572 NULL
++ocfs2_calc_trunc_pos_63576 ocfs2_calc_trunc_pos 4 63576 NULL
++ext3_clear_blocks_63597 ext3_clear_blocks 4-5 63597 NULL
++module_alloc_63630 module_alloc 1 63630 NULL
++ntfs_malloc_nofs_nofail_63631 ntfs_malloc_nofs_nofail 1 63631 NULL
++symbol_build_supp_rates_63634 symbol_build_supp_rates 0 63634 NULL
++_ubh_find_next_zero_bit__63640 _ubh_find_next_zero_bit_ 4-5-3 63640 NULL
++proc_loginuid_write_63648 proc_loginuid_write 3 63648 NULL
++nand_ecc_test_63654 nand_ecc_test 1 63654 NULL nohasharray
++ValidateDSDParamsChecksum_63654 ValidateDSDParamsChecksum 3 63654 &nand_ecc_test_63654
++hidraw_ioctl_63658 hidraw_ioctl 2 63658 NULL
++iwl4965_rs_sta_dbgfs_scale_table_read_63672 iwl4965_rs_sta_dbgfs_scale_table_read 3 63672 NULL
++vbi_read_63673 vbi_read 3 63673 NULL nohasharray
++xen_register_pirq_63673 xen_register_pirq 1-2 63673 &vbi_read_63673
++mkiss_compat_ioctl_63686 mkiss_compat_ioctl 4 63686 NULL
++btrfs_insert_delayed_dir_index_63720 btrfs_insert_delayed_dir_index 4 63720 NULL
++nfs4_reset_slot_table_63721 nfs4_reset_slot_table 2 63721 NULL
++au_ii_realloc_63728 au_ii_realloc 2 63728 NULL
++selinux_secctx_to_secid_63744 selinux_secctx_to_secid 2 63744 NULL
++snd_pcm_oss_read1_63771 snd_pcm_oss_read1 3 63771 NULL
++snd_opl4_mem_proc_read_63774 snd_opl4_mem_proc_read 5 63774 NULL
++spidev_compat_ioctl_63778 spidev_compat_ioctl 2-3 63778 NULL
++snapshot_compat_ioctl_63792 snapshot_compat_ioctl 3 63792 NULL
++mwifiex_11n_create_rx_reorder_tbl_63806 mwifiex_11n_create_rx_reorder_tbl 4 63806 NULL
++copy_nodes_to_user_63807 copy_nodes_to_user 2 63807 NULL
++sel_write_load_63830 sel_write_load 3 63830 NULL
++proc_pid_attr_write_63845 proc_pid_attr_write 3 63845 NULL
++ieee80211_if_fmt_channel_type_63855 ieee80211_if_fmt_channel_type 3 63855 NULL
++init_map_ipmac_63896 init_map_ipmac 4-3 63896 NULL
++divas_write_63901 divas_write 3 63901 NULL
++xhci_alloc_stream_info_63902 xhci_alloc_stream_info 3 63902 NULL
++pohmelfs_readpages_trans_complete_63912 pohmelfs_readpages_trans_complete 2 63912 NULL
++uvc_alloc_urb_buffers_63922 uvc_alloc_urb_buffers 0-3-2 63922 NULL
++acpi_ev_get_gpe_xrupt_block_63924 acpi_ev_get_gpe_xrupt_block 1 63924 NULL
++ledd_proc_write_63928 ledd_proc_write 3 63928 NULL
++tipc_send2port_63935 tipc_send2port 5 63935 NULL
++afs_send_simple_reply_63940 afs_send_simple_reply 3 63940 NULL
++macvtap_recvmsg_63949 macvtap_recvmsg 4 63949 NULL
++diva_xdi_write_63975 diva_xdi_write 4 63975 NULL
++iwl_legacy_dbgfs_tx_statistics_read_63987 iwl_legacy_dbgfs_tx_statistics_read 3 63987 NULL
++read_file_frameerrors_64001 read_file_frameerrors 3 64001 NULL
++raid_status_64011 raid_status 4 64011 NULL
++kmemdup_64015 kmemdup 2 64015 NULL
++tcf_csum_skb_nextlayer_64025 tcf_csum_skb_nextlayer 3 64025 NULL
++dbAllocDmapLev_64030 dbAllocDmapLev 0 64030 NULL
++frequency_read_64031 frequency_read 3 64031 NULL nohasharray
++resize_async_buffer_64031 resize_async_buffer 4 64031 &frequency_read_64031
++get_u8_64076 get_u8 0 64076 NULL
++sl_realloc_bufs_64086 sl_realloc_bufs 2 64086 NULL
++lbs_highrssi_read_64089 lbs_highrssi_read 3 64089 NULL
++do_load_xattr_datum_64118 do_load_xattr_datum 0 64118 NULL
++ol_quota_entries_per_block_64122 ol_quota_entries_per_block 0 64122 NULL
+init_bch_64130 init_bch 1-2 64130 NULL
++uea_idma_write_64139 uea_idma_write 3 64139 NULL
++ablkcipher_copy_iv_64140 ablkcipher_copy_iv 3 64140 NULL
++dlfb_ops_write_64150 dlfb_ops_write 3 64150 NULL
++cpumask_scnprintf_64170 cpumask_scnprintf 2 64170 NULL
++alloc_session_64171 alloc_session 2-1 64171 NULL
++redrat3_transmit_ir_64244 redrat3_transmit_ir 3 64244 NULL
++verify_ucode_size_64266 verify_ucode_size 0 64266 NULL
++io_capture_transfer_64276 io_capture_transfer 4 64276 NULL
++btrfs_file_extent_offset_64278 btrfs_file_extent_offset 0 64278 NULL
++event_id_read_64288 event_id_read 3 64288 NULL nohasharray
++xfs_dir_cilookup_result_64288 xfs_dir_cilookup_result 3 64288 &event_id_read_64288
++ocfs2_block_check_validate_bhs_64302 ocfs2_block_check_validate_bhs 0 64302 NULL
++ffz_64324 ffz 0 64324 NULL
++sisusbcon_clear_64329 sisusbcon_clear 4-3-5 64329 NULL
++kmem_cache_alloc_trace_64334 kmem_cache_alloc_trace 0 64334 NULL
++ts_write_64336 ts_write 3 64336 NULL
++usbtmc_write_64340 usbtmc_write 3 64340 NULL
++do_write_orph_node_64343 do_write_orph_node 2 64343 NULL
++wlc_phy_loadsampletable_nphy_64367 wlc_phy_loadsampletable_nphy 3 64367 NULL
++ilo_write_64378 ilo_write 3 64378 NULL
++ir_lirc_transmit_ir_64403 ir_lirc_transmit_ir 3 64403 NULL
++pidlist_allocate_64404 pidlist_allocate 1 64404 NULL
++rx_hdr_overflow_read_64407 rx_hdr_overflow_read 3 64407 NULL
++snd_card_create_64418 snd_card_create 4 64418 NULL nohasharray
++keyctl_get_security_64418 keyctl_get_security 3 64418 &snd_card_create_64418
++ip_vs_create_timeout_table_64478 ip_vs_create_timeout_table 2 64478 NULL
++alloc_large_system_hash_64490 alloc_large_system_hash 2 64490 NULL
++p54_parse_rssical_64493 p54_parse_rssical 3 64493 NULL
++msg_data_sz_64503 msg_data_sz 0 64503 NULL
++crypto_blkcipher_alignmask_64520 crypto_blkcipher_alignmask 0 64520 NULL
++opera1_usb_i2c_msgxfer_64521 opera1_usb_i2c_msgxfer 4 64521 NULL
++ses_send_diag_64527 ses_send_diag 4 64527 NULL
++ca_extend_64541 ca_extend 2 64541 NULL
++lm8323_read_64547 lm8323_read 4 64547 NULL
++__spi_sync_64561 __spi_sync 0 64561 NULL
++__apei_exec_run_64563 __apei_exec_run 0 64563 NULL
++fanotify_write_64623 fanotify_write 3 64623 NULL
++ocfs2_read_xattr_block_64661 ocfs2_read_xattr_block 0 64661 NULL
++nr_free_zone_pages_64680 nr_free_zone_pages 0 64680 NULL
++__feat_register_sp_64712 __feat_register_sp 6 64712 NULL
++snd_pcm_oss_capture_position_fixup_64713 snd_pcm_oss_capture_position_fixup 0 64713 NULL
++dapm_bias_read_file_64715 dapm_bias_read_file 3 64715 NULL
++atomic_add_return_64720 atomic_add_return 0-1 64720 NULL
++i2400m_msg_to_dev_64722 i2400m_msg_to_dev 3 64722 NULL
++squashfs_read_inode_lookup_table_64739 squashfs_read_inode_lookup_table 4 64739 NULL
++bio_map_kern_64751 bio_map_kern 3 64751 NULL
++rt2x00debug_write_csr_64753 rt2x00debug_write_csr 3 64753 NULL
++isr_low_rssi_read_64789 isr_low_rssi_read 3 64789 NULL
++nfsctl_transaction_write_64800 nfsctl_transaction_write 3 64800 NULL
++megaraid_change_queue_depth_64815 megaraid_change_queue_depth 2 64815 NULL
++ecryptfs_send_miscdev_64816 ecryptfs_send_miscdev 2 64816 NULL
++do_kimage_alloc_64827 do_kimage_alloc 3 64827 NULL
++altera_set_dr_pre_64862 altera_set_dr_pre 2 64862 NULL
++ffs_epfile_io_64886 ffs_epfile_io 3 64886 NULL
++ieee80211_if_read_ave_beacon_64924 ieee80211_if_read_ave_beacon 3 64924 NULL
++ubifs_wbuf_write_nolock_64946 ubifs_wbuf_write_nolock 3 64946 NULL
++snd_rawmidi_ioctl_compat_64954 snd_rawmidi_ioctl_compat 3 64954 NULL
++ip_options_get_from_user_64958 ip_options_get_from_user 4 64958 NULL
++acpi_os_install_interrupt_handler_64968 acpi_os_install_interrupt_handler 1 64968 NULL
++ext2_group_first_block_no_64972 ext2_group_first_block_no 0-2 64972 NULL
++pskb_pull_65005 pskb_pull 2 65005 NULL
++crypto_ahash_digestsize_65014 crypto_ahash_digestsize 0 65014 NULL
++c4iw_ocqp_pool_alloc_65023 c4iw_ocqp_pool_alloc 2 65023 NULL
++insert_dent_65034 insert_dent 7 65034 NULL
++compat_put_ushort_65040 compat_put_ushort 1 65040 NULL
++compat_cmdtest_65064 compat_cmdtest 2 65064 NULL
++count_run_65072 count_run 0-2-4 65072 NULL nohasharray
++bnx2fc_process_l2_frame_compl_65072 bnx2fc_process_l2_frame_compl 3 65072 &count_run_65072
++__alloc_bootmem_node_high_65076 __alloc_bootmem_node_high 2 65076 NULL
++ocfs2_truncate_cluster_pages_65086 ocfs2_truncate_cluster_pages 2 65086 NULL
++ssb_bus_register_65183 ssb_bus_register 3 65183 NULL
++whci_n_caps_65247 whci_n_caps 0 65247 NULL
++atomic_long_read_65263 atomic_long_read 0 65263 NULL
++kmem_zalloc_greedy_65268 kmem_zalloc_greedy 3-2 65268 NULL
++kmalloc_parameter_65279 kmalloc_parameter 1 65279 NULL
++compat_core_sys_select_65285 compat_core_sys_select 1 65285 NULL
+redirected_tty_write_65297 redirected_tty_write 3 65297 NULL
-+ilo_read_32531 ilo_read 3 32531 NULL
-+ieee80211_if_read_estab_plinks_32533 ieee80211_if_read_estab_plinks 3 32533 NULL
-+smk_write_load_self_7958 smk_write_load_self 3 7958 NULL
-+ioremap_23172 ioremap 1-2 23172 NULL
-+sysfs_write_file_57116 sysfs_write_file 3 57116 NULL
-+gdth_isa_probe_one_48925 gdth_isa_probe_one 1 48925 NULL
-+kzalloc_node_24352 kzalloc_node 1 24352 NULL
-+fuse_conn_max_background_read_10855 fuse_conn_max_background_read 3 10855 NULL
-+trace_options_write_48275 trace_options_write 3 48275 NULL
-+format_devstat_counter_32550 format_devstat_counter 3 32550 NULL
-+xfs_iext_remove_direct_40744 xfs_iext_remove_direct 3 40744 NULL
-+dvb_generic_ioctl_21810 dvb_generic_ioctl 2 21810 NULL
-+cfi_read_pri_24366 cfi_read_pri 3 24366 NULL
-+btrfs_insert_delayed_dir_index_63720 btrfs_insert_delayed_dir_index 4 63720 NULL
-+aes_encrypt_fail_read_32562 aes_encrypt_fail_read 3 32562 NULL
-+card_send_command_40757 card_send_command 3 40757 NULL
-+sys_mbind_7990 sys_mbind 5 7990 NULL
++get_var_len_65304 get_var_len 0 65304 NULL
++unpack_array_65318 unpack_array 0 65318 NULL
+dccp_setsockopt_service_65336 dccp_setsockopt_service 4 65336 NULL
-+pg_write_40766 pg_write 3 40766 NULL
-+sep_lock_user_pages_8000 sep_lock_user_pages 2-3 8000 NULL
-+event_heart_beat_read_48961 event_heart_beat_read 3 48961 NULL
-+sel_read_policy_55947 sel_read_policy 3 55947 NULL
-+carl9170_rx_stream_1334 carl9170_rx_stream 3 1334 NULL
-+ath_descdma_setup_12257 ath_descdma_setup 5 12257 NULL
-+alloc_sched_domains_47756 alloc_sched_domains 1 47756 NULL
-+mem_swapout_entry_32586 mem_swapout_entry 3 32586 NULL
-+pvr2_v4l2_ioctl_24398 pvr2_v4l2_ioctl 2 24398 NULL nohasharray
-+getxattr_24398 getxattr 4 24398 &pvr2_v4l2_ioctl_24398
-+stk_prepare_sio_buffers_57168 stk_prepare_sio_buffers 2 57168 NULL
-+vcs_read_8017 vcs_read 3 8017 NULL
-+read_file_beacon_32595 read_file_beacon 3 32595 NULL
-+create_table_16213 create_table 2 16213 NULL
-+ieee80211_if_read_dropped_frames_congestion_32603 ieee80211_if_read_dropped_frames_congestion 3 32603 NULL
-+iwl_dbgfs_wowlan_sram_read_540 iwl_dbgfs_wowlan_sram_read 3 540 NULL
-+_alloc_set_attr_list_48991 _alloc_set_attr_list 4 48991 NULL
-+sys_set_mempolicy_32608 sys_set_mempolicy 3 32608 NULL
-+atomic_read_file_16227 atomic_read_file 3 16227 NULL
-+vhost_add_used_and_signal_n_8038 vhost_add_used_and_signal_n 4 8038 NULL
-+copy_and_check_19089 copy_and_check 3 19089 NULL
-+b43_debugfs_read_24425 b43_debugfs_read 3 24425 NULL
-+netdev_alloc_skb_ip_align_40811 netdev_alloc_skb_ip_align 2 40811 NULL
-+i915_wedged_read_35474 i915_wedged_read 3 35474 NULL
-+ieee80211_rx_mgmt_beacon_24430 ieee80211_rx_mgmt_beacon 3 24430 NULL
-+iser_rcv_completion_8048 iser_rcv_completion 2 8048 NULL
-+trace_parser_get_init_31379 trace_parser_get_init 2 31379 NULL
-+ms_read_multiple_pages_8052 ms_read_multiple_pages 4-5 8052 NULL
++dma_rx_requested_read_65354 dma_rx_requested_read 3 65354 NULL
++alloc_cpu_rmap_65363 alloc_cpu_rmap 1 65363 NULL
++strchr_65372 strchr 0 65372 NULL
+__alloc_bootmem_nopanic_65397 __alloc_bootmem_nopanic 1 65397 NULL
+trace_seq_to_user_65398 trace_seq_to_user 3 65398 NULL
-+irda_recvmsg_dgram_32631 irda_recvmsg_dgram 4 32631 NULL
-+cfg80211_roamed_32632 cfg80211_roamed 5-7 32632 NULL
-+xd_rw_49020 xd_rw 4-3 49020 NULL
-+megasas_change_queue_depth_32747 megasas_change_queue_depth 2 32747 NULL
-+handle_response_icmp_39574 handle_response_icmp 7 39574 NULL
-+kvmalloc_32646 kvmalloc 1 32646 NULL
-+alloc_targets_8074 alloc_targets 2 8074 NULL
-+__kmalloc_section_memmap_32651 __kmalloc_section_memmap 1 32651 NULL
++iio_device_add_channel_sysfs_65406 iio_device_add_channel_sysfs 0 65406 NULL
++ocfs2_write_begin_nolock_65410 ocfs2_write_begin_nolock 3-4 65410 NULL
+drm_calloc_large_65421 drm_calloc_large 1-2 65421 NULL
-+generic_readlink_32654 generic_readlink 3 32654 NULL
-+skb_copy_and_csum_datagram_iovec_24466 skb_copy_and_csum_datagram_iovec 2 24466 NULL
-+drbd_setsockopt_16280 drbd_setsockopt 5 16280 NULL nohasharray
-+nand_bch_init_16280 nand_bch_init 2-3 16280 &drbd_setsockopt_16280
+xpc_kzalloc_cacheline_aligned_65433 xpc_kzalloc_cacheline_aligned 1 65433 NULL
-+v9fs_file_read_40858 v9fs_file_read 3 40858 NULL
-+fbcon_do_set_font_4079 fbcon_do_set_font 2-3 4079 NULL
-+svm_set_msr_49643 svm_set_msr 3 49643 NULL
-+move_addr_to_kernel_32673 move_addr_to_kernel 2 32673 NULL
-+i915_wedged_write_47771 i915_wedged_write 3 47771 NULL
+usb_alloc_coherent_65444 usb_alloc_coherent 2 65444 NULL
-+hid_input_report_32458 hid_input_report 4 32458 NULL
-+l2cap_bredr_sig_cmd_49065 l2cap_bredr_sig_cmd 3 49065 NULL
-+tipc_buf_acquire_60437 tipc_buf_acquire 1 60437 NULL
-+rsc_mgr_init_16299 rsc_mgr_init 3 16299 NULL
-+venus_lookup_8121 venus_lookup 4 8121 NULL
-+ccid3_hc_tx_getsockopt_16314 ccid3_hc_tx_getsockopt 3 16314 NULL
-+dmam_declare_coherent_memory_43679 dmam_declare_coherent_memory 2-4 43679 NULL
-+io_mapping_create_wc_1354 io_mapping_create_wc 1-2 1354 NULL
-+pd_video_read_24510 pd_video_read 3 24510 NULL
-+read_file_queue_40895 read_file_queue 3 40895 NULL
-+vmx_set_msr_49090 vmx_set_msr 3 49090 NULL
-+request_key_with_auxdata_24515 request_key_with_auxdata 4 24515 NULL
-+waiters_read_40902 waiters_read 3 40902 NULL
-+pstore_file_read_57288 pstore_file_read 3 57288 NULL
-+vmalloc_node_58700 vmalloc_node 1 58700 NULL
+ath_rx_edma_init_65483 ath_rx_edma_init 2 65483 NULL
-+vmw_cursor_update_image_16332 vmw_cursor_update_image 3-4 16332 NULL
-+compat_do_readv_writev_49102 compat_do_readv_writev 4 49102 NULL
-+receive_client_update_packet_49104 receive_client_update_packet 3 49104 NULL
-+iscsi_tcp_conn_setup_16376 iscsi_tcp_conn_setup 2 16376 NULL
-+vol_cdev_write_40915 vol_cdev_write 3 40915 NULL
-+named_prepare_buf_24532 named_prepare_buf 2 24532 NULL
+alloc_dr_65495 alloc_dr 2 65495 NULL
-+ath6kl_buf_alloc_57304 ath6kl_buf_alloc 1 57304 NULL
-+ftdi_elan_write_57309 ftdi_elan_write 3 57309 NULL
-+sys_migrate_pages_39825 sys_migrate_pages 2 39825 NULL
-+mthca_init_cq_60011 mthca_init_cq 2 60011 NULL
-+iio_allocate_device_18821 iio_allocate_device 1 18821 NULL
-+pwr_wake_on_timer_exp_read_22640 pwr_wake_on_timer_exp_read 3 22640 NULL
-+ath9k_wmi_cmd_327 ath9k_wmi_cmd 4 327 NULL
-+total_ps_buffered_read_16365 total_ps_buffered_read 3 16365 NULL
-+ext_sd_execute_write_data_8175 ext_sd_execute_write_data 9 8175 NULL
-+pt_read_49136 pt_read 3 49136 NULL
-+tsi148_alloc_resource_24563 tsi148_alloc_resource 2 24563 NULL
-+snd_vx_create_40948 snd_vx_create 4 40948 NULL
-+dbg_leb_write_20478 dbg_leb_write 4-5 20478 NULL
-+iwl_legacy_dbgfs_fh_reg_read_49144 iwl_legacy_dbgfs_fh_reg_read 3 49144 NULL nohasharray
-+tipc_multicast_49144 tipc_multicast 5 49144 &iwl_legacy_dbgfs_fh_reg_read_49144
-+__nf_nat_mangle_tcp_packet_8190 __nf_nat_mangle_tcp_packet 5-7 8190 NULL
-+atyfb_setup_generic_49151 atyfb_setup_generic 3 49151 NULL
diff --git a/tools/gcc/size_overflow_plugin.c b/tools/gcc/size_overflow_plugin.c
new file mode 100644
-index 0000000..d52f2ee
+index 0000000..63c46e5
--- /dev/null
+++ b/tools/gcc/size_overflow_plugin.c
-@@ -0,0 +1,1941 @@
+@@ -0,0 +1,2050 @@
+/*
+ * Copyright 2011, 2012 by Emese Revfy <re.emese@gmail.com>
+ * Licensed under the GPL v2, or (at your option) v3
@@ -92795,7 +99180,7 @@ index 0000000..d52f2ee
+ * The recomputed argument is checked against TYPE_MAX and an event is logged on overflow and the triggering process is killed.
+ *
+ * Usage:
-+ * $ gcc -I`gcc -print-file-name=plugin`/include/c-family -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -ggdb -Wall -W -Wno-missing-field-initializers -o size_overflow_plugin.so size_overflow_plugin.c
++ * $ gcc -I`gcc -print-file-name=plugin`/include/c-family -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -ggdb -Wall -W -o size_overflow_plugin.so size_overflow_plugin.c
+ * $ gcc -fplugin=size_overflow_plugin.so test.c -O2
+ */
+
@@ -92813,16 +99198,9 @@ index 0000000..d52f2ee
+#include "tree-flow.h"
+#include "plugin.h"
+#include "gimple.h"
-+#include "c-common.h"
+#include "diagnostic.h"
+#include "cfgloop.h"
+
-+#if BUILDING_GCC_VERSION >= 4007
-+#include "c-tree.h"
-+#else
-+#define C_DECL_IMPLICIT(EXP) DECL_LANG_FLAG_2 (EXP)
-+#endif
-+
+#if BUILDING_GCC_VERSION >= 4008
+#define TODO_dump_func 0
+#endif
@@ -92835,8 +99213,12 @@ index 0000000..d52f2ee
+
+#include "size_overflow_hash.h"
+
-+enum marked {
-+ MARKED_NO, MARKED_YES, MARKED_NOT_INTENTIONAL
++enum mark {
++ MARK_NO, MARK_YES, MARK_NOT_INTENTIONAL, MARK_TURN_OFF
++};
++
++enum err_code_conditions {
++ CAST_ONLY, FROM_CONST
+};
+
+static unsigned int call_count = 0;
@@ -92848,9 +99230,11 @@ index 0000000..d52f2ee
+#define AFTER_STMT false
+#define CREATE_NEW_VAR NULL_TREE
+#define CODES_LIMIT 32
-+#define MAX_PARAM 32
++#define MAX_PARAM 31
+#define MY_STMT GF_PLF_1
+#define NO_CAST_CHECK GF_PLF_2
++#define FROM_ARG true
++#define FROM_RET false
+
+#if BUILDING_GCC_VERSION == 4005
+#define DECL_CHAIN(NODE) (TREE_CHAIN(DECL_MINIMAL_CHECK(NODE)))
@@ -92860,16 +99244,17 @@ index 0000000..d52f2ee
+void debug_gimple_stmt(gimple gs);
+
+static tree expand(struct pointer_set_t *visited, tree lhs);
-+static bool pre_expand(struct pointer_set_t *visited, const_tree lhs);
++static enum mark pre_expand(struct pointer_set_t *visited, bool *search_err_code, const_tree lhs);
+static tree report_size_overflow_decl;
+static const_tree const_char_ptr_type_node;
+static unsigned int handle_function(void);
+static void check_size_overflow(gimple stmt, tree size_overflow_type, tree cast_rhs, tree rhs, bool before);
+static tree get_size_overflow_type(gimple stmt, const_tree node);
+static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, const_tree node, tree rhs1, tree rhs2, tree __unused rhs3);
++static void print_missing_msg(tree func, unsigned int argnum);
+
+static struct plugin_info size_overflow_plugin_info = {
-+ .version = "20130109beta",
++ .version = "20130316beta",
+ .help = "no-size-overflow\tturn off size overflow checking\n",
+};
+
@@ -92894,7 +99279,7 @@ index 0000000..d52f2ee
+
+ for (; args; args = TREE_CHAIN(args)) {
+ tree position = TREE_VALUE(args);
-+ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) < 1 || TREE_INT_CST_LOW(position) > arg_count ) {
++ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_LOW(position) > arg_count ) {
+ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position));
+ *no_add_attrs = true;
+ }
@@ -92933,9 +99318,12 @@ index 0000000..d52f2ee
+ return NULL_TREE;
+ }
+
++ if (TREE_INT_CST_HIGH(TREE_VALUE(args)) != 0)
++ return NULL_TREE;
++
+ for (; args; args = TREE_CHAIN(args)) {
+ tree position = TREE_VALUE(args);
-+ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) > arg_count ) {
++ if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_LOW(position) > arg_count ) {
+ error("%s: parameter %u is outside range.", __func__, (unsigned int)TREE_INT_CST_LOW(position));
+ *no_add_attrs = true;
+ }
@@ -93024,7 +99412,8 @@ index 0000000..d52f2ee
+static inline gimple get_def_stmt(const_tree node)
+{
+ gcc_assert(node != NULL_TREE);
-+ gcc_assert(TREE_CODE(node) == SSA_NAME);
++ if (TREE_CODE(node) != SSA_NAME)
++ return NULL;
+ return SSA_NAME_DEF_STMT(node);
+}
+
@@ -93125,12 +99514,14 @@ index 0000000..d52f2ee
+ const struct size_overflow_hash *entry;
+ unsigned char tree_codes[CODES_LIMIT];
+ size_t len;
-+ const char *func_name = get_asm_name(fndecl);
++ const char *func_name;
+
++ fndecl = get_original_function_decl(fndecl);
+ len = get_function_decl(fndecl, tree_codes);
+ if (len == 0)
+ return NULL;
+
++ func_name = get_asm_name(fndecl);
+ hash = get_hash_num(func_name, (const char*) tree_codes, len, 0);
+
+ entry = size_overflow_hash[hash];
@@ -93143,17 +99534,80 @@ index 0000000..d52f2ee
+ return NULL;
+}
+
-+static void check_arg_type(const_tree arg)
++static bool is_bool(const_tree node)
+{
-+ const_tree type = TREE_TYPE(arg);
-+ enum tree_code code = TREE_CODE(type);
++ const_tree type;
+
-+ if (code == BOOLEAN_TYPE)
-+ return;
++ if (node == NULL_TREE)
++ return false;
+
-+ gcc_assert(code == INTEGER_TYPE || code == ENUMERAL_TYPE ||
-+ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == VOID_TYPE) ||
-+ (code == POINTER_TYPE && TREE_CODE(TREE_TYPE(type)) == INTEGER_TYPE));
++ type = TREE_TYPE(node);
++ if (!INTEGRAL_TYPE_P(type))
++ return false;
++ if (TREE_CODE(type) == BOOLEAN_TYPE)
++ return true;
++ if (TYPE_PRECISION(type) == 1)
++ return true;
++ return false;
++}
++
++static bool skip_types(const_tree var)
++{
++ tree type;
++
++ if (is_gimple_constant(var))
++ return true;
++
++ switch (TREE_CODE(var)) {
++ case ADDR_EXPR:
++#if BUILDING_GCC_VERSION >= 4006
++ case MEM_REF:
++#endif
++ case ARRAY_REF:
++ case BIT_FIELD_REF:
++ case INDIRECT_REF:
++ case TARGET_MEM_REF:
++ return true;
++ case PARM_DECL:
++ case VAR_DECL:
++ case COMPONENT_REF:
++ return false;
++ default:
++ break;
++ }
++
++ gcc_assert(TREE_CODE(var) == SSA_NAME);
++
++ type = TREE_TYPE(var);
++ switch (TREE_CODE(type)) {
++ case INTEGER_TYPE:
++ case ENUMERAL_TYPE:
++ return false;
++ case BOOLEAN_TYPE:
++ return is_bool(var);
++ default:
++ break;
++ }
++
++ gcc_assert(TREE_CODE(type) == POINTER_TYPE);
++
++ type = TREE_TYPE(type);
++ gcc_assert(type != NULL_TREE);
++ switch (TREE_CODE(type)) {
++ case RECORD_TYPE:
++ case POINTER_TYPE:
++ case ARRAY_TYPE:
++ return true;
++ case VOID_TYPE:
++ case INTEGER_TYPE:
++ case UNION_TYPE:
++ return false;
++ default:
++ break;
++ }
++
++ debug_tree((tree)var);
++ gcc_unreachable();
+}
+
+static unsigned int find_arg_number(const_tree arg, tree func)
@@ -93164,15 +99618,14 @@ index 0000000..d52f2ee
+ if (TREE_CODE(arg) == SSA_NAME)
+ arg = SSA_NAME_VAR(arg);
+
-+ for (var = DECL_ARGUMENTS(func); var; var = TREE_CHAIN(var)) {
-+ if (strcmp(NAME(arg), NAME(var))) {
-+ argnum++;
++ for (var = DECL_ARGUMENTS(func); var; var = TREE_CHAIN(var), argnum++) {
++ if (!operand_equal_p(arg, var, 0) && strcmp(NAME(var), NAME(arg)))
+ continue;
-+ }
-+ check_arg_type(var);
-+ return argnum;
++ if (!skip_types(var))
++ return argnum;
+ }
-+ gcc_unreachable();
++
++ return 0;
+}
+
+static tree create_new_var(tree type)
@@ -93203,23 +99656,6 @@ index 0000000..d52f2ee
+ return assign;
+}
+
-+static bool is_bool(const_tree node)
-+{
-+ const_tree type;
-+
-+ if (node == NULL_TREE)
-+ return false;
-+
-+ type = TREE_TYPE(node);
-+ if (!INTEGRAL_TYPE_P(type))
-+ return false;
-+ if (TREE_CODE(type) == BOOLEAN_TYPE)
-+ return true;
-+ if (TYPE_PRECISION(type) == 1)
-+ return true;
-+ return false;
-+}
-+
+static tree cast_a_tree(tree type, tree var)
+{
+ gcc_assert(type != NULL_TREE);
@@ -93229,14 +99665,55 @@ index 0000000..d52f2ee
+ return fold_convert(type, var);
+}
+
-+static gimple build_cast_stmt(tree dst_type, tree rhs, tree lhs, gimple_stmt_iterator *gsi, bool before)
++static tree get_lhs(const_gimple stmt)
+{
-+ gimple assign;
++ switch (gimple_code(stmt)) {
++ case GIMPLE_ASSIGN:
++ return gimple_get_lhs(stmt);
++ case GIMPLE_PHI:
++ return gimple_phi_result(stmt);
++ case GIMPLE_CALL:
++ return gimple_call_lhs(stmt);
++ default:
++ return NULL_TREE;
++ }
++}
++
++static bool skip_cast(tree dst_type, const_tree rhs, bool force)
++{
++ const_gimple def_stmt = get_def_stmt(rhs);
++
++ if (force)
++ return false;
++
++ if (is_gimple_constant(rhs))
++ return false;
++
++ if (!def_stmt || gimple_code(def_stmt) == GIMPLE_NOP)
++ return false;
++
++ if (!types_compatible_p(dst_type, TREE_TYPE(rhs)))
++ return false;
++
++ // DI type can be on 32 bit (from create_assign) but overflow type stays DI
++ if (LONG_TYPE_SIZE == GET_MODE_BITSIZE(SImode))
++ return false;
++
++ return true;
++}
++
++static gimple build_cast_stmt(tree dst_type, tree rhs, tree lhs, gimple_stmt_iterator *gsi, bool before, bool force)
++{
++ gimple assign, def_stmt;
+
+ gcc_assert(dst_type != NULL_TREE && rhs != NULL_TREE);
+ if (gsi_end_p(*gsi) && before == AFTER_STMT)
+ gcc_unreachable();
+
++ def_stmt = get_def_stmt(rhs);
++ if (skip_cast(dst_type, rhs, force) && gimple_plf(def_stmt, MY_STMT))
++ return def_stmt;
++
+ if (lhs == CREATE_NEW_VAR)
+ lhs = create_new_var(dst_type);
+
@@ -93261,19 +99738,19 @@ index 0000000..d52f2ee
+
+static tree cast_to_new_size_overflow_type(gimple stmt, tree rhs, tree size_overflow_type, bool before)
+{
-+ gimple assign;
+ gimple_stmt_iterator gsi;
++ tree lhs;
++ const_gimple new_stmt;
+
+ if (rhs == NULL_TREE)
+ return NULL_TREE;
+
-+ if (types_compatible_p(TREE_TYPE(rhs), size_overflow_type) && gimple_plf(stmt, MY_STMT))
-+ return rhs;
-+
+ gsi = gsi_for_stmt(stmt);
-+ assign = build_cast_stmt(size_overflow_type, rhs, CREATE_NEW_VAR, &gsi, before);
-+ gimple_set_plf(assign, MY_STMT, true);
-+ return gimple_get_lhs(assign);
++ new_stmt = build_cast_stmt(size_overflow_type, rhs, CREATE_NEW_VAR, &gsi, before, false);
++
++ lhs = get_lhs(new_stmt);
++ gcc_assert(lhs != NULL_TREE);
++ return lhs;
+}
+
+static tree cast_to_TI_type(gimple stmt, tree node)
@@ -93286,14 +99763,31 @@ index 0000000..d52f2ee
+ return node;
+
+ gsi = gsi_for_stmt(stmt);
-+ cast_stmt = build_cast_stmt(intTI_type_node, node, CREATE_NEW_VAR, &gsi, BEFORE_STMT);
-+ gimple_set_plf(cast_stmt, MY_STMT, true);
++ cast_stmt = build_cast_stmt(intTI_type_node, node, CREATE_NEW_VAR, &gsi, BEFORE_STMT, false);
+ return gimple_get_lhs(cast_stmt);
+}
+
++static void check_function_hash(const_gimple stmt)
++{
++ tree func;
++ const struct size_overflow_hash *hash;
++
++ if (gimple_code(stmt) != GIMPLE_CALL)
++ return;
++
++ func = gimple_call_fndecl(stmt);
++ //fs/xattr.c D.34222_15 = D.34219_14 (dentry_3(D), name_7(D), 0B, 0);
++ if (func == NULL_TREE)
++ return;
++
++ hash = get_function_hash(func);
++ if (!hash)
++ print_missing_msg(func, 0);
++}
++
+static tree create_assign(struct pointer_set_t *visited, gimple oldstmt, tree rhs1, bool before)
+{
-+ tree lhs;
++ tree lhs, new_lhs;
+ gimple_stmt_iterator gsi;
+
+ if (rhs1 == NULL_TREE) {
@@ -93341,7 +99835,8 @@ index 0000000..d52f2ee
+ oldstmt = gsi_stmt(gsi);
+ }
+
-+ return cast_to_new_size_overflow_type(oldstmt, rhs1, get_size_overflow_type(oldstmt, lhs), before);
++ new_lhs = cast_to_new_size_overflow_type(oldstmt, rhs1, get_size_overflow_type(oldstmt, lhs), before);
++ return new_lhs;
+}
+
+static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, const_tree node, tree rhs1, tree rhs2, tree __unused rhs3)
@@ -93371,10 +99866,7 @@ index 0000000..d52f2ee
+
+ size_overflow_type = get_size_overflow_type(oldstmt, node);
+
-+ if (is_bool(lhs))
-+ new_var = SSA_NAME_VAR(lhs);
-+ else
-+ new_var = create_new_var(size_overflow_type);
++ new_var = create_new_var(size_overflow_type);
+ new_var = make_ssa_name(new_var, stmt);
+ gimple_set_lhs(stmt, new_var);
+
@@ -93397,141 +99889,128 @@ index 0000000..d52f2ee
+ return gimple_get_lhs(stmt);
+}
+
-+static gimple overflow_create_phi_node(gimple oldstmt, tree result)
-+{
-+ basic_block bb;
-+ gimple phi;
-+ gimple_stmt_iterator gsi = gsi_for_stmt(oldstmt);
-+ gimple_seq seq;
-+
-+ bb = gsi_bb(gsi);
-+
-+ phi = create_phi_node(result, bb);
-+ seq = phi_nodes(bb);
-+ gsi = gsi_last(seq);
-+ gsi_remove(&gsi, false);
-+
-+ gsi = gsi_for_stmt(oldstmt);
-+ gsi_insert_after(&gsi, phi, GSI_NEW_STMT);
-+ gimple_set_bb(phi, bb);
-+ gimple_set_plf(phi, MY_STMT, true);
-+ return phi;
-+}
-+
-+static basic_block create_a_first_bb(void)
++static tree cast_parm_decl(tree phi_ssa_name, tree arg, tree size_overflow_type)
+{
+ basic_block first_bb;
++ gimple assign;
++ gimple_stmt_iterator gsi;
+
+ first_bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest;
+ gcc_assert(dom_info_available_p(CDI_DOMINATORS));
+ set_immediate_dominator(CDI_DOMINATORS, first_bb, ENTRY_BLOCK_PTR);
-+ return first_bb;
++
++ gsi = gsi_start_bb(first_bb);
++ assign = build_cast_stmt(size_overflow_type, arg, phi_ssa_name, &gsi, BEFORE_STMT, false);
++ return gimple_get_lhs(assign);
+}
+
-+static tree cast_old_phi_arg(gimple oldstmt, tree size_overflow_type, tree arg, tree new_var, unsigned int i)
++static tree use_phi_ssa_name(tree phi_ssa_name, tree new_arg)
+{
-+ basic_block bb;
-+ const_gimple newstmt;
+ gimple_stmt_iterator gsi;
-+ bool before = BEFORE_STMT;
++ const_gimple assign;
++ gimple def_stmt = get_def_stmt(new_arg);
+
-+ if (TREE_CODE(arg) == SSA_NAME && gimple_code(get_def_stmt(arg)) != GIMPLE_NOP) {
-+ gsi = gsi_for_stmt(get_def_stmt(arg));
-+ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, AFTER_STMT);
-+ return gimple_get_lhs(newstmt);
++ if (gimple_code(def_stmt) == GIMPLE_PHI) {
++ gsi = gsi_after_labels(gimple_bb(def_stmt));
++ assign = build_cast_stmt(TREE_TYPE(new_arg), new_arg, phi_ssa_name, &gsi, BEFORE_STMT, true);
++ } else {
++ gsi = gsi_for_stmt(def_stmt);
++ assign = build_cast_stmt(TREE_TYPE(new_arg), new_arg, phi_ssa_name, &gsi, AFTER_STMT, true);
+ }
+
-+ bb = gimple_phi_arg_edge(oldstmt, i)->src;
-+ gsi = gsi_after_labels(bb);
-+ if (bb->index == 0) {
-+ bb = create_a_first_bb();
-+ gsi = gsi_start_bb(bb);
-+ }
-+ newstmt = build_cast_stmt(size_overflow_type, arg, new_var, &gsi, before);
-+ return gimple_get_lhs(newstmt);
++ return gimple_get_lhs(assign);
+}
+
-+static const_gimple handle_new_phi_arg(const_tree arg, tree new_var, tree new_rhs)
++static tree cast_visited_phi_arg(tree phi_ssa_name, tree arg, tree size_overflow_type)
+{
-+ gimple newstmt;
++ basic_block bb;
+ gimple_stmt_iterator gsi;
-+ void (*gsi_insert)(gimple_stmt_iterator *, gimple, enum gsi_iterator_update);
-+ gimple def_newstmt = get_def_stmt(new_rhs);
++ const_gimple assign, def_stmt;
++
++ def_stmt = get_def_stmt(arg);
++ bb = gimple_bb(def_stmt);
++ gcc_assert(bb->index != 0);
++ gsi = gsi_after_labels(bb);
++
++ assign = build_cast_stmt(size_overflow_type, arg, phi_ssa_name, &gsi, BEFORE_STMT, false);
++ return gimple_get_lhs(assign);
++}
++
++static tree create_new_phi_arg(tree phi_ssa_name, tree new_arg, tree arg, gimple oldstmt)
++{
++ tree size_overflow_type;
++ const_gimple def_stmt = get_def_stmt(arg);
+
-+ gsi_insert = gsi_insert_after;
-+ gsi = gsi_for_stmt(def_newstmt);
++ if (phi_ssa_name != NULL_TREE)
++ phi_ssa_name = SSA_NAME_VAR(phi_ssa_name);
+
-+ switch (gimple_code(get_def_stmt(arg))) {
++ size_overflow_type = get_size_overflow_type(oldstmt, arg);
++
++ if (new_arg != NULL_TREE) {
++ gcc_assert(types_compatible_p(TREE_TYPE(new_arg), size_overflow_type));
++ return use_phi_ssa_name(phi_ssa_name, new_arg);
++ }
++
++ switch(gimple_code(def_stmt)) {
+ case GIMPLE_PHI:
-+ newstmt = gimple_build_assign(new_var, new_rhs);
-+ gsi = gsi_after_labels(gimple_bb(def_newstmt));
-+ gsi_insert = gsi_insert_before;
-+ break;
-+ case GIMPLE_ASM:
-+ case GIMPLE_CALL:
-+ newstmt = gimple_build_assign(new_var, new_rhs);
-+ break;
-+ case GIMPLE_ASSIGN:
-+ newstmt = gimple_build_assign(new_var, gimple_get_lhs(def_newstmt));
-+ break;
++ return cast_visited_phi_arg(phi_ssa_name, arg, size_overflow_type);
++ case GIMPLE_NOP:
++ return cast_parm_decl(phi_ssa_name, arg, size_overflow_type);
+ default:
-+ /* unknown gimple_code (handle_build_new_phi_arg) */
++ debug_gimple_stmt((gimple)def_stmt);
+ gcc_unreachable();
+ }
-+
-+ gimple_set_lhs(newstmt, make_ssa_name(new_var, newstmt));
-+ gsi_insert(&gsi, newstmt, GSI_NEW_STMT);
-+ gimple_set_plf(newstmt, MY_STMT, true);
-+ update_stmt(newstmt);
-+ return newstmt;
+}
+
-+static tree build_new_phi_arg(struct pointer_set_t *visited, tree size_overflow_type, tree arg, tree new_var)
++static gimple overflow_create_phi_node(gimple oldstmt, tree result)
+{
-+ const_gimple newstmt;
-+ gimple def_stmt;
-+ tree new_rhs;
++ basic_block bb;
++ gimple phi;
++ gimple_seq seq;
++ gimple_stmt_iterator gsi = gsi_for_stmt(oldstmt);
+
-+ new_rhs = expand(visited, arg);
-+ if (new_rhs == NULL_TREE)
-+ return NULL_TREE;
++ bb = gsi_bb(gsi);
+
-+ def_stmt = get_def_stmt(new_rhs);
-+ if (gimple_code(def_stmt) == GIMPLE_NOP)
-+ return NULL_TREE;
-+ new_rhs = cast_to_new_size_overflow_type(def_stmt, new_rhs, size_overflow_type, AFTER_STMT);
++ phi = create_phi_node(result, bb);
++ gimple_phi_set_result(phi, make_ssa_name(result, phi));
++ seq = phi_nodes(bb);
++ gsi = gsi_last(seq);
++ gsi_remove(&gsi, false);
+
-+ newstmt = handle_new_phi_arg(arg, new_var, new_rhs);
-+ return gimple_get_lhs(newstmt);
++ gsi = gsi_for_stmt(oldstmt);
++ gsi_insert_after(&gsi, phi, GSI_NEW_STMT);
++ gimple_set_bb(phi, bb);
++ gimple_set_plf(phi, MY_STMT, true);
++ return phi;
+}
+
-+static tree build_new_phi(struct pointer_set_t *visited, tree orig_result)
++static tree handle_phi(struct pointer_set_t *visited, tree orig_result)
+{
-+ gimple phi, oldstmt = get_def_stmt(orig_result);
-+ tree new_result, size_overflow_type;
++ gimple new_phi = NULL;
++ gimple oldstmt = get_def_stmt(orig_result);
++ tree phi_ssa_name = NULL_TREE;
+ unsigned int i;
-+ unsigned int n = gimple_phi_num_args(oldstmt);
-+
-+ size_overflow_type = get_size_overflow_type(oldstmt, orig_result);
-+
-+ new_result = create_new_var(size_overflow_type);
+
+ pointer_set_insert(visited, oldstmt);
-+ phi = overflow_create_phi_node(oldstmt, new_result);
-+ for (i = 0; i < n; i++) {
-+ tree arg, lhs;
++ for (i = 0; i < gimple_phi_num_args(oldstmt); i++) {
++ tree arg, new_arg;
+
+ arg = gimple_phi_arg_def(oldstmt, i);
-+ if (is_gimple_constant(arg))
-+ arg = cast_a_tree(size_overflow_type, arg);
-+ lhs = build_new_phi_arg(visited, size_overflow_type, arg, new_result);
-+ if (lhs == NULL_TREE)
-+ lhs = cast_old_phi_arg(oldstmt, size_overflow_type, arg, new_result, i);
-+ add_phi_arg(phi, lhs, gimple_phi_arg_edge(oldstmt, i), gimple_location(oldstmt));
++
++ new_arg = expand(visited, arg);
++ new_arg = create_new_phi_arg(phi_ssa_name, new_arg, arg, oldstmt);
++ if (i == 0) {
++ phi_ssa_name = new_arg;
++ new_phi = overflow_create_phi_node(oldstmt, SSA_NAME_VAR(phi_ssa_name));
++ }
++
++ gcc_assert(new_phi != NULL);
++ add_phi_arg(new_phi, new_arg, gimple_phi_arg_edge(oldstmt, i), gimple_location(oldstmt));
+ }
+
-+ update_stmt(phi);
-+ return gimple_phi_result(phi);
++ gcc_assert(new_phi != NULL);
++ update_stmt(new_phi);
++ return gimple_phi_result(new_phi);
+}
+
+static tree change_assign_rhs(gimple stmt, const_tree orig_rhs, tree new_rhs)
@@ -93542,61 +100021,10 @@ index 0000000..d52f2ee
+
+ gcc_assert(gimple_code(stmt) == GIMPLE_ASSIGN);
+
-+ assign = build_cast_stmt(origtype, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT);
++ assign = build_cast_stmt(origtype, new_rhs, CREATE_NEW_VAR, &gsi, BEFORE_STMT, false);
+ return gimple_get_lhs(assign);
+}
+
-+static void change_rhs1(gimple stmt, tree new_rhs1)
-+{
-+ tree assign_rhs;
-+ const_tree rhs = gimple_assign_rhs1(stmt);
-+
-+ assign_rhs = change_assign_rhs(stmt, rhs, new_rhs1);
-+ gimple_assign_set_rhs1(stmt, assign_rhs);
-+ update_stmt(stmt);
-+}
-+
-+static bool check_mode_type(const_gimple stmt)
-+{
-+ const_tree lhs = gimple_get_lhs(stmt);
-+ const_tree lhs_type = TREE_TYPE(lhs);
-+ const_tree rhs_type = TREE_TYPE(gimple_assign_rhs1(stmt));
-+ enum machine_mode lhs_mode = TYPE_MODE(lhs_type);
-+ enum machine_mode rhs_mode = TYPE_MODE(rhs_type);
-+
-+ if (rhs_mode == lhs_mode && TYPE_UNSIGNED(rhs_type) == TYPE_UNSIGNED(lhs_type))
-+ return false;
-+
-+ if (rhs_mode == SImode && lhs_mode == DImode && (TYPE_UNSIGNED(rhs_type) || !TYPE_UNSIGNED(lhs_type)))
-+ return false;
-+
-+ // skip lhs check on signed SI -> HI cast or signed SI -> QI cast
-+ if (rhs_mode == SImode && !TYPE_UNSIGNED(rhs_type) && (lhs_mode == HImode || lhs_mode == QImode))
-+ return false;
-+
-+ return true;
-+}
-+
-+static bool check_undefined_integer_operation(const_gimple stmt)
-+{
-+ const_gimple def_stmt;
-+ const_tree lhs = gimple_get_lhs(stmt);
-+ const_tree rhs1 = gimple_assign_rhs1(stmt);
-+ const_tree rhs1_type = TREE_TYPE(rhs1);
-+ const_tree lhs_type = TREE_TYPE(lhs);
-+
-+ if (TYPE_MODE(rhs1_type) != TYPE_MODE(lhs_type) || TYPE_UNSIGNED(rhs1_type) == TYPE_UNSIGNED(lhs_type))
-+ return false;
-+
-+ def_stmt = get_def_stmt(rhs1);
-+ if (gimple_code(def_stmt) != GIMPLE_ASSIGN)
-+ return false;
-+
-+ if (gimple_assign_rhs_code(def_stmt) != MINUS_EXPR)
-+ return false;
-+ return true;
-+}
-+
+static bool is_a_cast_and_const_overflow(const_tree no_const_rhs)
+{
+ const_tree rhs1, lhs, rhs1_type, lhs_type;
@@ -93631,18 +100059,80 @@ index 0000000..d52f2ee
+ return create_assign(visited, stmt, rhs1, AFTER_STMT);
+}
+
-+static tree handle_unary_rhs(struct pointer_set_t *visited, gimple stmt)
++static bool skip_lhs_cast_check(const_gimple stmt)
+{
-+ tree size_overflow_type, lhs = gimple_get_lhs(stmt);
-+ tree new_rhs1 = NULL_TREE;
-+ tree rhs1 = gimple_assign_rhs1(stmt);
-+ const_tree rhs1_type = TREE_TYPE(rhs1);
++ const_tree rhs = gimple_assign_rhs1(stmt);
++ const_gimple def_stmt = get_def_stmt(rhs);
++
++ // 3.8.2 kernel/futex_compat.c compat_exit_robust_list(): get_user() 64 ulong -> int (compat_long_t), int max
++ if (gimple_code(def_stmt) == GIMPLE_ASM)
++ return true;
++
++ return false;
++}
++
++static tree create_cast_overflow_check(struct pointer_set_t *visited, tree new_rhs1, gimple stmt)
++{
++ bool cast_lhs, cast_rhs;
++ tree lhs = gimple_get_lhs(stmt);
++ tree rhs = gimple_assign_rhs1(stmt);
+ const_tree lhs_type = TREE_TYPE(lhs);
++ const_tree rhs_type = TREE_TYPE(rhs);
++ enum machine_mode lhs_mode = TYPE_MODE(lhs_type);
++ enum machine_mode rhs_mode = TYPE_MODE(rhs_type);
++ unsigned int lhs_size = GET_MODE_BITSIZE(lhs_mode);
++ unsigned int rhs_size = GET_MODE_BITSIZE(rhs_mode);
++
++ static bool check_lhs[3][4] = {
++ // ss su us uu
++ { false, true, true, false }, // lhs > rhs
++ { false, false, false, false }, // lhs = rhs
++ { true, true, true, true }, // lhs < rhs
++ };
++
++ static bool check_rhs[3][4] = {
++ // ss su us uu
++ { true, false, true, true }, // lhs > rhs
++ { true, false, true, true }, // lhs = rhs
++ { true, false, true, true }, // lhs < rhs
++ };
++
++ // skip lhs check on signed SI -> HI cast or signed SI -> QI cast !!!!
++ if (rhs_mode == SImode && !TYPE_UNSIGNED(rhs_type) && (lhs_mode == HImode || lhs_mode == QImode))
++ return create_assign(visited, stmt, lhs, AFTER_STMT);
++
++ if (lhs_size > rhs_size) {
++ cast_lhs = check_lhs[0][TYPE_UNSIGNED(rhs_type) + 2 * TYPE_UNSIGNED(lhs_type)];
++ cast_rhs = check_rhs[0][TYPE_UNSIGNED(rhs_type) + 2 * TYPE_UNSIGNED(lhs_type)];
++ } else if (lhs_size == rhs_size) {
++ cast_lhs = check_lhs[1][TYPE_UNSIGNED(rhs_type) + 2 * TYPE_UNSIGNED(lhs_type)];
++ cast_rhs = check_rhs[1][TYPE_UNSIGNED(rhs_type) + 2 * TYPE_UNSIGNED(lhs_type)];
++ } else {
++ cast_lhs = check_lhs[2][TYPE_UNSIGNED(rhs_type) + 2 * TYPE_UNSIGNED(lhs_type)];
++ cast_rhs = check_rhs[2][TYPE_UNSIGNED(rhs_type) + 2 * TYPE_UNSIGNED(lhs_type)];
++ }
++
++ if (!cast_lhs && !cast_rhs)
++ return dup_assign(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE);
++
++ if (cast_lhs && !skip_lhs_cast_check(stmt))
++ check_size_overflow(stmt, TREE_TYPE(new_rhs1), new_rhs1, lhs, BEFORE_STMT);
++
++ if (cast_rhs)
++ check_size_overflow(stmt, TREE_TYPE(new_rhs1), new_rhs1, rhs, BEFORE_STMT);
++
++ return dup_assign(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE);
++}
++
++static tree handle_unary_rhs(struct pointer_set_t *visited, gimple stmt)
++{
++ tree rhs1, new_rhs1, lhs = gimple_get_lhs(stmt);
+
+ if (gimple_plf(stmt, MY_STMT))
+ return lhs;
+
-+ if (TREE_CODE(rhs1_type) == POINTER_TYPE)
++ rhs1 = gimple_assign_rhs1(stmt);
++ if (TREE_CODE(TREE_TYPE(rhs1)) == POINTER_TYPE)
+ return create_assign(visited, stmt, lhs, AFTER_STMT);
+
+ new_rhs1 = expand(visited, rhs1);
@@ -93654,34 +100144,17 @@ index 0000000..d52f2ee
+ return dup_assign(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE);
+
+ if (gimple_assign_rhs_code(stmt) == BIT_NOT_EXPR) {
-+ size_overflow_type = get_size_overflow_type(stmt, rhs1);
++ tree size_overflow_type = get_size_overflow_type(stmt, rhs1);
++
+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT);
+ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT);
+ return create_assign(visited, stmt, lhs, AFTER_STMT);
+ }
+
-+ if (!gimple_assign_cast_p(stmt) || check_undefined_integer_operation(stmt))
++ if (!gimple_assign_cast_p(stmt))
+ return dup_assign(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE);
+
-+ if (TYPE_UNSIGNED(rhs1_type) != TYPE_UNSIGNED(lhs_type))
-+ return dup_assign(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE);
-+
-+ size_overflow_type = get_size_overflow_type(stmt, rhs1);
-+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT);
-+
-+ check_size_overflow(stmt, size_overflow_type, new_rhs1, rhs1, BEFORE_STMT);
-+
-+ change_rhs1(stmt, new_rhs1);
-+
-+ if (!check_mode_type(stmt))
-+ return create_assign(visited, stmt, lhs, AFTER_STMT);
-+
-+ size_overflow_type = get_size_overflow_type(stmt, lhs);
-+ new_rhs1 = cast_to_new_size_overflow_type(stmt, new_rhs1, size_overflow_type, BEFORE_STMT);
-+
-+ check_size_overflow(stmt, size_overflow_type, new_rhs1, lhs, BEFORE_STMT);
-+
-+ return create_assign(visited, stmt, lhs, AFTER_STMT);
++ return create_cast_overflow_check(visited, new_rhs1, stmt);
+}
+
+static tree handle_unary_ops(struct pointer_set_t *visited, gimple stmt)
@@ -93695,7 +100168,6 @@ index 0000000..d52f2ee
+ if (is_gimple_constant(rhs1))
+ return create_assign(visited, def_stmt, lhs, AFTER_STMT);
+
-+ gcc_assert(TREE_CODE(rhs1) != COND_EXPR);
+ switch (TREE_CODE(rhs1)) {
+ case SSA_NAME:
+ return handle_unary_rhs(visited, def_stmt);
@@ -93843,7 +100315,7 @@ index 0000000..d52f2ee
+ if (TREE_CODE(rhs_type) == POINTER_TYPE)
+ return;
+
-+ gcc_assert(TREE_CODE(rhs_type) == INTEGER_TYPE || TREE_CODE(rhs_type) == BOOLEAN_TYPE || TREE_CODE(rhs_type) == ENUMERAL_TYPE);
++ gcc_assert(TREE_CODE(rhs_type) == INTEGER_TYPE || TREE_CODE(rhs_type) == ENUMERAL_TYPE);
+
+ type_max = cast_a_tree(size_overflow_type, TYPE_MAX_VALUE(rhs_type));
+ // typemax (-1) < typemin (0)
@@ -93862,43 +100334,74 @@ index 0000000..d52f2ee
+ insert_check_size_overflow(stmt, LT_EXPR, cast_rhs, type_min, before, true);
+}
+
-+static tree get_size_overflow_type_for_intentional_overflow(gimple def_stmt, tree change_rhs)
++static bool is_a_constant_overflow(const_gimple stmt, const_tree rhs)
+{
-+ gimple change_rhs_def_stmt;
-+ tree lhs = gimple_get_lhs(def_stmt);
-+ tree lhs_type = TREE_TYPE(lhs);
-+ tree rhs1_type = TREE_TYPE(gimple_assign_rhs1(def_stmt));
-+ tree rhs2_type = TREE_TYPE(gimple_assign_rhs2(def_stmt));
-+
-+ if (change_rhs == NULL_TREE)
-+ return get_size_overflow_type(def_stmt, lhs);
++ if (gimple_assign_rhs_code(stmt) == MIN_EXPR)
++ return false;
++ if (!is_gimple_constant(rhs))
++ return false;
++ return true;
++}
+
-+ change_rhs_def_stmt = get_def_stmt(change_rhs);
++static tree get_def_stmt_rhs(const_tree var)
++{
++ tree rhs1, def_stmt_rhs1;
++ gimple rhs1_def_stmt, def_stmt_rhs1_def_stmt, def_stmt;
+
-+ if (TREE_CODE_CLASS(gimple_assign_rhs_code(def_stmt)) == tcc_comparison)
-+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs);
++ def_stmt = get_def_stmt(var);
++ gcc_assert(gimple_code(def_stmt) != GIMPLE_NOP && gimple_plf(def_stmt, MY_STMT) && gimple_assign_cast_p(def_stmt));
+
-+ if (gimple_assign_rhs_code(def_stmt) == LSHIFT_EXPR)
-+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs);
++ rhs1 = gimple_assign_rhs1(def_stmt);
++ rhs1_def_stmt = get_def_stmt(rhs1);
++ if (!gimple_assign_cast_p(rhs1_def_stmt))
++ return rhs1;
+
-+ if (gimple_assign_rhs_code(def_stmt) == RSHIFT_EXPR)
-+ return get_size_overflow_type(change_rhs_def_stmt, change_rhs);
++ def_stmt_rhs1 = gimple_assign_rhs1(rhs1_def_stmt);
++ def_stmt_rhs1_def_stmt = get_def_stmt(def_stmt_rhs1);
+
-+ if (!types_compatible_p(lhs_type, rhs1_type) || !types_compatible_p(rhs1_type, rhs2_type)) {
-+ debug_gimple_stmt(def_stmt);
++ switch (gimple_code(def_stmt_rhs1_def_stmt)) {
++ case GIMPLE_CALL:
++ case GIMPLE_NOP:
++ case GIMPLE_ASM:
++ case GIMPLE_PHI:
++ return def_stmt_rhs1;
++ case GIMPLE_ASSIGN:
++ return rhs1;
++ default:
++ debug_gimple_stmt(def_stmt_rhs1_def_stmt);
+ gcc_unreachable();
+ }
-+
-+ return get_size_overflow_type(def_stmt, lhs);
+}
+
-+static bool is_a_constant_overflow(const_gimple stmt, const_tree rhs)
++static tree handle_intentional_overflow(struct pointer_set_t *visited, bool check_overflow, gimple stmt, tree change_rhs, tree new_rhs2)
+{
-+ if (gimple_assign_rhs_code(stmt) == MIN_EXPR)
-+ return false;
-+ if (!is_gimple_constant(rhs))
-+ return false;
-+ return true;
++ tree new_rhs, orig_rhs;
++ void (*gimple_assign_set_rhs)(gimple, tree);
++ tree rhs1 = gimple_assign_rhs1(stmt);
++ tree rhs2 = gimple_assign_rhs2(stmt);
++ tree lhs = gimple_get_lhs(stmt);
++
++ if (!check_overflow)
++ return create_assign(visited, stmt, lhs, AFTER_STMT);
++
++ if (change_rhs == NULL_TREE)
++ return create_assign(visited, stmt, lhs, AFTER_STMT);
++
++ if (new_rhs2 == NULL_TREE) {
++ orig_rhs = rhs1;
++ gimple_assign_set_rhs = &gimple_assign_set_rhs1;
++ } else {
++ orig_rhs = rhs2;
++ gimple_assign_set_rhs = &gimple_assign_set_rhs2;
++ }
++
++ check_size_overflow(stmt, TREE_TYPE(change_rhs), change_rhs, orig_rhs, BEFORE_STMT);
++
++ new_rhs = change_assign_rhs(stmt, orig_rhs, change_rhs);
++ gimple_assign_set_rhs(stmt, new_rhs);
++ update_stmt(stmt);
++
++ return create_assign(visited, stmt, lhs, AFTER_STMT);
+}
+
+static bool is_subtraction_special(const_gimple stmt)
@@ -93940,35 +100443,6 @@ index 0000000..d52f2ee
+ return true;
+}
+
-+static tree get_def_stmt_rhs(const_tree var)
-+{
-+ tree rhs1, def_stmt_rhs1;
-+ gimple rhs1_def_stmt, def_stmt_rhs1_def_stmt, def_stmt;
-+
-+ def_stmt = get_def_stmt(var);
-+ gcc_assert(gimple_code(def_stmt) != GIMPLE_NOP && gimple_plf(def_stmt, MY_STMT) && gimple_assign_cast_p(def_stmt));
-+
-+ rhs1 = gimple_assign_rhs1(def_stmt);
-+ rhs1_def_stmt = get_def_stmt(rhs1);
-+ if (!gimple_assign_cast_p(rhs1_def_stmt))
-+ return rhs1;
-+
-+ def_stmt_rhs1 = gimple_assign_rhs1(rhs1_def_stmt);
-+ def_stmt_rhs1_def_stmt = get_def_stmt(def_stmt_rhs1);
-+
-+ switch (gimple_code(def_stmt_rhs1_def_stmt)) {
-+ case GIMPLE_CALL:
-+ case GIMPLE_NOP:
-+ case GIMPLE_ASM:
-+ return def_stmt_rhs1;
-+ case GIMPLE_ASSIGN:
-+ return rhs1;
-+ default:
-+ debug_gimple_stmt(def_stmt_rhs1_def_stmt);
-+ gcc_unreachable();
-+ }
-+}
-+
+static tree handle_integer_truncation(struct pointer_set_t *visited, const_tree lhs)
+{
+ tree new_rhs1, new_rhs2;
@@ -94015,41 +100489,6 @@ index 0000000..d52f2ee
+ return true;
+}
+
-+static tree handle_intentional_overflow(struct pointer_set_t *visited, bool check_overflow, gimple stmt, tree change_rhs, tree new_rhs1, tree new_rhs2)
-+{
-+ tree new_rhs, size_overflow_type, orig_rhs;
-+ void (*gimple_assign_set_rhs)(gimple, tree);
-+ tree rhs1 = gimple_assign_rhs1(stmt);
-+ tree rhs2 = gimple_assign_rhs2(stmt);
-+ tree lhs = gimple_get_lhs(stmt);
-+
-+ if (change_rhs == NULL_TREE)
-+ return create_assign(visited, stmt, lhs, AFTER_STMT);
-+
-+ if (new_rhs2 == NULL_TREE) {
-+ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs1);
-+ new_rhs2 = cast_a_tree(size_overflow_type, rhs2);
-+ orig_rhs = rhs1;
-+ gimple_assign_set_rhs = &gimple_assign_set_rhs1;
-+ } else {
-+ size_overflow_type = get_size_overflow_type_for_intentional_overflow(stmt, new_rhs2);
-+ new_rhs1 = cast_a_tree(size_overflow_type, rhs1);
-+ orig_rhs = rhs2;
-+ gimple_assign_set_rhs = &gimple_assign_set_rhs2;
-+ }
-+
-+ change_rhs = cast_to_new_size_overflow_type(stmt, change_rhs, size_overflow_type, BEFORE_STMT);
-+
-+ if (check_overflow)
-+ check_size_overflow(stmt, size_overflow_type, change_rhs, orig_rhs, BEFORE_STMT);
-+
-+ new_rhs = change_assign_rhs(stmt, orig_rhs, change_rhs);
-+ gimple_assign_set_rhs(stmt, new_rhs);
-+ update_stmt(stmt);
-+
-+ return create_assign(visited, stmt, lhs, AFTER_STMT);
-+}
-+
+static tree handle_binary_ops(struct pointer_set_t *visited, tree lhs)
+{
+ tree rhs1, rhs2, new_lhs;
@@ -94089,14 +100528,15 @@ index 0000000..d52f2ee
+ new_rhs2 = expand(visited, rhs2);
+
+ if (is_a_neg_overflow(def_stmt, rhs2))
-+ return handle_intentional_overflow(visited, true, def_stmt, new_rhs1, new_rhs1, NULL_TREE);
++ return handle_intentional_overflow(visited, true, def_stmt, new_rhs1, NULL_TREE);
+ if (is_a_neg_overflow(def_stmt, rhs1))
-+ return handle_intentional_overflow(visited, true, def_stmt, new_rhs2, NULL_TREE, new_rhs2);
++ return handle_intentional_overflow(visited, true, def_stmt, new_rhs2, new_rhs2);
++
+
+ if (is_a_constant_overflow(def_stmt, rhs2))
-+ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs1), def_stmt, new_rhs1, new_rhs1, NULL_TREE);
++ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs1), def_stmt, new_rhs1, NULL_TREE);
+ if (is_a_constant_overflow(def_stmt, rhs1))
-+ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs2), def_stmt, new_rhs2, NULL_TREE, new_rhs2);
++ return handle_intentional_overflow(visited, !is_a_cast_and_const_overflow(rhs2), def_stmt, new_rhs2, new_rhs2);
+
+ return dup_assign(visited, def_stmt, lhs, new_rhs1, new_rhs2, NULL_TREE);
+}
@@ -94171,41 +100611,34 @@ index 0000000..d52f2ee
+static tree expand_visited(gimple def_stmt)
+{
+ const_gimple next_stmt;
-+ gimple_stmt_iterator gsi = gsi_for_stmt(def_stmt);
++ gimple_stmt_iterator gsi;
++ enum gimple_code code = gimple_code(def_stmt);
++
++ if (code == GIMPLE_ASM)
++ return NULL_TREE;
+
++ gsi = gsi_for_stmt(def_stmt);
+ gsi_next(&gsi);
++
++ if (gimple_code(def_stmt) == GIMPLE_PHI && gsi_end_p(gsi))
++ return NULL_TREE;
++ gcc_assert(!gsi_end_p(gsi));
+ next_stmt = gsi_stmt(gsi);
+
++ if (gimple_code(def_stmt) == GIMPLE_PHI && !gimple_plf((gimple)next_stmt, MY_STMT))
++ return NULL_TREE;
+ gcc_assert(gimple_plf((gimple)next_stmt, MY_STMT));
+
-+ switch (gimple_code(next_stmt)) {
-+ case GIMPLE_ASSIGN:
-+ return gimple_get_lhs(next_stmt);
-+ case GIMPLE_PHI:
-+ return gimple_phi_result(next_stmt);
-+ case GIMPLE_CALL:
-+ return gimple_call_lhs(next_stmt);
-+ default:
-+ return NULL_TREE;
-+ }
++ return get_lhs(next_stmt);
+}
+
+static tree expand(struct pointer_set_t *visited, tree lhs)
+{
+ gimple def_stmt;
-+ enum tree_code code = TREE_CODE(TREE_TYPE(lhs));
+
-+ if (is_gimple_constant(lhs))
-+ return NULL_TREE;
-+
-+ if (TREE_CODE(lhs) == ADDR_EXPR)
-+ return NULL_TREE;
-+
-+ if (code == REAL_TYPE)
++ if (skip_types(lhs))
+ return NULL_TREE;
+
-+ gcc_assert(code == INTEGER_TYPE || code == POINTER_TYPE || code == BOOLEAN_TYPE || code == ENUMERAL_TYPE);
-+
+ def_stmt = get_def_stmt(lhs);
+
+ if (!def_stmt || gimple_code(def_stmt) == GIMPLE_NOP)
@@ -94219,7 +100652,7 @@ index 0000000..d52f2ee
+
+ switch (gimple_code(def_stmt)) {
+ case GIMPLE_PHI:
-+ return build_new_phi(visited, lhs);
++ return handle_phi(visited, lhs);
+ case GIMPLE_CALL:
+ case GIMPLE_ASM:
+ return create_assign(visited, def_stmt, lhs, AFTER_STMT);
@@ -94241,23 +100674,30 @@ index 0000000..d52f2ee
+ }
+}
+
-+static void change_function_arg(gimple stmt, const_tree origarg, unsigned int argnum, tree newarg)
++static tree get_new_tree(gimple stmt, const_tree orig_node, tree new_node)
+{
+ const_gimple assign;
++ tree orig_type = TREE_TYPE(orig_node);
+ gimple_stmt_iterator gsi = gsi_for_stmt(stmt);
-+ tree origtype = TREE_TYPE(origarg);
+
-+ gcc_assert(gimple_code(stmt) == GIMPLE_CALL);
++ assign = build_cast_stmt(orig_type, new_node, CREATE_NEW_VAR, &gsi, BEFORE_STMT, false);
++ return gimple_get_lhs(assign);
++}
+
-+ assign = build_cast_stmt(origtype, newarg, CREATE_NEW_VAR, &gsi, BEFORE_STMT);
++static void change_function_arg(gimple stmt, const_tree orig_arg, unsigned int argnum, tree new_arg)
++{
++ gimple_call_set_arg(stmt, argnum, get_new_tree(stmt, orig_arg, new_arg));
++ update_stmt(stmt);
++}
+
-+ gimple_call_set_arg(stmt, argnum, gimple_get_lhs(assign));
++static void change_function_return(gimple stmt, const_tree orig_ret, tree new_ret)
++{
++ gimple_return_set_retval(stmt, get_new_tree(stmt, orig_ret, new_ret));
+ update_stmt(stmt);
+}
+
+static bool get_function_arg(unsigned int* argnum, const_tree fndecl)
+{
-+ const char *origid;
+ tree arg;
+ const_tree origarg;
+
@@ -94273,94 +100713,66 @@ index 0000000..d52f2ee
+ gcc_assert(*argnum == 0);
+
+ gcc_assert(origarg != NULL_TREE);
-+ origid = NAME(origarg);
+ *argnum = 0;
-+ for (arg = DECL_ARGUMENTS(fndecl); arg; arg = TREE_CHAIN(arg)) {
-+ if (!strcmp(origid, NAME(arg)))
++ for (arg = DECL_ARGUMENTS(fndecl); arg; arg = TREE_CHAIN(arg), (*argnum)++)
++ if (operand_equal_p(origarg, arg, 0) || !strcmp(NAME(origarg), NAME(arg)))
+ return true;
-+ (*argnum)++;
-+ }
+ return false;
+}
+
-+static bool skip_types(const_tree var)
-+{
-+ const_tree type;
-+
-+ switch (TREE_CODE(var)) {
-+ case ADDR_EXPR:
-+#if BUILDING_GCC_VERSION >= 4006
-+ case MEM_REF:
-+#endif
-+ case ARRAY_REF:
-+ case BIT_FIELD_REF:
-+ case INDIRECT_REF:
-+ case TARGET_MEM_REF:
-+ case VAR_DECL:
-+ return true;
-+ default:
-+ break;
-+ }
-+
-+ type = TREE_TYPE(TREE_TYPE(var));
-+ if (!type)
-+ return false;
-+ switch (TREE_CODE(type)) {
-+ case RECORD_TYPE:
-+ return true;
-+ default:
-+ break;
-+ }
-+
-+ return false;
-+}
-+
-+static bool walk_phi(struct pointer_set_t *visited, const_tree result)
++static enum mark walk_phi(struct pointer_set_t *visited, bool *search_err_code, const_tree result)
+{
+ gimple phi = get_def_stmt(result);
+ unsigned int i, n = gimple_phi_num_args(phi);
+
+ if (!phi)
-+ return false;
++ return MARK_NO;
+
+ pointer_set_insert(visited, phi);
+ for (i = 0; i < n; i++) {
++ enum mark marked;
+ const_tree arg = gimple_phi_arg_def(phi, i);
-+ if (pre_expand(visited, arg))
-+ return true;
++ marked = pre_expand(visited, search_err_code, arg);
++ if (marked != MARK_NO)
++ return marked;
+ }
-+ return false;
++ return MARK_NO;
+}
+
-+static bool walk_unary_ops(struct pointer_set_t *visited, const_tree lhs)
++static enum mark walk_unary_ops(struct pointer_set_t *visited, bool *search_err_code, const_tree lhs)
+{
+ gimple def_stmt = get_def_stmt(lhs);
+ const_tree rhs;
+
+ if (!def_stmt)
-+ return false;
++ return MARK_NO;
+
+ rhs = gimple_assign_rhs1(def_stmt);
-+ if (pre_expand(visited, rhs))
-+ return true;
-+ return false;
++
++ def_stmt = get_def_stmt(rhs);
++ if (is_gimple_constant(rhs))
++ search_err_code[FROM_CONST] = true;
++
++ return pre_expand(visited, search_err_code, rhs);
+}
+
-+static bool walk_binary_ops(struct pointer_set_t *visited, const_tree lhs)
++static enum mark walk_binary_ops(struct pointer_set_t *visited, bool *search_err_code, const_tree lhs)
+{
-+ bool rhs1_found, rhs2_found;
+ gimple def_stmt = get_def_stmt(lhs);
+ const_tree rhs1, rhs2;
++ enum mark marked;
+
+ if (!def_stmt)
-+ return false;
++ return MARK_NO;
++
++ search_err_code[CAST_ONLY] = false;
+
+ rhs1 = gimple_assign_rhs1(def_stmt);
+ rhs2 = gimple_assign_rhs2(def_stmt);
-+ rhs1_found = pre_expand(visited, rhs1);
-+ rhs2_found = pre_expand(visited, rhs2);
-+
-+ return rhs1_found || rhs2_found;
++ marked = pre_expand(visited, search_err_code, rhs1);
++ if (marked != MARK_NO)
++ return marked;
++ return pre_expand(visited, search_err_code, rhs2);
+}
+
+static const_tree search_field_decl(const_tree comp_ref)
@@ -94377,25 +100789,35 @@ index 0000000..d52f2ee
+ return field;
+}
+
-+static enum marked mark_status(const_tree fndecl, unsigned int argnum)
++static enum mark mark_status(const_tree fndecl, unsigned int argnum)
+{
+ const_tree attr, p;
+
++ // mm/filemap.c D.35286_51 = D.35283_46 (file_10(D), mapping_11, pos_1, D.35273_50, D.35285_49, page.14_48, fsdata.15_47);
++ if (fndecl == NULL_TREE)
++ return MARK_NO;
++
+ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(fndecl));
+ if (!attr || !TREE_VALUE(attr))
-+ return MARKED_NO;
++ return MARK_NO;
+
+ p = TREE_VALUE(attr);
++ if (TREE_INT_CST_HIGH(TREE_VALUE(p)) == -1)
++ return MARK_TURN_OFF;
+ if (!TREE_INT_CST_LOW(TREE_VALUE(p)))
-+ return MARKED_NOT_INTENTIONAL;
++ return MARK_NOT_INTENTIONAL;
++ if (argnum == 0) {
++ gcc_assert(current_function_decl == fndecl);
++ return MARK_NO;
++ }
+
+ do {
+ if (argnum == TREE_INT_CST_LOW(TREE_VALUE(p)))
-+ return MARKED_YES;
++ return MARK_YES;
+ p = TREE_CHAIN(p);
+ } while (p);
+
-+ return MARKED_NO;
++ return MARK_NO;
+}
+
+static void print_missing_msg(tree func, unsigned int argnum)
@@ -94403,8 +100825,12 @@ index 0000000..d52f2ee
+ unsigned int new_hash;
+ size_t len;
+ unsigned char tree_codes[CODES_LIMIT];
-+ location_t loc = DECL_SOURCE_LOCATION(func);
-+ const char *curfunc = get_asm_name(func);
++ location_t loc;
++ const char *curfunc;
++
++ func = get_original_function_decl(func);
++ loc = DECL_SOURCE_LOCATION(func);
++ curfunc = get_asm_name(func);
+
+ len = get_function_decl(func, tree_codes);
+ new_hash = get_hash_num(curfunc, (const char *) tree_codes, len, 0);
@@ -94413,10 +100839,10 @@ index 0000000..d52f2ee
+
+static unsigned int search_missing_attribute(const_tree arg)
+{
-+ const_tree type = TREE_TYPE(arg);
-+ tree func = get_original_function_decl(current_function_decl);
+ unsigned int argnum;
+ const struct size_overflow_hash *hash;
++ const_tree type = TREE_TYPE(arg);
++ tree func = get_original_function_decl(current_function_decl);
+
+ gcc_assert(TREE_CODE(arg) != COMPONENT_REF);
+
@@ -94438,31 +100864,24 @@ index 0000000..d52f2ee
+ return argnum;
+}
+
-+static bool is_already_marked(const_tree lhs)
++static enum mark is_already_marked(const_tree lhs)
+{
+ unsigned int argnum;
+ const_tree fndecl;
+
+ argnum = search_missing_attribute(lhs);
+ fndecl = get_original_function_decl(current_function_decl);
-+ if (argnum && mark_status(fndecl, argnum) == MARKED_YES)
-+ return true;
-+ return false;
++ if (argnum && mark_status(fndecl, argnum) == MARK_YES)
++ return MARK_YES;
++ return MARK_NO;
+}
+
-+static bool pre_expand(struct pointer_set_t *visited, const_tree lhs)
++static enum mark pre_expand(struct pointer_set_t *visited, bool *search_err_code, const_tree lhs)
+{
+ const_gimple def_stmt;
+
-+ if (is_gimple_constant(lhs))
-+ return false;
-+
+ if (skip_types(lhs))
-+ return false;
-+
-+ // skip char type (FIXME: only kernel)
-+ if (TYPE_MODE(TREE_TYPE(lhs)) == QImode)
-+ return false;
++ return MARK_NO;
+
+ if (TREE_CODE(lhs) == PARM_DECL)
+ return is_already_marked(lhs);
@@ -94473,34 +100892,39 @@ index 0000000..d52f2ee
+ field = search_field_decl(lhs);
+ attr = lookup_attribute("intentional_overflow", DECL_ATTRIBUTES(field));
+ if (!attr || !TREE_VALUE(attr))
-+ return false;
-+ return true;
++ return MARK_NO;
++ return MARK_YES;
+ }
+
+ def_stmt = get_def_stmt(lhs);
+
+ if (!def_stmt)
-+ return false;
++ return MARK_NO;
+
+ if (pointer_set_contains(visited, def_stmt))
-+ return false;
++ return MARK_NO;
+
+ switch (gimple_code(def_stmt)) {
+ case GIMPLE_NOP:
+ if (TREE_CODE(SSA_NAME_VAR(lhs)) == PARM_DECL)
+ return is_already_marked(lhs);
-+ return false;
++ return MARK_NO;
+ case GIMPLE_PHI:
-+ return walk_phi(visited, lhs);
++ return walk_phi(visited, search_err_code, lhs);
+ case GIMPLE_CALL:
++ if (mark_status((gimple_call_fndecl(def_stmt)), 0) == MARK_TURN_OFF)
++ return MARK_TURN_OFF;
++ check_function_hash(def_stmt);
++ return MARK_NO;
+ case GIMPLE_ASM:
-+ return false;
++ search_err_code[CAST_ONLY] = false;
++ return MARK_NO;
+ case GIMPLE_ASSIGN:
+ switch (gimple_num_ops(def_stmt)) {
+ case 2:
-+ return walk_unary_ops(visited, lhs);
++ return walk_unary_ops(visited, search_err_code, lhs);
+ case 3:
-+ return walk_binary_ops(visited, lhs);
++ return walk_binary_ops(visited, search_err_code, lhs);
+ }
+ default:
+ debug_gimple_stmt((gimple)def_stmt);
@@ -94509,22 +100933,56 @@ index 0000000..d52f2ee
+ }
+}
+
-+static bool search_attributes(tree fndecl, const_tree arg, unsigned int argnum)
++// e.g., 3.8.2, 64, arch/x86/ia32/ia32_signal.c copy_siginfo_from_user32(): compat_ptr() u32 max
++static bool skip_asm(const_tree arg)
++{
++ gimple def_stmt = get_def_stmt(arg);
++
++ if (!def_stmt || !gimple_assign_cast_p(def_stmt))
++ return false;
++
++ def_stmt = get_def_stmt(gimple_assign_rhs1(def_stmt));
++ return def_stmt && gimple_code(def_stmt) == GIMPLE_ASM;
++}
++
++/*
++0</MARK_YES: no dup, search attributes (so, int)
++0/MARK_NOT_INTENTIONAL: no dup, search attribute (int)
++-1/MARK_TURN_OFF: no dup, no search, current_function_decl -> no dup
++*/
++
++static bool search_attributes(tree fndecl, const_tree arg, unsigned int argnum, bool where)
+{
+ struct pointer_set_t *visited;
-+ bool is_found;
-+ enum marked is_marked;
++ enum mark is_marked, is_found;
+ location_t loc;
++ bool search_err_code[2] = {true, false};
++
++ is_marked = mark_status(current_function_decl, 0);
++ if (is_marked == MARK_TURN_OFF)
++ return true;
++
++ is_marked = mark_status(fndecl, argnum + 1);
++ if (is_marked == MARK_TURN_OFF || is_marked == MARK_NOT_INTENTIONAL)
++ return true;
+
+ visited = pointer_set_create();
-+ is_found = pre_expand(visited, arg);
++ is_found = pre_expand(visited, search_err_code, arg);
+ pointer_set_destroy(visited);
+
-+ is_marked = mark_status(fndecl, argnum + 1);
-+ if ((is_found && is_marked == MARKED_YES) || is_marked == MARKED_NOT_INTENTIONAL)
++ if (where == FROM_RET && search_err_code[CAST_ONLY] && search_err_code[FROM_CONST])
++ return true;
++
++ if (where == FROM_ARG && skip_asm(arg))
++ return true;
++
++ if (is_found == MARK_TURN_OFF)
+ return true;
+
-+ if (is_found) {
++ if ((is_found == MARK_YES && is_marked == MARK_YES))
++ return true;
++
++ if (is_found == MARK_YES) {
+ loc = DECL_SOURCE_LOCATION(fndecl);
+ inform(loc, "The intentional_overflow attribute is missing from +%s+%u+", get_asm_name(fndecl), argnum + 1);
+ return true;
@@ -94535,9 +100993,14 @@ index 0000000..d52f2ee
+static void handle_function_arg(gimple stmt, tree fndecl, unsigned int argnum)
+{
+ struct pointer_set_t *visited;
-+ tree arg, newarg;
++ tree arg, new_arg;
+ bool match;
+
++ if (argnum == 0)
++ return;
++
++ argnum--;
++
+ match = get_function_arg(&argnum, fndecl);
+ if (!match)
+ return;
@@ -94546,54 +101009,79 @@ index 0000000..d52f2ee
+ if (arg == NULL_TREE)
+ return;
+
-+ if (is_gimple_constant(arg))
-+ return;
-+
-+ if (search_attributes(fndecl, arg, argnum))
++ if (skip_types(arg))
+ return;
+
-+ if (TREE_CODE(arg) != SSA_NAME)
++ if (search_attributes(fndecl, arg, argnum, FROM_ARG))
+ return;
+
-+ check_arg_type(arg);
-+
+ visited = pointer_set_create();
-+ newarg = expand(visited, arg);
++ new_arg = expand(visited, arg);
+ pointer_set_destroy(visited);
+
-+ if (newarg == NULL_TREE)
++ if (new_arg == NULL_TREE)
+ return;
+
-+ change_function_arg(stmt, arg, argnum, newarg);
-+
-+ check_size_overflow(stmt, TREE_TYPE(newarg), newarg, arg, BEFORE_STMT);
++ change_function_arg(stmt, arg, argnum, new_arg);
++ check_size_overflow(stmt, TREE_TYPE(new_arg), new_arg, arg, BEFORE_STMT);
+}
+
+static void handle_function_by_attribute(gimple stmt, const_tree attr, tree fndecl)
+{
+ tree p = TREE_VALUE(attr);
+ do {
-+ handle_function_arg(stmt, fndecl, TREE_INT_CST_LOW(TREE_VALUE(p))-1);
++ handle_function_arg(stmt, fndecl, TREE_INT_CST_LOW(TREE_VALUE(p)));
+ p = TREE_CHAIN(p);
+ } while (p);
+}
+
+static void handle_function_by_hash(gimple stmt, tree fndecl)
+{
-+ tree orig_fndecl;
+ unsigned int num;
+ const struct size_overflow_hash *hash;
+
-+ orig_fndecl = get_original_function_decl(fndecl);
-+ if (C_DECL_IMPLICIT(orig_fndecl))
-+ return;
-+ hash = get_function_hash(orig_fndecl);
++ hash = get_function_hash(fndecl);
+ if (!hash)
+ return;
+
-+ for (num = 1; num <= MAX_PARAM; num++)
++ for (num = 0; num <= MAX_PARAM; num++)
+ if (hash->param & (1U << num))
-+ handle_function_arg(stmt, fndecl, num - 1);
++ handle_function_arg(stmt, fndecl, num);
++}
++
++static bool check_return_value(void)
++{
++ const struct size_overflow_hash *hash;
++
++ hash = get_function_hash(current_function_decl);
++ if (!hash || !(hash->param & 1U << 0))
++ return false;
++
++ return true;
++}
++
++static void handle_return_value(gimple ret_stmt)
++{
++ struct pointer_set_t *visited;
++ tree ret, new_ret;
++
++ if (gimple_code(ret_stmt) != GIMPLE_RETURN)
++ return;
++
++ ret = gimple_return_retval(ret_stmt);
++
++ if (skip_types(ret))
++ return;
++
++ if (search_attributes(current_function_decl, ret, 0, FROM_RET))
++ return;
++
++ visited = pointer_set_create();
++ new_ret = expand(visited, ret);
++ pointer_set_destroy(visited);
++
++ change_function_return(ret_stmt, ret, new_ret);
++ check_size_overflow(ret_stmt, TREE_TYPE(new_ret), new_ret, ret, BEFORE_STMT);
+}
+
+static void set_plf_false(void)
@@ -94613,9 +101101,12 @@ index 0000000..d52f2ee
+static unsigned int handle_function(void)
+{
+ basic_block next, bb = ENTRY_BLOCK_PTR->next_bb;
++ bool check_ret;
+
+ set_plf_false();
+
++ check_ret = check_return_value();
++
+ do {
+ gimple_stmt_iterator gsi;
+ next = bb->next_bb;
@@ -94624,6 +101115,9 @@ index 0000000..d52f2ee
+ tree fndecl, attr;
+ gimple stmt = gsi_stmt(gsi);
+
++ if (check_ret)
++ handle_return_value(stmt);
++
+ if (!(is_gimple_call(stmt)))
+ continue;
+ fndecl = gimple_call_fndecl(stmt);
@@ -94661,7 +101155,7 @@ index 0000000..d52f2ee
+ .properties_provided = 0,
+ .properties_destroyed = 0,
+ .todo_flags_start = 0,
-+ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi | TODO_cleanup_cfg | TODO_ggc_collect | TODO_verify_flow
++ .todo_flags_finish = TODO_dump_func | TODO_verify_ssa | TODO_verify_stmts | TODO_remove_unused_locals | TODO_update_ssa_no_phi | TODO_cleanup_cfg | TODO_ggc_collect | TODO_verify_flow
+ }
+};
+
@@ -95057,6 +101551,282 @@ index 0000000..ac2901e
+
+ return 0;
+}
+diff --git a/tools/gcc/structleak_plugin.c b/tools/gcc/structleak_plugin.c
+new file mode 100644
+index 0000000..77a6b1d
+--- /dev/null
++++ b/tools/gcc/structleak_plugin.c
+@@ -0,0 +1,270 @@
++/*
++ * Copyright 2013 by PaX Team <pageexec@freemail.hu>
++ * Licensed under the GPL v2
++ *
++ * Note: the choice of the license means that the compilation process is
++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3,
++ * but for the kernel it doesn't matter since it doesn't link against
++ * any of the gcc libraries
++ *
++ * gcc plugin to forcibly initialize certain local variables that could
++ * otherwise leak kernel stack to userland if they aren't properly initialized
++ * by later code
++ *
++ * Homepage: http://pax.grsecurity.net/
++ *
++ * Usage:
++ * $ # for 4.5/4.6/C based 4.7
++ * $ gcc -I`gcc -print-file-name=plugin`/include -I`gcc -print-file-name=plugin`/include/c-family -fPIC -shared -O2 -o structleak_plugin.so structleak_plugin.c
++ * $ # for C++ based 4.7/4.8+
++ * $ g++ -I`g++ -print-file-name=plugin`/include -I`g++ -print-file-name=plugin`/include/c-family -fPIC -shared -O2 -o structleak_plugin.so structleak_plugin.c
++ * $ gcc -fplugin=./structleak_plugin.so test.c -O2
++ *
++ * TODO: eliminate redundant initializers
++ * increase type coverage
++ */
++
++#include "gcc-plugin.h"
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tree.h"
++#include "tree-pass.h"
++#include "intl.h"
++#include "plugin-version.h"
++#include "tm.h"
++#include "toplev.h"
++#include "function.h"
++#include "tree-flow.h"
++#include "plugin.h"
++#include "gimple.h"
++#include "diagnostic.h"
++#include "cfgloop.h"
++#include "langhooks.h"
++
++#if BUILDING_GCC_VERSION >= 4008
++#define TODO_dump_func 0
++#endif
++
++#define NAME(node) IDENTIFIER_POINTER(DECL_NAME(node))
++
++// unused type flag in all versions 4.5-4.8
++#define TYPE_USERSPACE(TYPE) TYPE_LANG_FLAG_3(TYPE)
++
++int plugin_is_GPL_compatible;
++void debug_gimple_stmt(gimple gs);
++
++static struct plugin_info structleak_plugin_info = {
++ .version = "201303270300",
++ .help = "disable\tdo not activate plugin\n",
++};
++
++static tree handle_user_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs)
++{
++ *no_add_attrs = true;
++
++ // check for types? for now accept everything linux has to offer
++ if (TREE_CODE(*node) != FIELD_DECL)
++ return NULL_TREE;
++
++ *no_add_attrs = false;
++ return NULL_TREE;
++}
++
++static struct attribute_spec user_attr = {
++ .name = "user",
++ .min_length = 0,
++ .max_length = 0,
++ .decl_required = false,
++ .type_required = false,
++ .function_type_required = false,
++ .handler = handle_user_attribute,
++#if BUILDING_GCC_VERSION >= 4007
++ .affects_type_identity = true
++#endif
++};
++
++static void register_attributes(void *event_data, void *data)
++{
++ register_attribute(&user_attr);
++// register_attribute(&force_attr);
++}
++
++static tree get_field_type(tree field)
++{
++ return strip_array_types(TREE_TYPE(field));
++}
++
++static bool is_userspace_type(tree type)
++{
++ tree field;
++
++ for (field = TYPE_FIELDS(type); field; field = TREE_CHAIN(field)) {
++ tree fieldtype = get_field_type(field);
++ enum tree_code code = TREE_CODE(fieldtype);
++
++ if (code == RECORD_TYPE || code == UNION_TYPE)
++ if (is_userspace_type(fieldtype))
++ return true;
++
++ if (lookup_attribute("user", DECL_ATTRIBUTES(field)))
++ return true;
++ }
++ return false;
++}
++
++static void finish_type(void *event_data, void *data)
++{
++ tree type = (tree)event_data;
++
++ if (TYPE_USERSPACE(type))
++ return;
++
++ if (is_userspace_type(type))
++ TYPE_USERSPACE(type) = 1;
++}
++
++static void initialize(tree var)
++{
++ basic_block bb;
++ gimple_stmt_iterator gsi;
++ tree initializer;
++ gimple init_stmt;
++
++ // this is the original entry bb before the forced split
++ bb = ENTRY_BLOCK_PTR->next_bb->next_bb;
++
++ // first check if the variable is already initialized, warn otherwise
++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
++ gimple stmt = gsi_stmt(gsi);
++
++ // we're looking for an assignment...
++ if (!(is_gimple_assign(stmt)))
++ continue;
++ // ... of a single rhs (unary op)...
++ if (gimple_num_ops(stmt) != 2)
++ continue;
++ // ... to our variable...
++ if (gimple_get_lhs(stmt) != var)
++ continue;
++ // if it's an initializer then we're good
++ if (TREE_CODE(gimple_assign_rhs1(stmt)) == CONSTRUCTOR)
++ return;
++ }
++
++ // build the initializer expression
++ initializer = make_node(CONSTRUCTOR);
++ TREE_TYPE(initializer) = TREE_TYPE(var);
++
++ // build the initializer stmt
++ init_stmt = gimple_build_assign(var, initializer);
++ gsi = gsi_start_bb(ENTRY_BLOCK_PTR->next_bb);
++ gsi_insert_before(&gsi, init_stmt, GSI_NEW_STMT);
++ update_stmt(init_stmt);
++}
++
++static unsigned int handle_function(void)
++{
++ basic_block bb;
++ unsigned int ret = 0;
++ tree var;
++
++#if BUILDING_GCC_VERSION == 4005
++ tree vars;
++#else
++ unsigned int i;
++#endif
++
++ // split the first bb where we can put the forced initializers
++ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest;
++ if (dom_info_available_p(CDI_DOMINATORS))
++ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR);
++
++ // enumarate all local variables and forcibly initialize our targets
++#if BUILDING_GCC_VERSION == 4005
++ for (vars = cfun->local_decls; vars; vars = TREE_CHAIN(vars)) {
++ var = TREE_VALUE(vars);
++#else
++ FOR_EACH_LOCAL_DECL(cfun, i, var) {
++#endif
++ tree type = TREE_TYPE(var);
++
++ gcc_assert(DECL_P(var));
++ if (is_global_var(var))
++ continue;
++
++ // only care about structure types
++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE)
++ continue;
++
++ // if the type is of interest, examine the variable
++ if (TYPE_USERSPACE(type))
++ initialize(var);
++ }
++
++ return ret;
++}
++
++static struct gimple_opt_pass structleak_pass = {
++ .pass = {
++ .type = GIMPLE_PASS,
++ .name = "structleak",
++#if BUILDING_GCC_VERSION >= 4008
++ .optinfo_flags = OPTGROUP_NONE,
++#endif
++ .gate = NULL,
++ .execute = handle_function,
++ .sub = NULL,
++ .next = NULL,
++ .static_pass_number = 0,
++ .tv_id = TV_NONE,
++ .properties_required = PROP_cfg,
++ .properties_provided = 0,
++ .properties_destroyed = 0,
++ .todo_flags_start = 0,
++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa | TODO_ggc_collect | TODO_verify_flow
++ }
++};
++
++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version)
++{
++ int i;
++ const char * const plugin_name = plugin_info->base_name;
++ const int argc = plugin_info->argc;
++ const struct plugin_argument * const argv = plugin_info->argv;
++ bool enable = true;
++
++ struct register_pass_info structleak_pass_info = {
++ .pass = &structleak_pass.pass,
++ .reference_pass_name = "ssa",
++ .ref_pass_instance_number = 1,
++ .pos_op = PASS_POS_INSERT_AFTER
++ };
++
++ if (!plugin_default_version_check(version, &gcc_version)) {
++ error(G_("incompatible gcc/plugin versions"));
++ return 1;
++ }
++
++ if (strcmp(lang_hooks.name, "GNU C")) {
++ inform(UNKNOWN_LOCATION, G_("%s supports C only"), plugin_name);
++ enable = false;
++ }
++
++ for (i = 0; i < argc; ++i) {
++ if (!strcmp(argv[i].key, "disable")) {
++ enable = false;
++ continue;
++ }
++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key);
++ }
++
++ register_callback(plugin_name, PLUGIN_INFO, NULL, &structleak_plugin_info);
++ if (enable) {
++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &structleak_pass_info);
++ register_callback(plugin_name, PLUGIN_FINISH_TYPE, finish_type, NULL);
++ }
++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL);
++
++ return 0;
++}
diff --git a/tools/perf/util/include/asm/alternative-asm.h b/tools/perf/util/include/asm/alternative-asm.h
index 6789d78..4afd019e 100644
--- a/tools/perf/util/include/asm/alternative-asm.h
@@ -95069,6 +101839,23 @@ index 6789d78..4afd019e 100644
+ .endm
+
#endif
+diff --git a/tools/perf/util/include/linux/compiler.h b/tools/perf/util/include/linux/compiler.h
+index 547628e..74de9f2 100644
+--- a/tools/perf/util/include/linux/compiler.h
++++ b/tools/perf/util/include/linux/compiler.h
+@@ -11,4 +11,12 @@
+
+ #define __used __attribute__((__unused__))
+
++#ifndef __size_overflow
++# define __size_overflow(...)
++#endif
++
++#ifndef __intentional_overflow
++# define __intentional_overflow(...)
++#endif
++
+ #endif
diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
index 3eed61e..79647cd 100644
--- a/virt/kvm/ioapic.c
diff --git a/3.2.41/4425_grsec_remove_EI_PAX.patch b/3.2.42/4425_grsec_remove_EI_PAX.patch
index 97e6951..97e6951 100644
--- a/3.2.41/4425_grsec_remove_EI_PAX.patch
+++ b/3.2.42/4425_grsec_remove_EI_PAX.patch
diff --git a/3.2.41/4430_grsec-remove-localversion-grsec.patch b/3.2.42/4430_grsec-remove-localversion-grsec.patch
index 31cf878..31cf878 100644
--- a/3.2.41/4430_grsec-remove-localversion-grsec.patch
+++ b/3.2.42/4430_grsec-remove-localversion-grsec.patch
diff --git a/3.2.41/4435_grsec-mute-warnings.patch b/3.2.42/4435_grsec-mute-warnings.patch
index e85abd6..e85abd6 100644
--- a/3.2.41/4435_grsec-mute-warnings.patch
+++ b/3.2.42/4435_grsec-mute-warnings.patch
diff --git a/3.2.41/4440_grsec-remove-protected-paths.patch b/3.2.42/4440_grsec-remove-protected-paths.patch
index 637934a..637934a 100644
--- a/3.2.41/4440_grsec-remove-protected-paths.patch
+++ b/3.2.42/4440_grsec-remove-protected-paths.patch
diff --git a/3.2.41/4450_grsec-kconfig-default-gids.patch b/3.2.42/4450_grsec-kconfig-default-gids.patch
index 3dfdc8f..3dfdc8f 100644
--- a/3.2.41/4450_grsec-kconfig-default-gids.patch
+++ b/3.2.42/4450_grsec-kconfig-default-gids.patch
diff --git a/3.2.41/4465_selinux-avc_audit-log-curr_ip.patch b/3.2.42/4465_selinux-avc_audit-log-curr_ip.patch
index a7cc9cd..a7cc9cd 100644
--- a/3.2.41/4465_selinux-avc_audit-log-curr_ip.patch
+++ b/3.2.42/4465_selinux-avc_audit-log-curr_ip.patch
diff --git a/3.2.41/4470_disable-compat_vdso.patch b/3.2.42/4470_disable-compat_vdso.patch
index c06bd8b..c06bd8b 100644
--- a/3.2.41/4470_disable-compat_vdso.patch
+++ b/3.2.42/4470_disable-compat_vdso.patch
diff --git a/3.8.4/1003_linux-3.8.4.patch b/3.8.4/1003_linux-3.8.4.patch
deleted file mode 100644
index 132702f..0000000
--- a/3.8.4/1003_linux-3.8.4.patch
+++ /dev/null
@@ -1,2902 +0,0 @@
-diff --git a/Documentation/devicetree/bindings/tty/serial/of-serial.txt b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
-index 1e1145c..8f01cb1 100644
---- a/Documentation/devicetree/bindings/tty/serial/of-serial.txt
-+++ b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
-@@ -11,6 +11,9 @@ Required properties:
- - "nvidia,tegra20-uart"
- - "nxp,lpc3220-uart"
- - "ibm,qpace-nwp-serial"
-+ - "altr,16550-FIFO32"
-+ - "altr,16550-FIFO64"
-+ - "altr,16550-FIFO128"
- - "serial" if the port type is unknown.
- - reg : offset and length of the register set for the device.
- - interrupts : should contain uart interrupt.
-diff --git a/Makefile b/Makefile
-index 8c49fc9b..e20f162 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,6 +1,6 @@
- VERSION = 3
- PATCHLEVEL = 8
--SUBLEVEL = 3
-+SUBLEVEL = 4
- EXTRAVERSION =
- NAME = Unicycling Gorilla
-
-diff --git a/arch/arm/mach-at91/board-foxg20.c b/arch/arm/mach-at91/board-foxg20.c
-index 191d37c..1478294 100644
---- a/arch/arm/mach-at91/board-foxg20.c
-+++ b/arch/arm/mach-at91/board-foxg20.c
-@@ -176,6 +176,7 @@ static struct w1_gpio_platform_data w1_gpio_pdata = {
- /* If you choose to use a pin other than PB16 it needs to be 3.3V */
- .pin = AT91_PIN_PB16,
- .is_open_drain = 1,
-+ .ext_pullup_enable_pin = -EINVAL,
- };
-
- static struct platform_device w1_device = {
-diff --git a/arch/arm/mach-at91/board-stamp9g20.c b/arch/arm/mach-at91/board-stamp9g20.c
-index 48a962b..58a6758 100644
---- a/arch/arm/mach-at91/board-stamp9g20.c
-+++ b/arch/arm/mach-at91/board-stamp9g20.c
-@@ -188,6 +188,7 @@ static struct spi_board_info portuxg20_spi_devices[] = {
- static struct w1_gpio_platform_data w1_gpio_pdata = {
- .pin = AT91_PIN_PA29,
- .is_open_drain = 1,
-+ .ext_pullup_enable_pin = -EINVAL,
- };
-
- static struct platform_device w1_device = {
-diff --git a/arch/arm/mach-davinci/dma.c b/arch/arm/mach-davinci/dma.c
-index a685e97..45b7c71 100644
---- a/arch/arm/mach-davinci/dma.c
-+++ b/arch/arm/mach-davinci/dma.c
-@@ -743,6 +743,9 @@ EXPORT_SYMBOL(edma_free_channel);
- */
- int edma_alloc_slot(unsigned ctlr, int slot)
- {
-+ if (!edma_cc[ctlr])
-+ return -EINVAL;
-+
- if (slot >= 0)
- slot = EDMA_CHAN_SLOT(slot);
-
-diff --git a/arch/arm/mach-ixp4xx/vulcan-setup.c b/arch/arm/mach-ixp4xx/vulcan-setup.c
-index 2798f43..1dddc1b 100644
---- a/arch/arm/mach-ixp4xx/vulcan-setup.c
-+++ b/arch/arm/mach-ixp4xx/vulcan-setup.c
-@@ -163,6 +163,7 @@ static struct platform_device vulcan_max6369 = {
-
- static struct w1_gpio_platform_data vulcan_w1_gpio_pdata = {
- .pin = 14,
-+ .ext_pullup_enable_pin = -EINVAL,
- };
-
- static struct platform_device vulcan_w1_gpio = {
-diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
-index de4fd2b..e714ead 100644
---- a/arch/arm/mach-kirkwood/board-dt.c
-+++ b/arch/arm/mach-kirkwood/board-dt.c
-@@ -41,16 +41,12 @@ static void __init kirkwood_legacy_clk_init(void)
-
- struct device_node *np = of_find_compatible_node(
- NULL, NULL, "marvell,kirkwood-gating-clock");
--
- struct of_phandle_args clkspec;
-+ struct clk *clk;
-
- clkspec.np = np;
- clkspec.args_count = 1;
-
-- clkspec.args[0] = CGC_BIT_GE0;
-- orion_clkdev_add(NULL, "mv643xx_eth_port.0",
-- of_clk_get_from_provider(&clkspec));
--
- clkspec.args[0] = CGC_BIT_PEX0;
- orion_clkdev_add("0", "pcie",
- of_clk_get_from_provider(&clkspec));
-@@ -63,14 +59,24 @@ static void __init kirkwood_legacy_clk_init(void)
- orion_clkdev_add("1", "pcie",
- of_clk_get_from_provider(&clkspec));
-
-- clkspec.args[0] = CGC_BIT_GE1;
-- orion_clkdev_add(NULL, "mv643xx_eth_port.1",
-- of_clk_get_from_provider(&clkspec));
--
- clkspec.args[0] = CGC_BIT_SDIO;
- orion_clkdev_add(NULL, "mvsdio",
- of_clk_get_from_provider(&clkspec));
-
-+ /*
-+ * The ethernet interfaces forget the MAC address assigned by
-+ * u-boot if the clocks are turned off. Until proper DT support
-+ * is available we always enable them for now.
-+ */
-+ clkspec.args[0] = CGC_BIT_GE0;
-+ clk = of_clk_get_from_provider(&clkspec);
-+ orion_clkdev_add(NULL, "mv643xx_eth_port.0", clk);
-+ clk_prepare_enable(clk);
-+
-+ clkspec.args[0] = CGC_BIT_GE1;
-+ clk = of_clk_get_from_provider(&clkspec);
-+ orion_clkdev_add(NULL, "mv643xx_eth_port.1", clk);
-+ clk_prepare_enable(clk);
- }
-
- static void __init kirkwood_of_clk_init(void)
-diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c
-index 25b08bfa..6283fcb 100644
---- a/arch/arm/mach-pxa/raumfeld.c
-+++ b/arch/arm/mach-pxa/raumfeld.c
-@@ -505,6 +505,7 @@ static struct w1_gpio_platform_data w1_gpio_platform_data = {
- .pin = GPIO_ONE_WIRE,
- .is_open_drain = 0,
- .enable_external_pullup = w1_enable_external_pullup,
-+ .ext_pullup_enable_pin = -EINVAL,
- };
-
- struct platform_device raumfeld_w1_gpio_device = {
-diff --git a/arch/powerpc/include/asm/mmu-hash64.h b/arch/powerpc/include/asm/mmu-hash64.h
-index 2fdb47a..b59e06f 100644
---- a/arch/powerpc/include/asm/mmu-hash64.h
-+++ b/arch/powerpc/include/asm/mmu-hash64.h
-@@ -343,17 +343,16 @@ extern void slb_set_size(u16 size);
- /*
- * VSID allocation (256MB segment)
- *
-- * We first generate a 38-bit "proto-VSID". For kernel addresses this
-- * is equal to the ESID | 1 << 37, for user addresses it is:
-- * (context << USER_ESID_BITS) | (esid & ((1U << USER_ESID_BITS) - 1)
-+ * We first generate a 37-bit "proto-VSID". Proto-VSIDs are generated
-+ * from mmu context id and effective segment id of the address.
- *
-- * This splits the proto-VSID into the below range
-- * 0 - (2^(CONTEXT_BITS + USER_ESID_BITS) - 1) : User proto-VSID range
-- * 2^(CONTEXT_BITS + USER_ESID_BITS) - 2^(VSID_BITS) : Kernel proto-VSID range
-- *
-- * We also have CONTEXT_BITS + USER_ESID_BITS = VSID_BITS - 1
-- * That is, we assign half of the space to user processes and half
-- * to the kernel.
-+ * For user processes max context id is limited to ((1ul << 19) - 5)
-+ * for kernel space, we use the top 4 context ids to map address as below
-+ * NOTE: each context only support 64TB now.
-+ * 0x7fffc - [ 0xc000000000000000 - 0xc0003fffffffffff ]
-+ * 0x7fffd - [ 0xd000000000000000 - 0xd0003fffffffffff ]
-+ * 0x7fffe - [ 0xe000000000000000 - 0xe0003fffffffffff ]
-+ * 0x7ffff - [ 0xf000000000000000 - 0xf0003fffffffffff ]
- *
- * The proto-VSIDs are then scrambled into real VSIDs with the
- * multiplicative hash:
-@@ -363,41 +362,49 @@ extern void slb_set_size(u16 size);
- * VSID_MULTIPLIER is prime, so in particular it is
- * co-prime to VSID_MODULUS, making this a 1:1 scrambling function.
- * Because the modulus is 2^n-1 we can compute it efficiently without
-- * a divide or extra multiply (see below).
-- *
-- * This scheme has several advantages over older methods:
-- *
-- * - We have VSIDs allocated for every kernel address
-- * (i.e. everything above 0xC000000000000000), except the very top
-- * segment, which simplifies several things.
-+ * a divide or extra multiply (see below). The scramble function gives
-+ * robust scattering in the hash table (at least based on some initial
-+ * results).
- *
-- * - We allow for USER_ESID_BITS significant bits of ESID and
-- * CONTEXT_BITS bits of context for user addresses.
-- * i.e. 64T (46 bits) of address space for up to half a million contexts.
-+ * We also consider VSID 0 special. We use VSID 0 for slb entries mapping
-+ * bad address. This enables us to consolidate bad address handling in
-+ * hash_page.
- *
-- * - The scramble function gives robust scattering in the hash
-- * table (at least based on some initial results). The previous
-- * method was more susceptible to pathological cases giving excessive
-- * hash collisions.
-+ * We also need to avoid the last segment of the last context, because that
-+ * would give a protovsid of 0x1fffffffff. That will result in a VSID 0
-+ * because of the modulo operation in vsid scramble. But the vmemmap
-+ * (which is what uses region 0xf) will never be close to 64TB in size
-+ * (it's 56 bytes per page of system memory).
- */
-
-+#define CONTEXT_BITS 19
-+#define ESID_BITS 18
-+#define ESID_BITS_1T 6
-+
-+/*
-+ * 256MB segment
-+ * The proto-VSID space has 2^(CONTEX_BITS + ESID_BITS) - 1 segments
-+ * available for user + kernel mapping. The top 4 contexts are used for
-+ * kernel mapping. Each segment contains 2^28 bytes. Each
-+ * context maps 2^46 bytes (64TB) so we can support 2^19-1 contexts
-+ * (19 == 37 + 28 - 46).
-+ */
-+#define MAX_USER_CONTEXT ((ASM_CONST(1) << CONTEXT_BITS) - 5)
-+
- /*
- * This should be computed such that protovosid * vsid_mulitplier
- * doesn't overflow 64 bits. It should also be co-prime to vsid_modulus
- */
- #define VSID_MULTIPLIER_256M ASM_CONST(12538073) /* 24-bit prime */
--#define VSID_BITS_256M 38
-+#define VSID_BITS_256M (CONTEXT_BITS + ESID_BITS)
- #define VSID_MODULUS_256M ((1UL<<VSID_BITS_256M)-1)
-
- #define VSID_MULTIPLIER_1T ASM_CONST(12538073) /* 24-bit prime */
--#define VSID_BITS_1T 26
-+#define VSID_BITS_1T (CONTEXT_BITS + ESID_BITS_1T)
- #define VSID_MODULUS_1T ((1UL<<VSID_BITS_1T)-1)
-
--#define CONTEXT_BITS 19
--#define USER_ESID_BITS 18
--#define USER_ESID_BITS_1T 6
-
--#define USER_VSID_RANGE (1UL << (USER_ESID_BITS + SID_SHIFT))
-+#define USER_VSID_RANGE (1UL << (ESID_BITS + SID_SHIFT))
-
- /*
- * This macro generates asm code to compute the VSID scramble
-@@ -421,7 +428,8 @@ extern void slb_set_size(u16 size);
- srdi rx,rt,VSID_BITS_##size; \
- clrldi rt,rt,(64-VSID_BITS_##size); \
- add rt,rt,rx; /* add high and low bits */ \
-- /* Now, r3 == VSID (mod 2^36-1), and lies between 0 and \
-+ /* NOTE: explanation based on VSID_BITS_##size = 36 \
-+ * Now, r3 == VSID (mod 2^36-1), and lies between 0 and \
- * 2^36-1+2^28-1. That in particular means that if r3 >= \
- * 2^36-1, then r3+1 has the 2^36 bit set. So, if r3+1 has \
- * the bit clear, r3 already has the answer we want, if it \
-@@ -513,34 +521,6 @@ typedef struct {
- })
- #endif /* 1 */
-
--/*
-- * This is only valid for addresses >= PAGE_OFFSET
-- * The proto-VSID space is divided into two class
-- * User: 0 to 2^(CONTEXT_BITS + USER_ESID_BITS) -1
-- * kernel: 2^(CONTEXT_BITS + USER_ESID_BITS) to 2^(VSID_BITS) - 1
-- *
-- * With KERNEL_START at 0xc000000000000000, the proto vsid for
-- * the kernel ends up with 0xc00000000 (36 bits). With 64TB
-- * support we need to have kernel proto-VSID in the
-- * [2^37 to 2^38 - 1] range due to the increased USER_ESID_BITS.
-- */
--static inline unsigned long get_kernel_vsid(unsigned long ea, int ssize)
--{
-- unsigned long proto_vsid;
-- /*
-- * We need to make sure proto_vsid for the kernel is
-- * >= 2^(CONTEXT_BITS + USER_ESID_BITS[_1T])
-- */
-- if (ssize == MMU_SEGSIZE_256M) {
-- proto_vsid = ea >> SID_SHIFT;
-- proto_vsid |= (1UL << (CONTEXT_BITS + USER_ESID_BITS));
-- return vsid_scramble(proto_vsid, 256M);
-- }
-- proto_vsid = ea >> SID_SHIFT_1T;
-- proto_vsid |= (1UL << (CONTEXT_BITS + USER_ESID_BITS_1T));
-- return vsid_scramble(proto_vsid, 1T);
--}
--
- /* Returns the segment size indicator for a user address */
- static inline int user_segment_size(unsigned long addr)
- {
-@@ -550,17 +530,41 @@ static inline int user_segment_size(unsigned long addr)
- return MMU_SEGSIZE_256M;
- }
-
--/* This is only valid for user addresses (which are below 2^44) */
- static inline unsigned long get_vsid(unsigned long context, unsigned long ea,
- int ssize)
- {
-+ /*
-+ * Bad address. We return VSID 0 for that
-+ */
-+ if ((ea & ~REGION_MASK) >= PGTABLE_RANGE)
-+ return 0;
-+
- if (ssize == MMU_SEGSIZE_256M)
-- return vsid_scramble((context << USER_ESID_BITS)
-+ return vsid_scramble((context << ESID_BITS)
- | (ea >> SID_SHIFT), 256M);
-- return vsid_scramble((context << USER_ESID_BITS_1T)
-+ return vsid_scramble((context << ESID_BITS_1T)
- | (ea >> SID_SHIFT_1T), 1T);
- }
-
-+/*
-+ * This is only valid for addresses >= PAGE_OFFSET
-+ *
-+ * For kernel space, we use the top 4 context ids to map address as below
-+ * 0x7fffc - [ 0xc000000000000000 - 0xc0003fffffffffff ]
-+ * 0x7fffd - [ 0xd000000000000000 - 0xd0003fffffffffff ]
-+ * 0x7fffe - [ 0xe000000000000000 - 0xe0003fffffffffff ]
-+ * 0x7ffff - [ 0xf000000000000000 - 0xf0003fffffffffff ]
-+ */
-+static inline unsigned long get_kernel_vsid(unsigned long ea, int ssize)
-+{
-+ unsigned long context;
-+
-+ /*
-+ * kernel take the top 4 context from the available range
-+ */
-+ context = (MAX_USER_CONTEXT) + ((ea >> 60) - 0xc) + 1;
-+ return get_vsid(context, ea, ssize);
-+}
- #endif /* __ASSEMBLY__ */
-
- #endif /* _ASM_POWERPC_MMU_HASH64_H_ */
-diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
-index 75a3d71..19599ef 100644
---- a/arch/powerpc/kernel/cputable.c
-+++ b/arch/powerpc/kernel/cputable.c
-@@ -275,7 +275,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
- .cpu_features = CPU_FTRS_PPC970,
- .cpu_user_features = COMMON_USER_POWER4 |
- PPC_FEATURE_HAS_ALTIVEC_COMP,
-- .mmu_features = MMU_FTR_HPTE_TABLE,
-+ .mmu_features = MMU_FTRS_PPC970,
- .icache_bsize = 128,
- .dcache_bsize = 128,
- .num_pmcs = 8,
-diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
-index 4665e82..3684cbd 100644
---- a/arch/powerpc/kernel/exceptions-64s.S
-+++ b/arch/powerpc/kernel/exceptions-64s.S
-@@ -1268,20 +1268,36 @@ do_ste_alloc:
- _GLOBAL(do_stab_bolted)
- stw r9,PACA_EXSLB+EX_CCR(r13) /* save CR in exc. frame */
- std r11,PACA_EXSLB+EX_SRR0(r13) /* save SRR0 in exc. frame */
-+ mfspr r11,SPRN_DAR /* ea */
-
-+ /*
-+ * check for bad kernel/user address
-+ * (ea & ~REGION_MASK) >= PGTABLE_RANGE
-+ */
-+ rldicr. r9,r11,4,(63 - 46 - 4)
-+ li r9,0 /* VSID = 0 for bad address */
-+ bne- 0f
-+
-+ /*
-+ * Calculate VSID:
-+ * This is the kernel vsid, we take the top for context from
-+ * the range. context = (MAX_USER_CONTEXT) + ((ea >> 60) - 0xc) + 1
-+ * Here we know that (ea >> 60) == 0xc
-+ */
-+ lis r9,(MAX_USER_CONTEXT + 1)@ha
-+ addi r9,r9,(MAX_USER_CONTEXT + 1)@l
-+
-+ srdi r10,r11,SID_SHIFT
-+ rldimi r10,r9,ESID_BITS,0 /* proto vsid */
-+ ASM_VSID_SCRAMBLE(r10, r9, 256M)
-+ rldic r9,r10,12,16 /* r9 = vsid << 12 */
-+
-+0:
- /* Hash to the primary group */
- ld r10,PACASTABVIRT(r13)
-- mfspr r11,SPRN_DAR
-- srdi r11,r11,28
-+ srdi r11,r11,SID_SHIFT
- rldimi r10,r11,7,52 /* r10 = first ste of the group */
-
-- /* Calculate VSID */
-- /* This is a kernel address, so protovsid = ESID | 1 << 37 */
-- li r9,0x1
-- rldimi r11,r9,(CONTEXT_BITS + USER_ESID_BITS),0
-- ASM_VSID_SCRAMBLE(r11, r9, 256M)
-- rldic r9,r11,12,16 /* r9 = vsid << 12 */
--
- /* Search the primary group for a free entry */
- 1: ld r11,0(r10) /* Test valid bit of the current ste */
- andi. r11,r11,0x80
-diff --git a/arch/powerpc/kvm/book3s_64_mmu_host.c b/arch/powerpc/kvm/book3s_64_mmu_host.c
-index ead58e3..5d7d29a 100644
---- a/arch/powerpc/kvm/book3s_64_mmu_host.c
-+++ b/arch/powerpc/kvm/book3s_64_mmu_host.c
-@@ -326,8 +326,8 @@ int kvmppc_mmu_init(struct kvm_vcpu *vcpu)
- vcpu3s->context_id[0] = err;
-
- vcpu3s->proto_vsid_max = ((vcpu3s->context_id[0] + 1)
-- << USER_ESID_BITS) - 1;
-- vcpu3s->proto_vsid_first = vcpu3s->context_id[0] << USER_ESID_BITS;
-+ << ESID_BITS) - 1;
-+ vcpu3s->proto_vsid_first = vcpu3s->context_id[0] << ESID_BITS;
- vcpu3s->proto_vsid_next = vcpu3s->proto_vsid_first;
-
- kvmppc_mmu_hpte_init(vcpu);
-diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
-index 3a292be..004630b 100644
---- a/arch/powerpc/mm/hash_utils_64.c
-+++ b/arch/powerpc/mm/hash_utils_64.c
-@@ -194,6 +194,11 @@ int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
- unsigned long vpn = hpt_vpn(vaddr, vsid, ssize);
- unsigned long tprot = prot;
-
-+ /*
-+ * If we hit a bad address return error.
-+ */
-+ if (!vsid)
-+ return -1;
- /* Make kernel text executable */
- if (overlaps_kernel_text(vaddr, vaddr + step))
- tprot &= ~HPTE_R_N;
-@@ -758,6 +763,8 @@ void __init early_init_mmu(void)
- /* Initialize stab / SLB management */
- if (mmu_has_feature(MMU_FTR_SLB))
- slb_initialize();
-+ else
-+ stab_initialize(get_paca()->stab_real);
- }
-
- #ifdef CONFIG_SMP
-@@ -921,11 +928,6 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap)
- DBG_LOW("hash_page(ea=%016lx, access=%lx, trap=%lx\n",
- ea, access, trap);
-
-- if ((ea & ~REGION_MASK) >= PGTABLE_RANGE) {
-- DBG_LOW(" out of pgtable range !\n");
-- return 1;
-- }
--
- /* Get region & vsid */
- switch (REGION_ID(ea)) {
- case USER_REGION_ID:
-@@ -956,6 +958,11 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap)
- }
- DBG_LOW(" mm=%p, mm->pgdir=%p, vsid=%016lx\n", mm, mm->pgd, vsid);
-
-+ /* Bad address. */
-+ if (!vsid) {
-+ DBG_LOW("Bad address!\n");
-+ return 1;
-+ }
- /* Get pgdir */
- pgdir = mm->pgd;
- if (pgdir == NULL)
-@@ -1125,6 +1132,8 @@ void hash_preload(struct mm_struct *mm, unsigned long ea,
- /* Get VSID */
- ssize = user_segment_size(ea);
- vsid = get_vsid(mm->context.id, ea, ssize);
-+ if (!vsid)
-+ return;
-
- /* Hash doesn't like irqs */
- local_irq_save(flags);
-@@ -1217,6 +1226,9 @@ static void kernel_map_linear_page(unsigned long vaddr, unsigned long lmi)
- hash = hpt_hash(vpn, PAGE_SHIFT, mmu_kernel_ssize);
- hpteg = ((hash & htab_hash_mask) * HPTES_PER_GROUP);
-
-+ /* Don't create HPTE entries for bad address */
-+ if (!vsid)
-+ return;
- ret = ppc_md.hpte_insert(hpteg, vpn, __pa(vaddr),
- mode, HPTE_V_BOLTED,
- mmu_linear_psize, mmu_kernel_ssize);
-diff --git a/arch/powerpc/mm/mmu_context_hash64.c b/arch/powerpc/mm/mmu_context_hash64.c
-index 40bc5b0..d1d1b92 100644
---- a/arch/powerpc/mm/mmu_context_hash64.c
-+++ b/arch/powerpc/mm/mmu_context_hash64.c
-@@ -29,15 +29,6 @@
- static DEFINE_SPINLOCK(mmu_context_lock);
- static DEFINE_IDA(mmu_context_ida);
-
--/*
-- * 256MB segment
-- * The proto-VSID space has 2^(CONTEX_BITS + USER_ESID_BITS) - 1 segments
-- * available for user mappings. Each segment contains 2^28 bytes. Each
-- * context maps 2^46 bytes (64TB) so we can support 2^19-1 contexts
-- * (19 == 37 + 28 - 46).
-- */
--#define MAX_CONTEXT ((1UL << CONTEXT_BITS) - 1)
--
- int __init_new_context(void)
- {
- int index;
-@@ -56,7 +47,7 @@ again:
- else if (err)
- return err;
-
-- if (index > MAX_CONTEXT) {
-+ if (index > MAX_USER_CONTEXT) {
- spin_lock(&mmu_context_lock);
- ida_remove(&mmu_context_ida, index);
- spin_unlock(&mmu_context_lock);
-diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c
-index e212a27..654258f 100644
---- a/arch/powerpc/mm/pgtable_64.c
-+++ b/arch/powerpc/mm/pgtable_64.c
-@@ -61,7 +61,7 @@
- #endif
-
- #ifdef CONFIG_PPC_STD_MMU_64
--#if TASK_SIZE_USER64 > (1UL << (USER_ESID_BITS + SID_SHIFT))
-+#if TASK_SIZE_USER64 > (1UL << (ESID_BITS + SID_SHIFT))
- #error TASK_SIZE_USER64 exceeds user VSID range
- #endif
- #endif
-diff --git a/arch/powerpc/mm/slb_low.S b/arch/powerpc/mm/slb_low.S
-index 1a16ca2..17aa6df 100644
---- a/arch/powerpc/mm/slb_low.S
-+++ b/arch/powerpc/mm/slb_low.S
-@@ -31,10 +31,15 @@
- * No other registers are examined or changed.
- */
- _GLOBAL(slb_allocate_realmode)
-- /* r3 = faulting address */
-+ /*
-+ * check for bad kernel/user address
-+ * (ea & ~REGION_MASK) >= PGTABLE_RANGE
-+ */
-+ rldicr. r9,r3,4,(63 - 46 - 4)
-+ bne- 8f
-
- srdi r9,r3,60 /* get region */
-- srdi r10,r3,28 /* get esid */
-+ srdi r10,r3,SID_SHIFT /* get esid */
- cmpldi cr7,r9,0xc /* cmp PAGE_OFFSET for later use */
-
- /* r3 = address, r10 = esid, cr7 = <> PAGE_OFFSET */
-@@ -56,12 +61,14 @@ _GLOBAL(slb_allocate_realmode)
- */
- _GLOBAL(slb_miss_kernel_load_linear)
- li r11,0
-- li r9,0x1
- /*
-- * for 1T we shift 12 bits more. slb_finish_load_1T will do
-- * the necessary adjustment
-+ * context = (MAX_USER_CONTEXT) + ((ea >> 60) - 0xc) + 1
-+ * r9 = region id.
- */
-- rldimi r10,r9,(CONTEXT_BITS + USER_ESID_BITS),0
-+ addis r9,r9,(MAX_USER_CONTEXT - 0xc + 1)@ha
-+ addi r9,r9,(MAX_USER_CONTEXT - 0xc + 1)@l
-+
-+
- BEGIN_FTR_SECTION
- b slb_finish_load
- END_MMU_FTR_SECTION_IFCLR(MMU_FTR_1T_SEGMENT)
-@@ -91,24 +98,19 @@ _GLOBAL(slb_miss_kernel_load_vmemmap)
- _GLOBAL(slb_miss_kernel_load_io)
- li r11,0
- 6:
-- li r9,0x1
- /*
-- * for 1T we shift 12 bits more. slb_finish_load_1T will do
-- * the necessary adjustment
-+ * context = (MAX_USER_CONTEXT) + ((ea >> 60) - 0xc) + 1
-+ * r9 = region id.
- */
-- rldimi r10,r9,(CONTEXT_BITS + USER_ESID_BITS),0
-+ addis r9,r9,(MAX_USER_CONTEXT - 0xc + 1)@ha
-+ addi r9,r9,(MAX_USER_CONTEXT - 0xc + 1)@l
-+
- BEGIN_FTR_SECTION
- b slb_finish_load
- END_MMU_FTR_SECTION_IFCLR(MMU_FTR_1T_SEGMENT)
- b slb_finish_load_1T
-
--0: /* user address: proto-VSID = context << 15 | ESID. First check
-- * if the address is within the boundaries of the user region
-- */
-- srdi. r9,r10,USER_ESID_BITS
-- bne- 8f /* invalid ea bits set */
--
--
-+0:
- /* when using slices, we extract the psize off the slice bitmaps
- * and then we need to get the sllp encoding off the mmu_psize_defs
- * array.
-@@ -164,15 +166,13 @@ END_MMU_FTR_SECTION_IFCLR(MMU_FTR_1T_SEGMENT)
- ld r9,PACACONTEXTID(r13)
- BEGIN_FTR_SECTION
- cmpldi r10,0x1000
--END_MMU_FTR_SECTION_IFSET(MMU_FTR_1T_SEGMENT)
-- rldimi r10,r9,USER_ESID_BITS,0
--BEGIN_FTR_SECTION
- bge slb_finish_load_1T
- END_MMU_FTR_SECTION_IFSET(MMU_FTR_1T_SEGMENT)
- b slb_finish_load
-
- 8: /* invalid EA */
- li r10,0 /* BAD_VSID */
-+ li r9,0 /* BAD_VSID */
- li r11,SLB_VSID_USER /* flags don't much matter */
- b slb_finish_load
-
-@@ -221,8 +221,6 @@ _GLOBAL(slb_allocate_user)
-
- /* get context to calculate proto-VSID */
- ld r9,PACACONTEXTID(r13)
-- rldimi r10,r9,USER_ESID_BITS,0
--
- /* fall through slb_finish_load */
-
- #endif /* __DISABLED__ */
-@@ -231,9 +229,10 @@ _GLOBAL(slb_allocate_user)
- /*
- * Finish loading of an SLB entry and return
- *
-- * r3 = EA, r10 = proto-VSID, r11 = flags, clobbers r9, cr7 = <> PAGE_OFFSET
-+ * r3 = EA, r9 = context, r10 = ESID, r11 = flags, clobbers r9, cr7 = <> PAGE_OFFSET
- */
- slb_finish_load:
-+ rldimi r10,r9,ESID_BITS,0
- ASM_VSID_SCRAMBLE(r10,r9,256M)
- /*
- * bits above VSID_BITS_256M need to be ignored from r10
-@@ -298,10 +297,11 @@ _GLOBAL(slb_compare_rr_to_size)
- /*
- * Finish loading of a 1T SLB entry (for the kernel linear mapping) and return.
- *
-- * r3 = EA, r10 = proto-VSID, r11 = flags, clobbers r9
-+ * r3 = EA, r9 = context, r10 = ESID(256MB), r11 = flags, clobbers r9
- */
- slb_finish_load_1T:
-- srdi r10,r10,40-28 /* get 1T ESID */
-+ srdi r10,r10,(SID_SHIFT_1T - SID_SHIFT) /* get 1T ESID */
-+ rldimi r10,r9,ESID_BITS_1T,0
- ASM_VSID_SCRAMBLE(r10,r9,1T)
- /*
- * bits above VSID_BITS_1T need to be ignored from r10
-diff --git a/arch/powerpc/mm/tlb_hash64.c b/arch/powerpc/mm/tlb_hash64.c
-index 0d82ef5..023ec8a 100644
---- a/arch/powerpc/mm/tlb_hash64.c
-+++ b/arch/powerpc/mm/tlb_hash64.c
-@@ -82,11 +82,11 @@ void hpte_need_flush(struct mm_struct *mm, unsigned long addr,
- if (!is_kernel_addr(addr)) {
- ssize = user_segment_size(addr);
- vsid = get_vsid(mm->context.id, addr, ssize);
-- WARN_ON(vsid == 0);
- } else {
- vsid = get_kernel_vsid(addr, mmu_kernel_ssize);
- ssize = mmu_kernel_ssize;
- }
-+ WARN_ON(vsid == 0);
- vpn = hpt_vpn(addr, vsid, ssize);
- rpte = __real_pte(__pte(pte), ptep);
-
-diff --git a/arch/s390/include/asm/tlbflush.h b/arch/s390/include/asm/tlbflush.h
-index 1d8fe2b..6b32af3 100644
---- a/arch/s390/include/asm/tlbflush.h
-+++ b/arch/s390/include/asm/tlbflush.h
-@@ -74,8 +74,6 @@ static inline void __tlb_flush_idte(unsigned long asce)
-
- static inline void __tlb_flush_mm(struct mm_struct * mm)
- {
-- if (unlikely(cpumask_empty(mm_cpumask(mm))))
-- return;
- /*
- * If the machine has IDTE we prefer to do a per mm flush
- * on all cpus instead of doing a local flush if the mm
-diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
-index 5502285..94feff7 100644
---- a/arch/s390/kernel/entry.S
-+++ b/arch/s390/kernel/entry.S
-@@ -636,7 +636,8 @@ ENTRY(mcck_int_handler)
- UPDATE_VTIME %r14,%r15,__LC_MCCK_ENTER_TIMER
- mcck_skip:
- SWITCH_ASYNC __LC_GPREGS_SAVE_AREA+32,__LC_PANIC_STACK,PAGE_SHIFT
-- mvc __PT_R0(64,%r11),__LC_GPREGS_SAVE_AREA
-+ stm %r0,%r7,__PT_R0(%r11)
-+ mvc __PT_R8(32,%r11),__LC_GPREGS_SAVE_AREA+32
- stm %r8,%r9,__PT_PSW(%r11)
- xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15)
- l %r1,BASED(.Ldo_machine_check)
-diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S
-index 6d34e0c..082b845 100644
---- a/arch/s390/kernel/entry64.S
-+++ b/arch/s390/kernel/entry64.S
-@@ -678,8 +678,9 @@ ENTRY(mcck_int_handler)
- UPDATE_VTIME %r14,__LC_MCCK_ENTER_TIMER
- LAST_BREAK %r14
- mcck_skip:
-- lghi %r14,__LC_GPREGS_SAVE_AREA
-- mvc __PT_R0(128,%r11),0(%r14)
-+ lghi %r14,__LC_GPREGS_SAVE_AREA+64
-+ stmg %r0,%r7,__PT_R0(%r11)
-+ mvc __PT_R8(64,%r11),0(%r14)
- stmg %r8,%r9,__PT_PSW(%r11)
- xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
- lgr %r2,%r11 # pass pointer to pt_regs
-diff --git a/arch/x86/kernel/cpu/perf_event_intel_ds.c b/arch/x86/kernel/cpu/perf_event_intel_ds.c
-index 826054a..b05a575 100644
---- a/arch/x86/kernel/cpu/perf_event_intel_ds.c
-+++ b/arch/x86/kernel/cpu/perf_event_intel_ds.c
-@@ -729,3 +729,13 @@ void intel_ds_init(void)
- }
- }
- }
-+
-+void perf_restore_debug_store(void)
-+{
-+ struct debug_store *ds = __this_cpu_read(cpu_hw_events.ds);
-+
-+ if (!x86_pmu.bts && !x86_pmu.pebs)
-+ return;
-+
-+ wrmsrl(MSR_IA32_DS_AREA, (unsigned long)ds);
-+}
-diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c
-index 120cee1..3c68768 100644
---- a/arch/x86/power/cpu.c
-+++ b/arch/x86/power/cpu.c
-@@ -11,6 +11,7 @@
- #include <linux/suspend.h>
- #include <linux/export.h>
- #include <linux/smp.h>
-+#include <linux/perf_event.h>
-
- #include <asm/pgtable.h>
- #include <asm/proto.h>
-@@ -228,6 +229,7 @@ static void __restore_processor_state(struct saved_context *ctxt)
- do_fpu_end();
- x86_platform.restore_sched_clock_state();
- mtrr_bp_restore();
-+ perf_restore_debug_store();
- }
-
- /* Needed by apm.c */
-diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index ae12512..8bc6d39 100644
---- a/drivers/block/loop.c
-+++ b/drivers/block/loop.c
-@@ -1285,11 +1285,9 @@ static int loop_set_capacity(struct loop_device *lo, struct block_device *bdev)
- /* the width of sector_t may be narrow for bit-shift */
- sz = sec;
- sz <<= 9;
-- mutex_lock(&bdev->bd_mutex);
- bd_set_size(bdev, sz);
- /* let user-space know about the new size */
- kobject_uevent(&disk_to_dev(bdev->bd_disk)->kobj, KOBJ_CHANGE);
-- mutex_unlock(&bdev->bd_mutex);
-
- out:
- return err;
-@@ -1858,11 +1856,15 @@ static int __init loop_init(void)
- max_part = (1UL << part_shift) - 1;
- }
-
-- if ((1UL << part_shift) > DISK_MAX_PARTS)
-- return -EINVAL;
-+ if ((1UL << part_shift) > DISK_MAX_PARTS) {
-+ err = -EINVAL;
-+ goto misc_out;
-+ }
-
-- if (max_loop > 1UL << (MINORBITS - part_shift))
-- return -EINVAL;
-+ if (max_loop > 1UL << (MINORBITS - part_shift)) {
-+ err = -EINVAL;
-+ goto misc_out;
-+ }
-
- /*
- * If max_loop is specified, create that many devices upfront.
-@@ -1880,8 +1882,10 @@ static int __init loop_init(void)
- range = 1UL << MINORBITS;
- }
-
-- if (register_blkdev(LOOP_MAJOR, "loop"))
-- return -EIO;
-+ if (register_blkdev(LOOP_MAJOR, "loop")) {
-+ err = -EIO;
-+ goto misc_out;
-+ }
-
- blk_register_region(MKDEV(LOOP_MAJOR, 0), range,
- THIS_MODULE, loop_probe, NULL, NULL);
-@@ -1894,6 +1898,10 @@ static int __init loop_init(void)
-
- printk(KERN_INFO "loop: module loaded\n");
- return 0;
-+
-+misc_out:
-+ misc_deregister(&loop_misc);
-+ return err;
- }
-
- static int loop_exit_cb(int id, void *ptr, void *data)
-diff --git a/drivers/char/hw_random/virtio-rng.c b/drivers/char/hw_random/virtio-rng.c
-index b65c103..1acc4e0 100644
---- a/drivers/char/hw_random/virtio-rng.c
-+++ b/drivers/char/hw_random/virtio-rng.c
-@@ -92,14 +92,22 @@ static int probe_common(struct virtio_device *vdev)
- {
- int err;
-
-+ if (vq) {
-+ /* We only support one device for now */
-+ return -EBUSY;
-+ }
- /* We expect a single virtqueue. */
- vq = virtio_find_single_vq(vdev, random_recv_done, "input");
-- if (IS_ERR(vq))
-- return PTR_ERR(vq);
-+ if (IS_ERR(vq)) {
-+ err = PTR_ERR(vq);
-+ vq = NULL;
-+ return err;
-+ }
-
- err = hwrng_register(&virtio_hwrng);
- if (err) {
- vdev->config->del_vqs(vdev);
-+ vq = NULL;
- return err;
- }
-
-@@ -112,6 +120,7 @@ static void remove_common(struct virtio_device *vdev)
- busy = false;
- hwrng_unregister(&virtio_hwrng);
- vdev->config->del_vqs(vdev);
-+ vq = NULL;
- }
-
- static int virtrng_probe(struct virtio_device *vdev)
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 5206f24..99daa89 100644
---- a/drivers/gpu/drm/i915/i915_dma.c
-+++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1297,21 +1297,19 @@ static int i915_load_modeset_init(struct drm_device *dev)
- if (ret)
- goto cleanup_vga_switcheroo;
-
-- ret = drm_irq_install(dev);
-- if (ret)
-- goto cleanup_gem_stolen;
--
-- /* Important: The output setup functions called by modeset_init need
-- * working irqs for e.g. gmbus and dp aux transfers. */
- intel_modeset_init(dev);
-
- ret = i915_gem_init(dev);
- if (ret)
-- goto cleanup_irq;
-+ goto cleanup_gem_stolen;
-+
-+ intel_modeset_gem_init(dev);
-
- INIT_WORK(&dev_priv->console_resume_work, intel_console_resume);
-
-- intel_modeset_gem_init(dev);
-+ ret = drm_irq_install(dev);
-+ if (ret)
-+ goto cleanup_gem;
-
- /* Always safe in the mode setting case. */
- /* FIXME: do pre/post-mode set stuff in core KMS code */
-@@ -1319,10 +1317,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
-
- ret = intel_fbdev_init(dev);
- if (ret)
-- goto cleanup_gem;
--
-- /* Only enable hotplug handling once the fbdev is fully set up. */
-- dev_priv->enable_hotplug_processing = true;
-+ goto cleanup_irq;
-
- drm_kms_helper_poll_init(dev);
-
-@@ -1331,13 +1326,13 @@ static int i915_load_modeset_init(struct drm_device *dev)
-
- return 0;
-
-+cleanup_irq:
-+ drm_irq_uninstall(dev);
- cleanup_gem:
- mutex_lock(&dev->struct_mutex);
- i915_gem_cleanup_ringbuffer(dev);
- mutex_unlock(&dev->struct_mutex);
- i915_gem_cleanup_aliasing_ppgtt(dev);
--cleanup_irq:
-- drm_irq_uninstall(dev);
- cleanup_gem_stolen:
- i915_gem_cleanup_stolen(dev);
- cleanup_vga_switcheroo:
-diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
-index fb6454c..79f5fc5 100644
---- a/drivers/gpu/drm/i915/i915_drv.c
-+++ b/drivers/gpu/drm/i915/i915_drv.c
-@@ -486,7 +486,6 @@ static int i915_drm_freeze(struct drm_device *dev)
- intel_modeset_disable(dev);
-
- drm_irq_uninstall(dev);
-- dev_priv->enable_hotplug_processing = false;
- }
-
- i915_save_state(dev);
-@@ -563,19 +562,9 @@ static int __i915_drm_thaw(struct drm_device *dev)
- error = i915_gem_init_hw(dev);
- mutex_unlock(&dev->struct_mutex);
-
-- /* We need working interrupts for modeset enabling ... */
-- drm_irq_install(dev);
--
- intel_modeset_init_hw(dev);
- intel_modeset_setup_hw_state(dev, false);
--
-- /*
-- * ... but also need to make sure that hotplug processing
-- * doesn't cause havoc. Like in the driver load code we don't
-- * bother with the tiny race here where we might loose hotplug
-- * notifications.
-- * */
-- dev_priv->enable_hotplug_processing = true;
-+ drm_irq_install(dev);
- }
-
- intel_opregion_init(dev);
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 66ad64f..7339a4b 100644
---- a/drivers/gpu/drm/i915/i915_drv.h
-+++ b/drivers/gpu/drm/i915/i915_drv.h
-@@ -672,7 +672,6 @@ typedef struct drm_i915_private {
-
- u32 hotplug_supported_mask;
- struct work_struct hotplug_work;
-- bool enable_hotplug_processing;
-
- int num_pipe;
- int num_pch_pll;
-diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 3c00403..fe84338 100644
---- a/drivers/gpu/drm/i915/i915_irq.c
-+++ b/drivers/gpu/drm/i915/i915_irq.c
-@@ -287,10 +287,6 @@ static void i915_hotplug_work_func(struct work_struct *work)
- struct drm_mode_config *mode_config = &dev->mode_config;
- struct intel_encoder *encoder;
-
-- /* HPD irq before everything is fully set up. */
-- if (!dev_priv->enable_hotplug_processing)
-- return;
--
- mutex_lock(&mode_config->mutex);
- DRM_DEBUG_KMS("running encoder hotplug functions\n");
-
-diff --git a/drivers/hwmon/lineage-pem.c b/drivers/hwmon/lineage-pem.c
-index 41df29f..ebbb9f4 100644
---- a/drivers/hwmon/lineage-pem.c
-+++ b/drivers/hwmon/lineage-pem.c
-@@ -422,6 +422,7 @@ static struct attribute *pem_input_attributes[] = {
- &sensor_dev_attr_in2_input.dev_attr.attr,
- &sensor_dev_attr_curr1_input.dev_attr.attr,
- &sensor_dev_attr_power1_input.dev_attr.attr,
-+ NULL
- };
-
- static const struct attribute_group pem_input_group = {
-@@ -432,6 +433,7 @@ static struct attribute *pem_fan_attributes[] = {
- &sensor_dev_attr_fan1_input.dev_attr.attr,
- &sensor_dev_attr_fan2_input.dev_attr.attr,
- &sensor_dev_attr_fan3_input.dev_attr.attr,
-+ NULL
- };
-
- static const struct attribute_group pem_fan_group = {
-diff --git a/drivers/hwmon/pmbus/ltc2978.c b/drivers/hwmon/pmbus/ltc2978.c
-index a58de38..6d61307 100644
---- a/drivers/hwmon/pmbus/ltc2978.c
-+++ b/drivers/hwmon/pmbus/ltc2978.c
-@@ -59,7 +59,7 @@ enum chips { ltc2978, ltc3880 };
- struct ltc2978_data {
- enum chips id;
- int vin_min, vin_max;
-- int temp_min, temp_max;
-+ int temp_min, temp_max[2];
- int vout_min[8], vout_max[8];
- int iout_max[2];
- int temp2_max;
-@@ -113,9 +113,10 @@ static int ltc2978_read_word_data_common(struct i2c_client *client, int page,
- ret = pmbus_read_word_data(client, page,
- LTC2978_MFR_TEMPERATURE_PEAK);
- if (ret >= 0) {
-- if (lin11_to_val(ret) > lin11_to_val(data->temp_max))
-- data->temp_max = ret;
-- ret = data->temp_max;
-+ if (lin11_to_val(ret)
-+ > lin11_to_val(data->temp_max[page]))
-+ data->temp_max[page] = ret;
-+ ret = data->temp_max[page];
- }
- break;
- case PMBUS_VIRT_RESET_VOUT_HISTORY:
-@@ -266,7 +267,7 @@ static int ltc2978_write_word_data(struct i2c_client *client, int page,
- break;
- case PMBUS_VIRT_RESET_TEMP_HISTORY:
- data->temp_min = 0x7bff;
-- data->temp_max = 0x7c00;
-+ data->temp_max[page] = 0x7c00;
- ret = ltc2978_clear_peaks(client, page, data->id);
- break;
- default:
-@@ -323,7 +324,8 @@ static int ltc2978_probe(struct i2c_client *client,
- data->vin_min = 0x7bff;
- data->vin_max = 0x7c00;
- data->temp_min = 0x7bff;
-- data->temp_max = 0x7c00;
-+ for (i = 0; i < ARRAY_SIZE(data->temp_max); i++)
-+ data->temp_max[i] = 0x7c00;
- data->temp2_max = 0x7c00;
-
- switch (data->id) {
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index 3766682..db04f53 100644
---- a/drivers/mtd/nand/nand_base.c
-+++ b/drivers/mtd/nand/nand_base.c
-@@ -1527,6 +1527,14 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
- oobreadlen -= toread;
- }
- }
-+
-+ if (chip->options & NAND_NEED_READRDY) {
-+ /* Apply delay or wait for ready/busy pin */
-+ if (!chip->dev_ready)
-+ udelay(chip->chip_delay);
-+ else
-+ nand_wait_ready(mtd);
-+ }
- } else {
- memcpy(buf, chip->buffers->databuf + col, bytes);
- buf += bytes;
-@@ -1791,6 +1799,14 @@ static int nand_do_read_oob(struct mtd_info *mtd, loff_t from,
- len = min(len, readlen);
- buf = nand_transfer_oob(chip, buf, ops, len);
-
-+ if (chip->options & NAND_NEED_READRDY) {
-+ /* Apply delay or wait for ready/busy pin */
-+ if (!chip->dev_ready)
-+ udelay(chip->chip_delay);
-+ else
-+ nand_wait_ready(mtd);
-+ }
-+
- readlen -= len;
- if (!readlen)
- break;
-diff --git a/drivers/mtd/nand/nand_ids.c b/drivers/mtd/nand/nand_ids.c
-index e3aa274..9c61238 100644
---- a/drivers/mtd/nand/nand_ids.c
-+++ b/drivers/mtd/nand/nand_ids.c
-@@ -22,49 +22,51 @@
- * 512 512 Byte page size
- */
- struct nand_flash_dev nand_flash_ids[] = {
-+#define SP_OPTIONS NAND_NEED_READRDY
-+#define SP_OPTIONS16 (SP_OPTIONS | NAND_BUSWIDTH_16)
-
- #ifdef CONFIG_MTD_NAND_MUSEUM_IDS
-- {"NAND 1MiB 5V 8-bit", 0x6e, 256, 1, 0x1000, 0},
-- {"NAND 2MiB 5V 8-bit", 0x64, 256, 2, 0x1000, 0},
-- {"NAND 4MiB 5V 8-bit", 0x6b, 512, 4, 0x2000, 0},
-- {"NAND 1MiB 3,3V 8-bit", 0xe8, 256, 1, 0x1000, 0},
-- {"NAND 1MiB 3,3V 8-bit", 0xec, 256, 1, 0x1000, 0},
-- {"NAND 2MiB 3,3V 8-bit", 0xea, 256, 2, 0x1000, 0},
-- {"NAND 4MiB 3,3V 8-bit", 0xd5, 512, 4, 0x2000, 0},
-- {"NAND 4MiB 3,3V 8-bit", 0xe3, 512, 4, 0x2000, 0},
-- {"NAND 4MiB 3,3V 8-bit", 0xe5, 512, 4, 0x2000, 0},
-- {"NAND 8MiB 3,3V 8-bit", 0xd6, 512, 8, 0x2000, 0},
--
-- {"NAND 8MiB 1,8V 8-bit", 0x39, 512, 8, 0x2000, 0},
-- {"NAND 8MiB 3,3V 8-bit", 0xe6, 512, 8, 0x2000, 0},
-- {"NAND 8MiB 1,8V 16-bit", 0x49, 512, 8, 0x2000, NAND_BUSWIDTH_16},
-- {"NAND 8MiB 3,3V 16-bit", 0x59, 512, 8, 0x2000, NAND_BUSWIDTH_16},
-+ {"NAND 1MiB 5V 8-bit", 0x6e, 256, 1, 0x1000, SP_OPTIONS},
-+ {"NAND 2MiB 5V 8-bit", 0x64, 256, 2, 0x1000, SP_OPTIONS},
-+ {"NAND 4MiB 5V 8-bit", 0x6b, 512, 4, 0x2000, SP_OPTIONS},
-+ {"NAND 1MiB 3,3V 8-bit", 0xe8, 256, 1, 0x1000, SP_OPTIONS},
-+ {"NAND 1MiB 3,3V 8-bit", 0xec, 256, 1, 0x1000, SP_OPTIONS},
-+ {"NAND 2MiB 3,3V 8-bit", 0xea, 256, 2, 0x1000, SP_OPTIONS},
-+ {"NAND 4MiB 3,3V 8-bit", 0xd5, 512, 4, 0x2000, SP_OPTIONS},
-+ {"NAND 4MiB 3,3V 8-bit", 0xe3, 512, 4, 0x2000, SP_OPTIONS},
-+ {"NAND 4MiB 3,3V 8-bit", 0xe5, 512, 4, 0x2000, SP_OPTIONS},
-+ {"NAND 8MiB 3,3V 8-bit", 0xd6, 512, 8, 0x2000, SP_OPTIONS},
-+
-+ {"NAND 8MiB 1,8V 8-bit", 0x39, 512, 8, 0x2000, SP_OPTIONS},
-+ {"NAND 8MiB 3,3V 8-bit", 0xe6, 512, 8, 0x2000, SP_OPTIONS},
-+ {"NAND 8MiB 1,8V 16-bit", 0x49, 512, 8, 0x2000, SP_OPTIONS16},
-+ {"NAND 8MiB 3,3V 16-bit", 0x59, 512, 8, 0x2000, SP_OPTIONS16},
- #endif
-
-- {"NAND 16MiB 1,8V 8-bit", 0x33, 512, 16, 0x4000, 0},
-- {"NAND 16MiB 3,3V 8-bit", 0x73, 512, 16, 0x4000, 0},
-- {"NAND 16MiB 1,8V 16-bit", 0x43, 512, 16, 0x4000, NAND_BUSWIDTH_16},
-- {"NAND 16MiB 3,3V 16-bit", 0x53, 512, 16, 0x4000, NAND_BUSWIDTH_16},
--
-- {"NAND 32MiB 1,8V 8-bit", 0x35, 512, 32, 0x4000, 0},
-- {"NAND 32MiB 3,3V 8-bit", 0x75, 512, 32, 0x4000, 0},
-- {"NAND 32MiB 1,8V 16-bit", 0x45, 512, 32, 0x4000, NAND_BUSWIDTH_16},
-- {"NAND 32MiB 3,3V 16-bit", 0x55, 512, 32, 0x4000, NAND_BUSWIDTH_16},
--
-- {"NAND 64MiB 1,8V 8-bit", 0x36, 512, 64, 0x4000, 0},
-- {"NAND 64MiB 3,3V 8-bit", 0x76, 512, 64, 0x4000, 0},
-- {"NAND 64MiB 1,8V 16-bit", 0x46, 512, 64, 0x4000, NAND_BUSWIDTH_16},
-- {"NAND 64MiB 3,3V 16-bit", 0x56, 512, 64, 0x4000, NAND_BUSWIDTH_16},
--
-- {"NAND 128MiB 1,8V 8-bit", 0x78, 512, 128, 0x4000, 0},
-- {"NAND 128MiB 1,8V 8-bit", 0x39, 512, 128, 0x4000, 0},
-- {"NAND 128MiB 3,3V 8-bit", 0x79, 512, 128, 0x4000, 0},
-- {"NAND 128MiB 1,8V 16-bit", 0x72, 512, 128, 0x4000, NAND_BUSWIDTH_16},
-- {"NAND 128MiB 1,8V 16-bit", 0x49, 512, 128, 0x4000, NAND_BUSWIDTH_16},
-- {"NAND 128MiB 3,3V 16-bit", 0x74, 512, 128, 0x4000, NAND_BUSWIDTH_16},
-- {"NAND 128MiB 3,3V 16-bit", 0x59, 512, 128, 0x4000, NAND_BUSWIDTH_16},
--
-- {"NAND 256MiB 3,3V 8-bit", 0x71, 512, 256, 0x4000, 0},
-+ {"NAND 16MiB 1,8V 8-bit", 0x33, 512, 16, 0x4000, SP_OPTIONS},
-+ {"NAND 16MiB 3,3V 8-bit", 0x73, 512, 16, 0x4000, SP_OPTIONS},
-+ {"NAND 16MiB 1,8V 16-bit", 0x43, 512, 16, 0x4000, SP_OPTIONS16},
-+ {"NAND 16MiB 3,3V 16-bit", 0x53, 512, 16, 0x4000, SP_OPTIONS16},
-+
-+ {"NAND 32MiB 1,8V 8-bit", 0x35, 512, 32, 0x4000, SP_OPTIONS},
-+ {"NAND 32MiB 3,3V 8-bit", 0x75, 512, 32, 0x4000, SP_OPTIONS},
-+ {"NAND 32MiB 1,8V 16-bit", 0x45, 512, 32, 0x4000, SP_OPTIONS16},
-+ {"NAND 32MiB 3,3V 16-bit", 0x55, 512, 32, 0x4000, SP_OPTIONS16},
-+
-+ {"NAND 64MiB 1,8V 8-bit", 0x36, 512, 64, 0x4000, SP_OPTIONS},
-+ {"NAND 64MiB 3,3V 8-bit", 0x76, 512, 64, 0x4000, SP_OPTIONS},
-+ {"NAND 64MiB 1,8V 16-bit", 0x46, 512, 64, 0x4000, SP_OPTIONS16},
-+ {"NAND 64MiB 3,3V 16-bit", 0x56, 512, 64, 0x4000, SP_OPTIONS16},
-+
-+ {"NAND 128MiB 1,8V 8-bit", 0x78, 512, 128, 0x4000, SP_OPTIONS},
-+ {"NAND 128MiB 1,8V 8-bit", 0x39, 512, 128, 0x4000, SP_OPTIONS},
-+ {"NAND 128MiB 3,3V 8-bit", 0x79, 512, 128, 0x4000, SP_OPTIONS},
-+ {"NAND 128MiB 1,8V 16-bit", 0x72, 512, 128, 0x4000, SP_OPTIONS16},
-+ {"NAND 128MiB 1,8V 16-bit", 0x49, 512, 128, 0x4000, SP_OPTIONS16},
-+ {"NAND 128MiB 3,3V 16-bit", 0x74, 512, 128, 0x4000, SP_OPTIONS16},
-+ {"NAND 128MiB 3,3V 16-bit", 0x59, 512, 128, 0x4000, SP_OPTIONS16},
-+
-+ {"NAND 256MiB 3,3V 8-bit", 0x71, 512, 256, 0x4000, SP_OPTIONS},
-
- /*
- * These are the new chips with large page size. The pagesize and the
-diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
-index b7d45f3..a079da17 100644
---- a/drivers/net/bonding/bond_main.c
-+++ b/drivers/net/bonding/bond_main.c
-@@ -1943,7 +1943,6 @@ int bond_release(struct net_device *bond_dev, struct net_device *slave_dev)
- }
-
- block_netpoll_tx();
-- call_netdevice_notifiers(NETDEV_RELEASE, bond_dev);
- write_lock_bh(&bond->lock);
-
- slave = bond_get_slave_by_dev(bond, slave_dev);
-@@ -2047,8 +2046,10 @@ int bond_release(struct net_device *bond_dev, struct net_device *slave_dev)
- write_unlock_bh(&bond->lock);
- unblock_netpoll_tx();
-
-- if (bond->slave_cnt == 0)
-+ if (bond->slave_cnt == 0) {
- call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev);
-+ call_netdevice_notifiers(NETDEV_RELEASE, bond->dev);
-+ }
-
- bond_compute_features(bond);
- if (!(bond_dev->features & NETIF_F_VLAN_CHALLENGED) &&
-diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
-index 0035c01..bfcb8bc 100644
---- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
-+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
-@@ -2075,7 +2075,7 @@ static int atl1c_tx_map(struct atl1c_adapter *adapter,
- if (unlikely(pci_dma_mapping_error(adapter->pdev,
- buffer_info->dma)))
- goto err_dma;
--
-+ ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY);
- ATL1C_SET_PCIMAP_TYPE(buffer_info, ATL1C_PCIMAP_SINGLE,
- ATL1C_PCIMAP_TODEVICE);
- mapped_len += map_len;
-diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
-index 88291bb..bf3f4bc 100644
---- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
-+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
-@@ -1434,12 +1434,11 @@ int mlx4_en_alloc_resources(struct mlx4_en_priv *priv)
- }
-
- #ifdef CONFIG_RFS_ACCEL
-- priv->dev->rx_cpu_rmap = alloc_irq_cpu_rmap(priv->mdev->dev->caps.comp_pool);
-- if (!priv->dev->rx_cpu_rmap)
-- goto err;
--
-- INIT_LIST_HEAD(&priv->filters);
-- spin_lock_init(&priv->filters_lock);
-+ if (priv->mdev->dev->caps.comp_pool) {
-+ priv->dev->rx_cpu_rmap = alloc_irq_cpu_rmap(priv->mdev->dev->caps.comp_pool);
-+ if (!priv->dev->rx_cpu_rmap)
-+ goto err;
-+ }
- #endif
-
- return 0;
-@@ -1634,6 +1633,11 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
- if (err)
- goto out;
-
-+#ifdef CONFIG_RFS_ACCEL
-+ INIT_LIST_HEAD(&priv->filters);
-+ spin_lock_init(&priv->filters_lock);
-+#endif
-+
- /* Allocate page for receive rings */
- err = mlx4_alloc_hwq_res(mdev->dev, &priv->res,
- MLX4_EN_PAGE_SIZE, MLX4_EN_PAGE_SIZE);
-diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
-index d3fb97d..e5cb723 100644
---- a/drivers/net/macvlan.c
-+++ b/drivers/net/macvlan.c
-@@ -628,6 +628,7 @@ void macvlan_common_setup(struct net_device *dev)
- ether_setup(dev);
-
- dev->priv_flags &= ~(IFF_XMIT_DST_RELEASE | IFF_TX_SKB_SHARING);
-+ dev->priv_flags |= IFF_UNICAST_FLT;
- dev->netdev_ops = &macvlan_netdev_ops;
- dev->destructor = free_netdev;
- dev->header_ops = &macvlan_hard_header_ops,
-diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
-index ad86660..8efe47a 100644
---- a/drivers/net/team/team.c
-+++ b/drivers/net/team/team.c
-@@ -1139,6 +1139,8 @@ static int team_port_del(struct team *team, struct net_device *port_dev)
- netdev_set_master(port_dev, NULL);
- team_port_disable_netpoll(port);
- vlan_vids_del_by_dev(port_dev, dev);
-+ dev_uc_unsync(port_dev, dev);
-+ dev_mc_unsync(port_dev, dev);
- dev_close(port_dev);
- team_port_leave(team, port);
- team_port_set_orig_dev_addr(port);
-diff --git a/drivers/net/tun.c b/drivers/net/tun.c
-index 2917a86..cb95fe5 100644
---- a/drivers/net/tun.c
-+++ b/drivers/net/tun.c
-@@ -748,6 +748,8 @@ static netdev_tx_t tun_net_xmit(struct sk_buff *skb, struct net_device *dev)
- goto drop;
- skb_orphan(skb);
-
-+ nf_reset(skb);
-+
- /* Enqueue packet */
- skb_queue_tail(&tfile->socket.sk->sk_receive_queue, skb);
-
-diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
-index 656230e..6993bfa 100644
---- a/drivers/net/vxlan.c
-+++ b/drivers/net/vxlan.c
-@@ -1491,6 +1491,15 @@ static __net_init int vxlan_init_net(struct net *net)
- static __net_exit void vxlan_exit_net(struct net *net)
- {
- struct vxlan_net *vn = net_generic(net, vxlan_net_id);
-+ struct vxlan_dev *vxlan;
-+ struct hlist_node *pos;
-+ unsigned h;
-+
-+ rtnl_lock();
-+ for (h = 0; h < VNI_HASH_SIZE; ++h)
-+ hlist_for_each_entry(vxlan, pos, &vn->vni_list[h], hlist)
-+ dev_close(vxlan->dev);
-+ rtnl_unlock();
-
- if (vn->sock) {
- sk_release_kernel(vn->sock->sk);
-diff --git a/drivers/staging/comedi/drivers/dt9812.c b/drivers/staging/comedi/drivers/dt9812.c
-index 1767998..3e7f961 100644
---- a/drivers/staging/comedi/drivers/dt9812.c
-+++ b/drivers/staging/comedi/drivers/dt9812.c
-@@ -948,12 +948,13 @@ static int dt9812_di_rinsn(struct comedi_device *dev,
- unsigned int *data)
- {
- struct comedi_dt9812 *devpriv = dev->private;
-+ unsigned int channel = CR_CHAN(insn->chanspec);
- int n;
- u8 bits = 0;
-
- dt9812_digital_in(devpriv->slot, &bits);
- for (n = 0; n < insn->n; n++)
-- data[n] = ((1 << insn->chanspec) & bits) != 0;
-+ data[n] = ((1 << channel) & bits) != 0;
- return n;
- }
-
-@@ -962,12 +963,13 @@ static int dt9812_do_winsn(struct comedi_device *dev,
- unsigned int *data)
- {
- struct comedi_dt9812 *devpriv = dev->private;
-+ unsigned int channel = CR_CHAN(insn->chanspec);
- int n;
- u8 bits = 0;
-
- dt9812_digital_out_shadow(devpriv->slot, &bits);
- for (n = 0; n < insn->n; n++) {
-- u8 mask = 1 << insn->chanspec;
-+ u8 mask = 1 << channel;
-
- bits &= ~mask;
- if (data[n])
-@@ -982,13 +984,13 @@ static int dt9812_ai_rinsn(struct comedi_device *dev,
- unsigned int *data)
- {
- struct comedi_dt9812 *devpriv = dev->private;
-+ unsigned int channel = CR_CHAN(insn->chanspec);
- int n;
-
- for (n = 0; n < insn->n; n++) {
- u16 value = 0;
-
-- dt9812_analog_in(devpriv->slot, insn->chanspec, &value,
-- DT9812_GAIN_1);
-+ dt9812_analog_in(devpriv->slot, channel, &value, DT9812_GAIN_1);
- data[n] = value;
- }
- return n;
-@@ -999,12 +1001,13 @@ static int dt9812_ao_rinsn(struct comedi_device *dev,
- unsigned int *data)
- {
- struct comedi_dt9812 *devpriv = dev->private;
-+ unsigned int channel = CR_CHAN(insn->chanspec);
- int n;
- u16 value;
-
- for (n = 0; n < insn->n; n++) {
- value = 0;
-- dt9812_analog_out_shadow(devpriv->slot, insn->chanspec, &value);
-+ dt9812_analog_out_shadow(devpriv->slot, channel, &value);
- data[n] = value;
- }
- return n;
-@@ -1015,10 +1018,11 @@ static int dt9812_ao_winsn(struct comedi_device *dev,
- unsigned int *data)
- {
- struct comedi_dt9812 *devpriv = dev->private;
-+ unsigned int channel = CR_CHAN(insn->chanspec);
- int n;
-
- for (n = 0; n < insn->n; n++)
-- dt9812_analog_out(devpriv->slot, insn->chanspec, data[n]);
-+ dt9812_analog_out(devpriv->slot, channel, data[n]);
- return n;
- }
-
-diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c
-index f33086d..f726970 100644
---- a/drivers/staging/vt6656/main_usb.c
-+++ b/drivers/staging/vt6656/main_usb.c
-@@ -644,8 +644,6 @@ static int vt6656_suspend(struct usb_interface *intf, pm_message_t message)
- if (device->flags & DEVICE_FLAGS_OPENED)
- device_close(device->dev);
-
-- usb_put_dev(interface_to_usbdev(intf));
--
- return 0;
- }
-
-@@ -656,8 +654,6 @@ static int vt6656_resume(struct usb_interface *intf)
- if (!device || !device->dev)
- return -ENODEV;
-
-- usb_get_dev(interface_to_usbdev(intf));
--
- if (!(device->flags & DEVICE_FLAGS_OPENED))
- device_open(device->dev);
-
-diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c
-index 79ff3a5..ac35c90 100644
---- a/drivers/tty/pty.c
-+++ b/drivers/tty/pty.c
-@@ -47,7 +47,6 @@ static void pty_close(struct tty_struct *tty, struct file *filp)
- /* Review - krefs on tty_link ?? */
- if (!tty->link)
- return;
-- tty->link->packet = 0;
- set_bit(TTY_OTHER_CLOSED, &tty->link->flags);
- wake_up_interruptible(&tty->link->read_wait);
- wake_up_interruptible(&tty->link->write_wait);
-diff --git a/drivers/tty/serial/8250/8250.c b/drivers/tty/serial/8250/8250.c
-index f932043..733f22c 100644
---- a/drivers/tty/serial/8250/8250.c
-+++ b/drivers/tty/serial/8250/8250.c
-@@ -308,7 +308,28 @@ static const struct serial8250_config uart_config[] = {
- },
- [PORT_8250_CIR] = {
- .name = "CIR port"
-- }
-+ },
-+ [PORT_ALTR_16550_F32] = {
-+ .name = "Altera 16550 FIFO32",
-+ .fifo_size = 32,
-+ .tx_loadsz = 32,
-+ .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
-+ .flags = UART_CAP_FIFO | UART_CAP_AFE,
-+ },
-+ [PORT_ALTR_16550_F64] = {
-+ .name = "Altera 16550 FIFO64",
-+ .fifo_size = 64,
-+ .tx_loadsz = 64,
-+ .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
-+ .flags = UART_CAP_FIFO | UART_CAP_AFE,
-+ },
-+ [PORT_ALTR_16550_F128] = {
-+ .name = "Altera 16550 FIFO128",
-+ .fifo_size = 128,
-+ .tx_loadsz = 128,
-+ .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
-+ .flags = UART_CAP_FIFO | UART_CAP_AFE,
-+ },
- };
-
- /* Uart divisor latch read */
-@@ -3430,3 +3451,32 @@ module_param_array(probe_rsa, ulong, &probe_rsa_count, 0444);
- MODULE_PARM_DESC(probe_rsa, "Probe I/O ports for RSA");
- #endif
- MODULE_ALIAS_CHARDEV_MAJOR(TTY_MAJOR);
-+
-+#ifndef MODULE
-+/* This module was renamed to 8250_core in 3.7. Keep the old "8250" name
-+ * working as well for the module options so we don't break people. We
-+ * need to keep the names identical and the convenient macros will happily
-+ * refuse to let us do that by failing the build with redefinition errors
-+ * of global variables. So we stick them inside a dummy function to avoid
-+ * those conflicts. The options still get parsed, and the redefined
-+ * MODULE_PARAM_PREFIX lets us keep the "8250." syntax alive.
-+ *
-+ * This is hacky. I'm sorry.
-+ */
-+static void __used s8250_options(void)
-+{
-+#undef MODULE_PARAM_PREFIX
-+#define MODULE_PARAM_PREFIX "8250."
-+
-+ module_param_cb(share_irqs, &param_ops_uint, &share_irqs, 0644);
-+ module_param_cb(nr_uarts, &param_ops_uint, &nr_uarts, 0644);
-+ module_param_cb(skip_txen_test, &param_ops_uint, &skip_txen_test, 0644);
-+#ifdef CONFIG_SERIAL_8250_RSA
-+ __module_param_call(MODULE_PARAM_PREFIX, probe_rsa,
-+ &param_array_ops, .arr = &__param_arr_probe_rsa,
-+ 0444, -1);
-+#endif
-+}
-+#else
-+MODULE_ALIAS("8250");
-+#endif
-diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
-index a27a98e..5cdb092 100644
---- a/drivers/tty/serial/8250/8250_pci.c
-+++ b/drivers/tty/serial/8250/8250_pci.c
-@@ -1321,6 +1321,7 @@ pci_wch_ch353_setup(struct serial_private *priv,
-
- /* Unknown vendors/cards - this should not be in linux/pci_ids.h */
- #define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584
-+#define PCI_SUBDEVICE_ID_UNKNOWN_0x1588 0x1588
-
- /*
- * Master list of serial port init/setup/exit quirks.
-@@ -1592,15 +1593,6 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
- },
- {
- .vendor = PCI_VENDOR_ID_PLX,
-- .device = PCI_DEVICE_ID_PLX_9050,
-- .subvendor = PCI_VENDOR_ID_PLX,
-- .subdevice = PCI_SUBDEVICE_ID_UNKNOWN_0x1584,
-- .init = pci_plx9050_init,
-- .setup = pci_default_setup,
-- .exit = pci_plx9050_exit,
-- },
-- {
-- .vendor = PCI_VENDOR_ID_PLX,
- .device = PCI_DEVICE_ID_PLX_ROMULUS,
- .subvendor = PCI_VENDOR_ID_PLX,
- .subdevice = PCI_DEVICE_ID_PLX_ROMULUS,
-@@ -3456,7 +3448,12 @@ static struct pci_device_id serial_pci_tbl[] = {
- { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
- PCI_VENDOR_ID_PLX,
- PCI_SUBDEVICE_ID_UNKNOWN_0x1584, 0, 0,
-- pbn_b0_4_115200 },
-+ pbn_b2_4_115200 },
-+ /* Unknown card - subdevice 0x1588 */
-+ { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
-+ PCI_VENDOR_ID_PLX,
-+ PCI_SUBDEVICE_ID_UNKNOWN_0x1588, 0, 0,
-+ pbn_b2_8_115200 },
- { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
- PCI_SUBVENDOR_ID_KEYSPAN,
- PCI_SUBDEVICE_ID_KEYSPAN_SX2, 0, 0,
-@@ -4449,6 +4446,10 @@ static struct pci_device_id serial_pci_tbl[] = {
- PCI_VENDOR_ID_IBM, 0x0299,
- 0, 0, pbn_b0_bt_2_115200 },
-
-+ { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9835,
-+ 0x1000, 0x0012,
-+ 0, 0, pbn_b0_bt_2_115200 },
-+
- { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9901,
- 0xA000, 0x1000,
- 0, 0, pbn_b0_1_115200 },
-diff --git a/drivers/tty/serial/8250/8250_pnp.c b/drivers/tty/serial/8250/8250_pnp.c
-index 35d9ab9..b3455a9 100644
---- a/drivers/tty/serial/8250/8250_pnp.c
-+++ b/drivers/tty/serial/8250/8250_pnp.c
-@@ -429,6 +429,7 @@ serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
- {
- struct uart_8250_port uart;
- int ret, line, flags = dev_id->driver_data;
-+ struct resource *res = NULL;
-
- if (flags & UNKNOWN_DEV) {
- ret = serial_pnp_guess_board(dev);
-@@ -439,11 +440,12 @@ serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
- memset(&uart, 0, sizeof(uart));
- if (pnp_irq_valid(dev, 0))
- uart.port.irq = pnp_irq(dev, 0);
-- if ((flags & CIR_PORT) && pnp_port_valid(dev, 2)) {
-- uart.port.iobase = pnp_port_start(dev, 2);
-- uart.port.iotype = UPIO_PORT;
-- } else if (pnp_port_valid(dev, 0)) {
-- uart.port.iobase = pnp_port_start(dev, 0);
-+ if ((flags & CIR_PORT) && pnp_port_valid(dev, 2))
-+ res = pnp_get_resource(dev, IORESOURCE_IO, 2);
-+ else if (pnp_port_valid(dev, 0))
-+ res = pnp_get_resource(dev, IORESOURCE_IO, 0);
-+ if (pnp_resource_enabled(res)) {
-+ uart.port.iobase = res->start;
- uart.port.iotype = UPIO_PORT;
- } else if (pnp_mem_valid(dev, 0)) {
- uart.port.mapbase = pnp_mem_start(dev, 0);
-diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
-index 59c23d0..02e706e 100644
---- a/drivers/tty/serial/Kconfig
-+++ b/drivers/tty/serial/Kconfig
-@@ -209,14 +209,14 @@ config SERIAL_SAMSUNG
- config SERIAL_SAMSUNG_UARTS_4
- bool
- depends on PLAT_SAMSUNG
-- default y if !(CPU_S3C2410 || SERIAL_S3C2412 || CPU_S3C2440 || CPU_S3C2442)
-+ default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442)
- help
- Internal node for the common case of 4 Samsung compatible UARTs
-
- config SERIAL_SAMSUNG_UARTS
- int
- depends on PLAT_SAMSUNG
-- default 6 if ARCH_S5P6450
-+ default 6 if CPU_S5P6450
- default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416
- default 3
- help
-diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
-index e7cae1c..3490629 100644
---- a/drivers/tty/serial/of_serial.c
-+++ b/drivers/tty/serial/of_serial.c
-@@ -240,6 +240,12 @@ static struct of_device_id of_platform_serial_table[] = {
- { .compatible = "ns16850", .data = (void *)PORT_16850, },
- { .compatible = "nvidia,tegra20-uart", .data = (void *)PORT_TEGRA, },
- { .compatible = "nxp,lpc3220-uart", .data = (void *)PORT_LPC3220, },
-+ { .compatible = "altr,16550-FIFO32",
-+ .data = (void *)PORT_ALTR_16550_F32, },
-+ { .compatible = "altr,16550-FIFO64",
-+ .data = (void *)PORT_ALTR_16550_F64, },
-+ { .compatible = "altr,16550-FIFO128",
-+ .data = (void *)PORT_ALTR_16550_F128, },
- #ifdef CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL
- { .compatible = "ibm,qpace-nwp-serial",
- .data = (void *)PORT_NWPSERIAL, },
-diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c
-index 45d9161..cd1f861 100644
---- a/drivers/tty/tty_buffer.c
-+++ b/drivers/tty/tty_buffer.c
-@@ -473,7 +473,7 @@ static void flush_to_ldisc(struct work_struct *work)
- struct tty_ldisc *disc;
-
- tty = port->itty;
-- if (WARN_RATELIMIT(tty == NULL, "tty is NULL\n"))
-+ if (tty == NULL)
- return;
-
- disc = tty_ldisc_ref(tty);
-diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c
-index 5f0cb41..122d056 100644
---- a/drivers/usb/class/cdc-wdm.c
-+++ b/drivers/usb/class/cdc-wdm.c
-@@ -56,6 +56,7 @@ MODULE_DEVICE_TABLE (usb, wdm_ids);
- #define WDM_RESPONDING 7
- #define WDM_SUSPENDING 8
- #define WDM_RESETTING 9
-+#define WDM_OVERFLOW 10
-
- #define WDM_MAX 16
-
-@@ -155,6 +156,7 @@ static void wdm_in_callback(struct urb *urb)
- {
- struct wdm_device *desc = urb->context;
- int status = urb->status;
-+ int length = urb->actual_length;
-
- spin_lock(&desc->iuspin);
- clear_bit(WDM_RESPONDING, &desc->flags);
-@@ -185,9 +187,17 @@ static void wdm_in_callback(struct urb *urb)
- }
-
- desc->rerr = status;
-- desc->reslength = urb->actual_length;
-- memmove(desc->ubuf + desc->length, desc->inbuf, desc->reslength);
-- desc->length += desc->reslength;
-+ if (length + desc->length > desc->wMaxCommand) {
-+ /* The buffer would overflow */
-+ set_bit(WDM_OVERFLOW, &desc->flags);
-+ } else {
-+ /* we may already be in overflow */
-+ if (!test_bit(WDM_OVERFLOW, &desc->flags)) {
-+ memmove(desc->ubuf + desc->length, desc->inbuf, length);
-+ desc->length += length;
-+ desc->reslength = length;
-+ }
-+ }
- skip_error:
- wake_up(&desc->wait);
-
-@@ -435,6 +445,11 @@ retry:
- rv = -ENODEV;
- goto err;
- }
-+ if (test_bit(WDM_OVERFLOW, &desc->flags)) {
-+ clear_bit(WDM_OVERFLOW, &desc->flags);
-+ rv = -ENOBUFS;
-+ goto err;
-+ }
- i++;
- if (file->f_flags & O_NONBLOCK) {
- if (!test_bit(WDM_READ, &desc->flags)) {
-@@ -478,6 +493,7 @@ retry:
- spin_unlock_irq(&desc->iuspin);
- goto retry;
- }
-+
- if (!desc->reslength) { /* zero length read */
- dev_dbg(&desc->intf->dev, "%s: zero length - clearing WDM_READ\n", __func__);
- clear_bit(WDM_READ, &desc->flags);
-@@ -1004,6 +1020,7 @@ static int wdm_post_reset(struct usb_interface *intf)
- struct wdm_device *desc = wdm_find_device(intf);
- int rv;
-
-+ clear_bit(WDM_OVERFLOW, &desc->flags);
- clear_bit(WDM_RESETTING, &desc->flags);
- rv = recover_from_urb_loss(desc);
- mutex_unlock(&desc->wlock);
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index 3a4004a..f00c749 100644
---- a/drivers/usb/dwc3/core.c
-+++ b/drivers/usb/dwc3/core.c
-@@ -575,6 +575,7 @@ static int dwc3_remove(struct platform_device *pdev)
- break;
- }
-
-+ dwc3_free_event_buffers(dwc);
- dwc3_core_exit(dwc);
-
- return 0;
-diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
-index fd252f0..eda2cf4 100644
---- a/drivers/usb/host/ehci-q.c
-+++ b/drivers/usb/host/ehci-q.c
-@@ -135,7 +135,7 @@ qh_refresh (struct ehci_hcd *ehci, struct ehci_qh *qh)
- * qtd is updated in qh_completions(). Update the QH
- * overlay here.
- */
-- if (cpu_to_hc32(ehci, qtd->qtd_dma) == qh->hw->hw_current) {
-+ if (qh->hw->hw_token & ACTIVE_BIT(ehci)) {
- qh->hw->hw_qtd_next = qtd->hw_next;
- qtd = NULL;
- }
-@@ -449,11 +449,19 @@ qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh)
- else if (last_status == -EINPROGRESS && !urb->unlinked)
- continue;
-
-- /* qh unlinked; token in overlay may be most current */
-- if (state == QH_STATE_IDLE
-- && cpu_to_hc32(ehci, qtd->qtd_dma)
-- == hw->hw_current) {
-+ /*
-+ * If this was the active qtd when the qh was unlinked
-+ * and the overlay's token is active, then the overlay
-+ * hasn't been written back to the qtd yet so use its
-+ * token instead of the qtd's. After the qtd is
-+ * processed and removed, the overlay won't be valid
-+ * any more.
-+ */
-+ if (state == QH_STATE_IDLE &&
-+ qh->qtd_list.next == &qtd->qtd_list &&
-+ (hw->hw_token & ACTIVE_BIT(ehci))) {
- token = hc32_to_cpu(ehci, hw->hw_token);
-+ hw->hw_token &= ~ACTIVE_BIT(ehci);
-
- /* An unlink may leave an incomplete
- * async transaction in the TT buffer.
-diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
-index edc0f0d..4747d1c 100644
---- a/drivers/usb/serial/cp210x.c
-+++ b/drivers/usb/serial/cp210x.c
-@@ -85,6 +85,7 @@ static const struct usb_device_id id_table[] = {
- { USB_DEVICE(0x10C4, 0x813F) }, /* Tams Master Easy Control */
- { USB_DEVICE(0x10C4, 0x814A) }, /* West Mountain Radio RIGblaster P&P */
- { USB_DEVICE(0x10C4, 0x814B) }, /* West Mountain Radio RIGtalk */
-+ { USB_DEVICE(0x2405, 0x0003) }, /* West Mountain Radio RIGblaster Advantage */
- { USB_DEVICE(0x10C4, 0x8156) }, /* B&G H3000 link cable */
- { USB_DEVICE(0x10C4, 0x815E) }, /* Helicomm IP-Link 1220-DVM */
- { USB_DEVICE(0x10C4, 0x815F) }, /* Timewave HamLinkUSB */
-@@ -150,6 +151,25 @@ static const struct usb_device_id id_table[] = {
- { USB_DEVICE(0x1BE3, 0x07A6) }, /* WAGO 750-923 USB Service Cable */
- { USB_DEVICE(0x1E29, 0x0102) }, /* Festo CPX-USB */
- { USB_DEVICE(0x1E29, 0x0501) }, /* Festo CMSP */
-+ { USB_DEVICE(0x1FB9, 0x0100) }, /* Lake Shore Model 121 Current Source */
-+ { USB_DEVICE(0x1FB9, 0x0200) }, /* Lake Shore Model 218A Temperature Monitor */
-+ { USB_DEVICE(0x1FB9, 0x0201) }, /* Lake Shore Model 219 Temperature Monitor */
-+ { USB_DEVICE(0x1FB9, 0x0202) }, /* Lake Shore Model 233 Temperature Transmitter */
-+ { USB_DEVICE(0x1FB9, 0x0203) }, /* Lake Shore Model 235 Temperature Transmitter */
-+ { USB_DEVICE(0x1FB9, 0x0300) }, /* Lake Shore Model 335 Temperature Controller */
-+ { USB_DEVICE(0x1FB9, 0x0301) }, /* Lake Shore Model 336 Temperature Controller */
-+ { USB_DEVICE(0x1FB9, 0x0302) }, /* Lake Shore Model 350 Temperature Controller */
-+ { USB_DEVICE(0x1FB9, 0x0303) }, /* Lake Shore Model 371 AC Bridge */
-+ { USB_DEVICE(0x1FB9, 0x0400) }, /* Lake Shore Model 411 Handheld Gaussmeter */
-+ { USB_DEVICE(0x1FB9, 0x0401) }, /* Lake Shore Model 425 Gaussmeter */
-+ { USB_DEVICE(0x1FB9, 0x0402) }, /* Lake Shore Model 455A Gaussmeter */
-+ { USB_DEVICE(0x1FB9, 0x0403) }, /* Lake Shore Model 475A Gaussmeter */
-+ { USB_DEVICE(0x1FB9, 0x0404) }, /* Lake Shore Model 465 Three Axis Gaussmeter */
-+ { USB_DEVICE(0x1FB9, 0x0600) }, /* Lake Shore Model 625A Superconducting MPS */
-+ { USB_DEVICE(0x1FB9, 0x0601) }, /* Lake Shore Model 642A Magnet Power Supply */
-+ { USB_DEVICE(0x1FB9, 0x0602) }, /* Lake Shore Model 648 Magnet Power Supply */
-+ { USB_DEVICE(0x1FB9, 0x0700) }, /* Lake Shore Model 737 VSM Controller */
-+ { USB_DEVICE(0x1FB9, 0x0701) }, /* Lake Shore Model 776 Hall Matrix */
- { USB_DEVICE(0x3195, 0xF190) }, /* Link Instruments MSO-19 */
- { USB_DEVICE(0x3195, 0xF280) }, /* Link Instruments MSO-28 */
- { USB_DEVICE(0x3195, 0xF281) }, /* Link Instruments MSO-28 */
-diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
-index f7d339d..558adfc 100644
---- a/drivers/usb/serial/option.c
-+++ b/drivers/usb/serial/option.c
-@@ -341,6 +341,8 @@ static void option_instat_callback(struct urb *urb);
- #define CINTERION_PRODUCT_EU3_E 0x0051
- #define CINTERION_PRODUCT_EU3_P 0x0052
- #define CINTERION_PRODUCT_PH8 0x0053
-+#define CINTERION_PRODUCT_AH6 0x0055
-+#define CINTERION_PRODUCT_PLS8 0x0060
-
- /* Olivetti products */
- #define OLIVETTI_VENDOR_ID 0x0b3c
-@@ -579,6 +581,7 @@ static const struct usb_device_id option_ids[] = {
- { USB_DEVICE(QUANTA_VENDOR_ID, 0xea42),
- .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
- { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c05, USB_CLASS_COMM, 0x02, 0xff) },
-+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c1f, USB_CLASS_COMM, 0x02, 0xff) },
- { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c23, USB_CLASS_COMM, 0x02, 0xff) },
- { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E173, 0xff, 0xff, 0xff),
- .driver_info = (kernel_ulong_t) &net_intf1_blacklist },
-@@ -1260,6 +1263,8 @@ static const struct usb_device_id option_ids[] = {
- { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EU3_E) },
- { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EU3_P) },
- { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PH8) },
-+ { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AH6) },
-+ { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PLS8) },
- { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) },
- { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) },
- { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDM) },
-diff --git a/drivers/usb/serial/qcaux.c b/drivers/usb/serial/qcaux.c
-index 9b1b96f..31f81c3 100644
---- a/drivers/usb/serial/qcaux.c
-+++ b/drivers/usb/serial/qcaux.c
-@@ -69,6 +69,7 @@ static struct usb_device_id id_table[] = {
- { USB_VENDOR_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, 0xff, 0xfd, 0xff) }, /* NMEA */
- { USB_VENDOR_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, 0xff, 0xfe, 0xff) }, /* WMC */
- { USB_VENDOR_AND_INTERFACE_INFO(UTSTARCOM_VENDOR_ID, 0xff, 0xff, 0xff) }, /* DIAG */
-+ { USB_DEVICE_AND_INTERFACE_INFO(0x1fac, 0x0151, 0xff, 0xff, 0xff) },
- { },
- };
- MODULE_DEVICE_TABLE(usb, id_table);
-diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
-index 2466254..59b32b7 100644
---- a/drivers/usb/serial/qcserial.c
-+++ b/drivers/usb/serial/qcserial.c
-@@ -197,12 +197,15 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id)
-
- if (is_gobi1k) {
- /* Gobi 1K USB layout:
-- * 0: serial port (doesn't respond)
-+ * 0: DM/DIAG (use libqcdm from ModemManager for communication)
- * 1: serial port (doesn't respond)
- * 2: AT-capable modem port
- * 3: QMI/net
- */
-- if (ifnum == 2)
-+ if (ifnum == 0) {
-+ dev_dbg(dev, "Gobi 1K DM/DIAG interface found\n");
-+ altsetting = 1;
-+ } else if (ifnum == 2)
- dev_dbg(dev, "Modem port found\n");
- else
- altsetting = -1;
-diff --git a/drivers/usb/storage/initializers.c b/drivers/usb/storage/initializers.c
-index 7ab9046..105d900 100644
---- a/drivers/usb/storage/initializers.c
-+++ b/drivers/usb/storage/initializers.c
-@@ -92,8 +92,8 @@ int usb_stor_ucr61s2b_init(struct us_data *us)
- return 0;
- }
-
--/* This places the HUAWEI usb dongles in multi-port mode */
--static int usb_stor_huawei_feature_init(struct us_data *us)
-+/* This places the HUAWEI E220 devices in multi-port mode */
-+int usb_stor_huawei_e220_init(struct us_data *us)
- {
- int result;
-
-@@ -104,75 +104,3 @@ static int usb_stor_huawei_feature_init(struct us_data *us)
- US_DEBUGP("Huawei mode set result is %d\n", result);
- return 0;
- }
--
--/*
-- * It will send a scsi switch command called rewind' to huawei dongle.
-- * When the dongle receives this command at the first time,
-- * it will reboot immediately. After rebooted, it will ignore this command.
-- * So it is unnecessary to read its response.
-- */
--static int usb_stor_huawei_scsi_init(struct us_data *us)
--{
-- int result = 0;
-- int act_len = 0;
-- struct bulk_cb_wrap *bcbw = (struct bulk_cb_wrap *) us->iobuf;
-- char rewind_cmd[] = {0x11, 0x06, 0x20, 0x00, 0x00, 0x01, 0x01, 0x00,
-- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
--
-- bcbw->Signature = cpu_to_le32(US_BULK_CB_SIGN);
-- bcbw->Tag = 0;
-- bcbw->DataTransferLength = 0;
-- bcbw->Flags = bcbw->Lun = 0;
-- bcbw->Length = sizeof(rewind_cmd);
-- memset(bcbw->CDB, 0, sizeof(bcbw->CDB));
-- memcpy(bcbw->CDB, rewind_cmd, sizeof(rewind_cmd));
--
-- result = usb_stor_bulk_transfer_buf(us, us->send_bulk_pipe, bcbw,
-- US_BULK_CB_WRAP_LEN, &act_len);
-- US_DEBUGP("transfer actual length=%d, result=%d\n", act_len, result);
-- return result;
--}
--
--/*
-- * It tries to find the supported Huawei USB dongles.
-- * In Huawei, they assign the following product IDs
-- * for all of their mobile broadband dongles,
-- * including the new dongles in the future.
-- * So if the product ID is not included in this list,
-- * it means it is not Huawei's mobile broadband dongles.
-- */
--static int usb_stor_huawei_dongles_pid(struct us_data *us)
--{
-- struct usb_interface_descriptor *idesc;
-- int idProduct;
--
-- idesc = &us->pusb_intf->cur_altsetting->desc;
-- idProduct = le16_to_cpu(us->pusb_dev->descriptor.idProduct);
-- /* The first port is CDROM,
-- * means the dongle in the single port mode,
-- * and a switch command is required to be sent. */
-- if (idesc && idesc->bInterfaceNumber == 0) {
-- if ((idProduct == 0x1001)
-- || (idProduct == 0x1003)
-- || (idProduct == 0x1004)
-- || (idProduct >= 0x1401 && idProduct <= 0x1500)
-- || (idProduct >= 0x1505 && idProduct <= 0x1600)
-- || (idProduct >= 0x1c02 && idProduct <= 0x2202)) {
-- return 1;
-- }
-- }
-- return 0;
--}
--
--int usb_stor_huawei_init(struct us_data *us)
--{
-- int result = 0;
--
-- if (usb_stor_huawei_dongles_pid(us)) {
-- if (le16_to_cpu(us->pusb_dev->descriptor.idProduct) >= 0x1446)
-- result = usb_stor_huawei_scsi_init(us);
-- else
-- result = usb_stor_huawei_feature_init(us);
-- }
-- return result;
--}
-diff --git a/drivers/usb/storage/initializers.h b/drivers/usb/storage/initializers.h
-index 5376d4f..529327f 100644
---- a/drivers/usb/storage/initializers.h
-+++ b/drivers/usb/storage/initializers.h
-@@ -46,5 +46,5 @@ int usb_stor_euscsi_init(struct us_data *us);
- * flash reader */
- int usb_stor_ucr61s2b_init(struct us_data *us);
-
--/* This places the HUAWEI usb dongles in multi-port mode */
--int usb_stor_huawei_init(struct us_data *us);
-+/* This places the HUAWEI E220 devices in multi-port mode */
-+int usb_stor_huawei_e220_init(struct us_data *us);
-diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
-index 72923b5..d305a5a 100644
---- a/drivers/usb/storage/unusual_devs.h
-+++ b/drivers/usb/storage/unusual_devs.h
-@@ -1527,10 +1527,335 @@ UNUSUAL_DEV( 0x1210, 0x0003, 0x0100, 0x0100,
- /* Reported by fangxiaozhi <huananhu@huawei.com>
- * This brings the HUAWEI data card devices into multi-port mode
- */
--UNUSUAL_VENDOR_INTF(0x12d1, 0x08, 0x06, 0x50,
-+UNUSUAL_DEV( 0x12d1, 0x1001, 0x0000, 0x0000,
- "HUAWEI MOBILE",
- "Mass Storage",
-- USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_init,
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1003, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1004, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1401, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1402, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1403, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1404, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1405, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1406, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1407, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1408, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1409, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x140A, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x140B, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x140C, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x140D, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x140E, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x140F, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1410, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1411, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1412, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1413, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1414, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1415, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1416, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1417, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1418, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1419, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x141A, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x141B, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x141C, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x141D, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x141E, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x141F, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1420, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1421, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1422, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1423, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1424, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1425, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1426, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1427, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1428, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1429, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x142A, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x142B, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x142C, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x142D, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x142E, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x142F, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1430, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1431, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1432, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1433, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1434, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1435, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1436, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1437, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1438, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x1439, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x143A, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x143B, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x143C, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x143D, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x143E, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
-+ 0),
-+UNUSUAL_DEV( 0x12d1, 0x143F, 0x0000, 0x0000,
-+ "HUAWEI MOBILE",
-+ "Mass Storage",
-+ USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
- 0),
-
- /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */
-diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
-index 12cf5f3..025428e 100644
---- a/drivers/video/atmel_lcdfb.c
-+++ b/drivers/video/atmel_lcdfb.c
-@@ -422,17 +422,22 @@ static int atmel_lcdfb_check_var(struct fb_var_screeninfo *var,
- = var->bits_per_pixel;
- break;
- case 16:
-+ /* Older SOCs use IBGR:555 rather than BGR:565. */
-+ if (sinfo->have_intensity_bit)
-+ var->green.length = 5;
-+ else
-+ var->green.length = 6;
-+
- if (sinfo->lcd_wiring_mode == ATMEL_LCDC_WIRING_RGB) {
-- /* RGB:565 mode */
-- var->red.offset = 11;
-+ /* RGB:5X5 mode */
-+ var->red.offset = var->green.length + 5;
- var->blue.offset = 0;
- } else {
-- /* BGR:565 mode */
-+ /* BGR:5X5 mode */
- var->red.offset = 0;
-- var->blue.offset = 11;
-+ var->blue.offset = var->green.length + 5;
- }
- var->green.offset = 5;
-- var->green.length = 6;
- var->red.length = var->blue.length = 5;
- break;
- case 32:
-@@ -679,8 +684,7 @@ static int atmel_lcdfb_setcolreg(unsigned int regno, unsigned int red,
-
- case FB_VISUAL_PSEUDOCOLOR:
- if (regno < 256) {
-- if (cpu_is_at91sam9261() || cpu_is_at91sam9263()
-- || cpu_is_at91sam9rl()) {
-+ if (sinfo->have_intensity_bit) {
- /* old style I+BGR:555 */
- val = ((red >> 11) & 0x001f);
- val |= ((green >> 6) & 0x03e0);
-@@ -870,6 +874,10 @@ static int __init atmel_lcdfb_probe(struct platform_device *pdev)
- }
- sinfo->info = info;
- sinfo->pdev = pdev;
-+ if (cpu_is_at91sam9261() || cpu_is_at91sam9263() ||
-+ cpu_is_at91sam9rl()) {
-+ sinfo->have_intensity_bit = true;
-+ }
-
- strcpy(info->fix.id, sinfo->pdev->name);
- info->flags = ATMEL_LCDFB_FBINFO_DEFAULT;
-diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c
-index d39dfa4..012817a 100644
---- a/drivers/w1/masters/w1-gpio.c
-+++ b/drivers/w1/masters/w1-gpio.c
-@@ -158,7 +158,7 @@ static int w1_gpio_probe(struct platform_device *pdev)
- return err;
- }
-
--static int __exit w1_gpio_remove(struct platform_device *pdev)
-+static int w1_gpio_remove(struct platform_device *pdev)
- {
- struct w1_bus_master *master = platform_get_drvdata(pdev);
- struct w1_gpio_platform_data *pdata = pdev->dev.platform_data;
-@@ -210,7 +210,7 @@ static struct platform_driver w1_gpio_driver = {
- .of_match_table = of_match_ptr(w1_gpio_dt_ids),
- },
- .probe = w1_gpio_probe,
-- .remove = __exit_p(w1_gpio_remove),
-+ .remove = w1_gpio_remove,
- .suspend = w1_gpio_suspend,
- .resume = w1_gpio_resume,
- };
-diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c
-index 7994d933..7ce277d 100644
---- a/drivers/w1/w1.c
-+++ b/drivers/w1/w1.c
-@@ -924,7 +924,8 @@ void w1_search(struct w1_master *dev, u8 search_type, w1_slave_found_callback cb
- tmp64 = (triplet_ret >> 2);
- rn |= (tmp64 << i);
-
-- if (kthread_should_stop()) {
-+ /* ensure we're called from kthread and not by netlink callback */
-+ if (!dev->priv && kthread_should_stop()) {
- mutex_unlock(&dev->bus_mutex);
- dev_dbg(&dev->dev, "Abort w1_search\n");
- return;
-diff --git a/drivers/xen/xen-pciback/pciback_ops.c b/drivers/xen/xen-pciback/pciback_ops.c
-index 37c1f82..b98cf0c 100644
---- a/drivers/xen/xen-pciback/pciback_ops.c
-+++ b/drivers/xen/xen-pciback/pciback_ops.c
-@@ -113,7 +113,8 @@ void xen_pcibk_reset_device(struct pci_dev *dev)
- if (dev->msi_enabled)
- pci_disable_msi(dev);
- #endif
-- pci_disable_device(dev);
-+ if (pci_is_enabled(dev))
-+ pci_disable_device(dev);
-
- pci_write_config_word(dev, PCI_COMMAND, 0);
-
-diff --git a/fs/block_dev.c b/fs/block_dev.c
-index 78333a3..78edf76 100644
---- a/fs/block_dev.c
-+++ b/fs/block_dev.c
-@@ -1033,7 +1033,9 @@ void bd_set_size(struct block_device *bdev, loff_t size)
- {
- unsigned bsize = bdev_logical_block_size(bdev);
-
-- bdev->bd_inode->i_size = size;
-+ mutex_lock(&bdev->bd_inode->i_mutex);
-+ i_size_write(bdev->bd_inode, size);
-+ mutex_unlock(&bdev->bd_inode->i_mutex);
- while (bsize < PAGE_CACHE_SIZE) {
- if (size & bsize)
- break;
-diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
-index ac8ff8d..1fd234a 100644
---- a/fs/btrfs/volumes.c
-+++ b/fs/btrfs/volumes.c
-@@ -681,6 +681,12 @@ int btrfs_close_devices(struct btrfs_fs_devices *fs_devices)
- __btrfs_close_devices(fs_devices);
- free_fs_devices(fs_devices);
- }
-+ /*
-+ * Wait for rcu kworkers under __btrfs_close_devices
-+ * to finish all blkdev_puts so device is really
-+ * free when umount is done.
-+ */
-+ rcu_barrier();
- return ret;
- }
-
-diff --git a/fs/ext3/super.c b/fs/ext3/super.c
-index 6e50223..0a7f2d0b 100644
---- a/fs/ext3/super.c
-+++ b/fs/ext3/super.c
-@@ -353,7 +353,7 @@ static struct block_device *ext3_blkdev_get(dev_t dev, struct super_block *sb)
- return bdev;
-
- fail:
-- ext3_msg(sb, "error: failed to open journal device %s: %ld",
-+ ext3_msg(sb, KERN_ERR, "error: failed to open journal device %s: %ld",
- __bdevname(dev, b), PTR_ERR(bdev));
-
- return NULL;
-@@ -887,7 +887,7 @@ static ext3_fsblk_t get_sb_block(void **data, struct super_block *sb)
- /*todo: use simple_strtoll with >32bit ext3 */
- sb_block = simple_strtoul(options, &options, 0);
- if (*options && *options != ',') {
-- ext3_msg(sb, "error: invalid sb specification: %s",
-+ ext3_msg(sb, KERN_ERR, "error: invalid sb specification: %s",
- (char *) *data);
- return 1;
- }
-diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
-index 7ccb3c5..ef52d9c 100644
---- a/include/linux/mtd/nand.h
-+++ b/include/linux/mtd/nand.h
-@@ -187,6 +187,13 @@ typedef enum {
- * This happens with the Renesas AG-AND chips, possibly others.
- */
- #define BBT_AUTO_REFRESH 0x00000080
-+/*
-+ * Chip requires ready check on read (for auto-incremented sequential read).
-+ * True only for small page devices; large page devices do not support
-+ * autoincrement.
-+ */
-+#define NAND_NEED_READRDY 0x00000100
-+
- /* Chip does not allow subpage writes */
- #define NAND_NO_SUBPAGE_WRITE 0x00000200
-
-diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
-index 6bfb2faa..a280650 100644
---- a/include/linux/perf_event.h
-+++ b/include/linux/perf_event.h
-@@ -794,6 +794,12 @@ static inline int __perf_event_disable(void *info) { return -1; }
- static inline void perf_event_task_tick(void) { }
- #endif
-
-+#if defined(CONFIG_PERF_EVENTS) && defined(CONFIG_CPU_SUP_INTEL)
-+extern void perf_restore_debug_store(void);
-+#else
-+static inline void perf_restore_debug_store(void) { }
-+#endif
-+
- #define perf_output_put(handle, x) perf_output_copy((handle), &(x), sizeof(x))
-
- /*
-diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h
-index 8f6e50a..c019b24 100644
---- a/include/uapi/linux/serial_core.h
-+++ b/include/uapi/linux/serial_core.h
-@@ -51,7 +51,10 @@
- #define PORT_8250_CIR 23 /* CIR infrared port, has its own driver */
- #define PORT_XR17V35X 24 /* Exar XR17V35x UARTs */
- #define PORT_BRCM_TRUMANAGE 25
--#define PORT_MAX_8250 25 /* max port ID */
-+#define PORT_ALTR_16550_F32 26 /* Altera 16550 UART with 32 FIFOs */
-+#define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */
-+#define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */
-+#define PORT_MAX_8250 28 /* max port ID */
-
- /*
- * ARM specific type numbers. These are not currently guaranteed
-diff --git a/include/video/atmel_lcdc.h b/include/video/atmel_lcdc.h
-index 28447f1..5f0e234 100644
---- a/include/video/atmel_lcdc.h
-+++ b/include/video/atmel_lcdc.h
-@@ -62,6 +62,7 @@ struct atmel_lcdfb_info {
- void (*atmel_lcdfb_power_control)(int on);
- struct fb_monspecs *default_monspecs;
- u32 pseudo_palette[16];
-+ bool have_intensity_bit;
- };
-
- #define ATMEL_LCDC_DMABADDR1 0x00
-diff --git a/kernel/signal.c b/kernel/signal.c
-index 3d09cf6..7591ccc 100644
---- a/kernel/signal.c
-+++ b/kernel/signal.c
-@@ -485,6 +485,9 @@ flush_signal_handlers(struct task_struct *t, int force_default)
- if (force_default || ka->sa.sa_handler != SIG_IGN)
- ka->sa.sa_handler = SIG_DFL;
- ka->sa.sa_flags = 0;
-+#ifdef SA_RESTORER
-+ ka->sa.sa_restorer = NULL;
-+#endif
- sigemptyset(&ka->sa.sa_mask);
- ka++;
- }
-diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c
-index acc9f4c..2897e40 100644
---- a/net/bridge/br_mdb.c
-+++ b/net/bridge/br_mdb.c
-@@ -82,6 +82,7 @@ static int br_mdb_fill_info(struct sk_buff *skb, struct netlink_callback *cb,
- port = p->port;
- if (port) {
- struct br_mdb_entry e;
-+ memset(&e, 0, sizeof(e));
- e.ifindex = port->dev->ifindex;
- e.state = p->state;
- if (p->addr.proto == htons(ETH_P_IP))
-@@ -138,6 +139,7 @@ static int br_mdb_dump(struct sk_buff *skb, struct netlink_callback *cb)
- break;
-
- bpm = nlmsg_data(nlh);
-+ memset(bpm, 0, sizeof(*bpm));
- bpm->ifindex = dev->ifindex;
- if (br_mdb_fill_info(skb, cb, dev) < 0)
- goto out;
-@@ -173,6 +175,7 @@ static int nlmsg_populate_mdb_fill(struct sk_buff *skb,
- return -EMSGSIZE;
-
- bpm = nlmsg_data(nlh);
-+ memset(bpm, 0, sizeof(*bpm));
- bpm->family = AF_BRIDGE;
- bpm->ifindex = dev->ifindex;
- nest = nla_nest_start(skb, MDBA_MDB);
-@@ -230,6 +233,7 @@ void br_mdb_notify(struct net_device *dev, struct net_bridge_port *port,
- {
- struct br_mdb_entry entry;
-
-+ memset(&entry, 0, sizeof(entry));
- entry.ifindex = port->dev->ifindex;
- entry.addr.proto = group->proto;
- entry.addr.u.ip4 = group->u.ip4;
-diff --git a/net/core/dev.c b/net/core/dev.c
-index f64e439..1339f77 100644
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -3419,6 +3419,7 @@ ncls:
- }
- switch (rx_handler(&skb)) {
- case RX_HANDLER_CONSUMED:
-+ ret = NET_RX_SUCCESS;
- goto unlock;
- case RX_HANDLER_ANOTHER:
- goto another_round;
-diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
-index 1868625..798f920 100644
---- a/net/core/rtnetlink.c
-+++ b/net/core/rtnetlink.c
-@@ -976,6 +976,7 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev,
- * report anything.
- */
- ivi.spoofchk = -1;
-+ memset(ivi.mac, 0, sizeof(ivi.mac));
- if (dev->netdev_ops->ndo_get_vf_config(dev, i, &ivi))
- break;
- vf_mac.vf =
-diff --git a/net/dcb/dcbnl.c b/net/dcb/dcbnl.c
-index 1b588e2..21291f1 100644
---- a/net/dcb/dcbnl.c
-+++ b/net/dcb/dcbnl.c
-@@ -284,6 +284,7 @@ static int dcbnl_getperm_hwaddr(struct net_device *netdev, struct nlmsghdr *nlh,
- if (!netdev->dcbnl_ops->getpermhwaddr)
- return -EOPNOTSUPP;
-
-+ memset(perm_addr, 0, sizeof(perm_addr));
- netdev->dcbnl_ops->getpermhwaddr(netdev, perm_addr);
-
- return nla_put(skb, DCB_ATTR_PERM_HWADDR, sizeof(perm_addr), perm_addr);
-@@ -1042,6 +1043,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
-
- if (ops->ieee_getets) {
- struct ieee_ets ets;
-+ memset(&ets, 0, sizeof(ets));
- err = ops->ieee_getets(netdev, &ets);
- if (!err &&
- nla_put(skb, DCB_ATTR_IEEE_ETS, sizeof(ets), &ets))
-@@ -1050,6 +1052,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
-
- if (ops->ieee_getmaxrate) {
- struct ieee_maxrate maxrate;
-+ memset(&maxrate, 0, sizeof(maxrate));
- err = ops->ieee_getmaxrate(netdev, &maxrate);
- if (!err) {
- err = nla_put(skb, DCB_ATTR_IEEE_MAXRATE,
-@@ -1061,6 +1064,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
-
- if (ops->ieee_getpfc) {
- struct ieee_pfc pfc;
-+ memset(&pfc, 0, sizeof(pfc));
- err = ops->ieee_getpfc(netdev, &pfc);
- if (!err &&
- nla_put(skb, DCB_ATTR_IEEE_PFC, sizeof(pfc), &pfc))
-@@ -1094,6 +1098,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
- /* get peer info if available */
- if (ops->ieee_peer_getets) {
- struct ieee_ets ets;
-+ memset(&ets, 0, sizeof(ets));
- err = ops->ieee_peer_getets(netdev, &ets);
- if (!err &&
- nla_put(skb, DCB_ATTR_IEEE_PEER_ETS, sizeof(ets), &ets))
-@@ -1102,6 +1107,7 @@ static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev)
-
- if (ops->ieee_peer_getpfc) {
- struct ieee_pfc pfc;
-+ memset(&pfc, 0, sizeof(pfc));
- err = ops->ieee_peer_getpfc(netdev, &pfc);
- if (!err &&
- nla_put(skb, DCB_ATTR_IEEE_PEER_PFC, sizeof(pfc), &pfc))
-@@ -1280,6 +1286,7 @@ static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev)
- /* peer info if available */
- if (ops->cee_peer_getpg) {
- struct cee_pg pg;
-+ memset(&pg, 0, sizeof(pg));
- err = ops->cee_peer_getpg(netdev, &pg);
- if (!err &&
- nla_put(skb, DCB_ATTR_CEE_PEER_PG, sizeof(pg), &pg))
-@@ -1288,6 +1295,7 @@ static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev)
-
- if (ops->cee_peer_getpfc) {
- struct cee_pfc pfc;
-+ memset(&pfc, 0, sizeof(pfc));
- err = ops->cee_peer_getpfc(netdev, &pfc);
- if (!err &&
- nla_put(skb, DCB_ATTR_CEE_PEER_PFC, sizeof(pfc), &pfc))
-diff --git a/net/ieee802154/6lowpan.h b/net/ieee802154/6lowpan.h
-index 8c2251f..bba5f83 100644
---- a/net/ieee802154/6lowpan.h
-+++ b/net/ieee802154/6lowpan.h
-@@ -84,7 +84,7 @@
- (memcmp(addr1, addr2, length >> 3) == 0)
-
- /* local link, i.e. FE80::/10 */
--#define is_addr_link_local(a) (((a)->s6_addr16[0]) == 0x80FE)
-+#define is_addr_link_local(a) (((a)->s6_addr16[0]) == htons(0xFE80))
-
- /*
- * check whether we can compress the IID to 16 bits,
-diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
-index ad70a96..66702d3 100644
---- a/net/ipv4/tcp_input.c
-+++ b/net/ipv4/tcp_input.c
-@@ -5498,6 +5498,9 @@ int tcp_rcv_established(struct sock *sk, struct sk_buff *skb,
- if (tcp_checksum_complete_user(sk, skb))
- goto csum_error;
-
-+ if ((int)skb->truesize > sk->sk_forward_alloc)
-+ goto step5;
-+
- /* Predicted packet is in window by definition.
- * seq == rcv_nxt and rcv_wup <= rcv_nxt.
- * Hence, check seq<=rcv_wup reduces to:
-@@ -5509,9 +5512,6 @@ int tcp_rcv_established(struct sock *sk, struct sk_buff *skb,
-
- tcp_rcv_rtt_measure_ts(sk, skb);
-
-- if ((int)skb->truesize > sk->sk_forward_alloc)
-- goto step5;
--
- NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPHPHITS);
-
- /* Bulk data transfer: receiver */
-diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c
-index a52d864..b196852 100644
---- a/net/ipv6/ip6_input.c
-+++ b/net/ipv6/ip6_input.c
-@@ -270,7 +270,8 @@ int ip6_mc_input(struct sk_buff *skb)
- * IPv6 multicast router mode is now supported ;)
- */
- if (dev_net(skb->dev)->ipv6.devconf_all->mc_forwarding &&
-- !(ipv6_addr_type(&hdr->daddr) & IPV6_ADDR_LINKLOCAL) &&
-+ !(ipv6_addr_type(&hdr->daddr) &
-+ (IPV6_ADDR_LOOPBACK|IPV6_ADDR_LINKLOCAL)) &&
- likely(!(IP6CB(skb)->flags & IP6SKB_FORWARDED))) {
- /*
- * Okay, we try to forward - split and duplicate
-diff --git a/net/ipv6/route.c b/net/ipv6/route.c
-index 6f9f7b6..5845613 100644
---- a/net/ipv6/route.c
-+++ b/net/ipv6/route.c
-@@ -1990,7 +1990,8 @@ void rt6_purge_dflt_routers(struct net *net)
- restart:
- read_lock_bh(&table->tb6_lock);
- for (rt = table->tb6_root.leaf; rt; rt = rt->dst.rt6_next) {
-- if (rt->rt6i_flags & (RTF_DEFAULT | RTF_ADDRCONF)) {
-+ if (rt->rt6i_flags & (RTF_DEFAULT | RTF_ADDRCONF) &&
-+ (!rt->rt6i_idev || rt->rt6i_idev->cnf.accept_ra != 2)) {
- dst_hold(&rt->dst);
- read_unlock_bh(&table->tb6_lock);
- ip6_del_rt(rt);
-diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c
-index 716605c..044e9e1 100644
---- a/net/l2tp/l2tp_ppp.c
-+++ b/net/l2tp/l2tp_ppp.c
-@@ -355,6 +355,7 @@ static int pppol2tp_sendmsg(struct kiocb *iocb, struct socket *sock, struct msgh
- l2tp_xmit_skb(session, skb, session->hdr_len);
-
- sock_put(ps->tunnel_sock);
-+ sock_put(sk);
-
- return error;
-
-diff --git a/net/netlabel/netlabel_unlabeled.c b/net/netlabel/netlabel_unlabeled.c
-index 847d495..8a6c6ea 100644
---- a/net/netlabel/netlabel_unlabeled.c
-+++ b/net/netlabel/netlabel_unlabeled.c
-@@ -1189,8 +1189,6 @@ static int netlbl_unlabel_staticlist(struct sk_buff *skb,
- struct netlbl_unlhsh_walk_arg cb_arg;
- u32 skip_bkt = cb->args[0];
- u32 skip_chain = cb->args[1];
-- u32 skip_addr4 = cb->args[2];
-- u32 skip_addr6 = cb->args[3];
- u32 iter_bkt;
- u32 iter_chain = 0, iter_addr4 = 0, iter_addr6 = 0;
- struct netlbl_unlhsh_iface *iface;
-@@ -1215,7 +1213,7 @@ static int netlbl_unlabel_staticlist(struct sk_buff *skb,
- continue;
- netlbl_af4list_foreach_rcu(addr4,
- &iface->addr4_list) {
-- if (iter_addr4++ < skip_addr4)
-+ if (iter_addr4++ < cb->args[2])
- continue;
- if (netlbl_unlabel_staticlist_gen(
- NLBL_UNLABEL_C_STATICLIST,
-@@ -1231,7 +1229,7 @@ static int netlbl_unlabel_staticlist(struct sk_buff *skb,
- #if IS_ENABLED(CONFIG_IPV6)
- netlbl_af6list_foreach_rcu(addr6,
- &iface->addr6_list) {
-- if (iter_addr6++ < skip_addr6)
-+ if (iter_addr6++ < cb->args[3])
- continue;
- if (netlbl_unlabel_staticlist_gen(
- NLBL_UNLABEL_C_STATICLIST,
-@@ -1250,10 +1248,10 @@ static int netlbl_unlabel_staticlist(struct sk_buff *skb,
-
- unlabel_staticlist_return:
- rcu_read_unlock();
-- cb->args[0] = skip_bkt;
-- cb->args[1] = skip_chain;
-- cb->args[2] = skip_addr4;
-- cb->args[3] = skip_addr6;
-+ cb->args[0] = iter_bkt;
-+ cb->args[1] = iter_chain;
-+ cb->args[2] = iter_addr4;
-+ cb->args[3] = iter_addr6;
- return skb->len;
- }
-
-@@ -1273,12 +1271,9 @@ static int netlbl_unlabel_staticlistdef(struct sk_buff *skb,
- {
- struct netlbl_unlhsh_walk_arg cb_arg;
- struct netlbl_unlhsh_iface *iface;
-- u32 skip_addr4 = cb->args[0];
-- u32 skip_addr6 = cb->args[1];
-- u32 iter_addr4 = 0;
-+ u32 iter_addr4 = 0, iter_addr6 = 0;
- struct netlbl_af4list *addr4;
- #if IS_ENABLED(CONFIG_IPV6)
-- u32 iter_addr6 = 0;
- struct netlbl_af6list *addr6;
- #endif
-
-@@ -1292,7 +1287,7 @@ static int netlbl_unlabel_staticlistdef(struct sk_buff *skb,
- goto unlabel_staticlistdef_return;
-
- netlbl_af4list_foreach_rcu(addr4, &iface->addr4_list) {
-- if (iter_addr4++ < skip_addr4)
-+ if (iter_addr4++ < cb->args[0])
- continue;
- if (netlbl_unlabel_staticlist_gen(NLBL_UNLABEL_C_STATICLISTDEF,
- iface,
-@@ -1305,7 +1300,7 @@ static int netlbl_unlabel_staticlistdef(struct sk_buff *skb,
- }
- #if IS_ENABLED(CONFIG_IPV6)
- netlbl_af6list_foreach_rcu(addr6, &iface->addr6_list) {
-- if (iter_addr6++ < skip_addr6)
-+ if (iter_addr6++ < cb->args[1])
- continue;
- if (netlbl_unlabel_staticlist_gen(NLBL_UNLABEL_C_STATICLISTDEF,
- iface,
-@@ -1320,8 +1315,8 @@ static int netlbl_unlabel_staticlistdef(struct sk_buff *skb,
-
- unlabel_staticlistdef_return:
- rcu_read_unlock();
-- cb->args[0] = skip_addr4;
-- cb->args[1] = skip_addr6;
-+ cb->args[0] = iter_addr4;
-+ cb->args[1] = iter_addr6;
- return skb->len;
- }
-
-diff --git a/net/rds/message.c b/net/rds/message.c
-index f0a4658..aff589c 100644
---- a/net/rds/message.c
-+++ b/net/rds/message.c
-@@ -197,6 +197,9 @@ struct rds_message *rds_message_alloc(unsigned int extra_len, gfp_t gfp)
- {
- struct rds_message *rm;
-
-+ if (extra_len > KMALLOC_MAX_SIZE - sizeof(struct rds_message))
-+ return NULL;
-+
- rm = kzalloc(sizeof(struct rds_message) + extra_len, gfp);
- if (!rm)
- goto out;
-diff --git a/net/sctp/socket.c b/net/sctp/socket.c
-index cedd9bf..9ef5c73 100644
---- a/net/sctp/socket.c
-+++ b/net/sctp/socket.c
-@@ -5653,6 +5653,9 @@ static int sctp_getsockopt_assoc_stats(struct sock *sk, int len,
- if (len < sizeof(sctp_assoc_t))
- return -EINVAL;
-
-+ /* Allow the struct to grow and fill in as much as possible */
-+ len = min_t(size_t, len, sizeof(sas));
-+
- if (copy_from_user(&sas, optval, len))
- return -EFAULT;
-
-@@ -5686,9 +5689,6 @@ static int sctp_getsockopt_assoc_stats(struct sock *sk, int len,
- /* Mark beginning of a new observation period */
- asoc->stats.max_obs_rto = asoc->rto_min;
-
-- /* Allow the struct to grow and fill in as much as possible */
-- len = min_t(size_t, len, sizeof(sas));
--
- if (put_user(len, optlen))
- return -EFAULT;
-
-diff --git a/scripts/Makefile.headersinst b/scripts/Makefile.headersinst
-index 06ba4a7..e253917 100644
---- a/scripts/Makefile.headersinst
-+++ b/scripts/Makefile.headersinst
-@@ -8,7 +8,7 @@
- # ==========================================================================
-
- # called may set destination dir (when installing to asm/)
--_dst := $(or $(destination-y),$(dst),$(obj))
-+_dst := $(if $(destination-y),$(destination-y),$(if $(dst),$(dst),$(obj)))
-
- # generated header directory
- gen := $(if $(gen),$(gen),$(subst include/,include/generated/,$(obj)))
-@@ -48,13 +48,14 @@ all-files := $(header-y) $(genhdr-y) $(wrapper-files)
- output-files := $(addprefix $(installdir)/, $(all-files))
-
- input-files := $(foreach hdr, $(header-y), \
-- $(or \
-+ $(if $(wildcard $(srcdir)/$(hdr)), \
- $(wildcard $(srcdir)/$(hdr)), \
-- $(wildcard $(oldsrcdir)/$(hdr)), \
-- $(error Missing UAPI file $(srcdir)/$(hdr)) \
-+ $(if $(wildcard $(oldsrcdir)/$(hdr)), \
-+ $(wildcard $(oldsrcdir)/$(hdr)), \
-+ $(error Missing UAPI file $(srcdir)/$(hdr))) \
- )) \
- $(foreach hdr, $(genhdr-y), \
-- $(or \
-+ $(if $(wildcard $(gendir)/$(hdr)), \
- $(wildcard $(gendir)/$(hdr)), \
- $(error Missing generated UAPI file $(gendir)/$(hdr)) \
- ))
-diff --git a/security/selinux/xfrm.c b/security/selinux/xfrm.c
-index 48665ec..8ab2951 100644
---- a/security/selinux/xfrm.c
-+++ b/security/selinux/xfrm.c
-@@ -310,7 +310,7 @@ int selinux_xfrm_policy_clone(struct xfrm_sec_ctx *old_ctx,
-
- if (old_ctx) {
- new_ctx = kmalloc(sizeof(*old_ctx) + old_ctx->ctx_len,
-- GFP_KERNEL);
-+ GFP_ATOMIC);
- if (!new_ctx)
- return -ENOMEM;
-
-diff --git a/sound/core/seq/seq_timer.c b/sound/core/seq/seq_timer.c
-index 160b1bd..24d44b2 100644
---- a/sound/core/seq/seq_timer.c
-+++ b/sound/core/seq/seq_timer.c
-@@ -290,10 +290,10 @@ int snd_seq_timer_open(struct snd_seq_queue *q)
- tid.device = SNDRV_TIMER_GLOBAL_SYSTEM;
- err = snd_timer_open(&t, str, &tid, q->queue);
- }
-- if (err < 0) {
-- snd_printk(KERN_ERR "seq fatal error: cannot create timer (%i)\n", err);
-- return err;
-- }
-+ }
-+ if (err < 0) {
-+ snd_printk(KERN_ERR "seq fatal error: cannot create timer (%i)\n", err);
-+ return err;
- }
- t->callback = snd_seq_timer_interrupt;
- t->callback_data = q;
-diff --git a/tools/usb/ffs-test.c b/tools/usb/ffs-test.c
-index 8674b9e..fe1e66b 100644
---- a/tools/usb/ffs-test.c
-+++ b/tools/usb/ffs-test.c
-@@ -38,7 +38,7 @@
- #include <unistd.h>
- #include <tools/le_byteshift.h>
-
--#include "../../include/linux/usb/functionfs.h"
-+#include "../../include/uapi/linux/usb/functionfs.h"
-
-
- /******************** Little Endian Handling ********************************/
diff --git a/3.8.4/0000_README b/3.8.5/0000_README
index a73b3de..0016017 100644
--- a/3.8.4/0000_README
+++ b/3.8.5/0000_README
@@ -2,11 +2,11 @@ README
-----------------------------------------------------------------------------
Individual Patch Descriptions:
-----------------------------------------------------------------------------
-Patch: 1003_linux-3.8.4.patch
+Patch: 1004_linux-3.8.5.patch
From: http://www.kernel.org
-Desc: Linux 3.8.4
+Desc: Linux 3.8.5
-Patch: 4420_grsecurity-2.9.1-3.8.4-201303252035.patch
+Patch: 4420_grsecurity-2.9.1-3.8.5-201303292018.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/3.8.5/1004_linux-3.8.5.patch b/3.8.5/1004_linux-3.8.5.patch
new file mode 100644
index 0000000..27b152f
--- /dev/null
+++ b/3.8.5/1004_linux-3.8.5.patch
@@ -0,0 +1,3805 @@
+diff --git a/Makefile b/Makefile
+index e20f162..14b38cf 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,8 +1,8 @@
+ VERSION = 3
+ PATCHLEVEL = 8
+-SUBLEVEL = 4
++SUBLEVEL = 5
+ EXTRAVERSION =
+-NAME = Unicycling Gorilla
++NAME = Displaced Humerus Anterior
+
+ # *DOCUMENTATION*
+ # To see a list of typical targets execute "make help"
+diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
+index b8effa1..4ceb266 100644
+--- a/arch/arm/boot/dts/tegra20.dtsi
++++ b/arch/arm/boot/dts/tegra20.dtsi
+@@ -314,7 +314,7 @@
+
+ spi@7000d800 {
+ compatible = "nvidia,tegra20-slink";
+- reg = <0x7000d480 0x200>;
++ reg = <0x7000d800 0x200>;
+ interrupts = <0 83 0x04>;
+ nvidia,dma-request-selector = <&apbdma 17>;
+ #address-cells = <1>;
+diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
+index 529fdb8..aeea838 100644
+--- a/arch/arm/boot/dts/tegra30.dtsi
++++ b/arch/arm/boot/dts/tegra30.dtsi
+@@ -309,7 +309,7 @@
+
+ spi@7000d800 {
+ compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
+- reg = <0x7000d480 0x200>;
++ reg = <0x7000d800 0x200>;
+ interrupts = <0 83 0x04>;
+ nvidia,dma-request-selector = <&apbdma 17>;
+ #address-cells = <1>;
+diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
+index dda3904..5397da0 100644
+--- a/arch/arm/mm/dma-mapping.c
++++ b/arch/arm/mm/dma-mapping.c
+@@ -330,6 +330,7 @@ static int __init atomic_pool_init(void)
+ {
+ struct dma_pool *pool = &atomic_pool;
+ pgprot_t prot = pgprot_dmacoherent(pgprot_kernel);
++ gfp_t gfp = GFP_KERNEL | GFP_DMA;
+ unsigned long nr_pages = pool->size >> PAGE_SHIFT;
+ unsigned long *bitmap;
+ struct page *page;
+@@ -348,8 +349,8 @@ static int __init atomic_pool_init(void)
+ if (IS_ENABLED(CONFIG_CMA))
+ ptr = __alloc_from_contiguous(NULL, pool->size, prot, &page);
+ else
+- ptr = __alloc_remap_buffer(NULL, pool->size, GFP_KERNEL, prot,
+- &page, NULL);
++ ptr = __alloc_remap_buffer(NULL, pool->size, gfp, prot, &page,
++ NULL);
+ if (ptr) {
+ int i;
+
+diff --git a/arch/x86/lib/usercopy_64.c b/arch/x86/lib/usercopy_64.c
+index 05928aa..906fea3 100644
+--- a/arch/x86/lib/usercopy_64.c
++++ b/arch/x86/lib/usercopy_64.c
+@@ -74,10 +74,10 @@ copy_user_handle_tail(char *to, char *from, unsigned len, unsigned zerorest)
+ char c;
+ unsigned zero_len;
+
+- for (; len; --len) {
++ for (; len; --len, to++) {
+ if (__get_user_nocheck(c, from++, sizeof(char)))
+ break;
+- if (__put_user_nocheck(c, to++, sizeof(char)))
++ if (__put_user_nocheck(c, to, sizeof(char)))
+ break;
+ }
+
+diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.c
+index 35da181..e9e486f 100644
+--- a/drivers/acpi/glue.c
++++ b/drivers/acpi/glue.c
+@@ -95,40 +95,31 @@ static int acpi_find_bridge_device(struct device *dev, acpi_handle * handle)
+ return ret;
+ }
+
+-/* Get device's handler per its address under its parent */
+-struct acpi_find_child {
+- acpi_handle handle;
+- u64 address;
+-};
+-
+-static acpi_status
+-do_acpi_find_child(acpi_handle handle, u32 lvl, void *context, void **rv)
++static acpi_status do_acpi_find_child(acpi_handle handle, u32 lvl_not_used,
++ void *addr_p, void **ret_p)
+ {
++ unsigned long long addr;
+ acpi_status status;
+- struct acpi_device_info *info;
+- struct acpi_find_child *find = context;
+-
+- status = acpi_get_object_info(handle, &info);
+- if (ACPI_SUCCESS(status)) {
+- if ((info->address == find->address)
+- && (info->valid & ACPI_VALID_ADR))
+- find->handle = handle;
+- kfree(info);
++
++ status = acpi_evaluate_integer(handle, METHOD_NAME__ADR, NULL, &addr);
++ if (ACPI_SUCCESS(status) && addr == *((u64 *)addr_p)) {
++ *ret_p = handle;
++ return AE_CTRL_TERMINATE;
+ }
+ return AE_OK;
+ }
+
+ acpi_handle acpi_get_child(acpi_handle parent, u64 address)
+ {
+- struct acpi_find_child find = { NULL, address };
++ void *ret = NULL;
+
+ if (!parent)
+ return NULL;
+- acpi_walk_namespace(ACPI_TYPE_DEVICE, parent,
+- 1, do_acpi_find_child, NULL, &find, NULL);
+- return find.handle;
+-}
+
++ acpi_walk_namespace(ACPI_TYPE_DEVICE, parent, 1, NULL,
++ do_acpi_find_child, &address, &ret);
++ return (acpi_handle)ret;
++}
+ EXPORT_SYMBOL(acpi_get_child);
+
+ static int acpi_bind_one(struct device *dev, acpi_handle handle)
+diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
+index 9b00072..42c759a 100644
+--- a/drivers/firmware/Kconfig
++++ b/drivers/firmware/Kconfig
+@@ -53,6 +53,24 @@ config EFI_VARS
+ Subsequent efibootmgr releases may be found at:
+ <http://linux.dell.com/efibootmgr>
+
++config EFI_VARS_PSTORE
++ bool "Register efivars backend for pstore"
++ depends on EFI_VARS && PSTORE
++ default y
++ help
++ Say Y here to enable use efivars as a backend to pstore. This
++ will allow writing console messages, crash dumps, or anything
++ else supported by pstore to EFI variables.
++
++config EFI_VARS_PSTORE_DEFAULT_DISABLE
++ bool "Disable using efivars as a pstore backend by default"
++ depends on EFI_VARS_PSTORE
++ default n
++ help
++ Saying Y here will disable the use of efivars as a storage
++ backend for pstore by default. This setting can be overridden
++ using the efivars module's pstore_disable parameter.
++
+ config EFI_PCDP
+ bool "Console device selection via EFI PCDP or HCDP table"
+ depends on ACPI && EFI && IA64
+diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c
+index 2a2e145..e1d6253 100644
+--- a/drivers/firmware/efivars.c
++++ b/drivers/firmware/efivars.c
+@@ -103,6 +103,11 @@ MODULE_VERSION(EFIVARS_VERSION);
+ */
+ #define GUID_LEN 36
+
++static bool efivars_pstore_disable =
++ IS_ENABLED(CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE);
++
++module_param_named(pstore_disable, efivars_pstore_disable, bool, 0644);
++
+ /*
+ * The maximum size of VariableName + Data = 1024
+ * Therefore, it's reasonable to save that much
+@@ -1301,9 +1306,7 @@ static const struct inode_operations efivarfs_dir_inode_operations = {
+ .create = efivarfs_create,
+ };
+
+-static struct pstore_info efi_pstore_info;
+-
+-#ifdef CONFIG_PSTORE
++#ifdef CONFIG_EFI_VARS_PSTORE
+
+ static int efi_pstore_open(struct pstore_info *psi)
+ {
+@@ -1500,38 +1503,6 @@ static int efi_pstore_erase(enum pstore_type_id type, u64 id, int count,
+
+ return 0;
+ }
+-#else
+-static int efi_pstore_open(struct pstore_info *psi)
+-{
+- return 0;
+-}
+-
+-static int efi_pstore_close(struct pstore_info *psi)
+-{
+- return 0;
+-}
+-
+-static ssize_t efi_pstore_read(u64 *id, enum pstore_type_id *type, int *count,
+- struct timespec *timespec,
+- char **buf, struct pstore_info *psi)
+-{
+- return -1;
+-}
+-
+-static int efi_pstore_write(enum pstore_type_id type,
+- enum kmsg_dump_reason reason, u64 *id,
+- unsigned int part, int count, size_t size,
+- struct pstore_info *psi)
+-{
+- return 0;
+-}
+-
+-static int efi_pstore_erase(enum pstore_type_id type, u64 id, int count,
+- struct timespec time, struct pstore_info *psi)
+-{
+- return 0;
+-}
+-#endif
+
+ static struct pstore_info efi_pstore_info = {
+ .owner = THIS_MODULE,
+@@ -1543,6 +1514,24 @@ static struct pstore_info efi_pstore_info = {
+ .erase = efi_pstore_erase,
+ };
+
++static void efivar_pstore_register(struct efivars *efivars)
++{
++ efivars->efi_pstore_info = efi_pstore_info;
++ efivars->efi_pstore_info.buf = kmalloc(4096, GFP_KERNEL);
++ if (efivars->efi_pstore_info.buf) {
++ efivars->efi_pstore_info.bufsize = 1024;
++ efivars->efi_pstore_info.data = efivars;
++ spin_lock_init(&efivars->efi_pstore_info.buf_lock);
++ pstore_register(&efivars->efi_pstore_info);
++ }
++}
++#else
++static void efivar_pstore_register(struct efivars *efivars)
++{
++ return;
++}
++#endif
++
+ static ssize_t efivar_create(struct file *filp, struct kobject *kobj,
+ struct bin_attribute *bin_attr,
+ char *buf, loff_t pos, size_t count)
+@@ -1942,15 +1931,8 @@ int register_efivars(struct efivars *efivars,
+ if (error)
+ unregister_efivars(efivars);
+
+- efivars->efi_pstore_info = efi_pstore_info;
+-
+- efivars->efi_pstore_info.buf = kmalloc(4096, GFP_KERNEL);
+- if (efivars->efi_pstore_info.buf) {
+- efivars->efi_pstore_info.bufsize = 1024;
+- efivars->efi_pstore_info.data = efivars;
+- spin_lock_init(&efivars->efi_pstore_info.buf_lock);
+- pstore_register(&efivars->efi_pstore_info);
+- }
++ if (!efivars_pstore_disable)
++ efivar_pstore_register(efivars);
+
+ register_filesystem(&efivarfs_type);
+
+diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
+index aaded22..dfd9ed3 100644
+--- a/drivers/gpu/drm/drm_edid.c
++++ b/drivers/gpu/drm/drm_edid.c
+@@ -894,7 +894,7 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,
+ unsigned vblank = (pt->vactive_vblank_hi & 0xf) << 8 | pt->vblank_lo;
+ unsigned hsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc0) << 2 | pt->hsync_offset_lo;
+ unsigned hsync_pulse_width = (pt->hsync_vsync_offset_pulse_width_hi & 0x30) << 4 | pt->hsync_pulse_width_lo;
+- unsigned vsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc) >> 2 | pt->vsync_offset_pulse_width_lo >> 4;
++ unsigned vsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc) << 2 | pt->vsync_offset_pulse_width_lo >> 4;
+ unsigned vsync_pulse_width = (pt->hsync_vsync_offset_pulse_width_hi & 0x3) << 4 | (pt->vsync_offset_pulse_width_lo & 0xf);
+
+ /* ignore tiny modes */
+@@ -975,6 +975,7 @@ set_size:
+ }
+
+ mode->type = DRM_MODE_TYPE_DRIVER;
++ mode->vrefresh = drm_mode_vrefresh(mode);
+ drm_mode_set_name(mode);
+
+ return mode;
+diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
+index 8a7c48b..261efc8e 100644
+--- a/drivers/gpu/drm/i915/i915_debugfs.c
++++ b/drivers/gpu/drm/i915/i915_debugfs.c
+@@ -103,7 +103,7 @@ static const char *cache_level_str(int type)
+ static void
+ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
+ {
+- seq_printf(m, "%p: %s%s %8zdKiB %04x %04x %d %d %d%s%s%s",
++ seq_printf(m, "%pK: %s%s %8zdKiB %04x %04x %d %d %d%s%s%s",
+ &obj->base,
+ get_pin_flag(obj),
+ get_tiling_flag(obj),
+diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+index 26d08bb..7adf5a7 100644
+--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
++++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+@@ -706,15 +706,20 @@ validate_exec_list(struct drm_i915_gem_exec_object2 *exec,
+ int count)
+ {
+ int i;
++ int relocs_total = 0;
++ int relocs_max = INT_MAX / sizeof(struct drm_i915_gem_relocation_entry);
+
+ for (i = 0; i < count; i++) {
+ char __user *ptr = (char __user *)(uintptr_t)exec[i].relocs_ptr;
+ int length; /* limited by fault_in_pages_readable() */
+
+- /* First check for malicious input causing overflow */
+- if (exec[i].relocation_count >
+- INT_MAX / sizeof(struct drm_i915_gem_relocation_entry))
++ /* First check for malicious input causing overflow in
++ * the worst case where we need to allocate the entire
++ * relocation tree as a single array.
++ */
++ if (exec[i].relocation_count > relocs_max - relocs_total)
+ return -EINVAL;
++ relocs_total += exec[i].relocation_count;
+
+ length = exec[i].relocation_count *
+ sizeof(struct drm_i915_gem_relocation_entry);
+diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
+index fb3715b..2e1c10a 100644
+--- a/drivers/gpu/drm/i915/intel_dp.c
++++ b/drivers/gpu/drm/i915/intel_dp.c
+@@ -1850,7 +1850,7 @@ intel_dp_start_link_train(struct intel_dp *intel_dp)
+ for (i = 0; i < intel_dp->lane_count; i++)
+ if ((intel_dp->train_set[i] & DP_TRAIN_MAX_SWING_REACHED) == 0)
+ break;
+- if (i == intel_dp->lane_count && voltage_tries == 5) {
++ if (i == intel_dp->lane_count) {
+ ++loop_tries;
+ if (loop_tries == 5) {
+ DRM_DEBUG_KMS("too many full retries, give up\n");
+diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
+index a3730e0..bee8cb6 100644
+--- a/drivers/gpu/drm/i915/intel_panel.c
++++ b/drivers/gpu/drm/i915/intel_panel.c
+@@ -321,9 +321,6 @@ void intel_panel_enable_backlight(struct drm_device *dev,
+ if (dev_priv->backlight_level == 0)
+ dev_priv->backlight_level = intel_panel_get_max_backlight(dev);
+
+- dev_priv->backlight_enabled = true;
+- intel_panel_actually_set_backlight(dev, dev_priv->backlight_level);
+-
+ if (INTEL_INFO(dev)->gen >= 4) {
+ uint32_t reg, tmp;
+
+@@ -359,12 +356,12 @@ void intel_panel_enable_backlight(struct drm_device *dev,
+ }
+
+ set_level:
+- /* Check the current backlight level and try to set again if it's zero.
+- * On some machines, BLC_PWM_CPU_CTL is cleared to zero automatically
+- * when BLC_PWM_CPU_CTL2 and BLC_PWM_PCH_CTL1 are written.
++ /* Call below after setting BLC_PWM_CPU_CTL2 and BLC_PWM_PCH_CTL1.
++ * BLC_PWM_CPU_CTL may be cleared to zero automatically when these
++ * registers are set.
+ */
+- if (!intel_panel_get_backlight(dev))
+- intel_panel_actually_set_backlight(dev, dev_priv->backlight_level);
++ dev_priv->backlight_enabled = true;
++ intel_panel_actually_set_backlight(dev, dev_priv->backlight_level);
+ }
+
+ static void intel_panel_init_backlight(struct drm_device *dev)
+diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
+index d3d99a2..4f50c40 100644
+--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
++++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
+@@ -382,19 +382,19 @@ static int mga_g200eh_set_plls(struct mga_device *mdev, long clock)
+ m = n = p = 0;
+ vcomax = 800000;
+ vcomin = 400000;
+- pllreffreq = 3333;
++ pllreffreq = 33333;
+
+ delta = 0xffffffff;
+ permitteddelta = clock * 5 / 1000;
+
+- for (testp = 16; testp > 0; testp--) {
++ for (testp = 16; testp > 0; testp >>= 1) {
+ if (clock * testp > vcomax)
+ continue;
+ if (clock * testp < vcomin)
+ continue;
+
+ for (testm = 1; testm < 33; testm++) {
+- for (testn = 1; testn < 257; testn++) {
++ for (testn = 17; testn < 257; testn++) {
+ computed = (pllreffreq * testn) /
+ (testm * testp);
+ if (computed > clock)
+@@ -404,11 +404,11 @@ static int mga_g200eh_set_plls(struct mga_device *mdev, long clock)
+ if (tmpdelta < delta) {
+ delta = tmpdelta;
+ n = testn - 1;
+- m = (testm - 1) | ((n >> 1) & 0x80);
++ m = (testm - 1);
+ p = testp - 1;
+ }
+ if ((clock * testp) >= 600000)
+- p |= 80;
++ p |= 0x80;
+ }
+ }
+ }
+diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
+index 835992d..b64e55d 100644
+--- a/drivers/gpu/drm/radeon/ni.c
++++ b/drivers/gpu/drm/radeon/ni.c
+@@ -466,13 +466,19 @@ static void cayman_gpu_init(struct radeon_device *rdev)
+ (rdev->pdev->device == 0x9907) ||
+ (rdev->pdev->device == 0x9908) ||
+ (rdev->pdev->device == 0x9909) ||
++ (rdev->pdev->device == 0x990B) ||
++ (rdev->pdev->device == 0x990C) ||
++ (rdev->pdev->device == 0x990F) ||
+ (rdev->pdev->device == 0x9910) ||
+- (rdev->pdev->device == 0x9917)) {
++ (rdev->pdev->device == 0x9917) ||
++ (rdev->pdev->device == 0x9999)) {
+ rdev->config.cayman.max_simds_per_se = 6;
+ rdev->config.cayman.max_backends_per_se = 2;
+ } else if ((rdev->pdev->device == 0x9903) ||
+ (rdev->pdev->device == 0x9904) ||
+ (rdev->pdev->device == 0x990A) ||
++ (rdev->pdev->device == 0x990D) ||
++ (rdev->pdev->device == 0x990E) ||
+ (rdev->pdev->device == 0x9913) ||
+ (rdev->pdev->device == 0x9918)) {
+ rdev->config.cayman.max_simds_per_se = 4;
+@@ -481,6 +487,9 @@ static void cayman_gpu_init(struct radeon_device *rdev)
+ (rdev->pdev->device == 0x9990) ||
+ (rdev->pdev->device == 0x9991) ||
+ (rdev->pdev->device == 0x9994) ||
++ (rdev->pdev->device == 0x9995) ||
++ (rdev->pdev->device == 0x9996) ||
++ (rdev->pdev->device == 0x999A) ||
+ (rdev->pdev->device == 0x99A0)) {
+ rdev->config.cayman.max_simds_per_se = 3;
+ rdev->config.cayman.max_backends_per_se = 1;
+@@ -614,11 +623,22 @@ static void cayman_gpu_init(struct radeon_device *rdev)
+ WREG32(DMA_TILING_CONFIG + DMA0_REGISTER_OFFSET, gb_addr_config);
+ WREG32(DMA_TILING_CONFIG + DMA1_REGISTER_OFFSET, gb_addr_config);
+
+- tmp = gb_addr_config & NUM_PIPES_MASK;
+- tmp = r6xx_remap_render_backend(rdev, tmp,
+- rdev->config.cayman.max_backends_per_se *
+- rdev->config.cayman.max_shader_engines,
+- CAYMAN_MAX_BACKENDS, disabled_rb_mask);
++ if ((rdev->config.cayman.max_backends_per_se == 1) &&
++ (rdev->flags & RADEON_IS_IGP)) {
++ if ((disabled_rb_mask & 3) == 1) {
++ /* RB0 disabled, RB1 enabled */
++ tmp = 0x11111111;
++ } else {
++ /* RB1 disabled, RB0 enabled */
++ tmp = 0x00000000;
++ }
++ } else {
++ tmp = gb_addr_config & NUM_PIPES_MASK;
++ tmp = r6xx_remap_render_backend(rdev, tmp,
++ rdev->config.cayman.max_backends_per_se *
++ rdev->config.cayman.max_shader_engines,
++ CAYMAN_MAX_BACKENDS, disabled_rb_mask);
++ }
+ WREG32(GB_BACKEND_MAP, tmp);
+
+ cgts_tcc_disable = 0xffff0000;
+@@ -1662,6 +1682,7 @@ int cayman_resume(struct radeon_device *rdev)
+ int cayman_suspend(struct radeon_device *rdev)
+ {
+ r600_audio_fini(rdev);
++ radeon_vm_manager_fini(rdev);
+ cayman_cp_enable(rdev, false);
+ cayman_dma_stop(rdev);
+ evergreen_irq_suspend(rdev);
+diff --git a/drivers/gpu/drm/radeon/radeon_benchmark.c b/drivers/gpu/drm/radeon/radeon_benchmark.c
+index bedda9c..a2f0c24 100644
+--- a/drivers/gpu/drm/radeon/radeon_benchmark.c
++++ b/drivers/gpu/drm/radeon/radeon_benchmark.c
+@@ -135,13 +135,15 @@ static void radeon_benchmark_move(struct radeon_device *rdev, unsigned size,
+ sdomain, ddomain, "dma");
+ }
+
+- time = radeon_benchmark_do_move(rdev, size, saddr, daddr,
+- RADEON_BENCHMARK_COPY_BLIT, n);
+- if (time < 0)
+- goto out_cleanup;
+- if (time > 0)
+- radeon_benchmark_log_results(n, size, time,
+- sdomain, ddomain, "blit");
++ if (rdev->asic->copy.blit) {
++ time = radeon_benchmark_do_move(rdev, size, saddr, daddr,
++ RADEON_BENCHMARK_COPY_BLIT, n);
++ if (time < 0)
++ goto out_cleanup;
++ if (time > 0)
++ radeon_benchmark_log_results(n, size, time,
++ sdomain, ddomain, "blit");
++ }
+
+ out_cleanup:
+ if (sobj) {
+diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
+index ae8b482..dd00721 100644
+--- a/drivers/gpu/drm/radeon/si.c
++++ b/drivers/gpu/drm/radeon/si.c
+@@ -4232,6 +4232,7 @@ int si_resume(struct radeon_device *rdev)
+
+ int si_suspend(struct radeon_device *rdev)
+ {
++ radeon_vm_manager_fini(rdev);
+ si_cp_enable(rdev, false);
+ cayman_dma_stop(rdev);
+ si_irq_suspend(rdev);
+diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
+index 7b38877..9e622b7 100644
+--- a/drivers/i2c/busses/i2c-tegra.c
++++ b/drivers/i2c/busses/i2c-tegra.c
+@@ -392,7 +392,11 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
+ u32 val;
+ int err = 0;
+
+- tegra_i2c_clock_enable(i2c_dev);
++ err = tegra_i2c_clock_enable(i2c_dev);
++ if (err < 0) {
++ dev_err(i2c_dev->dev, "Clock enable failed %d\n", err);
++ return err;
++ }
+
+ tegra_periph_reset_assert(i2c_dev->div_clk);
+ udelay(2);
+@@ -599,7 +603,12 @@ static int tegra_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[],
+ if (i2c_dev->is_suspended)
+ return -EBUSY;
+
+- tegra_i2c_clock_enable(i2c_dev);
++ ret = tegra_i2c_clock_enable(i2c_dev);
++ if (ret < 0) {
++ dev_err(i2c_dev->dev, "Clock enable failed %d\n", ret);
++ return ret;
++ }
++
+ for (i = 0; i < num; i++) {
+ enum msg_end_type end_type = MSG_END_STOP;
+ if (i < (num - 1)) {
+diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
+index 67b0c1d..1ef880d 100644
+--- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c
++++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
+@@ -758,9 +758,13 @@ void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_
+ if (++priv->tx_outstanding == ipoib_sendq_size) {
+ ipoib_dbg(priv, "TX ring 0x%x full, stopping kernel net queue\n",
+ tx->qp->qp_num);
+- if (ib_req_notify_cq(priv->send_cq, IB_CQ_NEXT_COMP))
+- ipoib_warn(priv, "request notify on send CQ failed\n");
+ netif_stop_queue(dev);
++ rc = ib_req_notify_cq(priv->send_cq,
++ IB_CQ_NEXT_COMP | IB_CQ_REPORT_MISSED_EVENTS);
++ if (rc < 0)
++ ipoib_warn(priv, "request notify on send CQ failed\n");
++ else if (rc)
++ ipoib_send_comp_handler(priv->send_cq, dev);
+ }
+ }
+ }
+diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
+index 651ca79..64eff90 100644
+--- a/drivers/md/dm-bufio.c
++++ b/drivers/md/dm-bufio.c
+@@ -1026,6 +1026,8 @@ void dm_bufio_prefetch(struct dm_bufio_client *c,
+ {
+ struct blk_plug plug;
+
++ BUG_ON(dm_bufio_in_request());
++
+ blk_start_plug(&plug);
+ dm_bufio_lock(c);
+
+diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
+index 7a66d73..2d3a2af 100644
+--- a/drivers/md/dm-thin.c
++++ b/drivers/md/dm-thin.c
+@@ -2479,7 +2479,7 @@ static struct target_type pool_target = {
+ .name = "thin-pool",
+ .features = DM_TARGET_SINGLETON | DM_TARGET_ALWAYS_WRITEABLE |
+ DM_TARGET_IMMUTABLE,
+- .version = {1, 6, 1},
++ .version = {1, 7, 0},
+ .module = THIS_MODULE,
+ .ctr = pool_ctr,
+ .dtr = pool_dtr,
+@@ -2766,7 +2766,7 @@ static int thin_iterate_devices(struct dm_target *ti,
+
+ static struct target_type thin_target = {
+ .name = "thin",
+- .version = {1, 7, 1},
++ .version = {1, 8, 0},
+ .module = THIS_MODULE,
+ .ctr = thin_ctr,
+ .dtr = thin_dtr,
+diff --git a/drivers/md/dm-verity.c b/drivers/md/dm-verity.c
+index 6ad5383..a746f1d 100644
+--- a/drivers/md/dm-verity.c
++++ b/drivers/md/dm-verity.c
+@@ -93,6 +93,13 @@ struct dm_verity_io {
+ */
+ };
+
++struct dm_verity_prefetch_work {
++ struct work_struct work;
++ struct dm_verity *v;
++ sector_t block;
++ unsigned n_blocks;
++};
++
+ static struct shash_desc *io_hash_desc(struct dm_verity *v, struct dm_verity_io *io)
+ {
+ return (struct shash_desc *)(io + 1);
+@@ -424,15 +431,18 @@ static void verity_end_io(struct bio *bio, int error)
+ * The root buffer is not prefetched, it is assumed that it will be cached
+ * all the time.
+ */
+-static void verity_prefetch_io(struct dm_verity *v, struct dm_verity_io *io)
++static void verity_prefetch_io(struct work_struct *work)
+ {
++ struct dm_verity_prefetch_work *pw =
++ container_of(work, struct dm_verity_prefetch_work, work);
++ struct dm_verity *v = pw->v;
+ int i;
+
+ for (i = v->levels - 2; i >= 0; i--) {
+ sector_t hash_block_start;
+ sector_t hash_block_end;
+- verity_hash_at_level(v, io->block, i, &hash_block_start, NULL);
+- verity_hash_at_level(v, io->block + io->n_blocks - 1, i, &hash_block_end, NULL);
++ verity_hash_at_level(v, pw->block, i, &hash_block_start, NULL);
++ verity_hash_at_level(v, pw->block + pw->n_blocks - 1, i, &hash_block_end, NULL);
+ if (!i) {
+ unsigned cluster = ACCESS_ONCE(dm_verity_prefetch_cluster);
+
+@@ -452,6 +462,25 @@ no_prefetch_cluster:
+ dm_bufio_prefetch(v->bufio, hash_block_start,
+ hash_block_end - hash_block_start + 1);
+ }
++
++ kfree(pw);
++}
++
++static void verity_submit_prefetch(struct dm_verity *v, struct dm_verity_io *io)
++{
++ struct dm_verity_prefetch_work *pw;
++
++ pw = kmalloc(sizeof(struct dm_verity_prefetch_work),
++ GFP_NOIO | __GFP_NORETRY | __GFP_NOMEMALLOC | __GFP_NOWARN);
++
++ if (!pw)
++ return;
++
++ INIT_WORK(&pw->work, verity_prefetch_io);
++ pw->v = v;
++ pw->block = io->block;
++ pw->n_blocks = io->n_blocks;
++ queue_work(v->verify_wq, &pw->work);
+ }
+
+ /*
+@@ -498,7 +527,7 @@ static int verity_map(struct dm_target *ti, struct bio *bio)
+ memcpy(io->io_vec, bio_iovec(bio),
+ io->io_vec_size * sizeof(struct bio_vec));
+
+- verity_prefetch_io(v, io);
++ verity_submit_prefetch(v, io);
+
+ generic_make_request(bio);
+
+@@ -858,7 +887,7 @@ bad:
+
+ static struct target_type verity_target = {
+ .name = "verity",
+- .version = {1, 1, 1},
++ .version = {1, 2, 0},
+ .module = THIS_MODULE,
+ .ctr = verity_ctr,
+ .dtr = verity_dtr,
+diff --git a/drivers/md/persistent-data/dm-btree-remove.c b/drivers/md/persistent-data/dm-btree-remove.c
+index c4f2813..b88757c 100644
+--- a/drivers/md/persistent-data/dm-btree-remove.c
++++ b/drivers/md/persistent-data/dm-btree-remove.c
+@@ -139,15 +139,8 @@ struct child {
+ struct btree_node *n;
+ };
+
+-static struct dm_btree_value_type le64_type = {
+- .context = NULL,
+- .size = sizeof(__le64),
+- .inc = NULL,
+- .dec = NULL,
+- .equal = NULL
+-};
+-
+-static int init_child(struct dm_btree_info *info, struct btree_node *parent,
++static int init_child(struct dm_btree_info *info, struct dm_btree_value_type *vt,
++ struct btree_node *parent,
+ unsigned index, struct child *result)
+ {
+ int r, inc;
+@@ -164,7 +157,7 @@ static int init_child(struct dm_btree_info *info, struct btree_node *parent,
+ result->n = dm_block_data(result->block);
+
+ if (inc)
+- inc_children(info->tm, result->n, &le64_type);
++ inc_children(info->tm, result->n, vt);
+
+ *((__le64 *) value_ptr(parent, index)) =
+ cpu_to_le64(dm_block_location(result->block));
+@@ -236,7 +229,7 @@ static void __rebalance2(struct dm_btree_info *info, struct btree_node *parent,
+ }
+
+ static int rebalance2(struct shadow_spine *s, struct dm_btree_info *info,
+- unsigned left_index)
++ struct dm_btree_value_type *vt, unsigned left_index)
+ {
+ int r;
+ struct btree_node *parent;
+@@ -244,11 +237,11 @@ static int rebalance2(struct shadow_spine *s, struct dm_btree_info *info,
+
+ parent = dm_block_data(shadow_current(s));
+
+- r = init_child(info, parent, left_index, &left);
++ r = init_child(info, vt, parent, left_index, &left);
+ if (r)
+ return r;
+
+- r = init_child(info, parent, left_index + 1, &right);
++ r = init_child(info, vt, parent, left_index + 1, &right);
+ if (r) {
+ exit_child(info, &left);
+ return r;
+@@ -368,7 +361,7 @@ static void __rebalance3(struct dm_btree_info *info, struct btree_node *parent,
+ }
+
+ static int rebalance3(struct shadow_spine *s, struct dm_btree_info *info,
+- unsigned left_index)
++ struct dm_btree_value_type *vt, unsigned left_index)
+ {
+ int r;
+ struct btree_node *parent = dm_block_data(shadow_current(s));
+@@ -377,17 +370,17 @@ static int rebalance3(struct shadow_spine *s, struct dm_btree_info *info,
+ /*
+ * FIXME: fill out an array?
+ */
+- r = init_child(info, parent, left_index, &left);
++ r = init_child(info, vt, parent, left_index, &left);
+ if (r)
+ return r;
+
+- r = init_child(info, parent, left_index + 1, &center);
++ r = init_child(info, vt, parent, left_index + 1, &center);
+ if (r) {
+ exit_child(info, &left);
+ return r;
+ }
+
+- r = init_child(info, parent, left_index + 2, &right);
++ r = init_child(info, vt, parent, left_index + 2, &right);
+ if (r) {
+ exit_child(info, &left);
+ exit_child(info, &center);
+@@ -434,7 +427,8 @@ static int get_nr_entries(struct dm_transaction_manager *tm,
+ }
+
+ static int rebalance_children(struct shadow_spine *s,
+- struct dm_btree_info *info, uint64_t key)
++ struct dm_btree_info *info,
++ struct dm_btree_value_type *vt, uint64_t key)
+ {
+ int i, r, has_left_sibling, has_right_sibling;
+ uint32_t child_entries;
+@@ -472,13 +466,13 @@ static int rebalance_children(struct shadow_spine *s,
+ has_right_sibling = i < (le32_to_cpu(n->header.nr_entries) - 1);
+
+ if (!has_left_sibling)
+- r = rebalance2(s, info, i);
++ r = rebalance2(s, info, vt, i);
+
+ else if (!has_right_sibling)
+- r = rebalance2(s, info, i - 1);
++ r = rebalance2(s, info, vt, i - 1);
+
+ else
+- r = rebalance3(s, info, i - 1);
++ r = rebalance3(s, info, vt, i - 1);
+
+ return r;
+ }
+@@ -529,7 +523,7 @@ static int remove_raw(struct shadow_spine *s, struct dm_btree_info *info,
+ if (le32_to_cpu(n->header.flags) & LEAF_NODE)
+ return do_leaf(n, key, index);
+
+- r = rebalance_children(s, info, key);
++ r = rebalance_children(s, info, vt, key);
+ if (r)
+ break;
+
+@@ -550,6 +544,14 @@ static int remove_raw(struct shadow_spine *s, struct dm_btree_info *info,
+ return r;
+ }
+
++static struct dm_btree_value_type le64_type = {
++ .context = NULL,
++ .size = sizeof(__le64),
++ .inc = NULL,
++ .dec = NULL,
++ .equal = NULL
++};
++
+ int dm_btree_remove(struct dm_btree_info *info, dm_block_t root,
+ uint64_t *keys, dm_block_t *new_root)
+ {
+diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
+index 19d77a0..94ce78e 100644
+--- a/drivers/md/raid5.c
++++ b/drivers/md/raid5.c
+@@ -674,9 +674,11 @@ static void ops_run_io(struct stripe_head *sh, struct stripe_head_state *s)
+ bi->bi_next = NULL;
+ if (rrdev)
+ set_bit(R5_DOUBLE_LOCKED, &sh->dev[i].flags);
+- trace_block_bio_remap(bdev_get_queue(bi->bi_bdev),
+- bi, disk_devt(conf->mddev->gendisk),
+- sh->dev[i].sector);
++
++ if (conf->mddev->gendisk)
++ trace_block_bio_remap(bdev_get_queue(bi->bi_bdev),
++ bi, disk_devt(conf->mddev->gendisk),
++ sh->dev[i].sector);
+ generic_make_request(bi);
+ }
+ if (rrdev) {
+@@ -704,9 +706,10 @@ static void ops_run_io(struct stripe_head *sh, struct stripe_head_state *s)
+ rbi->bi_io_vec[0].bv_offset = 0;
+ rbi->bi_size = STRIPE_SIZE;
+ rbi->bi_next = NULL;
+- trace_block_bio_remap(bdev_get_queue(rbi->bi_bdev),
+- rbi, disk_devt(conf->mddev->gendisk),
+- sh->dev[i].sector);
++ if (conf->mddev->gendisk)
++ trace_block_bio_remap(bdev_get_queue(rbi->bi_bdev),
++ rbi, disk_devt(conf->mddev->gendisk),
++ sh->dev[i].sector);
+ generic_make_request(rbi);
+ }
+ if (!rdev && !rrdev) {
+@@ -2319,17 +2322,6 @@ schedule_reconstruction(struct stripe_head *sh, struct stripe_head_state *s,
+ int level = conf->level;
+
+ if (rcw) {
+- /* if we are not expanding this is a proper write request, and
+- * there will be bios with new data to be drained into the
+- * stripe cache
+- */
+- if (!expand) {
+- sh->reconstruct_state = reconstruct_state_drain_run;
+- set_bit(STRIPE_OP_BIODRAIN, &s->ops_request);
+- } else
+- sh->reconstruct_state = reconstruct_state_run;
+-
+- set_bit(STRIPE_OP_RECONSTRUCT, &s->ops_request);
+
+ for (i = disks; i--; ) {
+ struct r5dev *dev = &sh->dev[i];
+@@ -2342,6 +2334,21 @@ schedule_reconstruction(struct stripe_head *sh, struct stripe_head_state *s,
+ s->locked++;
+ }
+ }
++ /* if we are not expanding this is a proper write request, and
++ * there will be bios with new data to be drained into the
++ * stripe cache
++ */
++ if (!expand) {
++ if (!s->locked)
++ /* False alarm, nothing to do */
++ return;
++ sh->reconstruct_state = reconstruct_state_drain_run;
++ set_bit(STRIPE_OP_BIODRAIN, &s->ops_request);
++ } else
++ sh->reconstruct_state = reconstruct_state_run;
++
++ set_bit(STRIPE_OP_RECONSTRUCT, &s->ops_request);
++
+ if (s->locked + conf->max_degraded == disks)
+ if (!test_and_set_bit(STRIPE_FULL_WRITE, &sh->state))
+ atomic_inc(&conf->pending_full_writes);
+@@ -2350,11 +2357,6 @@ schedule_reconstruction(struct stripe_head *sh, struct stripe_head_state *s,
+ BUG_ON(!(test_bit(R5_UPTODATE, &sh->dev[pd_idx].flags) ||
+ test_bit(R5_Wantcompute, &sh->dev[pd_idx].flags)));
+
+- sh->reconstruct_state = reconstruct_state_prexor_drain_run;
+- set_bit(STRIPE_OP_PREXOR, &s->ops_request);
+- set_bit(STRIPE_OP_BIODRAIN, &s->ops_request);
+- set_bit(STRIPE_OP_RECONSTRUCT, &s->ops_request);
+-
+ for (i = disks; i--; ) {
+ struct r5dev *dev = &sh->dev[i];
+ if (i == pd_idx)
+@@ -2369,6 +2371,13 @@ schedule_reconstruction(struct stripe_head *sh, struct stripe_head_state *s,
+ s->locked++;
+ }
+ }
++ if (!s->locked)
++ /* False alarm - nothing to do */
++ return;
++ sh->reconstruct_state = reconstruct_state_prexor_drain_run;
++ set_bit(STRIPE_OP_PREXOR, &s->ops_request);
++ set_bit(STRIPE_OP_BIODRAIN, &s->ops_request);
++ set_bit(STRIPE_OP_RECONSTRUCT, &s->ops_request);
+ }
+
+ /* keep the parity disk(s) locked while asynchronous operations
+@@ -2603,6 +2612,8 @@ handle_failed_sync(struct r5conf *conf, struct stripe_head *sh,
+ int i;
+
+ clear_bit(STRIPE_SYNCING, &sh->state);
++ if (test_and_clear_bit(R5_Overlap, &sh->dev[sh->pd_idx].flags))
++ wake_up(&conf->wait_for_overlap);
+ s->syncing = 0;
+ s->replacing = 0;
+ /* There is nothing more to do for sync/check/repair.
+@@ -2776,6 +2787,7 @@ static void handle_stripe_clean_event(struct r5conf *conf,
+ {
+ int i;
+ struct r5dev *dev;
++ int discard_pending = 0;
+
+ for (i = disks; i--; )
+ if (sh->dev[i].written) {
+@@ -2804,9 +2816,23 @@ static void handle_stripe_clean_event(struct r5conf *conf,
+ STRIPE_SECTORS,
+ !test_bit(STRIPE_DEGRADED, &sh->state),
+ 0);
+- }
+- } else if (test_bit(R5_Discard, &sh->dev[i].flags))
+- clear_bit(R5_Discard, &sh->dev[i].flags);
++ } else if (test_bit(R5_Discard, &dev->flags))
++ discard_pending = 1;
++ }
++ if (!discard_pending &&
++ test_bit(R5_Discard, &sh->dev[sh->pd_idx].flags)) {
++ clear_bit(R5_Discard, &sh->dev[sh->pd_idx].flags);
++ clear_bit(R5_UPTODATE, &sh->dev[sh->pd_idx].flags);
++ if (sh->qd_idx >= 0) {
++ clear_bit(R5_Discard, &sh->dev[sh->qd_idx].flags);
++ clear_bit(R5_UPTODATE, &sh->dev[sh->qd_idx].flags);
++ }
++ /* now that discard is done we can proceed with any sync */
++ clear_bit(STRIPE_DISCARD, &sh->state);
++ if (test_bit(STRIPE_SYNC_REQUESTED, &sh->state))
++ set_bit(STRIPE_HANDLE, &sh->state);
++
++ }
+
+ if (test_and_clear_bit(STRIPE_FULL_WRITE, &sh->state))
+ if (atomic_dec_and_test(&conf->pending_full_writes))
+@@ -2865,8 +2891,10 @@ static void handle_stripe_dirtying(struct r5conf *conf,
+ set_bit(STRIPE_HANDLE, &sh->state);
+ if (rmw < rcw && rmw > 0) {
+ /* prefer read-modify-write, but need to get some data */
+- blk_add_trace_msg(conf->mddev->queue, "raid5 rmw %llu %d",
+- (unsigned long long)sh->sector, rmw);
++ if (conf->mddev->queue)
++ blk_add_trace_msg(conf->mddev->queue,
++ "raid5 rmw %llu %d",
++ (unsigned long long)sh->sector, rmw);
+ for (i = disks; i--; ) {
+ struct r5dev *dev = &sh->dev[i];
+ if ((dev->towrite || i == sh->pd_idx) &&
+@@ -2916,7 +2944,7 @@ static void handle_stripe_dirtying(struct r5conf *conf,
+ }
+ }
+ }
+- if (rcw)
++ if (rcw && conf->mddev->queue)
+ blk_add_trace_msg(conf->mddev->queue, "raid5 rcw %llu %d %d %d",
+ (unsigned long long)sh->sector,
+ rcw, qread, test_bit(STRIPE_DELAYED, &sh->state));
+@@ -3456,9 +3484,15 @@ static void handle_stripe(struct stripe_head *sh)
+ return;
+ }
+
+- if (test_and_clear_bit(STRIPE_SYNC_REQUESTED, &sh->state)) {
+- set_bit(STRIPE_SYNCING, &sh->state);
+- clear_bit(STRIPE_INSYNC, &sh->state);
++ if (test_bit(STRIPE_SYNC_REQUESTED, &sh->state)) {
++ spin_lock(&sh->stripe_lock);
++ /* Cannot process 'sync' concurrently with 'discard' */
++ if (!test_bit(STRIPE_DISCARD, &sh->state) &&
++ test_and_clear_bit(STRIPE_SYNC_REQUESTED, &sh->state)) {
++ set_bit(STRIPE_SYNCING, &sh->state);
++ clear_bit(STRIPE_INSYNC, &sh->state);
++ }
++ spin_unlock(&sh->stripe_lock);
+ }
+ clear_bit(STRIPE_DELAYED, &sh->state);
+
+@@ -3618,6 +3652,8 @@ static void handle_stripe(struct stripe_head *sh)
+ test_bit(STRIPE_INSYNC, &sh->state)) {
+ md_done_sync(conf->mddev, STRIPE_SECTORS, 1);
+ clear_bit(STRIPE_SYNCING, &sh->state);
++ if (test_and_clear_bit(R5_Overlap, &sh->dev[sh->pd_idx].flags))
++ wake_up(&conf->wait_for_overlap);
+ }
+
+ /* If the failed drives are just a ReadError, then we might need
+@@ -4023,9 +4059,10 @@ static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio)
+ atomic_inc(&conf->active_aligned_reads);
+ spin_unlock_irq(&conf->device_lock);
+
+- trace_block_bio_remap(bdev_get_queue(align_bi->bi_bdev),
+- align_bi, disk_devt(mddev->gendisk),
+- raid_bio->bi_sector);
++ if (mddev->gendisk)
++ trace_block_bio_remap(bdev_get_queue(align_bi->bi_bdev),
++ align_bi, disk_devt(mddev->gendisk),
++ raid_bio->bi_sector);
+ generic_make_request(align_bi);
+ return 1;
+ } else {
+@@ -4119,7 +4156,8 @@ static void raid5_unplug(struct blk_plug_cb *blk_cb, bool from_schedule)
+ }
+ spin_unlock_irq(&conf->device_lock);
+ }
+- trace_block_unplug(mddev->queue, cnt, !from_schedule);
++ if (mddev->queue)
++ trace_block_unplug(mddev->queue, cnt, !from_schedule);
+ kfree(cb);
+ }
+
+@@ -4182,6 +4220,13 @@ static void make_discard_request(struct mddev *mddev, struct bio *bi)
+ sh = get_active_stripe(conf, logical_sector, 0, 0, 0);
+ prepare_to_wait(&conf->wait_for_overlap, &w,
+ TASK_UNINTERRUPTIBLE);
++ set_bit(R5_Overlap, &sh->dev[sh->pd_idx].flags);
++ if (test_bit(STRIPE_SYNCING, &sh->state)) {
++ release_stripe(sh);
++ schedule();
++ goto again;
++ }
++ clear_bit(R5_Overlap, &sh->dev[sh->pd_idx].flags);
+ spin_lock_irq(&sh->stripe_lock);
+ for (d = 0; d < conf->raid_disks; d++) {
+ if (d == sh->pd_idx || d == sh->qd_idx)
+@@ -4194,6 +4239,7 @@ static void make_discard_request(struct mddev *mddev, struct bio *bi)
+ goto again;
+ }
+ }
++ set_bit(STRIPE_DISCARD, &sh->state);
+ finish_wait(&conf->wait_for_overlap, &w);
+ for (d = 0; d < conf->raid_disks; d++) {
+ if (d == sh->pd_idx || d == sh->qd_idx)
+diff --git a/drivers/md/raid5.h b/drivers/md/raid5.h
+index 18b2c4a..050a334 100644
+--- a/drivers/md/raid5.h
++++ b/drivers/md/raid5.h
+@@ -323,6 +323,7 @@ enum {
+ STRIPE_COMPUTE_RUN,
+ STRIPE_OPS_REQ_PENDING,
+ STRIPE_ON_UNPLUG_LIST,
++ STRIPE_DISCARD,
+ };
+
+ /*
+diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
+index a079da17..272f81a 100644
+--- a/drivers/net/bonding/bond_main.c
++++ b/drivers/net/bonding/bond_main.c
+@@ -1728,6 +1728,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
+
+ bond_compute_features(bond);
+
++ bond_update_speed_duplex(new_slave);
++
+ read_lock(&bond->lock);
+
+ new_slave->last_arp_rx = jiffies -
+@@ -1780,8 +1782,6 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
+ new_slave->link == BOND_LINK_DOWN ? "DOWN" :
+ (new_slave->link == BOND_LINK_UP ? "UP" : "BACK"));
+
+- bond_update_speed_duplex(new_slave);
+-
+ if (USES_PRIMARY(bond->params.mode) && bond->params.primary[0]) {
+ /* if there is a primary slave, remember it */
+ if (strcmp(bond->params.primary, new_slave->dev->name) == 0) {
+@@ -2463,8 +2463,6 @@ static void bond_miimon_commit(struct bonding *bond)
+ bond_set_backup_slave(slave);
+ }
+
+- bond_update_speed_duplex(slave);
+-
+ pr_info("%s: link status definitely up for interface %s, %u Mbps %s duplex.\n",
+ bond->dev->name, slave->dev->name,
+ slave->speed, slave->duplex ? "full" : "half");
+diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
+index a5edac8..3a73bb9 100644
+--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
++++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
+@@ -2523,6 +2523,7 @@ load_error2:
+ bp->port.pmf = 0;
+ load_error1:
+ bnx2x_napi_disable(bp);
++ bnx2x_del_all_napi(bp);
+ /* clear pf_load status, as it was already set */
+ bnx2x_clear_pf_load(bp);
+ load_error0:
+diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.h
+index b4d7b26..937f5b5 100644
+--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.h
++++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.h
+@@ -456,8 +456,9 @@ struct bnx2x_fw_port_stats_old {
+
+ #define UPDATE_QSTAT(s, t) \
+ do { \
+- qstats->t##_hi = qstats_old->t##_hi + le32_to_cpu(s.hi); \
+ qstats->t##_lo = qstats_old->t##_lo + le32_to_cpu(s.lo); \
++ qstats->t##_hi = qstats_old->t##_hi + le32_to_cpu(s.hi) \
++ + ((qstats->t##_lo < qstats_old->t##_lo) ? 1 : 0); \
+ } while (0)
+
+ #define UPDATE_QSTAT_OLD(f) \
+diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
+index f0b38fa..3ec98f2 100644
+--- a/drivers/net/ethernet/broadcom/tg3.c
++++ b/drivers/net/ethernet/broadcom/tg3.c
+@@ -4093,6 +4093,14 @@ static void tg3_phy_copper_begin(struct tg3 *tp)
+ tp->link_config.active_speed = tp->link_config.speed;
+ tp->link_config.active_duplex = tp->link_config.duplex;
+
++ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5714) {
++ /* With autoneg disabled, 5715 only links up when the
++ * advertisement register has the configured speed
++ * enabled.
++ */
++ tg3_writephy(tp, MII_ADVERTISE, ADVERTISE_ALL);
++ }
++
+ bmcr = 0;
+ switch (tp->link_config.speed) {
+ default:
+diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
+index bf57b3c..0bc0099 100644
+--- a/drivers/net/ethernet/sfc/efx.c
++++ b/drivers/net/ethernet/sfc/efx.c
+@@ -779,6 +779,7 @@ efx_realloc_channels(struct efx_nic *efx, u32 rxq_entries, u32 txq_entries)
+ tx_queue->txd.entries);
+ }
+
++ efx_device_detach_sync(efx);
+ efx_stop_all(efx);
+ efx_stop_interrupts(efx, true);
+
+@@ -832,6 +833,7 @@ out:
+
+ efx_start_interrupts(efx, true);
+ efx_start_all(efx);
++ netif_device_attach(efx->net_dev);
+ return rc;
+
+ rollback:
+@@ -1641,8 +1643,12 @@ static void efx_stop_all(struct efx_nic *efx)
+ /* Flush efx_mac_work(), refill_workqueue, monitor_work */
+ efx_flush_all(efx);
+
+- /* Stop the kernel transmit interface late, so the watchdog
+- * timer isn't ticking over the flush */
++ /* Stop the kernel transmit interface. This is only valid if
++ * the device is stopped or detached; otherwise the watchdog
++ * may fire immediately.
++ */
++ WARN_ON(netif_running(efx->net_dev) &&
++ netif_device_present(efx->net_dev));
+ netif_tx_disable(efx->net_dev);
+
+ efx_stop_datapath(efx);
+@@ -1963,16 +1969,18 @@ static int efx_change_mtu(struct net_device *net_dev, int new_mtu)
+ if (new_mtu > EFX_MAX_MTU)
+ return -EINVAL;
+
+- efx_stop_all(efx);
+-
+ netif_dbg(efx, drv, efx->net_dev, "changing MTU to %d\n", new_mtu);
+
++ efx_device_detach_sync(efx);
++ efx_stop_all(efx);
++
+ mutex_lock(&efx->mac_lock);
+ net_dev->mtu = new_mtu;
+ efx->type->reconfigure_mac(efx);
+ mutex_unlock(&efx->mac_lock);
+
+ efx_start_all(efx);
++ netif_device_attach(efx->net_dev);
+ return 0;
+ }
+
+diff --git a/drivers/net/ethernet/sfc/efx.h b/drivers/net/ethernet/sfc/efx.h
+index 50247df..d2f790d 100644
+--- a/drivers/net/ethernet/sfc/efx.h
++++ b/drivers/net/ethernet/sfc/efx.h
+@@ -171,9 +171,9 @@ static inline void efx_device_detach_sync(struct efx_nic *efx)
+ * TX scheduler is stopped when we're done and before
+ * netif_device_present() becomes false.
+ */
+- netif_tx_lock(dev);
++ netif_tx_lock_bh(dev);
+ netif_device_detach(dev);
+- netif_tx_unlock(dev);
++ netif_tx_unlock_bh(dev);
+ }
+
+ #endif /* EFX_EFX_H */
+diff --git a/drivers/net/ethernet/sfc/net_driver.h b/drivers/net/ethernet/sfc/net_driver.h
+index 2d756c1..0a90abd 100644
+--- a/drivers/net/ethernet/sfc/net_driver.h
++++ b/drivers/net/ethernet/sfc/net_driver.h
+@@ -210,6 +210,7 @@ struct efx_tx_queue {
+ * Will be %NULL if the buffer slot is currently free.
+ * @page: The associated page buffer. Valif iff @flags & %EFX_RX_BUF_PAGE.
+ * Will be %NULL if the buffer slot is currently free.
++ * @page_offset: Offset within page. Valid iff @flags & %EFX_RX_BUF_PAGE.
+ * @len: Buffer length, in bytes.
+ * @flags: Flags for buffer and packet state.
+ */
+@@ -219,7 +220,8 @@ struct efx_rx_buffer {
+ struct sk_buff *skb;
+ struct page *page;
+ } u;
+- unsigned int len;
++ u16 page_offset;
++ u16 len;
+ u16 flags;
+ };
+ #define EFX_RX_BUF_PAGE 0x0001
+diff --git a/drivers/net/ethernet/sfc/nic.c b/drivers/net/ethernet/sfc/nic.c
+index 0ad790c..eaa8e87 100644
+--- a/drivers/net/ethernet/sfc/nic.c
++++ b/drivers/net/ethernet/sfc/nic.c
+@@ -376,7 +376,8 @@ efx_may_push_tx_desc(struct efx_tx_queue *tx_queue, unsigned int write_count)
+ return false;
+
+ tx_queue->empty_read_count = 0;
+- return ((empty_read_count ^ write_count) & ~EFX_EMPTY_COUNT_VALID) == 0;
++ return ((empty_read_count ^ write_count) & ~EFX_EMPTY_COUNT_VALID) == 0
++ && tx_queue->write_count - write_count == 1;
+ }
+
+ /* For each entry inserted into the software descriptor ring, create a
+diff --git a/drivers/net/ethernet/sfc/ptp.c b/drivers/net/ethernet/sfc/ptp.c
+index 0767043f..3f93624 100644
+--- a/drivers/net/ethernet/sfc/ptp.c
++++ b/drivers/net/ethernet/sfc/ptp.c
+@@ -1439,7 +1439,7 @@ static int efx_phc_settime(struct ptp_clock_info *ptp,
+
+ delta = timespec_sub(*e_ts, time_now);
+
+- efx_phc_adjtime(ptp, timespec_to_ns(&delta));
++ rc = efx_phc_adjtime(ptp, timespec_to_ns(&delta));
+ if (rc != 0)
+ return rc;
+
+diff --git a/drivers/net/ethernet/sfc/rx.c b/drivers/net/ethernet/sfc/rx.c
+index d780a0d..bb579a6 100644
+--- a/drivers/net/ethernet/sfc/rx.c
++++ b/drivers/net/ethernet/sfc/rx.c
+@@ -90,11 +90,7 @@ static unsigned int rx_refill_threshold;
+ static inline unsigned int efx_rx_buf_offset(struct efx_nic *efx,
+ struct efx_rx_buffer *buf)
+ {
+- /* Offset is always within one page, so we don't need to consider
+- * the page order.
+- */
+- return ((unsigned int) buf->dma_addr & (PAGE_SIZE - 1)) +
+- efx->type->rx_buffer_hash_size;
++ return buf->page_offset + efx->type->rx_buffer_hash_size;
+ }
+ static inline unsigned int efx_rx_buf_size(struct efx_nic *efx)
+ {
+@@ -187,6 +183,7 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
+ struct efx_nic *efx = rx_queue->efx;
+ struct efx_rx_buffer *rx_buf;
+ struct page *page;
++ unsigned int page_offset;
+ struct efx_rx_page_state *state;
+ dma_addr_t dma_addr;
+ unsigned index, count;
+@@ -211,12 +208,14 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
+ state->dma_addr = dma_addr;
+
+ dma_addr += sizeof(struct efx_rx_page_state);
++ page_offset = sizeof(struct efx_rx_page_state);
+
+ split:
+ index = rx_queue->added_count & rx_queue->ptr_mask;
+ rx_buf = efx_rx_buffer(rx_queue, index);
+ rx_buf->dma_addr = dma_addr + EFX_PAGE_IP_ALIGN;
+ rx_buf->u.page = page;
++ rx_buf->page_offset = page_offset + EFX_PAGE_IP_ALIGN;
+ rx_buf->len = efx->rx_buffer_len - EFX_PAGE_IP_ALIGN;
+ rx_buf->flags = EFX_RX_BUF_PAGE;
+ ++rx_queue->added_count;
+@@ -227,6 +226,7 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
+ /* Use the second half of the page */
+ get_page(page);
+ dma_addr += (PAGE_SIZE >> 1);
++ page_offset += (PAGE_SIZE >> 1);
+ ++count;
+ goto split;
+ }
+@@ -236,7 +236,8 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
+ }
+
+ static void efx_unmap_rx_buffer(struct efx_nic *efx,
+- struct efx_rx_buffer *rx_buf)
++ struct efx_rx_buffer *rx_buf,
++ unsigned int used_len)
+ {
+ if ((rx_buf->flags & EFX_RX_BUF_PAGE) && rx_buf->u.page) {
+ struct efx_rx_page_state *state;
+@@ -247,6 +248,10 @@ static void efx_unmap_rx_buffer(struct efx_nic *efx,
+ state->dma_addr,
+ efx_rx_buf_size(efx),
+ DMA_FROM_DEVICE);
++ } else if (used_len) {
++ dma_sync_single_for_cpu(&efx->pci_dev->dev,
++ rx_buf->dma_addr, used_len,
++ DMA_FROM_DEVICE);
+ }
+ } else if (!(rx_buf->flags & EFX_RX_BUF_PAGE) && rx_buf->u.skb) {
+ dma_unmap_single(&efx->pci_dev->dev, rx_buf->dma_addr,
+@@ -269,7 +274,7 @@ static void efx_free_rx_buffer(struct efx_nic *efx,
+ static void efx_fini_rx_buffer(struct efx_rx_queue *rx_queue,
+ struct efx_rx_buffer *rx_buf)
+ {
+- efx_unmap_rx_buffer(rx_queue->efx, rx_buf);
++ efx_unmap_rx_buffer(rx_queue->efx, rx_buf, 0);
+ efx_free_rx_buffer(rx_queue->efx, rx_buf);
+ }
+
+@@ -535,10 +540,10 @@ void efx_rx_packet(struct efx_rx_queue *rx_queue, unsigned int index,
+ goto out;
+ }
+
+- /* Release card resources - assumes all RX buffers consumed in-order
+- * per RX queue
++ /* Release and/or sync DMA mapping - assumes all RX buffers
++ * consumed in-order per RX queue
+ */
+- efx_unmap_rx_buffer(efx, rx_buf);
++ efx_unmap_rx_buffer(efx, rx_buf, len);
+
+ /* Prefetch nice and early so data will (hopefully) be in cache by
+ * the time we look at it.
+diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
+index 6989ebe..21a942c 100644
+--- a/drivers/net/netconsole.c
++++ b/drivers/net/netconsole.c
+@@ -630,6 +630,7 @@ static int netconsole_netdev_event(struct notifier_block *this,
+ goto done;
+
+ spin_lock_irqsave(&target_list_lock, flags);
++restart:
+ list_for_each_entry(nt, &target_list, list) {
+ netconsole_target_get(nt);
+ if (nt->np.dev == dev) {
+@@ -642,15 +643,17 @@ static int netconsole_netdev_event(struct notifier_block *this,
+ case NETDEV_UNREGISTER:
+ /*
+ * rtnl_lock already held
++ * we might sleep in __netpoll_cleanup()
+ */
+- if (nt->np.dev) {
+- __netpoll_cleanup(&nt->np);
+- dev_put(nt->np.dev);
+- nt->np.dev = NULL;
+- }
++ spin_unlock_irqrestore(&target_list_lock, flags);
++ __netpoll_cleanup(&nt->np);
++ spin_lock_irqsave(&target_list_lock, flags);
++ dev_put(nt->np.dev);
++ nt->np.dev = NULL;
+ nt->enabled = 0;
+ stopped = true;
+- break;
++ netconsole_target_put(nt);
++ goto restart;
+ }
+ }
+ netconsole_target_put(nt);
+diff --git a/drivers/net/usb/cdc_mbim.c b/drivers/net/usb/cdc_mbim.c
+index 248d2dc..16c8429 100644
+--- a/drivers/net/usb/cdc_mbim.c
++++ b/drivers/net/usb/cdc_mbim.c
+@@ -68,18 +68,9 @@ static int cdc_mbim_bind(struct usbnet *dev, struct usb_interface *intf)
+ struct cdc_ncm_ctx *ctx;
+ struct usb_driver *subdriver = ERR_PTR(-ENODEV);
+ int ret = -ENODEV;
+- u8 data_altsetting = CDC_NCM_DATA_ALTSETTING_NCM;
++ u8 data_altsetting = cdc_ncm_select_altsetting(dev, intf);
+ struct cdc_mbim_state *info = (void *)&dev->data;
+
+- /* see if interface supports MBIM alternate setting */
+- if (intf->num_altsetting == 2) {
+- if (!cdc_ncm_comm_intf_is_mbim(intf->cur_altsetting))
+- usb_set_interface(dev->udev,
+- intf->cur_altsetting->desc.bInterfaceNumber,
+- CDC_NCM_COMM_ALTSETTING_MBIM);
+- data_altsetting = CDC_NCM_DATA_ALTSETTING_MBIM;
+- }
+-
+ /* Probably NCM, defer for cdc_ncm_bind */
+ if (!cdc_ncm_comm_intf_is_mbim(intf->cur_altsetting))
+ goto err;
+diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c
+index 6d25439..70fb846 100644
+--- a/drivers/net/usb/cdc_ncm.c
++++ b/drivers/net/usb/cdc_ncm.c
+@@ -55,6 +55,14 @@
+
+ #define DRIVER_VERSION "14-Mar-2012"
+
++#if IS_ENABLED(CONFIG_USB_NET_CDC_MBIM)
++static bool prefer_mbim = true;
++#else
++static bool prefer_mbim;
++#endif
++module_param(prefer_mbim, bool, S_IRUGO | S_IWUSR);
++MODULE_PARM_DESC(prefer_mbim, "Prefer MBIM setting on dual NCM/MBIM functions");
++
+ static void cdc_ncm_txpath_bh(unsigned long param);
+ static void cdc_ncm_tx_timeout_start(struct cdc_ncm_ctx *ctx);
+ static enum hrtimer_restart cdc_ncm_tx_timer_cb(struct hrtimer *hr_timer);
+@@ -550,9 +558,12 @@ void cdc_ncm_unbind(struct usbnet *dev, struct usb_interface *intf)
+ }
+ EXPORT_SYMBOL_GPL(cdc_ncm_unbind);
+
+-static int cdc_ncm_bind(struct usbnet *dev, struct usb_interface *intf)
++/* Select the MBIM altsetting iff it is preferred and available,
++ * returning the number of the corresponding data interface altsetting
++ */
++u8 cdc_ncm_select_altsetting(struct usbnet *dev, struct usb_interface *intf)
+ {
+- int ret;
++ struct usb_host_interface *alt;
+
+ /* The MBIM spec defines a NCM compatible default altsetting,
+ * which we may have matched:
+@@ -568,23 +579,27 @@ static int cdc_ncm_bind(struct usbnet *dev, struct usb_interface *intf)
+ * endpoint descriptors, shall be constructed according to
+ * the rules given in section 6 (USB Device Model) of this
+ * specification."
+- *
+- * Do not bind to such interfaces, allowing cdc_mbim to handle
+- * them
+ */
+-#if IS_ENABLED(CONFIG_USB_NET_CDC_MBIM)
+- if ((intf->num_altsetting == 2) &&
+- !usb_set_interface(dev->udev,
+- intf->cur_altsetting->desc.bInterfaceNumber,
+- CDC_NCM_COMM_ALTSETTING_MBIM)) {
+- if (cdc_ncm_comm_intf_is_mbim(intf->cur_altsetting))
+- return -ENODEV;
+- else
+- usb_set_interface(dev->udev,
+- intf->cur_altsetting->desc.bInterfaceNumber,
+- CDC_NCM_COMM_ALTSETTING_NCM);
++ if (prefer_mbim && intf->num_altsetting == 2) {
++ alt = usb_altnum_to_altsetting(intf, CDC_NCM_COMM_ALTSETTING_MBIM);
++ if (alt && cdc_ncm_comm_intf_is_mbim(alt) &&
++ !usb_set_interface(dev->udev,
++ intf->cur_altsetting->desc.bInterfaceNumber,
++ CDC_NCM_COMM_ALTSETTING_MBIM))
++ return CDC_NCM_DATA_ALTSETTING_MBIM;
+ }
+-#endif
++ return CDC_NCM_DATA_ALTSETTING_NCM;
++}
++EXPORT_SYMBOL_GPL(cdc_ncm_select_altsetting);
++
++static int cdc_ncm_bind(struct usbnet *dev, struct usb_interface *intf)
++{
++ int ret;
++
++ /* MBIM backwards compatible function? */
++ cdc_ncm_select_altsetting(dev, intf);
++ if (cdc_ncm_comm_intf_is_mbim(intf->cur_altsetting))
++ return -ENODEV;
+
+ /* NCM data altsetting is always 1 */
+ ret = cdc_ncm_bind_common(dev, intf, 1);
+diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
+index 19d9035..b69ca0f 100644
+--- a/drivers/net/usb/qmi_wwan.c
++++ b/drivers/net/usb/qmi_wwan.c
+@@ -139,16 +139,9 @@ static int qmi_wwan_bind(struct usbnet *dev, struct usb_interface *intf)
+
+ BUILD_BUG_ON((sizeof(((struct usbnet *)0)->data) < sizeof(struct qmi_wwan_state)));
+
+- /* control and data is shared? */
+- if (intf->cur_altsetting->desc.bNumEndpoints == 3) {
+- info->control = intf;
+- info->data = intf;
+- goto shared;
+- }
+-
+- /* else require a single interrupt status endpoint on control intf */
+- if (intf->cur_altsetting->desc.bNumEndpoints != 1)
+- goto err;
++ /* set up initial state */
++ info->control = intf;
++ info->data = intf;
+
+ /* and a number of CDC descriptors */
+ while (len > 3) {
+@@ -207,25 +200,14 @@ next_desc:
+ buf += h->bLength;
+ }
+
+- /* did we find all the required ones? */
+- if (!(found & (1 << USB_CDC_HEADER_TYPE)) ||
+- !(found & (1 << USB_CDC_UNION_TYPE))) {
+- dev_err(&intf->dev, "CDC functional descriptors missing\n");
+- goto err;
+- }
+-
+- /* verify CDC Union */
+- if (desc->bInterfaceNumber != cdc_union->bMasterInterface0) {
+- dev_err(&intf->dev, "bogus CDC Union: master=%u\n", cdc_union->bMasterInterface0);
+- goto err;
+- }
+-
+- /* need to save these for unbind */
+- info->control = intf;
+- info->data = usb_ifnum_to_if(dev->udev, cdc_union->bSlaveInterface0);
+- if (!info->data) {
+- dev_err(&intf->dev, "bogus CDC Union: slave=%u\n", cdc_union->bSlaveInterface0);
+- goto err;
++ /* Use separate control and data interfaces if we found a CDC Union */
++ if (cdc_union) {
++ info->data = usb_ifnum_to_if(dev->udev, cdc_union->bSlaveInterface0);
++ if (desc->bInterfaceNumber != cdc_union->bMasterInterface0 || !info->data) {
++ dev_err(&intf->dev, "bogus CDC Union: master=%u, slave=%u\n",
++ cdc_union->bMasterInterface0, cdc_union->bSlaveInterface0);
++ goto err;
++ }
+ }
+
+ /* errors aren't fatal - we can live with the dynamic address */
+@@ -235,11 +217,12 @@ next_desc:
+ }
+
+ /* claim data interface and set it up */
+- status = usb_driver_claim_interface(driver, info->data, dev);
+- if (status < 0)
+- goto err;
++ if (info->control != info->data) {
++ status = usb_driver_claim_interface(driver, info->data, dev);
++ if (status < 0)
++ goto err;
++ }
+
+-shared:
+ status = qmi_wwan_register_subdriver(dev);
+ if (status < 0 && info->control != info->data) {
+ usb_set_intfdata(info->data, NULL);
+diff --git a/drivers/net/wireless/mwifiex/join.c b/drivers/net/wireless/mwifiex/join.c
+index 88664ae..3473876 100644
+--- a/drivers/net/wireless/mwifiex/join.c
++++ b/drivers/net/wireless/mwifiex/join.c
+@@ -1092,10 +1092,9 @@ mwifiex_cmd_802_11_ad_hoc_join(struct mwifiex_private *priv,
+ adhoc_join->bss_descriptor.bssid,
+ adhoc_join->bss_descriptor.ssid);
+
+- for (i = 0; bss_desc->supported_rates[i] &&
+- i < MWIFIEX_SUPPORTED_RATES;
+- i++)
+- ;
++ for (i = 0; i < MWIFIEX_SUPPORTED_RATES &&
++ bss_desc->supported_rates[i]; i++)
++ ;
+ rates_size = i;
+
+ /* Copy Data Rates from the Rates recorded in scan response */
+diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
+index 44f8b3f..cdbfc30 100644
+--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
++++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
+@@ -1209,7 +1209,9 @@ int rt2x00lib_probe_dev(struct rt2x00_dev *rt2x00dev)
+ rt2x00dev->hw->wiphy->interface_modes |=
+ BIT(NL80211_IFTYPE_ADHOC) |
+ BIT(NL80211_IFTYPE_AP) |
++#ifdef CONFIG_MAC80211_MESH
+ BIT(NL80211_IFTYPE_MESH_POINT) |
++#endif
+ BIT(NL80211_IFTYPE_WDS);
+
+ rt2x00dev->hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
+diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c b/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c
+index b1ccff4..c08d0f4 100644
+--- a/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c
++++ b/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c
+@@ -1377,74 +1377,57 @@ void rtl92cu_card_disable(struct ieee80211_hw *hw)
+
+ void rtl92cu_set_check_bssid(struct ieee80211_hw *hw, bool check_bssid)
+ {
+- /* dummy routine needed for callback from rtl_op_configure_filter() */
+-}
+-
+-/*========================================================================== */
+-
+-static void _rtl92cu_set_check_bssid(struct ieee80211_hw *hw,
+- enum nl80211_iftype type)
+-{
+ struct rtl_priv *rtlpriv = rtl_priv(hw);
+- u32 reg_rcr = rtl_read_dword(rtlpriv, REG_RCR);
+ struct rtl_hal *rtlhal = rtl_hal(rtlpriv);
+- struct rtl_phy *rtlphy = &(rtlpriv->phy);
+- u8 filterout_non_associated_bssid = false;
++ u32 reg_rcr = rtl_read_dword(rtlpriv, REG_RCR);
+
+- switch (type) {
+- case NL80211_IFTYPE_ADHOC:
+- case NL80211_IFTYPE_STATION:
+- filterout_non_associated_bssid = true;
+- break;
+- case NL80211_IFTYPE_UNSPECIFIED:
+- case NL80211_IFTYPE_AP:
+- default:
+- break;
+- }
+- if (filterout_non_associated_bssid) {
++ if (rtlpriv->psc.rfpwr_state != ERFON)
++ return;
++
++ if (check_bssid) {
++ u8 tmp;
+ if (IS_NORMAL_CHIP(rtlhal->version)) {
+- switch (rtlphy->current_io_type) {
+- case IO_CMD_RESUME_DM_BY_SCAN:
+- reg_rcr |= (RCR_CBSSID_DATA | RCR_CBSSID_BCN);
+- rtlpriv->cfg->ops->set_hw_reg(hw,
+- HW_VAR_RCR, (u8 *)(&reg_rcr));
+- /* enable update TSF */
+- _rtl92cu_set_bcn_ctrl_reg(hw, 0, BIT(4));
+- break;
+- case IO_CMD_PAUSE_DM_BY_SCAN:
+- reg_rcr &= ~(RCR_CBSSID_DATA | RCR_CBSSID_BCN);
+- rtlpriv->cfg->ops->set_hw_reg(hw,
+- HW_VAR_RCR, (u8 *)(&reg_rcr));
+- /* disable update TSF */
+- _rtl92cu_set_bcn_ctrl_reg(hw, BIT(4), 0);
+- break;
+- }
++ reg_rcr |= (RCR_CBSSID_DATA | RCR_CBSSID_BCN);
++ tmp = BIT(4);
+ } else {
+- reg_rcr |= (RCR_CBSSID);
+- rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR,
+- (u8 *)(&reg_rcr));
+- _rtl92cu_set_bcn_ctrl_reg(hw, 0, (BIT(4)|BIT(5)));
++ reg_rcr |= RCR_CBSSID;
++ tmp = BIT(4) | BIT(5);
+ }
+- } else if (filterout_non_associated_bssid == false) {
++ rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR,
++ (u8 *) (&reg_rcr));
++ _rtl92cu_set_bcn_ctrl_reg(hw, 0, tmp);
++ } else {
++ u8 tmp;
+ if (IS_NORMAL_CHIP(rtlhal->version)) {
+- reg_rcr &= (~(RCR_CBSSID_DATA | RCR_CBSSID_BCN));
+- rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR,
+- (u8 *)(&reg_rcr));
+- _rtl92cu_set_bcn_ctrl_reg(hw, BIT(4), 0);
++ reg_rcr &= ~(RCR_CBSSID_DATA | RCR_CBSSID_BCN);
++ tmp = BIT(4);
+ } else {
+- reg_rcr &= (~RCR_CBSSID);
+- rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR,
+- (u8 *)(&reg_rcr));
+- _rtl92cu_set_bcn_ctrl_reg(hw, (BIT(4)|BIT(5)), 0);
++ reg_rcr &= ~RCR_CBSSID;
++ tmp = BIT(4) | BIT(5);
+ }
++ reg_rcr &= (~(RCR_CBSSID_DATA | RCR_CBSSID_BCN));
++ rtlpriv->cfg->ops->set_hw_reg(hw,
++ HW_VAR_RCR, (u8 *) (&reg_rcr));
++ _rtl92cu_set_bcn_ctrl_reg(hw, tmp, 0);
+ }
+ }
+
++/*========================================================================== */
++
+ int rtl92cu_set_network_type(struct ieee80211_hw *hw, enum nl80211_iftype type)
+ {
++ struct rtl_priv *rtlpriv = rtl_priv(hw);
++
+ if (_rtl92cu_set_media_status(hw, type))
+ return -EOPNOTSUPP;
+- _rtl92cu_set_check_bssid(hw, type);
++
++ if (rtlpriv->mac80211.link_state == MAC80211_LINKED) {
++ if (type != NL80211_IFTYPE_AP)
++ rtl92cu_set_check_bssid(hw, true);
++ } else {
++ rtl92cu_set_check_bssid(hw, false);
++ }
++
+ return 0;
+ }
+
+@@ -2058,8 +2041,6 @@ void rtl92cu_update_hal_rate_table(struct ieee80211_hw *hw,
+ (shortgi_rate << 4) | (shortgi_rate);
+ }
+ rtl_write_dword(rtlpriv, REG_ARFR0 + ratr_index * 4, ratr_value);
+- RT_TRACE(rtlpriv, COMP_RATR, DBG_DMESG, "%x\n",
+- rtl_read_dword(rtlpriv, REG_ARFR0));
+ }
+
+ void rtl92cu_update_hal_rate_mask(struct ieee80211_hw *hw, u8 rssi_level)
+diff --git a/drivers/rtc/rtc-at91rm9200.c b/drivers/rtc/rtc-at91rm9200.c
+index b6469e2..d38b267 100644
+--- a/drivers/rtc/rtc-at91rm9200.c
++++ b/drivers/rtc/rtc-at91rm9200.c
+@@ -44,6 +44,7 @@ static DECLARE_COMPLETION(at91_rtc_updated);
+ static unsigned int at91_alarm_year = AT91_RTC_EPOCH;
+ static void __iomem *at91_rtc_regs;
+ static int irq;
++static u32 at91_rtc_imr;
+
+ /*
+ * Decode time/date into rtc_time structure
+@@ -108,9 +109,11 @@ static int at91_rtc_settime(struct device *dev, struct rtc_time *tm)
+ cr = at91_rtc_read(AT91_RTC_CR);
+ at91_rtc_write(AT91_RTC_CR, cr | AT91_RTC_UPDCAL | AT91_RTC_UPDTIM);
+
++ at91_rtc_imr |= AT91_RTC_ACKUPD;
+ at91_rtc_write(AT91_RTC_IER, AT91_RTC_ACKUPD);
+ wait_for_completion(&at91_rtc_updated); /* wait for ACKUPD interrupt */
+ at91_rtc_write(AT91_RTC_IDR, AT91_RTC_ACKUPD);
++ at91_rtc_imr &= ~AT91_RTC_ACKUPD;
+
+ at91_rtc_write(AT91_RTC_TIMR,
+ bin2bcd(tm->tm_sec) << 0
+@@ -142,7 +145,7 @@ static int at91_rtc_readalarm(struct device *dev, struct rtc_wkalrm *alrm)
+ tm->tm_yday = rtc_year_days(tm->tm_mday, tm->tm_mon, tm->tm_year);
+ tm->tm_year = at91_alarm_year - 1900;
+
+- alrm->enabled = (at91_rtc_read(AT91_RTC_IMR) & AT91_RTC_ALARM)
++ alrm->enabled = (at91_rtc_imr & AT91_RTC_ALARM)
+ ? 1 : 0;
+
+ pr_debug("%s(): %4d-%02d-%02d %02d:%02d:%02d\n", __func__,
+@@ -168,6 +171,7 @@ static int at91_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
+ tm.tm_sec = alrm->time.tm_sec;
+
+ at91_rtc_write(AT91_RTC_IDR, AT91_RTC_ALARM);
++ at91_rtc_imr &= ~AT91_RTC_ALARM;
+ at91_rtc_write(AT91_RTC_TIMALR,
+ bin2bcd(tm.tm_sec) << 0
+ | bin2bcd(tm.tm_min) << 8
+@@ -180,6 +184,7 @@ static int at91_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
+
+ if (alrm->enabled) {
+ at91_rtc_write(AT91_RTC_SCCR, AT91_RTC_ALARM);
++ at91_rtc_imr |= AT91_RTC_ALARM;
+ at91_rtc_write(AT91_RTC_IER, AT91_RTC_ALARM);
+ }
+
+@@ -196,9 +201,12 @@ static int at91_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled)
+
+ if (enabled) {
+ at91_rtc_write(AT91_RTC_SCCR, AT91_RTC_ALARM);
++ at91_rtc_imr |= AT91_RTC_ALARM;
+ at91_rtc_write(AT91_RTC_IER, AT91_RTC_ALARM);
+- } else
++ } else {
+ at91_rtc_write(AT91_RTC_IDR, AT91_RTC_ALARM);
++ at91_rtc_imr &= ~AT91_RTC_ALARM;
++ }
+
+ return 0;
+ }
+@@ -207,12 +215,10 @@ static int at91_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled)
+ */
+ static int at91_rtc_proc(struct device *dev, struct seq_file *seq)
+ {
+- unsigned long imr = at91_rtc_read(AT91_RTC_IMR);
+-
+ seq_printf(seq, "update_IRQ\t: %s\n",
+- (imr & AT91_RTC_ACKUPD) ? "yes" : "no");
++ (at91_rtc_imr & AT91_RTC_ACKUPD) ? "yes" : "no");
+ seq_printf(seq, "periodic_IRQ\t: %s\n",
+- (imr & AT91_RTC_SECEV) ? "yes" : "no");
++ (at91_rtc_imr & AT91_RTC_SECEV) ? "yes" : "no");
+
+ return 0;
+ }
+@@ -227,7 +233,7 @@ static irqreturn_t at91_rtc_interrupt(int irq, void *dev_id)
+ unsigned int rtsr;
+ unsigned long events = 0;
+
+- rtsr = at91_rtc_read(AT91_RTC_SR) & at91_rtc_read(AT91_RTC_IMR);
++ rtsr = at91_rtc_read(AT91_RTC_SR) & at91_rtc_imr;
+ if (rtsr) { /* this interrupt is shared! Is it ours? */
+ if (rtsr & AT91_RTC_ALARM)
+ events |= (RTC_AF | RTC_IRQF);
+@@ -291,6 +297,7 @@ static int __init at91_rtc_probe(struct platform_device *pdev)
+ at91_rtc_write(AT91_RTC_IDR, AT91_RTC_ACKUPD | AT91_RTC_ALARM |
+ AT91_RTC_SECEV | AT91_RTC_TIMEV |
+ AT91_RTC_CALEV);
++ at91_rtc_imr = 0;
+
+ ret = request_irq(irq, at91_rtc_interrupt,
+ IRQF_SHARED,
+@@ -330,6 +337,7 @@ static int __exit at91_rtc_remove(struct platform_device *pdev)
+ at91_rtc_write(AT91_RTC_IDR, AT91_RTC_ACKUPD | AT91_RTC_ALARM |
+ AT91_RTC_SECEV | AT91_RTC_TIMEV |
+ AT91_RTC_CALEV);
++ at91_rtc_imr = 0;
+ free_irq(irq, pdev);
+
+ rtc_device_unregister(rtc);
+@@ -342,31 +350,35 @@ static int __exit at91_rtc_remove(struct platform_device *pdev)
+
+ /* AT91RM9200 RTC Power management control */
+
+-static u32 at91_rtc_imr;
++static u32 at91_rtc_bkpimr;
++
+
+ static int at91_rtc_suspend(struct device *dev)
+ {
+ /* this IRQ is shared with DBGU and other hardware which isn't
+ * necessarily doing PM like we are...
+ */
+- at91_rtc_imr = at91_rtc_read(AT91_RTC_IMR)
+- & (AT91_RTC_ALARM|AT91_RTC_SECEV);
+- if (at91_rtc_imr) {
+- if (device_may_wakeup(dev))
++ at91_rtc_bkpimr = at91_rtc_imr & (AT91_RTC_ALARM|AT91_RTC_SECEV);
++ if (at91_rtc_bkpimr) {
++ if (device_may_wakeup(dev)) {
+ enable_irq_wake(irq);
+- else
+- at91_rtc_write(AT91_RTC_IDR, at91_rtc_imr);
+- }
++ } else {
++ at91_rtc_write(AT91_RTC_IDR, at91_rtc_bkpimr);
++ at91_rtc_imr &= ~at91_rtc_bkpimr;
++ }
++}
+ return 0;
+ }
+
+ static int at91_rtc_resume(struct device *dev)
+ {
+- if (at91_rtc_imr) {
+- if (device_may_wakeup(dev))
++ if (at91_rtc_bkpimr) {
++ if (device_may_wakeup(dev)) {
+ disable_irq_wake(irq);
+- else
+- at91_rtc_write(AT91_RTC_IER, at91_rtc_imr);
++ } else {
++ at91_rtc_imr |= at91_rtc_bkpimr;
++ at91_rtc_write(AT91_RTC_IER, at91_rtc_bkpimr);
++ }
+ }
+ return 0;
+ }
+diff --git a/drivers/rtc/rtc-at91rm9200.h b/drivers/rtc/rtc-at91rm9200.h
+index da1945e..5f940b6 100644
+--- a/drivers/rtc/rtc-at91rm9200.h
++++ b/drivers/rtc/rtc-at91rm9200.h
+@@ -64,7 +64,6 @@
+ #define AT91_RTC_SCCR 0x1c /* Status Clear Command Register */
+ #define AT91_RTC_IER 0x20 /* Interrupt Enable Register */
+ #define AT91_RTC_IDR 0x24 /* Interrupt Disable Register */
+-#define AT91_RTC_IMR 0x28 /* Interrupt Mask Register */
+
+ #define AT91_RTC_VER 0x2c /* Valid Entry Register */
+ #define AT91_RTC_NVTIM (1 << 0) /* Non valid Time */
+diff --git a/drivers/target/iscsi/iscsi_target_auth.c b/drivers/target/iscsi/iscsi_target_auth.c
+index db0cf7c..a0fc7b9 100644
+--- a/drivers/target/iscsi/iscsi_target_auth.c
++++ b/drivers/target/iscsi/iscsi_target_auth.c
+@@ -166,6 +166,7 @@ static int chap_server_compute_md5(
+ {
+ char *endptr;
+ unsigned long id;
++ unsigned char id_as_uchar;
+ unsigned char digest[MD5_SIGNATURE_SIZE];
+ unsigned char type, response[MD5_SIGNATURE_SIZE * 2 + 2];
+ unsigned char identifier[10], *challenge = NULL;
+@@ -355,7 +356,9 @@ static int chap_server_compute_md5(
+ goto out;
+ }
+
+- sg_init_one(&sg, &id, 1);
++ /* To handle both endiannesses */
++ id_as_uchar = id;
++ sg_init_one(&sg, &id_as_uchar, 1);
+ ret = crypto_hash_update(&desc, &sg, 1);
+ if (ret < 0) {
+ pr_err("crypto_hash_update() failed for id\n");
+diff --git a/drivers/target/target_core_file.h b/drivers/target/target_core_file.h
+index bc02b01..37ffc5b 100644
+--- a/drivers/target/target_core_file.h
++++ b/drivers/target/target_core_file.h
+@@ -7,7 +7,7 @@
+ #define FD_DEVICE_QUEUE_DEPTH 32
+ #define FD_MAX_DEVICE_QUEUE_DEPTH 128
+ #define FD_BLOCKSIZE 512
+-#define FD_MAX_SECTORS 1024
++#define FD_MAX_SECTORS 2048
+
+ #define RRF_EMULATE_CDB 0x01
+ #define RRF_GOT_LBA 0x02
+diff --git a/drivers/tty/serial/sunsu.c b/drivers/tty/serial/sunsu.c
+index 220da3f..94b0ad7 100644
+--- a/drivers/tty/serial/sunsu.c
++++ b/drivers/tty/serial/sunsu.c
+@@ -974,6 +974,7 @@ static struct uart_ops sunsu_pops = {
+ #define UART_NR 4
+
+ static struct uart_sunsu_port sunsu_ports[UART_NR];
++static int nr_inst; /* Number of already registered ports */
+
+ #ifdef CONFIG_SERIO
+
+@@ -1343,13 +1344,8 @@ static int __init sunsu_console_setup(struct console *co, char *options)
+ printk("Console: ttyS%d (SU)\n",
+ (sunsu_reg.minor - 64) + co->index);
+
+- /*
+- * Check whether an invalid uart number has been specified, and
+- * if so, search for the first available port that does have
+- * console support.
+- */
+- if (co->index >= UART_NR)
+- co->index = 0;
++ if (co->index > nr_inst)
++ return -ENODEV;
+ port = &sunsu_ports[co->index].port;
+
+ /*
+@@ -1414,7 +1410,6 @@ static enum su_type su_get_type(struct device_node *dp)
+
+ static int su_probe(struct platform_device *op)
+ {
+- static int inst;
+ struct device_node *dp = op->dev.of_node;
+ struct uart_sunsu_port *up;
+ struct resource *rp;
+@@ -1424,16 +1419,16 @@ static int su_probe(struct platform_device *op)
+
+ type = su_get_type(dp);
+ if (type == SU_PORT_PORT) {
+- if (inst >= UART_NR)
++ if (nr_inst >= UART_NR)
+ return -EINVAL;
+- up = &sunsu_ports[inst];
++ up = &sunsu_ports[nr_inst];
+ } else {
+ up = kzalloc(sizeof(*up), GFP_KERNEL);
+ if (!up)
+ return -ENOMEM;
+ }
+
+- up->port.line = inst;
++ up->port.line = nr_inst;
+
+ spin_lock_init(&up->port.lock);
+
+@@ -1467,6 +1462,8 @@ static int su_probe(struct platform_device *op)
+ }
+ dev_set_drvdata(&op->dev, up);
+
++ nr_inst++;
++
+ return 0;
+ }
+
+@@ -1494,7 +1491,7 @@ static int su_probe(struct platform_device *op)
+
+ dev_set_drvdata(&op->dev, up);
+
+- inst++;
++ nr_inst++;
+
+ return 0;
+
+diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
+index 2d92cce..35d2cf1 100644
+--- a/drivers/usb/class/cdc-acm.c
++++ b/drivers/usb/class/cdc-acm.c
+@@ -600,7 +600,6 @@ static void acm_port_destruct(struct tty_port *port)
+
+ dev_dbg(&acm->control->dev, "%s\n", __func__);
+
+- tty_unregister_device(acm_tty_driver, acm->minor);
+ acm_release_minor(acm);
+ usb_put_intf(acm->control);
+ kfree(acm->country_codes);
+@@ -1418,6 +1417,8 @@ static void acm_disconnect(struct usb_interface *intf)
+
+ stop_data_traffic(acm);
+
++ tty_unregister_device(acm_tty_driver, acm->minor);
++
+ usb_free_urb(acm->ctrlurb);
+ for (i = 0; i < ACM_NW; i++)
+ usb_free_urb(acm->wb[i].urb);
+diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
+index 622b4a4..2b487d4 100644
+--- a/drivers/usb/core/hcd-pci.c
++++ b/drivers/usb/core/hcd-pci.c
+@@ -173,6 +173,7 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
+ struct hc_driver *driver;
+ struct usb_hcd *hcd;
+ int retval;
++ int hcd_irq = 0;
+
+ if (usb_disabled())
+ return -ENODEV;
+@@ -187,15 +188,19 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
+ return -ENODEV;
+ dev->current_state = PCI_D0;
+
+- /* The xHCI driver supports MSI and MSI-X,
+- * so don't fail if the BIOS doesn't provide a legacy IRQ.
++ /*
++ * The xHCI driver has its own irq management
++ * make sure irq setup is not touched for xhci in generic hcd code
+ */
+- if (!dev->irq && (driver->flags & HCD_MASK) != HCD_USB3) {
+- dev_err(&dev->dev,
+- "Found HC with no IRQ. Check BIOS/PCI %s setup!\n",
+- pci_name(dev));
+- retval = -ENODEV;
+- goto disable_pci;
++ if ((driver->flags & HCD_MASK) != HCD_USB3) {
++ if (!dev->irq) {
++ dev_err(&dev->dev,
++ "Found HC with no IRQ. Check BIOS/PCI %s setup!\n",
++ pci_name(dev));
++ retval = -ENODEV;
++ goto disable_pci;
++ }
++ hcd_irq = dev->irq;
+ }
+
+ hcd = usb_create_hcd(driver, &dev->dev, pci_name(dev));
+@@ -245,7 +250,7 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
+
+ pci_set_master(dev);
+
+- retval = usb_add_hcd(hcd, dev->irq, IRQF_SHARED);
++ retval = usb_add_hcd(hcd, hcd_irq, IRQF_SHARED);
+ if (retval != 0)
+ goto unmap_registers;
+ set_hs_companion(dev, hcd);
+diff --git a/drivers/usb/gadget/g_ffs.c b/drivers/usb/gadget/g_ffs.c
+index 3953dd4..3b343b2 100644
+--- a/drivers/usb/gadget/g_ffs.c
++++ b/drivers/usb/gadget/g_ffs.c
+@@ -357,7 +357,7 @@ static int gfs_bind(struct usb_composite_dev *cdev)
+ goto error;
+ gfs_dev_desc.iProduct = gfs_strings[USB_GADGET_PRODUCT_IDX].id;
+
+- for (i = func_num; --i; ) {
++ for (i = func_num; i--; ) {
+ ret = functionfs_bind(ffs_tab[i].ffs_data, cdev);
+ if (unlikely(ret < 0)) {
+ while (++i < func_num)
+@@ -413,7 +413,7 @@ static int gfs_unbind(struct usb_composite_dev *cdev)
+ gether_cleanup();
+ gfs_ether_setup = false;
+
+- for (i = func_num; --i; )
++ for (i = func_num; i--; )
+ if (ffs_tab[i].ffs_data)
+ functionfs_unbind(ffs_tab[i].ffs_data);
+
+diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
+index b416a3f..416a6dc 100644
+--- a/drivers/usb/host/ehci-hcd.c
++++ b/drivers/usb/host/ehci-hcd.c
+@@ -302,6 +302,7 @@ static void ehci_quiesce (struct ehci_hcd *ehci)
+
+ static void end_unlink_async(struct ehci_hcd *ehci);
+ static void unlink_empty_async(struct ehci_hcd *ehci);
++static void unlink_empty_async_suspended(struct ehci_hcd *ehci);
+ static void ehci_work(struct ehci_hcd *ehci);
+ static void start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh);
+ static void end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh);
+@@ -748,11 +749,9 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd)
+ /* guard against (alleged) silicon errata */
+ if (cmd & CMD_IAAD)
+ ehci_dbg(ehci, "IAA with IAAD still set?\n");
+- if (ehci->async_iaa) {
++ if (ehci->async_iaa)
+ COUNT(ehci->stats.iaa);
+- end_unlink_async(ehci);
+- } else
+- ehci_dbg(ehci, "IAA with nothing unlinked?\n");
++ end_unlink_async(ehci);
+ }
+
+ /* remote wakeup [4.3.1] */
+diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
+index 4d3b294..7d06e77 100644
+--- a/drivers/usb/host/ehci-hub.c
++++ b/drivers/usb/host/ehci-hub.c
+@@ -328,7 +328,7 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
+ ehci->rh_state = EHCI_RH_SUSPENDED;
+
+ end_unlink_async(ehci);
+- unlink_empty_async(ehci);
++ unlink_empty_async_suspended(ehci);
+ ehci_handle_intr_unlinks(ehci);
+ end_free_itds(ehci);
+
+diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
+index eda2cf4..23d1369 100644
+--- a/drivers/usb/host/ehci-q.c
++++ b/drivers/usb/host/ehci-q.c
+@@ -1178,7 +1178,7 @@ static void single_unlink_async(struct ehci_hcd *ehci, struct ehci_qh *qh)
+ struct ehci_qh *prev;
+
+ /* Add to the end of the list of QHs waiting for the next IAAD */
+- qh->qh_state = QH_STATE_UNLINK;
++ qh->qh_state = QH_STATE_UNLINK_WAIT;
+ if (ehci->async_unlink)
+ ehci->async_unlink_last->unlink_next = qh;
+ else
+@@ -1221,9 +1221,19 @@ static void start_iaa_cycle(struct ehci_hcd *ehci, bool nested)
+
+ /* Do only the first waiting QH (nVidia bug?) */
+ qh = ehci->async_unlink;
+- ehci->async_iaa = qh;
+- ehci->async_unlink = qh->unlink_next;
+- qh->unlink_next = NULL;
++
++ /*
++ * Intel (?) bug: The HC can write back the overlay region
++ * even after the IAA interrupt occurs. In self-defense,
++ * always go through two IAA cycles for each QH.
++ */
++ if (qh->qh_state == QH_STATE_UNLINK_WAIT) {
++ qh->qh_state = QH_STATE_UNLINK;
++ } else {
++ ehci->async_iaa = qh;
++ ehci->async_unlink = qh->unlink_next;
++ qh->unlink_next = NULL;
++ }
+
+ /* Make sure the unlinks are all visible to the hardware */
+ wmb();
+@@ -1306,6 +1316,19 @@ static void unlink_empty_async(struct ehci_hcd *ehci)
+ }
+ }
+
++/* The root hub is suspended; unlink all the async QHs */
++static void unlink_empty_async_suspended(struct ehci_hcd *ehci)
++{
++ struct ehci_qh *qh;
++
++ while (ehci->async->qh_next.qh) {
++ qh = ehci->async->qh_next.qh;
++ WARN_ON(!list_empty(&qh->qtd_list));
++ single_unlink_async(ehci, qh);
++ }
++ start_iaa_cycle(ehci, false);
++}
++
+ /* makes sure the async qh will become idle */
+ /* caller must own ehci->lock */
+
+diff --git a/drivers/usb/host/ehci-timer.c b/drivers/usb/host/ehci-timer.c
+index 20dbdcb..c3fa130 100644
+--- a/drivers/usb/host/ehci-timer.c
++++ b/drivers/usb/host/ehci-timer.c
+@@ -304,7 +304,7 @@ static void ehci_iaa_watchdog(struct ehci_hcd *ehci)
+ * (a) SMP races against real IAA firing and retriggering, and
+ * (b) clean HC shutdown, when IAA watchdog was pending.
+ */
+- if (ehci->async_iaa) {
++ if (1) {
+ u32 cmd, status;
+
+ /* If we get here, IAA is *REALLY* late. It's barely
+diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
+index f1f01a8..849470b 100644
+--- a/drivers/usb/host/xhci.c
++++ b/drivers/usb/host/xhci.c
+@@ -350,7 +350,7 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd)
+ * generate interrupts. Don't even try to enable MSI.
+ */
+ if (xhci->quirks & XHCI_BROKEN_MSI)
+- return 0;
++ goto legacy_irq;
+
+ /* unregister the legacy interrupt */
+ if (hcd->irq)
+@@ -371,6 +371,7 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd)
+ return -EINVAL;
+ }
+
++ legacy_irq:
+ /* fall back to legacy interrupt*/
+ ret = request_irq(pdev->irq, &usb_hcd_irq, IRQF_SHARED,
+ hcd->irq_descr, hcd);
+diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
+index f791bd0..2c510e4 100644
+--- a/drivers/usb/host/xhci.h
++++ b/drivers/usb/host/xhci.h
+@@ -206,8 +206,8 @@ struct xhci_op_regs {
+ /* bits 12:31 are reserved (and should be preserved on writes). */
+
+ /* IMAN - Interrupt Management Register */
+-#define IMAN_IP (1 << 1)
+-#define IMAN_IE (1 << 0)
++#define IMAN_IE (1 << 1)
++#define IMAN_IP (1 << 0)
+
+ /* USBSTS - USB status - status bitmasks */
+ /* HC not running - set to 1 when run/stop bit is cleared. */
+diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
+index 7c71769d..41613a2 100644
+--- a/drivers/usb/musb/da8xx.c
++++ b/drivers/usb/musb/da8xx.c
+@@ -327,7 +327,7 @@ static irqreturn_t da8xx_musb_interrupt(int irq, void *hci)
+ u8 devctl = musb_readb(mregs, MUSB_DEVCTL);
+ int err;
+
+- err = musb->int_usb & USB_INTR_VBUSERROR;
++ err = musb->int_usb & MUSB_INTR_VBUSERROR;
+ if (err) {
+ /*
+ * The Mentor core doesn't debounce VBUS as needed
+diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c
+index 203358d..34e702b 100644
+--- a/drivers/usb/serial/garmin_gps.c
++++ b/drivers/usb/serial/garmin_gps.c
+@@ -959,10 +959,7 @@ static void garmin_close(struct usb_serial_port *port)
+ if (!serial)
+ return;
+
+- mutex_lock(&port->serial->disc_mutex);
+-
+- if (!port->serial->disconnected)
+- garmin_clear(garmin_data_p);
++ garmin_clear(garmin_data_p);
+
+ /* shutdown our urbs */
+ usb_kill_urb(port->read_urb);
+@@ -971,8 +968,6 @@ static void garmin_close(struct usb_serial_port *port)
+ /* keep reset state so we know that we must start a new session */
+ if (garmin_data_p->state != STATE_RESET)
+ garmin_data_p->state = STATE_DISCONNECTED;
+-
+- mutex_unlock(&port->serial->disc_mutex);
+ }
+
+
+diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c
+index 82afc4d..aa6462f 100644
+--- a/drivers/usb/serial/io_ti.c
++++ b/drivers/usb/serial/io_ti.c
+@@ -2702,6 +2702,7 @@ static struct usb_serial_driver edgeport_2port_device = {
+ .set_termios = edge_set_termios,
+ .tiocmget = edge_tiocmget,
+ .tiocmset = edge_tiocmset,
++ .get_icount = edge_get_icount,
+ .write = edge_write,
+ .write_room = edge_write_room,
+ .chars_in_buffer = edge_chars_in_buffer,
+diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
+index 15af799..3dc3ad2 100644
+--- a/drivers/usb/serial/usb-serial.c
++++ b/drivers/usb/serial/usb-serial.c
+@@ -151,6 +151,7 @@ static void destroy_serial(struct kref *kref)
+ }
+ }
+
++ usb_put_intf(serial->interface);
+ usb_put_dev(serial->dev);
+ kfree(serial);
+ }
+@@ -614,7 +615,7 @@ static struct usb_serial *create_serial(struct usb_device *dev,
+ }
+ serial->dev = usb_get_dev(dev);
+ serial->type = driver;
+- serial->interface = interface;
++ serial->interface = usb_get_intf(interface);
+ kref_init(&serial->kref);
+ mutex_init(&serial->disc_mutex);
+ serial->minor = SERIAL_TTY_NO_MINOR;
+diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
+index d305a5a..b75e90b 100644
+--- a/drivers/usb/storage/unusual_devs.h
++++ b/drivers/usb/storage/unusual_devs.h
+@@ -488,6 +488,13 @@ UNUSUAL_DEV( 0x04e8, 0x5122, 0x0000, 0x9999,
+ USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+ US_FL_MAX_SECTORS_64 | US_FL_BULK_IGNORE_TAG),
+
++/* Added by Dmitry Artamonow <mad_soft@inbox.ru> */
++UNUSUAL_DEV( 0x04e8, 0x5136, 0x0000, 0x9999,
++ "Samsung",
++ "YP-Z3",
++ USB_SC_DEVICE, USB_PR_DEVICE, NULL,
++ US_FL_MAX_SECTORS_64),
++
+ /* Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>.
+ * Device uses standards-violating 32-byte Bulk Command Block Wrappers and
+ * reports itself as "Proprietary SCSI Bulk." Cf. device entry 0x084d:0x0011.
+diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
+index 959b1cd..ec6fb3f 100644
+--- a/drivers/vhost/net.c
++++ b/drivers/vhost/net.c
+@@ -339,7 +339,8 @@ static void handle_tx(struct vhost_net *net)
+ msg.msg_controllen = 0;
+ ubufs = NULL;
+ } else {
+- struct ubuf_info *ubuf = &vq->ubuf_info[head];
++ struct ubuf_info *ubuf;
++ ubuf = vq->ubuf_info + vq->upend_idx;
+
+ vq->heads[vq->upend_idx].len =
+ VHOST_DMA_IN_PROGRESS;
+diff --git a/drivers/video/ep93xx-fb.c b/drivers/video/ep93xx-fb.c
+index 3f2519d..e06cd5d 100644
+--- a/drivers/video/ep93xx-fb.c
++++ b/drivers/video/ep93xx-fb.c
+@@ -23,6 +23,7 @@
+ #include <linux/slab.h>
+ #include <linux/clk.h>
+ #include <linux/fb.h>
++#include <linux/io.h>
+
+ #include <linux/platform_data/video-ep93xx.h>
+
+diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c
+index e3b8f75..0e9d8c4 100644
+--- a/drivers/watchdog/sp5100_tco.c
++++ b/drivers/watchdog/sp5100_tco.c
+@@ -40,13 +40,12 @@
+ #include "sp5100_tco.h"
+
+ /* Module and version information */
+-#define TCO_VERSION "0.03"
++#define TCO_VERSION "0.05"
+ #define TCO_MODULE_NAME "SP5100 TCO timer"
+ #define TCO_DRIVER_NAME TCO_MODULE_NAME ", v" TCO_VERSION
+
+ /* internal variables */
+ static u32 tcobase_phys;
+-static u32 resbase_phys;
+ static u32 tco_wdt_fired;
+ static void __iomem *tcobase;
+ static unsigned int pm_iobase;
+@@ -54,10 +53,6 @@ static DEFINE_SPINLOCK(tco_lock); /* Guards the hardware */
+ static unsigned long timer_alive;
+ static char tco_expect_close;
+ static struct pci_dev *sp5100_tco_pci;
+-static struct resource wdt_res = {
+- .name = "Watchdog Timer",
+- .flags = IORESOURCE_MEM,
+-};
+
+ /* the watchdog platform device */
+ static struct platform_device *sp5100_tco_platform_device;
+@@ -75,12 +70,6 @@ module_param(nowayout, bool, 0);
+ MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started."
+ " (default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+
+-static unsigned int force_addr;
+-module_param(force_addr, uint, 0);
+-MODULE_PARM_DESC(force_addr, "Force the use of specified MMIO address."
+- " ONLY USE THIS PARAMETER IF YOU REALLY KNOW"
+- " WHAT YOU ARE DOING (default=none)");
+-
+ /*
+ * Some TCO specific functions
+ */
+@@ -176,39 +165,6 @@ static void tco_timer_enable(void)
+ }
+ }
+
+-static void tco_timer_disable(void)
+-{
+- int val;
+-
+- if (sp5100_tco_pci->revision >= 0x40) {
+- /* For SB800 or later */
+- /* Enable watchdog decode bit and Disable watchdog timer */
+- outb(SB800_PM_WATCHDOG_CONTROL, SB800_IO_PM_INDEX_REG);
+- val = inb(SB800_IO_PM_DATA_REG);
+- val |= SB800_PCI_WATCHDOG_DECODE_EN;
+- val |= SB800_PM_WATCHDOG_DISABLE;
+- outb(val, SB800_IO_PM_DATA_REG);
+- } else {
+- /* For SP5100 or SB7x0 */
+- /* Enable watchdog decode bit */
+- pci_read_config_dword(sp5100_tco_pci,
+- SP5100_PCI_WATCHDOG_MISC_REG,
+- &val);
+-
+- val |= SP5100_PCI_WATCHDOG_DECODE_EN;
+-
+- pci_write_config_dword(sp5100_tco_pci,
+- SP5100_PCI_WATCHDOG_MISC_REG,
+- val);
+-
+- /* Disable Watchdog timer */
+- outb(SP5100_PM_WATCHDOG_CONTROL, SP5100_IO_PM_INDEX_REG);
+- val = inb(SP5100_IO_PM_DATA_REG);
+- val |= SP5100_PM_WATCHDOG_DISABLE;
+- outb(val, SP5100_IO_PM_DATA_REG);
+- }
+-}
+-
+ /*
+ * /dev/watchdog handling
+ */
+@@ -361,7 +317,7 @@ static unsigned char sp5100_tco_setupdevice(void)
+ {
+ struct pci_dev *dev = NULL;
+ const char *dev_name = NULL;
+- u32 val, tmp_val;
++ u32 val;
+ u32 index_reg, data_reg, base_addr;
+
+ /* Match the PCI device */
+@@ -459,63 +415,8 @@ static unsigned char sp5100_tco_setupdevice(void)
+ } else
+ pr_debug("SBResource_MMIO is disabled(0x%04x)\n", val);
+
+- /*
+- * Lastly re-programming the watchdog timer MMIO address,
+- * This method is a last resort...
+- *
+- * Before re-programming, to ensure that the watchdog timer
+- * is disabled, disable the watchdog timer.
+- */
+- tco_timer_disable();
+-
+- if (force_addr) {
+- /*
+- * Force the use of watchdog timer MMIO address, and aligned to
+- * 8byte boundary.
+- */
+- force_addr &= ~0x7;
+- val = force_addr;
+-
+- pr_info("Force the use of 0x%04x as MMIO address\n", val);
+- } else {
+- /*
+- * Get empty slot into the resource tree for watchdog timer.
+- */
+- if (allocate_resource(&iomem_resource,
+- &wdt_res,
+- SP5100_WDT_MEM_MAP_SIZE,
+- 0xf0000000,
+- 0xfffffff8,
+- 0x8,
+- NULL,
+- NULL)) {
+- pr_err("MMIO allocation failed\n");
+- goto unreg_region;
+- }
+-
+- val = resbase_phys = wdt_res.start;
+- pr_debug("Got 0x%04x from resource tree\n", val);
+- }
+-
+- /* Restore to the low three bits */
+- outb(base_addr+0, index_reg);
+- tmp_val = val | (inb(data_reg) & 0x7);
+-
+- /* Re-programming the watchdog timer base address */
+- outb(base_addr+0, index_reg);
+- outb((tmp_val >> 0) & 0xff, data_reg);
+- outb(base_addr+1, index_reg);
+- outb((tmp_val >> 8) & 0xff, data_reg);
+- outb(base_addr+2, index_reg);
+- outb((tmp_val >> 16) & 0xff, data_reg);
+- outb(base_addr+3, index_reg);
+- outb((tmp_val >> 24) & 0xff, data_reg);
+-
+- if (!request_mem_region_exclusive(val, SP5100_WDT_MEM_MAP_SIZE,
+- dev_name)) {
+- pr_err("MMIO address 0x%04x already in use\n", val);
+- goto unreg_resource;
+- }
++ pr_notice("failed to find MMIO address, giving up.\n");
++ goto unreg_region;
+
+ setup_wdt:
+ tcobase_phys = val;
+@@ -555,9 +456,6 @@ setup_wdt:
+
+ unreg_mem_region:
+ release_mem_region(tcobase_phys, SP5100_WDT_MEM_MAP_SIZE);
+-unreg_resource:
+- if (resbase_phys)
+- release_resource(&wdt_res);
+ unreg_region:
+ release_region(pm_iobase, SP5100_PM_IOPORTS_SIZE);
+ exit:
+@@ -567,7 +465,6 @@ exit:
+ static int sp5100_tco_init(struct platform_device *dev)
+ {
+ int ret;
+- char addr_str[16];
+
+ /*
+ * Check whether or not the hardware watchdog is there. If found, then
+@@ -599,23 +496,14 @@ static int sp5100_tco_init(struct platform_device *dev)
+ clear_bit(0, &timer_alive);
+
+ /* Show module parameters */
+- if (force_addr == tcobase_phys)
+- /* The force_addr is vaild */
+- sprintf(addr_str, "0x%04x", force_addr);
+- else
+- strcpy(addr_str, "none");
+-
+- pr_info("initialized (0x%p). heartbeat=%d sec (nowayout=%d, "
+- "force_addr=%s)\n",
+- tcobase, heartbeat, nowayout, addr_str);
++ pr_info("initialized (0x%p). heartbeat=%d sec (nowayout=%d)\n",
++ tcobase, heartbeat, nowayout);
+
+ return 0;
+
+ exit:
+ iounmap(tcobase);
+ release_mem_region(tcobase_phys, SP5100_WDT_MEM_MAP_SIZE);
+- if (resbase_phys)
+- release_resource(&wdt_res);
+ release_region(pm_iobase, SP5100_PM_IOPORTS_SIZE);
+ return ret;
+ }
+@@ -630,8 +518,6 @@ static void sp5100_tco_cleanup(void)
+ misc_deregister(&sp5100_tco_miscdev);
+ iounmap(tcobase);
+ release_mem_region(tcobase_phys, SP5100_WDT_MEM_MAP_SIZE);
+- if (resbase_phys)
+- release_resource(&wdt_res);
+ release_region(pm_iobase, SP5100_PM_IOPORTS_SIZE);
+ }
+
+diff --git a/drivers/watchdog/sp5100_tco.h b/drivers/watchdog/sp5100_tco.h
+index 71594a0..2b28c00 100644
+--- a/drivers/watchdog/sp5100_tco.h
++++ b/drivers/watchdog/sp5100_tco.h
+@@ -57,7 +57,7 @@
+ #define SB800_PM_WATCHDOG_DISABLE (1 << 2)
+ #define SB800_PM_WATCHDOG_SECOND_RES (3 << 0)
+ #define SB800_ACPI_MMIO_DECODE_EN (1 << 0)
+-#define SB800_ACPI_MMIO_SEL (1 << 2)
++#define SB800_ACPI_MMIO_SEL (1 << 1)
+
+
+ #define SB800_PM_WDT_MMIO_OFFSET 0xB00
+diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c
+index cfd1ce3..1d36db1 100644
+--- a/fs/cifs/asn1.c
++++ b/fs/cifs/asn1.c
+@@ -614,53 +614,10 @@ decode_negTokenInit(unsigned char *security_blob, int length,
+ }
+ }
+
+- /* mechlistMIC */
+- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
+- /* Check if we have reached the end of the blob, but with
+- no mechListMic (e.g. NTLMSSP instead of KRB5) */
+- if (ctx.error == ASN1_ERR_DEC_EMPTY)
+- goto decode_negtoken_exit;
+- cFYI(1, "Error decoding last part negTokenInit exit3");
+- return 0;
+- } else if ((cls != ASN1_CTX) || (con != ASN1_CON)) {
+- /* tag = 3 indicating mechListMIC */
+- cFYI(1, "Exit 4 cls = %d con = %d tag = %d end = %p (%d)",
+- cls, con, tag, end, *end);
+- return 0;
+- }
+-
+- /* sequence */
+- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
+- cFYI(1, "Error decoding last part negTokenInit exit5");
+- return 0;
+- } else if ((cls != ASN1_UNI) || (con != ASN1_CON)
+- || (tag != ASN1_SEQ)) {
+- cFYI(1, "cls = %d con = %d tag = %d end = %p (%d)",
+- cls, con, tag, end, *end);
+- }
+-
+- /* sequence of */
+- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
+- cFYI(1, "Error decoding last part negTokenInit exit 7");
+- return 0;
+- } else if ((cls != ASN1_CTX) || (con != ASN1_CON)) {
+- cFYI(1, "Exit 8 cls = %d con = %d tag = %d end = %p (%d)",
+- cls, con, tag, end, *end);
+- return 0;
+- }
+-
+- /* general string */
+- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
+- cFYI(1, "Error decoding last part negTokenInit exit9");
+- return 0;
+- } else if ((cls != ASN1_UNI) || (con != ASN1_PRI)
+- || (tag != ASN1_GENSTR)) {
+- cFYI(1, "Exit10 cls = %d con = %d tag = %d end = %p (%d)",
+- cls, con, tag, end, *end);
+- return 0;
+- }
+- cFYI(1, "Need to call asn1_octets_decode() function for %s",
+- ctx.pointer); /* is this UTF-8 or ASCII? */
+-decode_negtoken_exit:
++ /*
++ * We currently ignore anything at the end of the SPNEGO blob after
++ * the mechTypes have been parsed, since none of that info is
++ * used at the moment.
++ */
+ return 1;
+ }
+diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
+index e328339..b9db388 100644
+--- a/fs/cifs/cifsfs.c
++++ b/fs/cifs/cifsfs.c
+@@ -91,6 +91,30 @@ struct workqueue_struct *cifsiod_wq;
+ __u8 cifs_client_guid[SMB2_CLIENT_GUID_SIZE];
+ #endif
+
++/*
++ * Bumps refcount for cifs super block.
++ * Note that it should be only called if a referece to VFS super block is
++ * already held, e.g. in open-type syscalls context. Otherwise it can race with
++ * atomic_dec_and_test in deactivate_locked_super.
++ */
++void
++cifs_sb_active(struct super_block *sb)
++{
++ struct cifs_sb_info *server = CIFS_SB(sb);
++
++ if (atomic_inc_return(&server->active) == 1)
++ atomic_inc(&sb->s_active);
++}
++
++void
++cifs_sb_deactive(struct super_block *sb)
++{
++ struct cifs_sb_info *server = CIFS_SB(sb);
++
++ if (atomic_dec_and_test(&server->active))
++ deactivate_super(sb);
++}
++
+ static int
+ cifs_read_super(struct super_block *sb)
+ {
+diff --git a/fs/cifs/cifsfs.h b/fs/cifs/cifsfs.h
+index 7163419..0e32c34 100644
+--- a/fs/cifs/cifsfs.h
++++ b/fs/cifs/cifsfs.h
+@@ -41,6 +41,10 @@ extern struct file_system_type cifs_fs_type;
+ extern const struct address_space_operations cifs_addr_ops;
+ extern const struct address_space_operations cifs_addr_ops_smallbuf;
+
++/* Functions related to super block operations */
++extern void cifs_sb_active(struct super_block *sb);
++extern void cifs_sb_deactive(struct super_block *sb);
++
+ /* Functions related to inodes */
+ extern const struct inode_operations cifs_dir_inode_ops;
+ extern struct inode *cifs_root_iget(struct super_block *);
+diff --git a/fs/cifs/file.c b/fs/cifs/file.c
+index 8ea6ca5..1d93ee8 100644
+--- a/fs/cifs/file.c
++++ b/fs/cifs/file.c
+@@ -294,6 +294,8 @@ cifs_new_fileinfo(struct cifs_fid *fid, struct file *file,
+ INIT_WORK(&cfile->oplock_break, cifs_oplock_break);
+ mutex_init(&cfile->fh_mutex);
+
++ cifs_sb_active(inode->i_sb);
++
+ /*
+ * If the server returned a read oplock and we have mandatory brlocks,
+ * set oplock level to None.
+@@ -343,7 +345,8 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file)
+ struct cifs_tcon *tcon = tlink_tcon(cifs_file->tlink);
+ struct TCP_Server_Info *server = tcon->ses->server;
+ struct cifsInodeInfo *cifsi = CIFS_I(inode);
+- struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb);
++ struct super_block *sb = inode->i_sb;
++ struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
+ struct cifsLockInfo *li, *tmp;
+ struct cifs_fid fid;
+ struct cifs_pending_open open;
+@@ -408,6 +411,7 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file)
+
+ cifs_put_tlink(cifs_file->tlink);
+ dput(cifs_file->dentry);
++ cifs_sb_deactive(sb);
+ kfree(cifs_file);
+ }
+
+diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
+index 8462eb3..bbcd6a0 100644
+--- a/fs/ext4/ext4.h
++++ b/fs/ext4/ext4.h
+@@ -338,9 +338,9 @@ struct ext4_group_desc
+ */
+
+ struct flex_groups {
+- atomic_t free_inodes;
+- atomic_t free_clusters;
+- atomic_t used_dirs;
++ atomic64_t free_clusters;
++ atomic_t free_inodes;
++ atomic_t used_dirs;
+ };
+
+ #define EXT4_BG_INODE_UNINIT 0x0001 /* Inode table/bitmap not in use */
+diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
+index d42a8c4..4d315a0 100644
+--- a/fs/ext4/extents.c
++++ b/fs/ext4/extents.c
+@@ -3089,6 +3089,7 @@ static int ext4_split_extent(handle_t *handle,
+ int err = 0;
+ int uninitialized;
+ int split_flag1, flags1;
++ int allocated = map->m_len;
+
+ depth = ext_depth(inode);
+ ex = path[depth].p_ext;
+@@ -3108,6 +3109,8 @@ static int ext4_split_extent(handle_t *handle,
+ map->m_lblk + map->m_len, split_flag1, flags1);
+ if (err)
+ goto out;
++ } else {
++ allocated = ee_len - (map->m_lblk - ee_block);
+ }
+
+ ext4_ext_drop_refs(path);
+@@ -3130,7 +3133,7 @@ static int ext4_split_extent(handle_t *handle,
+
+ ext4_ext_show_leaf(inode, path);
+ out:
+- return err ? err : map->m_len;
++ return err ? err : allocated;
+ }
+
+ /*
+@@ -3275,7 +3278,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle,
+
+ if (EXT4_EXT_MAY_ZEROOUT & split_flag)
+ max_zeroout = sbi->s_extent_max_zeroout_kb >>
+- inode->i_sb->s_blocksize_bits;
++ (inode->i_sb->s_blocksize_bits - 10);
+
+ /* If extent is less than s_max_zeroout_kb, zeroout directly */
+ if (max_zeroout && (ee_len <= max_zeroout)) {
+@@ -3720,6 +3723,7 @@ out:
+ allocated - map->m_len);
+ allocated = map->m_len;
+ }
++ map->m_len = allocated;
+
+ /*
+ * If we have done fallocate with the offset that is already
+diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
+index 3f32c80..ec2909e 100644
+--- a/fs/ext4/ialloc.c
++++ b/fs/ext4/ialloc.c
+@@ -324,8 +324,8 @@ error_return:
+ }
+
+ struct orlov_stats {
++ __u64 free_clusters;
+ __u32 free_inodes;
+- __u32 free_clusters;
+ __u32 used_dirs;
+ };
+
+@@ -342,7 +342,7 @@ static void get_orlov_stats(struct super_block *sb, ext4_group_t g,
+
+ if (flex_size > 1) {
+ stats->free_inodes = atomic_read(&flex_group[g].free_inodes);
+- stats->free_clusters = atomic_read(&flex_group[g].free_clusters);
++ stats->free_clusters = atomic64_read(&flex_group[g].free_clusters);
+ stats->used_dirs = atomic_read(&flex_group[g].used_dirs);
+ return;
+ }
+diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
+index 39f1fa7..22c5c67 100644
+--- a/fs/ext4/inode.c
++++ b/fs/ext4/inode.c
+@@ -211,7 +211,8 @@ void ext4_evict_inode(struct inode *inode)
+ * don't use page cache.
+ */
+ if (ext4_should_journal_data(inode) &&
+- (S_ISLNK(inode->i_mode) || S_ISREG(inode->i_mode))) {
++ (S_ISLNK(inode->i_mode) || S_ISREG(inode->i_mode)) &&
++ inode->i_ino != EXT4_JOURNAL_INO) {
+ journal_t *journal = EXT4_SB(inode->i_sb)->s_journal;
+ tid_t commit_tid = EXT4_I(inode)->i_datasync_tid;
+
+diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
+index 28bbf9b..82f8c2d 100644
+--- a/fs/ext4/mballoc.c
++++ b/fs/ext4/mballoc.c
+@@ -2829,8 +2829,8 @@ ext4_mb_mark_diskspace_used(struct ext4_allocation_context *ac,
+ if (sbi->s_log_groups_per_flex) {
+ ext4_group_t flex_group = ext4_flex_group(sbi,
+ ac->ac_b_ex.fe_group);
+- atomic_sub(ac->ac_b_ex.fe_len,
+- &sbi->s_flex_groups[flex_group].free_clusters);
++ atomic64_sub(ac->ac_b_ex.fe_len,
++ &sbi->s_flex_groups[flex_group].free_clusters);
+ }
+
+ err = ext4_handle_dirty_metadata(handle, NULL, bitmap_bh);
+@@ -4691,8 +4691,8 @@ do_more:
+
+ if (sbi->s_log_groups_per_flex) {
+ ext4_group_t flex_group = ext4_flex_group(sbi, block_group);
+- atomic_add(count_clusters,
+- &sbi->s_flex_groups[flex_group].free_clusters);
++ atomic64_add(count_clusters,
++ &sbi->s_flex_groups[flex_group].free_clusters);
+ }
+
+ ext4_mb_unload_buddy(&e4b);
+@@ -4836,8 +4836,8 @@ int ext4_group_add_blocks(handle_t *handle, struct super_block *sb,
+
+ if (sbi->s_log_groups_per_flex) {
+ ext4_group_t flex_group = ext4_flex_group(sbi, block_group);
+- atomic_add(EXT4_NUM_B2C(sbi, blocks_freed),
+- &sbi->s_flex_groups[flex_group].free_clusters);
++ atomic64_add(EXT4_NUM_B2C(sbi, blocks_freed),
++ &sbi->s_flex_groups[flex_group].free_clusters);
+ }
+
+ ext4_mb_unload_buddy(&e4b);
+diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
+index 1aab70d..9eace36 100644
+--- a/fs/ext4/resize.c
++++ b/fs/ext4/resize.c
+@@ -1360,8 +1360,8 @@ static void ext4_update_super(struct super_block *sb,
+ sbi->s_log_groups_per_flex) {
+ ext4_group_t flex_group;
+ flex_group = ext4_flex_group(sbi, group_data[0].group);
+- atomic_add(EXT4_NUM_B2C(sbi, free_blocks),
+- &sbi->s_flex_groups[flex_group].free_clusters);
++ atomic64_add(EXT4_NUM_B2C(sbi, free_blocks),
++ &sbi->s_flex_groups[flex_group].free_clusters);
+ atomic_add(EXT4_INODES_PER_GROUP(sb) * flex_gd->count,
+ &sbi->s_flex_groups[flex_group].free_inodes);
+ }
+diff --git a/fs/ext4/super.c b/fs/ext4/super.c
+index 5fa223d..24c767d 100644
+--- a/fs/ext4/super.c
++++ b/fs/ext4/super.c
+@@ -1979,8 +1979,8 @@ static int ext4_fill_flex_info(struct super_block *sb)
+ flex_group = ext4_flex_group(sbi, i);
+ atomic_add(ext4_free_inodes_count(sb, gdp),
+ &sbi->s_flex_groups[flex_group].free_inodes);
+- atomic_add(ext4_free_group_clusters(sb, gdp),
+- &sbi->s_flex_groups[flex_group].free_clusters);
++ atomic64_add(ext4_free_group_clusters(sb, gdp),
++ &sbi->s_flex_groups[flex_group].free_clusters);
+ atomic_add(ext4_used_dirs_count(sb, gdp),
+ &sbi->s_flex_groups[flex_group].used_dirs);
+ }
+diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
+index df9f297..73b9253 100644
+--- a/fs/jbd2/transaction.c
++++ b/fs/jbd2/transaction.c
+@@ -1047,9 +1047,12 @@ out:
+ void jbd2_journal_set_triggers(struct buffer_head *bh,
+ struct jbd2_buffer_trigger_type *type)
+ {
+- struct journal_head *jh = bh2jh(bh);
++ struct journal_head *jh = jbd2_journal_grab_journal_head(bh);
+
++ if (WARN_ON(!jh))
++ return;
+ jh->b_triggers = type;
++ jbd2_journal_put_journal_head(jh);
+ }
+
+ void jbd2_buffer_frozen_trigger(struct journal_head *jh, void *mapped_data,
+@@ -1101,17 +1104,18 @@ int jbd2_journal_dirty_metadata(handle_t *handle, struct buffer_head *bh)
+ {
+ transaction_t *transaction = handle->h_transaction;
+ journal_t *journal = transaction->t_journal;
+- struct journal_head *jh = bh2jh(bh);
++ struct journal_head *jh;
+ int ret = 0;
+
+- jbd_debug(5, "journal_head %p\n", jh);
+- JBUFFER_TRACE(jh, "entry");
+ if (is_handle_aborted(handle))
+ goto out;
+- if (!buffer_jbd(bh)) {
++ jh = jbd2_journal_grab_journal_head(bh);
++ if (!jh) {
+ ret = -EUCLEAN;
+ goto out;
+ }
++ jbd_debug(5, "journal_head %p\n", jh);
++ JBUFFER_TRACE(jh, "entry");
+
+ jbd_lock_bh_state(bh);
+
+@@ -1202,6 +1206,7 @@ int jbd2_journal_dirty_metadata(handle_t *handle, struct buffer_head *bh)
+ spin_unlock(&journal->j_list_lock);
+ out_unlock_bh:
+ jbd_unlock_bh_state(bh);
++ jbd2_journal_put_journal_head(jh);
+ out:
+ JBUFFER_TRACE(jh, "exit");
+ WARN_ON(ret); /* All errors are bugs, so dump the stack */
+diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
+index d586117..69c6413 100644
+--- a/fs/nfsd/vfs.c
++++ b/fs/nfsd/vfs.c
+@@ -1013,6 +1013,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
+ int host_err;
+ int stable = *stablep;
+ int use_wgather;
++ loff_t pos = offset;
+
+ dentry = file->f_path.dentry;
+ inode = dentry->d_inode;
+@@ -1025,7 +1026,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
+
+ /* Write the data. */
+ oldfs = get_fs(); set_fs(KERNEL_DS);
+- host_err = vfs_writev(file, (struct iovec __user *)vec, vlen, &offset);
++ host_err = vfs_writev(file, (struct iovec __user *)vec, vlen, &pos);
+ set_fs(oldfs);
+ if (host_err < 0)
+ goto out_nfserr;
+diff --git a/fs/proc/generic.c b/fs/proc/generic.c
+index 76ddae8..b796da2 100644
+--- a/fs/proc/generic.c
++++ b/fs/proc/generic.c
+@@ -412,8 +412,7 @@ static const struct dentry_operations proc_dentry_operations =
+ struct dentry *proc_lookup_de(struct proc_dir_entry *de, struct inode *dir,
+ struct dentry *dentry)
+ {
+- struct inode *inode = NULL;
+- int error = -ENOENT;
++ struct inode *inode;
+
+ spin_lock(&proc_subdir_lock);
+ for (de = de->subdir; de ; de = de->next) {
+@@ -422,22 +421,16 @@ struct dentry *proc_lookup_de(struct proc_dir_entry *de, struct inode *dir,
+ if (!memcmp(dentry->d_name.name, de->name, de->namelen)) {
+ pde_get(de);
+ spin_unlock(&proc_subdir_lock);
+- error = -ENOMEM;
+ inode = proc_get_inode(dir->i_sb, de);
+- goto out_unlock;
++ if (!inode)
++ return ERR_PTR(-ENOMEM);
++ d_set_d_op(dentry, &proc_dentry_operations);
++ d_add(dentry, inode);
++ return NULL;
+ }
+ }
+ spin_unlock(&proc_subdir_lock);
+-out_unlock:
+-
+- if (inode) {
+- d_set_d_op(dentry, &proc_dentry_operations);
+- d_add(dentry, inode);
+- return NULL;
+- }
+- if (de)
+- pde_put(de);
+- return ERR_PTR(error);
++ return ERR_PTR(-ENOENT);
+ }
+
+ struct dentry *proc_lookup(struct inode *dir, struct dentry *dentry,
+diff --git a/fs/proc/inode.c b/fs/proc/inode.c
+index 439ae688..0ac1e1b 100644
+--- a/fs/proc/inode.c
++++ b/fs/proc/inode.c
+@@ -445,12 +445,10 @@ static const struct file_operations proc_reg_file_ops_no_compat = {
+
+ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
+ {
+- struct inode * inode;
++ struct inode *inode = new_inode_pseudo(sb);
+
+- inode = iget_locked(sb, de->low_ino);
+- if (!inode)
+- return NULL;
+- if (inode->i_state & I_NEW) {
++ if (inode) {
++ inode->i_ino = de->low_ino;
+ inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
+ PROC_I(inode)->pde = de;
+
+@@ -478,11 +476,10 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
+ inode->i_fop = de->proc_fops;
+ }
+ }
+- unlock_new_inode(inode);
+ } else
+ pde_put(de);
+ return inode;
+-}
++}
+
+ int proc_fill_super(struct super_block *s)
+ {
+@@ -499,6 +496,5 @@ int proc_fill_super(struct super_block *s)
+ return 0;
+
+ printk("proc_read_super: get root inode failed\n");
+- pde_put(&proc_root);
+ return -ENOMEM;
+ }
+diff --git a/fs/udf/udf_sb.h b/fs/udf/udf_sb.h
+index 5f02722..8d1c9d4 100644
+--- a/fs/udf/udf_sb.h
++++ b/fs/udf/udf_sb.h
+@@ -82,7 +82,7 @@ struct udf_virtual_data {
+ struct udf_bitmap {
+ __u32 s_extLength;
+ __u32 s_extPosition;
+- __u16 s_nr_groups;
++ int s_nr_groups;
+ struct buffer_head **s_block_bitmap;
+ };
+
+diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h
+index c5c35e6..1cdbfe9 100644
+--- a/include/drm/drm_pciids.h
++++ b/include/drm/drm_pciids.h
+@@ -568,7 +568,11 @@
+ {0x1002, 0x9908, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+ {0x1002, 0x9909, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+ {0x1002, 0x990A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+- {0x1002, 0x990F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x990B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x990C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x990D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x990E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x990F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+ {0x1002, 0x9910, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+ {0x1002, 0x9913, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+ {0x1002, 0x9917, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+@@ -579,6 +583,13 @@
+ {0x1002, 0x9992, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+ {0x1002, 0x9993, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+ {0x1002, 0x9994, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x9995, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x9996, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x9997, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x9998, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x9999, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x999A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++ {0x1002, 0x999B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+ {0x1002, 0x99A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+ {0x1002, 0x99A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+ {0x1002, 0x99A4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
+diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
+index 320e976..98399e2 100644
+--- a/include/linux/skbuff.h
++++ b/include/linux/skbuff.h
+@@ -491,7 +491,7 @@ struct sk_buff {
+ union {
+ __u32 mark;
+ __u32 dropcount;
+- __u32 avail_size;
++ __u32 reserved_tailroom;
+ };
+
+ sk_buff_data_t inner_transport_header;
+@@ -1269,11 +1269,13 @@ static inline void __skb_fill_page_desc(struct sk_buff *skb, int i,
+ * do not lose pfmemalloc information as the pages would not be
+ * allocated using __GFP_MEMALLOC.
+ */
+- if (page->pfmemalloc && !page->mapping)
+- skb->pfmemalloc = true;
+ frag->page.p = page;
+ frag->page_offset = off;
+ skb_frag_size_set(frag, size);
++
++ page = compound_head(page);
++ if (page->pfmemalloc && !page->mapping)
++ skb->pfmemalloc = true;
+ }
+
+ /**
+@@ -1428,7 +1430,10 @@ static inline int skb_tailroom(const struct sk_buff *skb)
+ */
+ static inline int skb_availroom(const struct sk_buff *skb)
+ {
+- return skb_is_nonlinear(skb) ? 0 : skb->avail_size - skb->len;
++ if (skb_is_nonlinear(skb))
++ return 0;
++
++ return skb->end - skb->tail - skb->reserved_tailroom;
+ }
+
+ /**
+diff --git a/include/linux/usb/cdc_ncm.h b/include/linux/usb/cdc_ncm.h
+index 3b8f9d4..cc25b70 100644
+--- a/include/linux/usb/cdc_ncm.h
++++ b/include/linux/usb/cdc_ncm.h
+@@ -127,6 +127,7 @@ struct cdc_ncm_ctx {
+ u16 connected;
+ };
+
++extern u8 cdc_ncm_select_altsetting(struct usbnet *dev, struct usb_interface *intf);
+ extern int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_altsetting);
+ extern void cdc_ncm_unbind(struct usbnet *dev, struct usb_interface *intf);
+ extern struct sk_buff *cdc_ncm_fill_tx_frame(struct cdc_ncm_ctx *ctx, struct sk_buff *skb, __le32 sign);
+diff --git a/include/net/inet_frag.h b/include/net/inet_frag.h
+index 32786a0..2ab2e43 100644
+--- a/include/net/inet_frag.h
++++ b/include/net/inet_frag.h
+@@ -35,6 +35,13 @@ struct inet_frag_queue {
+
+ #define INETFRAGS_HASHSZ 64
+
++/* averaged:
++ * max_depth = default ipfrag_high_thresh / INETFRAGS_HASHSZ /
++ * rounded up (SKB_TRUELEN(0) + sizeof(struct ipq or
++ * struct frag_queue))
++ */
++#define INETFRAGS_MAXDEPTH 128
++
+ struct inet_frags {
+ struct hlist_head hash[INETFRAGS_HASHSZ];
+ rwlock_t lock;
+@@ -65,6 +72,8 @@ int inet_frag_evictor(struct netns_frags *nf, struct inet_frags *f, bool force);
+ struct inet_frag_queue *inet_frag_find(struct netns_frags *nf,
+ struct inet_frags *f, void *key, unsigned int hash)
+ __releases(&f->lock);
++void inet_frag_maybe_warn_overflow(struct inet_frag_queue *q,
++ const char *prefix);
+
+ static inline void inet_frag_put(struct inet_frag_queue *q, struct inet_frags *f)
+ {
+diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h
+index 9497be1..e49db91 100644
+--- a/include/net/ip_fib.h
++++ b/include/net/ip_fib.h
+@@ -152,18 +152,16 @@ struct fib_result_nl {
+ };
+
+ #ifdef CONFIG_IP_ROUTE_MULTIPATH
+-
+ #define FIB_RES_NH(res) ((res).fi->fib_nh[(res).nh_sel])
+-
+-#define FIB_TABLE_HASHSZ 2
+-
+ #else /* CONFIG_IP_ROUTE_MULTIPATH */
+-
+ #define FIB_RES_NH(res) ((res).fi->fib_nh[0])
++#endif /* CONFIG_IP_ROUTE_MULTIPATH */
+
++#ifdef CONFIG_IP_MULTIPLE_TABLES
+ #define FIB_TABLE_HASHSZ 256
+-
+-#endif /* CONFIG_IP_ROUTE_MULTIPATH */
++#else
++#define FIB_TABLE_HASHSZ 2
++#endif
+
+ extern __be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh);
+
+diff --git a/ipc/mqueue.c b/ipc/mqueue.c
+index 71a3ca1..6ebfbf5 100644
+--- a/ipc/mqueue.c
++++ b/ipc/mqueue.c
+@@ -840,7 +840,8 @@ out_putfd:
+ fd = error;
+ }
+ mutex_unlock(&root->d_inode->i_mutex);
+- mnt_drop_write(mnt);
++ if (!ro)
++ mnt_drop_write(mnt);
+ out_putname:
+ putname(name);
+ return fd;
+diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
+index f113755..a13987a 100644
+--- a/kernel/time/tick-broadcast.c
++++ b/kernel/time/tick-broadcast.c
+@@ -66,7 +66,8 @@ static void tick_broadcast_start_periodic(struct clock_event_device *bc)
+ */
+ int tick_check_broadcast_device(struct clock_event_device *dev)
+ {
+- if ((tick_broadcast_device.evtdev &&
++ if ((dev->features & CLOCK_EVT_FEAT_DUMMY) ||
++ (tick_broadcast_device.evtdev &&
+ tick_broadcast_device.evtdev->rating >= dev->rating) ||
+ (dev->features & CLOCK_EVT_FEAT_C3STOP))
+ return 0;
+diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
+index 43defd1..b27052c 100644
+--- a/kernel/trace/ftrace.c
++++ b/kernel/trace/ftrace.c
+@@ -3082,8 +3082,8 @@ __unregister_ftrace_function_probe(char *glob, struct ftrace_probe_ops *ops,
+ continue;
+ }
+
+- hlist_del(&entry->node);
+- call_rcu(&entry->rcu, ftrace_free_entry_rcu);
++ hlist_del_rcu(&entry->node);
++ call_rcu_sched(&entry->rcu, ftrace_free_entry_rcu);
+ }
+ }
+ __disable_ftrace_function_probe();
+diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
+index 3c13e46..2ffbc24 100644
+--- a/kernel/trace/trace.c
++++ b/kernel/trace/trace.c
+@@ -703,7 +703,7 @@ __update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu)
+ void
+ update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu)
+ {
+- struct ring_buffer *buf = tr->buffer;
++ struct ring_buffer *buf;
+
+ if (trace_stop_count)
+ return;
+@@ -715,6 +715,7 @@ update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu)
+ }
+ arch_spin_lock(&ftrace_max_lock);
+
++ buf = tr->buffer;
+ tr->buffer = max_tr.buffer;
+ max_tr.buffer = buf;
+
+@@ -2849,8 +2850,12 @@ static void set_tracer_flags(unsigned int mask, int enabled)
+ if (mask == TRACE_ITER_RECORD_CMD)
+ trace_event_enable_cmd_record(enabled);
+
+- if (mask == TRACE_ITER_OVERWRITE)
++ if (mask == TRACE_ITER_OVERWRITE) {
+ ring_buffer_change_overwrite(global_trace.buffer, enabled);
++#ifdef CONFIG_TRACER_MAX_TRACE
++ ring_buffer_change_overwrite(max_tr.buffer, enabled);
++#endif
++ }
+
+ if (mask == TRACE_ITER_PRINTK)
+ trace_printk_start_stop_comm(enabled);
+@@ -2870,6 +2875,8 @@ static int trace_set_options(char *option)
+ cmp += 2;
+ }
+
++ mutex_lock(&trace_types_lock);
++
+ for (i = 0; trace_options[i]; i++) {
+ if (strcmp(cmp, trace_options[i]) == 0) {
+ set_tracer_flags(1 << i, !neg);
+@@ -2878,11 +2885,10 @@ static int trace_set_options(char *option)
+ }
+
+ /* If no option could be set, test the specific tracer options */
+- if (!trace_options[i]) {
+- mutex_lock(&trace_types_lock);
++ if (!trace_options[i])
+ ret = set_tracer_option(current_trace, cmp, neg);
+- mutex_unlock(&trace_types_lock);
+- }
++
++ mutex_unlock(&trace_types_lock);
+
+ return ret;
+ }
+@@ -4640,7 +4646,10 @@ trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt,
+
+ if (val != 0 && val != 1)
+ return -EINVAL;
++
++ mutex_lock(&trace_types_lock);
+ set_tracer_flags(1 << index, val);
++ mutex_unlock(&trace_types_lock);
+
+ *ppos += cnt;
+
+diff --git a/mm/hugetlb.c b/mm/hugetlb.c
+index 546db81..d7cec92 100644
+--- a/mm/hugetlb.c
++++ b/mm/hugetlb.c
+@@ -2127,8 +2127,12 @@ int hugetlb_report_node_meminfo(int nid, char *buf)
+ /* Return the number pages of memory we physically have, in PAGE_SIZE units. */
+ unsigned long hugetlb_total_pages(void)
+ {
+- struct hstate *h = &default_hstate;
+- return h->nr_huge_pages * pages_per_huge_page(h);
++ struct hstate *h;
++ unsigned long nr_total_pages = 0;
++
++ for_each_hstate(h)
++ nr_total_pages += h->nr_huge_pages * pages_per_huge_page(h);
++ return nr_total_pages;
+ }
+
+ static int hugetlb_acct_memory(struct hstate *h, long delta)
+diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
+index 7d02ebd..1ee94d0 100644
+--- a/net/batman-adv/bat_iv_ogm.c
++++ b/net/batman-adv/bat_iv_ogm.c
+@@ -1298,7 +1298,8 @@ static int batadv_iv_ogm_receive(struct sk_buff *skb,
+ batadv_ogm_packet = (struct batadv_ogm_packet *)packet_buff;
+
+ /* unpack the aggregated packets and process them one by one */
+- do {
++ while (batadv_iv_ogm_aggr_packet(buff_pos, packet_len,
++ batadv_ogm_packet->tt_num_changes)) {
+ tt_buff = packet_buff + buff_pos + BATADV_OGM_HLEN;
+
+ batadv_iv_ogm_process(ethhdr, batadv_ogm_packet, tt_buff,
+@@ -1309,8 +1310,7 @@ static int batadv_iv_ogm_receive(struct sk_buff *skb,
+
+ packet_pos = packet_buff + buff_pos;
+ batadv_ogm_packet = (struct batadv_ogm_packet *)packet_pos;
+- } while (batadv_iv_ogm_aggr_packet(buff_pos, packet_len,
+- batadv_ogm_packet->tt_num_changes));
++ }
+
+ kfree_skb(skb);
+ return NET_RX_SUCCESS;
+diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
+index 5dc66ab..580e176 100644
+--- a/net/bridge/br_netlink.c
++++ b/net/bridge/br_netlink.c
+@@ -28,6 +28,7 @@ static inline size_t br_port_info_size(void)
+ + nla_total_size(1) /* IFLA_BRPORT_MODE */
+ + nla_total_size(1) /* IFLA_BRPORT_GUARD */
+ + nla_total_size(1) /* IFLA_BRPORT_PROTECT */
++ + nla_total_size(1) /* IFLA_BRPORT_FAST_LEAVE */
+ + 0;
+ }
+
+diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
+index 798f920..6212ec9 100644
+--- a/net/core/rtnetlink.c
++++ b/net/core/rtnetlink.c
+@@ -2539,7 +2539,7 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
+ struct rtattr *attr = (void *)nlh + NLMSG_ALIGN(min_len);
+
+ while (RTA_OK(attr, attrlen)) {
+- unsigned int flavor = attr->rta_type;
++ unsigned int flavor = attr->rta_type & NLA_TYPE_MASK;
+ if (flavor) {
+ if (flavor > rta_max[sz_idx])
+ return -EINVAL;
+diff --git a/net/ipv4/inet_fragment.c b/net/ipv4/inet_fragment.c
+index 4750d2b..03f5af7 100644
+--- a/net/ipv4/inet_fragment.c
++++ b/net/ipv4/inet_fragment.c
+@@ -21,6 +21,7 @@
+ #include <linux/rtnetlink.h>
+ #include <linux/slab.h>
+
++#include <net/sock.h>
+ #include <net/inet_frag.h>
+
+ static void inet_frag_secret_rebuild(unsigned long dummy)
+@@ -276,6 +277,7 @@ struct inet_frag_queue *inet_frag_find(struct netns_frags *nf,
+ {
+ struct inet_frag_queue *q;
+ struct hlist_node *n;
++ int depth = 0;
+
+ hlist_for_each_entry(q, n, &f->hash[hash], list) {
+ if (q->net == nf && f->match(q, key)) {
+@@ -283,9 +285,25 @@ struct inet_frag_queue *inet_frag_find(struct netns_frags *nf,
+ read_unlock(&f->lock);
+ return q;
+ }
++ depth++;
+ }
+ read_unlock(&f->lock);
+
+- return inet_frag_create(nf, f, key);
++ if (depth <= INETFRAGS_MAXDEPTH)
++ return inet_frag_create(nf, f, key);
++ else
++ return ERR_PTR(-ENOBUFS);
+ }
+ EXPORT_SYMBOL(inet_frag_find);
++
++void inet_frag_maybe_warn_overflow(struct inet_frag_queue *q,
++ const char *prefix)
++{
++ static const char msg[] = "inet_frag_find: Fragment hash bucket"
++ " list length grew over limit " __stringify(INETFRAGS_MAXDEPTH)
++ ". Dropping fragment.\n";
++
++ if (PTR_ERR(q) == -ENOBUFS)
++ LIMIT_NETDEBUG(KERN_WARNING "%s%s", prefix, msg);
++}
++EXPORT_SYMBOL(inet_frag_maybe_warn_overflow);
+diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
+index eb9d63a..a8fc332 100644
+--- a/net/ipv4/ip_fragment.c
++++ b/net/ipv4/ip_fragment.c
+@@ -299,14 +299,11 @@ static inline struct ipq *ip_find(struct net *net, struct iphdr *iph, u32 user)
+ hash = ipqhashfn(iph->id, iph->saddr, iph->daddr, iph->protocol);
+
+ q = inet_frag_find(&net->ipv4.frags, &ip4_frags, &arg, hash);
+- if (q == NULL)
+- goto out_nomem;
+-
++ if (IS_ERR_OR_NULL(q)) {
++ inet_frag_maybe_warn_overflow(q, pr_fmt());
++ return NULL;
++ }
+ return container_of(q, struct ipq, q);
+-
+-out_nomem:
+- LIMIT_NETDEBUG(KERN_ERR pr_fmt("ip_frag_create: no memory left !\n"));
+- return NULL;
+ }
+
+ /* Is the fragment too far ahead to be part of ipq? */
+diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
+index e81b1ca..a85062b 100644
+--- a/net/ipv4/ip_gre.c
++++ b/net/ipv4/ip_gre.c
+@@ -761,10 +761,7 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
+
+ if (dev->header_ops && dev->type == ARPHRD_IPGRE) {
+ gre_hlen = 0;
+- if (skb->protocol == htons(ETH_P_IP))
+- tiph = (const struct iphdr *)skb->data;
+- else
+- tiph = &tunnel->parms.iph;
++ tiph = (const struct iphdr *)skb->data;
+ } else {
+ gre_hlen = tunnel->hlen;
+ tiph = &tunnel->parms.iph;
+diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c
+index f6289bf..9100fe0 100644
+--- a/net/ipv4/ip_options.c
++++ b/net/ipv4/ip_options.c
+@@ -370,7 +370,6 @@ int ip_options_compile(struct net *net,
+ }
+ switch (optptr[3]&0xF) {
+ case IPOPT_TS_TSONLY:
+- opt->ts = optptr - iph;
+ if (skb)
+ timeptr = &optptr[optptr[2]-1];
+ opt->ts_needtime = 1;
+@@ -381,7 +380,6 @@ int ip_options_compile(struct net *net,
+ pp_ptr = optptr + 2;
+ goto error;
+ }
+- opt->ts = optptr - iph;
+ if (rt) {
+ spec_dst_fill(&spec_dst, skb);
+ memcpy(&optptr[optptr[2]-1], &spec_dst, 4);
+@@ -396,7 +394,6 @@ int ip_options_compile(struct net *net,
+ pp_ptr = optptr + 2;
+ goto error;
+ }
+- opt->ts = optptr - iph;
+ {
+ __be32 addr;
+ memcpy(&addr, &optptr[optptr[2]-1], 4);
+@@ -429,12 +426,12 @@ int ip_options_compile(struct net *net,
+ pp_ptr = optptr + 3;
+ goto error;
+ }
+- opt->ts = optptr - iph;
+ if (skb) {
+ optptr[3] = (optptr[3]&0xF)|((overflow+1)<<4);
+ opt->is_changed = 1;
+ }
+ }
++ opt->ts = optptr - iph;
+ break;
+ case IPOPT_RA:
+ if (optlen < 4) {
+diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
+index 2aa69c8..45b63ca 100644
+--- a/net/ipv4/tcp.c
++++ b/net/ipv4/tcp.c
+@@ -773,7 +773,7 @@ struct sk_buff *sk_stream_alloc_skb(struct sock *sk, int size, gfp_t gfp)
+ * Make sure that we have exactly size bytes
+ * available to the caller, no more, no less.
+ */
+- skb->avail_size = size;
++ skb->reserved_tailroom = skb->end - skb->tail - size;
+ return skb;
+ }
+ __kfree_skb(skb);
+diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
+index eadb693..d9130a9 100644
+--- a/net/ipv4/tcp_ipv4.c
++++ b/net/ipv4/tcp_ipv4.c
+@@ -274,13 +274,6 @@ static void tcp_v4_mtu_reduced(struct sock *sk)
+ struct inet_sock *inet = inet_sk(sk);
+ u32 mtu = tcp_sk(sk)->mtu_info;
+
+- /* We are not interested in TCP_LISTEN and open_requests (SYN-ACKs
+- * send out by Linux are always <576bytes so they should go through
+- * unfragmented).
+- */
+- if (sk->sk_state == TCP_LISTEN)
+- return;
+-
+ dst = inet_csk_update_pmtu(sk, mtu);
+ if (!dst)
+ return;
+@@ -408,6 +401,13 @@ void tcp_v4_err(struct sk_buff *icmp_skb, u32 info)
+ goto out;
+
+ if (code == ICMP_FRAG_NEEDED) { /* PMTU discovery (RFC1191) */
++ /* We are not interested in TCP_LISTEN and open_requests
++ * (SYN-ACKs send out by Linux are always <576bytes so
++ * they should go through unfragmented).
++ */
++ if (sk->sk_state == TCP_LISTEN)
++ goto out;
++
+ tp->mtu_info = info;
+ if (!sock_owned_by_user(sk)) {
+ tcp_v4_mtu_reduced(sk);
+diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
+index ff031a5..c36c6c2 100644
+--- a/net/ipv4/tcp_output.c
++++ b/net/ipv4/tcp_output.c
+@@ -1298,7 +1298,6 @@ static void __pskb_trim_head(struct sk_buff *skb, int len)
+ eat = min_t(int, len, skb_headlen(skb));
+ if (eat) {
+ __skb_pull(skb, eat);
+- skb->avail_size -= eat;
+ len -= eat;
+ if (!len)
+ return;
+diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c
+index 3dacecc..2f3a018 100644
+--- a/net/ipv6/netfilter/nf_conntrack_reasm.c
++++ b/net/ipv6/netfilter/nf_conntrack_reasm.c
+@@ -14,6 +14,8 @@
+ * 2 of the License, or (at your option) any later version.
+ */
+
++#define pr_fmt(fmt) "IPv6-nf: " fmt
++
+ #include <linux/errno.h>
+ #include <linux/types.h>
+ #include <linux/string.h>
+@@ -180,13 +182,11 @@ static inline struct frag_queue *fq_find(struct net *net, __be32 id,
+
+ q = inet_frag_find(&net->nf_frag.frags, &nf_frags, &arg, hash);
+ local_bh_enable();
+- if (q == NULL)
+- goto oom;
+-
++ if (IS_ERR_OR_NULL(q)) {
++ inet_frag_maybe_warn_overflow(q, pr_fmt());
++ return NULL;
++ }
+ return container_of(q, struct frag_queue, q);
+-
+-oom:
+- return NULL;
+ }
+
+
+diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c
+index e5253ec..d9ba8a2 100644
+--- a/net/ipv6/reassembly.c
++++ b/net/ipv6/reassembly.c
+@@ -26,6 +26,9 @@
+ * YOSHIFUJI,H. @USAGI Always remove fragment header to
+ * calculate ICV correctly.
+ */
++
++#define pr_fmt(fmt) "IPv6: " fmt
++
+ #include <linux/errno.h>
+ #include <linux/types.h>
+ #include <linux/string.h>
+@@ -197,9 +200,10 @@ fq_find(struct net *net, __be32 id, const struct in6_addr *src, const struct in6
+ hash = inet6_hash_frag(id, src, dst, ip6_frags.rnd);
+
+ q = inet_frag_find(&net->ipv6.frags, &ip6_frags, &arg, hash);
+- if (q == NULL)
++ if (IS_ERR_OR_NULL(q)) {
++ inet_frag_maybe_warn_overflow(q, pr_fmt());
+ return NULL;
+-
++ }
+ return container_of(q, struct frag_queue, q);
+ }
+
+diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
+index 4f435371..8d19346 100644
+--- a/net/ipv6/tcp_ipv6.c
++++ b/net/ipv6/tcp_ipv6.c
+@@ -389,6 +389,13 @@ static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
+ }
+
+ if (type == ICMPV6_PKT_TOOBIG) {
++ /* We are not interested in TCP_LISTEN and open_requests
++ * (SYN-ACKs send out by Linux are always <576bytes so
++ * they should go through unfragmented).
++ */
++ if (sk->sk_state == TCP_LISTEN)
++ goto out;
++
+ tp->mtu_info = ntohl(info);
+ if (!sock_owned_by_user(sk))
+ tcp_v6_mtu_reduced(sk);
+diff --git a/net/sctp/associola.c b/net/sctp/associola.c
+index b45ed1f..67c6823 100644
+--- a/net/sctp/associola.c
++++ b/net/sctp/associola.c
+@@ -1080,7 +1080,7 @@ struct sctp_transport *sctp_assoc_lookup_tsn(struct sctp_association *asoc,
+ transports) {
+
+ if (transport == active)
+- break;
++ continue;
+ list_for_each_entry(chunk, &transport->transmitted,
+ transmitted_list) {
+ if (key == chunk->subh.data_hdr->tsn) {
+diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
+index 5131fcf..de1a013 100644
+--- a/net/sctp/sm_statefuns.c
++++ b/net/sctp/sm_statefuns.c
+@@ -2082,7 +2082,7 @@ sctp_disposition_t sctp_sf_do_5_2_4_dupcook(struct net *net,
+ }
+
+ /* Delete the tempory new association. */
+- sctp_add_cmd_sf(commands, SCTP_CMD_NEW_ASOC, SCTP_ASOC(new_asoc));
++ sctp_add_cmd_sf(commands, SCTP_CMD_SET_ASOC, SCTP_ASOC(new_asoc));
+ sctp_add_cmd_sf(commands, SCTP_CMD_DELETE_TCB, SCTP_NULL());
+
+ /* Restore association pointer to provide SCTP command interpeter
+diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
+index 713e9af..e46b6a3 100644
+--- a/sound/pci/hda/hda_codec.c
++++ b/sound/pci/hda/hda_codec.c
+@@ -2967,7 +2967,7 @@ static unsigned int convert_to_spdif_status(unsigned short val)
+ if (val & AC_DIG1_PROFESSIONAL)
+ sbits |= IEC958_AES0_PROFESSIONAL;
+ if (sbits & IEC958_AES0_PROFESSIONAL) {
+- if (sbits & AC_DIG1_EMPHASIS)
++ if (val & AC_DIG1_EMPHASIS)
+ sbits |= IEC958_AES0_PRO_EMPHASIS_5015;
+ } else {
+ if (val & AC_DIG1_EMPHASIS)
+diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
+index 009b77a..09fae16 100644
+--- a/sound/pci/hda/patch_conexant.c
++++ b/sound/pci/hda/patch_conexant.c
+@@ -1175,7 +1175,7 @@ static int patch_cxt5045(struct hda_codec *codec)
+ }
+
+ if (spec->beep_amp)
+- snd_hda_attach_beep_device(codec, spec->beep_amp);
++ snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp));
+
+ return 0;
+ }
+@@ -1954,7 +1954,7 @@ static int patch_cxt5051(struct hda_codec *codec)
+ }
+
+ if (spec->beep_amp)
+- snd_hda_attach_beep_device(codec, spec->beep_amp);
++ snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp));
+
+ return 0;
+ }
+@@ -3136,7 +3136,7 @@ static int patch_cxt5066(struct hda_codec *codec)
+ }
+
+ if (spec->beep_amp)
+- snd_hda_attach_beep_device(codec, spec->beep_amp);
++ snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp));
+
+ return 0;
+ }
+@@ -4576,7 +4576,7 @@ static int patch_conexant_auto(struct hda_codec *codec)
+ spec->capture_stream = &cx_auto_pcm_analog_capture;
+ codec->patch_ops = cx_auto_patch_ops;
+ if (spec->beep_amp)
+- snd_hda_attach_beep_device(codec, spec->beep_amp);
++ snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp));
+
+ /* Some laptops with Conexant chips show stalls in S3 resume,
+ * which falls into the single-cmd mode.
+diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
+index e90daf8..64a564d 100644
+--- a/sound/usb/mixer.c
++++ b/sound/usb/mixer.c
+@@ -715,8 +715,9 @@ static int check_input_term(struct mixer_build *state, int id, struct usb_audio_
+ case UAC2_CLOCK_SELECTOR: {
+ struct uac_selector_unit_descriptor *d = p1;
+ /* call recursively to retrieve the channel info */
+- if (check_input_term(state, d->baSourceID[0], term) < 0)
+- return -ENODEV;
++ err = check_input_term(state, d->baSourceID[0], term);
++ if (err < 0)
++ return err;
+ term->type = d->bDescriptorSubtype << 16; /* virtual type */
+ term->id = id;
+ term->name = uac_selector_unit_iSelector(d);
+@@ -725,7 +726,8 @@ static int check_input_term(struct mixer_build *state, int id, struct usb_audio_
+ case UAC1_PROCESSING_UNIT:
+ case UAC1_EXTENSION_UNIT:
+ /* UAC2_PROCESSING_UNIT_V2 */
+- /* UAC2_EFFECT_UNIT */ {
++ /* UAC2_EFFECT_UNIT */
++ case UAC2_EXTENSION_UNIT_V2: {
+ struct uac_processing_unit_descriptor *d = p1;
+
+ if (state->mixer->protocol == UAC_VERSION_2 &&
+@@ -1355,8 +1357,9 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, void
+ return err;
+
+ /* determine the input source type and name */
+- if (check_input_term(state, hdr->bSourceID, &iterm) < 0)
+- return -EINVAL;
++ err = check_input_term(state, hdr->bSourceID, &iterm);
++ if (err < 0)
++ return err;
+
+ master_bits = snd_usb_combine_bytes(bmaControls, csize);
+ /* master configuration quirks */
+@@ -2051,6 +2054,8 @@ static int parse_audio_unit(struct mixer_build *state, int unitid)
+ return parse_audio_extension_unit(state, unitid, p1);
+ else /* UAC_VERSION_2 */
+ return parse_audio_processing_unit(state, unitid, p1);
++ case UAC2_EXTENSION_UNIT_V2:
++ return parse_audio_extension_unit(state, unitid, p1);
+ default:
+ snd_printk(KERN_ERR "usbaudio: unit %u: unexpected type 0x%02x\n", unitid, p1[2]);
+ return -EINVAL;
+@@ -2117,7 +2122,7 @@ static int snd_usb_mixer_controls(struct usb_mixer_interface *mixer)
+ state.oterm.type = le16_to_cpu(desc->wTerminalType);
+ state.oterm.name = desc->iTerminal;
+ err = parse_audio_unit(&state, desc->bSourceID);
+- if (err < 0)
++ if (err < 0 && err != -EINVAL)
+ return err;
+ } else { /* UAC_VERSION_2 */
+ struct uac2_output_terminal_descriptor *desc = p;
+@@ -2129,12 +2134,12 @@ static int snd_usb_mixer_controls(struct usb_mixer_interface *mixer)
+ state.oterm.type = le16_to_cpu(desc->wTerminalType);
+ state.oterm.name = desc->iTerminal;
+ err = parse_audio_unit(&state, desc->bSourceID);
+- if (err < 0)
++ if (err < 0 && err != -EINVAL)
+ return err;
+
+ /* for UAC2, use the same approach to also add the clock selectors */
+ err = parse_audio_unit(&state, desc->bCSourceID);
+- if (err < 0)
++ if (err < 0 && err != -EINVAL)
+ return err;
+ }
+ }
diff --git a/3.8.4/4420_grsecurity-2.9.1-3.8.4-201303252035.patch b/3.8.5/4420_grsecurity-2.9.1-3.8.5-201303292018.patch
index 2dd0931..1affb1b 100644
--- a/3.8.4/4420_grsecurity-2.9.1-3.8.4-201303252035.patch
+++ b/3.8.5/4420_grsecurity-2.9.1-3.8.5-201303292018.patch
@@ -259,7 +259,7 @@ index 986614d..e8bfedc 100644
pcd. [PARIDE]
diff --git a/Makefile b/Makefile
-index e20f162..7090f4a 100644
+index 14b38cf..90b3a74 100644
--- a/Makefile
+++ b/Makefile
@@ -241,8 +241,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -285,7 +285,7 @@ index e20f162..7090f4a 100644
$(Q)$(MAKE) $(build)=scripts/basic
$(Q)rm -f .tmp_quiet_recordmcount
-@@ -575,6 +576,62 @@ else
+@@ -575,6 +576,65 @@ else
KBUILD_CFLAGS += -O2
endif
@@ -323,9 +323,12 @@ index e20f162..7090f4a 100644
+ifdef CONFIG_PAX_LATENT_ENTROPY
+LATENT_ENTROPY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/latent_entropy_plugin.so -DLATENT_ENTROPY_PLUGIN
+endif
++ifdef CONFIG_PAX_MEMORY_STRUCTLEAK
++STRUCTLEAK_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/structleak_plugin.so -DSTRUCTLEAK_PLUGIN
++endif
+GCC_PLUGINS_CFLAGS := $(CONSTIFY_PLUGIN_CFLAGS) $(STACKLEAK_PLUGIN_CFLAGS) $(KALLOCSTAT_PLUGIN_CFLAGS)
+GCC_PLUGINS_CFLAGS += $(KERNEXEC_PLUGIN_CFLAGS) $(CHECKER_PLUGIN_CFLAGS) $(COLORIZE_PLUGIN_CFLAGS)
-+GCC_PLUGINS_CFLAGS += $(SIZE_OVERFLOW_PLUGIN_CFLAGS) $(LATENT_ENTROPY_PLUGIN_CFLAGS)
++GCC_PLUGINS_CFLAGS += $(SIZE_OVERFLOW_PLUGIN_CFLAGS) $(LATENT_ENTROPY_PLUGIN_CFLAGS) $(STRUCTLEAK_PLUGIN_CFLAGS)
+GCC_PLUGINS_AFLAGS := $(KERNEXEC_PLUGIN_AFLAGS)
+export PLUGINCC GCC_PLUGINS_CFLAGS GCC_PLUGINS_AFLAGS CONSTIFY_PLUGIN
+ifeq ($(KBUILD_EXTMOD),)
@@ -348,7 +351,7 @@ index e20f162..7090f4a 100644
include $(srctree)/arch/$(SRCARCH)/Makefile
ifdef CONFIG_READABLE_ASM
-@@ -731,7 +788,7 @@ export mod_sign_cmd
+@@ -731,7 +791,7 @@ export mod_sign_cmd
ifeq ($(KBUILD_EXTMOD),)
@@ -357,7 +360,7 @@ index e20f162..7090f4a 100644
vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
$(core-y) $(core-m) $(drivers-y) $(drivers-m) \
-@@ -778,6 +835,8 @@ endif
+@@ -778,6 +838,8 @@ endif
# The actual objects are generated when descending,
# make sure no implicit rule kicks in
@@ -366,7 +369,7 @@ index e20f162..7090f4a 100644
$(sort $(vmlinux-deps)): $(vmlinux-dirs) ;
# Handle descending into subdirectories listed in $(vmlinux-dirs)
-@@ -787,7 +846,7 @@ $(sort $(vmlinux-deps)): $(vmlinux-dirs) ;
+@@ -787,7 +849,7 @@ $(sort $(vmlinux-deps)): $(vmlinux-dirs) ;
# Error messages still appears in the original language
PHONY += $(vmlinux-dirs)
@@ -375,7 +378,7 @@ index e20f162..7090f4a 100644
$(Q)$(MAKE) $(build)=$@
# Store (new) KERNELRELASE string in include/config/kernel.release
-@@ -831,6 +890,7 @@ prepare0: archprepare FORCE
+@@ -831,6 +893,7 @@ prepare0: archprepare FORCE
$(Q)$(MAKE) $(build)=.
# All the preparing..
@@ -383,7 +386,7 @@ index e20f162..7090f4a 100644
prepare: prepare0
# Generate some files
-@@ -938,6 +998,8 @@ all: modules
+@@ -938,6 +1001,8 @@ all: modules
# using awk while concatenating to the final file.
PHONY += modules
@@ -392,7 +395,7 @@ index e20f162..7090f4a 100644
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
$(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
@$(kecho) ' Building modules, stage 2.';
-@@ -953,7 +1015,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
+@@ -953,7 +1018,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
# Target to prepare building external modules
PHONY += modules_prepare
@@ -401,7 +404,7 @@ index e20f162..7090f4a 100644
# Target to install modules
PHONY += modules_install
-@@ -1019,7 +1081,7 @@ MRPROPER_FILES += .config .config.old .version .old_version $(version_h) \
+@@ -1019,7 +1084,7 @@ MRPROPER_FILES += .config .config.old .version .old_version $(version_h) \
Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS \
signing_key.priv signing_key.x509 x509.genkey \
extra_certificates signing_key.x509.keyid \
@@ -410,7 +413,7 @@ index e20f162..7090f4a 100644
# clean - Delete most, but leave enough to build external modules
#
-@@ -1059,6 +1121,7 @@ distclean: mrproper
+@@ -1059,6 +1124,7 @@ distclean: mrproper
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
-o -name '.*.rej' \
@@ -418,7 +421,7 @@ index e20f162..7090f4a 100644
-o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
-type f -print | xargs rm -f
-@@ -1219,6 +1282,8 @@ PHONY += $(module-dirs) modules
+@@ -1219,6 +1285,8 @@ PHONY += $(module-dirs) modules
$(module-dirs): crmodverdir $(objtree)/Module.symvers
$(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
@@ -427,7 +430,7 @@ index e20f162..7090f4a 100644
modules: $(module-dirs)
@$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
-@@ -1355,17 +1420,21 @@ else
+@@ -1355,17 +1423,21 @@ else
target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@))
endif
@@ -453,7 +456,7 @@ index e20f162..7090f4a 100644
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.symtypes: %.c prepare scripts FORCE
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
-@@ -1375,11 +1444,15 @@ endif
+@@ -1375,11 +1447,15 @@ endif
$(cmd_crmodverdir)
$(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
$(build)=$(build-dir)
@@ -1977,7 +1980,7 @@ index a3f3792..7b932a6 100644
#define L_PTE_DIRTY_HIGH (1 << (55 - 32))
diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h
-index c094749..fd8272e 100644
+index c094749..a6ff605 100644
--- a/arch/arm/include/asm/pgtable.h
+++ b/arch/arm/include/asm/pgtable.h
@@ -30,6 +30,9 @@
@@ -2062,13 +2065,12 @@ index c094749..fd8272e 100644
*/
#define _L_PTE_DEFAULT L_PTE_PRESENT | L_PTE_YOUNG
-@@ -240,8 +290,7 @@ static inline pte_t pte_mkspecial(pte_t pte) { return pte; }
-
+@@ -241,7 +291,7 @@ static inline pte_t pte_mkspecial(pte_t pte) { return pte; }
static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
{
-- const pteval_t mask = L_PTE_XN | L_PTE_RDONLY | L_PTE_USER |
+ const pteval_t mask = L_PTE_XN | L_PTE_RDONLY | L_PTE_USER |
- L_PTE_NONE | L_PTE_VALID;
-+ const pteval_t mask = L_PTE_XN | L_PTE_RDONLY | L_PTE_USER | L_PTE_NONE | L_PTE_VALID | __supported_pte_mask;
++ L_PTE_NONE | L_PTE_VALID | __supported_pte_mask;
pte_val(pte) = (pte_val(pte) & ~mask) | (pgprot_val(newprot) & mask);
return pte;
}
@@ -3251,10 +3253,10 @@ index 7d08b43..f7ca7ea 100644
#include "csumpartialcopygeneric.S"
diff --git a/arch/arm/lib/delay.c b/arch/arm/lib/delay.c
-index 6b93f6a..88d9b64 100644
+index 6b93f6a..1aa92d0 100644
--- a/arch/arm/lib/delay.c
+++ b/arch/arm/lib/delay.c
-@@ -28,12 +28,14 @@
+@@ -28,12 +28,15 @@
/*
* Default to the loop-based delay implementation.
*/
@@ -3263,6 +3265,7 @@ index 6b93f6a..88d9b64 100644
.delay = __loop_delay,
.const_udelay = __loop_const_udelay,
.udelay = __loop_udelay,
++ .const_clock = false,
};
+struct arm_delay_ops *arm_delay_ops __read_only = &arm_loop_delay_ops;
@@ -3270,7 +3273,7 @@ index 6b93f6a..88d9b64 100644
static const struct delay_timer *delay_timer;
static bool delay_calibrated;
-@@ -67,6 +69,13 @@ static void __timer_udelay(unsigned long usecs)
+@@ -67,6 +70,13 @@ static void __timer_udelay(unsigned long usecs)
__timer_const_udelay(usecs * UDELAY_MULT);
}
@@ -3284,7 +3287,7 @@ index 6b93f6a..88d9b64 100644
void __init register_current_timer_delay(const struct delay_timer *timer)
{
if (!delay_calibrated) {
-@@ -74,10 +83,7 @@ void __init register_current_timer_delay(const struct delay_timer *timer)
+@@ -74,10 +84,7 @@ void __init register_current_timer_delay(const struct delay_timer *timer)
delay_timer = timer;
lpj_fine = timer->freq / HZ;
loops_per_jiffy = lpj_fine;
@@ -11712,7 +11715,7 @@ index 142c4ce..19b683f 100644
END(ia32_syscall)
diff --git a/arch/x86/ia32/sys_ia32.c b/arch/x86/ia32/sys_ia32.c
-index d0b689b..34be51d 100644
+index d0b689b..6811ddc 100644
--- a/arch/x86/ia32/sys_ia32.c
+++ b/arch/x86/ia32/sys_ia32.c
@@ -69,8 +69,8 @@ asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long offset_low,
@@ -11735,7 +11738,14 @@ index d0b689b..34be51d 100644
set_fs(old_fs);
if (put_compat_timespec(&t, interval))
return -EFAULT;
-@@ -319,7 +319,7 @@ asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
+@@ -313,13 +313,13 @@ asmlinkage long sys32_sched_rr_get_interval(compat_pid_t pid,
+ asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
+ compat_size_t sigsetsize)
+ {
+- sigset_t s;
++ sigset_t s = { };
+ compat_sigset_t s32;
+ int ret;
mm_segment_t old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -12960,6 +12970,19 @@ index 8d871ea..c1a0dc9 100644
#define __add(ptr, inc, lock) \
({ \
__typeof__ (*(ptr)) __ret = (inc); \
+diff --git a/arch/x86/include/asm/compat.h b/arch/x86/include/asm/compat.h
+index 59c6c40..5e0b22c 100644
+--- a/arch/x86/include/asm/compat.h
++++ b/arch/x86/include/asm/compat.h
+@@ -41,7 +41,7 @@ typedef s64 __attribute__((aligned(4))) compat_s64;
+ typedef u32 compat_uint_t;
+ typedef u32 compat_ulong_t;
+ typedef u64 __attribute__((aligned(4))) compat_u64;
+-typedef u32 compat_uptr_t;
++typedef u32 __user compat_uptr_t;
+
+ struct compat_timespec {
+ compat_time_t tv_sec;
diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h
index 2d9075e..b75a844 100644
--- a/arch/x86/include/asm/cpufeature.h
@@ -26976,7 +26999,7 @@ index f0312d7..9c39d63 100644
+EXPORT_SYMBOL(set_fs);
+#endif
diff --git a/arch/x86/lib/usercopy_64.c b/arch/x86/lib/usercopy_64.c
-index 05928aa..b33dea1 100644
+index 906fea3..ee8a097 100644
--- a/arch/x86/lib/usercopy_64.c
+++ b/arch/x86/lib/usercopy_64.c
@@ -39,7 +39,7 @@ unsigned long __clear_user(void __user *addr, unsigned long size)
@@ -27085,7 +27108,7 @@ index 903ec1e..c4166b2 100644
}
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
-index fb674fd..1be28b9 100644
+index fb674fd..223a693 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -13,12 +13,19 @@
@@ -27195,15 +27218,16 @@ index fb674fd..1be28b9 100644
+ pmd_t *ret;
+#else
list_for_each_entry(page, &pgd_list, lru) {
-+ pgd_t *pgd = page_address(page);
++ pgd_t *pgd;
spinlock_t *pgt_lock;
pmd_t *ret;
-@@ -243,8 +296,13 @@ void vmalloc_sync_all(void)
+@@ -243,8 +296,14 @@ void vmalloc_sync_all(void)
pgt_lock = &pgd_page_get_mm(page)->page_table_lock;
spin_lock(pgt_lock);
- ret = vmalloc_sync_one(page_address(page), address);
++ pgd = page_address(page);
+#endif
+
+ ret = vmalloc_sync_one(pgd, address);
@@ -27214,7 +27238,7 @@ index fb674fd..1be28b9 100644
if (!ret)
break;
-@@ -278,6 +336,11 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)
+@@ -278,6 +337,11 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)
* an interrupt in the middle of a task switch..
*/
pgd_paddr = read_cr3();
@@ -27226,7 +27250,7 @@ index fb674fd..1be28b9 100644
pmd_k = vmalloc_sync_one(__va(pgd_paddr), address);
if (!pmd_k)
return -1;
-@@ -373,7 +436,14 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)
+@@ -373,7 +437,14 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)
* happen within a race in page table update. In the later
* case just flush:
*/
@@ -27241,7 +27265,7 @@ index fb674fd..1be28b9 100644
pgd_ref = pgd_offset_k(address);
if (pgd_none(*pgd_ref))
return -1;
-@@ -541,7 +611,7 @@ static int is_errata93(struct pt_regs *regs, unsigned long address)
+@@ -541,7 +612,7 @@ static int is_errata93(struct pt_regs *regs, unsigned long address)
static int is_errata100(struct pt_regs *regs, unsigned long address)
{
#ifdef CONFIG_X86_64
@@ -27250,7 +27274,7 @@ index fb674fd..1be28b9 100644
return 1;
#endif
return 0;
-@@ -568,7 +638,7 @@ static int is_f00f_bug(struct pt_regs *regs, unsigned long address)
+@@ -568,7 +639,7 @@ static int is_f00f_bug(struct pt_regs *regs, unsigned long address)
}
static const char nx_warning[] = KERN_CRIT
@@ -27259,7 +27283,7 @@ index fb674fd..1be28b9 100644
static void
show_fault_oops(struct pt_regs *regs, unsigned long error_code,
-@@ -577,15 +647,27 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code,
+@@ -577,15 +648,27 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code,
if (!oops_may_print())
return;
@@ -27289,7 +27313,7 @@ index fb674fd..1be28b9 100644
printk(KERN_ALERT "BUG: unable to handle kernel ");
if (address < PAGE_SIZE)
printk(KERN_CONT "NULL pointer dereference");
-@@ -748,6 +830,22 @@ __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code,
+@@ -748,6 +831,22 @@ __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code,
return;
}
#endif
@@ -27312,7 +27336,7 @@ index fb674fd..1be28b9 100644
/* Kernel addresses are always protection faults: */
if (address >= TASK_SIZE)
error_code |= PF_PROT;
-@@ -833,7 +931,7 @@ do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address,
+@@ -833,7 +932,7 @@ do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address,
if (fault & (VM_FAULT_HWPOISON|VM_FAULT_HWPOISON_LARGE)) {
printk(KERN_ERR
"MCE: Killing %s:%d due to hardware memory corruption fault at %lx\n",
@@ -27321,7 +27345,7 @@ index fb674fd..1be28b9 100644
code = BUS_MCEERR_AR;
}
#endif
-@@ -896,6 +994,99 @@ static int spurious_fault_check(unsigned long error_code, pte_t *pte)
+@@ -896,6 +995,99 @@ static int spurious_fault_check(unsigned long error_code, pte_t *pte)
return 1;
}
@@ -27421,7 +27445,7 @@ index fb674fd..1be28b9 100644
/*
* Handle a spurious fault caused by a stale TLB entry.
*
-@@ -968,6 +1159,9 @@ int show_unhandled_signals = 1;
+@@ -968,6 +1160,9 @@ int show_unhandled_signals = 1;
static inline int
access_error(unsigned long error_code, struct vm_area_struct *vma)
{
@@ -27431,7 +27455,7 @@ index fb674fd..1be28b9 100644
if (error_code & PF_WRITE) {
/* write, present and write, not present: */
if (unlikely(!(vma->vm_flags & VM_WRITE)))
-@@ -996,7 +1190,7 @@ static inline bool smap_violation(int error_code, struct pt_regs *regs)
+@@ -996,7 +1191,7 @@ static inline bool smap_violation(int error_code, struct pt_regs *regs)
if (error_code & PF_USER)
return false;
@@ -27440,7 +27464,7 @@ index fb674fd..1be28b9 100644
return false;
return true;
-@@ -1012,18 +1206,33 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code)
+@@ -1012,18 +1207,33 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code)
{
struct vm_area_struct *vma;
struct task_struct *tsk;
@@ -27479,7 +27503,7 @@ index fb674fd..1be28b9 100644
/*
* Detect and handle instructions that would cause a page fault for
-@@ -1084,7 +1293,7 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code)
+@@ -1084,7 +1294,7 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code)
* User-mode registers count as a user access even for any
* potential system fault or CPU buglet:
*/
@@ -27488,7 +27512,7 @@ index fb674fd..1be28b9 100644
local_irq_enable();
error_code |= PF_USER;
} else {
-@@ -1146,6 +1355,11 @@ retry:
+@@ -1146,6 +1356,11 @@ retry:
might_sleep();
}
@@ -27500,7 +27524,7 @@ index fb674fd..1be28b9 100644
vma = find_vma(mm, address);
if (unlikely(!vma)) {
bad_area(regs, error_code, address);
-@@ -1157,18 +1371,24 @@ retry:
+@@ -1157,18 +1372,24 @@ retry:
bad_area(regs, error_code, address);
return;
}
@@ -27536,7 +27560,7 @@ index fb674fd..1be28b9 100644
if (unlikely(expand_stack(vma, address))) {
bad_area(regs, error_code, address);
return;
-@@ -1232,3 +1452,292 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
+@@ -1232,3 +1453,292 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
__do_page_fault(regs, error_code);
exception_exit(regs);
}
@@ -34576,10 +34600,10 @@ index 4cd392d..4b629e1 100644
iounmap(buf);
return 0;
diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c
-index 2a2e145..73745e79 100644
+index e1d6253..bd00f91 100644
--- a/drivers/firmware/efivars.c
+++ b/drivers/firmware/efivars.c
-@@ -133,7 +133,7 @@ struct efivar_attribute {
+@@ -138,7 +138,7 @@ struct efivar_attribute {
};
static struct efivars __efivars;
@@ -34588,7 +34612,7 @@ index 2a2e145..73745e79 100644
#define PSTORE_EFI_ATTRIBUTES \
(EFI_VARIABLE_NON_VOLATILE | \
-@@ -1798,7 +1798,7 @@ efivar_create_sysfs_entry(struct efivars *efivars,
+@@ -1787,7 +1787,7 @@ efivar_create_sysfs_entry(struct efivars *efivars,
static int
create_efivars_bin_attributes(struct efivars *efivars)
{
@@ -35002,18 +35026,9 @@ index 6e0acad..93c8289 100644
int front_offset;
} drm_i810_private_t;
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 8a7c48b..27af8a5 100644
+index 261efc8e..27af8a5 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -103,7 +103,7 @@ static const char *cache_level_str(int type)
- static void
- describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
- {
-- seq_printf(m, "%p: %s%s %8zdKiB %04x %04x %d %d %d%s%s%s",
-+ seq_printf(m, "%pK: %s%s %8zdKiB %04x %04x %d %d %d%s%s%s",
- &obj->base,
- get_pin_flag(obj),
- get_tiling_flag(obj),
@@ -496,7 +496,7 @@ static int i915_interrupt_info(struct seq_file *m, void *data)
I915_READ(GTIMR));
}
@@ -35068,7 +35083,7 @@ index 7339a4b..445aaba 100644
return container_of(adapter, struct intel_gmbus, adapter)->force_bit;
}
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index 26d08bb..e24fb51 100644
+index 7adf5a7..e24fb51 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -672,7 +672,7 @@ i915_gem_execbuffer_move_to_gpu(struct intel_ring_buffer *ring,
@@ -35080,7 +35095,7 @@ index 26d08bb..e24fb51 100644
flush_domains |= obj->base.write_domain;
}
-@@ -703,18 +703,23 @@ i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec)
+@@ -703,9 +703,9 @@ i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec)
static int
validate_exec_list(struct drm_i915_gem_exec_object2 *exec,
@@ -35089,27 +35104,10 @@ index 26d08bb..e24fb51 100644
{
- int i;
+ unsigned int i;
-+ int relocs_total = 0;
-+ int relocs_max = INT_MAX / sizeof(struct drm_i915_gem_relocation_entry);
-
- for (i = 0; i < count; i++) {
- char __user *ptr = (char __user *)(uintptr_t)exec[i].relocs_ptr;
- int length; /* limited by fault_in_pages_readable() */
-
-- /* First check for malicious input causing overflow */
-- if (exec[i].relocation_count >
-- INT_MAX / sizeof(struct drm_i915_gem_relocation_entry))
-+ /* First check for malicious input causing overflow in
-+ * the worst case where we need to allocate the entire
-+ * relocation tree as a single array.
-+ */
-+ if (exec[i].relocation_count > relocs_max - relocs_total)
- return -EINVAL;
-+ relocs_total += exec[i].relocation_count;
+ int relocs_total = 0;
+ int relocs_max = INT_MAX / sizeof(struct drm_i915_gem_relocation_entry);
- length = exec[i].relocation_count *
- sizeof(struct drm_i915_gem_relocation_entry);
-@@ -1197,7 +1202,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
+@@ -1202,7 +1202,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
return -ENOMEM;
}
ret = copy_from_user(exec2_list,
@@ -38069,10 +38067,10 @@ index 8d925dc..11d674f 100644
rdev_dec_pending(rdev, mddev);
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
-index 19d77a0..56051b92 100644
+index 94ce78e..df99e24 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
-@@ -1797,21 +1797,21 @@ static void raid5_end_read_request(struct bio * bi, int error)
+@@ -1800,21 +1800,21 @@ static void raid5_end_read_request(struct bio * bi, int error)
mdname(conf->mddev), STRIPE_SECTORS,
(unsigned long long)s,
bdevname(rdev->bdev, b));
@@ -38098,7 +38096,7 @@ index 19d77a0..56051b92 100644
if (test_bit(R5_ReadRepl, &sh->dev[i].flags))
printk_ratelimited(
KERN_WARNING
-@@ -1839,7 +1839,7 @@ static void raid5_end_read_request(struct bio * bi, int error)
+@@ -1842,7 +1842,7 @@ static void raid5_end_read_request(struct bio * bi, int error)
mdname(conf->mddev),
(unsigned long long)s,
bdn);
@@ -39207,10 +39205,10 @@ index 8dd6ba5..419cc1d 100644
struct sm_sysfs_attribute *vendor_attribute;
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
-index a079da17..f86ffd5 100644
+index 272f81a..c3d767c 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
-@@ -4862,7 +4862,7 @@ static unsigned int bond_get_num_tx_queues(void)
+@@ -4860,7 +4860,7 @@ static unsigned int bond_get_num_tx_queues(void)
return tx_queues;
}
@@ -39289,10 +39287,10 @@ index adbd91b..58ec94a 100644
/**
* bnx2x_config_rx_mode - Send and RX_MODE ramrod according to the provided parameters.
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
-index f0b38fa..3a312b5 100644
+index 3ec98f2..b9980e0 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
-@@ -14395,8 +14395,10 @@ static void tg3_read_vpd(struct tg3 *tp)
+@@ -14403,8 +14403,10 @@ static void tg3_read_vpd(struct tg3 *tp)
if (j + len > block_end)
goto partno;
@@ -39461,7 +39459,7 @@ index 998974f..ecd26db 100644
int (*set_speed)(struct net_device *, u8 aneg, u16 sp, u8 dpx, u32 adv);
int (*get_settings)(struct net_device *, struct ethtool_cmd *);
diff --git a/drivers/net/ethernet/sfc/ptp.c b/drivers/net/ethernet/sfc/ptp.c
-index 0767043f..08c2553 100644
+index 3f93624..cf01144 100644
--- a/drivers/net/ethernet/sfc/ptp.c
+++ b/drivers/net/ethernet/sfc/ptp.c
@@ -553,7 +553,7 @@ static int efx_ptp_synchronize(struct efx_nic *efx, unsigned int num_readings)
@@ -44240,6 +44238,19 @@ index 5f3bcd3..bfca43f 100644
usb_autopm_put_interface(serial->interface);
error_get_interface:
usb_serial_put(serial);
+diff --git a/drivers/usb/storage/realtek_cr.c b/drivers/usb/storage/realtek_cr.c
+index 6c3586a..a94e621 100644
+--- a/drivers/usb/storage/realtek_cr.c
++++ b/drivers/usb/storage/realtek_cr.c
+@@ -429,7 +429,7 @@ static int rts51x_read_status(struct us_data *us,
+
+ buf = kmalloc(len, GFP_NOIO);
+ if (buf == NULL)
+- return USB_STOR_TRANSPORT_ERROR;
++ return -ENOMEM;
+
+ US_DEBUGP("%s, lun = %d\n", __func__, lun);
+
diff --git a/drivers/usb/storage/usb.h b/drivers/usb/storage/usb.h
index 75f70f0..d467e1a 100644
--- a/drivers/usb/storage/usb.h
@@ -47879,7 +47890,7 @@ index 6043567..16a9239 100644
fd_offset + ex.a_text);
if (error != N_DATADDR(ex)) {
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
-index 0c42cdb..f23778b 100644
+index 0c42cdb..b62581e9 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -33,6 +33,7 @@
@@ -48418,7 +48429,7 @@ index 0c42cdb..f23778b 100644
+#ifdef CONFIG_ARCH_TRACK_EXEC_LIMIT
+ if ((current->mm->pax_flags & MF_PAX_PAGEEXEC) && !(__supported_pte_mask & _PAGE_NX)) {
+ current->mm->context.user_cs_limit = PAGE_SIZE;
-+ current->mm->def_flags |= VM_PAGEEXEC;
++ current->mm->def_flags |= VM_PAGEEXEC | VM_NOHUGEPAGE;
+ }
+#endif
+
@@ -49102,69 +49113,6 @@ index 8c1aabe..bbf856a 100644
int err;
u32 ftype;
struct ceph_mds_reply_info_parsed *rinfo;
-diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c
-index cfd1ce3..1d36db1 100644
---- a/fs/cifs/asn1.c
-+++ b/fs/cifs/asn1.c
-@@ -614,53 +614,10 @@ decode_negTokenInit(unsigned char *security_blob, int length,
- }
- }
-
-- /* mechlistMIC */
-- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
-- /* Check if we have reached the end of the blob, but with
-- no mechListMic (e.g. NTLMSSP instead of KRB5) */
-- if (ctx.error == ASN1_ERR_DEC_EMPTY)
-- goto decode_negtoken_exit;
-- cFYI(1, "Error decoding last part negTokenInit exit3");
-- return 0;
-- } else if ((cls != ASN1_CTX) || (con != ASN1_CON)) {
-- /* tag = 3 indicating mechListMIC */
-- cFYI(1, "Exit 4 cls = %d con = %d tag = %d end = %p (%d)",
-- cls, con, tag, end, *end);
-- return 0;
-- }
--
-- /* sequence */
-- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
-- cFYI(1, "Error decoding last part negTokenInit exit5");
-- return 0;
-- } else if ((cls != ASN1_UNI) || (con != ASN1_CON)
-- || (tag != ASN1_SEQ)) {
-- cFYI(1, "cls = %d con = %d tag = %d end = %p (%d)",
-- cls, con, tag, end, *end);
-- }
--
-- /* sequence of */
-- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
-- cFYI(1, "Error decoding last part negTokenInit exit 7");
-- return 0;
-- } else if ((cls != ASN1_CTX) || (con != ASN1_CON)) {
-- cFYI(1, "Exit 8 cls = %d con = %d tag = %d end = %p (%d)",
-- cls, con, tag, end, *end);
-- return 0;
-- }
--
-- /* general string */
-- if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
-- cFYI(1, "Error decoding last part negTokenInit exit9");
-- return 0;
-- } else if ((cls != ASN1_UNI) || (con != ASN1_PRI)
-- || (tag != ASN1_GENSTR)) {
-- cFYI(1, "Exit10 cls = %d con = %d tag = %d end = %p (%d)",
-- cls, con, tag, end, *end);
-- return 0;
-- }
-- cFYI(1, "Need to call asn1_octets_decode() function for %s",
-- ctx.pointer); /* is this UTF-8 or ASCII? */
--decode_negtoken_exit:
-+ /*
-+ * We currently ignore anything at the end of the SPNEGO blob after
-+ * the mechTypes have been parsed, since none of that info is
-+ * used at the moment.
-+ */
- return 1;
- }
diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c
index d9ea6ed..1e6c8ac 100644
--- a/fs/cifs/cifs_debug.c
@@ -49210,10 +49158,10 @@ index d9ea6ed..1e6c8ac 100644
server->ops->print_stats(m, tcon);
}
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
-index e328339..322228b 100644
+index b9db388..9a73d6d 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
-@@ -1002,7 +1002,7 @@ cifs_init_request_bufs(void)
+@@ -1026,7 +1026,7 @@ cifs_init_request_bufs(void)
/* cERROR(1, "CIFSMaxBufSize %d 0x%x",CIFSMaxBufSize,CIFSMaxBufSize); */
cifs_req_cachep = kmem_cache_create("cifs_request",
CIFSMaxBufSize + max_hdr_size, 0,
@@ -49222,7 +49170,7 @@ index e328339..322228b 100644
if (cifs_req_cachep == NULL)
return -ENOMEM;
-@@ -1029,7 +1029,7 @@ cifs_init_request_bufs(void)
+@@ -1053,7 +1053,7 @@ cifs_init_request_bufs(void)
efficient to alloc 1 per page off the slab compared to 17K (5page)
alloc of large cifs buffers even when page debugging is on */
cifs_sm_req_cachep = kmem_cache_create("cifs_small_rq",
@@ -49231,7 +49179,7 @@ index e328339..322228b 100644
NULL);
if (cifs_sm_req_cachep == NULL) {
mempool_destroy(cifs_req_poolp);
-@@ -1114,8 +1114,8 @@ init_cifs(void)
+@@ -1138,8 +1138,8 @@ init_cifs(void)
atomic_set(&bufAllocCount, 0);
atomic_set(&smBufAllocCount, 0);
#ifdef CONFIG_CIFS_STATS2
@@ -50164,7 +50112,7 @@ index b2a34a1..162fa69 100644
return rc;
}
diff --git a/fs/exec.c b/fs/exec.c
-index 20df02c..09b65a1 100644
+index 20df02c..1b1d946 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -55,6 +55,17 @@
@@ -50836,21 +50784,21 @@ index 20df02c..09b65a1 100644
+#endif
+}
+
-+static __noreturn void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type)
++static __noreturn void pax_report_usercopy(const void *ptr, unsigned long len, bool to_user, const char *type)
+{
+ if (current->signal->curr_ip)
+ printk(KERN_ERR "PAX: From %pI4: kernel memory %s attempt detected %s %p (%s) (%lu bytes)\n",
-+ &current->signal->curr_ip, to ? "leak" : "overwrite", to ? "from" : "to", ptr, type ? : "unknown", len);
++ &current->signal->curr_ip, to_user ? "leak" : "overwrite", to_user ? "from" : "to", ptr, type ? : "unknown", len);
+ else
+ printk(KERN_ERR "PAX: kernel memory %s attempt detected %s %p (%s) (%lu bytes)\n",
-+ to ? "leak" : "overwrite", to ? "from" : "to", ptr, type ? : "unknown", len);
++ to_user ? "leak" : "overwrite", to_user ? "from" : "to", ptr, type ? : "unknown", len);
+ dump_stack();
+ gr_handle_kernel_exploit();
+ do_group_exit(SIGKILL);
+}
+#endif
+
-+void __check_object_size(const void *ptr, unsigned long n, bool to)
++void __check_object_size(const void *ptr, unsigned long n, bool to_user)
+{
+
+#ifdef CONFIG_PAX_USERCOPY
@@ -50866,7 +50814,7 @@ index 20df02c..09b65a1 100644
+ type = "<process stack>";
+ }
+
-+ pax_report_usercopy(ptr, n, to, type);
++ pax_report_usercopy(ptr, n, to_user, type);
+#endif
+
+}
@@ -50942,7 +50890,7 @@ index 92e68b3..115d987 100644
if (free_clusters >= (nclusters + dirty_clusters))
return 1;
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
-index 8462eb3..4a71af6 100644
+index bbcd6a0..2824592 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1265,19 +1265,19 @@ struct ext4_sb_info {
@@ -50976,7 +50924,7 @@ index 8462eb3..4a71af6 100644
/* locality groups */
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
-index 28bbf9b..75ca7c1 100644
+index 82f8c2d..ce7c889 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -1747,7 +1747,7 @@ void ext4_mb_simple_scan_group(struct ext4_allocation_context *ac,
@@ -51093,7 +51041,7 @@ index 28bbf9b..75ca7c1 100644
return 0;
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
-index 5fa223d..12fa738 100644
+index 24c767d..893aa55 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -2429,7 +2429,7 @@ struct ext4_attr {
@@ -53693,9 +53641,18 @@ index 9d1c5db..1e13db8 100644
static struct nfsd4_operation nfsd4_ops[];
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
-index 0dc1158..ccf0338 100644
+index 0dc1158..32ac0e8 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
+@@ -264,7 +264,7 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval,
+ iattr->ia_valid |= ATTR_SIZE;
+ }
+ if (bmval[0] & FATTR4_WORD0_ACL) {
+- int nace;
++ u32 nace;
+ struct nfs4_ace *ace;
+
+ READ_BUF(4); len += 4;
@@ -1456,7 +1456,7 @@ nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p)
typedef __be32(*nfsd4_dec)(struct nfsd4_compoundargs *argp, void *);
@@ -53724,7 +53681,7 @@ index 0dc1158..ccf0338 100644
};
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
-index d586117..143d568 100644
+index 69c6413..c0408d2 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -939,7 +939,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
@@ -53736,16 +53693,16 @@ index d586117..143d568 100644
set_fs(oldfs);
}
-@@ -1025,7 +1025,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
+@@ -1026,7 +1026,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
/* Write the data. */
oldfs = get_fs(); set_fs(KERNEL_DS);
-- host_err = vfs_writev(file, (struct iovec __user *)vec, vlen, &offset);
-+ host_err = vfs_writev(file, (struct iovec __force_user *)vec, vlen, &offset);
+- host_err = vfs_writev(file, (struct iovec __user *)vec, vlen, &pos);
++ host_err = vfs_writev(file, (struct iovec __force_user *)vec, vlen, &pos);
set_fs(oldfs);
if (host_err < 0)
goto out_nfserr;
-@@ -1571,7 +1571,7 @@ nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp)
+@@ -1572,7 +1572,7 @@ nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp)
*/
oldfs = get_fs(); set_fs(KERNEL_DS);
@@ -54927,7 +54884,7 @@ index d7a4a28..0201742 100644
}
diff --git a/fs/proc/inode.c b/fs/proc/inode.c
-index 439ae688..c0e4d63 100644
+index 0ac1e1b..0497e58 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -21,11 +21,17 @@
@@ -54962,22 +54919,7 @@ index 439ae688..c0e4d63 100644
}
static struct kmem_cache * proc_inode_cachep;
-@@ -445,19 +458,21 @@ static const struct file_operations proc_reg_file_ops_no_compat = {
-
- struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
- {
-- struct inode * inode;
-+ struct inode *inode = new_inode_pseudo(sb);
-
-- inode = iget_locked(sb, de->low_ino);
-- if (!inode)
-- return NULL;
-- if (inode->i_state & I_NEW) {
-+ if (inode) {
-+ inode->i_ino = de->low_ino;
- inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
- PROC_I(inode)->pde = de;
-
+@@ -455,7 +468,11 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
if (de->mode) {
inode->i_mode = de->mode;
inode->i_uid = de->uid;
@@ -54989,14 +54931,6 @@ index 439ae688..c0e4d63 100644
}
if (de->size)
inode->i_size = de->size;
-@@ -478,7 +493,6 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
- inode->i_fop = de->proc_fops;
- }
- }
-- unlock_new_inode(inode);
- } else
- pde_put(de);
- return inode;
diff --git a/fs/proc/internal.h b/fs/proc/internal.h
index 252544c..04395b9 100644
--- a/fs/proc/internal.h
@@ -67192,7 +67126,7 @@ index 662fd1b..e801992 100644
#if __GNUC_MINOR__ >= 6
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
-index dd852b7..72924c0 100644
+index dd852b7..1ad5fba 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -5,11 +5,14 @@
@@ -67210,7 +67144,7 @@ index dd852b7..72924c0 100644
# define __must_hold(x) __attribute__((context(x,1,1)))
# define __acquires(x) __attribute__((context(x,0,1)))
# define __releases(x) __attribute__((context(x,1,0)))
-@@ -17,20 +20,48 @@
+@@ -17,20 +20,37 @@
# define __release(x) __context__(x,-1)
# define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0)
# define __percpu __attribute__((noderef, address_space(3)))
@@ -67224,33 +67158,24 @@ index dd852b7..72924c0 100644
#endif
extern void __chk_user_ptr(const volatile void __user *);
extern void __chk_io_ptr(const volatile void __iomem *);
-+#elif defined(CHECKER_PLUGIN)
-+//# define __user
-+//# define __force_user
-+//# define __kernel
-+//# define __force_kernel
-+# define __safe
-+# define __force
-+# define __nocast
-+# define __iomem
-+# define __force_iomem
-+# define __chk_user_ptr(x) (void)0
-+# define __chk_io_ptr(x) (void)0
-+# define __builtin_warning(x, y...) (1)
-+# define __acquires(x)
-+# define __releases(x)
-+# define __acquire(x) (void)0
-+# define __release(x) (void)0
-+# define __cond_lock(x,c) (c)
-+# define __percpu
-+# define __force_percpu
-+# define __rcu
-+# define __force_rcu
#else
- # define __user
-+# define __force_user
- # define __kernel
-+# define __force_kernel
+-# define __user
+-# define __kernel
++# ifdef CHECKER_PLUGIN
++//# define __user
++//# define __force_user
++//# define __kernel
++//# define __force_kernel
++# else
++# ifdef STRUCTLEAK_PLUGIN
++# define __user __attribute__((user))
++# else
++# define __user
++# endif
++# define __force_user
++# define __kernel
++# define __force_kernel
++# endif
# define __safe
# define __force
# define __nocast
@@ -67259,7 +67184,7 @@ index dd852b7..72924c0 100644
# define __chk_user_ptr(x) (void)0
# define __chk_io_ptr(x) (void)0
# define __builtin_warning(x, y...) (1)
-@@ -41,7 +72,9 @@ extern void __chk_io_ptr(const volatile void __iomem *);
+@@ -41,7 +61,9 @@ extern void __chk_io_ptr(const volatile void __iomem *);
# define __release(x) (void)0
# define __cond_lock(x,c) (c)
# define __percpu
@@ -67269,7 +67194,7 @@ index dd852b7..72924c0 100644
#endif
/* Indirect macros required for expanded argument pasting, eg. __LINE__. */
-@@ -275,6 +308,26 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
+@@ -275,6 +297,26 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
# define __attribute_const__ /* unimplemented */
#endif
@@ -67296,7 +67221,7 @@ index dd852b7..72924c0 100644
/*
* Tell gcc if a function is cold. The compiler will assume any path
* directly leading to the call is unlikely.
-@@ -284,6 +337,22 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
+@@ -284,6 +326,22 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
#define __cold
#endif
@@ -67319,7 +67244,7 @@ index dd852b7..72924c0 100644
/* Simple shorthand for a section definition */
#ifndef __section
# define __section(S) __attribute__ ((__section__(#S)))
-@@ -323,6 +392,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
+@@ -323,6 +381,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
* use is to mediate communication between process-level code and irq/NMI
* handlers, all running on the same CPU.
*/
@@ -70333,7 +70258,7 @@ index 9afc01e..92c32e8 100644
void log_buf_kexec_setup(void);
void __init setup_log_buf(int early);
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h
-index 32676b3..8f7a182 100644
+index 32676b3..e46f2c0 100644
--- a/include/linux/proc_fs.h
+++ b/include/linux/proc_fs.h
@@ -159,6 +159,18 @@ static inline struct proc_dir_entry *proc_create(const char *name, umode_t mode,
@@ -70355,6 +70280,15 @@ index 32676b3..8f7a182 100644
static inline struct proc_dir_entry *create_proc_read_entry(const char *name,
umode_t mode, struct proc_dir_entry *base,
read_proc_t *read_proc, void * data)
+@@ -268,7 +280,7 @@ struct proc_ns_operations {
+ void (*put)(void *ns);
+ int (*install)(struct nsproxy *nsproxy, void *ns);
+ unsigned int (*inum)(void *ns);
+-};
++} __do_const;
+ extern const struct proc_ns_operations netns_operations;
+ extern const struct proc_ns_operations utsns_operations;
+ extern const struct proc_ns_operations ipcns_operations;
diff --git a/include/linux/random.h b/include/linux/random.h
index d984608..d6f0042 100644
--- a/include/linux/random.h
@@ -70826,7 +70760,7 @@ index 429c199..4d42e38 100644
/* shm_mode upper byte flags */
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
-index 320e976..fd52553 100644
+index 98399e2..6e225e9 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -590,7 +590,7 @@ extern bool skb_try_coalesce(struct sk_buff *to, struct sk_buff *from,
@@ -70865,7 +70799,7 @@ index 320e976..fd52553 100644
}
/**
-@@ -1722,7 +1722,7 @@ static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
+@@ -1727,7 +1727,7 @@ static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD
@@ -70874,7 +70808,7 @@ index 320e976..fd52553 100644
#endif
extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);
-@@ -2300,7 +2300,7 @@ extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags,
+@@ -2305,7 +2305,7 @@ extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags,
int noblock, int *err);
extern unsigned int datagram_poll(struct file *file, struct socket *sock,
struct poll_table_struct *wait);
@@ -71262,6 +71196,19 @@ index 071d62c..4ccc7ac 100644
extern dma_addr_t swiotlb_map_page(struct device *dev, struct page *page,
unsigned long offset, size_t size,
+diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
+index 45e2db2..1635156a 100644
+--- a/include/linux/syscalls.h
++++ b/include/linux/syscalls.h
+@@ -615,7 +615,7 @@ asmlinkage long sys_getsockname(int, struct sockaddr __user *, int __user *);
+ asmlinkage long sys_getpeername(int, struct sockaddr __user *, int __user *);
+ asmlinkage long sys_send(int, void __user *, size_t, unsigned);
+ asmlinkage long sys_sendto(int, void __user *, size_t, unsigned,
+- struct sockaddr __user *, int);
++ struct sockaddr __user *, int) __intentional_overflow(0);
+ asmlinkage long sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags);
+ asmlinkage long sys_sendmmsg(int fd, struct mmsghdr __user *msg,
+ unsigned int vlen, unsigned flags);
diff --git a/include/linux/syscore_ops.h b/include/linux/syscore_ops.h
index 27b3b0b..e093dd9 100644
--- a/include/linux/syscore_ops.h
@@ -71365,20 +71312,20 @@ index 7faf933..4657127 100644
#ifdef CONFIG_MAGIC_SYSRQ
diff --git a/include/linux/thread_info.h b/include/linux/thread_info.h
-index e7e0473..39b7b52 100644
+index e7e0473..7989295 100644
--- a/include/linux/thread_info.h
+++ b/include/linux/thread_info.h
@@ -148,6 +148,15 @@ static inline bool test_and_clear_restore_sigmask(void)
#error "no set_restore_sigmask() provided and default one won't work"
#endif
-+extern void __check_object_size(const void *ptr, unsigned long n, bool to);
-+static inline void check_object_size(const void *ptr, unsigned long n, bool to)
++extern void __check_object_size(const void *ptr, unsigned long n, bool to_user);
++static inline void check_object_size(const void *ptr, unsigned long n, bool to_user)
+{
+#ifndef CONFIG_PAX_USERCOPY_DEBUG
+ if (!__builtin_constant_p(n))
+#endif
-+ __check_object_size(ptr, n, to);
++ __check_object_size(ptr, n, to_user);
+}
+
#endif /* __KERNEL__ */
@@ -71976,10 +71923,10 @@ index a68f838..74518ab 100644
{
return test_bit(port, sysctl_local_reserved_ports);
diff --git a/include/net/ip_fib.h b/include/net/ip_fib.h
-index 9497be1..5a4fafe 100644
+index e49db91..76a81de 100644
--- a/include/net/ip_fib.h
+++ b/include/net/ip_fib.h
-@@ -169,7 +169,7 @@ extern __be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh);
+@@ -167,7 +167,7 @@ extern __be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh);
#define FIB_RES_SADDR(net, res) \
((FIB_RES_NH(res).nh_saddr_genid == \
@@ -73456,7 +73403,7 @@ index 383d638..943fdbb 100644
mq_table.data = get_mq(table);
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
-index 71a3ca1..c750fff 100644
+index 6ebfbf5..c750fff 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -278,6 +278,7 @@ static struct inode *mqueue_get_inode(struct super_block *sb,
@@ -73467,16 +73414,6 @@ index 71a3ca1..c750fff 100644
spin_lock(&mq_lock);
if (u->mq_bytes + mq_bytes < u->mq_bytes ||
u->mq_bytes + mq_bytes > rlimit(RLIMIT_MSGQUEUE)) {
-@@ -840,7 +841,8 @@ out_putfd:
- fd = error;
- }
- mutex_unlock(&root->d_inode->i_mutex);
-- mnt_drop_write(mnt);
-+ if (!ro)
-+ mnt_drop_write(mnt);
- out_putname:
- putname(name);
- return fd;
diff --git a/ipc/msg.c b/ipc/msg.c
index 31cd1bf..362ea07 100644
--- a/ipc/msg.c
@@ -74762,6 +74699,19 @@ index 8879430..31696f1 100644
for (i = 0; i < ARRAY_SIZE(futex_queues); i++) {
plist_head_init(&futex_queues[i].chain);
+diff --git a/kernel/futex_compat.c b/kernel/futex_compat.c
+index a9642d5..51eb98c 100644
+--- a/kernel/futex_compat.c
++++ b/kernel/futex_compat.c
+@@ -31,7 +31,7 @@ fetch_robust_entry(compat_uptr_t *uentry, struct robust_list __user **entry,
+ return 0;
+ }
+
+-static void __user *futex_uaddr(struct robust_list __user *entry,
++static void __user __intentional_overflow(-1) *futex_uaddr(struct robust_list __user *entry,
+ compat_long_t futex_offset)
+ {
+ compat_uptr_t base = ptr_to_compat(entry);
diff --git a/kernel/gcov/base.c b/kernel/gcov/base.c
index 9b22d03..6295b62 100644
--- a/kernel/gcov/base.c
@@ -78478,10 +78428,10 @@ index f11d83b..d016d91 100644
.clock_get = alarm_clock_get,
.timer_create = alarm_timer_create,
diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
-index f113755..ec24223 100644
+index a13987a..36cd791 100644
--- a/kernel/time/tick-broadcast.c
+++ b/kernel/time/tick-broadcast.c
-@@ -115,7 +115,7 @@ int tick_device_uses_broadcast(struct clock_event_device *dev, int cpu)
+@@ -116,7 +116,7 @@ int tick_device_uses_broadcast(struct clock_event_device *dev, int cpu)
* then clear the broadcast bit.
*/
if (!(dev->features & CLOCK_EVT_FEAT_C3STOP)) {
@@ -78692,7 +78642,7 @@ index c0bd030..62a1927 100644
ret = -EIO;
bt->dropped_file = debugfs_create_file("dropped", 0444, dir, bt,
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
-index 43defd1..76da436 100644
+index b27052c..0e1af95 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1874,12 +1874,17 @@ ftrace_code_disable(struct module *mod, struct dyn_ftrace *rec)
@@ -79042,10 +78992,10 @@ index ce8514f..8233573 100644
*data_page = bpage;
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index 3c13e46..883d039 100644
+index 2ffbc24..76105a2 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
-@@ -4465,10 +4465,9 @@ static const struct file_operations tracing_dyn_info_fops = {
+@@ -4471,10 +4471,9 @@ static const struct file_operations tracing_dyn_info_fops = {
};
#endif
@@ -79057,7 +79007,7 @@ index 3c13e46..883d039 100644
static int once;
if (d_tracer)
-@@ -4488,10 +4487,9 @@ struct dentry *tracing_init_dentry(void)
+@@ -4494,10 +4493,9 @@ struct dentry *tracing_init_dentry(void)
return d_tracer;
}
@@ -79561,7 +79511,7 @@ index e07ee1f..998489d 100644
enum kobj_ns_type type = ops->type;
int error;
diff --git a/lib/list_debug.c b/lib/list_debug.c
-index c24c2f7..0475b78 100644
+index c24c2f7..06e070b 100644
--- a/lib/list_debug.c
+++ b/lib/list_debug.c
@@ -11,7 +11,9 @@
@@ -79597,11 +79547,12 @@ index c24c2f7..0475b78 100644
"next (%p), but was %p. (prev=%p).\n",
- next, prev->next, prev);
- WARN(new == prev || new == next,
+- "list_add double add: new=%p, prev=%p, next=%p.\n",
+- new, prev, next);
+ next, prev->next, prev) ||
+ WARN(new == prev || new == next,
- "list_add double add: new=%p, prev=%p, next=%p.\n",
-- new, prev, next);
-+ new, prev, next))
++ "list_add double add: new=%p, prev=%p, next=%p.\n",
++ new, prev, next))
+ return false;
+ return true;
+}
@@ -80015,7 +79966,7 @@ index b32b70c..e512eb0 100644
set_page_address(page, (void *)vaddr);
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
-index 546db81..34830af 100644
+index d7cec92..b05cc33 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -2008,15 +2008,17 @@ static int hugetlb_sysctl_handler_common(bool obey_mempolicy,
@@ -80060,7 +80011,7 @@ index 546db81..34830af 100644
if (ret)
goto out;
-@@ -2511,6 +2515,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2515,6 +2519,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
return 1;
}
@@ -80088,7 +80039,7 @@ index 546db81..34830af 100644
/*
* Hugetlb_cow() should be called with page lock of the original hugepage held.
* Called with hugetlb_instantiation_mutex held and pte_page locked so we
-@@ -2629,6 +2654,11 @@ retry_avoidcopy:
+@@ -2633,6 +2658,11 @@ retry_avoidcopy:
make_huge_pte(vma, new_page, 1));
page_remove_rmap(old_page);
hugepage_add_new_anon_rmap(new_page, vma, address);
@@ -80100,7 +80051,7 @@ index 546db81..34830af 100644
/* Make the old page be freed below */
new_page = old_page;
}
-@@ -2788,6 +2818,10 @@ retry:
+@@ -2792,6 +2822,10 @@ retry:
&& (vma->vm_flags & VM_SHARED)));
set_huge_pte_at(mm, address, ptep, new_pte);
@@ -80111,7 +80062,7 @@ index 546db81..34830af 100644
if ((flags & FAULT_FLAG_WRITE) && !(vma->vm_flags & VM_SHARED)) {
/* Optimization, do the COW without a second fault */
ret = hugetlb_cow(mm, vma, address, ptep, new_pte, page);
-@@ -2817,6 +2851,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2821,6 +2855,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
static DEFINE_MUTEX(hugetlb_instantiation_mutex);
struct hstate *h = hstate_vma(vma);
@@ -80122,7 +80073,7 @@ index 546db81..34830af 100644
address &= huge_page_mask(h);
ptep = huge_pte_offset(mm, address);
-@@ -2830,6 +2868,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2834,6 +2872,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
VM_FAULT_SET_HINDEX(hstate_index(h));
}
@@ -83112,7 +83063,7 @@ index efd0b3a..994b702 100644
return -ENOMEM;
diff --git a/mm/slab.c b/mm/slab.c
-index e7667a3..b62c169 100644
+index e7667a3..a48e73b 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -306,7 +306,7 @@ struct kmem_list3 {
@@ -83223,7 +83174,15 @@ index e7667a3..b62c169 100644
sizes++;
names++;
}
-@@ -4365,10 +4379,10 @@ void slabinfo_show_stats(struct seq_file *m, struct kmem_cache *cachep)
+@@ -3924,6 +3938,7 @@ void kfree(const void *objp)
+
+ if (unlikely(ZERO_OR_NULL_PTR(objp)))
+ return;
++ VM_BUG_ON(!virt_addr_valid(objp));
+ local_irq_save(flags);
+ kfree_debugcheck(objp);
+ c = virt_to_cache(objp);
+@@ -4365,10 +4380,10 @@ void slabinfo_show_stats(struct seq_file *m, struct kmem_cache *cachep)
}
/* cpu stats */
{
@@ -83238,7 +83197,7 @@ index e7667a3..b62c169 100644
seq_printf(m, " : cpustat %6lu %6lu %6lu %6lu",
allochit, allocmiss, freehit, freemiss);
-@@ -4600,13 +4614,71 @@ static const struct file_operations proc_slabstats_operations = {
+@@ -4600,13 +4615,71 @@ static const struct file_operations proc_slabstats_operations = {
static int __init slab_proc_init(void)
{
#ifdef CONFIG_DEBUG_SLAB_LEAK
@@ -83385,7 +83344,7 @@ index 3f3cd97..93b0236 100644
}
diff --git a/mm/slob.c b/mm/slob.c
-index a99fdf7..f5b6577 100644
+index a99fdf7..6ee34ec 100644
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -157,7 +157,7 @@ static void set_slob(slob_t *s, slobidx_t size, slob_t *next)
@@ -83537,9 +83496,11 @@ index a99fdf7..f5b6577 100644
return ret;
}
-@@ -494,33 +513,110 @@ void kfree(const void *block)
+@@ -493,34 +512,112 @@ void kfree(const void *block)
+ return;
kmemleak_free(block);
++ VM_BUG_ON(!virt_addr_valid(block));
sp = virt_to_page(block);
- if (PageSlab(sp)) {
+ VM_BUG_ON(!PageSlab(sp));
@@ -83657,7 +83618,7 @@ index a99fdf7..f5b6577 100644
}
EXPORT_SYMBOL(ksize);
-@@ -536,23 +632,33 @@ int __kmem_cache_create(struct kmem_cache *c, unsigned long flags)
+@@ -536,23 +633,33 @@ int __kmem_cache_create(struct kmem_cache *c, unsigned long flags)
void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node)
{
@@ -83693,7 +83654,7 @@ index a99fdf7..f5b6577 100644
if (c->ctor)
c->ctor(b);
-@@ -564,10 +670,14 @@ EXPORT_SYMBOL(kmem_cache_alloc_node);
+@@ -564,10 +671,14 @@ EXPORT_SYMBOL(kmem_cache_alloc_node);
static void __kmem_cache_free(void *b, int size)
{
@@ -83710,7 +83671,7 @@ index a99fdf7..f5b6577 100644
}
static void kmem_rcu_free(struct rcu_head *head)
-@@ -580,17 +690,31 @@ static void kmem_rcu_free(struct rcu_head *head)
+@@ -580,17 +691,31 @@ static void kmem_rcu_free(struct rcu_head *head)
void kmem_cache_free(struct kmem_cache *c, void *b)
{
@@ -83746,7 +83707,7 @@ index a99fdf7..f5b6577 100644
EXPORT_SYMBOL(kmem_cache_free);
diff --git a/mm/slub.c b/mm/slub.c
-index ba2ca53..00b1f4e 100644
+index ba2ca53..991c4f7 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -197,7 +197,7 @@ struct track {
@@ -83861,7 +83822,15 @@ index ba2ca53..00b1f4e 100644
size_t ksize(const void *object)
{
struct page *page;
-@@ -3712,17 +3776,17 @@ void __init kmem_cache_init(void)
+@@ -3404,6 +3468,7 @@ void kfree(const void *x)
+ if (unlikely(ZERO_OR_NULL_PTR(x)))
+ return;
+
++ VM_BUG_ON(!virt_addr_valid(x));
+ page = virt_to_head_page(x);
+ if (unlikely(!PageSlab(page))) {
+ BUG_ON(!PageCompound(page));
+@@ -3712,17 +3777,17 @@ void __init kmem_cache_init(void)
/* Caches that are not of the two-to-the-power-of size */
if (KMALLOC_MIN_SIZE <= 32) {
@@ -83882,7 +83851,7 @@ index ba2ca53..00b1f4e 100644
caches++;
}
-@@ -3764,6 +3828,22 @@ void __init kmem_cache_init(void)
+@@ -3764,6 +3829,22 @@ void __init kmem_cache_init(void)
}
}
#endif
@@ -83905,7 +83874,7 @@ index ba2ca53..00b1f4e 100644
printk(KERN_INFO
"SLUB: Genslabs=%d, HWalign=%d, Order=%d-%d, MinObjects=%d,"
" CPUs=%d, Nodes=%d\n",
-@@ -3790,7 +3870,7 @@ static int slab_unmergeable(struct kmem_cache *s)
+@@ -3790,7 +3871,7 @@ static int slab_unmergeable(struct kmem_cache *s)
/*
* We may have set a slab to be unmergeable during bootstrap.
*/
@@ -83914,7 +83883,7 @@ index ba2ca53..00b1f4e 100644
return 1;
return 0;
-@@ -3848,7 +3928,7 @@ __kmem_cache_alias(struct mem_cgroup *memcg, const char *name, size_t size,
+@@ -3848,7 +3929,7 @@ __kmem_cache_alias(struct mem_cgroup *memcg, const char *name, size_t size,
s = find_mergeable(memcg, size, align, flags, name, ctor);
if (s) {
@@ -83923,7 +83892,7 @@ index ba2ca53..00b1f4e 100644
/*
* Adjust the object sizes so that we clear
* the complete object on kzalloc.
-@@ -3857,7 +3937,7 @@ __kmem_cache_alias(struct mem_cgroup *memcg, const char *name, size_t size,
+@@ -3857,7 +3938,7 @@ __kmem_cache_alias(struct mem_cgroup *memcg, const char *name, size_t size,
s->inuse = max_t(int, s->inuse, ALIGN(size, sizeof(void *)));
if (sysfs_slab_alias(s, name)) {
@@ -83932,7 +83901,7 @@ index ba2ca53..00b1f4e 100644
s = NULL;
}
}
-@@ -3919,7 +3999,7 @@ static int __cpuinit slab_cpuup_callback(struct notifier_block *nfb,
+@@ -3919,7 +4000,7 @@ static int __cpuinit slab_cpuup_callback(struct notifier_block *nfb,
return NOTIFY_OK;
}
@@ -83941,7 +83910,7 @@ index ba2ca53..00b1f4e 100644
.notifier_call = slab_cpuup_callback
};
-@@ -3977,7 +4057,7 @@ void *__kmalloc_node_track_caller(size_t size, gfp_t gfpflags,
+@@ -3977,7 +4058,7 @@ void *__kmalloc_node_track_caller(size_t size, gfp_t gfpflags,
}
#endif
@@ -83950,7 +83919,7 @@ index ba2ca53..00b1f4e 100644
static int count_inuse(struct page *page)
{
return page->inuse;
-@@ -4364,12 +4444,12 @@ static void resiliency_test(void)
+@@ -4364,12 +4445,12 @@ static void resiliency_test(void)
validate_slab_cache(kmalloc_caches[9]);
}
#else
@@ -83965,7 +83934,7 @@ index ba2ca53..00b1f4e 100644
enum slab_stat_type {
SL_ALL, /* All slabs */
SL_PARTIAL, /* Only partially allocated slabs */
-@@ -4613,7 +4693,7 @@ SLAB_ATTR_RO(ctor);
+@@ -4613,7 +4694,7 @@ SLAB_ATTR_RO(ctor);
static ssize_t aliases_show(struct kmem_cache *s, char *buf)
{
@@ -83974,7 +83943,7 @@ index ba2ca53..00b1f4e 100644
}
SLAB_ATTR_RO(aliases);
-@@ -5266,6 +5346,7 @@ static char *create_unique_id(struct kmem_cache *s)
+@@ -5266,6 +5347,7 @@ static char *create_unique_id(struct kmem_cache *s)
return name;
}
@@ -83982,7 +83951,7 @@ index ba2ca53..00b1f4e 100644
static int sysfs_slab_add(struct kmem_cache *s)
{
int err;
-@@ -5323,6 +5404,7 @@ static void sysfs_slab_remove(struct kmem_cache *s)
+@@ -5323,6 +5405,7 @@ static void sysfs_slab_remove(struct kmem_cache *s)
kobject_del(&s->kobj);
kobject_put(&s->kobj);
}
@@ -83990,7 +83959,7 @@ index ba2ca53..00b1f4e 100644
/*
* Need to buffer aliases during bootup until sysfs becomes
-@@ -5336,6 +5418,7 @@ struct saved_alias {
+@@ -5336,6 +5419,7 @@ struct saved_alias {
static struct saved_alias *alias_list;
@@ -83998,7 +83967,7 @@ index ba2ca53..00b1f4e 100644
static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
{
struct saved_alias *al;
-@@ -5358,6 +5441,7 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
+@@ -5358,6 +5442,7 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
alias_list = al;
return 0;
}
@@ -84568,7 +84537,7 @@ index d5744b7..506bae3 100644
table = kmemdup(ax25_param_table, sizeof(ax25_param_table), GFP_KERNEL);
if (!table)
diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
-index 7d02ebd..4d4cc01 100644
+index 1ee94d0..14beea2 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -63,7 +63,7 @@ static int batadv_iv_ogm_iface_enable(struct batadv_hard_iface *hard_iface)
@@ -85335,7 +85304,7 @@ index 8acce01..2e306bb 100644
return error;
}
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
-index 798f920..e2261f5 100644
+index 6212ec9..dd4ad3b 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -58,7 +58,7 @@ struct rtnl_link {
@@ -85612,7 +85581,7 @@ index 750f44f..922399c 100644
return err;
}
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
-index d1b0804..4aed0a5 100644
+index d1b0804..98cf5f7 100644
--- a/net/core/sysctl_net_core.c
+++ b/net/core/sysctl_net_core.c
@@ -26,7 +26,7 @@ static int rps_sock_flow_sysctl(ctl_table *table, int write,
@@ -85640,7 +85609,7 @@ index d1b0804..4aed0a5 100644
if (tbl == NULL)
goto err_dup;
-@@ -221,16 +220,16 @@ static __net_init int sysctl_core_net_init(struct net *net)
+@@ -221,17 +220,16 @@ static __net_init int sysctl_core_net_init(struct net *net)
if (net->user_ns != &init_user_ns) {
tbl[0].procname = NULL;
}
@@ -85657,11 +85626,12 @@ index d1b0804..4aed0a5 100644
err_reg:
- if (tbl != netns_core_table)
-+ if (tbl)
- kfree(tbl);
+- kfree(tbl);
++ kfree(tbl);
err_dup:
return -ENOMEM;
-@@ -246,7 +245,7 @@ static __net_exit void sysctl_core_net_exit(struct net *net)
+ }
+@@ -246,7 +244,7 @@ static __net_exit void sysctl_core_net_exit(struct net *net)
kfree(tbl);
}
@@ -85910,10 +85880,10 @@ index 000e3d2..5472da3 100644
secure_ip_id(daddr->addr.a4) :
secure_ipv6_id(daddr->addr.a6));
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
-index eb9d63a..31c5372 100644
+index a8fc332..4ca4ca65 100644
--- a/net/ipv4/ip_fragment.c
+++ b/net/ipv4/ip_fragment.c
-@@ -322,7 +322,7 @@ static inline int ip_frag_too_far(struct ipq *qp)
+@@ -319,7 +319,7 @@ static inline int ip_frag_too_far(struct ipq *qp)
return 0;
start = qp->rid;
@@ -85922,7 +85892,7 @@ index eb9d63a..31c5372 100644
qp->rid = end;
rc = qp->q.fragments && (end - start) > max;
-@@ -789,12 +789,11 @@ static struct ctl_table ip4_frags_ctl_table[] = {
+@@ -786,12 +786,11 @@ static struct ctl_table ip4_frags_ctl_table[] = {
static int __net_init ip4_frags_ns_ctl_register(struct net *net)
{
@@ -85937,7 +85907,7 @@ index eb9d63a..31c5372 100644
if (table == NULL)
goto err_alloc;
-@@ -805,9 +804,10 @@ static int __net_init ip4_frags_ns_ctl_register(struct net *net)
+@@ -802,9 +801,10 @@ static int __net_init ip4_frags_ns_ctl_register(struct net *net)
/* Don't export sysctls to unprivileged users */
if (net->user_ns != &init_user_ns)
table[0].procname = NULL;
@@ -85950,7 +85920,7 @@ index eb9d63a..31c5372 100644
if (hdr == NULL)
goto err_reg;
-@@ -815,8 +815,7 @@ static int __net_init ip4_frags_ns_ctl_register(struct net *net)
+@@ -812,8 +812,7 @@ static int __net_init ip4_frags_ns_ctl_register(struct net *net)
return 0;
err_reg:
@@ -85961,7 +85931,7 @@ index eb9d63a..31c5372 100644
return -ENOMEM;
}
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
-index e81b1ca..6f3b5b9 100644
+index a85062b..2958a9b 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -124,7 +124,7 @@ static bool log_ecn_error = true;
@@ -85973,7 +85943,7 @@ index e81b1ca..6f3b5b9 100644
static int ipgre_tunnel_init(struct net_device *dev);
static void ipgre_tunnel_setup(struct net_device *dev);
static int ipgre_tunnel_bind_dev(struct net_device *dev);
-@@ -1756,7 +1756,7 @@ static const struct nla_policy ipgre_policy[IFLA_GRE_MAX + 1] = {
+@@ -1753,7 +1753,7 @@ static const struct nla_policy ipgre_policy[IFLA_GRE_MAX + 1] = {
[IFLA_GRE_PMTUDISC] = { .type = NLA_U8 },
};
@@ -85982,7 +85952,7 @@ index e81b1ca..6f3b5b9 100644
.kind = "gre",
.maxtype = IFLA_GRE_MAX,
.policy = ipgre_policy,
-@@ -1769,7 +1769,7 @@ static struct rtnl_link_ops ipgre_link_ops __read_mostly = {
+@@ -1766,7 +1766,7 @@ static struct rtnl_link_ops ipgre_link_ops __read_mostly = {
.fill_info = ipgre_fill_info,
};
@@ -86503,7 +86473,7 @@ index 66702d3..31ff8f9 100644
if (icsk->icsk_af_ops->conn_request(sk, skb) < 0)
return 1;
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
-index eadb693..e8f7251 100644
+index d9130a9..00328ff 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -90,6 +90,10 @@ int sysctl_tcp_low_latency __read_mostly;
@@ -86917,10 +86887,10 @@ index 125a90d..2a11f36 100644
case IP6T_SO_GET_ENTRIES:
diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c
-index 3dacecc..2939087 100644
+index 2f3a018..8bca195 100644
--- a/net/ipv6/netfilter/nf_conntrack_reasm.c
+++ b/net/ipv6/netfilter/nf_conntrack_reasm.c
-@@ -87,12 +87,11 @@ static struct ctl_table nf_ct_frag6_sysctl_table[] = {
+@@ -89,12 +89,11 @@ static struct ctl_table nf_ct_frag6_sysctl_table[] = {
static int nf_ct_frag6_sysctl_register(struct net *net)
{
@@ -86935,7 +86905,7 @@ index 3dacecc..2939087 100644
GFP_KERNEL);
if (table == NULL)
goto err_alloc;
-@@ -100,9 +99,9 @@ static int nf_ct_frag6_sysctl_register(struct net *net)
+@@ -102,9 +101,9 @@ static int nf_ct_frag6_sysctl_register(struct net *net)
table[0].data = &net->ipv6.frags.high_thresh;
table[1].data = &net->ipv6.frags.low_thresh;
table[2].data = &net->ipv6.frags.timeout;
@@ -86948,7 +86918,7 @@ index 3dacecc..2939087 100644
if (hdr == NULL)
goto err_reg;
-@@ -110,8 +109,7 @@ static int nf_ct_frag6_sysctl_register(struct net *net)
+@@ -112,8 +111,7 @@ static int nf_ct_frag6_sysctl_register(struct net *net)
return 0;
err_reg:
@@ -87043,10 +87013,10 @@ index 70fa814..d70c28c 100644
static int raw6_seq_show(struct seq_file *seq, void *v)
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c
-index e5253ec..0410257 100644
+index d9ba8a2..f3f9e14 100644
--- a/net/ipv6/reassembly.c
+++ b/net/ipv6/reassembly.c
-@@ -604,12 +604,11 @@ static struct ctl_table ip6_frags_ctl_table[] = {
+@@ -608,12 +608,11 @@ static struct ctl_table ip6_frags_ctl_table[] = {
static int __net_init ip6_frags_ns_sysctl_register(struct net *net)
{
@@ -87061,7 +87031,7 @@ index e5253ec..0410257 100644
if (table == NULL)
goto err_alloc;
-@@ -620,9 +619,10 @@ static int __net_init ip6_frags_ns_sysctl_register(struct net *net)
+@@ -624,9 +623,10 @@ static int __net_init ip6_frags_ns_sysctl_register(struct net *net)
/* Don't export sysctls to unprivileged users */
if (net->user_ns != &init_user_ns)
table[0].procname = NULL;
@@ -87074,7 +87044,7 @@ index e5253ec..0410257 100644
if (hdr == NULL)
goto err_reg;
-@@ -630,8 +630,7 @@ static int __net_init ip6_frags_ns_sysctl_register(struct net *net)
+@@ -634,8 +634,7 @@ static int __net_init ip6_frags_ns_sysctl_register(struct net *net)
return 0;
err_reg:
@@ -87133,7 +87103,7 @@ index e85c48b..b8268d3 100644
struct ctl_table *ipv6_icmp_table;
int err;
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
-index 4f435371..5de9da7 100644
+index 8d19346..e47216f 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -103,6 +103,10 @@ static void inet6_sk_rx_dst_set(struct sock *sk, const struct sk_buff *skb)
@@ -87147,7 +87117,7 @@ index 4f435371..5de9da7 100644
static void tcp_v6_hash(struct sock *sk)
{
if (sk->sk_state != TCP_CLOSE) {
-@@ -1433,6 +1437,9 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
+@@ -1440,6 +1444,9 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
return 0;
reset:
@@ -87157,7 +87127,7 @@ index 4f435371..5de9da7 100644
tcp_v6_send_reset(sk, skb);
discard:
if (opt_skb)
-@@ -1514,12 +1521,20 @@ static int tcp_v6_rcv(struct sk_buff *skb)
+@@ -1521,12 +1528,20 @@ static int tcp_v6_rcv(struct sk_buff *skb)
TCP_SKB_CB(skb)->sacked = 0;
sk = __inet6_lookup_skb(&tcp_hashinfo, skb, th->source, th->dest);
@@ -87180,7 +87150,7 @@ index 4f435371..5de9da7 100644
if (hdr->hop_limit < inet6_sk(sk)->min_hopcount) {
NET_INC_STATS_BH(net, LINUX_MIB_TCPMINTTLDROP);
-@@ -1568,6 +1583,10 @@ no_tcp_socket:
+@@ -1575,6 +1590,10 @@ no_tcp_socket:
bad_packet:
TCP_INC_STATS_BH(net, TCP_MIB_INERRS);
} else {
@@ -89016,7 +88986,7 @@ index bf3c6e8..376d8d0 100644
table = kmemdup(sctp_net_table, sizeof(sctp_net_table), GFP_KERNEL);
diff --git a/net/socket.c b/net/socket.c
-index 2ca51c7..adc6cb6 100644
+index 2ca51c7..9a9c83e 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -89,6 +89,7 @@
@@ -89173,7 +89143,7 @@ index 2ca51c7..adc6cb6 100644
* the protocol.
*/
-+asmlinkage long sys_sendto(int, void *, size_t, unsigned, struct sockaddr *, int) __intentional_overflow(0);
++asmlinkage long sys_sendto(int, void *, size_t, unsigned, struct sockaddr *, int);
+
SYSCALL_DEFINE6(sendto, int, fd, void __user *, buff, size_t, len,
unsigned int, flags, struct sockaddr __user *, addr,
@@ -89187,6 +89157,15 @@ index 2ca51c7..adc6cb6 100644
ctl_len))
goto out_freectl;
msg_sys->msg_control = ctl_buf;
+@@ -2187,7 +2249,7 @@ static int __sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
+ int err, total_len, len;
+
+ /* kernel mode address */
+- struct sockaddr_storage addr;
++ struct sockaddr_storage addr = { };
+
+ /* user mode address pointers */
+ struct sockaddr __user *uaddr;
@@ -2215,7 +2277,7 @@ static int __sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
* kernel msghdr to use the kernel address space)
*/
@@ -90364,10 +90343,10 @@ index e4fd45b..2eeb5c4 100644
shdr = (Elf_Shdr *)((char *)ehdr + _r(&ehdr->e_shoff));
shstrtab_sec = shdr + r2(&ehdr->e_shstrndx);
diff --git a/security/Kconfig b/security/Kconfig
-index e9c6ac7..952353c 100644
+index e9c6ac7..20df9f1 100644
--- a/security/Kconfig
+++ b/security/Kconfig
-@@ -4,6 +4,925 @@
+@@ -4,6 +4,944 @@
menu "Security options"
@@ -90541,15 +90520,17 @@ index e9c6ac7..952353c 100644
+ help
+ Choose this option if performance is of highest priority for this deployment
+ of grsecurity. Features like UDEREF on a 64bit kernel, kernel stack clearing,
-+ and freed memory sanitizing will be disabled.
++ clearing of structures intended for userland, and freed memory sanitizing will
++ be disabled.
+
+config GRKERNSEC_CONFIG_PRIORITY_SECURITY
+ bool "Security"
+ help
+ Choose this option if security is of highest priority for this deployment of
-+ grsecurity. UDEREF, kernel stack clearing, and freed memory sanitizing will
-+ be enabled for this kernel. In a worst-case scenario, these features can
-+ introduce a 20% performance hit (UDEREF on x64 contributing half of this hit).
++ grsecurity. UDEREF, kernel stack clearing, clearing of structures intended
++ for userland, and freed memory sanitizing will be enabled for this kernel.
++ In a worst-case scenario, these features can introduce a 20% performance hit
++ (UDEREF on x64 contributing half of this hit).
+
+endchoice
+
@@ -91145,6 +91126,23 @@ index e9c6ac7..952353c 100644
+ frames may leave uninitialized memory behind that may be exposed
+ to a later syscall leaking the stack.
+
++config PAX_MEMORY_STRUCTLEAK
++ bool "Forcibly initialize local variables copied to userland"
++ default y if (GRKERNSEC_CONFIG_AUTO && GRKERNSEC_CONFIG_PRIORITY_SECURITY)
++ help
++ By saying Y here the kernel will zero initialize some local
++ variables that are going to be copied to userland. This in
++ turn prevents unintended information leakage from the kernel
++ stack should later code forget to explicitly set all parts of
++ the copied variable.
++
++ The tradeoff is less performance impact than PAX_MEMORY_STACKLEAK
++ at a much smaller coverage.
++
++ Note that the implementation requires a gcc with plugin support,
++ i.e., gcc 4.5 or newer. You may need to install the supporting
++ headers explicitly in addition to the normal gcc package.
++
+config PAX_MEMORY_UDEREF
+ bool "Prevent invalid userland pointer dereference"
+ default y if GRKERNSEC_CONFIG_AUTO && !(X86_64 && GRKERNSEC_CONFIG_PRIORITY_PERF) && (GRKERNSEC_CONFIG_VIRT_NONE || GRKERNSEC_CONFIG_VIRT_EPT)
@@ -91293,7 +91291,7 @@ index e9c6ac7..952353c 100644
source security/keys/Kconfig
config SECURITY_DMESG_RESTRICT
-@@ -103,7 +1022,7 @@ config INTEL_TXT
+@@ -103,7 +1041,7 @@ config INTEL_TXT
config LSM_MMAP_MIN_ADDR
int "Low address space for LSM to protect from user allocation"
depends on SECURITY && SECURITY_SELINUX
@@ -92260,10 +92258,10 @@ index 0000000..50f2f2f
+size_overflow_hash.h
diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile
new file mode 100644
-index 0000000..33a1587
+index 0000000..144dbee
--- /dev/null
+++ b/tools/gcc/Makefile
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,45 @@
+#CC := gcc
+#PLUGIN_SOURCE_FILES := pax_plugin.c
+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES))
@@ -92286,6 +92284,7 @@ index 0000000..33a1587
+$(HOSTLIBS)-y += colorize_plugin.so
+$(HOSTLIBS)-$(CONFIG_PAX_SIZE_OVERFLOW) += size_overflow_plugin.so
+$(HOSTLIBS)-$(CONFIG_PAX_LATENT_ENTROPY) += latent_entropy_plugin.so
++$(HOSTLIBS)-$(CONFIG_PAX_MEMORY_STRUCTLEAK) += structleak_plugin.so
+
+always := $($(HOSTLIBS)-y)
+
@@ -92297,6 +92296,7 @@ index 0000000..33a1587
+colorize_plugin-objs := colorize_plugin.o
+size_overflow_plugin-objs := size_overflow_plugin.o
+latent_entropy_plugin-objs := latent_entropy_plugin.o
++structleak_plugin-objs := structleak_plugin.o
+
+$(obj)/size_overflow_plugin.o: $(objtree)/$(obj)/size_overflow_hash.h
+
@@ -92643,10 +92643,10 @@ index 0000000..414fe5e
+}
diff --git a/tools/gcc/constify_plugin.c b/tools/gcc/constify_plugin.c
new file mode 100644
-index 0000000..43e86d6
+index 0000000..bee0acb
--- /dev/null
+++ b/tools/gcc/constify_plugin.c
-@@ -0,0 +1,512 @@
+@@ -0,0 +1,518 @@
+/*
+ * Copyright 2011 by Emese Revfy <re.emese@gmail.com>
+ * Copyright 2011-2013 by PaX Team <pageexec@freemail.hu>
@@ -92682,6 +92682,7 @@ index 0000000..43e86d6
+#include "emit-rtl.h"
+#include "tree-flow.h"
+#include "target.h"
++#include "langhooks.h"
+
+// should come from c-tree.h if only it were installed for gcc 4.5...
+#define C_TYPE_FIELDS_READONLY(TYPE) TREE_LANG_FLAG_1(TYPE)
@@ -92692,7 +92693,7 @@ index 0000000..43e86d6
+int plugin_is_GPL_compatible;
+
+static struct plugin_info const_plugin_info = {
-+ .version = "201303070020",
++ .version = "201303270300",
+ .help = "no-constify\tturn off constification\n",
+};
+
@@ -93149,6 +93150,11 @@ index 0000000..43e86d6
+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key);
+ }
+
++ if (strcmp(lang_hooks.name, "GNU C")) {
++ inform(UNKNOWN_LOCATION, G_("%s supports C only"), plugin_name);
++ constify = false;
++ }
++
+ register_callback(plugin_name, PLUGIN_INFO, NULL, &const_plugin_info);
+ if (constify) {
+ register_callback(plugin_name, PLUGIN_FINISH_TYPE, finish_type, NULL);
@@ -102496,6 +102502,282 @@ index 0000000..ac2901e
+
+ return 0;
+}
+diff --git a/tools/gcc/structleak_plugin.c b/tools/gcc/structleak_plugin.c
+new file mode 100644
+index 0000000..77a6b1d
+--- /dev/null
++++ b/tools/gcc/structleak_plugin.c
+@@ -0,0 +1,270 @@
++/*
++ * Copyright 2013 by PaX Team <pageexec@freemail.hu>
++ * Licensed under the GPL v2
++ *
++ * Note: the choice of the license means that the compilation process is
++ * NOT 'eligible' as defined by gcc's library exception to the GPL v3,
++ * but for the kernel it doesn't matter since it doesn't link against
++ * any of the gcc libraries
++ *
++ * gcc plugin to forcibly initialize certain local variables that could
++ * otherwise leak kernel stack to userland if they aren't properly initialized
++ * by later code
++ *
++ * Homepage: http://pax.grsecurity.net/
++ *
++ * Usage:
++ * $ # for 4.5/4.6/C based 4.7
++ * $ gcc -I`gcc -print-file-name=plugin`/include -I`gcc -print-file-name=plugin`/include/c-family -fPIC -shared -O2 -o structleak_plugin.so structleak_plugin.c
++ * $ # for C++ based 4.7/4.8+
++ * $ g++ -I`g++ -print-file-name=plugin`/include -I`g++ -print-file-name=plugin`/include/c-family -fPIC -shared -O2 -o structleak_plugin.so structleak_plugin.c
++ * $ gcc -fplugin=./structleak_plugin.so test.c -O2
++ *
++ * TODO: eliminate redundant initializers
++ * increase type coverage
++ */
++
++#include "gcc-plugin.h"
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tree.h"
++#include "tree-pass.h"
++#include "intl.h"
++#include "plugin-version.h"
++#include "tm.h"
++#include "toplev.h"
++#include "function.h"
++#include "tree-flow.h"
++#include "plugin.h"
++#include "gimple.h"
++#include "diagnostic.h"
++#include "cfgloop.h"
++#include "langhooks.h"
++
++#if BUILDING_GCC_VERSION >= 4008
++#define TODO_dump_func 0
++#endif
++
++#define NAME(node) IDENTIFIER_POINTER(DECL_NAME(node))
++
++// unused type flag in all versions 4.5-4.8
++#define TYPE_USERSPACE(TYPE) TYPE_LANG_FLAG_3(TYPE)
++
++int plugin_is_GPL_compatible;
++void debug_gimple_stmt(gimple gs);
++
++static struct plugin_info structleak_plugin_info = {
++ .version = "201303270300",
++ .help = "disable\tdo not activate plugin\n",
++};
++
++static tree handle_user_attribute(tree *node, tree name, tree args, int flags, bool *no_add_attrs)
++{
++ *no_add_attrs = true;
++
++ // check for types? for now accept everything linux has to offer
++ if (TREE_CODE(*node) != FIELD_DECL)
++ return NULL_TREE;
++
++ *no_add_attrs = false;
++ return NULL_TREE;
++}
++
++static struct attribute_spec user_attr = {
++ .name = "user",
++ .min_length = 0,
++ .max_length = 0,
++ .decl_required = false,
++ .type_required = false,
++ .function_type_required = false,
++ .handler = handle_user_attribute,
++#if BUILDING_GCC_VERSION >= 4007
++ .affects_type_identity = true
++#endif
++};
++
++static void register_attributes(void *event_data, void *data)
++{
++ register_attribute(&user_attr);
++// register_attribute(&force_attr);
++}
++
++static tree get_field_type(tree field)
++{
++ return strip_array_types(TREE_TYPE(field));
++}
++
++static bool is_userspace_type(tree type)
++{
++ tree field;
++
++ for (field = TYPE_FIELDS(type); field; field = TREE_CHAIN(field)) {
++ tree fieldtype = get_field_type(field);
++ enum tree_code code = TREE_CODE(fieldtype);
++
++ if (code == RECORD_TYPE || code == UNION_TYPE)
++ if (is_userspace_type(fieldtype))
++ return true;
++
++ if (lookup_attribute("user", DECL_ATTRIBUTES(field)))
++ return true;
++ }
++ return false;
++}
++
++static void finish_type(void *event_data, void *data)
++{
++ tree type = (tree)event_data;
++
++ if (TYPE_USERSPACE(type))
++ return;
++
++ if (is_userspace_type(type))
++ TYPE_USERSPACE(type) = 1;
++}
++
++static void initialize(tree var)
++{
++ basic_block bb;
++ gimple_stmt_iterator gsi;
++ tree initializer;
++ gimple init_stmt;
++
++ // this is the original entry bb before the forced split
++ bb = ENTRY_BLOCK_PTR->next_bb->next_bb;
++
++ // first check if the variable is already initialized, warn otherwise
++ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
++ gimple stmt = gsi_stmt(gsi);
++
++ // we're looking for an assignment...
++ if (!(is_gimple_assign(stmt)))
++ continue;
++ // ... of a single rhs (unary op)...
++ if (gimple_num_ops(stmt) != 2)
++ continue;
++ // ... to our variable...
++ if (gimple_get_lhs(stmt) != var)
++ continue;
++ // if it's an initializer then we're good
++ if (TREE_CODE(gimple_assign_rhs1(stmt)) == CONSTRUCTOR)
++ return;
++ }
++
++ // build the initializer expression
++ initializer = make_node(CONSTRUCTOR);
++ TREE_TYPE(initializer) = TREE_TYPE(var);
++
++ // build the initializer stmt
++ init_stmt = gimple_build_assign(var, initializer);
++ gsi = gsi_start_bb(ENTRY_BLOCK_PTR->next_bb);
++ gsi_insert_before(&gsi, init_stmt, GSI_NEW_STMT);
++ update_stmt(init_stmt);
++}
++
++static unsigned int handle_function(void)
++{
++ basic_block bb;
++ unsigned int ret = 0;
++ tree var;
++
++#if BUILDING_GCC_VERSION == 4005
++ tree vars;
++#else
++ unsigned int i;
++#endif
++
++ // split the first bb where we can put the forced initializers
++ bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest;
++ if (dom_info_available_p(CDI_DOMINATORS))
++ set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR);
++
++ // enumarate all local variables and forcibly initialize our targets
++#if BUILDING_GCC_VERSION == 4005
++ for (vars = cfun->local_decls; vars; vars = TREE_CHAIN(vars)) {
++ var = TREE_VALUE(vars);
++#else
++ FOR_EACH_LOCAL_DECL(cfun, i, var) {
++#endif
++ tree type = TREE_TYPE(var);
++
++ gcc_assert(DECL_P(var));
++ if (is_global_var(var))
++ continue;
++
++ // only care about structure types
++ if (TREE_CODE(type) != RECORD_TYPE && TREE_CODE(type) != UNION_TYPE)
++ continue;
++
++ // if the type is of interest, examine the variable
++ if (TYPE_USERSPACE(type))
++ initialize(var);
++ }
++
++ return ret;
++}
++
++static struct gimple_opt_pass structleak_pass = {
++ .pass = {
++ .type = GIMPLE_PASS,
++ .name = "structleak",
++#if BUILDING_GCC_VERSION >= 4008
++ .optinfo_flags = OPTGROUP_NONE,
++#endif
++ .gate = NULL,
++ .execute = handle_function,
++ .sub = NULL,
++ .next = NULL,
++ .static_pass_number = 0,
++ .tv_id = TV_NONE,
++ .properties_required = PROP_cfg,
++ .properties_provided = 0,
++ .properties_destroyed = 0,
++ .todo_flags_start = 0,
++ .todo_flags_finish = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa | TODO_ggc_collect | TODO_verify_flow
++ }
++};
++
++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version)
++{
++ int i;
++ const char * const plugin_name = plugin_info->base_name;
++ const int argc = plugin_info->argc;
++ const struct plugin_argument * const argv = plugin_info->argv;
++ bool enable = true;
++
++ struct register_pass_info structleak_pass_info = {
++ .pass = &structleak_pass.pass,
++ .reference_pass_name = "ssa",
++ .ref_pass_instance_number = 1,
++ .pos_op = PASS_POS_INSERT_AFTER
++ };
++
++ if (!plugin_default_version_check(version, &gcc_version)) {
++ error(G_("incompatible gcc/plugin versions"));
++ return 1;
++ }
++
++ if (strcmp(lang_hooks.name, "GNU C")) {
++ inform(UNKNOWN_LOCATION, G_("%s supports C only"), plugin_name);
++ enable = false;
++ }
++
++ for (i = 0; i < argc; ++i) {
++ if (!strcmp(argv[i].key, "disable")) {
++ enable = false;
++ continue;
++ }
++ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key);
++ }
++
++ register_callback(plugin_name, PLUGIN_INFO, NULL, &structleak_plugin_info);
++ if (enable) {
++ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &structleak_pass_info);
++ register_callback(plugin_name, PLUGIN_FINISH_TYPE, finish_type, NULL);
++ }
++ register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL);
++
++ return 0;
++}
diff --git a/tools/perf/util/include/asm/alternative-asm.h b/tools/perf/util/include/asm/alternative-asm.h
index 6789d78..4afd019e 100644
--- a/tools/perf/util/include/asm/alternative-asm.h
diff --git a/3.8.4/4425_grsec_remove_EI_PAX.patch b/3.8.5/4425_grsec_remove_EI_PAX.patch
index 97e6951..97e6951 100644
--- a/3.8.4/4425_grsec_remove_EI_PAX.patch
+++ b/3.8.5/4425_grsec_remove_EI_PAX.patch
diff --git a/3.8.4/4430_grsec-remove-localversion-grsec.patch b/3.8.5/4430_grsec-remove-localversion-grsec.patch
index 31cf878..31cf878 100644
--- a/3.8.4/4430_grsec-remove-localversion-grsec.patch
+++ b/3.8.5/4430_grsec-remove-localversion-grsec.patch
diff --git a/3.8.4/4435_grsec-mute-warnings.patch b/3.8.5/4435_grsec-mute-warnings.patch
index e1a7a3c..e1a7a3c 100644
--- a/3.8.4/4435_grsec-mute-warnings.patch
+++ b/3.8.5/4435_grsec-mute-warnings.patch
diff --git a/3.8.4/4440_grsec-remove-protected-paths.patch b/3.8.5/4440_grsec-remove-protected-paths.patch
index 637934a..637934a 100644
--- a/3.8.4/4440_grsec-remove-protected-paths.patch
+++ b/3.8.5/4440_grsec-remove-protected-paths.patch
diff --git a/3.8.4/4450_grsec-kconfig-default-gids.patch b/3.8.5/4450_grsec-kconfig-default-gids.patch
index 3dfdc8f..3dfdc8f 100644
--- a/3.8.4/4450_grsec-kconfig-default-gids.patch
+++ b/3.8.5/4450_grsec-kconfig-default-gids.patch
diff --git a/3.8.4/4465_selinux-avc_audit-log-curr_ip.patch b/3.8.5/4465_selinux-avc_audit-log-curr_ip.patch
index 5b614b1..5b614b1 100644
--- a/3.8.4/4465_selinux-avc_audit-log-curr_ip.patch
+++ b/3.8.5/4465_selinux-avc_audit-log-curr_ip.patch
diff --git a/3.8.4/4470_disable-compat_vdso.patch b/3.8.5/4470_disable-compat_vdso.patch
index 1037ba9..1037ba9 100644
--- a/3.8.4/4470_disable-compat_vdso.patch
+++ b/3.8.5/4470_disable-compat_vdso.patch