diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2013-03-23 09:36:59 -0400 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2013-03-23 09:36:59 -0400 |
commit | a1a1b04c98349f08d1022ec282abc552d199b2da (patch) | |
tree | 54096268c5ca5f43a5ff265474c2f2a47478318b | |
parent | Fix 3.8.2 -> 3.8.3 (diff) | |
download | hardened-patchset-20130322.tar.gz hardened-patchset-20130322.tar.bz2 hardened-patchset-20130322.zip |
Grsec/PaX: 2.9.1-{2.6.32.60,3.2.40,3.8.4}-20130322182320130322
-rw-r--r-- | 2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303221823.patch (renamed from 2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303142231.patch) | 565 | ||||
-rw-r--r-- | 3.2.40/0000_README | 2 | ||||
-rw-r--r-- | 3.2.40/4420_grsecurity-2.9.1-3.2.40-201303221825.patch (renamed from 3.2.40/4420_grsecurity-2.9.1-3.2.40-201303142234.patch) | 852 | ||||
-rw-r--r-- | 3.8.3/1001_linux-3.8.2.patch | 3093 | ||||
-rw-r--r-- | 3.8.3/1002_linux-3.8.3.patch | 4814 | ||||
-rw-r--r-- | 3.8.4/0000_README (renamed from 3.8.3/0000_README) | 10 | ||||
-rw-r--r-- | 3.8.4/1003_linux-3.8.4.patch | 2902 | ||||
-rw-r--r-- | 3.8.4/4420_grsecurity-2.9.1-3.8.4-201303221826.patch (renamed from 3.8.3/4420_grsecurity-2.9.1-3.8.3-201303142235.patch) | 11692 | ||||
-rw-r--r-- | 3.8.4/4425_grsec_remove_EI_PAX.patch (renamed from 3.8.3/4425_grsec_remove_EI_PAX.patch) | 0 | ||||
-rw-r--r-- | 3.8.4/4430_grsec-remove-localversion-grsec.patch (renamed from 3.8.3/4430_grsec-remove-localversion-grsec.patch) | 0 | ||||
-rw-r--r-- | 3.8.4/4435_grsec-mute-warnings.patch (renamed from 3.8.3/4435_grsec-mute-warnings.patch) | 0 | ||||
-rw-r--r-- | 3.8.4/4440_grsec-remove-protected-paths.patch (renamed from 3.8.3/4440_grsec-remove-protected-paths.patch) | 0 | ||||
-rw-r--r-- | 3.8.4/4450_grsec-kconfig-default-gids.patch (renamed from 3.8.3/4450_grsec-kconfig-default-gids.patch) | 0 | ||||
-rw-r--r-- | 3.8.4/4465_selinux-avc_audit-log-curr_ip.patch (renamed from 3.8.3/4465_selinux-avc_audit-log-curr_ip.patch) | 0 | ||||
-rw-r--r-- | 3.8.4/4470_disable-compat_vdso.patch (renamed from 3.8.3/4470_disable-compat_vdso.patch) | 0 |
15 files changed, 11173 insertions, 12757 deletions
diff --git a/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303142231.patch b/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303221823.patch index 966075e..27cb164 100644 --- a/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303142231.patch +++ b/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201303221823.patch @@ -265,7 +265,7 @@ index 334258c..1e8f4ff 100644 M: Liam Girdwood <lrg@slimlogic.co.uk> M: Mark Brown <broonie@opensource.wolfsonmicro.com> diff --git a/Makefile b/Makefile -index b0e245e..1c8b6ed 100644 +index b0e245e..e2589d0 100644 --- a/Makefile +++ b/Makefile @@ -221,8 +221,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ @@ -358,7 +358,7 @@ index b0e245e..1c8b6ed 100644 +else + $(Q)echo "warning, your gcc version does not support plugins, you should upgrade it to gcc 4.5 at least" +endif -+ $(Q)echo "PAX_MEMORY_STACKLEAK and constification will be less secure" ++ $(Q)echo "PAX_MEMORY_STACKLEAK, constification, PAX_LATENT_ENTROPY and other features will be less secure. PAX_SIZE_OVERFLOW will not be active." +endif +endif + @@ -2753,6 +2753,18 @@ index 285aae8..61dbab6 100644 .alloc_coherent = ia64_swiotlb_alloc_coherent, .free_coherent = swiotlb_free_coherent, .map_page = swiotlb_map_page, +diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c +index f178270..2dcff27 100644 +--- a/arch/ia64/kernel/perfmon.c ++++ b/arch/ia64/kernel/perfmon.c +@@ -2372,7 +2372,6 @@ pfm_smpl_buffer_alloc(struct task_struct *task, struct file *filp, pfm_context_t + */ + insert_vm_struct(mm, vma); + +- mm->total_vm += size >> PAGE_SHIFT; + vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, + vma_pages(vma)); + up_write(&task->mm->mmap_sem); diff --git a/arch/ia64/kernel/sys_ia64.c b/arch/ia64/kernel/sys_ia64.c index 609d500..acd0429 100644 --- a/arch/ia64/kernel/sys_ia64.c @@ -24038,7 +24050,7 @@ index e6d925f..6bde4d6 100644 .disabled_by_bios = vmx_disabled_by_bios, .hardware_setup = hardware_setup, diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 271fddf..ea708b4 100644 +index 271fddf..fe56f44 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -82,7 +82,7 @@ static void update_cr8_intercept(struct kvm_vcpu *vcpu); @@ -24050,7 +24062,19 @@ index 271fddf..ea708b4 100644 EXPORT_SYMBOL_GPL(kvm_x86_ops); int ignore_msrs = 0; -@@ -1430,15 +1430,20 @@ static int kvm_vcpu_ioctl_set_cpuid2(struct kvm_vcpu *vcpu, +@@ -925,6 +925,11 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 data) + /* ...but clean it before doing the actual write */ + vcpu->arch.time_offset = data & ~(PAGE_MASK | 1); + ++ /* Check that the address is 32-byte aligned. */ ++ if (vcpu->arch.time_offset & ++ (sizeof(struct pvclock_vcpu_time_info) - 1)) ++ break; ++ + vcpu->arch.time_page = + gfn_to_page(vcpu->kvm, data >> PAGE_SHIFT); + +@@ -1430,15 +1435,20 @@ static int kvm_vcpu_ioctl_set_cpuid2(struct kvm_vcpu *vcpu, struct kvm_cpuid2 *cpuid, struct kvm_cpuid_entry2 __user *entries) { @@ -24074,7 +24098,7 @@ index 271fddf..ea708b4 100644 vcpu->arch.cpuid_nent = cpuid->nent; kvm_apic_set_version(vcpu); return 0; -@@ -1451,16 +1456,20 @@ static int kvm_vcpu_ioctl_get_cpuid2(struct kvm_vcpu *vcpu, +@@ -1451,16 +1461,20 @@ static int kvm_vcpu_ioctl_get_cpuid2(struct kvm_vcpu *vcpu, struct kvm_cpuid2 *cpuid, struct kvm_cpuid_entry2 __user *entries) { @@ -24098,7 +24122,7 @@ index 271fddf..ea708b4 100644 return 0; out: -@@ -1678,7 +1687,7 @@ static int kvm_vcpu_ioctl_set_lapic(struct kvm_vcpu *vcpu, +@@ -1678,7 +1692,7 @@ static int kvm_vcpu_ioctl_set_lapic(struct kvm_vcpu *vcpu, static int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq) { @@ -24107,7 +24131,7 @@ index 271fddf..ea708b4 100644 return -EINVAL; if (irqchip_in_kernel(vcpu->kvm)) return -ENXIO; -@@ -3300,10 +3309,10 @@ static struct notifier_block kvmclock_cpufreq_notifier_block = { +@@ -3300,10 +3314,10 @@ static struct notifier_block kvmclock_cpufreq_notifier_block = { .notifier_call = kvmclock_cpufreq_notifier }; @@ -48725,24 +48749,34 @@ index 032ebae..6a3532c 100644 q.int_ops = &sg_ops; diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c -index b6992b7..9fa7547 100644 +index b6992b7..ff830bd 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c -@@ -6709,8 +6709,14 @@ procmpt_iocinfo_read(char *buf, char **start, off_t offset, int request, int *eo - len += sprintf(buf+len, " MaxChainDepth = 0x%02x frames\n", ioc->facts.MaxChainDepth); +@@ -6710,7 +6710,12 @@ procmpt_iocinfo_read(char *buf, char **start, off_t offset, int request, int *eo len += sprintf(buf+len, " MinBlockSize = 0x%02x bytes\n", 4*ioc->facts.BlockSize); + len += sprintf(buf+len, " RequestFrames @ 0x%p (Dma @ 0x%p)\n", +#ifdef CONFIG_GRKERNSEC_HIDESYM -+ len += sprintf(buf+len, " RequestFrames @ 0x%p (Dma @ 0x%p)\n", + NULL, NULL); +#else - len += sprintf(buf+len, " RequestFrames @ 0x%p (Dma @ 0x%p)\n", (void *)ioc->req_frames, (void *)(ulong)ioc->req_frames_dma); +#endif + /* * Rounding UP to nearest 4-kB boundary here... */ +@@ -6723,7 +6728,11 @@ procmpt_iocinfo_read(char *buf, char **start, off_t offset, int request, int *eo + ioc->facts.GlobalCredits); + + len += sprintf(buf+len, " Frames @ 0x%p (Dma @ 0x%p)\n", ++#ifdef CONFIG_GRKERNSEC_HIDESYM ++ NULL, NULL); ++#else + (void *)ioc->alloc, (void *)(ulong)ioc->alloc_dma); ++#endif + sz = (ioc->reply_sz * ioc->reply_depth) + 128; + len += sprintf(buf+len, " {CurRepSz=%d} x {CurRepDepth=%d} = %d bytes ^= 0x%x\n", + ioc->reply_sz, ioc->reply_depth, ioc->reply_sz*ioc->reply_depth, sz); diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 83873e3..e360e9a 100644 --- a/drivers/message/fusion/mptsas.c @@ -75307,7 +75341,7 @@ index 0133b5a..3710d09 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 a64fde6..621e25d 100644 +index a64fde6..f7af3a5e 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -31,6 +31,7 @@ @@ -75929,7 +75963,7 @@ index a64fde6..621e25d 100644 /* set_brk can never work. Avoid overflows. */ send_sig(SIGKILL, current, 0); retval = -EINVAL; -@@ -877,17 +1300,43 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) +@@ -877,17 +1300,44 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) goto out_free_dentry; } if (likely(elf_bss != elf_brk) && unlikely(padzero(elf_bss))) { @@ -75945,19 +75979,20 @@ index a64fde6..621e25d 100644 +#ifdef CONFIG_PAX_RANDMMAP + if (current->mm->pax_flags & MF_PAX_RANDMMAP) { -+ unsigned long start, size; ++ unsigned long start, size, flags, vm_flags; + + start = ELF_PAGEALIGN(elf_brk); + size = PAGE_SIZE + ((pax_get_random_long() & ((1UL << 22) - 1UL)) << 4); ++ flags = MAP_FIXED | MAP_PRIVATE; ++ vm_flags = VM_DONTEXPAND | VM_RESERVED; ++ + down_write(¤t->mm->mmap_sem); ++ start = get_unmapped_area(NULL, start, PAGE_ALIGN(size), 0, flags); + retval = -ENOMEM; -+ if (!find_vma_intersection(current->mm, start, start + size + PAGE_SIZE)) { -+ unsigned long prot = PROT_NONE; -+ -+ current->mm->brk_gap = PAGE_ALIGN(size) >> PAGE_SHIFT; ++ if (!IS_ERR_VALUE(start) && !find_vma_intersection(current->mm, start, start + size + PAGE_SIZE)) { +// if (current->personality & ADDR_NO_RANDOMIZE) +// prot = PROT_READ; -+ start = do_mmap(NULL, start, size, prot, MAP_ANONYMOUS | MAP_FIXED | MAP_PRIVATE, 0); ++ start = mmap_region(NULL, start, PAGE_ALIGN(size), flags, vm_flags, 0); + retval = IS_ERR_VALUE(start) ? start : 0; + } + up_write(¤t->mm->mmap_sem); @@ -75979,7 +76014,7 @@ index a64fde6..621e25d 100644 load_bias); if (!IS_ERR((void *)elf_entry)) { /* -@@ -1112,8 +1561,10 @@ static int dump_seek(struct file *file, loff_t off) +@@ -1112,8 +1562,10 @@ static int dump_seek(struct file *file, loff_t off) unsigned long n = off; if (n > PAGE_SIZE) n = PAGE_SIZE; @@ -75991,7 +76026,7 @@ index a64fde6..621e25d 100644 off -= n; } free_page((unsigned long)buf); -@@ -1125,7 +1576,7 @@ static int dump_seek(struct file *file, loff_t off) +@@ -1125,7 +1577,7 @@ static int dump_seek(struct file *file, loff_t off) * Decide what to dump of a segment, part, all or none. */ static unsigned long vma_dump_size(struct vm_area_struct *vma, @@ -76000,7 +76035,7 @@ index a64fde6..621e25d 100644 { #define FILTER(type) (mm_flags & (1UL << MMF_DUMP_##type)) -@@ -1159,7 +1610,7 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma, +@@ -1159,7 +1611,7 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma, if (vma->vm_file == NULL) return 0; @@ -76009,7 +76044,7 @@ index a64fde6..621e25d 100644 goto whole; /* -@@ -1255,8 +1706,11 @@ static int writenote(struct memelfnote *men, struct file *file, +@@ -1255,8 +1707,11 @@ static int writenote(struct memelfnote *men, struct file *file, #undef DUMP_WRITE #define DUMP_WRITE(addr, nr) \ @@ -76022,7 +76057,7 @@ index a64fde6..621e25d 100644 static void fill_elf_header(struct elfhdr *elf, int segs, u16 machine, u32 flags, u8 osabi) -@@ -1385,9 +1839,9 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm) +@@ -1385,9 +1840,9 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm) { elf_addr_t *auxv = (elf_addr_t *) mm->saved_auxv; int i = 0; @@ -76034,7 +76069,7 @@ index a64fde6..621e25d 100644 fill_note(note, "CORE", NT_AUXV, i * sizeof(elf_addr_t), auxv); } -@@ -1973,7 +2427,7 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un +@@ -1973,7 +2428,7 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un phdr.p_offset = offset; phdr.p_vaddr = vma->vm_start; phdr.p_paddr = 0; @@ -76043,7 +76078,7 @@ index a64fde6..621e25d 100644 phdr.p_memsz = vma->vm_end - vma->vm_start; offset += phdr.p_filesz; phdr.p_flags = vma->vm_flags & VM_READ ? PF_R : 0; -@@ -2006,7 +2460,7 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un +@@ -2006,7 +2461,7 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un unsigned long addr; unsigned long end; @@ -76052,7 +76087,7 @@ index a64fde6..621e25d 100644 for (addr = vma->vm_start; addr < end; addr += PAGE_SIZE) { struct page *page; -@@ -2015,6 +2469,7 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un +@@ -2015,6 +2470,7 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un page = get_dump_page(addr); if (page) { void *kaddr = kmap(page); @@ -76060,7 +76095,7 @@ index a64fde6..621e25d 100644 stop = ((size += PAGE_SIZE) > limit) || !dump_write(file, kaddr, PAGE_SIZE); kunmap(page); -@@ -2042,6 +2497,97 @@ out: +@@ -2042,6 +2498,97 @@ out: #endif /* USE_ELF_CORE_DUMP */ @@ -77139,7 +77174,7 @@ index a5bf577..6d19845 100644 return hit; } diff --git a/fs/compat.c b/fs/compat.c -index 46b93d1..84978fe 100644 +index 46b93d1..191dbaa 100644 --- a/fs/compat.c +++ b/fs/compat.c @@ -133,8 +133,8 @@ asmlinkage long compat_sys_utimes(char __user *filename, struct compat_timeval _ @@ -77260,7 +77295,17 @@ index 46b93d1..84978fe 100644 goto out; if (!file->f_op) goto out; -@@ -1469,11 +1487,35 @@ int compat_do_execve(char * filename, +@@ -1460,6 +1478,9 @@ out: + return ret; + } + ++extern void gr_handle_exec_args_compat(struct linux_binprm *bprm, ++ compat_uptr_t __user *argv); ++ + /* + * compat_do_execve() is mostly a copy of do_execve(), with the exception + * that it processes 32 bit argv and envp pointers. +@@ -1469,11 +1490,35 @@ int compat_do_execve(char * filename, compat_uptr_t __user *envp, struct pt_regs * regs) { @@ -77296,7 +77341,7 @@ index 46b93d1..84978fe 100644 retval = unshare_files(&displaced); if (retval) -@@ -1499,12 +1541,26 @@ int compat_do_execve(char * filename, +@@ -1499,12 +1544,26 @@ int compat_do_execve(char * filename, if (IS_ERR(file)) goto out_unmark; @@ -77323,7 +77368,7 @@ index 46b93d1..84978fe 100644 retval = bprm_mm_init(bprm); if (retval) goto out_file; -@@ -1521,24 +1577,63 @@ int compat_do_execve(char * filename, +@@ -1521,24 +1580,63 @@ int compat_do_execve(char * filename, if (retval < 0) goto out; @@ -77391,7 +77436,7 @@ index 46b93d1..84978fe 100644 current->fs->in_exec = 0; current->in_execve = 0; acct_update_integrals(current); -@@ -1547,6 +1642,14 @@ int compat_do_execve(char * filename, +@@ -1547,6 +1645,14 @@ int compat_do_execve(char * filename, put_files_struct(displaced); return retval; @@ -77406,7 +77451,7 @@ index 46b93d1..84978fe 100644 out: if (bprm->mm) { acct_arg_size(bprm, 0); -@@ -1717,6 +1820,8 @@ int compat_core_sys_select(int n, compat_ulong_t __user *inp, +@@ -1717,6 +1823,8 @@ int compat_core_sys_select(int n, compat_ulong_t __user *inp, struct fdtable *fdt; long stack_fds[SELECT_STACK_ALLOC/sizeof(long)]; @@ -77415,7 +77460,7 @@ index 46b93d1..84978fe 100644 if (n < 0) goto out_nofds; -@@ -2157,7 +2262,7 @@ asmlinkage long compat_sys_nfsservctl(int cmd, +@@ -2157,7 +2265,7 @@ asmlinkage long compat_sys_nfsservctl(int cmd, oldfs = get_fs(); set_fs(KERNEL_DS); /* The __user pointer casts are valid because of the set_fs() */ @@ -77702,7 +77747,7 @@ index ff57421..f65f88a 100644 out_free_fd: diff --git a/fs/exec.c b/fs/exec.c -index 86fafc6..0f75c42 100644 +index 86fafc6..a435ef7 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -56,12 +56,34 @@ @@ -77909,7 +77954,7 @@ index 86fafc6..0f75c42 100644 #endif ret = expand_stack(vma, stack_base); + -+#if !defined(CONFIG_STACK_GROWSUP) && defined(CONFIG_PAX_ASLR) ++#if !defined(CONFIG_STACK_GROWSUP) && defined(CONFIG_PAX_RANDMMAP) + if (!ret && (mm->pax_flags & MF_PAX_RANDMMAP) && STACK_TOP <= 0xFFFFFFFFU && STACK_TOP > vma->vm_end) { + unsigned long size, flags, vm_flags; + @@ -77922,7 +77967,7 @@ index 86fafc6..0f75c42 100644 +#ifdef CONFIG_X86 + if (!ret) { + size = mmap_min_addr + ((mm->delta_mmap ^ mm->delta_stack) & (0xFFUL << PAGE_SHIFT)); -+ ret = 0 != mmap_region(NULL, 0, size, flags, vm_flags, 0); ++ ret = 0 != mmap_region(NULL, 0, PAGE_ALIGN(size), flags, vm_flags, 0); + } +#endif + @@ -80998,7 +81043,7 @@ index fde92d1..6256b88 100644 lock_kernel(); diff --git a/fs/namei.c b/fs/namei.c -index b0afbd4..2b96439 100644 +index b0afbd4..a4dd3a0 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -224,6 +224,14 @@ int generic_permission(struct inode *inode, int mask, @@ -81098,7 +81143,7 @@ index b0afbd4..2b96439 100644 path_put(&nd->path); return_err: return err; -@@ -1091,13 +1112,20 @@ static int do_path_lookup(int dfd, const char *name, +@@ -1091,13 +1112,22 @@ static int do_path_lookup(int dfd, const char *name, int retval = path_init(dfd, name, flags, nd); if (!retval) retval = path_walk(name, nd); @@ -81108,10 +81153,12 @@ index b0afbd4..2b96439 100644 + + if (likely(!retval)) { + if (nd->path.dentry && nd->path.dentry->d_inode) { -+ if (*name != '/' && !gr_chroot_fchdir(nd->path.dentry, nd->path.mnt)) -+ retval = -ENOENT; + if (!audit_dummy_context()) + audit_inode(name, nd->path.dentry); ++ if (*name != '/' && !gr_chroot_fchdir(nd->path.dentry, nd->path.mnt)) { ++ path_put(&nd->path); ++ retval = -ENOENT; ++ } + } + } if (nd->root.mnt) { @@ -81122,7 +81169,7 @@ index b0afbd4..2b96439 100644 return retval; } -@@ -1251,6 +1279,11 @@ static int __lookup_one_len(const char *name, struct qstr *this, +@@ -1251,6 +1281,11 @@ static int __lookup_one_len(const char *name, struct qstr *this, if (!len) return -EACCES; @@ -81134,7 +81181,7 @@ index b0afbd4..2b96439 100644 hash = init_name_hash(); while (len--) { c = *(const unsigned char *)name++; -@@ -1576,6 +1609,20 @@ int may_open(struct path *path, int acc_mode, int flag) +@@ -1576,6 +1611,20 @@ int may_open(struct path *path, int acc_mode, int flag) if (error) goto err_out; @@ -81155,7 +81202,7 @@ index b0afbd4..2b96439 100644 if (flag & O_TRUNC) { error = get_write_access(inode); if (error) -@@ -1620,6 +1667,17 @@ static int __open_namei_create(struct nameidata *nd, struct path *path, +@@ -1620,6 +1669,17 @@ static int __open_namei_create(struct nameidata *nd, struct path *path, { int error; struct dentry *dir = nd->path.dentry; @@ -81173,7 +81220,7 @@ index b0afbd4..2b96439 100644 if (!IS_POSIXACL(dir->d_inode)) mode &= ~current_umask(); -@@ -1627,6 +1685,8 @@ static int __open_namei_create(struct nameidata *nd, struct path *path, +@@ -1627,6 +1687,8 @@ static int __open_namei_create(struct nameidata *nd, struct path *path, if (error) goto out_unlock; error = vfs_create(dir->d_inode, path->dentry, mode, nd); @@ -81182,7 +81229,7 @@ index b0afbd4..2b96439 100644 out_unlock: mutex_unlock(&dir->d_inode->i_mutex); dput(nd->path.dentry); -@@ -1684,6 +1744,7 @@ struct file *do_filp_open(int dfd, const char *pathname, +@@ -1684,6 +1746,7 @@ struct file *do_filp_open(int dfd, const char *pathname, struct nameidata nd; int error; struct path path; @@ -81190,7 +81237,7 @@ index b0afbd4..2b96439 100644 struct dentry *dir; int count = 0; int will_write; -@@ -1709,6 +1770,22 @@ struct file *do_filp_open(int dfd, const char *pathname, +@@ -1709,6 +1772,22 @@ struct file *do_filp_open(int dfd, const char *pathname, &nd, flag); if (error) return ERR_PTR(error); @@ -81213,7 +81260,7 @@ index b0afbd4..2b96439 100644 goto ok; } -@@ -1795,6 +1872,19 @@ do_last: +@@ -1795,6 +1874,19 @@ do_last: /* * It already exists. */ @@ -81233,7 +81280,7 @@ index b0afbd4..2b96439 100644 mutex_unlock(&dir->d_inode->i_mutex); audit_inode(pathname, path.dentry); -@@ -1887,6 +1977,14 @@ do_link: +@@ -1887,6 +1979,14 @@ do_link: error = security_inode_follow_link(path.dentry, &nd); if (error) goto exit_dput; @@ -81248,7 +81295,7 @@ index b0afbd4..2b96439 100644 error = __do_follow_link(&path, &nd); if (error) { /* Does someone understand code flow here? Or it is only -@@ -1915,9 +2013,24 @@ do_link: +@@ -1915,9 +2015,24 @@ do_link: } dir = nd.path.dentry; mutex_lock(&dir->d_inode->i_mutex); @@ -81273,7 +81320,7 @@ index b0afbd4..2b96439 100644 goto do_last; } -@@ -1984,6 +2097,10 @@ struct dentry *lookup_create(struct nameidata *nd, int is_dir) +@@ -1984,6 +2099,10 @@ struct dentry *lookup_create(struct nameidata *nd, int is_dir) } return dentry; eexist: @@ -81284,7 +81331,7 @@ index b0afbd4..2b96439 100644 dput(dentry); dentry = ERR_PTR(-EEXIST); fail: -@@ -2061,6 +2178,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode, +@@ -2061,6 +2180,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode, error = may_mknod(mode); if (error) goto out_dput; @@ -81302,7 +81349,7 @@ index b0afbd4..2b96439 100644 error = mnt_want_write(nd.path.mnt); if (error) goto out_dput; -@@ -2081,6 +2209,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode, +@@ -2081,6 +2211,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode, } out_drop_write: mnt_drop_write(nd.path.mnt); @@ -81312,7 +81359,7 @@ index b0afbd4..2b96439 100644 out_dput: dput(dentry); out_unlock: -@@ -2134,6 +2265,11 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode) +@@ -2134,6 +2267,11 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode) if (IS_ERR(dentry)) goto out_unlock; @@ -81324,7 +81371,7 @@ index b0afbd4..2b96439 100644 if (!IS_POSIXACL(nd.path.dentry->d_inode)) mode &= ~current_umask(); error = mnt_want_write(nd.path.mnt); -@@ -2145,6 +2281,10 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode) +@@ -2145,6 +2283,10 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode) error = vfs_mkdir(nd.path.dentry->d_inode, dentry, mode); out_drop_write: mnt_drop_write(nd.path.mnt); @@ -81335,7 +81382,7 @@ index b0afbd4..2b96439 100644 out_dput: dput(dentry); out_unlock: -@@ -2226,6 +2366,8 @@ static long do_rmdir(int dfd, const char __user *pathname) +@@ -2226,6 +2368,8 @@ static long do_rmdir(int dfd, const char __user *pathname) char * name; struct dentry *dentry; struct nameidata nd; @@ -81344,7 +81391,7 @@ index b0afbd4..2b96439 100644 error = user_path_parent(dfd, pathname, &nd, &name); if (error) -@@ -2250,6 +2392,17 @@ static long do_rmdir(int dfd, const char __user *pathname) +@@ -2250,6 +2394,17 @@ static long do_rmdir(int dfd, const char __user *pathname) error = PTR_ERR(dentry); if (IS_ERR(dentry)) goto exit2; @@ -81362,7 +81409,7 @@ index b0afbd4..2b96439 100644 error = mnt_want_write(nd.path.mnt); if (error) goto exit3; -@@ -2257,6 +2410,8 @@ static long do_rmdir(int dfd, const char __user *pathname) +@@ -2257,6 +2412,8 @@ static long do_rmdir(int dfd, const char __user *pathname) if (error) goto exit4; error = vfs_rmdir(nd.path.dentry->d_inode, dentry); @@ -81371,7 +81418,7 @@ index b0afbd4..2b96439 100644 exit4: mnt_drop_write(nd.path.mnt); exit3: -@@ -2318,6 +2473,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) +@@ -2318,6 +2475,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) struct dentry *dentry; struct nameidata nd; struct inode *inode = NULL; @@ -81380,7 +81427,7 @@ index b0afbd4..2b96439 100644 error = user_path_parent(dfd, pathname, &nd, &name); if (error) -@@ -2337,8 +2494,19 @@ static long do_unlinkat(int dfd, const char __user *pathname) +@@ -2337,8 +2496,19 @@ static long do_unlinkat(int dfd, const char __user *pathname) if (nd.last.name[nd.last.len]) goto slashes; inode = dentry->d_inode; @@ -81401,7 +81448,7 @@ index b0afbd4..2b96439 100644 error = mnt_want_write(nd.path.mnt); if (error) goto exit2; -@@ -2346,6 +2514,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) +@@ -2346,6 +2516,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) if (error) goto exit3; error = vfs_unlink(nd.path.dentry->d_inode, dentry); @@ -81410,7 +81457,7 @@ index b0afbd4..2b96439 100644 exit3: mnt_drop_write(nd.path.mnt); exit2: -@@ -2424,6 +2594,11 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname, +@@ -2424,6 +2596,11 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname, if (IS_ERR(dentry)) goto out_unlock; @@ -81422,7 +81469,7 @@ index b0afbd4..2b96439 100644 error = mnt_want_write(nd.path.mnt); if (error) goto out_dput; -@@ -2431,6 +2606,8 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname, +@@ -2431,6 +2608,8 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname, if (error) goto out_drop_write; error = vfs_symlink(nd.path.dentry->d_inode, dentry, from); @@ -81431,7 +81478,7 @@ index b0afbd4..2b96439 100644 out_drop_write: mnt_drop_write(nd.path.mnt); out_dput: -@@ -2524,6 +2701,20 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, +@@ -2524,6 +2703,20 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, error = PTR_ERR(new_dentry); if (IS_ERR(new_dentry)) goto out_unlock; @@ -81452,7 +81499,7 @@ index b0afbd4..2b96439 100644 error = mnt_want_write(nd.path.mnt); if (error) goto out_dput; -@@ -2531,6 +2722,8 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, +@@ -2531,6 +2724,8 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, if (error) goto out_drop_write; error = vfs_link(old_path.dentry, nd.path.dentry->d_inode, new_dentry); @@ -81461,7 +81508,7 @@ index b0afbd4..2b96439 100644 out_drop_write: mnt_drop_write(nd.path.mnt); out_dput: -@@ -2708,6 +2901,8 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, +@@ -2708,6 +2903,8 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, char *to; int error; @@ -81470,7 +81517,7 @@ index b0afbd4..2b96439 100644 error = user_path_parent(olddfd, oldname, &oldnd, &from); if (error) goto exit; -@@ -2764,6 +2959,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, +@@ -2764,6 +2961,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, if (new_dentry == trap) goto exit5; @@ -81483,7 +81530,7 @@ index b0afbd4..2b96439 100644 error = mnt_want_write(oldnd.path.mnt); if (error) goto exit5; -@@ -2773,6 +2974,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, +@@ -2773,6 +2976,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, goto exit6; error = vfs_rename(old_dir->d_inode, old_dentry, new_dir->d_inode, new_dentry); @@ -81493,7 +81540,7 @@ index b0afbd4..2b96439 100644 exit6: mnt_drop_write(oldnd.path.mnt); exit5: -@@ -2798,6 +3002,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna +@@ -2798,6 +3004,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const char *link) { @@ -81502,7 +81549,7 @@ index b0afbd4..2b96439 100644 int len; len = PTR_ERR(link); -@@ -2807,7 +3013,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c +@@ -2807,7 +3015,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c len = strlen(link); if (len > (unsigned) buflen) len = buflen; @@ -86042,10 +86089,10 @@ index 0000000..1b9afa9 +endif diff --git a/grsecurity/gracl.c b/grsecurity/gracl.c new file mode 100644 -index 0000000..5aba5a8 +index 0000000..1edd4b5 --- /dev/null +++ b/grsecurity/gracl.c -@@ -0,0 +1,4197 @@ +@@ -0,0 +1,4201 @@ +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/sched.h> @@ -86071,6 +86118,7 @@ index 0000000..5aba5a8 +#include <linux/stop_machine.h> +#include <linux/fdtable.h> +#include <linux/percpu.h> ++#include <linux/posix-timers.h> + +#include <asm/uaccess.h> +#include <asm/errno.h> @@ -88348,6 +88396,9 @@ index 0000000..5aba5a8 + + task->signal->rlim[i].rlim_cur = proc->res[i].rlim_cur; + task->signal->rlim[i].rlim_max = proc->res[i].rlim_max; ++ ++ if (i == RLIMIT_CPU) ++ update_rlimit_cpu(task, proc->res[i].rlim_cur); + } + + return; @@ -96556,6 +96607,19 @@ index 78e9047..ff39f6b 100644 /* handle uniform packets for scsi type devices (scsi,atapi) */ int (*generic_packet) (struct cdrom_device_info *, struct packet_command *); +diff --git a/include/linux/compat.h b/include/linux/compat.h +index 510266f..9d64053 100644 +--- a/include/linux/compat.h ++++ b/include/linux/compat.h +@@ -271,7 +271,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); + asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, +- compat_long_t addr, compat_long_t data); ++ compat_ulong_t addr, compat_ulong_t data); + + /* + * epoll (fs/eventpoll.c) compat bits follow ... diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h index 450fa59..16b904d 100644 --- a/include/linux/compiler-gcc4.h @@ -98104,17 +98168,16 @@ index 0000000..18863d1 +#define GR_BRUTE_DAEMON_MSG "bruteforce prevention initiated for the next 30 minutes or until service restarted, stalling each fork 30 seconds. Please investigate the crash report for " diff --git a/include/linux/grsecurity.h b/include/linux/grsecurity.h new file mode 100644 -index 0000000..6e2f8bc +index 0000000..9ced8a0 --- /dev/null +++ b/include/linux/grsecurity.h -@@ -0,0 +1,226 @@ +@@ -0,0 +1,222 @@ +#ifndef GR_SECURITY_H +#define GR_SECURITY_H +#include <linux/fs.h> +#include <linux/fs_struct.h> +#include <linux/binfmts.h> +#include <linux/gracl.h> -+#include <linux/compat.h> + +/* notify of brain-dead configs */ +#if defined(CONFIG_GRKERNSEC_PROC_USER) && defined(CONFIG_GRKERNSEC_PROC_USERGROUP) @@ -98184,9 +98247,6 @@ index 0000000..6e2f8bc +void gr_log_chroot_exec(const struct dentry *dentry, + const struct vfsmount *mnt); +void gr_handle_exec_args(struct linux_binprm *bprm, const char __user *const __user *argv); -+#ifdef CONFIG_COMPAT -+void gr_handle_exec_args_compat(struct linux_binprm *bprm, compat_uptr_t __user *argv); -+#endif +void gr_log_remount(const char *devname, const int retval); +void gr_log_unmount(const char *devname, const int retval); +void gr_log_mount(const char *from, const char *to, const int retval); @@ -98900,7 +98960,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 11e5be6..8ff8c91 100644 +index 11e5be6..8a2af3a 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -106,7 +106,14 @@ extern unsigned int kobjsize(const void *objp); @@ -99023,7 +99083,19 @@ index 11e5be6..8ff8c91 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); -@@ -1332,7 +1365,13 @@ extern void memory_failure(unsigned long pfn, int trapno); +@@ -1263,6 +1296,11 @@ 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 ++ ++ mm->total_vm += pages; + } + #endif /* CONFIG_PROC_FS */ + +@@ -1332,7 +1370,13 @@ extern void memory_failure(unsigned long pfn, int trapno); extern int __memory_failure(unsigned long pfn, int trapno, int ref); extern int sysctl_memory_failure_early_kill; extern int sysctl_memory_failure_recovery; @@ -99039,7 +99111,7 @@ index 11e5be6..8ff8c91 100644 #endif /* __KERNEL__ */ #endif /* _LINUX_MM_H */ diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h -index 9d12ed5..9d9dab3 100644 +index 9d12ed5..6d9707a 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -186,6 +186,8 @@ struct vm_area_struct { @@ -99051,15 +99123,6 @@ index 9d12ed5..9d9dab3 100644 }; struct core_thread { -@@ -235,7 +237,7 @@ struct mm_struct { - unsigned long total_vm, locked_vm, shared_vm, exec_vm; - unsigned long stack_vm, reserved_vm, def_flags, nr_ptes; - unsigned long start_code, end_code, start_data, end_data; -- unsigned long start_brk, brk, start_stack; -+ unsigned long brk_gap, start_brk, brk, start_stack; - unsigned long arg_start, arg_end, env_start, env_end; - - unsigned long saved_auxv[AT_VECTOR_SIZE]; /* for /proc/PID/auxv */ @@ -287,6 +289,24 @@ struct mm_struct { #ifdef CONFIG_MMU_NOTIFIER struct mmu_notifier_mm *mmu_notifier_mm; @@ -99614,7 +99677,7 @@ index 34066ff..e95d744 100644 /********** include/linux/timer.h **********/ /* diff --git a/include/linux/posix-timers.h b/include/linux/posix-timers.h -index 4f71bf4..cd2f68e 100644 +index 4f71bf4..724d413 100644 --- a/include/linux/posix-timers.h +++ b/include/linux/posix-timers.h @@ -82,7 +82,8 @@ struct k_clock { @@ -99627,6 +99690,14 @@ index 4f71bf4..cd2f68e 100644 void register_posix_clock(const clockid_t clock_id, struct k_clock *new_clock); +@@ -117,6 +118,6 @@ void set_process_cpu_timer(struct task_struct *task, unsigned int clock_idx, + + long clock_nanosleep_restart(struct restart_block *restart_block); + +-void update_rlimit_cpu(unsigned long rlim_new); ++void update_rlimit_cpu(struct task_struct *task, unsigned long rlim_new); + + #endif diff --git a/include/linux/prefetch.h b/include/linux/prefetch.h index af7c36a..a93005c 100644 --- a/include/linux/prefetch.h @@ -103473,7 +103544,7 @@ index a2a1659..df8479c 100644 get_task_struct(p); read_unlock(&tasklist_lock); diff --git a/kernel/fork.c b/kernel/fork.c -index c28f804..3a04506 100644 +index c28f804..4f038a3 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -240,21 +240,26 @@ static struct task_struct *dup_task_struct(struct task_struct *orig) @@ -103522,7 +103593,16 @@ index c28f804..3a04506 100644 mm->map_count = 0; cpumask_clear(mm_cpumask(mm)); mm->mm_rb = RB_ROOT; -@@ -319,7 +324,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) +@@ -311,15 +316,13 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) + struct file *file; + + if (mpnt->vm_flags & VM_DONTCOPY) { +- long pages = vma_pages(mpnt); +- mm->total_vm -= pages; + vm_stat_account(mm, mpnt->vm_flags, mpnt->vm_file, +- -pages); ++ -vma_pages(mpnt)); + continue; } charge = 0; if (mpnt->vm_flags & VM_ACCOUNT) { @@ -103531,7 +103611,7 @@ index c28f804..3a04506 100644 if (security_vm_enough_memory(len)) goto fail_nomem; charge = len; -@@ -336,6 +341,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) +@@ -336,6 +339,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) tmp->vm_flags &= ~VM_LOCKED; tmp->vm_mm = mm; tmp->vm_next = tmp->vm_prev = NULL; @@ -103539,7 +103619,7 @@ index c28f804..3a04506 100644 anon_vma_link(tmp); file = tmp->vm_file; if (file) { -@@ -385,6 +391,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) +@@ -385,6 +389,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) if (retval) goto out; } @@ -103571,7 +103651,7 @@ index c28f804..3a04506 100644 /* a new mm has just been created */ arch_dup_mmap(oldmm, mm); retval = 0; -@@ -735,13 +766,20 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk) +@@ -735,13 +764,20 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk) write_unlock(&fs->lock); return -EAGAIN; } @@ -103593,7 +103673,7 @@ index c28f804..3a04506 100644 return 0; } -@@ -913,6 +951,8 @@ static int copy_signal(unsigned long clone_flags, struct task_struct *tsk) +@@ -913,6 +949,8 @@ static int copy_signal(unsigned long clone_flags, struct task_struct *tsk) sig->oom_adj = current->signal->oom_adj; @@ -103602,7 +103682,7 @@ index c28f804..3a04506 100644 return 0; } -@@ -1036,12 +1076,16 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1036,12 +1074,16 @@ static struct task_struct *copy_process(unsigned long clone_flags, DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); #endif retval = -EAGAIN; @@ -103621,7 +103701,7 @@ index c28f804..3a04506 100644 retval = copy_creds(p, clone_flags); if (retval < 0) -@@ -1263,6 +1307,11 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1263,6 +1305,11 @@ static struct task_struct *copy_process(unsigned long clone_flags, goto bad_fork_free_pid; } @@ -103633,7 +103713,7 @@ index c28f804..3a04506 100644 if (clone_flags & CLONE_THREAD) { atomic_inc(¤t->signal->count); atomic_inc(¤t->signal->live); -@@ -1337,6 +1386,8 @@ bad_fork_cleanup_count: +@@ -1337,6 +1384,8 @@ bad_fork_cleanup_count: bad_fork_free: free_task(p); fork_out: @@ -103642,7 +103722,7 @@ index c28f804..3a04506 100644 return ERR_PTR(retval); } -@@ -1430,6 +1481,8 @@ long do_fork(unsigned long clone_flags, +@@ -1430,6 +1479,8 @@ long do_fork(unsigned long clone_flags, if (clone_flags & CLONE_PARENT_SETTID) put_user(nr, parent_tidptr); @@ -103651,7 +103731,7 @@ index c28f804..3a04506 100644 if (clone_flags & CLONE_VFORK) { p->vfork_done = &vfork; init_completion(&vfork); -@@ -1562,7 +1615,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp) +@@ -1562,7 +1613,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp) return 0; /* don't need lock here; in the worst case we'll do useless copy */ @@ -103660,7 +103740,7 @@ index c28f804..3a04506 100644 return 0; *new_fsp = copy_fs_struct(fs); -@@ -1685,7 +1738,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags) +@@ -1685,7 +1736,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags) fs = current->fs; write_lock(&fs->lock); current->fs = new_fs; @@ -105747,10 +105827,10 @@ index fce7198..4f23a7e 100644 { struct pid *pid; diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c -index 5c9dc22..7652dca 100644 +index 5c9dc22..6971ae8 100644 --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c -@@ -6,9 +6,11 @@ +@@ -6,23 +6,25 @@ #include <linux/posix-timers.h> #include <linux/errno.h> #include <linux/math64.h> @@ -105762,6 +105842,25 @@ index 5c9dc22..7652dca 100644 /* * Called after updating RLIMIT_CPU to set timer expiration if necessary. + */ +-void update_rlimit_cpu(unsigned long rlim_new) ++void update_rlimit_cpu(struct task_struct *task, unsigned long rlim_new) + { + cputime_t cputime = secs_to_cputime(rlim_new); +- struct signal_struct *const sig = current->signal; ++ struct signal_struct *const sig = task->signal; + + if (cputime_eq(sig->it[CPUCLOCK_PROF].expires, cputime_zero) || + cputime_gt(sig->it[CPUCLOCK_PROF].expires, cputime)) { +- spin_lock_irq(¤t->sighand->siglock); +- set_process_cpu_timer(current, CPUCLOCK_PROF, &cputime, NULL); +- spin_unlock_irq(¤t->sighand->siglock); ++ spin_lock_irq(&task->sighand->siglock); ++ set_process_cpu_timer(task, CPUCLOCK_PROF, &cputime, NULL); ++ spin_unlock_irq(&task->sighand->siglock); + } + } + @@ -516,6 +518,8 @@ static void cleanup_timers(struct list_head *head, */ void posix_cpu_timers_exit(struct task_struct *tsk) @@ -106232,7 +106331,7 @@ index dfadc5b..7f59404 100644 } diff --git a/kernel/ptrace.c b/kernel/ptrace.c -index 05625f6..741869b 100644 +index 05625f6..123e351 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -56,7 +56,7 @@ static void ptrace_untrace(struct task_struct *child) @@ -106529,6 +106628,15 @@ index 05625f6..741869b 100644 switch (request) { case PTRACE_PEEKTEXT: case PTRACE_PEEKDATA: +@@ -720,7 +799,7 @@ int compat_ptrace_request(struct task_struct *child, compat_long_t request, + } + + asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, +- compat_long_t addr, compat_long_t data) ++ compat_ulong_t addr, compat_ulong_t data) + { + struct task_struct *child; + long ret; @@ -740,20 +819,30 @@ asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, goto out; } @@ -107282,7 +107390,7 @@ index 04a0252..4ee2bbb 100644 struct tasklet_struct *list; diff --git a/kernel/sys.c b/kernel/sys.c -index e9512b1..f07185f 100644 +index e9512b1..dec4030 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -133,6 +133,12 @@ static int set_one_prio(struct task_struct *p, int niceval, int error) @@ -107444,6 +107552,15 @@ index e9512b1..f07185f 100644 if (gid != old_fsgid) { new->fsgid = gid; goto change_okay; +@@ -1282,7 +1323,7 @@ SYSCALL_DEFINE2(setrlimit, unsigned int, resource, struct rlimit __user *, rlim) + if (new_rlim.rlim_cur == RLIM_INFINITY) + goto out; + +- update_rlimit_cpu(new_rlim.rlim_cur); ++ update_rlimit_cpu(current, new_rlim.rlim_cur); + out: + return 0; + } @@ -1454,7 +1495,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3, error = get_dumpable(me->mm); break; @@ -110486,7 +110603,7 @@ index 2d846cf..8d5cdd8 100644 capable(CAP_IPC_LOCK)) ret = do_mlockall(flags); diff --git a/mm/mmap.c b/mm/mmap.c -index 4b80cbf..89f7b42 100644 +index 4b80cbf..abfd61a 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -29,6 +29,7 @@ @@ -110684,13 +110801,19 @@ index 4b80cbf..89f7b42 100644 return area; } -@@ -898,14 +979,11 @@ none: +@@ -898,15 +979,22 @@ none: void vm_stat_account(struct mm_struct *mm, unsigned long flags, struct file *file, long pages) { - const unsigned long stack_flags - = VM_STACK_FLAGS & (VM_GROWSUP|VM_GROWSDOWN); -- ++ ++#ifdef CONFIG_PAX_RANDMMAP ++ if (!(mm->pax_flags & MF_PAX_RANDMMAP) || (flags & (VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC))) ++#endif ++ ++ mm->total_vm += pages; + if (file) { mm->shared_vm += pages; if ((flags & (VM_EXEC|VM_WRITE)) == VM_EXEC) @@ -110698,9 +110821,13 @@ index 4b80cbf..89f7b42 100644 - } else if (flags & stack_flags) + } else if (flags & (VM_GROWSUP|VM_GROWSDOWN)) mm->stack_vm += pages; ++#ifdef CONFIG_PAX_RANDMMAP ++ if (!(mm->pax_flags & MF_PAX_RANDMMAP) || (flags & (VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC))) ++#endif if (flags & (VM_RESERVED|VM_IO)) mm->reserved_vm += pages; -@@ -932,7 +1010,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, + } +@@ -932,7 +1020,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, * (the exception is when the underlying filesystem is noexec * mounted, in which case we dont add PROT_EXEC.) */ @@ -110709,7 +110836,7 @@ index 4b80cbf..89f7b42 100644 if (!(file && (file->f_path.mnt->mnt_flags & MNT_NOEXEC))) prot |= PROT_EXEC; -@@ -958,7 +1036,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -958,7 +1046,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, /* Obtain the address to map to. we verify (or select) it and ensure * that it represents a valid section of the address space. */ @@ -110718,7 +110845,7 @@ index 4b80cbf..89f7b42 100644 if (addr & ~PAGE_MASK) return addr; -@@ -969,6 +1047,36 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -969,6 +1057,36 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, vm_flags = calc_vm_prot_bits(prot) | calc_vm_flag_bits(flags) | mm->def_flags | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC; @@ -110755,7 +110882,7 @@ index 4b80cbf..89f7b42 100644 if (flags & MAP_LOCKED) if (!can_do_mlock()) return -EPERM; -@@ -980,6 +1088,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -980,6 +1098,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, locked += mm->locked_vm; lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur; lock_limit >>= PAGE_SHIFT; @@ -110763,7 +110890,7 @@ index 4b80cbf..89f7b42 100644 if (locked > lock_limit && !capable(CAP_IPC_LOCK)) return -EAGAIN; } -@@ -1053,6 +1162,9 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -1053,6 +1172,9 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, if (error) return error; @@ -110773,7 +110900,7 @@ index 4b80cbf..89f7b42 100644 return mmap_region(file, addr, len, flags, vm_flags, pgoff); } EXPORT_SYMBOL(do_mmap_pgoff); -@@ -1065,10 +1177,10 @@ EXPORT_SYMBOL(do_mmap_pgoff); +@@ -1065,10 +1187,10 @@ EXPORT_SYMBOL(do_mmap_pgoff); */ int vma_wants_writenotify(struct vm_area_struct *vma) { @@ -110786,7 +110913,7 @@ index 4b80cbf..89f7b42 100644 return 0; /* The backer wishes to know when pages are first written to? */ -@@ -1117,14 +1229,24 @@ unsigned long mmap_region(struct file *file, unsigned long addr, +@@ -1117,17 +1239,32 @@ unsigned long mmap_region(struct file *file, unsigned long addr, unsigned long charged = 0; struct inode *inode = file ? file->f_path.dentry->d_inode : NULL; @@ -110813,7 +110940,15 @@ index 4b80cbf..89f7b42 100644 } /* Check against address space limit. */ -@@ -1173,6 +1295,16 @@ munmap_back: ++ ++#ifdef CONFIG_PAX_RANDMMAP ++ if (!(mm->pax_flags & MF_PAX_RANDMMAP) || (vm_flags & (VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC))) ++#endif ++ + if (!may_expand_vm(mm, len >> PAGE_SHIFT)) + return -ENOMEM; + +@@ -1173,6 +1310,16 @@ munmap_back: goto unacct_error; } @@ -110830,7 +110965,7 @@ index 4b80cbf..89f7b42 100644 vma->vm_mm = mm; vma->vm_start = addr; vma->vm_end = addr + len; -@@ -1180,8 +1312,9 @@ munmap_back: +@@ -1180,8 +1327,9 @@ munmap_back: vma->vm_page_prot = vm_get_page_prot(vm_flags); vma->vm_pgoff = pgoff; @@ -110841,7 +110976,7 @@ index 4b80cbf..89f7b42 100644 if (vm_flags & (VM_GROWSDOWN|VM_GROWSUP)) goto free_vma; if (vm_flags & VM_DENYWRITE) { -@@ -1195,6 +1328,19 @@ munmap_back: +@@ -1195,6 +1343,19 @@ munmap_back: error = file->f_op->mmap(file, vma); if (error) goto unmap_and_free_vma; @@ -110861,7 +110996,7 @@ index 4b80cbf..89f7b42 100644 if (vm_flags & VM_EXECUTABLE) added_exe_file_vma(mm); -@@ -1207,6 +1353,8 @@ munmap_back: +@@ -1207,6 +1368,8 @@ munmap_back: pgoff = vma->vm_pgoff; vm_flags = vma->vm_flags; } else if (vm_flags & VM_SHARED) { @@ -110870,7 +111005,7 @@ index 4b80cbf..89f7b42 100644 error = shmem_zero_setup(vma); if (error) goto free_vma; -@@ -1218,6 +1366,11 @@ munmap_back: +@@ -1218,14 +1381,19 @@ munmap_back: vma_link(mm, vma, prev, rb_link, rb_parent); file = vma->vm_file; @@ -110882,15 +111017,16 @@ index 4b80cbf..89f7b42 100644 /* Once vma denies write, undo our temporary denial count */ if (correct_wcount) atomic_inc(&inode->i_writecount); -@@ -1226,6 +1379,7 @@ out: + out: + perf_event_mmap(vma); - mm->total_vm += len >> PAGE_SHIFT; +- mm->total_vm += len >> PAGE_SHIFT; vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT); + track_exec_limit(mm, addr, addr + len, vm_flags); if (vm_flags & VM_LOCKED) { /* * makes pages present; downgrades, drops, reacquires mmap_sem -@@ -1248,6 +1402,12 @@ unmap_and_free_vma: +@@ -1248,6 +1416,12 @@ unmap_and_free_vma: unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); charged = 0; free_vma: @@ -110903,7 +111039,7 @@ index 4b80cbf..89f7b42 100644 kmem_cache_free(vm_area_cachep, vma); unacct_error: if (charged) -@@ -1255,6 +1415,62 @@ unacct_error: +@@ -1255,6 +1429,62 @@ unacct_error: return error; } @@ -110966,7 +111102,7 @@ index 4b80cbf..89f7b42 100644 /* Get an address range which is currently unmapped. * For shmat() with addr=0. * -@@ -1274,6 +1490,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, +@@ -1274,6 +1504,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, struct mm_struct *mm = current->mm; struct vm_area_struct *vma; unsigned long start_addr; @@ -110974,7 +111110,7 @@ index 4b80cbf..89f7b42 100644 if (len > TASK_SIZE) return -ENOMEM; -@@ -1281,18 +1498,23 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, +@@ -1281,18 +1512,23 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, if (flags & MAP_FIXED) return addr; @@ -111005,7 +111141,7 @@ index 4b80cbf..89f7b42 100644 } full_search: -@@ -1303,34 +1525,40 @@ full_search: +@@ -1303,34 +1539,40 @@ full_search: * Start a new search - just in case we missed * some holes. */ @@ -111057,7 +111193,7 @@ index 4b80cbf..89f7b42 100644 mm->free_area_cache = addr; mm->cached_hole_size = ~0UL; } -@@ -1348,7 +1576,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1348,7 +1590,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, { struct vm_area_struct *vma; struct mm_struct *mm = current->mm; @@ -111067,7 +111203,7 @@ index 4b80cbf..89f7b42 100644 /* requested length too big for entire address space */ if (len > TASK_SIZE) -@@ -1357,13 +1586,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1357,13 +1600,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, if (flags & MAP_FIXED) return addr; @@ -111090,7 +111226,7 @@ index 4b80cbf..89f7b42 100644 } /* check if free_area_cache is useful for us */ -@@ -1378,7 +1612,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1378,7 +1626,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, /* make sure it can fit in the remaining address space */ if (addr > len) { vma = find_vma(mm, addr-len); @@ -111099,7 +111235,7 @@ index 4b80cbf..89f7b42 100644 /* remember the address as a hint for next time */ return (mm->free_area_cache = addr-len); } -@@ -1395,7 +1629,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1395,7 +1643,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, * return with success: */ vma = find_vma(mm, addr); @@ -111108,7 +111244,7 @@ index 4b80cbf..89f7b42 100644 /* remember the address as a hint for next time */ return (mm->free_area_cache = addr); -@@ -1404,8 +1638,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1404,8 +1652,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, mm->cached_hole_size = vma->vm_start - addr; /* try just below the current vma->vm_start */ @@ -111119,7 +111255,7 @@ index 4b80cbf..89f7b42 100644 bottomup: /* -@@ -1414,13 +1648,21 @@ bottomup: +@@ -1414,13 +1662,21 @@ bottomup: * can happen with large stack limits and large mmap() * allocations. */ @@ -111143,7 +111279,7 @@ index 4b80cbf..89f7b42 100644 mm->cached_hole_size = ~0UL; return addr; -@@ -1429,6 +1671,12 @@ bottomup: +@@ -1429,6 +1685,12 @@ bottomup: void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) { @@ -111156,7 +111292,7 @@ index 4b80cbf..89f7b42 100644 /* * Is this a new hole at the highest possible address? */ -@@ -1436,8 +1684,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) +@@ -1436,8 +1698,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) mm->free_area_cache = addr; /* dont allow allocations above current base */ @@ -111168,7 +111304,7 @@ index 4b80cbf..89f7b42 100644 } unsigned long -@@ -1510,40 +1760,49 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr) +@@ -1510,40 +1774,49 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr) EXPORT_SYMBOL(find_vma); @@ -111243,7 +111379,7 @@ index 4b80cbf..89f7b42 100644 /* * Verify that the stack growth is acceptable and -@@ -1561,6 +1820,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns +@@ -1561,6 +1834,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns return -ENOMEM; /* Stack limit test */ @@ -111251,7 +111387,7 @@ index 4b80cbf..89f7b42 100644 if (size > rlim[RLIMIT_STACK].rlim_cur) return -ENOMEM; -@@ -1570,6 +1830,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns +@@ -1570,6 +1844,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns unsigned long limit; locked = mm->locked_vm + grow; limit = rlim[RLIMIT_MEMLOCK].rlim_cur >> PAGE_SHIFT; @@ -111259,7 +111395,15 @@ index 4b80cbf..89f7b42 100644 if (locked > limit && !capable(CAP_IPC_LOCK)) return -ENOMEM; } -@@ -1600,37 +1861,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns +@@ -1588,7 +1863,6 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns + return -ENOMEM; + + /* Ok, everything looks good - let it rip */ +- mm->total_vm += grow; + if (vma->vm_flags & VM_LOCKED) + mm->locked_vm += grow; + vm_stat_account(mm, vma->vm_flags, vma->vm_file, grow); +@@ -1600,37 +1874,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns * PA-RISC uses this for its stack; IA64 for its Register Backing Store. * vma is the last one with address > vma->vm_end. Have to extend vma. */ @@ -111317,7 +111461,7 @@ index 4b80cbf..89f7b42 100644 unsigned long size, grow; size = address - vma->vm_start; -@@ -1643,6 +1915,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) +@@ -1643,6 +1928,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) vma->vm_end = address; } } @@ -111326,7 +111470,7 @@ index 4b80cbf..89f7b42 100644 anon_vma_unlock(vma); return error; } -@@ -1655,6 +1929,8 @@ static int expand_downwards(struct vm_area_struct *vma, +@@ -1655,6 +1942,8 @@ static int expand_downwards(struct vm_area_struct *vma, unsigned long address) { int error; @@ -111335,7 +111479,7 @@ index 4b80cbf..89f7b42 100644 /* * We must make sure the anon_vma is allocated -@@ -1668,6 +1944,15 @@ static int expand_downwards(struct vm_area_struct *vma, +@@ -1668,6 +1957,15 @@ static int expand_downwards(struct vm_area_struct *vma, if (error) return error; @@ -111351,7 +111495,7 @@ index 4b80cbf..89f7b42 100644 anon_vma_lock(vma); /* -@@ -1677,9 +1962,17 @@ static int expand_downwards(struct vm_area_struct *vma, +@@ -1677,9 +1975,17 @@ static int expand_downwards(struct vm_area_struct *vma, */ /* Somebody else might have raced and expanded it already */ @@ -111370,7 +111514,7 @@ index 4b80cbf..89f7b42 100644 size = vma->vm_end - address; grow = (vma->vm_start - address) >> PAGE_SHIFT; -@@ -1689,21 +1982,60 @@ static int expand_downwards(struct vm_area_struct *vma, +@@ -1689,21 +1995,60 @@ static int expand_downwards(struct vm_area_struct *vma, if (!error) { vma->vm_start = address; vma->vm_pgoff -= grow; @@ -111431,7 +111575,7 @@ index 4b80cbf..89f7b42 100644 return expand_upwards(vma, address); } -@@ -1727,6 +2059,14 @@ find_extend_vma(struct mm_struct *mm, unsigned long addr) +@@ -1727,6 +2072,14 @@ find_extend_vma(struct mm_struct *mm, unsigned long addr) #else int expand_stack(struct vm_area_struct *vma, unsigned long address) { @@ -111446,10 +111590,11 @@ index 4b80cbf..89f7b42 100644 return expand_downwards(vma, address); } -@@ -1768,6 +2108,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma) +@@ -1768,7 +2121,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma) do { long nrpages = vma_pages(vma); +- mm->total_vm -= nrpages; +#ifdef CONFIG_PAX_SEGMEXEC + if ((mm->pax_flags & MF_PAX_SEGMEXEC) && (vma->vm_start >= SEGMEXEC_TASK_SIZE)) { + vma = remove_vma(vma); @@ -111457,10 +111602,10 @@ index 4b80cbf..89f7b42 100644 + } +#endif + - mm->total_vm -= nrpages; vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages); vma = remove_vma(vma); -@@ -1813,6 +2160,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma, + } while (vma); +@@ -1813,6 +2172,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma, insertion_point = (prev ? &prev->vm_next : &mm->mmap); vma->vm_prev = NULL; do { @@ -111477,7 +111622,7 @@ index 4b80cbf..89f7b42 100644 rb_erase(&vma->vm_rb, &mm->mm_rb); mm->map_count--; tail_vma = vma; -@@ -1840,10 +2197,25 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -1840,10 +2209,25 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, struct mempolicy *pol; struct vm_area_struct *new; @@ -111503,7 +111648,7 @@ index 4b80cbf..89f7b42 100644 if (mm->map_count >= sysctl_max_map_count) return -ENOMEM; -@@ -1851,6 +2223,16 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -1851,6 +2235,16 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, if (!new) return -ENOMEM; @@ -111520,7 +111665,7 @@ index 4b80cbf..89f7b42 100644 /* most fields are the same, copy all, and then fixup */ *new = *vma; -@@ -1861,8 +2243,29 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -1861,8 +2255,29 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, new->vm_pgoff += ((addr - vma->vm_start) >> PAGE_SHIFT); } @@ -111550,7 +111695,7 @@ index 4b80cbf..89f7b42 100644 kmem_cache_free(vm_area_cachep, new); return PTR_ERR(pol); } -@@ -1883,6 +2286,28 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -1883,6 +2298,28 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, else vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); @@ -111579,7 +111724,7 @@ index 4b80cbf..89f7b42 100644 return 0; } -@@ -1891,11 +2316,30 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -1891,11 +2328,30 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, * work. This now handles partial unmappings. * Jeremy Fitzhardinge <jeremy@goop.org> */ @@ -111610,7 +111755,7 @@ index 4b80cbf..89f7b42 100644 if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start) return -EINVAL; -@@ -1959,6 +2403,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) +@@ -1959,6 +2415,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) /* Fix up all other VM information */ remove_vma_list(mm, vma); @@ -111619,7 +111764,7 @@ index 4b80cbf..89f7b42 100644 return 0; } -@@ -1971,22 +2417,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) +@@ -1971,22 +2429,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) profile_munmap(addr); @@ -111648,7 +111793,7 @@ index 4b80cbf..89f7b42 100644 /* * this is really a simplified "do_mmap". it only handles * anonymous maps. eventually we may be able to do some -@@ -2000,6 +2442,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2000,6 +2454,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) struct rb_node ** rb_link, * rb_parent; pgoff_t pgoff = addr >> PAGE_SHIFT; int error; @@ -111656,7 +111801,7 @@ index 4b80cbf..89f7b42 100644 len = PAGE_ALIGN(len); if (!len) -@@ -2011,16 +2454,30 @@ unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2011,16 +2466,30 @@ unsigned long do_brk(unsigned long addr, unsigned long len) flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; @@ -111688,7 +111833,7 @@ index 4b80cbf..89f7b42 100644 locked += mm->locked_vm; lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur; lock_limit >>= PAGE_SHIFT; -@@ -2037,22 +2494,22 @@ unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2037,22 +2506,22 @@ unsigned long do_brk(unsigned long addr, unsigned long len) /* * Clear old maps. this also does some error checking for us */ @@ -111715,7 +111860,7 @@ index 4b80cbf..89f7b42 100644 return -ENOMEM; /* Can we just expand an old private anonymous mapping? */ -@@ -2066,7 +2523,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2066,7 +2535,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) */ vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); if (!vma) { @@ -111724,7 +111869,7 @@ index 4b80cbf..89f7b42 100644 return -ENOMEM; } -@@ -2078,11 +2535,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2078,11 +2547,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len) vma->vm_page_prot = vm_get_page_prot(flags); vma_link(mm, vma, prev, rb_link, rb_parent); out: @@ -111739,7 +111884,7 @@ index 4b80cbf..89f7b42 100644 return addr; } -@@ -2129,8 +2587,10 @@ void exit_mmap(struct mm_struct *mm) +@@ -2129,8 +2599,10 @@ void exit_mmap(struct mm_struct *mm) * Walk the list again, actually closing and freeing it, * with preemption enabled, without holding any MM locks. */ @@ -111751,7 +111896,7 @@ index 4b80cbf..89f7b42 100644 BUG_ON(mm->nr_ptes > (FIRST_USER_ADDRESS+PMD_SIZE-1)>>PMD_SHIFT); } -@@ -2144,6 +2604,10 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) +@@ -2144,6 +2616,10 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) struct vm_area_struct * __vma, * prev; struct rb_node ** rb_link, * rb_parent; @@ -111762,7 +111907,7 @@ index 4b80cbf..89f7b42 100644 /* * The vm_pgoff of a purely anonymous vma should be irrelevant * until its first write fault, when page's anon_vma and index -@@ -2166,7 +2630,22 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) +@@ -2166,7 +2642,22 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) if ((vma->vm_flags & VM_ACCOUNT) && security_vm_enough_memory_mm(mm, vma_pages(vma))) return -ENOMEM; @@ -111785,7 +111930,7 @@ index 4b80cbf..89f7b42 100644 return 0; } -@@ -2184,6 +2663,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -2184,6 +2675,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, struct rb_node **rb_link, *rb_parent; struct mempolicy *pol; @@ -111794,7 +111939,7 @@ index 4b80cbf..89f7b42 100644 /* * If anonymous vma has not yet been faulted, update new pgoff * to match new location, to increase its chance of merging. -@@ -2227,6 +2708,35 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -2227,6 +2720,35 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, return new_vma; } @@ -111830,20 +111975,15 @@ index 4b80cbf..89f7b42 100644 /* * Return true if the calling process may expand its vm space by the passed * number of pages -@@ -2238,6 +2748,12 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages) +@@ -2238,6 +2760,7 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages) lim = current->signal->rlim[RLIMIT_AS].rlim_cur >> PAGE_SHIFT; -+#ifdef CONFIG_PAX_RANDMMAP -+ if (mm->pax_flags & MF_PAX_RANDMMAP) -+ cur -= mm->brk_gap; -+#endif -+ + gr_learn_resource(current, RLIMIT_AS, (cur + npages) << PAGE_SHIFT, 1); if (cur + npages > lim) return 0; return 1; -@@ -2307,6 +2823,22 @@ int install_special_mapping(struct mm_struct *mm, +@@ -2307,6 +2830,22 @@ int install_special_mapping(struct mm_struct *mm, vma->vm_start = addr; vma->vm_end = addr + len; @@ -112093,7 +112233,7 @@ index 1737c7e..c7faeb4 100644 if (nstart < prev->vm_end) diff --git a/mm/mremap.c b/mm/mremap.c -index 3e98d79..1706cec 100644 +index 3e98d79..36c2b5d 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -112,6 +112,12 @@ static void move_ptes(struct vm_area_struct *vma, pmd_t *old_pmd, @@ -112109,7 +112249,15 @@ index 3e98d79..1706cec 100644 set_pte_at(mm, new_addr, new_pte, pte); } -@@ -271,6 +277,11 @@ static struct vm_area_struct *vma_to_resize(unsigned long addr, +@@ -232,7 +238,6 @@ static unsigned long move_vma(struct vm_area_struct *vma, + * If this were a serious issue, we'd add a flag to do_munmap(). + */ + hiwater_vm = mm->hiwater_vm; +- mm->total_vm += new_len >> PAGE_SHIFT; + vm_stat_account(mm, vma->vm_flags, vma->vm_file, new_len>>PAGE_SHIFT); + + if (do_munmap(mm, old_addr, old_len) < 0) { +@@ -271,6 +276,11 @@ static struct vm_area_struct *vma_to_resize(unsigned long addr, if (is_vm_hugetlb_page(vma)) goto Einval; @@ -112121,7 +112269,7 @@ index 3e98d79..1706cec 100644 /* We can't remap across vm area boundaries */ if (old_len > vma->vm_end - addr) goto Efault; -@@ -327,20 +338,25 @@ static unsigned long mremap_to(unsigned long addr, +@@ -327,20 +337,25 @@ static unsigned long mremap_to(unsigned long addr, unsigned long ret = -EINVAL; unsigned long charged = 0; unsigned long map_flags; @@ -112152,7 +112300,7 @@ index 3e98d79..1706cec 100644 goto out; ret = security_file_mmap(NULL, 0, 0, 0, new_addr, 1); -@@ -412,6 +428,7 @@ unsigned long do_mremap(unsigned long addr, +@@ -412,6 +427,7 @@ unsigned long do_mremap(unsigned long addr, struct vm_area_struct *vma; unsigned long ret = -EINVAL; unsigned long charged = 0; @@ -112160,7 +112308,7 @@ index 3e98d79..1706cec 100644 if (flags & ~(MREMAP_FIXED | MREMAP_MAYMOVE)) goto out; -@@ -430,6 +447,17 @@ unsigned long do_mremap(unsigned long addr, +@@ -430,6 +446,17 @@ unsigned long do_mremap(unsigned long addr, if (!new_len) goto out; @@ -112178,7 +112326,15 @@ index 3e98d79..1706cec 100644 if (flags & MREMAP_FIXED) { if (flags & MREMAP_MAYMOVE) ret = mremap_to(addr, old_len, new_addr, new_len); -@@ -476,6 +504,7 @@ unsigned long do_mremap(unsigned long addr, +@@ -468,7 +495,6 @@ unsigned long do_mremap(unsigned long addr, + vma_adjust(vma, vma->vm_start, + addr + new_len, vma->vm_pgoff, NULL); + +- mm->total_vm += pages; + vm_stat_account(mm, vma->vm_flags, vma->vm_file, pages); + if (vma->vm_flags & VM_LOCKED) { + mm->locked_vm += pages; +@@ -476,6 +502,7 @@ unsigned long do_mremap(unsigned long addr, addr + new_len); } ret = addr; @@ -112186,7 +112342,7 @@ index 3e98d79..1706cec 100644 goto out; } } -@@ -502,7 +531,13 @@ unsigned long do_mremap(unsigned long addr, +@@ -502,7 +529,13 @@ unsigned long do_mremap(unsigned long addr, ret = security_file_mmap(NULL, 0, 0, 0, new_addr, 1); if (ret) goto out; @@ -120289,7 +120445,7 @@ index c4c6732..bc63d84 100644 int security_settime(struct timespec *ts, struct timezone *tz) diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c -index a106754..ca3a589 100644 +index a106754..bdb434e 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -76,6 +76,7 @@ @@ -120352,6 +120508,15 @@ index a106754..ca3a589 100644 default: rc = task_has_system(current, SYSTEM__SYSLOG_MOD); break; +@@ -2366,7 +2368,7 @@ static void selinux_bprm_committing_creds(struct linux_binprm *bprm) + initrlim = init_task.signal->rlim + i; + rlim->rlim_cur = min(rlim->rlim_max, initrlim->rlim_cur); + } +- update_rlimit_cpu(current->signal->rlim[RLIMIT_CPU].rlim_cur); ++ update_rlimit_cpu(current, current->signal->rlim[RLIMIT_CPU].rlim_cur); + } + } + @@ -5457,7 +5459,7 @@ static int selinux_key_getsecurity(struct key *key, char **_buffer) #endif @@ -120397,6 +120562,19 @@ index ff17820..d68084c 100644 if (!ss_initialized) { avtab_cache_init(); if (policydb_read(&policydb, fp)) { +diff --git a/security/selinux/xfrm.c b/security/selinux/xfrm.c +index f3cb9ed..22c91e3 100644 +--- a/security/selinux/xfrm.c ++++ b/security/selinux/xfrm.c +@@ -309,7 +309,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 c33b6bb..b51f19e 100644 --- a/security/smack/smack_lsm.c @@ -127916,6 +128094,25 @@ index 83b3dde..835bee7 100644 } else break; } +diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c +index 9fe140b..69969ae 100644 +--- a/virt/kvm/ioapic.c ++++ b/virt/kvm/ioapic.c +@@ -71,9 +71,12 @@ static unsigned long ioapic_read_indirect(struct kvm_ioapic *ioapic, + u32 redir_index = (ioapic->ioregsel - 0x10) >> 1; + u64 redir_content; + +- ASSERT(redir_index < IOAPIC_NUM_PINS); ++ if (redir_index < IOAPIC_NUM_PINS) ++ redir_content = ++ ioapic->redirtbl[redir_index].bits; ++ else ++ redir_content = ~0ULL; + +- redir_content = ioapic->redirtbl[redir_index].bits; + result = (ioapic->ioregsel & 0x1) ? + (redir_content >> 32) & 0xffffffff : + redir_content & 0xffffffff; diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 82b6fdc..57cc875 100644 --- a/virt/kvm/kvm_main.c diff --git a/3.2.40/0000_README b/3.2.40/0000_README index 6682017..da39e23 100644 --- a/3.2.40/0000_README +++ b/3.2.40/0000_README @@ -78,7 +78,7 @@ Patch: 1039_linux-3.2.40.patch From: http://www.kernel.org Desc: Linux 3.2.40 -Patch: 4420_grsecurity-2.9.1-3.2.40-201303142234.patch +Patch: 4420_grsecurity-2.9.1-3.2.40-201303221825.patch From: http://www.grsecurity.net Desc: hardened-sources base patch from upstream grsecurity diff --git a/3.2.40/4420_grsecurity-2.9.1-3.2.40-201303142234.patch b/3.2.40/4420_grsecurity-2.9.1-3.2.40-201303221825.patch index c85236f..cd03fe7 100644 --- a/3.2.40/4420_grsecurity-2.9.1-3.2.40-201303142234.patch +++ b/3.2.40/4420_grsecurity-2.9.1-3.2.40-201303221825.patch @@ -194,7 +194,7 @@ index dfa6fc6..65f7dbe 100644 +zconf.lex.c zoffset.h diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index ddbf18e..2c5d501 100644 +index ddbf18e..53d74a7 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -853,6 +853,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. @@ -207,7 +207,7 @@ index ddbf18e..2c5d501 100644 hashdist= [KNL,NUMA] Large hashes allocated during boot are distributed across NUMA nodes. Defaults on for 64-bit NUMA, off otherwise. -@@ -1940,6 +1943,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted. +@@ -1940,6 +1943,18 @@ bytes respectively. Such letter suffixes can also be entirely omitted. the specified number of seconds. This is to be used if your oopses keep scrolling off the screen. @@ -218,6 +218,11 @@ index ddbf18e..2c5d501 100644 + + pax_softmode= 0/1 to disable/enable PaX softmode on boot already. + ++ pax_extra_latent_entropy ++ Enable a very simple form of latent entropy extraction ++ from the first 4GB of memory as the bootmem allocator ++ passes the memory pages to the buddy allocator. ++ pcbit= [HW,ISDN] pcd. [PARIDE] @@ -255,7 +260,7 @@ index 88fd7f5..b318a78 100644 ============================================================== diff --git a/Makefile b/Makefile -index 47af1e9..e2ebb6d 100644 +index 47af1e9..4da6852 100644 --- a/Makefile +++ b/Makefile @@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ @@ -339,7 +344,7 @@ index 47af1e9..e2ebb6d 100644 +else + $(Q)echo "warning, your gcc version does not support plugins, you should upgrade it to gcc 4.5 at least" +endif -+ $(Q)echo "PAX_MEMORY_STACKLEAK and other features will be less secure" ++ $(Q)echo "PAX_MEMORY_STACKLEAK, constification, PAX_LATENT_ENTROPY and other features will be less secure. PAX_SIZE_OVERFLOW will not be active." +endif +endif + @@ -2760,6 +2765,18 @@ index 77597e5..6f28f3f 100644 { .notifier_call = palinfo_cpu_callback, .priority = 0, +diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c +index 89accc6..e888968 100644 +--- a/arch/ia64/kernel/perfmon.c ++++ b/arch/ia64/kernel/perfmon.c +@@ -2370,7 +2370,6 @@ pfm_smpl_buffer_alloc(struct task_struct *task, struct file *filp, pfm_context_t + */ + insert_vm_struct(mm, vma); + +- mm->total_vm += size >> PAGE_SHIFT; + vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, + vma_pages(vma)); + up_write(&task->mm->mmap_sem); diff --git a/arch/ia64/kernel/salinfo.c b/arch/ia64/kernel/salinfo.c index 79802e5..1a89ec5 100644 --- a/arch/ia64/kernel/salinfo.c @@ -21810,7 +21827,7 @@ index 407789b..5570a86 100644 vmx->exit_reason = vmcs_read32(VM_EXIT_REASON); diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index f4063fd..3c40814 100644 +index f4063fd..b395ad7 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1348,8 +1348,8 @@ static int xen_hvm_config(struct kvm_vcpu *vcpu, u64 data) @@ -21824,7 +21841,19 @@ index f4063fd..3c40814 100644 u8 blob_size = lm ? kvm->arch.xen_hvm_config.blob_size_64 : kvm->arch.xen_hvm_config.blob_size_32; u32 page_num = data & ~PAGE_MASK; -@@ -2168,6 +2168,8 @@ long kvm_arch_dev_ioctl(struct file *filp, +@@ -1603,6 +1603,11 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 data) + /* ...but clean it before doing the actual write */ + vcpu->arch.time_offset = data & ~(PAGE_MASK | 1); + ++ /* Check that the address is 32-byte aligned. */ ++ if (vcpu->arch.time_offset & ++ (sizeof(struct pvclock_vcpu_time_info) - 1)) ++ break; ++ + vcpu->arch.time_page = + gfn_to_page(vcpu->kvm, data >> PAGE_SHIFT); + +@@ -2168,6 +2173,8 @@ long kvm_arch_dev_ioctl(struct file *filp, if (n < msr_list.nmsrs) goto out; r = -EFAULT; @@ -21833,7 +21862,7 @@ index f4063fd..3c40814 100644 if (copy_to_user(user_msr_list->indices, &msrs_to_save, num_msrs_to_save * sizeof(u32))) goto out; -@@ -2343,15 +2345,20 @@ static int kvm_vcpu_ioctl_set_cpuid2(struct kvm_vcpu *vcpu, +@@ -2343,15 +2350,20 @@ static int kvm_vcpu_ioctl_set_cpuid2(struct kvm_vcpu *vcpu, struct kvm_cpuid2 *cpuid, struct kvm_cpuid_entry2 __user *entries) { @@ -21857,7 +21886,7 @@ index f4063fd..3c40814 100644 vcpu->arch.cpuid_nent = cpuid->nent; kvm_apic_set_version(vcpu); kvm_x86_ops->cpuid_update(vcpu); -@@ -2366,15 +2373,19 @@ static int kvm_vcpu_ioctl_get_cpuid2(struct kvm_vcpu *vcpu, +@@ -2366,15 +2378,19 @@ static int kvm_vcpu_ioctl_get_cpuid2(struct kvm_vcpu *vcpu, struct kvm_cpuid2 *cpuid, struct kvm_cpuid_entry2 __user *entries) { @@ -21880,7 +21909,7 @@ index f4063fd..3c40814 100644 return 0; out: -@@ -2749,7 +2760,7 @@ static int kvm_vcpu_ioctl_set_lapic(struct kvm_vcpu *vcpu, +@@ -2749,7 +2765,7 @@ static int kvm_vcpu_ioctl_set_lapic(struct kvm_vcpu *vcpu, static int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq) { @@ -21889,7 +21918,7 @@ index f4063fd..3c40814 100644 return -EINVAL; if (irqchip_in_kernel(vcpu->kvm)) return -ENXIO; -@@ -5191,7 +5202,7 @@ static void kvm_set_mmio_spte_mask(void) +@@ -5191,7 +5207,7 @@ static void kvm_set_mmio_spte_mask(void) kvm_mmu_set_mmio_spte_mask(mask); } @@ -32857,7 +32886,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..ea158f5 100644 +index 878b989..17fe410 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, @@ -32869,7 +32898,7 @@ index 878b989..ea158f5 100644 /* The actual obj->write_domain will be updated with * pending_write_domain after we emit the accumulated flush for all -@@ -904,9 +904,9 @@ i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec) +@@ -904,18 +904,23 @@ i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec) static int validate_exec_list(struct drm_i915_gem_exec_object2 *exec, @@ -32877,10 +32906,28 @@ index 878b989..ea158f5 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; + + length = exec[i].relocation_count * + sizeof(struct drm_i915_gem_relocation_entry); 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 @@ -36585,7 +36632,7 @@ index 668f5c6..65df5f2 100644 dev->req->sg.length : dev->req->data_len; diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c -index e9c6a60..daf6a33 100644 +index e9c6a60..a1d04d6 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c @@ -6753,8 +6753,13 @@ static int mpt_iocinfo_proc_show(struct seq_file *m, void *v) @@ -36602,6 +36649,18 @@ index e9c6a60..daf6a33 100644 /* * Rounding UP to nearest 4-kB boundary here... */ +@@ -6767,7 +6772,11 @@ static int mpt_iocinfo_proc_show(struct seq_file *m, void *v) + ioc->facts.GlobalCredits); + + seq_printf(m, " Frames @ 0x%p (Dma @ 0x%p)\n", ++#ifdef CONFIG_GRKERNSEC_HIDESYM ++ NULL, NULL); ++#else + (void *)ioc->alloc, (void *)(ulong)ioc->alloc_dma); ++#endif + sz = (ioc->reply_sz * ioc->reply_depth) + 128; + seq_printf(m, " {CurRepSz=%d} x {CurRepDepth=%d} = %d bytes ^= 0x%x\n", + ioc->reply_sz, ioc->reply_depth, ioc->reply_sz*ioc->reply_depth, sz); diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 9d95042..b808101 100644 --- a/drivers/message/fusion/mptsas.c @@ -45278,7 +45337,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..60fbfd2 100644 +index 8dd615c..0efdaed 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -32,6 +32,7 @@ @@ -45891,7 +45950,7 @@ index 8dd615c..60fbfd2 100644 /* set_brk can never work. Avoid overflows. */ send_sig(SIGKILL, current, 0); retval = -EINVAL; -@@ -881,17 +1300,43 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) +@@ -881,17 +1300,44 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) goto out_free_dentry; } if (likely(elf_bss != elf_brk) && unlikely(padzero(elf_bss))) { @@ -45907,19 +45966,20 @@ index 8dd615c..60fbfd2 100644 +#ifdef CONFIG_PAX_RANDMMAP + if (current->mm->pax_flags & MF_PAX_RANDMMAP) { -+ unsigned long start, size; ++ unsigned long start, size, flags, vm_flags; + + start = ELF_PAGEALIGN(elf_brk); + size = PAGE_SIZE + ((pax_get_random_long() & ((1UL << 22) - 1UL)) << 4); ++ flags = MAP_FIXED | MAP_PRIVATE; ++ vm_flags = VM_DONTEXPAND | VM_RESERVED; ++ + down_write(¤t->mm->mmap_sem); ++ start = get_unmapped_area(NULL, start, PAGE_ALIGN(size), 0, flags); + retval = -ENOMEM; -+ if (!find_vma_intersection(current->mm, start, start + size + PAGE_SIZE)) { -+ unsigned long prot = PROT_NONE; -+ -+ current->mm->brk_gap = PAGE_ALIGN(size) >> PAGE_SHIFT; ++ if (!IS_ERR_VALUE(start) && !find_vma_intersection(current->mm, start, start + size + PAGE_SIZE)) { +// if (current->personality & ADDR_NO_RANDOMIZE) +// prot = PROT_READ; -+ start = do_mmap(NULL, start, size, prot, MAP_ANONYMOUS | MAP_FIXED | MAP_PRIVATE, 0); ++ start = mmap_region(NULL, start, PAGE_ALIGN(size), flags, vm_flags, 0); + retval = IS_ERR_VALUE(start) ? start : 0; + } + up_write(¤t->mm->mmap_sem); @@ -45941,7 +46001,7 @@ index 8dd615c..60fbfd2 100644 load_bias); if (!IS_ERR((void *)elf_entry)) { /* -@@ -1098,7 +1543,7 @@ out: +@@ -1098,7 +1544,7 @@ out: * Decide what to dump of a segment, part, all or none. */ static unsigned long vma_dump_size(struct vm_area_struct *vma, @@ -45950,7 +46010,7 @@ index 8dd615c..60fbfd2 100644 { #define FILTER(type) (mm_flags & (1UL << MMF_DUMP_##type)) -@@ -1132,7 +1577,7 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma, +@@ -1132,7 +1578,7 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma, if (vma->vm_file == NULL) return 0; @@ -45959,7 +46019,7 @@ index 8dd615c..60fbfd2 100644 goto whole; /* -@@ -1354,9 +1799,9 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm) +@@ -1354,9 +1800,9 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm) { elf_addr_t *auxv = (elf_addr_t *) mm->saved_auxv; int i = 0; @@ -45971,7 +46031,7 @@ index 8dd615c..60fbfd2 100644 fill_note(note, "CORE", NT_AUXV, i * sizeof(elf_addr_t), auxv); } -@@ -1851,14 +2296,14 @@ static void fill_extnum_info(struct elfhdr *elf, struct elf_shdr *shdr4extnum, +@@ -1851,14 +2297,14 @@ static void fill_extnum_info(struct elfhdr *elf, struct elf_shdr *shdr4extnum, } static size_t elf_core_vma_data_size(struct vm_area_struct *gate_vma, @@ -45988,7 +46048,7 @@ index 8dd615c..60fbfd2 100644 return size; } -@@ -1952,7 +2397,7 @@ static int elf_core_dump(struct coredump_params *cprm) +@@ -1952,7 +2398,7 @@ static int elf_core_dump(struct coredump_params *cprm) dataoff = offset = roundup(offset, ELF_EXEC_PAGESIZE); @@ -45997,7 +46057,7 @@ index 8dd615c..60fbfd2 100644 offset += elf_core_extra_data_size(); e_shoff = offset; -@@ -1966,10 +2411,12 @@ static int elf_core_dump(struct coredump_params *cprm) +@@ -1966,10 +2412,12 @@ static int elf_core_dump(struct coredump_params *cprm) offset = dataoff; size += sizeof(*elf); @@ -46010,7 +46070,7 @@ index 8dd615c..60fbfd2 100644 if (size > cprm->limit || !dump_write(cprm->file, phdr4note, sizeof(*phdr4note))) goto end_coredump; -@@ -1983,7 +2430,7 @@ static int elf_core_dump(struct coredump_params *cprm) +@@ -1983,7 +2431,7 @@ static int elf_core_dump(struct coredump_params *cprm) phdr.p_offset = offset; phdr.p_vaddr = vma->vm_start; phdr.p_paddr = 0; @@ -46019,7 +46079,7 @@ index 8dd615c..60fbfd2 100644 phdr.p_memsz = vma->vm_end - vma->vm_start; offset += phdr.p_filesz; phdr.p_flags = vma->vm_flags & VM_READ ? PF_R : 0; -@@ -1994,6 +2441,7 @@ static int elf_core_dump(struct coredump_params *cprm) +@@ -1994,6 +2442,7 @@ static int elf_core_dump(struct coredump_params *cprm) phdr.p_align = ELF_EXEC_PAGESIZE; size += sizeof(phdr); @@ -46027,7 +46087,7 @@ index 8dd615c..60fbfd2 100644 if (size > cprm->limit || !dump_write(cprm->file, &phdr, sizeof(phdr))) goto end_coredump; -@@ -2018,7 +2466,7 @@ static int elf_core_dump(struct coredump_params *cprm) +@@ -2018,7 +2467,7 @@ static int elf_core_dump(struct coredump_params *cprm) unsigned long addr; unsigned long end; @@ -46036,7 +46096,7 @@ index 8dd615c..60fbfd2 100644 for (addr = vma->vm_start; addr < end; addr += PAGE_SIZE) { struct page *page; -@@ -2027,6 +2475,7 @@ static int elf_core_dump(struct coredump_params *cprm) +@@ -2027,6 +2476,7 @@ static int elf_core_dump(struct coredump_params *cprm) page = get_dump_page(addr); if (page) { void *kaddr = kmap(page); @@ -46044,7 +46104,7 @@ index 8dd615c..60fbfd2 100644 stop = ((size += PAGE_SIZE) > cprm->limit) || !dump_write(cprm->file, kaddr, PAGE_SIZE); -@@ -2044,6 +2493,7 @@ static int elf_core_dump(struct coredump_params *cprm) +@@ -2044,6 +2494,7 @@ static int elf_core_dump(struct coredump_params *cprm) if (e_phnum == PN_XNUM) { size += sizeof(*shdr4extnum); @@ -46052,7 +46112,7 @@ index 8dd615c..60fbfd2 100644 if (size > cprm->limit || !dump_write(cprm->file, shdr4extnum, sizeof(*shdr4extnum))) -@@ -2064,6 +2514,97 @@ out: +@@ -2064,6 +2515,97 @@ out: #endif /* CONFIG_ELF_CORE */ @@ -47233,7 +47293,7 @@ index 451b9b8..12e5a03 100644 out_free_fd: diff --git a/fs/exec.c b/fs/exec.c -index 312e297..4814b4e 100644 +index 312e297..6fe2fe2 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -55,12 +55,34 @@ @@ -47345,28 +47405,22 @@ index 312e297..4814b4e 100644 return 0; err: up_write(&mm->mmap_sem); -@@ -396,19 +432,7 @@ err: - return err; - } - --struct user_arg_ptr { --#ifdef CONFIG_COMPAT -- bool is_compat; --#endif -- union { -- const char __user *const __user *native; --#ifdef CONFIG_COMPAT +@@ -403,12 +439,12 @@ struct user_arg_ptr { + union { + const char __user *const __user *native; + #ifdef CONFIG_COMPAT - compat_uptr_t __user *compat; --#endif -- } ptr; --}; -- ++ const compat_uptr_t __user *compat; + #endif + } ptr; + }; + -static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr) +const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr) { const char __user *native; -@@ -417,14 +441,14 @@ static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr) +@@ -417,14 +453,14 @@ static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr) compat_uptr_t compat; if (get_user(compat, argv.ptr.compat + nr)) @@ -47383,7 +47437,7 @@ index 312e297..4814b4e 100644 return native; } -@@ -443,11 +467,12 @@ static int count(struct user_arg_ptr argv, int max) +@@ -443,11 +479,12 @@ static int count(struct user_arg_ptr argv, int max) if (!p) break; @@ -47398,7 +47452,7 @@ index 312e297..4814b4e 100644 if (fatal_signal_pending(current)) return -ERESTARTNOHAND; -@@ -477,7 +502,7 @@ static int copy_strings(int argc, struct user_arg_ptr argv, +@@ -477,7 +514,7 @@ static int copy_strings(int argc, struct user_arg_ptr argv, ret = -EFAULT; str = get_user_arg_ptr(argv, argc); @@ -47407,7 +47461,7 @@ index 312e297..4814b4e 100644 goto out; len = strnlen_user(str, MAX_ARG_STRLEN); -@@ -559,7 +584,7 @@ int copy_strings_kernel(int argc, const char *const *__argv, +@@ -559,7 +596,7 @@ int copy_strings_kernel(int argc, const char *const *__argv, int r; mm_segment_t oldfs = get_fs(); struct user_arg_ptr argv = { @@ -47416,7 +47470,7 @@ index 312e297..4814b4e 100644 }; set_fs(KERNEL_DS); -@@ -594,7 +619,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) +@@ -594,7 +631,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) unsigned long new_end = old_end - shift; struct mmu_gather tlb; @@ -47426,7 +47480,7 @@ index 312e297..4814b4e 100644 /* * ensure there are no vmas between where we want to go -@@ -603,6 +629,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) +@@ -603,6 +641,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) if (vma != find_vma(mm, new_start)) return -EFAULT; @@ -47437,7 +47491,7 @@ index 312e297..4814b4e 100644 /* * cover the whole range: [new_start, old_end) */ -@@ -683,10 +713,6 @@ int setup_arg_pages(struct linux_binprm *bprm, +@@ -683,10 +725,6 @@ int setup_arg_pages(struct linux_binprm *bprm, stack_top = arch_align_stack(stack_top); stack_top = PAGE_ALIGN(stack_top); @@ -47448,7 +47502,7 @@ index 312e297..4814b4e 100644 stack_shift = vma->vm_end - stack_top; bprm->p -= stack_shift; -@@ -698,8 +724,28 @@ int setup_arg_pages(struct linux_binprm *bprm, +@@ -698,8 +736,28 @@ int setup_arg_pages(struct linux_binprm *bprm, bprm->exec -= stack_shift; down_write(&mm->mmap_sem); @@ -47477,7 +47531,7 @@ index 312e297..4814b4e 100644 /* * Adjust stack execute permissions; explicitly enable for * EXSTACK_ENABLE_X, disable for EXSTACK_DISABLE_X and leave alone -@@ -718,13 +764,6 @@ int setup_arg_pages(struct linux_binprm *bprm, +@@ -718,13 +776,6 @@ int setup_arg_pages(struct linux_binprm *bprm, goto out_unlock; BUG_ON(prev != vma); @@ -47491,12 +47545,12 @@ index 312e297..4814b4e 100644 /* mprotect_fixup is overkill to remove the temporary stack flags */ vma->vm_flags &= ~VM_STACK_INCOMPLETE_SETUP; -@@ -748,6 +787,27 @@ int setup_arg_pages(struct linux_binprm *bprm, +@@ -748,6 +799,27 @@ int setup_arg_pages(struct linux_binprm *bprm, #endif current->mm->start_stack = bprm->p; ret = expand_stack(vma, stack_base); + -+#if !defined(CONFIG_STACK_GROWSUP) && defined(CONFIG_PAX_ASLR) ++#if !defined(CONFIG_STACK_GROWSUP) && defined(CONFIG_PAX_RANDMMAP) + if (!ret && (mm->pax_flags & MF_PAX_RANDMMAP) && STACK_TOP <= 0xFFFFFFFFU && STACK_TOP > vma->vm_end) { + unsigned long size, flags, vm_flags; + @@ -47509,7 +47563,7 @@ index 312e297..4814b4e 100644 +#ifdef CONFIG_X86 + if (!ret) { + size = mmap_min_addr + ((mm->delta_mmap ^ mm->delta_stack) & (0xFFUL << PAGE_SHIFT)); -+ ret = 0 != mmap_region(NULL, 0, size, flags, vm_flags, 0); ++ ret = 0 != mmap_region(NULL, 0, PAGE_ALIGN(size), flags, vm_flags, 0); + } +#endif + @@ -47519,7 +47573,7 @@ index 312e297..4814b4e 100644 if (ret) ret = -EFAULT; -@@ -782,6 +842,8 @@ struct file *open_exec(const char *name) +@@ -782,6 +854,8 @@ struct file *open_exec(const char *name) fsnotify_open(file); @@ -47528,7 +47582,7 @@ index 312e297..4814b4e 100644 err = deny_write_access(file); if (err) goto exit; -@@ -805,7 +867,7 @@ int kernel_read(struct file *file, loff_t offset, +@@ -805,7 +879,7 @@ int kernel_read(struct file *file, loff_t offset, old_fs = get_fs(); set_fs(get_ds()); /* The cast to a user pointer is valid due to the set_fs() */ @@ -47537,7 +47591,7 @@ index 312e297..4814b4e 100644 set_fs(old_fs); return result; } -@@ -1070,6 +1132,21 @@ void set_task_comm(struct task_struct *tsk, char *buf) +@@ -1070,6 +1144,21 @@ void set_task_comm(struct task_struct *tsk, char *buf) perf_event_comm(tsk); } @@ -47559,7 +47613,7 @@ index 312e297..4814b4e 100644 int flush_old_exec(struct linux_binprm * bprm) { int retval; -@@ -1084,6 +1161,7 @@ int flush_old_exec(struct linux_binprm * bprm) +@@ -1084,6 +1173,7 @@ int flush_old_exec(struct linux_binprm * bprm) set_mm_exe_file(bprm->mm, bprm->file); @@ -47567,7 +47621,7 @@ index 312e297..4814b4e 100644 /* * Release all of the old mmap stuff */ -@@ -1116,10 +1194,6 @@ EXPORT_SYMBOL(would_dump); +@@ -1116,10 +1206,6 @@ EXPORT_SYMBOL(would_dump); void setup_new_exec(struct linux_binprm * bprm) { @@ -47578,7 +47632,7 @@ index 312e297..4814b4e 100644 arch_pick_mmap_layout(current->mm); /* This is the point of no return */ -@@ -1130,18 +1204,7 @@ void setup_new_exec(struct linux_binprm * bprm) +@@ -1130,18 +1216,7 @@ void setup_new_exec(struct linux_binprm * bprm) else set_dumpable(current->mm, suid_dumpable); @@ -47598,7 +47652,7 @@ index 312e297..4814b4e 100644 /* Set the new mm task size. We have to do that late because it may * depend on TIF_32BIT which is only updated in flush_thread() on -@@ -1266,7 +1329,7 @@ int check_unsafe_exec(struct linux_binprm *bprm) +@@ -1266,7 +1341,7 @@ int check_unsafe_exec(struct linux_binprm *bprm) } rcu_read_unlock(); @@ -47607,7 +47661,7 @@ index 312e297..4814b4e 100644 bprm->unsafe |= LSM_UNSAFE_SHARE; } else { res = -EAGAIN; -@@ -1461,6 +1524,28 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) +@@ -1461,6 +1536,31 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) EXPORT_SYMBOL(search_binary_handler); @@ -47633,10 +47687,13 @@ index 312e297..4814b4e 100644 +static inline void increment_exec_counter(void) {} +#endif + ++extern void gr_handle_exec_args(struct linux_binprm *bprm, ++ struct user_arg_ptr argv); ++ /* * sys_execve() executes a new program. */ -@@ -1469,6 +1554,11 @@ static int do_execve_common(const char *filename, +@@ -1469,6 +1569,11 @@ static int do_execve_common(const char *filename, struct user_arg_ptr envp, struct pt_regs *regs) { @@ -47648,7 +47705,7 @@ index 312e297..4814b4e 100644 struct linux_binprm *bprm; struct file *file; struct files_struct *displaced; -@@ -1476,6 +1566,8 @@ static int do_execve_common(const char *filename, +@@ -1476,6 +1581,8 @@ static int do_execve_common(const char *filename, int retval; const struct cred *cred = current_cred(); @@ -47657,7 +47714,7 @@ index 312e297..4814b4e 100644 /* * We move the actual failure in case of RLIMIT_NPROC excess from * set*uid() to execve() because too many poorly written programs -@@ -1516,12 +1608,27 @@ static int do_execve_common(const char *filename, +@@ -1516,12 +1623,27 @@ static int do_execve_common(const char *filename, if (IS_ERR(file)) goto out_unmark; @@ -47685,7 +47742,7 @@ index 312e297..4814b4e 100644 retval = bprm_mm_init(bprm); if (retval) goto out_file; -@@ -1538,24 +1645,65 @@ static int do_execve_common(const char *filename, +@@ -1538,24 +1660,65 @@ static int do_execve_common(const char *filename, if (retval < 0) goto out; @@ -47755,7 +47812,7 @@ index 312e297..4814b4e 100644 current->fs->in_exec = 0; current->in_execve = 0; acct_update_integrals(current); -@@ -1564,6 +1712,14 @@ static int do_execve_common(const char *filename, +@@ -1564,6 +1727,14 @@ static int do_execve_common(const char *filename, put_files_struct(displaced); return retval; @@ -47770,7 +47827,7 @@ index 312e297..4814b4e 100644 out: if (bprm->mm) { acct_arg_size(bprm, 0); -@@ -1637,7 +1793,7 @@ static int expand_corename(struct core_name *cn) +@@ -1637,7 +1808,7 @@ static int expand_corename(struct core_name *cn) { char *old_corename = cn->corename; @@ -47779,7 +47836,7 @@ index 312e297..4814b4e 100644 cn->corename = krealloc(old_corename, cn->size, GFP_KERNEL); if (!cn->corename) { -@@ -1734,7 +1890,7 @@ static int format_corename(struct core_name *cn, long signr) +@@ -1734,7 +1905,7 @@ static int format_corename(struct core_name *cn, long signr) int pid_in_pattern = 0; int err = 0; @@ -47788,7 +47845,7 @@ index 312e297..4814b4e 100644 cn->corename = kmalloc(cn->size, GFP_KERNEL); cn->used = 0; -@@ -1831,6 +1987,250 @@ out: +@@ -1831,6 +2002,250 @@ out: return ispipe; } @@ -48039,7 +48096,7 @@ index 312e297..4814b4e 100644 static int zap_process(struct task_struct *start, int exit_code) { struct task_struct *t; -@@ -2004,17 +2404,17 @@ static void coredump_finish(struct mm_struct *mm) +@@ -2004,17 +2419,17 @@ static void coredump_finish(struct mm_struct *mm) void set_dumpable(struct mm_struct *mm, int value) { switch (value) { @@ -48060,7 +48117,7 @@ index 312e297..4814b4e 100644 set_bit(MMF_DUMP_SECURELY, &mm->flags); smp_wmb(); set_bit(MMF_DUMPABLE, &mm->flags); -@@ -2027,7 +2427,7 @@ static int __get_dumpable(unsigned long mm_flags) +@@ -2027,7 +2442,7 @@ static int __get_dumpable(unsigned long mm_flags) int ret; ret = mm_flags & MMF_DUMPABLE_MASK; @@ -48069,7 +48126,7 @@ index 312e297..4814b4e 100644 } int get_dumpable(struct mm_struct *mm) -@@ -2042,17 +2442,17 @@ static void wait_for_dump_helpers(struct file *file) +@@ -2042,17 +2457,17 @@ static void wait_for_dump_helpers(struct file *file) pipe = file->f_path.dentry->d_inode->i_pipe; pipe_lock(pipe); @@ -48092,7 +48149,7 @@ index 312e297..4814b4e 100644 pipe_unlock(pipe); } -@@ -2113,7 +2513,8 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) +@@ -2113,7 +2528,8 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) int retval = 0; int flag = 0; int ispipe; @@ -48102,7 +48159,7 @@ index 312e297..4814b4e 100644 struct coredump_params cprm = { .signr = signr, .regs = regs, -@@ -2128,6 +2529,9 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) +@@ -2128,6 +2544,9 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) audit_core_dumps(signr); @@ -48112,7 +48169,7 @@ index 312e297..4814b4e 100644 binfmt = mm->binfmt; if (!binfmt || !binfmt->core_dump) goto fail; -@@ -2138,14 +2542,16 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) +@@ -2138,14 +2557,16 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) if (!cred) goto fail; /* @@ -48133,7 +48190,7 @@ index 312e297..4814b4e 100644 } retval = coredump_wait(exit_code, &core_state); -@@ -2195,7 +2601,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) +@@ -2195,7 +2616,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) } cprm.limit = RLIM_INFINITY; @@ -48142,7 +48199,7 @@ index 312e297..4814b4e 100644 if (core_pipe_limit && (core_pipe_limit < dump_count)) { printk(KERN_WARNING "Pid %d(%s) over core_pipe_limit\n", task_tgid_vnr(current), current->comm); -@@ -2222,9 +2628,19 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) +@@ -2222,9 +2643,19 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) } else { struct inode *inode; @@ -48162,7 +48219,7 @@ index 312e297..4814b4e 100644 cprm.file = filp_open(cn.corename, O_CREAT | 2 | O_NOFOLLOW | O_LARGEFILE | flag, 0600); -@@ -2265,7 +2681,7 @@ close_fail: +@@ -2265,7 +2696,7 @@ close_fail: filp_close(cprm.file, NULL); fail_dropcount: if (ispipe) @@ -48171,7 +48228,7 @@ index 312e297..4814b4e 100644 fail_unlock: kfree(cn.corename); fail_corename: -@@ -2284,7 +2700,7 @@ fail: +@@ -2284,7 +2715,7 @@ fail: */ int dump_write(struct file *file, const void *addr, int nr) { @@ -48210,6 +48267,28 @@ index a203892..4e64db5 100644 return 0; } return 1; +diff --git a/fs/ext3/super.c b/fs/ext3/super.c +index 922d289..b7f314f 100644 +--- a/fs/ext3/super.c ++++ b/fs/ext3/super.c +@@ -374,7 +374,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; +@@ -902,7 +902,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/fs/ext4/balloc.c b/fs/ext4/balloc.c index 484ffee..08d7602 100644 --- a/fs/ext4/balloc.c @@ -50251,7 +50330,7 @@ index fcc50ab..c3dacf26 100644 lock_flocks(); diff --git a/fs/namei.c b/fs/namei.c -index 9680cef..d943724 100644 +index 9680cef..36c9152 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -279,16 +279,32 @@ int generic_permission(struct inode *inode, int mask) @@ -50344,17 +50423,11 @@ index 9680cef..d943724 100644 put_link(nd, &link, cookie); } } -@@ -1624,6 +1644,19 @@ static int path_lookupat(int dfd, const char *name, +@@ -1624,6 +1644,13 @@ static int path_lookupat(int dfd, const char *name, if (!err) err = complete_walk(nd); + if (!err && !(nd->flags & LOOKUP_PARENT)) { -+#ifdef CONFIG_GRKERNSEC -+ if (flags & LOOKUP_RCU) { -+ path_put(&nd->path); -+ err = -ECHILD; -+ } else -+#endif + if (!gr_acl_handle_hidden_file(nd->path.dentry, nd->path.mnt)) { + path_put(&nd->path); + err = -ENOENT; @@ -50364,23 +50437,20 @@ index 9680cef..d943724 100644 if (!err && nd->flags & LOOKUP_DIRECTORY) { if (!nd->inode->i_op->lookup) { path_put(&nd->path); -@@ -1651,6 +1684,15 @@ static int do_path_lookup(int dfd, const char *name, - retval = path_lookupat(dfd, name, flags | LOOKUP_REVAL, nd); - - if (likely(!retval)) { +@@ -1655,6 +1682,12 @@ static int do_path_lookup(int dfd, const char *name, + if (nd->path.dentry && nd->inode) + audit_inode(name, nd->path.dentry); + } + if (*name != '/' && nd->path.dentry && nd->inode) { -+#ifdef CONFIG_GRKERNSEC -+ if (flags & LOOKUP_RCU) -+ return -ECHILD; -+#endif -+ if (!gr_chroot_fchdir(nd->path.dentry, nd->path.mnt)) ++ if (!gr_chroot_fchdir(nd->path.dentry, nd->path.mnt)) { ++ path_put(&nd->path); + return -ENOENT; ++ } + } -+ - if (unlikely(!audit_dummy_context())) { - if (nd->path.dentry && nd->inode) - audit_inode(name, nd->path.dentry); -@@ -1784,7 +1826,13 @@ struct dentry *lookup_one_len(const char *name, struct dentry *base, int len) + } + return retval; + } +@@ -1784,7 +1817,13 @@ struct dentry *lookup_one_len(const char *name, struct dentry *base, int len) if (!len) return ERR_PTR(-EACCES); @@ -50394,7 +50464,7 @@ index 9680cef..d943724 100644 while (len--) { c = *(const unsigned char *)name++; if (c == '/' || c == '\0') -@@ -2048,6 +2096,13 @@ static int may_open(struct path *path, int acc_mode, int flag) +@@ -2048,6 +2087,13 @@ static int may_open(struct path *path, int acc_mode, int flag) if (flag & O_NOATIME && !inode_owner_or_capable(inode)) return -EPERM; @@ -50408,7 +50478,7 @@ index 9680cef..d943724 100644 return 0; } -@@ -2083,7 +2138,7 @@ static inline int open_to_namei_flags(int flag) +@@ -2083,7 +2129,7 @@ static inline int open_to_namei_flags(int flag) /* * Handle the last step of open() */ @@ -50417,16 +50487,10 @@ index 9680cef..d943724 100644 const struct open_flags *op, const char *pathname) { struct dentry *dir = nd->path.dentry; -@@ -2109,16 +2164,44 @@ static struct file *do_last(struct nameidata *nd, struct path *path, +@@ -2109,16 +2155,32 @@ static struct file *do_last(struct nameidata *nd, struct path *path, error = complete_walk(nd); if (error) return ERR_PTR(error); -+#ifdef CONFIG_GRKERNSEC -+ if (nd->flags & LOOKUP_RCU) { -+ error = -ECHILD; -+ goto exit; -+ } -+#endif + if (!gr_acl_handle_hidden_file(nd->path.dentry, nd->path.mnt)) { + error = -ENOENT; + goto exit; @@ -50445,12 +50509,6 @@ index 9680cef..d943724 100644 error = complete_walk(nd); if (error) return ERR_PTR(error); -+#ifdef CONFIG_GRKERNSEC -+ if (nd->flags & LOOKUP_RCU) { -+ error = -ECHILD; -+ goto exit; -+ } -+#endif + if (!gr_acl_handle_hidden_file(dir, nd->path.mnt)) { + error = -ENOENT; + goto exit; @@ -50462,7 +50520,7 @@ index 9680cef..d943724 100644 audit_inode(pathname, dir); goto ok; } -@@ -2134,18 +2217,37 @@ static struct file *do_last(struct nameidata *nd, struct path *path, +@@ -2134,18 +2196,31 @@ static struct file *do_last(struct nameidata *nd, struct path *path, !symlink_ok); if (error < 0) return ERR_PTR(error); @@ -50478,12 +50536,6 @@ index 9680cef..d943724 100644 error = complete_walk(nd); if (error) return ERR_PTR(error); -+#ifdef CONFIG_GRKERNSEC -+ if (nd->flags & LOOKUP_RCU) { -+ error = -ECHILD; -+ goto exit; -+ } -+#endif + if (!gr_acl_handle_hidden_file(nd->path.dentry, nd->path.mnt)) { + error = -ENOENT; + goto exit; @@ -50501,7 +50553,7 @@ index 9680cef..d943724 100644 audit_inode(pathname, nd->path.dentry); goto ok; } -@@ -2180,6 +2282,17 @@ static struct file *do_last(struct nameidata *nd, struct path *path, +@@ -2180,6 +2255,17 @@ static struct file *do_last(struct nameidata *nd, struct path *path, /* Negative dentry, just create the file */ if (!dentry->d_inode) { int mode = op->mode; @@ -50519,7 +50571,7 @@ index 9680cef..d943724 100644 if (!IS_POSIXACL(dir->d_inode)) mode &= ~current_umask(); /* -@@ -2203,6 +2316,8 @@ static struct file *do_last(struct nameidata *nd, struct path *path, +@@ -2203,6 +2289,8 @@ static struct file *do_last(struct nameidata *nd, struct path *path, error = vfs_create(dir->d_inode, dentry, mode, nd); if (error) goto exit_mutex_unlock; @@ -50528,7 +50580,7 @@ index 9680cef..d943724 100644 mutex_unlock(&dir->d_inode->i_mutex); dput(nd->path.dentry); nd->path.dentry = dentry; -@@ -2212,6 +2327,19 @@ static struct file *do_last(struct nameidata *nd, struct path *path, +@@ -2212,6 +2300,19 @@ static struct file *do_last(struct nameidata *nd, struct path *path, /* * It already exists. */ @@ -50548,7 +50600,7 @@ index 9680cef..d943724 100644 mutex_unlock(&dir->d_inode->i_mutex); audit_inode(pathname, path->dentry); -@@ -2230,11 +2358,17 @@ static struct file *do_last(struct nameidata *nd, struct path *path, +@@ -2230,11 +2331,17 @@ static struct file *do_last(struct nameidata *nd, struct path *path, if (!path->dentry->d_inode) goto exit_dput; @@ -50567,7 +50619,7 @@ index 9680cef..d943724 100644 /* Why this, you ask? _Now_ we might have grown LOOKUP_JUMPED... */ error = complete_walk(nd); if (error) -@@ -2242,6 +2376,12 @@ static struct file *do_last(struct nameidata *nd, struct path *path, +@@ -2242,6 +2349,12 @@ static struct file *do_last(struct nameidata *nd, struct path *path, error = -EISDIR; if (S_ISDIR(nd->inode->i_mode)) goto exit; @@ -50580,7 +50632,7 @@ index 9680cef..d943724 100644 ok: if (!S_ISREG(nd->inode->i_mode)) will_truncate = 0; -@@ -2314,7 +2454,7 @@ static struct file *path_openat(int dfd, const char *pathname, +@@ -2314,7 +2427,7 @@ static struct file *path_openat(int dfd, const char *pathname, if (unlikely(error)) goto out_filp; @@ -50589,7 +50641,7 @@ index 9680cef..d943724 100644 while (unlikely(!filp)) { /* trailing symlink */ struct path link = path; void *cookie; -@@ -2329,8 +2469,9 @@ static struct file *path_openat(int dfd, const char *pathname, +@@ -2329,8 +2442,9 @@ static struct file *path_openat(int dfd, const char *pathname, error = follow_link(&link, nd, &cookie); if (unlikely(error)) filp = ERR_PTR(error); @@ -50601,7 +50653,7 @@ index 9680cef..d943724 100644 put_link(nd, &link, cookie); } out: -@@ -2424,6 +2565,11 @@ struct dentry *kern_path_create(int dfd, const char *pathname, struct path *path +@@ -2424,6 +2538,11 @@ struct dentry *kern_path_create(int dfd, const char *pathname, struct path *path *path = nd.path; return dentry; eexist: @@ -50613,7 +50665,7 @@ index 9680cef..d943724 100644 dput(dentry); dentry = ERR_PTR(-EEXIST); fail: -@@ -2446,6 +2592,20 @@ struct dentry *user_path_create(int dfd, const char __user *pathname, struct pat +@@ -2446,6 +2565,20 @@ struct dentry *user_path_create(int dfd, const char __user *pathname, struct pat } EXPORT_SYMBOL(user_path_create); @@ -50634,7 +50686,7 @@ index 9680cef..d943724 100644 int vfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev) { int error = may_create(dir, dentry); -@@ -2513,6 +2673,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode, +@@ -2513,6 +2646,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode, error = mnt_want_write(path.mnt); if (error) goto out_dput; @@ -50652,7 +50704,7 @@ index 9680cef..d943724 100644 error = security_path_mknod(&path, dentry, mode, dev); if (error) goto out_drop_write; -@@ -2530,6 +2701,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode, +@@ -2530,6 +2674,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode, } out_drop_write: mnt_drop_write(path.mnt); @@ -50662,7 +50714,7 @@ index 9680cef..d943724 100644 out_dput: dput(dentry); mutex_unlock(&path.dentry->d_inode->i_mutex); -@@ -2579,12 +2753,21 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode) +@@ -2579,12 +2726,21 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode) error = mnt_want_write(path.mnt); if (error) goto out_dput; @@ -50684,7 +50736,7 @@ index 9680cef..d943724 100644 out_dput: dput(dentry); mutex_unlock(&path.dentry->d_inode->i_mutex); -@@ -2664,6 +2847,8 @@ static long do_rmdir(int dfd, const char __user *pathname) +@@ -2664,6 +2820,8 @@ static long do_rmdir(int dfd, const char __user *pathname) char * name; struct dentry *dentry; struct nameidata nd; @@ -50693,7 +50745,7 @@ index 9680cef..d943724 100644 error = user_path_parent(dfd, pathname, &nd, &name); if (error) -@@ -2692,6 +2877,15 @@ static long do_rmdir(int dfd, const char __user *pathname) +@@ -2692,6 +2850,15 @@ static long do_rmdir(int dfd, const char __user *pathname) error = -ENOENT; goto exit3; } @@ -50709,7 +50761,7 @@ index 9680cef..d943724 100644 error = mnt_want_write(nd.path.mnt); if (error) goto exit3; -@@ -2699,6 +2893,8 @@ static long do_rmdir(int dfd, const char __user *pathname) +@@ -2699,6 +2866,8 @@ static long do_rmdir(int dfd, const char __user *pathname) if (error) goto exit4; error = vfs_rmdir(nd.path.dentry->d_inode, dentry); @@ -50718,7 +50770,7 @@ index 9680cef..d943724 100644 exit4: mnt_drop_write(nd.path.mnt); exit3: -@@ -2761,6 +2957,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) +@@ -2761,6 +2930,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) struct dentry *dentry; struct nameidata nd; struct inode *inode = NULL; @@ -50727,7 +50779,7 @@ index 9680cef..d943724 100644 error = user_path_parent(dfd, pathname, &nd, &name); if (error) -@@ -2783,6 +2981,16 @@ static long do_unlinkat(int dfd, const char __user *pathname) +@@ -2783,6 +2954,16 @@ static long do_unlinkat(int dfd, const char __user *pathname) if (!inode) goto slashes; ihold(inode); @@ -50744,7 +50796,7 @@ index 9680cef..d943724 100644 error = mnt_want_write(nd.path.mnt); if (error) goto exit2; -@@ -2790,6 +2998,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) +@@ -2790,6 +2971,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) if (error) goto exit3; error = vfs_unlink(nd.path.dentry->d_inode, dentry); @@ -50753,7 +50805,7 @@ index 9680cef..d943724 100644 exit3: mnt_drop_write(nd.path.mnt); exit2: -@@ -2865,10 +3075,18 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname, +@@ -2865,10 +3048,18 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname, error = mnt_want_write(path.mnt); if (error) goto out_dput; @@ -50772,7 +50824,7 @@ index 9680cef..d943724 100644 out_drop_write: mnt_drop_write(path.mnt); out_dput: -@@ -2940,6 +3158,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, +@@ -2940,6 +3131,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, { struct dentry *new_dentry; struct path old_path, new_path; @@ -50780,7 +50832,7 @@ index 9680cef..d943724 100644 int how = 0; int error; -@@ -2963,7 +3182,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, +@@ -2963,7 +3155,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, if (error) return error; @@ -50789,7 +50841,7 @@ index 9680cef..d943724 100644 error = PTR_ERR(new_dentry); if (IS_ERR(new_dentry)) goto out; -@@ -2974,13 +3193,30 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, +@@ -2974,13 +3166,30 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, error = mnt_want_write(new_path.mnt); if (error) goto out_dput; @@ -50820,7 +50872,7 @@ index 9680cef..d943724 100644 dput(new_dentry); mutex_unlock(&new_path.dentry->d_inode->i_mutex); path_put(&new_path); -@@ -3208,6 +3444,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, +@@ -3208,6 +3417,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, if (new_dentry == trap) goto exit5; @@ -50833,7 +50885,7 @@ index 9680cef..d943724 100644 error = mnt_want_write(oldnd.path.mnt); if (error) goto exit5; -@@ -3217,6 +3459,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, +@@ -3217,6 +3432,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname, goto exit6; error = vfs_rename(old_dir->d_inode, old_dentry, new_dir->d_inode, new_dentry); @@ -50843,7 +50895,7 @@ index 9680cef..d943724 100644 exit6: mnt_drop_write(oldnd.path.mnt); exit5: -@@ -3242,6 +3487,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna +@@ -3242,6 +3460,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const char *link) { @@ -50852,7 +50904,7 @@ index 9680cef..d943724 100644 int len; len = PTR_ERR(link); -@@ -3251,7 +3498,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c +@@ -3251,7 +3471,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c len = strlen(link); if (len > (unsigned) buflen) len = buflen; @@ -54756,10 +54808,10 @@ index 0000000..1b9afa9 +endif diff --git a/grsecurity/gracl.c b/grsecurity/gracl.c new file mode 100644 -index 0000000..740ce0b +index 0000000..e3890d0 --- /dev/null +++ b/grsecurity/gracl.c -@@ -0,0 +1,4212 @@ +@@ -0,0 +1,4216 @@ +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/sched.h> @@ -54785,6 +54837,7 @@ index 0000000..740ce0b +#include <linux/stop_machine.h> +#include <linux/fdtable.h> +#include <linux/percpu.h> ++#include <linux/posix-timers.h> + +#include <asm/uaccess.h> +#include <asm/errno.h> @@ -57078,6 +57131,9 @@ index 0000000..740ce0b + + task->signal->rlim[i].rlim_cur = proc->res[i].rlim_cur; + task->signal->rlim[i].rlim_max = proc->res[i].rlim_max; ++ ++ if (i == RLIMIT_CPU) ++ update_rlimit_cpu(task, proc->res[i].rlim_cur); + } + + return; @@ -61476,10 +61532,10 @@ index 0000000..b79fe50 +#endif diff --git a/grsecurity/grsec_exec.c b/grsecurity/grsec_exec.c new file mode 100644 -index 0000000..2b05ada +index 0000000..ee1f60f --- /dev/null +++ b/grsecurity/grsec_exec.c -@@ -0,0 +1,146 @@ +@@ -0,0 +1,159 @@ +#include <linux/kernel.h> +#include <linux/sched.h> +#include <linux/file.h> @@ -61491,6 +61547,7 @@ index 0000000..2b05ada +#include <linux/grinternal.h> +#include <linux/capability.h> +#include <linux/module.h> ++#include <linux/compat.h> + +#include <asm/uaccess.h> + @@ -61499,6 +61556,18 @@ index 0000000..2b05ada +static DEFINE_MUTEX(gr_exec_arg_mutex); +#endif + ++struct user_arg_ptr { ++#ifdef CONFIG_COMPAT ++ bool is_compat; ++#endif ++ union { ++ const char __user *const __user *native; ++#ifdef CONFIG_COMPAT ++ const compat_uptr_t __user *compat; ++#endif ++ } ptr; ++}; ++ +extern const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr); + +void @@ -64583,6 +64652,19 @@ 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 +--- a/include/linux/compat.h ++++ b/include/linux/compat.h +@@ -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); + asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, +- compat_long_t addr, compat_long_t data); ++ compat_ulong_t addr, compat_ulong_t data); + + /* + * epoll (fs/eventpoll.c) compat bits follow ... diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h index dfadc96..23c5182 100644 --- a/include/linux/compiler-gcc4.h @@ -65990,10 +66072,10 @@ index 0000000..2bd4c8d +#define GR_BRUTE_DAEMON_MSG "bruteforce prevention initiated for the next 30 minutes or until service restarted, stalling each fork 30 seconds. Please investigate the crash report for " diff --git a/include/linux/grsecurity.h b/include/linux/grsecurity.h new file mode 100644 -index 0000000..88c3d04 +index 0000000..14100e6 --- /dev/null +++ b/include/linux/grsecurity.h -@@ -0,0 +1,236 @@ +@@ -0,0 +1,221 @@ +#ifndef GR_SECURITY_H +#define GR_SECURITY_H +#include <linux/fs.h> @@ -66015,20 +66097,6 @@ index 0000000..88c3d04 +#error "CONFIG_PAX enabled, but no PaX options are enabled." +#endif + -+#include <linux/compat.h> -+ -+struct user_arg_ptr { -+#ifdef CONFIG_COMPAT -+ bool is_compat; -+#endif -+ union { -+ const char __user *const __user *native; -+#ifdef CONFIG_COMPAT -+ compat_uptr_t __user *compat; -+#endif -+ } ptr; -+}; -+ +void gr_handle_brute_attach(unsigned long mm_flags); +void gr_handle_brute_check(void); +void gr_handle_kernel_exploit(void); @@ -66082,7 +66150,6 @@ index 0000000..88c3d04 + const struct vfsmount *mnt); +void gr_log_chroot_exec(const struct dentry *dentry, + const struct vfsmount *mnt); -+void gr_handle_exec_args(struct linux_binprm *bprm, struct user_arg_ptr argv); +void gr_log_remount(const char *devname, const int retval); +void gr_log_unmount(const char *devname, const int retval); +void gr_log_mount(const char *from, const char *to, const int retval); @@ -66626,7 +66693,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..8699dc0 100644 +index 4baadd1..8745271 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -115,7 +115,14 @@ extern unsigned int kobjsize(const void *objp); @@ -66794,7 +66861,19 @@ index 4baadd1..8699dc0 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); -@@ -1614,7 +1625,7 @@ extern int unpoison_memory(unsigned long pfn); +@@ -1534,6 +1545,11 @@ 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 ++ ++ mm->total_vm += pages; + } + #endif /* CONFIG_PROC_FS */ + +@@ -1614,7 +1630,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); @@ -66803,7 +66882,7 @@ index 4baadd1..8699dc0 100644 extern int soft_offline_page(struct page *page, int flags); extern void dump_page(struct page *page); -@@ -1628,5 +1639,11 @@ extern void copy_user_huge_page(struct page *dst, struct page *src, +@@ -1628,5 +1644,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 */ @@ -66816,7 +66895,7 @@ index 4baadd1..8699dc0 100644 #endif /* __KERNEL__ */ #endif /* _LINUX_MM_H */ diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h -index 5b42f1b..9782147 100644 +index 5b42f1b..759e4b4 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -253,6 +253,8 @@ struct vm_area_struct { @@ -66828,15 +66907,6 @@ index 5b42f1b..9782147 100644 }; struct core_thread { -@@ -327,7 +329,7 @@ struct mm_struct { - unsigned long def_flags; - unsigned long nr_ptes; /* Page table pages */ - unsigned long start_code, end_code, start_data, end_data; -- unsigned long start_brk, brk, start_stack; -+ unsigned long brk_gap, start_brk, brk, start_stack; - unsigned long arg_start, arg_end, env_start, env_end; - - unsigned long saved_auxv[AT_VECTOR_SIZE]; /* for /proc/PID/auxv */ @@ -389,6 +391,24 @@ struct mm_struct { #ifdef CONFIG_CPUMASK_OFFSTACK struct cpumask cpumask_allocation; @@ -69741,7 +69811,7 @@ index 2531811..040d4d4 100644 next_state = Reset; return 0; diff --git a/init/main.c b/init/main.c -index 5d0eb1d..7b1084c 100644 +index 5d0eb1d..b462edb 100644 --- a/init/main.c +++ b/init/main.c @@ -96,6 +96,8 @@ static inline void mark_rodata_ro(void) { } @@ -69843,15 +69913,7 @@ index 5d0eb1d..7b1084c 100644 } return ret; -@@ -707,12 +765,22 @@ int __init_or_module do_one_initcall(initcall_t fn) - - extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[]; - -+#ifdef CONFIG_PAX_LATENT_ENTROPY -+u64 latent_entropy; -+#endif -+ - static void __init do_initcalls(void) +@@ -711,8 +769,14 @@ static void __init do_initcalls(void) { initcall_t *fn; @@ -69859,15 +69921,15 @@ index 5d0eb1d..7b1084c 100644 + for (fn = __early_initcall_end; fn < __initcall_end; fn++) { do_one_initcall(*fn); + -+#ifdef CONFIG_PAX_LATENT_ENTROPY -+ add_device_randomness(&latent_entropy, sizeof(latent_entropy)); ++#ifdef LATENT_ENTROPY_PLUGIN ++ add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy)); +#endif + + } } /* -@@ -738,8 +806,14 @@ static void __init do_pre_smp_initcalls(void) +@@ -738,8 +802,14 @@ static void __init do_pre_smp_initcalls(void) { initcall_t *fn; @@ -69875,15 +69937,15 @@ index 5d0eb1d..7b1084c 100644 + for (fn = __initcall_start; fn < __early_initcall_end; fn++) { do_one_initcall(*fn); + -+#ifdef CONFIG_PAX_LATENT_ENTROPY -+ add_device_randomness(&latent_entropy, sizeof(latent_entropy)); ++#ifdef LATENT_ENTROPY_PLUGIN ++ add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy)); +#endif + + } } static void run_init_process(const char *init_filename) -@@ -821,7 +895,7 @@ static int __init kernel_init(void * unused) +@@ -821,7 +891,7 @@ static int __init kernel_init(void * unused) do_basic_setup(); /* Open the /dev/console on the rootfs, this should never fail */ @@ -69892,7 +69954,7 @@ index 5d0eb1d..7b1084c 100644 printk(KERN_WARNING "Warning: unable to open an initial console.\n"); (void) sys_dup(0); -@@ -834,11 +908,13 @@ static int __init kernel_init(void * unused) +@@ -834,11 +904,13 @@ static int __init kernel_init(void * unused) if (!ramdisk_execute_command) ramdisk_execute_command = "/init"; @@ -70831,7 +70893,7 @@ index 234e152..0ae0243 100644 { struct signal_struct *sig = current->signal; diff --git a/kernel/fork.c b/kernel/fork.c -index ce0c182..07a5f7a 100644 +index ce0c182..2d6bd03 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -270,19 +270,24 @@ static struct task_struct *dup_task_struct(struct task_struct *orig) @@ -70955,17 +71017,18 @@ index ce0c182..07a5f7a 100644 mm->map_count = 0; cpumask_clear(mm_cpumask(mm)); mm->mm_rb = RB_ROOT; -@@ -341,8 +411,6 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) +@@ -341,63 +411,16 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) prev = NULL; for (mpnt = oldmm->mmap; mpnt; mpnt = mpnt->vm_next) { - struct file *file; - if (mpnt->vm_flags & VM_DONTCOPY) { - long pages = vma_pages(mpnt); - mm->total_vm -= pages; -@@ -350,54 +418,11 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) - -pages); +- long pages = vma_pages(mpnt); +- mm->total_vm -= pages; + vm_stat_account(mm, mpnt->vm_flags, mpnt->vm_file, +- -pages); ++ -vma_pages(mpnt)); continue; } - charge = 0; @@ -71023,7 +71086,7 @@ index ce0c182..07a5f7a 100644 /* * Link in the new vma and copy the page table entries. -@@ -420,6 +445,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) +@@ -420,6 +443,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) if (retval) goto out; } @@ -71055,7 +71118,7 @@ index ce0c182..07a5f7a 100644 /* a new mm has just been created */ arch_dup_mmap(oldmm, mm); retval = 0; -@@ -428,14 +478,6 @@ out: +@@ -428,14 +476,6 @@ out: flush_tlb_mm(oldmm); up_write(&oldmm->mmap_sem); return retval; @@ -71070,7 +71133,7 @@ index ce0c182..07a5f7a 100644 } static inline int mm_alloc_pgd(struct mm_struct *mm) -@@ -647,6 +689,26 @@ struct mm_struct *get_task_mm(struct task_struct *task) +@@ -647,6 +687,26 @@ struct mm_struct *get_task_mm(struct task_struct *task) } EXPORT_SYMBOL_GPL(get_task_mm); @@ -71097,7 +71160,7 @@ index ce0c182..07a5f7a 100644 /* Please note the differences between mmput and mm_release. * mmput is called whenever we stop holding onto a mm_struct, * error success whatever. -@@ -832,13 +894,20 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk) +@@ -832,13 +892,20 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk) spin_unlock(&fs->lock); return -EAGAIN; } @@ -71119,7 +71182,7 @@ index ce0c182..07a5f7a 100644 return 0; } -@@ -1104,6 +1173,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1104,6 +1171,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); #endif retval = -EAGAIN; @@ -71129,7 +71192,7 @@ index ce0c182..07a5f7a 100644 if (atomic_read(&p->real_cred->user->processes) >= task_rlimit(p, RLIMIT_NPROC)) { if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE) && -@@ -1341,6 +1413,11 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1341,6 +1411,11 @@ static struct task_struct *copy_process(unsigned long clone_flags, goto bad_fork_free_pid; } @@ -71141,7 +71204,7 @@ index ce0c182..07a5f7a 100644 if (clone_flags & CLONE_THREAD) { current->signal->nr_threads++; atomic_inc(¤t->signal->live); -@@ -1421,6 +1498,8 @@ bad_fork_cleanup_count: +@@ -1421,6 +1496,8 @@ bad_fork_cleanup_count: bad_fork_free: free_task(p); fork_out: @@ -71150,7 +71213,7 @@ index ce0c182..07a5f7a 100644 return ERR_PTR(retval); } -@@ -1521,6 +1600,8 @@ long do_fork(unsigned long clone_flags, +@@ -1521,6 +1598,8 @@ long do_fork(unsigned long clone_flags, if (clone_flags & CLONE_PARENT_SETTID) put_user(nr, parent_tidptr); @@ -71159,7 +71222,7 @@ index ce0c182..07a5f7a 100644 if (clone_flags & CLONE_VFORK) { p->vfork_done = &vfork; init_completion(&vfork); -@@ -1630,7 +1711,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp) +@@ -1630,7 +1709,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp) return 0; /* don't need lock here; in the worst case we'll do useless copy */ @@ -71168,7 +71231,7 @@ index ce0c182..07a5f7a 100644 return 0; *new_fsp = copy_fs_struct(fs); -@@ -1719,7 +1800,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags) +@@ -1719,7 +1798,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags) fs = current->fs; spin_lock(&fs->lock); current->fs = new_fs; @@ -73029,7 +73092,7 @@ index 76b8e77..a2930e8 100644 } diff --git a/kernel/ptrace.c b/kernel/ptrace.c -index 67fedad..5333587 100644 +index 67fedad..32d32a04 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -211,7 +211,8 @@ int ptrace_check_attach(struct task_struct *child, bool ignore_state) @@ -73154,6 +73217,15 @@ index 67fedad..5333587 100644 } int generic_ptrace_pokedata(struct task_struct *tsk, unsigned long addr, +@@ -1050,7 +1075,7 @@ int compat_ptrace_request(struct task_struct *child, compat_long_t request, + } + + asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, +- compat_long_t addr, compat_long_t data) ++ compat_ulong_t addr, compat_ulong_t data) + { + struct task_struct *child; + long ret; @@ -1066,14 +1091,21 @@ asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, goto out; } @@ -77223,7 +77295,7 @@ index 4f4f53b..de8e432 100644 capable(CAP_IPC_LOCK)) ret = do_mlockall(flags); diff --git a/mm/mmap.c b/mm/mmap.c -index eae90af..0704837 100644 +index eae90af..b3c47a1 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -30,6 +30,7 @@ @@ -77423,13 +77495,19 @@ index eae90af..0704837 100644 if (err) return NULL; khugepaged_enter_vma_merge(area); -@@ -921,14 +1002,11 @@ none: +@@ -921,15 +1002,22 @@ none: void vm_stat_account(struct mm_struct *mm, unsigned long flags, struct file *file, long pages) { - const unsigned long stack_flags - = VM_STACK_FLAGS & (VM_GROWSUP|VM_GROWSDOWN); -- ++ ++#ifdef CONFIG_PAX_RANDMMAP ++ if (!(mm->pax_flags & MF_PAX_RANDMMAP) || (flags & (VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC))) ++#endif ++ ++ mm->total_vm += pages; + if (file) { mm->shared_vm += pages; if ((flags & (VM_EXEC|VM_WRITE)) == VM_EXEC) @@ -77437,9 +77515,13 @@ index eae90af..0704837 100644 - } else if (flags & stack_flags) + } else if (flags & (VM_GROWSUP|VM_GROWSDOWN)) mm->stack_vm += pages; ++#ifdef CONFIG_PAX_RANDMMAP ++ if (!(mm->pax_flags & MF_PAX_RANDMMAP) || (flags & (VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC))) ++#endif if (flags & (VM_RESERVED|VM_IO)) mm->reserved_vm += pages; -@@ -955,7 +1033,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, + } +@@ -955,7 +1043,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, * (the exception is when the underlying filesystem is noexec * mounted, in which case we dont add PROT_EXEC.) */ @@ -77448,7 +77530,7 @@ index eae90af..0704837 100644 if (!(file && (file->f_path.mnt->mnt_flags & MNT_NOEXEC))) prot |= PROT_EXEC; -@@ -981,7 +1059,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -981,7 +1069,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, /* Obtain the address to map to. we verify (or select) it and ensure * that it represents a valid section of the address space. */ @@ -77457,7 +77539,7 @@ index eae90af..0704837 100644 if (addr & ~PAGE_MASK) return addr; -@@ -992,6 +1070,36 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -992,6 +1080,36 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, vm_flags = calc_vm_prot_bits(prot) | calc_vm_flag_bits(flags) | mm->def_flags | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC; @@ -77494,7 +77576,7 @@ index eae90af..0704837 100644 if (flags & MAP_LOCKED) if (!can_do_mlock()) return -EPERM; -@@ -1003,6 +1111,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -1003,6 +1121,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, locked += mm->locked_vm; lock_limit = rlimit(RLIMIT_MEMLOCK); lock_limit >>= PAGE_SHIFT; @@ -77502,7 +77584,7 @@ index eae90af..0704837 100644 if (locked > lock_limit && !capable(CAP_IPC_LOCK)) return -EAGAIN; } -@@ -1073,6 +1182,9 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -1073,6 +1192,9 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, if (error) return error; @@ -77512,7 +77594,7 @@ index eae90af..0704837 100644 return mmap_region(file, addr, len, flags, vm_flags, pgoff); } EXPORT_SYMBOL(do_mmap_pgoff); -@@ -1153,7 +1265,7 @@ int vma_wants_writenotify(struct vm_area_struct *vma) +@@ -1153,7 +1275,7 @@ int vma_wants_writenotify(struct vm_area_struct *vma) vm_flags_t vm_flags = vma->vm_flags; /* If it was private or non-writable, the write bit is already clear */ @@ -77521,7 +77603,7 @@ index eae90af..0704837 100644 return 0; /* The backer wishes to know when pages are first written to? */ -@@ -1202,14 +1314,24 @@ unsigned long mmap_region(struct file *file, unsigned long addr, +@@ -1202,17 +1324,32 @@ unsigned long mmap_region(struct file *file, unsigned long addr, unsigned long charged = 0; struct inode *inode = file ? file->f_path.dentry->d_inode : NULL; @@ -77548,7 +77630,15 @@ index eae90af..0704837 100644 } /* Check against address space limit. */ -@@ -1258,6 +1380,16 @@ munmap_back: ++ ++#ifdef CONFIG_PAX_RANDMMAP ++ if (!(mm->pax_flags & MF_PAX_RANDMMAP) || (vm_flags & (VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC))) ++#endif ++ + if (!may_expand_vm(mm, len >> PAGE_SHIFT)) + return -ENOMEM; + +@@ -1258,6 +1395,16 @@ munmap_back: goto unacct_error; } @@ -77565,7 +77655,7 @@ index eae90af..0704837 100644 vma->vm_mm = mm; vma->vm_start = addr; vma->vm_end = addr + len; -@@ -1266,8 +1398,9 @@ munmap_back: +@@ -1266,8 +1413,9 @@ munmap_back: vma->vm_pgoff = pgoff; INIT_LIST_HEAD(&vma->anon_vma_chain); @@ -77576,7 +77666,7 @@ index eae90af..0704837 100644 if (vm_flags & (VM_GROWSDOWN|VM_GROWSUP)) goto free_vma; if (vm_flags & VM_DENYWRITE) { -@@ -1281,6 +1414,19 @@ munmap_back: +@@ -1281,6 +1429,19 @@ munmap_back: error = file->f_op->mmap(file, vma); if (error) goto unmap_and_free_vma; @@ -77596,7 +77686,7 @@ index eae90af..0704837 100644 if (vm_flags & VM_EXECUTABLE) added_exe_file_vma(mm); -@@ -1293,6 +1439,8 @@ munmap_back: +@@ -1293,6 +1454,8 @@ munmap_back: pgoff = vma->vm_pgoff; vm_flags = vma->vm_flags; } else if (vm_flags & VM_SHARED) { @@ -77605,7 +77695,7 @@ index eae90af..0704837 100644 error = shmem_zero_setup(vma); if (error) goto free_vma; -@@ -1316,6 +1464,11 @@ munmap_back: +@@ -1316,14 +1479,19 @@ munmap_back: vma_link(mm, vma, prev, rb_link, rb_parent); file = vma->vm_file; @@ -77617,15 +77707,16 @@ index eae90af..0704837 100644 /* Once vma denies write, undo our temporary denial count */ if (correct_wcount) atomic_inc(&inode->i_writecount); -@@ -1324,6 +1477,7 @@ out: + out: + perf_event_mmap(vma); - mm->total_vm += len >> PAGE_SHIFT; +- mm->total_vm += len >> PAGE_SHIFT; vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT); + track_exec_limit(mm, addr, addr + len, vm_flags); if (vm_flags & VM_LOCKED) { if (!mlock_vma_pages_range(vma, addr, addr + len)) mm->locked_vm += (len >> PAGE_SHIFT); -@@ -1341,6 +1495,12 @@ unmap_and_free_vma: +@@ -1341,6 +1509,12 @@ unmap_and_free_vma: unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); charged = 0; free_vma: @@ -77638,7 +77729,7 @@ index eae90af..0704837 100644 kmem_cache_free(vm_area_cachep, vma); unacct_error: if (charged) -@@ -1348,6 +1508,62 @@ unacct_error: +@@ -1348,6 +1522,62 @@ unacct_error: return error; } @@ -77701,7 +77792,7 @@ index eae90af..0704837 100644 /* Get an address range which is currently unmapped. * For shmat() with addr=0. * -@@ -1367,6 +1583,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, +@@ -1367,6 +1597,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, struct mm_struct *mm = current->mm; struct vm_area_struct *vma; unsigned long start_addr; @@ -77709,7 +77800,7 @@ index eae90af..0704837 100644 if (len > TASK_SIZE) return -ENOMEM; -@@ -1374,18 +1591,23 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, +@@ -1374,18 +1605,23 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, if (flags & MAP_FIXED) return addr; @@ -77740,7 +77831,7 @@ index eae90af..0704837 100644 } full_search: -@@ -1396,34 +1618,40 @@ full_search: +@@ -1396,34 +1632,40 @@ full_search: * Start a new search - just in case we missed * some holes. */ @@ -77792,7 +77883,7 @@ index eae90af..0704837 100644 mm->free_area_cache = addr; mm->cached_hole_size = ~0UL; } -@@ -1441,7 +1669,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1441,7 +1683,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, { struct vm_area_struct *vma; struct mm_struct *mm = current->mm; @@ -77802,7 +77893,7 @@ index eae90af..0704837 100644 /* requested length too big for entire address space */ if (len > TASK_SIZE) -@@ -1450,13 +1679,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1450,13 +1693,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, if (flags & MAP_FIXED) return addr; @@ -77825,7 +77916,7 @@ index eae90af..0704837 100644 } /* check if free_area_cache is useful for us */ -@@ -1471,7 +1705,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1471,7 +1719,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, /* make sure it can fit in the remaining address space */ if (addr > len) { vma = find_vma(mm, addr-len); @@ -77834,7 +77925,7 @@ index eae90af..0704837 100644 /* remember the address as a hint for next time */ return (mm->free_area_cache = addr-len); } -@@ -1488,7 +1722,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1488,7 +1736,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, * return with success: */ vma = find_vma(mm, addr); @@ -77843,7 +77934,7 @@ index eae90af..0704837 100644 /* remember the address as a hint for next time */ return (mm->free_area_cache = addr); -@@ -1497,8 +1731,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1497,8 +1745,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, mm->cached_hole_size = vma->vm_start - addr; /* try just below the current vma->vm_start */ @@ -77854,7 +77945,7 @@ index eae90af..0704837 100644 bottomup: /* -@@ -1507,13 +1741,21 @@ bottomup: +@@ -1507,13 +1755,21 @@ bottomup: * can happen with large stack limits and large mmap() * allocations. */ @@ -77878,7 +77969,7 @@ index eae90af..0704837 100644 mm->cached_hole_size = ~0UL; return addr; -@@ -1522,6 +1764,12 @@ bottomup: +@@ -1522,6 +1778,12 @@ bottomup: void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) { @@ -77891,7 +77982,7 @@ index eae90af..0704837 100644 /* * Is this a new hole at the highest possible address? */ -@@ -1529,8 +1777,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) +@@ -1529,8 +1791,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) mm->free_area_cache = addr; /* dont allow allocations above current base */ @@ -77903,7 +77994,7 @@ index eae90af..0704837 100644 } unsigned long -@@ -1603,40 +1853,50 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr) +@@ -1603,40 +1867,50 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr) EXPORT_SYMBOL(find_vma); @@ -77979,7 +78070,7 @@ index eae90af..0704837 100644 /* * Verify that the stack growth is acceptable and -@@ -1654,6 +1914,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns +@@ -1654,6 +1928,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns return -ENOMEM; /* Stack limit test */ @@ -77987,7 +78078,7 @@ index eae90af..0704837 100644 if (size > ACCESS_ONCE(rlim[RLIMIT_STACK].rlim_cur)) return -ENOMEM; -@@ -1664,6 +1925,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns +@@ -1664,6 +1939,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns locked = mm->locked_vm + grow; limit = ACCESS_ONCE(rlim[RLIMIT_MEMLOCK].rlim_cur); limit >>= PAGE_SHIFT; @@ -77995,7 +78086,15 @@ index eae90af..0704837 100644 if (locked > limit && !capable(CAP_IPC_LOCK)) return -ENOMEM; } -@@ -1694,37 +1956,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns +@@ -1682,7 +1958,6 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns + return -ENOMEM; + + /* Ok, everything looks good - let it rip */ +- mm->total_vm += grow; + if (vma->vm_flags & VM_LOCKED) + mm->locked_vm += grow; + vm_stat_account(mm, vma->vm_flags, vma->vm_file, grow); +@@ -1694,37 +1969,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns * PA-RISC uses this for its stack; IA64 for its Register Backing Store. * vma is the last one with address > vma->vm_end. Have to extend vma. */ @@ -78053,7 +78152,7 @@ index eae90af..0704837 100644 unsigned long size, grow; size = address - vma->vm_start; -@@ -1739,6 +2012,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) +@@ -1739,6 +2025,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) } } } @@ -78062,7 +78161,7 @@ index eae90af..0704837 100644 vma_unlock_anon_vma(vma); khugepaged_enter_vma_merge(vma); return error; -@@ -1752,6 +2027,8 @@ int expand_downwards(struct vm_area_struct *vma, +@@ -1752,6 +2040,8 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address) { int error; @@ -78071,7 +78170,7 @@ index eae90af..0704837 100644 /* * We must make sure the anon_vma is allocated -@@ -1765,6 +2042,15 @@ int expand_downwards(struct vm_area_struct *vma, +@@ -1765,6 +2055,15 @@ int expand_downwards(struct vm_area_struct *vma, if (error) return error; @@ -78087,7 +78186,7 @@ index eae90af..0704837 100644 vma_lock_anon_vma(vma); /* -@@ -1774,9 +2060,17 @@ int expand_downwards(struct vm_area_struct *vma, +@@ -1774,9 +2073,17 @@ int expand_downwards(struct vm_area_struct *vma, */ /* Somebody else might have raced and expanded it already */ @@ -78106,7 +78205,7 @@ index eae90af..0704837 100644 size = vma->vm_end - address; grow = (vma->vm_start - address) >> PAGE_SHIFT; -@@ -1786,18 +2080,48 @@ int expand_downwards(struct vm_area_struct *vma, +@@ -1786,18 +2093,48 @@ int expand_downwards(struct vm_area_struct *vma, if (!error) { vma->vm_start = address; vma->vm_pgoff -= grow; @@ -78155,7 +78254,7 @@ index eae90af..0704837 100644 return expand_upwards(vma, address); } -@@ -1820,6 +2144,14 @@ find_extend_vma(struct mm_struct *mm, unsigned long addr) +@@ -1820,6 +2157,14 @@ find_extend_vma(struct mm_struct *mm, unsigned long addr) #else int expand_stack(struct vm_area_struct *vma, unsigned long address) { @@ -78170,10 +78269,11 @@ index eae90af..0704837 100644 return expand_downwards(vma, address); } -@@ -1860,6 +2192,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma) +@@ -1860,7 +2205,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma) do { long nrpages = vma_pages(vma); +- mm->total_vm -= nrpages; +#ifdef CONFIG_PAX_SEGMEXEC + if ((mm->pax_flags & MF_PAX_SEGMEXEC) && (vma->vm_start >= SEGMEXEC_TASK_SIZE)) { + vma = remove_vma(vma); @@ -78181,10 +78281,10 @@ index eae90af..0704837 100644 + } +#endif + - mm->total_vm -= nrpages; vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages); vma = remove_vma(vma); -@@ -1905,6 +2244,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma, + } while (vma); +@@ -1905,6 +2256,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma, insertion_point = (prev ? &prev->vm_next : &mm->mmap); vma->vm_prev = NULL; do { @@ -78201,7 +78301,7 @@ index eae90af..0704837 100644 rb_erase(&vma->vm_rb, &mm->mm_rb); mm->map_count--; tail_vma = vma; -@@ -1933,14 +2282,33 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -1933,14 +2294,33 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, struct vm_area_struct *new; int err = -ENOMEM; @@ -78235,7 +78335,7 @@ index eae90af..0704837 100644 /* most fields are the same, copy all, and then fixup */ *new = *vma; -@@ -1953,6 +2321,22 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -1953,6 +2333,22 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, new->vm_pgoff += ((addr - vma->vm_start) >> PAGE_SHIFT); } @@ -78258,7 +78358,7 @@ index eae90af..0704837 100644 pol = mpol_dup(vma_policy(vma)); if (IS_ERR(pol)) { err = PTR_ERR(pol); -@@ -1978,6 +2362,42 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -1978,6 +2374,42 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, else err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); @@ -78301,7 +78401,7 @@ index eae90af..0704837 100644 /* Success. */ if (!err) return 0; -@@ -1990,10 +2410,18 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -1990,10 +2422,18 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, removed_exe_file_vma(mm); fput(new->vm_file); } @@ -78321,7 +78421,7 @@ index eae90af..0704837 100644 kmem_cache_free(vm_area_cachep, new); out_err: return err; -@@ -2006,6 +2434,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -2006,6 +2446,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, unsigned long addr, int new_below) { @@ -78337,7 +78437,7 @@ index eae90af..0704837 100644 if (mm->map_count >= sysctl_max_map_count) return -ENOMEM; -@@ -2017,11 +2454,30 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2017,11 +2466,30 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, * work. This now handles partial unmappings. * Jeremy Fitzhardinge <jeremy@goop.org> */ @@ -78368,7 +78468,7 @@ index eae90af..0704837 100644 if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start) return -EINVAL; -@@ -2096,6 +2552,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) +@@ -2096,6 +2564,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) /* Fix up all other VM information */ remove_vma_list(mm, vma); @@ -78377,7 +78477,7 @@ index eae90af..0704837 100644 return 0; } -@@ -2108,22 +2566,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) +@@ -2108,22 +2578,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) profile_munmap(addr); @@ -78406,7 +78506,7 @@ index eae90af..0704837 100644 /* * this is really a simplified "do_mmap". it only handles * anonymous maps. eventually we may be able to do some -@@ -2137,6 +2591,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2137,6 +2603,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) struct rb_node ** rb_link, * rb_parent; pgoff_t pgoff = addr >> PAGE_SHIFT; int error; @@ -78414,7 +78514,7 @@ index eae90af..0704837 100644 len = PAGE_ALIGN(len); if (!len) -@@ -2148,16 +2603,30 @@ unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2148,16 +2615,30 @@ unsigned long do_brk(unsigned long addr, unsigned long len) flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; @@ -78446,7 +78546,7 @@ index eae90af..0704837 100644 locked += mm->locked_vm; lock_limit = rlimit(RLIMIT_MEMLOCK); lock_limit >>= PAGE_SHIFT; -@@ -2174,22 +2643,22 @@ unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2174,22 +2655,22 @@ unsigned long do_brk(unsigned long addr, unsigned long len) /* * Clear old maps. this also does some error checking for us */ @@ -78473,7 +78573,7 @@ index eae90af..0704837 100644 return -ENOMEM; /* Can we just expand an old private anonymous mapping? */ -@@ -2203,7 +2672,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2203,7 +2684,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len) */ vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); if (!vma) { @@ -78482,7 +78582,7 @@ index eae90af..0704837 100644 return -ENOMEM; } -@@ -2217,11 +2686,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2217,11 +2698,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len) vma_link(mm, vma, prev, rb_link, rb_parent); out: perf_event_mmap(vma); @@ -78497,7 +78597,7 @@ index eae90af..0704837 100644 return addr; } -@@ -2268,8 +2738,10 @@ void exit_mmap(struct mm_struct *mm) +@@ -2268,8 +2750,10 @@ void exit_mmap(struct mm_struct *mm) * Walk the list again, actually closing and freeing it, * with preemption enabled, without holding any MM locks. */ @@ -78509,7 +78609,7 @@ index eae90af..0704837 100644 BUG_ON(mm->nr_ptes > (FIRST_USER_ADDRESS+PMD_SIZE-1)>>PMD_SHIFT); } -@@ -2283,6 +2755,13 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) +@@ -2283,6 +2767,13 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) struct vm_area_struct * __vma, * prev; struct rb_node ** rb_link, * rb_parent; @@ -78523,7 +78623,7 @@ index eae90af..0704837 100644 /* * The vm_pgoff of a purely anonymous vma should be irrelevant * until its first write fault, when page's anon_vma and index -@@ -2305,7 +2784,22 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) +@@ -2305,7 +2796,22 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) if ((vma->vm_flags & VM_ACCOUNT) && security_vm_enough_memory_mm(mm, vma_pages(vma))) return -ENOMEM; @@ -78546,7 +78646,7 @@ index eae90af..0704837 100644 return 0; } -@@ -2323,6 +2817,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -2323,6 +2829,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, struct rb_node **rb_link, *rb_parent; struct mempolicy *pol; @@ -78555,7 +78655,7 @@ index eae90af..0704837 100644 /* * If anonymous vma has not yet been faulted, update new pgoff * to match new location, to increase its chance of merging. -@@ -2373,6 +2869,39 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -2373,6 +2881,39 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, return NULL; } @@ -78595,20 +78695,15 @@ index eae90af..0704837 100644 /* * Return true if the calling process may expand its vm space by the passed * number of pages -@@ -2384,6 +2913,12 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages) +@@ -2384,6 +2925,7 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages) lim = rlimit(RLIMIT_AS) >> PAGE_SHIFT; -+#ifdef CONFIG_PAX_RANDMMAP -+ if (mm->pax_flags & MF_PAX_RANDMMAP) -+ cur -= mm->brk_gap; -+#endif -+ + gr_learn_resource(current, RLIMIT_AS, (cur + npages) << PAGE_SHIFT, 1); if (cur + npages > lim) return 0; return 1; -@@ -2454,6 +2989,22 @@ int install_special_mapping(struct mm_struct *mm, +@@ -2454,6 +2996,22 @@ int install_special_mapping(struct mm_struct *mm, vma->vm_start = addr; vma->vm_end = addr + len; @@ -78862,7 +78957,7 @@ index 5a688a2..27e031c 100644 if (nstart < prev->vm_end) diff --git a/mm/mremap.c b/mm/mremap.c -index d6959cb..18a402a 100644 +index d6959cb..c9e1e45 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -106,6 +106,12 @@ static void move_ptes(struct vm_area_struct *vma, pmd_t *old_pmd, @@ -78878,7 +78973,15 @@ index d6959cb..18a402a 100644 set_pte_at(mm, new_addr, new_pte, pte); } -@@ -290,6 +296,11 @@ static struct vm_area_struct *vma_to_resize(unsigned long addr, +@@ -251,7 +257,6 @@ static unsigned long move_vma(struct vm_area_struct *vma, + * If this were a serious issue, we'd add a flag to do_munmap(). + */ + hiwater_vm = mm->hiwater_vm; +- mm->total_vm += new_len >> PAGE_SHIFT; + vm_stat_account(mm, vma->vm_flags, vma->vm_file, new_len>>PAGE_SHIFT); + + if (do_munmap(mm, old_addr, old_len) < 0) { +@@ -290,6 +295,11 @@ static struct vm_area_struct *vma_to_resize(unsigned long addr, if (is_vm_hugetlb_page(vma)) goto Einval; @@ -78890,7 +78993,7 @@ index d6959cb..18a402a 100644 /* We can't remap across vm area boundaries */ if (old_len > vma->vm_end - addr) goto Efault; -@@ -346,20 +357,25 @@ static unsigned long mremap_to(unsigned long addr, +@@ -346,20 +356,25 @@ static unsigned long mremap_to(unsigned long addr, unsigned long ret = -EINVAL; unsigned long charged = 0; unsigned long map_flags; @@ -78921,7 +79024,7 @@ index d6959cb..18a402a 100644 goto out; ret = security_file_mmap(NULL, 0, 0, 0, new_addr, 1); -@@ -431,6 +447,7 @@ unsigned long do_mremap(unsigned long addr, +@@ -431,6 +446,7 @@ unsigned long do_mremap(unsigned long addr, struct vm_area_struct *vma; unsigned long ret = -EINVAL; unsigned long charged = 0; @@ -78929,7 +79032,7 @@ index d6959cb..18a402a 100644 if (flags & ~(MREMAP_FIXED | MREMAP_MAYMOVE)) goto out; -@@ -449,6 +466,17 @@ unsigned long do_mremap(unsigned long addr, +@@ -449,6 +465,17 @@ unsigned long do_mremap(unsigned long addr, if (!new_len) goto out; @@ -78947,7 +79050,15 @@ index d6959cb..18a402a 100644 if (flags & MREMAP_FIXED) { if (flags & MREMAP_MAYMOVE) ret = mremap_to(addr, old_len, new_addr, new_len); -@@ -498,6 +526,7 @@ unsigned long do_mremap(unsigned long addr, +@@ -490,7 +517,6 @@ unsigned long do_mremap(unsigned long addr, + goto out; + } + +- mm->total_vm += pages; + vm_stat_account(mm, vma->vm_flags, vma->vm_file, pages); + if (vma->vm_flags & VM_LOCKED) { + mm->locked_vm += pages; +@@ -498,6 +524,7 @@ unsigned long do_mremap(unsigned long addr, addr + new_len); } ret = addr; @@ -78955,7 +79066,7 @@ index d6959cb..18a402a 100644 goto out; } } -@@ -524,7 +553,13 @@ unsigned long do_mremap(unsigned long addr, +@@ -524,7 +551,13 @@ unsigned long do_mremap(unsigned long addr, ret = security_file_mmap(NULL, 0, 0, 0, new_addr, 1); if (ret) goto out; @@ -79056,10 +79167,18 @@ index 50f0824..97710b4 100644 .next = NULL, }; diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 5c028e2..4f0e54f 100644 +index 5c028e2..501e1e9 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -341,7 +341,7 @@ out: +@@ -57,6 +57,7 @@ + #include <linux/ftrace_event.h> + #include <linux/memcontrol.h> + #include <linux/prefetch.h> ++#include <linux/random.h> + + #include <asm/tlbflush.h> + #include <asm/div64.h> +@@ -341,7 +342,7 @@ out: * This usage means that zero-order pages may not be compound. */ @@ -79068,7 +79187,7 @@ index 5c028e2..4f0e54f 100644 { __free_pages_ok(page, compound_order(page)); } -@@ -654,6 +654,10 @@ static bool free_pages_prepare(struct page *page, unsigned int order) +@@ -654,6 +655,10 @@ static bool free_pages_prepare(struct page *page, unsigned int order) int i; int bad = 0; @@ -79079,7 +79198,7 @@ index 5c028e2..4f0e54f 100644 trace_mm_page_free_direct(page, order); kmemcheck_free_shadow(page, order); -@@ -669,6 +673,12 @@ static bool free_pages_prepare(struct page *page, unsigned int order) +@@ -669,6 +674,12 @@ static bool free_pages_prepare(struct page *page, unsigned int order) debug_check_no_obj_freed(page_address(page), PAGE_SIZE << order); } @@ -79092,7 +79211,48 @@ index 5c028e2..4f0e54f 100644 arch_free_page(page, order); kernel_map_pages(page, 1 << order, 0); -@@ -784,8 +794,10 @@ static int prep_new_page(struct page *page, int order, gfp_t gfp_flags) +@@ -692,6 +703,19 @@ static void __free_pages_ok(struct page *page, unsigned int order) + local_irq_restore(flags); + } + ++#ifdef CONFIG_PAX_LATENT_ENTROPY ++bool __meminitdata extra_latent_entropy; ++ ++static int __init setup_pax_extra_latent_entropy(char *str) ++{ ++ extra_latent_entropy = true; ++ return 0; ++} ++early_param("pax_extra_latent_entropy", setup_pax_extra_latent_entropy); ++ ++volatile u64 latent_entropy; ++#endif ++ + /* + * 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) + 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)); ++ } ++#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) arch_alloc_page(page, order); kernel_map_pages(page, 1 << order, 1); @@ -79103,7 +79263,7 @@ index 5c028e2..4f0e54f 100644 if (order && (gfp_flags & __GFP_COMP)) prep_compound_page(page, order); -@@ -3395,7 +3407,13 @@ static int pageblock_is_reserved(unsigned long start_pfn, unsigned long end_pfn) +@@ -3395,7 +3435,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++) { @@ -83195,6 +83355,23 @@ index 8c25419..47a51ae 100644 } int udp6_seq_show(struct seq_file *seq, void *v) +diff --git a/net/irda/af_irda.c b/net/irda/af_irda.c +index c24f25a..f4b49c5 100644 +--- a/net/irda/af_irda.c ++++ b/net/irda/af_irda.c +@@ -2584,8 +2584,10 @@ bed: + NULL, NULL, NULL); + + /* Check if the we got some results */ +- if (!self->cachedaddr) +- return -EAGAIN; /* Didn't find any devices */ ++ if (!self->cachedaddr) { ++ err = -EAGAIN; /* Didn't find any devices */ ++ goto out; ++ } + daddr = self->cachedaddr; + /* Cleanup */ + self->cachedaddr = 0; diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c index 253695d..9481ce8 100644 --- a/net/irda/ircomm/ircomm_tty.c @@ -85953,10 +86130,10 @@ index 38f6617..e70b72b 100755 exuberant() diff --git a/security/Kconfig b/security/Kconfig -index 51bd5a0..595fa16 100644 +index 51bd5a0..cedcdeb 100644 --- a/security/Kconfig +++ b/security/Kconfig -@@ -4,6 +4,902 @@ +@@ -4,6 +4,907 @@ menu "Security options" @@ -86839,6 +87016,11 @@ index 51bd5a0..595fa16 100644 + there is little 'natural' source of entropy normally. The cost + is some slowdown of the boot process. + ++ When pax_extra_latent_entropy is passed on the kernel command line, ++ entropy will be extracted from up to the first 4GB of RAM while the ++ runtime memory allocator is being initialized. This costs even more ++ slowdown of the boot process. ++ + 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. @@ -86859,7 +87041,7 @@ index 51bd5a0..595fa16 100644 config KEYS bool "Enable access key retention support" help -@@ -169,7 +1065,7 @@ config INTEL_TXT +@@ -169,7 +1070,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 @@ -87275,6 +87457,19 @@ 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 @@ -89311,10 +89506,10 @@ index 0000000..0408e06 +} diff --git a/tools/gcc/latent_entropy_plugin.c b/tools/gcc/latent_entropy_plugin.c new file mode 100644 -index 0000000..1276616 +index 0000000..b5395ba --- /dev/null +++ b/tools/gcc/latent_entropy_plugin.c -@@ -0,0 +1,321 @@ +@@ -0,0 +1,327 @@ +/* + * Copyright 2012-2013 by the PaX Team <pageexec@freemail.hu> + * Licensed under the GPL v2 @@ -89355,6 +89550,7 @@ index 0000000..1276616 +#include "rtl.h" +#include "emit-rtl.h" +#include "tree-flow.h" ++#include "langhooks.h" + +#if BUILDING_GCC_VERSION >= 4008 +#define TODO_dump_func 0 @@ -89365,7 +89561,7 @@ index 0000000..1276616 +static tree latent_entropy_decl; + +static struct plugin_info latent_entropy_plugin_info = { -+ .version = "201302112000", ++ .version = "201303102320", + .help = NULL +}; + @@ -89589,6 +89785,8 @@ index 0000000..1276616 + +static void start_unit_callback(void *gcc_data, void *user_data) +{ ++ tree latent_entropy_type; ++ +#if BUILDING_GCC_VERSION >= 4007 + seed = get_random_seed(false); +#else @@ -89599,16 +89797,19 @@ index 0000000..1276616 + if (in_lto_p) + return; + -+ // extern u64 latent_entropy -+ latent_entropy_decl = build_decl(UNKNOWN_LOCATION, VAR_DECL, get_identifier("latent_entropy"), unsigned_intDI_type_node); ++ // extern volatile u64 latent_entropy ++ gcc_assert(TYPE_PRECISION(long_long_unsigned_type_node) == 64); ++ latent_entropy_type = build_qualified_type(long_long_unsigned_type_node, TYPE_QUALS(long_long_unsigned_type_node) | TYPE_QUAL_VOLATILE); ++ latent_entropy_decl = build_decl(UNKNOWN_LOCATION, VAR_DECL, get_identifier("latent_entropy"), latent_entropy_type); + + TREE_STATIC(latent_entropy_decl) = 1; + TREE_PUBLIC(latent_entropy_decl) = 1; + TREE_USED(latent_entropy_decl) = 1; + TREE_THIS_VOLATILE(latent_entropy_decl) = 1; + DECL_EXTERNAL(latent_entropy_decl) = 1; -+ DECL_ARTIFICIAL(latent_entropy_decl) = 0; ++ DECL_ARTIFICIAL(latent_entropy_decl) = 1; + DECL_INITIAL(latent_entropy_decl) = NULL; ++ lang_hooks.decls.pushdecl(latent_entropy_decl); +// DECL_ASSEMBLER_NAME(latent_entropy_decl); +// varpool_finalize_decl(latent_entropy_decl); +// varpool_mark_needed_node(latent_entropy_decl); @@ -95320,6 +95521,25 @@ index 6789d78..4afd019e 100644 + .endm + #endif +diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c +index 3eed61e..79647cd 100644 +--- a/virt/kvm/ioapic.c ++++ b/virt/kvm/ioapic.c +@@ -73,9 +73,12 @@ static unsigned long ioapic_read_indirect(struct kvm_ioapic *ioapic, + u32 redir_index = (ioapic->ioregsel - 0x10) >> 1; + u64 redir_content; + +- ASSERT(redir_index < IOAPIC_NUM_PINS); ++ if (redir_index < IOAPIC_NUM_PINS) ++ redir_content = ++ ioapic->redirtbl[redir_index].bits; ++ else ++ redir_content = ~0ULL; + +- redir_content = ioapic->redirtbl[redir_index].bits; + result = (ioapic->ioregsel & 0x1) ? + (redir_content >> 32) & 0xffffffff : + redir_content & 0xffffffff; diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index ec747dc..38a8e47 100644 --- a/virt/kvm/kvm_main.c diff --git a/3.8.3/1001_linux-3.8.2.patch b/3.8.3/1001_linux-3.8.2.patch deleted file mode 100644 index 0952288..0000000 --- a/3.8.3/1001_linux-3.8.2.patch +++ /dev/null @@ -1,3093 +0,0 @@ -diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index 6c72381..986614d 100644 ---- a/Documentation/kernel-parameters.txt -+++ b/Documentation/kernel-parameters.txt -@@ -564,6 +564,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. - UART at the specified I/O port or MMIO address, - switching to the matching ttyS device later. The - options are the same as for ttyS, above. -+ hvc<n> Use the hypervisor console device <n>. This is for -+ both Xen and PowerPC hypervisors. - - If the device connected to the port is not a TTY but a braille - device, prepend "brl," before the device type, for instance -@@ -754,6 +756,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. - - earlyprintk= [X86,SH,BLACKFIN] - earlyprintk=vga -+ earlyprintk=xen - earlyprintk=serial[,ttySn[,baudrate]] - earlyprintk=ttySn[,baudrate] - earlyprintk=dbgp[debugController#] -@@ -771,6 +774,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. - The VGA output is eventually overwritten by the real - console. - -+ The xen output can only be used by Xen PV guests. -+ - ekgdboc= [X86,KGDB] Allow early kernel console debugging - ekgdboc=kbd - -diff --git a/Makefile b/Makefile -index 746c856..20d5318 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,6 +1,6 @@ - VERSION = 3 - PATCHLEVEL = 8 --SUBLEVEL = 1 -+SUBLEVEL = 2 - EXTRAVERSION = - NAME = Unicycling Gorilla - -diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c -index f8fa411..c205035 100644 ---- a/arch/x86/boot/compressed/eboot.c -+++ b/arch/x86/boot/compressed/eboot.c -@@ -19,23 +19,28 @@ - - static efi_system_table_t *sys_table; - -+static void efi_char16_printk(efi_char16_t *str) -+{ -+ struct efi_simple_text_output_protocol *out; -+ -+ out = (struct efi_simple_text_output_protocol *)sys_table->con_out; -+ efi_call_phys2(out->output_string, out, str); -+} -+ - static void efi_printk(char *str) - { - char *s8; - - for (s8 = str; *s8; s8++) { -- struct efi_simple_text_output_protocol *out; - efi_char16_t ch[2] = { 0 }; - - ch[0] = *s8; -- out = (struct efi_simple_text_output_protocol *)sys_table->con_out; -- - if (*s8 == '\n') { - efi_char16_t nl[2] = { '\r', 0 }; -- efi_call_phys2(out->output_string, out, nl); -+ efi_char16_printk(nl); - } - -- efi_call_phys2(out->output_string, out, ch); -+ efi_char16_printk(ch); - } - } - -@@ -709,7 +714,12 @@ static efi_status_t handle_ramdisks(efi_loaded_image_t *image, - if ((u8 *)p >= (u8 *)filename_16 + sizeof(filename_16)) - break; - -- *p++ = *str++; -+ if (*str == '/') { -+ *p++ = '\\'; -+ *str++; -+ } else { -+ *p++ = *str++; -+ } - } - - *p = '\0'; -@@ -737,7 +747,9 @@ static efi_status_t handle_ramdisks(efi_loaded_image_t *image, - status = efi_call_phys5(fh->open, fh, &h, filename_16, - EFI_FILE_MODE_READ, (u64)0); - if (status != EFI_SUCCESS) { -- efi_printk("Failed to open initrd file\n"); -+ efi_printk("Failed to open initrd file: "); -+ efi_char16_printk(filename_16); -+ efi_printk("\n"); - goto close_handles; - } - -diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c -index b994cc8..cbf5121 100644 ---- a/arch/x86/kernel/apic/apic.c -+++ b/arch/x86/kernel/apic/apic.c -@@ -131,7 +131,7 @@ static int __init parse_lapic(char *arg) - { - if (config_enabled(CONFIG_X86_32) && !arg) - force_enable_local_apic = 1; -- else if (!strncmp(arg, "notscdeadline", 13)) -+ else if (arg && !strncmp(arg, "notscdeadline", 13)) - setup_clear_cpu_cap(X86_FEATURE_TSC_DEADLINE_TIMER); - return 0; - } -diff --git a/arch/x86/kernel/head.c b/arch/x86/kernel/head.c -index 48d9d4e..992f442 100644 ---- a/arch/x86/kernel/head.c -+++ b/arch/x86/kernel/head.c -@@ -5,8 +5,6 @@ - #include <asm/setup.h> - #include <asm/bios_ebda.h> - --#define BIOS_LOWMEM_KILOBYTES 0x413 -- - /* - * The BIOS places the EBDA/XBDA at the top of conventional - * memory, and usually decreases the reported amount of -@@ -16,17 +14,30 @@ - * chipset: reserve a page before VGA to prevent PCI prefetch - * into it (errata #56). Usually the page is reserved anyways, - * unless you have no PS/2 mouse plugged in. -+ * -+ * This functions is deliberately very conservative. Losing -+ * memory in the bottom megabyte is rarely a problem, as long -+ * as we have enough memory to install the trampoline. Using -+ * memory that is in use by the BIOS or by some DMA device -+ * the BIOS didn't shut down *is* a big problem. - */ -+ -+#define BIOS_LOWMEM_KILOBYTES 0x413 -+#define LOWMEM_CAP 0x9f000U /* Absolute maximum */ -+#define INSANE_CUTOFF 0x20000U /* Less than this = insane */ -+ - void __init reserve_ebda_region(void) - { - unsigned int lowmem, ebda_addr; - -- /* To determine the position of the EBDA and the */ -- /* end of conventional memory, we need to look at */ -- /* the BIOS data area. In a paravirtual environment */ -- /* that area is absent. We'll just have to assume */ -- /* that the paravirt case can handle memory setup */ -- /* correctly, without our help. */ -+ /* -+ * To determine the position of the EBDA and the -+ * end of conventional memory, we need to look at -+ * the BIOS data area. In a paravirtual environment -+ * that area is absent. We'll just have to assume -+ * that the paravirt case can handle memory setup -+ * correctly, without our help. -+ */ - if (paravirt_enabled()) - return; - -@@ -37,19 +48,23 @@ void __init reserve_ebda_region(void) - /* start of EBDA area */ - ebda_addr = get_bios_ebda(); - -- /* Fixup: bios puts an EBDA in the top 64K segment */ -- /* of conventional memory, but does not adjust lowmem. */ -- if ((lowmem - ebda_addr) <= 0x10000) -- lowmem = ebda_addr; -+ /* -+ * Note: some old Dells seem to need 4k EBDA without -+ * reporting so, so just consider the memory above 0x9f000 -+ * to be off limits (bugzilla 2990). -+ */ -+ -+ /* If the EBDA address is below 128K, assume it is bogus */ -+ if (ebda_addr < INSANE_CUTOFF) -+ ebda_addr = LOWMEM_CAP; - -- /* Fixup: bios does not report an EBDA at all. */ -- /* Some old Dells seem to need 4k anyhow (bugzilla 2990) */ -- if ((ebda_addr == 0) && (lowmem >= 0x9f000)) -- lowmem = 0x9f000; -+ /* If lowmem is less than 128K, assume it is bogus */ -+ if (lowmem < INSANE_CUTOFF) -+ lowmem = LOWMEM_CAP; - -- /* Paranoia: should never happen, but... */ -- if ((lowmem == 0) || (lowmem >= 0x100000)) -- lowmem = 0x9f000; -+ /* Use the lower of the lowmem and EBDA markers as the cutoff */ -+ lowmem = min(lowmem, ebda_addr); -+ lowmem = min(lowmem, LOWMEM_CAP); /* Absolute cap */ - - /* reserve all memory between lowmem and the 1MB mark */ - memblock_reserve(lowmem, 0x100000 - lowmem); -diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c -index 928bf83..e2cd38f 100644 ---- a/arch/x86/platform/efi/efi.c -+++ b/arch/x86/platform/efi/efi.c -@@ -85,9 +85,10 @@ int efi_enabled(int facility) - } - EXPORT_SYMBOL(efi_enabled); - -+static bool disable_runtime = false; - static int __init setup_noefi(char *arg) - { -- clear_bit(EFI_RUNTIME_SERVICES, &x86_efi_facility); -+ disable_runtime = true; - return 0; - } - early_param("noefi", setup_noefi); -@@ -734,7 +735,7 @@ void __init efi_init(void) - if (!efi_is_native()) - pr_info("No EFI runtime due to 32/64-bit mismatch with kernel\n"); - else { -- if (efi_runtime_init()) -+ if (disable_runtime || efi_runtime_init()) - return; - set_bit(EFI_RUNTIME_SERVICES, &x86_efi_facility); - } -diff --git a/block/genhd.c b/block/genhd.c -index 3993ebf..7dcfdd8 100644 ---- a/block/genhd.c -+++ b/block/genhd.c -@@ -25,7 +25,7 @@ static DEFINE_MUTEX(block_class_lock); - struct kobject *block_depr; - - /* for extended dynamic devt allocation, currently only one major is used */ --#define MAX_EXT_DEVT (1 << MINORBITS) -+#define NR_EXT_DEVT (1 << MINORBITS) - - /* For extended devt allocation. ext_devt_mutex prevents look up - * results from going away underneath its user. -@@ -422,17 +422,18 @@ int blk_alloc_devt(struct hd_struct *part, dev_t *devt) - do { - if (!idr_pre_get(&ext_devt_idr, GFP_KERNEL)) - return -ENOMEM; -+ mutex_lock(&ext_devt_mutex); - rc = idr_get_new(&ext_devt_idr, part, &idx); -+ if (!rc && idx >= NR_EXT_DEVT) { -+ idr_remove(&ext_devt_idr, idx); -+ rc = -EBUSY; -+ } -+ mutex_unlock(&ext_devt_mutex); - } while (rc == -EAGAIN); - - if (rc) - return rc; - -- if (idx > MAX_EXT_DEVT) { -- idr_remove(&ext_devt_idr, idx); -- return -EBUSY; -- } -- - *devt = MKDEV(BLOCK_EXT_MAJOR, blk_mangle_minor(idx)); - return 0; - } -@@ -646,7 +647,6 @@ void del_gendisk(struct gendisk *disk) - disk_part_iter_exit(&piter); - - invalidate_partition(disk, 0); -- blk_free_devt(disk_to_dev(disk)->devt); - set_capacity(disk, 0); - disk->flags &= ~GENHD_FL_UP; - -@@ -664,6 +664,7 @@ void del_gendisk(struct gendisk *disk) - if (!sysfs_deprecated) - sysfs_remove_link(block_depr, dev_name(disk_to_dev(disk))); - device_del(disk_to_dev(disk)); -+ blk_free_devt(disk_to_dev(disk)->devt); - } - EXPORT_SYMBOL(del_gendisk); - -diff --git a/block/partition-generic.c b/block/partition-generic.c -index f1d1451..1cb4dec 100644 ---- a/block/partition-generic.c -+++ b/block/partition-generic.c -@@ -249,11 +249,11 @@ void delete_partition(struct gendisk *disk, int partno) - if (!part) - return; - -- blk_free_devt(part_devt(part)); - rcu_assign_pointer(ptbl->part[partno], NULL); - rcu_assign_pointer(ptbl->last_lookup, NULL); - kobject_put(part->holder_dir); - device_del(part_to_dev(part)); -+ blk_free_devt(part_devt(part)); - - hd_struct_put(part); - } -diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig -index 38c5078..f5ae996 100644 ---- a/drivers/acpi/Kconfig -+++ b/drivers/acpi/Kconfig -@@ -268,7 +268,8 @@ config ACPI_CUSTOM_DSDT - default ACPI_CUSTOM_DSDT_FILE != "" - - config ACPI_INITRD_TABLE_OVERRIDE -- bool "ACPI tables can be passed via uncompressed cpio in initrd" -+ bool "ACPI tables override via initrd" -+ depends on BLK_DEV_INITRD && X86 - default n - help - This option provides functionality to override arbitrary ACPI tables -diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c -index 2fcc67d..df85051 100644 ---- a/drivers/acpi/sleep.c -+++ b/drivers/acpi/sleep.c -@@ -177,6 +177,14 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = { - }, - { - .callback = init_nvs_nosave, -+ .ident = "Sony Vaio VGN-FW41E_H", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW41E_H"), -+ }, -+ }, -+ { -+ .callback = init_nvs_nosave, - .ident = "Sony Vaio VGN-FW21E", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), -diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c -index 4979127..72e3e12 100644 ---- a/drivers/ata/ahci.c -+++ b/drivers/ata/ahci.c -@@ -265,6 +265,30 @@ static const struct pci_device_id ahci_pci_tbl[] = { - { PCI_VDEVICE(INTEL, 0x9c07), board_ahci }, /* Lynx Point-LP RAID */ - { PCI_VDEVICE(INTEL, 0x9c0e), board_ahci }, /* Lynx Point-LP RAID */ - { PCI_VDEVICE(INTEL, 0x9c0f), board_ahci }, /* Lynx Point-LP RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f22), board_ahci }, /* Avoton AHCI */ -+ { PCI_VDEVICE(INTEL, 0x1f23), board_ahci }, /* Avoton AHCI */ -+ { PCI_VDEVICE(INTEL, 0x1f24), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f25), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f26), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f27), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f2e), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f2f), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f32), board_ahci }, /* Avoton AHCI */ -+ { PCI_VDEVICE(INTEL, 0x1f33), board_ahci }, /* Avoton AHCI */ -+ { PCI_VDEVICE(INTEL, 0x1f34), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f35), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f36), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f37), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f3e), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x1f3f), board_ahci }, /* Avoton RAID */ -+ { PCI_VDEVICE(INTEL, 0x8d02), board_ahci }, /* Wellsburg AHCI */ -+ { PCI_VDEVICE(INTEL, 0x8d04), board_ahci }, /* Wellsburg RAID */ -+ { PCI_VDEVICE(INTEL, 0x8d06), board_ahci }, /* Wellsburg RAID */ -+ { PCI_VDEVICE(INTEL, 0x8d0e), board_ahci }, /* Wellsburg RAID */ -+ { PCI_VDEVICE(INTEL, 0x8d62), board_ahci }, /* Wellsburg AHCI */ -+ { PCI_VDEVICE(INTEL, 0x8d64), board_ahci }, /* Wellsburg RAID */ -+ { PCI_VDEVICE(INTEL, 0x8d66), board_ahci }, /* Wellsburg RAID */ -+ { PCI_VDEVICE(INTEL, 0x8d6e), board_ahci }, /* Wellsburg RAID */ - - /* JMicron 360/1/3/5/6, match class to avoid IDE function */ - { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, -diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c -index 174eca6..d2ba439 100644 ---- a/drivers/ata/ata_piix.c -+++ b/drivers/ata/ata_piix.c -@@ -317,6 +317,23 @@ static const struct pci_device_id piix_pci_tbl[] = { - { 0x8086, 0x9c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, - /* SATA Controller IDE (DH89xxCC) */ - { 0x8086, 0x2326, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, -+ /* SATA Controller IDE (Avoton) */ -+ { 0x8086, 0x1f20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, -+ /* SATA Controller IDE (Avoton) */ -+ { 0x8086, 0x1f21, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, -+ /* SATA Controller IDE (Avoton) */ -+ { 0x8086, 0x1f30, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, -+ /* SATA Controller IDE (Avoton) */ -+ { 0x8086, 0x1f31, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, -+ /* SATA Controller IDE (Wellsburg) */ -+ { 0x8086, 0x8d00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, -+ /* SATA Controller IDE (Wellsburg) */ -+ { 0x8086, 0x8d08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, -+ /* SATA Controller IDE (Wellsburg) */ -+ { 0x8086, 0x8d60, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, -+ /* SATA Controller IDE (Wellsburg) */ -+ { 0x8086, 0x8d68, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, -+ - { } /* terminate list */ - }; - -diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c -index 043ddcc..eb591fb 100644 ---- a/drivers/block/nbd.c -+++ b/drivers/block/nbd.c -@@ -595,12 +595,20 @@ static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd, - struct request sreq; - - dev_info(disk_to_dev(nbd->disk), "NBD_DISCONNECT\n"); -+ if (!nbd->sock) -+ return -EINVAL; - -+ mutex_unlock(&nbd->tx_lock); -+ fsync_bdev(bdev); -+ mutex_lock(&nbd->tx_lock); - blk_rq_init(NULL, &sreq); - sreq.cmd_type = REQ_TYPE_SPECIAL; - nbd_cmd(&sreq) = NBD_CMD_DISC; -+ -+ /* Check again after getting mutex back. */ - if (!nbd->sock) - return -EINVAL; -+ - nbd_send_req(nbd, &sreq); - return 0; - } -@@ -614,6 +622,7 @@ static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd, - nbd_clear_que(nbd); - BUG_ON(!list_empty(&nbd->queue_head)); - BUG_ON(!list_empty(&nbd->waiting_queue)); -+ kill_bdev(bdev); - if (file) - fput(file); - return 0; -@@ -702,6 +711,7 @@ static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd, - nbd->file = NULL; - nbd_clear_que(nbd); - dev_warn(disk_to_dev(nbd->disk), "queue cleared\n"); -+ kill_bdev(bdev); - queue_flag_clear_unlocked(QUEUE_FLAG_DISCARD, nbd->disk->queue); - if (file) - fput(file); -diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c -index 5ac841f..de1f319 100644 ---- a/drivers/block/xen-blkback/blkback.c -+++ b/drivers/block/xen-blkback/blkback.c -@@ -46,6 +46,7 @@ - #include <xen/xen.h> - #include <asm/xen/hypervisor.h> - #include <asm/xen/hypercall.h> -+#include <xen/balloon.h> - #include "common.h" - - /* -@@ -239,6 +240,7 @@ static void free_persistent_gnts(struct rb_root *root, unsigned int num) - ret = gnttab_unmap_refs(unmap, NULL, pages, - segs_to_unmap); - BUG_ON(ret); -+ free_xenballooned_pages(segs_to_unmap, pages); - segs_to_unmap = 0; - } - -@@ -527,8 +529,8 @@ static int xen_blkbk_map(struct blkif_request *req, - GFP_KERNEL); - if (!persistent_gnt) - return -ENOMEM; -- persistent_gnt->page = alloc_page(GFP_KERNEL); -- if (!persistent_gnt->page) { -+ if (alloc_xenballooned_pages(1, &persistent_gnt->page, -+ false)) { - kfree(persistent_gnt); - return -ENOMEM; - } -@@ -879,7 +881,6 @@ static int dispatch_rw_block_io(struct xen_blkif *blkif, - goto fail_response; - } - -- preq.dev = req->u.rw.handle; - preq.sector_number = req->u.rw.sector_number; - preq.nr_sects = 0; - -diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c -index 6398072..5e237f6 100644 ---- a/drivers/block/xen-blkback/xenbus.c -+++ b/drivers/block/xen-blkback/xenbus.c -@@ -367,6 +367,7 @@ static int xen_blkbk_remove(struct xenbus_device *dev) - be->blkif = NULL; - } - -+ kfree(be->mode); - kfree(be); - dev_set_drvdata(&dev->dev, NULL); - return 0; -@@ -502,6 +503,7 @@ static void backend_changed(struct xenbus_watch *watch, - = container_of(watch, struct backend_info, backend_watch); - struct xenbus_device *dev = be->dev; - int cdrom = 0; -+ unsigned long handle; - char *device_type; - - DPRINTK(""); -@@ -521,10 +523,10 @@ static void backend_changed(struct xenbus_watch *watch, - return; - } - -- if ((be->major || be->minor) && -- ((be->major != major) || (be->minor != minor))) { -- pr_warn(DRV_PFX "changing physical device (from %x:%x to %x:%x) not supported.\n", -- be->major, be->minor, major, minor); -+ if (be->major | be->minor) { -+ if (be->major != major || be->minor != minor) -+ pr_warn(DRV_PFX "changing physical device (from %x:%x to %x:%x) not supported.\n", -+ be->major, be->minor, major, minor); - return; - } - -@@ -542,36 +544,33 @@ static void backend_changed(struct xenbus_watch *watch, - kfree(device_type); - } - -- if (be->major == 0 && be->minor == 0) { -- /* Front end dir is a number, which is used as the handle. */ -- -- char *p = strrchr(dev->otherend, '/') + 1; -- long handle; -- err = strict_strtoul(p, 0, &handle); -- if (err) -- return; -+ /* Front end dir is a number, which is used as the handle. */ -+ err = strict_strtoul(strrchr(dev->otherend, '/') + 1, 0, &handle); -+ if (err) -+ return; - -- be->major = major; -- be->minor = minor; -+ be->major = major; -+ be->minor = minor; - -- err = xen_vbd_create(be->blkif, handle, major, minor, -- (NULL == strchr(be->mode, 'w')), cdrom); -- if (err) { -- be->major = 0; -- be->minor = 0; -- xenbus_dev_fatal(dev, err, "creating vbd structure"); -- return; -- } -+ err = xen_vbd_create(be->blkif, handle, major, minor, -+ !strchr(be->mode, 'w'), cdrom); - -+ if (err) -+ xenbus_dev_fatal(dev, err, "creating vbd structure"); -+ else { - err = xenvbd_sysfs_addif(dev); - if (err) { - xen_vbd_free(&be->blkif->vbd); -- be->major = 0; -- be->minor = 0; - xenbus_dev_fatal(dev, err, "creating sysfs entries"); -- return; - } -+ } - -+ if (err) { -+ kfree(be->mode); -+ be->mode = NULL; -+ be->major = 0; -+ be->minor = 0; -+ } else { - /* We're potentially connected now */ - xen_update_blkif_status(be->blkif); - } -diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c -index 11043c1..c3dae2e 100644 ---- a/drivers/block/xen-blkfront.c -+++ b/drivers/block/xen-blkfront.c -@@ -791,7 +791,7 @@ static void blkif_restart_queue(struct work_struct *work) - static void blkif_free(struct blkfront_info *info, int suspend) - { - struct llist_node *all_gnts; -- struct grant *persistent_gnt; -+ struct grant *persistent_gnt, *tmp; - struct llist_node *n; - - /* Prevent new requests being issued until we fix things up. */ -@@ -805,10 +805,17 @@ static void blkif_free(struct blkfront_info *info, int suspend) - /* Remove all persistent grants */ - if (info->persistent_gnts_c) { - all_gnts = llist_del_all(&info->persistent_gnts); -- llist_for_each_entry_safe(persistent_gnt, n, all_gnts, node) { -+ persistent_gnt = llist_entry(all_gnts, typeof(*(persistent_gnt)), node); -+ while (persistent_gnt) { - gnttab_end_foreign_access(persistent_gnt->gref, 0, 0UL); - __free_page(pfn_to_page(persistent_gnt->pfn)); -- kfree(persistent_gnt); -+ tmp = persistent_gnt; -+ n = persistent_gnt->node.next; -+ if (n) -+ persistent_gnt = llist_entry(n, typeof(*(persistent_gnt)), node); -+ else -+ persistent_gnt = NULL; -+ kfree(tmp); - } - info->persistent_gnts_c = 0; - } -diff --git a/drivers/firewire/core-device.c b/drivers/firewire/core-device.c -index 3873d53..af3e8aa 100644 ---- a/drivers/firewire/core-device.c -+++ b/drivers/firewire/core-device.c -@@ -1020,6 +1020,10 @@ static void fw_device_init(struct work_struct *work) - ret = idr_pre_get(&fw_device_idr, GFP_KERNEL) ? - idr_get_new(&fw_device_idr, device, &minor) : - -ENOMEM; -+ if (minor >= 1 << MINORBITS) { -+ idr_remove(&fw_device_idr, minor); -+ minor = -ENOSPC; -+ } - up_write(&fw_device_rwsem); - - if (ret < 0) -diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c -index f5596db..bcb201c 100644 ---- a/drivers/firmware/efivars.c -+++ b/drivers/firmware/efivars.c -@@ -79,6 +79,7 @@ - #include <linux/device.h> - #include <linux/slab.h> - #include <linux/pstore.h> -+#include <linux/ctype.h> - - #include <linux/fs.h> - #include <linux/ramfs.h> -@@ -900,6 +901,48 @@ static struct inode *efivarfs_get_inode(struct super_block *sb, - return inode; - } - -+/* -+ * Return true if 'str' is a valid efivarfs filename of the form, -+ * -+ * VariableName-12345678-1234-1234-1234-1234567891bc -+ */ -+static bool efivarfs_valid_name(const char *str, int len) -+{ -+ static const char dashes[GUID_LEN] = { -+ [8] = 1, [13] = 1, [18] = 1, [23] = 1 -+ }; -+ const char *s = str + len - GUID_LEN; -+ int i; -+ -+ /* -+ * We need a GUID, plus at least one letter for the variable name, -+ * plus the '-' separator -+ */ -+ if (len < GUID_LEN + 2) -+ return false; -+ -+ /* GUID should be right after the first '-' */ -+ if (s - 1 != strchr(str, '-')) -+ return false; -+ -+ /* -+ * Validate that 's' is of the correct format, e.g. -+ * -+ * 12345678-1234-1234-1234-123456789abc -+ */ -+ for (i = 0; i < GUID_LEN; i++) { -+ if (dashes[i]) { -+ if (*s++ != '-') -+ return false; -+ } else { -+ if (!isxdigit(*s++)) -+ return false; -+ } -+ } -+ -+ return true; -+} -+ - static void efivarfs_hex_to_guid(const char *str, efi_guid_t *guid) - { - guid->b[0] = hex_to_bin(str[6]) << 4 | hex_to_bin(str[7]); -@@ -928,11 +971,7 @@ static int efivarfs_create(struct inode *dir, struct dentry *dentry, - struct efivar_entry *var; - int namelen, i = 0, err = 0; - -- /* -- * We need a GUID, plus at least one letter for the variable name, -- * plus the '-' separator -- */ -- if (dentry->d_name.len < GUID_LEN + 2) -+ if (!efivarfs_valid_name(dentry->d_name.name, dentry->d_name.len)) - return -EINVAL; - - inode = efivarfs_get_inode(dir->i_sb, dir, mode, 0); -@@ -1004,6 +1043,84 @@ static int efivarfs_unlink(struct inode *dir, struct dentry *dentry) - return -EINVAL; - }; - -+/* -+ * Compare two efivarfs file names. -+ * -+ * An efivarfs filename is composed of two parts, -+ * -+ * 1. A case-sensitive variable name -+ * 2. A case-insensitive GUID -+ * -+ * So we need to perform a case-sensitive match on part 1 and a -+ * case-insensitive match on part 2. -+ */ -+static int efivarfs_d_compare(const struct dentry *parent, const struct inode *pinode, -+ const struct dentry *dentry, const struct inode *inode, -+ unsigned int len, const char *str, -+ const struct qstr *name) -+{ -+ int guid = len - GUID_LEN; -+ -+ if (name->len != len) -+ return 1; -+ -+ /* Case-sensitive compare for the variable name */ -+ if (memcmp(str, name->name, guid)) -+ return 1; -+ -+ /* Case-insensitive compare for the GUID */ -+ return strncasecmp(name->name + guid, str + guid, GUID_LEN); -+} -+ -+static int efivarfs_d_hash(const struct dentry *dentry, -+ const struct inode *inode, struct qstr *qstr) -+{ -+ unsigned long hash = init_name_hash(); -+ const unsigned char *s = qstr->name; -+ unsigned int len = qstr->len; -+ -+ if (!efivarfs_valid_name(s, len)) -+ return -EINVAL; -+ -+ while (len-- > GUID_LEN) -+ hash = partial_name_hash(*s++, hash); -+ -+ /* GUID is case-insensitive. */ -+ while (len--) -+ hash = partial_name_hash(tolower(*s++), hash); -+ -+ qstr->hash = end_name_hash(hash); -+ return 0; -+} -+ -+/* -+ * Retaining negative dentries for an in-memory filesystem just wastes -+ * memory and lookup time: arrange for them to be deleted immediately. -+ */ -+static int efivarfs_delete_dentry(const struct dentry *dentry) -+{ -+ return 1; -+} -+ -+static struct dentry_operations efivarfs_d_ops = { -+ .d_compare = efivarfs_d_compare, -+ .d_hash = efivarfs_d_hash, -+ .d_delete = efivarfs_delete_dentry, -+}; -+ -+static struct dentry *efivarfs_alloc_dentry(struct dentry *parent, char *name) -+{ -+ struct qstr q; -+ -+ q.name = name; -+ q.len = strlen(name); -+ -+ if (efivarfs_d_hash(NULL, NULL, &q)) -+ return NULL; -+ -+ return d_alloc(parent, &q); -+} -+ - static int efivarfs_fill_super(struct super_block *sb, void *data, int silent) - { - struct inode *inode = NULL; -@@ -1019,6 +1136,7 @@ static int efivarfs_fill_super(struct super_block *sb, void *data, int silent) - sb->s_blocksize_bits = PAGE_CACHE_SHIFT; - sb->s_magic = EFIVARFS_MAGIC; - sb->s_op = &efivarfs_ops; -+ sb->s_d_op = &efivarfs_d_ops; - sb->s_time_gran = 1; - - inode = efivarfs_get_inode(sb, NULL, S_IFDIR | 0755, 0); -@@ -1059,7 +1177,7 @@ static int efivarfs_fill_super(struct super_block *sb, void *data, int silent) - if (!inode) - goto fail_name; - -- dentry = d_alloc_name(root, name); -+ dentry = efivarfs_alloc_dentry(root, name); - if (!dentry) - goto fail_inode; - -@@ -1109,8 +1227,20 @@ static struct file_system_type efivarfs_type = { - .kill_sb = efivarfs_kill_sb, - }; - -+/* -+ * Handle negative dentry. -+ */ -+static struct dentry *efivarfs_lookup(struct inode *dir, struct dentry *dentry, -+ unsigned int flags) -+{ -+ if (dentry->d_name.len > NAME_MAX) -+ return ERR_PTR(-ENAMETOOLONG); -+ d_add(dentry, NULL); -+ return NULL; -+} -+ - static const struct inode_operations efivarfs_dir_inode_operations = { -- .lookup = simple_lookup, -+ .lookup = efivarfs_lookup, - .unlink = efivarfs_unlink, - .create = efivarfs_create, - }; -diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c -index eb2ee11..ceb3040 100644 ---- a/drivers/hid/hid-core.c -+++ b/drivers/hid/hid-core.c -@@ -1697,6 +1697,7 @@ static const struct hid_device_id hid_have_special_driver[] = { - { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_NAVIGATION_CONTROLLER) }, - { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) }, - { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGP_MOUSE) }, - { HID_USB_DEVICE(USB_VENDOR_ID_SUNPLUS, USB_DEVICE_ID_SUNPLUS_WDESKTOP) }, - { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb300) }, - { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb304) }, -@@ -2070,6 +2071,7 @@ static const struct hid_device_id hid_ignore_list[] = { - { HID_USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_HYBRID) }, - { HID_USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_HEATCONTROL) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_BEATPAD) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_MASTERKIT, USB_DEVICE_ID_MASTERKIT_MA901RADIO) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1024LS) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1208LS) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROCHIP, USB_DEVICE_ID_PICKIT1) }, -diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index 34e2547..266e2ae 100644 ---- a/drivers/hid/hid-ids.h -+++ b/drivers/hid/hid-ids.h -@@ -554,6 +554,9 @@ - #define USB_VENDOR_ID_MADCATZ 0x0738 - #define USB_DEVICE_ID_MADCATZ_BEATPAD 0x4540 - -+#define USB_VENDOR_ID_MASTERKIT 0x16c0 -+#define USB_DEVICE_ID_MASTERKIT_MA901RADIO 0x05df -+ - #define USB_VENDOR_ID_MCC 0x09db - #define USB_DEVICE_ID_MCC_PMD1024LS 0x0076 - #define USB_DEVICE_ID_MCC_PMD1208LS 0x007a -@@ -709,6 +712,7 @@ - - #define USB_VENDOR_ID_SONY 0x054c - #define USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE 0x024b -+#define USB_DEVICE_ID_SONY_VAIO_VGP_MOUSE 0x0374 - #define USB_DEVICE_ID_SONY_PS3_BDREMOTE 0x0306 - #define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268 - #define USB_DEVICE_ID_SONY_NAVIGATION_CONTROLLER 0x042f -diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c -index 7f33ebf..126d6ae 100644 ---- a/drivers/hid/hid-sony.c -+++ b/drivers/hid/hid-sony.c -@@ -43,9 +43,19 @@ static __u8 *sony_report_fixup(struct hid_device *hdev, __u8 *rdesc, - { - struct sony_sc *sc = hid_get_drvdata(hdev); - -- if ((sc->quirks & VAIO_RDESC_CONSTANT) && -- *rsize >= 56 && rdesc[54] == 0x81 && rdesc[55] == 0x07) { -- hid_info(hdev, "Fixing up Sony Vaio VGX report descriptor\n"); -+ /* -+ * Some Sony RF receivers wrongly declare the mouse pointer as a -+ * a constant non-data variable. -+ */ -+ if ((sc->quirks & VAIO_RDESC_CONSTANT) && *rsize >= 56 && -+ /* usage page: generic desktop controls */ -+ /* rdesc[0] == 0x05 && rdesc[1] == 0x01 && */ -+ /* usage: mouse */ -+ rdesc[2] == 0x09 && rdesc[3] == 0x02 && -+ /* input (usage page for x,y axes): constant, variable, relative */ -+ rdesc[54] == 0x81 && rdesc[55] == 0x07) { -+ hid_info(hdev, "Fixing up Sony RF Receiver report descriptor\n"); -+ /* input: data, variable, relative */ - rdesc[55] = 0x06; - } - -@@ -217,6 +227,8 @@ static const struct hid_device_id sony_devices[] = { - .driver_data = SIXAXIS_CONTROLLER_BT }, - { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE), - .driver_data = VAIO_RDESC_CONSTANT }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGP_MOUSE), -+ .driver_data = VAIO_RDESC_CONSTANT }, - { } - }; - MODULE_DEVICE_TABLE(hid, sony_devices); -diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c -index d5088ce..7ccf328 100644 ---- a/drivers/infiniband/ulp/srp/ib_srp.c -+++ b/drivers/infiniband/ulp/srp/ib_srp.c -@@ -700,23 +700,24 @@ static int srp_reconnect_target(struct srp_target_port *target) - struct Scsi_Host *shost = target->scsi_host; - int i, ret; - -- if (target->state != SRP_TARGET_LIVE) -- return -EAGAIN; -- - scsi_target_block(&shost->shost_gendev); - - srp_disconnect_target(target); - /* -- * Now get a new local CM ID so that we avoid confusing the -- * target in case things are really fouled up. -+ * Now get a new local CM ID so that we avoid confusing the target in -+ * case things are really fouled up. Doing so also ensures that all CM -+ * callbacks will have finished before a new QP is allocated. - */ - ret = srp_new_cm_id(target); -- if (ret) -- goto unblock; -- -- ret = srp_create_target_ib(target); -- if (ret) -- goto unblock; -+ /* -+ * Whether or not creating a new CM ID succeeded, create a new -+ * QP. This guarantees that all completion callback function -+ * invocations have finished before request resetting starts. -+ */ -+ if (ret == 0) -+ ret = srp_create_target_ib(target); -+ else -+ srp_create_target_ib(target); - - for (i = 0; i < SRP_CMD_SQ_SIZE; ++i) { - struct srp_request *req = &target->req_ring[i]; -@@ -728,11 +729,12 @@ static int srp_reconnect_target(struct srp_target_port *target) - for (i = 0; i < SRP_SQ_SIZE; ++i) - list_add(&target->tx_ring[i]->list, &target->free_tx); - -- ret = srp_connect_target(target); -+ if (ret == 0) -+ ret = srp_connect_target(target); - --unblock: - scsi_target_unblock(&shost->shost_gendev, ret == 0 ? SDEV_RUNNING : - SDEV_TRANSPORT_OFFLINE); -+ target->transport_offline = !!ret; - - if (ret) - goto err; -@@ -1352,6 +1354,12 @@ static int srp_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *scmnd) - unsigned long flags; - int len; - -+ if (unlikely(target->transport_offline)) { -+ scmnd->result = DID_NO_CONNECT << 16; -+ scmnd->scsi_done(scmnd); -+ return 0; -+ } -+ - spin_lock_irqsave(&target->lock, flags); - iu = __srp_get_tx_iu(target, SRP_IU_CMD); - if (!iu) -@@ -1695,6 +1703,9 @@ static int srp_send_tsk_mgmt(struct srp_target_port *target, - struct srp_iu *iu; - struct srp_tsk_mgmt *tsk_mgmt; - -+ if (!target->connected || target->qp_in_error) -+ return -1; -+ - init_completion(&target->tsk_mgmt_done); - - spin_lock_irq(&target->lock); -@@ -1736,7 +1747,7 @@ static int srp_abort(struct scsi_cmnd *scmnd) - - shost_printk(KERN_ERR, target->scsi_host, "SRP abort called\n"); - -- if (!req || target->qp_in_error || !srp_claim_req(target, req, scmnd)) -+ if (!req || !srp_claim_req(target, req, scmnd)) - return FAILED; - srp_send_tsk_mgmt(target, req->index, scmnd->device->lun, - SRP_TSK_ABORT_TASK); -@@ -1754,8 +1765,6 @@ static int srp_reset_device(struct scsi_cmnd *scmnd) - - shost_printk(KERN_ERR, target->scsi_host, "SRP reset_device called\n"); - -- if (target->qp_in_error) -- return FAILED; - if (srp_send_tsk_mgmt(target, SRP_TAG_NO_REQ, scmnd->device->lun, - SRP_TSK_LUN_RESET)) - return FAILED; -@@ -1972,7 +1981,6 @@ static int srp_add_target(struct srp_host *host, struct srp_target_port *target) - spin_unlock(&host->target_lock); - - target->state = SRP_TARGET_LIVE; -- target->connected = false; - - scsi_scan_target(&target->scsi_host->shost_gendev, - 0, target->scsi_id, SCAN_WILD_CARD, 0); -diff --git a/drivers/infiniband/ulp/srp/ib_srp.h b/drivers/infiniband/ulp/srp/ib_srp.h -index de2d0b3..66fbedd 100644 ---- a/drivers/infiniband/ulp/srp/ib_srp.h -+++ b/drivers/infiniband/ulp/srp/ib_srp.h -@@ -140,6 +140,7 @@ struct srp_target_port { - unsigned int cmd_sg_cnt; - unsigned int indirect_size; - bool allow_ext_sg; -+ bool transport_offline; - - /* Everything above this point is used in the hot path of - * command processing. Try to keep them packed into cachelines. -diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c -index faf10ba..b6ecddb 100644 ---- a/drivers/iommu/amd_iommu_init.c -+++ b/drivers/iommu/amd_iommu_init.c -@@ -1876,11 +1876,6 @@ static int amd_iommu_init_dma(void) - struct amd_iommu *iommu; - int ret; - -- init_device_table_dma(); -- -- for_each_iommu(iommu) -- iommu_flush_all_caches(iommu); -- - if (iommu_pass_through) - ret = amd_iommu_init_passthrough(); - else -@@ -1889,6 +1884,11 @@ static int amd_iommu_init_dma(void) - if (ret) - return ret; - -+ init_device_table_dma(); -+ -+ for_each_iommu(iommu) -+ iommu_flush_all_caches(iommu); -+ - amd_iommu_init_api(); - - amd_iommu_init_notifier(); -diff --git a/drivers/media/pci/cx18/cx18-alsa-main.c b/drivers/media/pci/cx18/cx18-alsa-main.c -index 8e971ff..b2c8c34 100644 ---- a/drivers/media/pci/cx18/cx18-alsa-main.c -+++ b/drivers/media/pci/cx18/cx18-alsa-main.c -@@ -197,7 +197,7 @@ err_exit: - return ret; - } - --static int __init cx18_alsa_load(struct cx18 *cx) -+static int cx18_alsa_load(struct cx18 *cx) - { - struct v4l2_device *v4l2_dev = &cx->v4l2_dev; - struct cx18_stream *s; -diff --git a/drivers/media/pci/cx18/cx18-alsa-pcm.h b/drivers/media/pci/cx18/cx18-alsa-pcm.h -index d26e51f..e2b2c5b 100644 ---- a/drivers/media/pci/cx18/cx18-alsa-pcm.h -+++ b/drivers/media/pci/cx18/cx18-alsa-pcm.h -@@ -20,7 +20,7 @@ - * 02111-1307 USA - */ - --int __init snd_cx18_pcm_create(struct snd_cx18_card *cxsc); -+int snd_cx18_pcm_create(struct snd_cx18_card *cxsc); - - /* Used by cx18-mailbox to announce the PCM data to the module */ - void cx18_alsa_announce_pcm_data(struct snd_cx18_card *card, u8 *pcm_data, -diff --git a/drivers/media/pci/ivtv/ivtv-alsa-main.c b/drivers/media/pci/ivtv/ivtv-alsa-main.c -index 4a221c6..e970cfa 100644 ---- a/drivers/media/pci/ivtv/ivtv-alsa-main.c -+++ b/drivers/media/pci/ivtv/ivtv-alsa-main.c -@@ -205,7 +205,7 @@ err_exit: - return ret; - } - --static int __init ivtv_alsa_load(struct ivtv *itv) -+static int ivtv_alsa_load(struct ivtv *itv) - { - struct v4l2_device *v4l2_dev = &itv->v4l2_dev; - struct ivtv_stream *s; -diff --git a/drivers/media/pci/ivtv/ivtv-alsa-pcm.h b/drivers/media/pci/ivtv/ivtv-alsa-pcm.h -index 23dfe0d..186814e 100644 ---- a/drivers/media/pci/ivtv/ivtv-alsa-pcm.h -+++ b/drivers/media/pci/ivtv/ivtv-alsa-pcm.h -@@ -20,4 +20,4 @@ - * 02111-1307 USA - */ - --int __init snd_ivtv_pcm_create(struct snd_ivtv_card *itvsc); -+int snd_ivtv_pcm_create(struct snd_ivtv_card *itvsc); -diff --git a/drivers/media/platform/omap/omap_vout.c b/drivers/media/platform/omap/omap_vout.c -index 35cc526..8e9a668 100644 ---- a/drivers/media/platform/omap/omap_vout.c -+++ b/drivers/media/platform/omap/omap_vout.c -@@ -205,19 +205,21 @@ static u32 omap_vout_uservirt_to_phys(u32 virtp) - struct vm_area_struct *vma; - struct mm_struct *mm = current->mm; - -- vma = find_vma(mm, virtp); - /* For kernel direct-mapped memory, take the easy way */ -- if (virtp >= PAGE_OFFSET) { -- physp = virt_to_phys((void *) virtp); -- } else if (vma && (vma->vm_flags & VM_IO) && vma->vm_pgoff) { -+ if (virtp >= PAGE_OFFSET) -+ return virt_to_phys((void *) virtp); -+ -+ down_read(¤t->mm->mmap_sem); -+ vma = find_vma(mm, virtp); -+ if (vma && (vma->vm_flags & VM_IO) && vma->vm_pgoff) { - /* this will catch, kernel-allocated, mmaped-to-usermode - addresses */ - physp = (vma->vm_pgoff << PAGE_SHIFT) + (virtp - vma->vm_start); -+ up_read(¤t->mm->mmap_sem); - } else { - /* otherwise, use get_user_pages() for general userland pages */ - int res, nr_pages = 1; - struct page *pages; -- down_read(¤t->mm->mmap_sem); - - res = get_user_pages(current, current->mm, virtp, nr_pages, 1, - 0, &pages, NULL); -diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c -index 601d1ac1..d593bc6 100644 ---- a/drivers/media/rc/rc-main.c -+++ b/drivers/media/rc/rc-main.c -@@ -789,8 +789,10 @@ static ssize_t show_protocols(struct device *device, - } else if (dev->raw) { - enabled = dev->raw->enabled_protocols; - allowed = ir_raw_get_allowed_protocols(); -- } else -+ } else { -+ mutex_unlock(&dev->lock); - return -ENODEV; -+ } - - IR_dprintk(1, "allowed - 0x%llx, enabled - 0x%llx\n", - (long long)allowed, -diff --git a/drivers/media/v4l2-core/v4l2-device.c b/drivers/media/v4l2-core/v4l2-device.c -index 513969f..98a7f5e 100644 ---- a/drivers/media/v4l2-core/v4l2-device.c -+++ b/drivers/media/v4l2-core/v4l2-device.c -@@ -159,31 +159,21 @@ int v4l2_device_register_subdev(struct v4l2_device *v4l2_dev, - sd->v4l2_dev = v4l2_dev; - if (sd->internal_ops && sd->internal_ops->registered) { - err = sd->internal_ops->registered(sd); -- if (err) { -- module_put(sd->owner); -- return err; -- } -+ if (err) -+ goto error_module; - } - - /* This just returns 0 if either of the two args is NULL */ - err = v4l2_ctrl_add_handler(v4l2_dev->ctrl_handler, sd->ctrl_handler, NULL); -- if (err) { -- if (sd->internal_ops && sd->internal_ops->unregistered) -- sd->internal_ops->unregistered(sd); -- module_put(sd->owner); -- return err; -- } -+ if (err) -+ goto error_unregister; - - #if defined(CONFIG_MEDIA_CONTROLLER) - /* Register the entity. */ - if (v4l2_dev->mdev) { - err = media_device_register_entity(v4l2_dev->mdev, entity); -- if (err < 0) { -- if (sd->internal_ops && sd->internal_ops->unregistered) -- sd->internal_ops->unregistered(sd); -- module_put(sd->owner); -- return err; -- } -+ if (err < 0) -+ goto error_unregister; - } - #endif - -@@ -192,6 +182,14 @@ int v4l2_device_register_subdev(struct v4l2_device *v4l2_dev, - spin_unlock(&v4l2_dev->lock); - - return 0; -+ -+error_unregister: -+ if (sd->internal_ops && sd->internal_ops->unregistered) -+ sd->internal_ops->unregistered(sd); -+error_module: -+ module_put(sd->owner); -+ sd->v4l2_dev = NULL; -+ return err; - } - EXPORT_SYMBOL_GPL(v4l2_device_register_subdev); - -diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c -index 806e34c..0568273 100644 ---- a/drivers/net/wireless/b43/main.c -+++ b/drivers/net/wireless/b43/main.c -@@ -4214,7 +4214,6 @@ redo: - mutex_unlock(&wl->mutex); - cancel_delayed_work_sync(&dev->periodic_work); - cancel_work_sync(&wl->tx_work); -- cancel_work_sync(&wl->firmware_load); - mutex_lock(&wl->mutex); - dev = wl->current_dev; - if (!dev || b43_status(dev) < B43_STAT_STARTED) { -@@ -5434,6 +5433,7 @@ static void b43_bcma_remove(struct bcma_device *core) - /* We must cancel any work here before unregistering from ieee80211, - * as the ieee80211 unreg will destroy the workqueue. */ - cancel_work_sync(&wldev->restart_work); -+ cancel_work_sync(&wl->firmware_load); - - B43_WARN_ON(!wl); - if (!wldev->fw.ucode.data) -@@ -5510,6 +5510,7 @@ static void b43_ssb_remove(struct ssb_device *sdev) - /* We must cancel any work here before unregistering from ieee80211, - * as the ieee80211 unreg will destroy the workqueue. */ - cancel_work_sync(&wldev->restart_work); -+ cancel_work_sync(&wl->firmware_load); - - B43_WARN_ON(!wl); - if (!wldev->fw.ucode.data) -diff --git a/drivers/power/ab8500_btemp.c b/drivers/power/ab8500_btemp.c -index 20e2a7d..056222e 100644 ---- a/drivers/power/ab8500_btemp.c -+++ b/drivers/power/ab8500_btemp.c -@@ -1123,7 +1123,7 @@ static void __exit ab8500_btemp_exit(void) - platform_driver_unregister(&ab8500_btemp_driver); - } - --subsys_initcall_sync(ab8500_btemp_init); -+device_initcall(ab8500_btemp_init); - module_exit(ab8500_btemp_exit); - - MODULE_LICENSE("GPL v2"); -diff --git a/drivers/power/abx500_chargalg.c b/drivers/power/abx500_chargalg.c -index 2970891..eb7b4a6 100644 ---- a/drivers/power/abx500_chargalg.c -+++ b/drivers/power/abx500_chargalg.c -@@ -1698,7 +1698,7 @@ static ssize_t abx500_chargalg_sysfs_charger(struct kobject *kobj, - static struct attribute abx500_chargalg_en_charger = \ - { - .name = "chargalg", -- .mode = S_IWUGO, -+ .mode = S_IWUSR, - }; - - static struct attribute *abx500_chargalg_chg[] = { -diff --git a/drivers/power/bq27x00_battery.c b/drivers/power/bq27x00_battery.c -index 36b34ef..7087d0d 100644 ---- a/drivers/power/bq27x00_battery.c -+++ b/drivers/power/bq27x00_battery.c -@@ -448,7 +448,6 @@ static void bq27x00_update(struct bq27x00_device_info *di) - cache.temperature = bq27x00_battery_read_temperature(di); - if (!is_bq27425) - cache.cycle_count = bq27x00_battery_read_cyct(di); -- cache.cycle_count = bq27x00_battery_read_cyct(di); - cache.power_avg = - bq27x00_battery_read_pwr_avg(di, BQ27x00_POWER_AVG); - -@@ -696,7 +695,6 @@ static int bq27x00_powersupply_init(struct bq27x00_device_info *di) - int ret; - - di->bat.type = POWER_SUPPLY_TYPE_BATTERY; -- di->chip = BQ27425; - if (di->chip == BQ27425) { - di->bat.properties = bq27425_battery_props; - di->bat.num_properties = ARRAY_SIZE(bq27425_battery_props); -diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c -index 8f14c42..6894b3e 100644 ---- a/drivers/staging/comedi/comedi_fops.c -+++ b/drivers/staging/comedi/comedi_fops.c -@@ -1779,7 +1779,7 @@ static unsigned int comedi_poll(struct file *file, poll_table *wait) - - mask = 0; - read_subdev = comedi_get_read_subdevice(dev_file_info); -- if (read_subdev) { -+ if (read_subdev && read_subdev->async) { - poll_wait(file, &read_subdev->async->wait_head, wait); - if (!read_subdev->busy - || comedi_buf_read_n_available(read_subdev->async) > 0 -@@ -1789,7 +1789,7 @@ static unsigned int comedi_poll(struct file *file, poll_table *wait) - } - } - write_subdev = comedi_get_write_subdevice(dev_file_info); -- if (write_subdev) { -+ if (write_subdev && write_subdev->async) { - poll_wait(file, &write_subdev->async->wait_head, wait); - comedi_buf_write_alloc(write_subdev->async, - write_subdev->async->prealloc_bufsz); -@@ -1831,7 +1831,7 @@ static ssize_t comedi_write(struct file *file, const char __user *buf, - } - - s = comedi_get_write_subdevice(dev_file_info); -- if (s == NULL) { -+ if (s == NULL || s->async == NULL) { - retval = -EIO; - goto done; - } -@@ -1942,7 +1942,7 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes, - } - - s = comedi_get_read_subdevice(dev_file_info); -- if (s == NULL) { -+ if (s == NULL || s->async == NULL) { - retval = -EIO; - goto done; - } -diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c -index f2aa754..96f4981 100644 ---- a/drivers/target/target_core_device.c -+++ b/drivers/target/target_core_device.c -@@ -1182,24 +1182,18 @@ static struct se_lun *core_dev_get_lun(struct se_portal_group *tpg, u32 unpacked - - struct se_lun_acl *core_dev_init_initiator_node_lun_acl( - struct se_portal_group *tpg, -+ struct se_node_acl *nacl, - u32 mapped_lun, -- char *initiatorname, - int *ret) - { - struct se_lun_acl *lacl; -- struct se_node_acl *nacl; - -- if (strlen(initiatorname) >= TRANSPORT_IQN_LEN) { -+ if (strlen(nacl->initiatorname) >= TRANSPORT_IQN_LEN) { - pr_err("%s InitiatorName exceeds maximum size.\n", - tpg->se_tpg_tfo->get_fabric_name()); - *ret = -EOVERFLOW; - return NULL; - } -- nacl = core_tpg_get_initiator_node_acl(tpg, initiatorname); -- if (!nacl) { -- *ret = -EINVAL; -- return NULL; -- } - lacl = kzalloc(sizeof(struct se_lun_acl), GFP_KERNEL); - if (!lacl) { - pr_err("Unable to allocate memory for struct se_lun_acl.\n"); -@@ -1210,7 +1204,8 @@ struct se_lun_acl *core_dev_init_initiator_node_lun_acl( - INIT_LIST_HEAD(&lacl->lacl_list); - lacl->mapped_lun = mapped_lun; - lacl->se_lun_nacl = nacl; -- snprintf(lacl->initiatorname, TRANSPORT_IQN_LEN, "%s", initiatorname); -+ snprintf(lacl->initiatorname, TRANSPORT_IQN_LEN, "%s", -+ nacl->initiatorname); - - return lacl; - } -diff --git a/drivers/target/target_core_fabric_configfs.c b/drivers/target/target_core_fabric_configfs.c -index c57bbbc..04c775c 100644 ---- a/drivers/target/target_core_fabric_configfs.c -+++ b/drivers/target/target_core_fabric_configfs.c -@@ -354,9 +354,17 @@ static struct config_group *target_fabric_make_mappedlun( - ret = -EINVAL; - goto out; - } -+ if (mapped_lun > (TRANSPORT_MAX_LUNS_PER_TPG-1)) { -+ pr_err("Mapped LUN: %lu exceeds TRANSPORT_MAX_LUNS_PER_TPG" -+ "-1: %u for Target Portal Group: %u\n", mapped_lun, -+ TRANSPORT_MAX_LUNS_PER_TPG-1, -+ se_tpg->se_tpg_tfo->tpg_get_tag(se_tpg)); -+ ret = -EINVAL; -+ goto out; -+ } - -- lacl = core_dev_init_initiator_node_lun_acl(se_tpg, mapped_lun, -- config_item_name(acl_ci), &ret); -+ lacl = core_dev_init_initiator_node_lun_acl(se_tpg, se_nacl, -+ mapped_lun, &ret); - if (!lacl) { - ret = -EINVAL; - goto out; -diff --git a/drivers/target/target_core_internal.h b/drivers/target/target_core_internal.h -index 93e9c1f..396e1eb 100644 ---- a/drivers/target/target_core_internal.h -+++ b/drivers/target/target_core_internal.h -@@ -45,7 +45,7 @@ struct se_lun *core_dev_add_lun(struct se_portal_group *, struct se_device *, u3 - int core_dev_del_lun(struct se_portal_group *, u32); - struct se_lun *core_get_lun_from_tpg(struct se_portal_group *, u32); - struct se_lun_acl *core_dev_init_initiator_node_lun_acl(struct se_portal_group *, -- u32, char *, int *); -+ struct se_node_acl *, u32, int *); - int core_dev_add_initiator_node_lun_acl(struct se_portal_group *, - struct se_lun_acl *, u32, u32); - int core_dev_del_initiator_node_lun_acl(struct se_portal_group *, -diff --git a/drivers/target/target_core_tpg.c b/drivers/target/target_core_tpg.c -index 5192ac0..9169d6a 100644 ---- a/drivers/target/target_core_tpg.c -+++ b/drivers/target/target_core_tpg.c -@@ -111,16 +111,10 @@ struct se_node_acl *core_tpg_get_initiator_node_acl( - struct se_node_acl *acl; - - spin_lock_irq(&tpg->acl_node_lock); -- list_for_each_entry(acl, &tpg->acl_node_list, acl_list) { -- if (!strcmp(acl->initiatorname, initiatorname) && -- !acl->dynamic_node_acl) { -- spin_unlock_irq(&tpg->acl_node_lock); -- return acl; -- } -- } -+ acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); - spin_unlock_irq(&tpg->acl_node_lock); - -- return NULL; -+ return acl; - } - - /* core_tpg_add_node_to_devs(): -diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h -index 4999563..1dae91d 100644 ---- a/drivers/usb/dwc3/core.h -+++ b/drivers/usb/dwc3/core.h -@@ -405,7 +405,6 @@ struct dwc3_event_buffer { - * @number: endpoint number (1 - 15) - * @type: set to bmAttributes & USB_ENDPOINT_XFERTYPE_MASK - * @resource_index: Resource transfer index -- * @current_uf: Current uf received through last event parameter - * @interval: the intervall on which the ISOC transfer is started - * @name: a human readable name e.g. ep1out-bulk - * @direction: true for TX, false for RX -@@ -439,7 +438,6 @@ struct dwc3_ep { - u8 number; - u8 type; - u8 resource_index; -- u16 current_uf; - u32 interval; - - char name[20]; -diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c -index 2fdd767..09835b6 100644 ---- a/drivers/usb/dwc3/gadget.c -+++ b/drivers/usb/dwc3/gadget.c -@@ -754,21 +754,18 @@ static void dwc3_prepare_one_trb(struct dwc3_ep *dep, - struct dwc3 *dwc = dep->dwc; - struct dwc3_trb *trb; - -- unsigned int cur_slot; -- - dev_vdbg(dwc->dev, "%s: req %p dma %08llx length %d%s%s\n", - dep->name, req, (unsigned long long) dma, - length, last ? " last" : "", - chain ? " chain" : ""); - -- trb = &dep->trb_pool[dep->free_slot & DWC3_TRB_MASK]; -- cur_slot = dep->free_slot; -- dep->free_slot++; -- - /* Skip the LINK-TRB on ISOC */ -- if (((cur_slot & DWC3_TRB_MASK) == DWC3_TRB_NUM - 1) && -+ if (((dep->free_slot & DWC3_TRB_MASK) == DWC3_TRB_NUM - 1) && - usb_endpoint_xfer_isoc(dep->endpoint.desc)) -- return; -+ dep->free_slot++; -+ -+ trb = &dep->trb_pool[dep->free_slot & DWC3_TRB_MASK]; -+ dep->free_slot++; - - if (!req->trb) { - dwc3_gadget_move_request_queued(req); -@@ -1091,7 +1088,10 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) - * notion of current microframe. - */ - if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) { -- dwc3_stop_active_transfer(dwc, dep->number); -+ if (list_empty(&dep->req_queued)) { -+ dwc3_stop_active_transfer(dwc, dep->number); -+ dep->flags = DWC3_EP_ENABLED; -+ } - return 0; - } - -@@ -1117,16 +1117,6 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) - dep->name); - } - -- /* -- * 3. Missed ISOC Handling. We need to start isoc transfer on the saved -- * uframe number. -- */ -- if (usb_endpoint_xfer_isoc(dep->endpoint.desc) && -- (dep->flags & DWC3_EP_MISSED_ISOC)) { -- __dwc3_gadget_start_isoc(dwc, dep, dep->current_uf); -- dep->flags &= ~DWC3_EP_MISSED_ISOC; -- } -- - return 0; - } - -@@ -1689,14 +1679,29 @@ static int dwc3_cleanup_done_reqs(struct dwc3 *dwc, struct dwc3_ep *dep, - if (trb_status == DWC3_TRBSTS_MISSED_ISOC) { - dev_dbg(dwc->dev, "incomplete IN transfer %s\n", - dep->name); -- dep->current_uf = event->parameters & -- ~(dep->interval - 1); -+ /* -+ * If missed isoc occurred and there is -+ * no request queued then issue END -+ * TRANSFER, so that core generates -+ * next xfernotready and we will issue -+ * a fresh START TRANSFER. -+ * If there are still queued request -+ * then wait, do not issue either END -+ * or UPDATE TRANSFER, just attach next -+ * request in request_list during -+ * giveback.If any future queued request -+ * is successfully transferred then we -+ * will issue UPDATE TRANSFER for all -+ * request in the request_list. -+ */ - dep->flags |= DWC3_EP_MISSED_ISOC; - } else { - dev_err(dwc->dev, "incomplete IN transfer %s\n", - dep->name); - status = -ECONNRESET; - } -+ } else { -+ dep->flags &= ~DWC3_EP_MISSED_ISOC; - } - } else { - if (count && (event->status & DEPEVT_STATUS_SHORT)) -@@ -1723,6 +1728,23 @@ static int dwc3_cleanup_done_reqs(struct dwc3 *dwc, struct dwc3_ep *dep, - break; - } while (1); - -+ if (usb_endpoint_xfer_isoc(dep->endpoint.desc) && -+ list_empty(&dep->req_queued)) { -+ if (list_empty(&dep->request_list)) { -+ /* -+ * If there is no entry in request list then do -+ * not issue END TRANSFER now. Just set PENDING -+ * flag, so that END TRANSFER is issued when an -+ * entry is added into request list. -+ */ -+ dep->flags = DWC3_EP_PENDING_REQUEST; -+ } else { -+ dwc3_stop_active_transfer(dwc, dep->number); -+ dep->flags = DWC3_EP_ENABLED; -+ } -+ return 1; -+ } -+ - if ((event->status & DEPEVT_STATUS_IOC) && - (trb->ctrl & DWC3_TRB_CTRL_IOC)) - return 0; -@@ -2157,6 +2179,26 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc) - break; - } - -+ /* Enable USB2 LPM Capability */ -+ -+ if ((dwc->revision > DWC3_REVISION_194A) -+ && (speed != DWC3_DCFG_SUPERSPEED)) { -+ reg = dwc3_readl(dwc->regs, DWC3_DCFG); -+ reg |= DWC3_DCFG_LPM_CAP; -+ dwc3_writel(dwc->regs, DWC3_DCFG, reg); -+ -+ reg = dwc3_readl(dwc->regs, DWC3_DCTL); -+ reg &= ~(DWC3_DCTL_HIRD_THRES_MASK | DWC3_DCTL_L1_HIBER_EN); -+ -+ /* -+ * TODO: This should be configurable. For now using -+ * maximum allowed HIRD threshold value of 0b1100 -+ */ -+ reg |= DWC3_DCTL_HIRD_THRES(12); -+ -+ dwc3_writel(dwc->regs, DWC3_DCTL, reg); -+ } -+ - /* Recent versions support automatic phy suspend and don't need this */ - if (dwc->revision < DWC3_REVISION_194A) { - /* Suspend unneeded PHY */ -@@ -2463,20 +2505,8 @@ int dwc3_gadget_init(struct dwc3 *dwc) - DWC3_DEVTEN_DISCONNEVTEN); - dwc3_writel(dwc->regs, DWC3_DEVTEN, reg); - -- /* Enable USB2 LPM and automatic phy suspend only on recent versions */ -+ /* automatic phy suspend only on recent versions */ - if (dwc->revision >= DWC3_REVISION_194A) { -- reg = dwc3_readl(dwc->regs, DWC3_DCFG); -- reg |= DWC3_DCFG_LPM_CAP; -- dwc3_writel(dwc->regs, DWC3_DCFG, reg); -- -- reg = dwc3_readl(dwc->regs, DWC3_DCTL); -- reg &= ~(DWC3_DCTL_HIRD_THRES_MASK | DWC3_DCTL_L1_HIBER_EN); -- -- /* TODO: This should be configurable */ -- reg |= DWC3_DCTL_HIRD_THRES(28); -- -- dwc3_writel(dwc->regs, DWC3_DCTL, reg); -- - dwc3_gadget_usb2_phy_suspend(dwc, false); - dwc3_gadget_usb3_phy_suspend(dwc, false); - } -diff --git a/fs/direct-io.c b/fs/direct-io.c -index cf5b44b..f853263 100644 ---- a/fs/direct-io.c -+++ b/fs/direct-io.c -@@ -261,9 +261,9 @@ static ssize_t dio_complete(struct dio *dio, loff_t offset, ssize_t ret, bool is - dio->end_io(dio->iocb, offset, transferred, - dio->private, ret, is_async); - } else { -+ inode_dio_done(dio->inode); - if (is_async) - aio_complete(dio->iocb, ret, 0); -- inode_dio_done(dio->inode); - } - - return ret; -diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c -index cf18217..2f2e0da 100644 ---- a/fs/ext4/balloc.c -+++ b/fs/ext4/balloc.c -@@ -358,7 +358,7 @@ void ext4_validate_block_bitmap(struct super_block *sb, - } - - /** -- * ext4_read_block_bitmap() -+ * ext4_read_block_bitmap_nowait() - * @sb: super block - * @block_group: given block group - * -@@ -457,6 +457,8 @@ ext4_read_block_bitmap(struct super_block *sb, ext4_group_t block_group) - struct buffer_head *bh; - - bh = ext4_read_block_bitmap_nowait(sb, block_group); -+ if (!bh) -+ return NULL; - if (ext4_wait_block_bitmap(sb, block_group, bh)) { - put_bh(bh); - return NULL; -@@ -482,11 +484,16 @@ static int ext4_has_free_clusters(struct ext4_sb_info *sbi, - - free_clusters = percpu_counter_read_positive(fcc); - dirty_clusters = percpu_counter_read_positive(dcc); -- root_clusters = EXT4_B2C(sbi, ext4_r_blocks_count(sbi->s_es)); -+ -+ /* -+ * r_blocks_count should always be multiple of the cluster ratio so -+ * we are safe to do a plane bit shift only. -+ */ -+ root_clusters = ext4_r_blocks_count(sbi->s_es) >> sbi->s_cluster_bits; - - if (free_clusters - (nclusters + root_clusters + dirty_clusters) < - EXT4_FREECLUSTERS_WATERMARK) { -- free_clusters = EXT4_C2B(sbi, percpu_counter_sum_positive(fcc)); -+ free_clusters = percpu_counter_sum_positive(fcc); - dirty_clusters = percpu_counter_sum_positive(dcc); - } - /* Check whether we have space after accounting for current -diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c -index 5ae1674..d42a8c4 100644 ---- a/fs/ext4/extents.c -+++ b/fs/ext4/extents.c -@@ -725,6 +725,7 @@ ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block, - struct ext4_extent_header *eh; - struct buffer_head *bh; - short int depth, i, ppos = 0, alloc = 0; -+ int ret; - - eh = ext_inode_hdr(inode); - depth = ext_depth(inode); -@@ -752,12 +753,15 @@ ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block, - path[ppos].p_ext = NULL; - - bh = sb_getblk(inode->i_sb, path[ppos].p_block); -- if (unlikely(!bh)) -+ if (unlikely(!bh)) { -+ ret = -ENOMEM; - goto err; -+ } - if (!bh_uptodate_or_lock(bh)) { - trace_ext4_ext_load_extent(inode, block, - path[ppos].p_block); -- if (bh_submit_read(bh) < 0) { -+ ret = bh_submit_read(bh); -+ if (ret < 0) { - put_bh(bh); - goto err; - } -@@ -768,13 +772,15 @@ ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block, - put_bh(bh); - EXT4_ERROR_INODE(inode, - "ppos %d > depth %d", ppos, depth); -+ ret = -EIO; - goto err; - } - path[ppos].p_bh = bh; - path[ppos].p_hdr = eh; - i--; - -- if (ext4_ext_check_block(inode, eh, i, bh)) -+ ret = ext4_ext_check_block(inode, eh, i, bh); -+ if (ret < 0) - goto err; - } - -@@ -796,7 +802,7 @@ err: - ext4_ext_drop_refs(path); - if (alloc) - kfree(path); -- return ERR_PTR(-EIO); -+ return ERR_PTR(ret); - } - - /* -@@ -951,7 +957,7 @@ static int ext4_ext_split(handle_t *handle, struct inode *inode, - } - bh = sb_getblk(inode->i_sb, newblock); - if (!bh) { -- err = -EIO; -+ err = -ENOMEM; - goto cleanup; - } - lock_buffer(bh); -@@ -1024,7 +1030,7 @@ static int ext4_ext_split(handle_t *handle, struct inode *inode, - newblock = ablocks[--a]; - bh = sb_getblk(inode->i_sb, newblock); - if (!bh) { -- err = -EIO; -+ err = -ENOMEM; - goto cleanup; - } - lock_buffer(bh); -@@ -1136,11 +1142,8 @@ static int ext4_ext_grow_indepth(handle_t *handle, struct inode *inode, - return err; - - bh = sb_getblk(inode->i_sb, newblock); -- if (!bh) { -- err = -EIO; -- ext4_std_error(inode->i_sb, err); -- return err; -- } -+ if (!bh) -+ return -ENOMEM; - lock_buffer(bh); - - err = ext4_journal_get_create_access(handle, bh); -diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c -index 20862f9..8d83d1e 100644 ---- a/fs/ext4/indirect.c -+++ b/fs/ext4/indirect.c -@@ -146,6 +146,7 @@ static Indirect *ext4_get_branch(struct inode *inode, int depth, - struct super_block *sb = inode->i_sb; - Indirect *p = chain; - struct buffer_head *bh; -+ int ret = -EIO; - - *err = 0; - /* i_data is not going away, no lock needed */ -@@ -154,8 +155,10 @@ static Indirect *ext4_get_branch(struct inode *inode, int depth, - goto no_block; - while (--depth) { - bh = sb_getblk(sb, le32_to_cpu(p->key)); -- if (unlikely(!bh)) -+ if (unlikely(!bh)) { -+ ret = -ENOMEM; - goto failure; -+ } - - if (!bh_uptodate_or_lock(bh)) { - if (bh_submit_read(bh) < 0) { -@@ -177,7 +180,7 @@ static Indirect *ext4_get_branch(struct inode *inode, int depth, - return NULL; - - failure: -- *err = -EIO; -+ *err = ret; - no_block: - return p; - } -@@ -471,7 +474,7 @@ static int ext4_alloc_branch(handle_t *handle, struct inode *inode, - */ - bh = sb_getblk(inode->i_sb, new_blocks[n-1]); - if (unlikely(!bh)) { -- err = -EIO; -+ err = -ENOMEM; - goto failed; - } - -diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c -index 387c47c..93a3408 100644 ---- a/fs/ext4/inline.c -+++ b/fs/ext4/inline.c -@@ -1188,7 +1188,7 @@ static int ext4_convert_inline_data_nolock(handle_t *handle, - - data_bh = sb_getblk(inode->i_sb, map.m_pblk); - if (!data_bh) { -- error = -EIO; -+ error = -ENOMEM; - goto out_restore; - } - -diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c -index cbfe13b..39f1fa7 100644 ---- a/fs/ext4/inode.c -+++ b/fs/ext4/inode.c -@@ -714,7 +714,7 @@ struct buffer_head *ext4_getblk(handle_t *handle, struct inode *inode, - - bh = sb_getblk(inode->i_sb, map.m_pblk); - if (!bh) { -- *errp = -EIO; -+ *errp = -ENOMEM; - return NULL; - } - if (map.m_flags & EXT4_MAP_NEW) { -@@ -2977,9 +2977,9 @@ static void ext4_end_io_dio(struct kiocb *iocb, loff_t offset, - if (!(io_end->flag & EXT4_IO_END_UNWRITTEN)) { - ext4_free_io_end(io_end); - out: -+ inode_dio_done(inode); - if (is_async) - aio_complete(iocb, ret, 0); -- inode_dio_done(inode); - return; - } - -@@ -3660,11 +3660,8 @@ static int __ext4_get_inode_loc(struct inode *inode, - iloc->offset = (inode_offset % inodes_per_block) * EXT4_INODE_SIZE(sb); - - bh = sb_getblk(sb, block); -- if (!bh) { -- EXT4_ERROR_INODE_BLOCK(inode, block, -- "unable to read itable block"); -- return -EIO; -- } -+ if (!bh) -+ return -ENOMEM; - if (!buffer_uptodate(bh)) { - lock_buffer(bh); - -diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c -index 1bf6fe7..061727a 100644 ---- a/fs/ext4/mballoc.c -+++ b/fs/ext4/mballoc.c -@@ -4136,7 +4136,7 @@ static void ext4_mb_add_n_trim(struct ext4_allocation_context *ac) - /* The max size of hash table is PREALLOC_TB_SIZE */ - order = PREALLOC_TB_SIZE - 1; - /* Add the prealloc space to lg */ -- rcu_read_lock(); -+ spin_lock(&lg->lg_prealloc_lock); - list_for_each_entry_rcu(tmp_pa, &lg->lg_prealloc_list[order], - pa_inode_list) { - spin_lock(&tmp_pa->pa_lock); -@@ -4160,12 +4160,12 @@ static void ext4_mb_add_n_trim(struct ext4_allocation_context *ac) - if (!added) - list_add_tail_rcu(&pa->pa_inode_list, - &lg->lg_prealloc_list[order]); -- rcu_read_unlock(); -+ spin_unlock(&lg->lg_prealloc_lock); - - /* Now trim the list to be not more than 8 elements */ - if (lg_prealloc_count > 8) { - ext4_mb_discard_lg_preallocations(sb, lg, -- order, lg_prealloc_count); -+ order, lg_prealloc_count); - return; - } - return ; -diff --git a/fs/ext4/mmp.c b/fs/ext4/mmp.c -index fe7c63f..44734f1 100644 ---- a/fs/ext4/mmp.c -+++ b/fs/ext4/mmp.c -@@ -80,6 +80,8 @@ static int read_mmp_block(struct super_block *sb, struct buffer_head **bh, - * is not blocked in the elevator. */ - if (!*bh) - *bh = sb_getblk(sb, mmp_block); -+ if (!*bh) -+ return -ENOMEM; - if (*bh) { - get_bh(*bh); - lock_buffer(*bh); -diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c -index 0016fbc..b42d04f 100644 ---- a/fs/ext4/page-io.c -+++ b/fs/ext4/page-io.c -@@ -103,14 +103,13 @@ static int ext4_end_io(ext4_io_end_t *io) - "(inode %lu, offset %llu, size %zd, error %d)", - inode->i_ino, offset, size, ret); - } -- if (io->iocb) -- aio_complete(io->iocb, io->result, 0); -- -- if (io->flag & EXT4_IO_END_DIRECT) -- inode_dio_done(inode); - /* Wake up anyone waiting on unwritten extent conversion */ - if (atomic_dec_and_test(&EXT4_I(inode)->i_unwritten)) - wake_up_all(ext4_ioend_wq(inode)); -+ if (io->flag & EXT4_IO_END_DIRECT) -+ inode_dio_done(inode); -+ if (io->iocb) -+ aio_complete(io->iocb, io->result, 0); - return ret; - } - -diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c -index d99387b..02824dc 100644 ---- a/fs/ext4/resize.c -+++ b/fs/ext4/resize.c -@@ -334,7 +334,7 @@ static struct buffer_head *bclean(handle_t *handle, struct super_block *sb, - - bh = sb_getblk(sb, blk); - if (!bh) -- return ERR_PTR(-EIO); -+ return ERR_PTR(-ENOMEM); - if ((err = ext4_journal_get_write_access(handle, bh))) { - brelse(bh); - bh = ERR_PTR(err); -@@ -411,7 +411,7 @@ static int set_flexbg_block_bitmap(struct super_block *sb, handle_t *handle, - - bh = sb_getblk(sb, flex_gd->groups[group].block_bitmap); - if (!bh) -- return -EIO; -+ return -ENOMEM; - - err = ext4_journal_get_write_access(handle, bh); - if (err) -@@ -501,7 +501,7 @@ static int setup_new_flex_group_blocks(struct super_block *sb, - - gdb = sb_getblk(sb, block); - if (!gdb) { -- err = -EIO; -+ err = -ENOMEM; - goto out; - } - -@@ -1065,7 +1065,7 @@ static void update_backups(struct super_block *sb, int blk_off, char *data, - - bh = sb_getblk(sb, backup_block); - if (!bh) { -- err = -EIO; -+ err = -ENOMEM; - break; - } - ext4_debug("update metadata backup %llu(+%llu)\n", -diff --git a/fs/ext4/super.c b/fs/ext4/super.c -index 3d4fb81..0465f36 100644 ---- a/fs/ext4/super.c -+++ b/fs/ext4/super.c -@@ -4008,7 +4008,7 @@ no_journal: - !(sb->s_flags & MS_RDONLY)) { - err = ext4_enable_quotas(sb); - if (err) -- goto failed_mount7; -+ goto failed_mount8; - } - #endif /* CONFIG_QUOTA */ - -@@ -4035,6 +4035,10 @@ cantfind_ext4: - ext4_msg(sb, KERN_ERR, "VFS: Can't find ext4 filesystem"); - goto failed_mount; - -+#ifdef CONFIG_QUOTA -+failed_mount8: -+ kobject_del(&sbi->s_kobj); -+#endif - failed_mount7: - ext4_unregister_li_request(sb); - failed_mount6: -@@ -5005,9 +5009,9 @@ static int ext4_enable_quotas(struct super_block *sb) - DQUOT_USAGE_ENABLED); - if (err) { - ext4_warning(sb, -- "Failed to enable quota (type=%d) " -- "tracking. Please run e2fsck to fix.", -- type); -+ "Failed to enable quota tracking " -+ "(type=%d, err=%d). Please run " -+ "e2fsck to fix.", type, err); - return err; - } - } -diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c -index 3a91ebc..b93846b 100644 ---- a/fs/ext4/xattr.c -+++ b/fs/ext4/xattr.c -@@ -549,7 +549,7 @@ ext4_xattr_release_block(handle_t *handle, struct inode *inode, - error = ext4_handle_dirty_xattr_block(handle, inode, bh); - if (IS_SYNC(inode)) - ext4_handle_sync(handle); -- dquot_free_block(inode, 1); -+ dquot_free_block(inode, EXT4_C2B(EXT4_SB(inode->i_sb), 1)); - ea_bdebug(bh, "refcount now=%d; releasing", - le32_to_cpu(BHDR(bh)->h_refcount)); - } -@@ -832,7 +832,8 @@ inserted: - else { - /* The old block is released after updating - the inode. */ -- error = dquot_alloc_block(inode, 1); -+ error = dquot_alloc_block(inode, -+ EXT4_C2B(EXT4_SB(sb), 1)); - if (error) - goto cleanup; - error = ext4_journal_get_write_access(handle, -@@ -887,16 +888,17 @@ inserted: - - new_bh = sb_getblk(sb, block); - if (!new_bh) { -+ error = -ENOMEM; - getblk_failed: - ext4_free_blocks(handle, inode, NULL, block, 1, - EXT4_FREE_BLOCKS_METADATA); -- error = -EIO; - goto cleanup; - } - lock_buffer(new_bh); - error = ext4_journal_get_create_access(handle, new_bh); - if (error) { - unlock_buffer(new_bh); -+ error = -EIO; - goto getblk_failed; - } - memcpy(new_bh->b_data, s->base, new_bh->b_size); -@@ -928,7 +930,7 @@ cleanup: - return error; - - cleanup_dquot: -- dquot_free_block(inode, 1); -+ dquot_free_block(inode, EXT4_C2B(EXT4_SB(sb), 1)); - goto cleanup; - - bad_block: -diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c -index b7c09f9..315e1f8 100644 ---- a/fs/fuse/dir.c -+++ b/fs/fuse/dir.c -@@ -682,7 +682,14 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry) - - spin_lock(&fc->lock); - fi->attr_version = ++fc->attr_version; -- drop_nlink(inode); -+ /* -+ * If i_nlink == 0 then unlink doesn't make sense, yet this can -+ * happen if userspace filesystem is careless. It would be -+ * difficult to enforce correct nlink usage so just ignore this -+ * condition here -+ */ -+ if (inode->i_nlink > 0) -+ drop_nlink(inode); - spin_unlock(&fc->lock); - fuse_invalidate_attr(inode); - fuse_invalidate_attr(dir); -diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c -index ac8ed96c..a8309c6 100644 ---- a/fs/nfsd/nfs4state.c -+++ b/fs/nfsd/nfs4state.c -@@ -1060,6 +1060,8 @@ free_client(struct nfs4_client *clp) - } - free_svc_cred(&clp->cl_cred); - kfree(clp->cl_name.data); -+ idr_remove_all(&clp->cl_stateids); -+ idr_destroy(&clp->cl_stateids); - kfree(clp); - } - -diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c -index 6577432..340bd02 100644 ---- a/fs/ocfs2/aops.c -+++ b/fs/ocfs2/aops.c -@@ -593,9 +593,9 @@ static void ocfs2_dio_end_io(struct kiocb *iocb, - level = ocfs2_iocb_rw_locked_level(iocb); - ocfs2_rw_unlock(inode, level); - -+ inode_dio_done(inode); - if (is_async) - aio_complete(iocb, ret, 0); -- inode_dio_done(inode); - } - - /* -diff --git a/fs/ocfs2/suballoc.c b/fs/ocfs2/suballoc.c -index f169da4..b7e74b5 100644 ---- a/fs/ocfs2/suballoc.c -+++ b/fs/ocfs2/suballoc.c -@@ -642,7 +642,7 @@ ocfs2_block_group_alloc_discontig(handle_t *handle, - * cluster groups will be staying in cache for the duration of - * this operation. - */ -- ac->ac_allow_chain_relink = 0; -+ ac->ac_disable_chain_relink = 1; - - /* Claim the first region */ - status = ocfs2_block_group_claim_bits(osb, handle, ac, min_bits, -@@ -1823,7 +1823,7 @@ static int ocfs2_search_chain(struct ocfs2_alloc_context *ac, - * Do this *after* figuring out how many bits we're taking out - * of our target group. - */ -- if (ac->ac_allow_chain_relink && -+ if (!ac->ac_disable_chain_relink && - (prev_group_bh) && - (ocfs2_block_group_reasonably_empty(bg, res->sr_bits))) { - status = ocfs2_relink_block_group(handle, alloc_inode, -@@ -1928,7 +1928,6 @@ static int ocfs2_claim_suballoc_bits(struct ocfs2_alloc_context *ac, - - victim = ocfs2_find_victim_chain(cl); - ac->ac_chain = victim; -- ac->ac_allow_chain_relink = 1; - - status = ocfs2_search_chain(ac, handle, bits_wanted, min_bits, - res, &bits_left); -@@ -1947,7 +1946,7 @@ static int ocfs2_claim_suballoc_bits(struct ocfs2_alloc_context *ac, - * searching each chain in order. Don't allow chain relinking - * because we only calculate enough journal credits for one - * relink per alloc. */ -- ac->ac_allow_chain_relink = 0; -+ ac->ac_disable_chain_relink = 1; - for (i = 0; i < le16_to_cpu(cl->cl_next_free_rec); i ++) { - if (i == victim) - continue; -diff --git a/fs/ocfs2/suballoc.h b/fs/ocfs2/suballoc.h -index b8afabf..a36d0aa 100644 ---- a/fs/ocfs2/suballoc.h -+++ b/fs/ocfs2/suballoc.h -@@ -49,7 +49,7 @@ struct ocfs2_alloc_context { - - /* these are used by the chain search */ - u16 ac_chain; -- int ac_allow_chain_relink; -+ int ac_disable_chain_relink; - group_search_t *ac_group_search; - - u64 ac_last_group; -diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c -index 0ba9ea1..2e3ea30 100644 ---- a/fs/ocfs2/xattr.c -+++ b/fs/ocfs2/xattr.c -@@ -7189,7 +7189,7 @@ int ocfs2_init_security_and_acl(struct inode *dir, - struct buffer_head *dir_bh = NULL; - - ret = ocfs2_init_security_get(inode, dir, qstr, NULL); -- if (!ret) { -+ if (ret) { - mlog_errno(ret); - goto leave; - } -diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c -index 5ea2e77..86d1038 100644 ---- a/fs/pstore/platform.c -+++ b/fs/pstore/platform.c -@@ -96,6 +96,27 @@ static const char *get_reason_str(enum kmsg_dump_reason reason) - } - } - -+bool pstore_cannot_block_path(enum kmsg_dump_reason reason) -+{ -+ /* -+ * In case of NMI path, pstore shouldn't be blocked -+ * regardless of reason. -+ */ -+ if (in_nmi()) -+ return true; -+ -+ switch (reason) { -+ /* In panic case, other cpus are stopped by smp_send_stop(). */ -+ case KMSG_DUMP_PANIC: -+ /* Emergency restart shouldn't be blocked by spin lock. */ -+ case KMSG_DUMP_EMERG: -+ return true; -+ default: -+ return false; -+ } -+} -+EXPORT_SYMBOL_GPL(pstore_cannot_block_path); -+ - /* - * callback from kmsg_dump. (s2,l2) has the most recently - * written bytes, older bytes are in (s1,l1). Save as much -@@ -114,10 +135,12 @@ static void pstore_dump(struct kmsg_dumper *dumper, - - why = get_reason_str(reason); - -- if (in_nmi()) { -- is_locked = spin_trylock(&psinfo->buf_lock); -- if (!is_locked) -- pr_err("pstore dump routine blocked in NMI, may corrupt error record\n"); -+ if (pstore_cannot_block_path(reason)) { -+ is_locked = spin_trylock_irqsave(&psinfo->buf_lock, flags); -+ if (!is_locked) { -+ pr_err("pstore dump routine blocked in %s path, may corrupt error record\n" -+ , in_nmi() ? "NMI" : why); -+ } - } else - spin_lock_irqsave(&psinfo->buf_lock, flags); - oopscount++; -@@ -143,9 +166,9 @@ static void pstore_dump(struct kmsg_dumper *dumper, - total += hsize + len; - part++; - } -- if (in_nmi()) { -+ if (pstore_cannot_block_path(reason)) { - if (is_locked) -- spin_unlock(&psinfo->buf_lock); -+ spin_unlock_irqrestore(&psinfo->buf_lock, flags); - } else - spin_unlock_irqrestore(&psinfo->buf_lock, flags); - } -diff --git a/fs/ubifs/orphan.c b/fs/ubifs/orphan.c -index 769701c..ba32da3 100644 ---- a/fs/ubifs/orphan.c -+++ b/fs/ubifs/orphan.c -@@ -126,13 +126,14 @@ void ubifs_delete_orphan(struct ubifs_info *c, ino_t inum) - else if (inum > o->inum) - p = p->rb_right; - else { -- if (o->dnext) { -+ if (o->del) { - spin_unlock(&c->orphan_lock); - dbg_gen("deleted twice ino %lu", - (unsigned long)inum); - return; - } -- if (o->cnext) { -+ if (o->cmt) { -+ o->del = 1; - o->dnext = c->orph_dnext; - c->orph_dnext = o; - spin_unlock(&c->orphan_lock); -@@ -172,7 +173,9 @@ int ubifs_orphan_start_commit(struct ubifs_info *c) - last = &c->orph_cnext; - list_for_each_entry(orphan, &c->orph_new, new_list) { - ubifs_assert(orphan->new); -+ ubifs_assert(!orphan->cmt); - orphan->new = 0; -+ orphan->cmt = 1; - *last = orphan; - last = &orphan->cnext; - } -@@ -299,7 +302,9 @@ static int write_orph_node(struct ubifs_info *c, int atomic) - cnext = c->orph_cnext; - for (i = 0; i < cnt; i++) { - orphan = cnext; -+ ubifs_assert(orphan->cmt); - orph->inos[i] = cpu_to_le64(orphan->inum); -+ orphan->cmt = 0; - cnext = orphan->cnext; - orphan->cnext = NULL; - } -@@ -378,6 +383,7 @@ static int consolidate(struct ubifs_info *c) - list_for_each_entry(orphan, &c->orph_list, list) { - if (orphan->new) - continue; -+ orphan->cmt = 1; - *last = orphan; - last = &orphan->cnext; - cnt += 1; -@@ -442,6 +448,7 @@ static void erase_deleted(struct ubifs_info *c) - orphan = dnext; - dnext = orphan->dnext; - ubifs_assert(!orphan->new); -+ ubifs_assert(orphan->del); - rb_erase(&orphan->rb, &c->orph_tree); - list_del(&orphan->list); - c->tot_orphans -= 1; -@@ -531,6 +538,7 @@ static int insert_dead_orphan(struct ubifs_info *c, ino_t inum) - rb_link_node(&orphan->rb, parent, p); - rb_insert_color(&orphan->rb, &c->orph_tree); - list_add_tail(&orphan->list, &c->orph_list); -+ orphan->del = 1; - orphan->dnext = c->orph_dnext; - c->orph_dnext = orphan; - dbg_mnt("ino %lu, new %d, tot %d", (unsigned long)inum, -diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h -index d133c27..b2babce 100644 ---- a/fs/ubifs/ubifs.h -+++ b/fs/ubifs/ubifs.h -@@ -904,6 +904,8 @@ struct ubifs_budget_req { - * @dnext: next orphan to delete - * @inum: inode number - * @new: %1 => added since the last commit, otherwise %0 -+ * @cmt: %1 => commit pending, otherwise %0 -+ * @del: %1 => delete pending, otherwise %0 - */ - struct ubifs_orphan { - struct rb_node rb; -@@ -912,7 +914,9 @@ struct ubifs_orphan { - struct ubifs_orphan *cnext; - struct ubifs_orphan *dnext; - ino_t inum; -- int new; -+ unsigned new:1; -+ unsigned cmt:1; -+ unsigned del:1; - }; - - /** -diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c -index cdb2d33..572a858 100644 ---- a/fs/xfs/xfs_bmap.c -+++ b/fs/xfs/xfs_bmap.c -@@ -147,7 +147,10 @@ xfs_bmap_local_to_extents( - xfs_fsblock_t *firstblock, /* first block allocated in xaction */ - xfs_extlen_t total, /* total blocks needed by transaction */ - int *logflagsp, /* inode logging flags */ -- int whichfork); /* data or attr fork */ -+ int whichfork, /* data or attr fork */ -+ void (*init_fn)(struct xfs_buf *bp, -+ struct xfs_inode *ip, -+ struct xfs_ifork *ifp)); - - /* - * Search the extents list for the inode, for the extent containing bno. -@@ -357,7 +360,42 @@ xfs_bmap_add_attrfork_extents( - } - - /* -- * Called from xfs_bmap_add_attrfork to handle local format files. -+ * Block initialisation functions for local to extent format conversion. -+ * As these get more complex, they will be moved to the relevant files, -+ * but for now they are too simple to worry about. -+ */ -+STATIC void -+xfs_bmap_local_to_extents_init_fn( -+ struct xfs_buf *bp, -+ struct xfs_inode *ip, -+ struct xfs_ifork *ifp) -+{ -+ bp->b_ops = &xfs_bmbt_buf_ops; -+ memcpy(bp->b_addr, ifp->if_u1.if_data, ifp->if_bytes); -+} -+ -+STATIC void -+xfs_symlink_local_to_remote( -+ struct xfs_buf *bp, -+ struct xfs_inode *ip, -+ struct xfs_ifork *ifp) -+{ -+ /* remote symlink blocks are not verifiable until CRCs come along */ -+ bp->b_ops = NULL; -+ memcpy(bp->b_addr, ifp->if_u1.if_data, ifp->if_bytes); -+} -+ -+/* -+ * Called from xfs_bmap_add_attrfork to handle local format files. Each -+ * different data fork content type needs a different callout to do the -+ * conversion. Some are basic and only require special block initialisation -+ * callouts for the data formating, others (directories) are so specialised they -+ * handle everything themselves. -+ * -+ * XXX (dgc): investigate whether directory conversion can use the generic -+ * formatting callout. It should be possible - it's just a very complex -+ * formatter. it would also require passing the transaction through to the init -+ * function. - */ - STATIC int /* error */ - xfs_bmap_add_attrfork_local( -@@ -368,25 +406,29 @@ xfs_bmap_add_attrfork_local( - int *flags) /* inode logging flags */ - { - xfs_da_args_t dargs; /* args for dir/attr code */ -- int error; /* error return value */ -- xfs_mount_t *mp; /* mount structure pointer */ - - if (ip->i_df.if_bytes <= XFS_IFORK_DSIZE(ip)) - return 0; -+ - if (S_ISDIR(ip->i_d.di_mode)) { -- mp = ip->i_mount; - memset(&dargs, 0, sizeof(dargs)); - dargs.dp = ip; - dargs.firstblock = firstblock; - dargs.flist = flist; -- dargs.total = mp->m_dirblkfsbs; -+ dargs.total = ip->i_mount->m_dirblkfsbs; - dargs.whichfork = XFS_DATA_FORK; - dargs.trans = tp; -- error = xfs_dir2_sf_to_block(&dargs); -- } else -- error = xfs_bmap_local_to_extents(tp, ip, firstblock, 1, flags, -- XFS_DATA_FORK); -- return error; -+ return xfs_dir2_sf_to_block(&dargs); -+ } -+ -+ if (S_ISLNK(ip->i_d.di_mode)) -+ return xfs_bmap_local_to_extents(tp, ip, firstblock, 1, -+ flags, XFS_DATA_FORK, -+ xfs_symlink_local_to_remote); -+ -+ return xfs_bmap_local_to_extents(tp, ip, firstblock, 1, flags, -+ XFS_DATA_FORK, -+ xfs_bmap_local_to_extents_init_fn); - } - - /* -@@ -3221,7 +3263,10 @@ xfs_bmap_local_to_extents( - xfs_fsblock_t *firstblock, /* first block allocated in xaction */ - xfs_extlen_t total, /* total blocks needed by transaction */ - int *logflagsp, /* inode logging flags */ -- int whichfork) /* data or attr fork */ -+ int whichfork, -+ void (*init_fn)(struct xfs_buf *bp, -+ struct xfs_inode *ip, -+ struct xfs_ifork *ifp)) - { - int error; /* error return value */ - int flags; /* logging flags returned */ -@@ -3241,12 +3286,12 @@ xfs_bmap_local_to_extents( - xfs_buf_t *bp; /* buffer for extent block */ - xfs_bmbt_rec_host_t *ep;/* extent record pointer */ - -+ ASSERT((ifp->if_flags & -+ (XFS_IFINLINE|XFS_IFEXTENTS|XFS_IFEXTIREC)) == XFS_IFINLINE); - memset(&args, 0, sizeof(args)); - args.tp = tp; - args.mp = ip->i_mount; - args.firstblock = *firstblock; -- ASSERT((ifp->if_flags & -- (XFS_IFINLINE|XFS_IFEXTENTS|XFS_IFEXTIREC)) == XFS_IFINLINE); - /* - * Allocate a block. We know we need only one, since the - * file currently fits in an inode. -@@ -3262,17 +3307,20 @@ xfs_bmap_local_to_extents( - args.mod = args.minleft = args.alignment = args.wasdel = - args.isfl = args.minalignslop = 0; - args.minlen = args.maxlen = args.prod = 1; -- if ((error = xfs_alloc_vextent(&args))) -+ error = xfs_alloc_vextent(&args); -+ if (error) - goto done; -- /* -- * Can't fail, the space was reserved. -- */ -+ -+ /* Can't fail, the space was reserved. */ - ASSERT(args.fsbno != NULLFSBLOCK); - ASSERT(args.len == 1); - *firstblock = args.fsbno; - bp = xfs_btree_get_bufl(args.mp, tp, args.fsbno, 0); -- bp->b_ops = &xfs_bmbt_buf_ops; -- memcpy(bp->b_addr, ifp->if_u1.if_data, ifp->if_bytes); -+ -+ /* initialise the block and copy the data */ -+ init_fn(bp, ip, ifp); -+ -+ /* account for the change in fork size and log everything */ - xfs_trans_log_buf(tp, bp, 0, ifp->if_bytes - 1); - xfs_bmap_forkoff_reset(args.mp, ip, whichfork); - xfs_idata_realloc(ip, -ifp->if_bytes, whichfork); -@@ -4919,8 +4967,32 @@ xfs_bmapi_write( - XFS_STATS_INC(xs_blk_mapw); - - if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL) { -+ /* -+ * XXX (dgc): This assumes we are only called for inodes that -+ * contain content neutral data in local format. Anything that -+ * contains caller-specific data in local format that needs -+ * transformation to move to a block format needs to do the -+ * conversion to extent format itself. -+ * -+ * Directory data forks and attribute forks handle this -+ * themselves, but with the addition of metadata verifiers every -+ * data fork in local format now contains caller specific data -+ * and as such conversion through this function is likely to be -+ * broken. -+ * -+ * The only likely user of this branch is for remote symlinks, -+ * but we cannot overwrite the data fork contents of the symlink -+ * (EEXIST occurs higher up the stack) and so it will never go -+ * from local format to extent format here. Hence I don't think -+ * this branch is ever executed intentionally and we should -+ * consider removing it and asserting that xfs_bmapi_write() -+ * cannot be called directly on local format forks. i.e. callers -+ * are completely responsible for local to extent format -+ * conversion, not xfs_bmapi_write(). -+ */ - error = xfs_bmap_local_to_extents(tp, ip, firstblock, total, -- &bma.logflags, whichfork); -+ &bma.logflags, whichfork, -+ xfs_bmap_local_to_extents_init_fn); - if (error) - goto error0; - } -diff --git a/include/linux/llist.h b/include/linux/llist.h -index d0ab98f..a5199f6 100644 ---- a/include/linux/llist.h -+++ b/include/linux/llist.h -@@ -125,31 +125,6 @@ static inline void init_llist_head(struct llist_head *list) - (pos) = llist_entry((pos)->member.next, typeof(*(pos)), member)) - - /** -- * llist_for_each_entry_safe - iterate safely against remove over some entries -- * of lock-less list of given type. -- * @pos: the type * to use as a loop cursor. -- * @n: another type * to use as a temporary storage. -- * @node: the fist entry of deleted list entries. -- * @member: the name of the llist_node with the struct. -- * -- * In general, some entries of the lock-less list can be traversed -- * safely only after being removed from list, so start with an entry -- * instead of list head. This variant allows removal of entries -- * as we iterate. -- * -- * If being used on entries deleted from lock-less list directly, the -- * traverse order is from the newest to the oldest added entry. If -- * you want to traverse from the oldest to the newest, you must -- * reverse the order by yourself before traversing. -- */ --#define llist_for_each_entry_safe(pos, n, node, member) \ -- for ((pos) = llist_entry((node), typeof(*(pos)), member), \ -- (n) = (pos)->member.next; \ -- &(pos)->member != NULL; \ -- (pos) = llist_entry(n, typeof(*(pos)), member), \ -- (n) = (&(pos)->member != NULL) ? (pos)->member.next : NULL) -- --/** - * llist_empty - tests whether a lock-less list is empty - * @head: the list to test - * -diff --git a/include/linux/pstore.h b/include/linux/pstore.h -index 1788909..75d0176 100644 ---- a/include/linux/pstore.h -+++ b/include/linux/pstore.h -@@ -68,12 +68,18 @@ struct pstore_info { - - #ifdef CONFIG_PSTORE - extern int pstore_register(struct pstore_info *); -+extern bool pstore_cannot_block_path(enum kmsg_dump_reason reason); - #else - static inline int - pstore_register(struct pstore_info *psi) - { - return -ENODEV; - } -+static inline bool -+pstore_cannot_block_path(enum kmsg_dump_reason reason) -+{ -+ return false; -+} - #endif - - #endif /*_LINUX_PSTORE_H*/ -diff --git a/include/linux/quota.h b/include/linux/quota.h -index 58fdef12..d133711 100644 ---- a/include/linux/quota.h -+++ b/include/linux/quota.h -@@ -405,6 +405,7 @@ struct quota_module_name { - #define INIT_QUOTA_MODULE_NAMES {\ - {QFMT_VFS_OLD, "quota_v1"},\ - {QFMT_VFS_V0, "quota_v2"},\ -+ {QFMT_VFS_V1, "quota_v2"},\ - {0, NULL}} - - #endif /* _QUOTA_ */ -diff --git a/kernel/cgroup.c b/kernel/cgroup.c -index 4855892..1e23664 100644 ---- a/kernel/cgroup.c -+++ b/kernel/cgroup.c -@@ -426,12 +426,20 @@ static void __put_css_set(struct css_set *cg, int taskexit) - struct cgroup *cgrp = link->cgrp; - list_del(&link->cg_link_list); - list_del(&link->cgrp_link_list); -+ -+ /* -+ * We may not be holding cgroup_mutex, and if cgrp->count is -+ * dropped to 0 the cgroup can be destroyed at any time, hence -+ * rcu_read_lock is used to keep it alive. -+ */ -+ rcu_read_lock(); - if (atomic_dec_and_test(&cgrp->count) && - notify_on_release(cgrp)) { - if (taskexit) - set_bit(CGRP_RELEASABLE, &cgrp->flags); - check_for_release(cgrp); - } -+ rcu_read_unlock(); - - kfree(link); - } -diff --git a/kernel/cpuset.c b/kernel/cpuset.c -index 7bb63ee..5bb9bf1 100644 ---- a/kernel/cpuset.c -+++ b/kernel/cpuset.c -@@ -2511,8 +2511,16 @@ void cpuset_print_task_mems_allowed(struct task_struct *tsk) - - dentry = task_cs(tsk)->css.cgroup->dentry; - spin_lock(&cpuset_buffer_lock); -- snprintf(cpuset_name, CPUSET_NAME_LEN, -- dentry ? (const char *)dentry->d_name.name : "/"); -+ -+ if (!dentry) { -+ strcpy(cpuset_name, "/"); -+ } else { -+ spin_lock(&dentry->d_lock); -+ strlcpy(cpuset_name, (const char *)dentry->d_name.name, -+ CPUSET_NAME_LEN); -+ spin_unlock(&dentry->d_lock); -+ } -+ - nodelist_scnprintf(cpuset_nodelist, CPUSET_NODELIST_LEN, - tsk->mems_allowed); - printk(KERN_INFO "%s cpuset=%s mems_allowed=%s\n", -diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c -index 69185ae..e885be1 100644 ---- a/kernel/posix-timers.c -+++ b/kernel/posix-timers.c -@@ -639,6 +639,13 @@ static struct k_itimer *__lock_timer(timer_t timer_id, unsigned long *flags) - { - struct k_itimer *timr; - -+ /* -+ * timer_t could be any type >= int and we want to make sure any -+ * @timer_id outside positive int range fails lookup. -+ */ -+ if ((unsigned long long)timer_id > INT_MAX) -+ return NULL; -+ - rcu_read_lock(); - timr = idr_find(&posix_timers_id, (int)timer_id); - if (timr) { -diff --git a/kernel/sysctl_binary.c b/kernel/sysctl_binary.c -index 5a63844..0ddf3a0 100644 ---- a/kernel/sysctl_binary.c -+++ b/kernel/sysctl_binary.c -@@ -1194,9 +1194,10 @@ static ssize_t bin_dn_node_address(struct file *file, - - /* Convert the decnet address to binary */ - result = -EIO; -- nodep = strchr(buf, '.') + 1; -+ nodep = strchr(buf, '.'); - if (!nodep) - goto out; -+ ++nodep; - - area = simple_strtoul(buf, NULL, 10); - node = simple_strtoul(nodep, NULL, 10); -diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c -index 41473b4..43defd1 100644 ---- a/kernel/trace/ftrace.c -+++ b/kernel/trace/ftrace.c -@@ -3970,37 +3970,51 @@ static void ftrace_init_module(struct module *mod, - ftrace_process_locs(mod, start, end); - } - --static int ftrace_module_notify(struct notifier_block *self, -- unsigned long val, void *data) -+static int ftrace_module_notify_enter(struct notifier_block *self, -+ unsigned long val, void *data) - { - struct module *mod = data; - -- switch (val) { -- case MODULE_STATE_COMING: -+ if (val == MODULE_STATE_COMING) - ftrace_init_module(mod, mod->ftrace_callsites, - mod->ftrace_callsites + - mod->num_ftrace_callsites); -- break; -- case MODULE_STATE_GOING: -+ return 0; -+} -+ -+static int ftrace_module_notify_exit(struct notifier_block *self, -+ unsigned long val, void *data) -+{ -+ struct module *mod = data; -+ -+ if (val == MODULE_STATE_GOING) - ftrace_release_mod(mod); -- break; -- } - - return 0; - } - #else --static int ftrace_module_notify(struct notifier_block *self, -- unsigned long val, void *data) -+static int ftrace_module_notify_enter(struct notifier_block *self, -+ unsigned long val, void *data) -+{ -+ return 0; -+} -+static int ftrace_module_notify_exit(struct notifier_block *self, -+ unsigned long val, void *data) - { - return 0; - } - #endif /* CONFIG_MODULES */ - --struct notifier_block ftrace_module_nb = { -- .notifier_call = ftrace_module_notify, -+struct notifier_block ftrace_module_enter_nb = { -+ .notifier_call = ftrace_module_notify_enter, - .priority = INT_MAX, /* Run before anything that can use kprobes */ - }; - -+struct notifier_block ftrace_module_exit_nb = { -+ .notifier_call = ftrace_module_notify_exit, -+ .priority = INT_MIN, /* Run after anything that can remove kprobes */ -+}; -+ - extern unsigned long __start_mcount_loc[]; - extern unsigned long __stop_mcount_loc[]; - -@@ -4032,9 +4046,13 @@ void __init ftrace_init(void) - __start_mcount_loc, - __stop_mcount_loc); - -- ret = register_module_notifier(&ftrace_module_nb); -+ ret = register_module_notifier(&ftrace_module_enter_nb); -+ if (ret) -+ pr_warning("Failed to register trace ftrace module enter notifier\n"); -+ -+ ret = register_module_notifier(&ftrace_module_exit_nb); - if (ret) -- pr_warning("Failed to register trace ftrace module notifier\n"); -+ pr_warning("Failed to register trace ftrace module exit notifier\n"); - - set_ftrace_early_filters(); - -diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index 033ad5b..3a3a98f 100644 ---- a/kernel/workqueue.c -+++ b/kernel/workqueue.c -@@ -138,6 +138,7 @@ struct worker { - }; - - struct work_struct *current_work; /* L: work being processed */ -+ work_func_t current_func; /* L: current_work's fn */ - struct cpu_workqueue_struct *current_cwq; /* L: current_work's cwq */ - struct list_head scheduled; /* L: scheduled works */ - struct task_struct *task; /* I: worker task */ -@@ -910,7 +911,8 @@ static struct worker *__find_worker_executing_work(struct global_cwq *gcwq, - struct hlist_node *tmp; - - hlist_for_each_entry(worker, tmp, bwh, hentry) -- if (worker->current_work == work) -+ if (worker->current_work == work && -+ worker->current_func == work->func) - return worker; - return NULL; - } -@@ -920,9 +922,27 @@ static struct worker *__find_worker_executing_work(struct global_cwq *gcwq, - * @gcwq: gcwq of interest - * @work: work to find worker for - * -- * Find a worker which is executing @work on @gcwq. This function is -- * identical to __find_worker_executing_work() except that this -- * function calculates @bwh itself. -+ * Find a worker which is executing @work on @gcwq by searching -+ * @gcwq->busy_hash which is keyed by the address of @work. For a worker -+ * to match, its current execution should match the address of @work and -+ * its work function. This is to avoid unwanted dependency between -+ * unrelated work executions through a work item being recycled while still -+ * being executed. -+ * -+ * This is a bit tricky. A work item may be freed once its execution -+ * starts and nothing prevents the freed area from being recycled for -+ * another work item. If the same work item address ends up being reused -+ * before the original execution finishes, workqueue will identify the -+ * recycled work item as currently executing and make it wait until the -+ * current execution finishes, introducing an unwanted dependency. -+ * -+ * This function checks the work item address, work function and workqueue -+ * to avoid false positives. Note that this isn't complete as one may -+ * construct a work function which can introduce dependency onto itself -+ * through a recycled work item. Well, if somebody wants to shoot oneself -+ * in the foot that badly, there's only so much we can do, and if such -+ * deadlock actually occurs, it should be easy to locate the culprit work -+ * function. - * - * CONTEXT: - * spin_lock_irq(gcwq->lock). -@@ -2168,7 +2188,6 @@ __acquires(&gcwq->lock) - struct global_cwq *gcwq = pool->gcwq; - struct hlist_head *bwh = busy_worker_head(gcwq, work); - bool cpu_intensive = cwq->wq->flags & WQ_CPU_INTENSIVE; -- work_func_t f = work->func; - int work_color; - struct worker *collision; - #ifdef CONFIG_LOCKDEP -@@ -2208,6 +2227,7 @@ __acquires(&gcwq->lock) - debug_work_deactivate(work); - hlist_add_head(&worker->hentry, bwh); - worker->current_work = work; -+ worker->current_func = work->func; - worker->current_cwq = cwq; - work_color = get_work_color(work); - -@@ -2240,7 +2260,7 @@ __acquires(&gcwq->lock) - lock_map_acquire_read(&cwq->wq->lockdep_map); - lock_map_acquire(&lockdep_map); - trace_workqueue_execute_start(work); -- f(work); -+ worker->current_func(work); - /* - * While we must be careful to not use "work" after this, the trace - * point will only record its address. -@@ -2252,7 +2272,8 @@ __acquires(&gcwq->lock) - if (unlikely(in_atomic() || lockdep_depth(current) > 0)) { - pr_err("BUG: workqueue leaked lock or atomic: %s/0x%08x/%d\n" - " last function: %pf\n", -- current->comm, preempt_count(), task_pid_nr(current), f); -+ current->comm, preempt_count(), task_pid_nr(current), -+ worker->current_func); - debug_show_held_locks(current); - dump_stack(); - } -@@ -2266,6 +2287,7 @@ __acquires(&gcwq->lock) - /* we're done with it, release */ - hlist_del_init(&worker->hentry); - worker->current_work = NULL; -+ worker->current_func = NULL; - worker->current_cwq = NULL; - cwq_dec_nr_in_flight(cwq, work_color); - } -diff --git a/lib/idr.c b/lib/idr.c -index 6482390..ca5aa00 100644 ---- a/lib/idr.c -+++ b/lib/idr.c -@@ -625,7 +625,14 @@ void *idr_get_next(struct idr *idp, int *nextidp) - return p; - } - -- id += 1 << n; -+ /* -+ * Proceed to the next layer at the current level. Unlike -+ * idr_for_each(), @id isn't guaranteed to be aligned to -+ * layer boundary at this point and adding 1 << n may -+ * incorrectly skip IDs. Make sure we jump to the -+ * beginning of the next layer using round_up(). -+ */ -+ id = round_up(id + 1, 1 << n); - while (n < fls(id)) { - n += IDR_BITS; - p = *--paa; -diff --git a/mm/mmap.c b/mm/mmap.c -index d1e4124..8832b87 100644 ---- a/mm/mmap.c -+++ b/mm/mmap.c -@@ -2169,9 +2169,28 @@ int expand_downwards(struct vm_area_struct *vma, - return error; - } - -+/* -+ * Note how expand_stack() refuses to expand the stack all the way to -+ * abut the next virtual mapping, *unless* that mapping itself is also -+ * a stack mapping. We want to leave room for a guard page, after all -+ * (the guard page itself is not added here, that is done by the -+ * actual page faulting logic) -+ * -+ * This matches the behavior of the guard page logic (see mm/memory.c: -+ * check_stack_guard_page()), which only allows the guard page to be -+ * removed under these circumstances. -+ */ - #ifdef CONFIG_STACK_GROWSUP - int expand_stack(struct vm_area_struct *vma, unsigned long address) - { -+ struct vm_area_struct *next; -+ -+ address &= PAGE_MASK; -+ next = vma->vm_next; -+ if (next && next->vm_start == address + PAGE_SIZE) { -+ if (!(next->vm_flags & VM_GROWSUP)) -+ return -ENOMEM; -+ } - return expand_upwards(vma, address); - } - -@@ -2194,6 +2213,14 @@ find_extend_vma(struct mm_struct *mm, unsigned long addr) - #else - int expand_stack(struct vm_area_struct *vma, unsigned long address) - { -+ struct vm_area_struct *prev; -+ -+ address &= PAGE_MASK; -+ prev = vma->vm_prev; -+ if (prev && prev->vm_end == address) { -+ if (!(prev->vm_flags & VM_GROWSDOWN)) -+ return -ENOMEM; -+ } - return expand_downwards(vma, address); - } - -diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c -index dbf12ac..2d34b6b 100644 ---- a/net/sunrpc/svc.c -+++ b/net/sunrpc/svc.c -@@ -515,15 +515,6 @@ EXPORT_SYMBOL_GPL(svc_create_pooled); - - void svc_shutdown_net(struct svc_serv *serv, struct net *net) - { -- /* -- * The set of xprts (contained in the sv_tempsocks and -- * sv_permsocks lists) is now constant, since it is modified -- * only by accepting new sockets (done by service threads in -- * svc_recv) or aging old ones (done by sv_temptimer), or -- * configuration changes (excluded by whatever locking the -- * caller is using--nfsd_mutex in the case of nfsd). So it's -- * safe to traverse those lists and shut everything down: -- */ - svc_close_net(serv, net); - - if (serv->sv_shutdown) -diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c -index b8e47fa..ca71056 100644 ---- a/net/sunrpc/svc_xprt.c -+++ b/net/sunrpc/svc_xprt.c -@@ -856,7 +856,6 @@ static void svc_age_temp_xprts(unsigned long closure) - struct svc_serv *serv = (struct svc_serv *)closure; - struct svc_xprt *xprt; - struct list_head *le, *next; -- LIST_HEAD(to_be_aged); - - dprintk("svc_age_temp_xprts\n"); - -@@ -877,25 +876,15 @@ static void svc_age_temp_xprts(unsigned long closure) - if (atomic_read(&xprt->xpt_ref.refcount) > 1 || - test_bit(XPT_BUSY, &xprt->xpt_flags)) - continue; -- svc_xprt_get(xprt); -- list_move(le, &to_be_aged); -+ list_del_init(le); - set_bit(XPT_CLOSE, &xprt->xpt_flags); - set_bit(XPT_DETACHED, &xprt->xpt_flags); -- } -- spin_unlock_bh(&serv->sv_lock); -- -- while (!list_empty(&to_be_aged)) { -- le = to_be_aged.next; -- /* fiddling the xpt_list node is safe 'cos we're XPT_DETACHED */ -- list_del_init(le); -- xprt = list_entry(le, struct svc_xprt, xpt_list); -- - dprintk("queuing xprt %p for closing\n", xprt); - - /* a thread will dequeue and close it soon */ - svc_xprt_enqueue(xprt); -- svc_xprt_put(xprt); - } -+ spin_unlock_bh(&serv->sv_lock); - - mod_timer(&serv->sv_temptimer, jiffies + svc_conn_age_period * HZ); - } -@@ -959,21 +948,24 @@ void svc_close_xprt(struct svc_xprt *xprt) - } - EXPORT_SYMBOL_GPL(svc_close_xprt); - --static void svc_close_list(struct svc_serv *serv, struct list_head *xprt_list, struct net *net) -+static int svc_close_list(struct svc_serv *serv, struct list_head *xprt_list, struct net *net) - { - struct svc_xprt *xprt; -+ int ret = 0; - - spin_lock(&serv->sv_lock); - list_for_each_entry(xprt, xprt_list, xpt_list) { - if (xprt->xpt_net != net) - continue; -+ ret++; - set_bit(XPT_CLOSE, &xprt->xpt_flags); -- set_bit(XPT_BUSY, &xprt->xpt_flags); -+ svc_xprt_enqueue(xprt); - } - spin_unlock(&serv->sv_lock); -+ return ret; - } - --static void svc_clear_pools(struct svc_serv *serv, struct net *net) -+static struct svc_xprt *svc_dequeue_net(struct svc_serv *serv, struct net *net) - { - struct svc_pool *pool; - struct svc_xprt *xprt; -@@ -988,42 +980,46 @@ static void svc_clear_pools(struct svc_serv *serv, struct net *net) - if (xprt->xpt_net != net) - continue; - list_del_init(&xprt->xpt_ready); -+ spin_unlock_bh(&pool->sp_lock); -+ return xprt; - } - spin_unlock_bh(&pool->sp_lock); - } -+ return NULL; - } - --static void svc_clear_list(struct svc_serv *serv, struct list_head *xprt_list, struct net *net) -+static void svc_clean_up_xprts(struct svc_serv *serv, struct net *net) - { - struct svc_xprt *xprt; -- struct svc_xprt *tmp; -- LIST_HEAD(victims); -- -- spin_lock(&serv->sv_lock); -- list_for_each_entry_safe(xprt, tmp, xprt_list, xpt_list) { -- if (xprt->xpt_net != net) -- continue; -- list_move(&xprt->xpt_list, &victims); -- } -- spin_unlock(&serv->sv_lock); - -- list_for_each_entry_safe(xprt, tmp, &victims, xpt_list) -+ while ((xprt = svc_dequeue_net(serv, net))) { -+ set_bit(XPT_CLOSE, &xprt->xpt_flags); - svc_delete_xprt(xprt); -+ } - } - -+/* -+ * Server threads may still be running (especially in the case where the -+ * service is still running in other network namespaces). -+ * -+ * So we shut down sockets the same way we would on a running server, by -+ * setting XPT_CLOSE, enqueuing, and letting a thread pick it up to do -+ * the close. In the case there are no such other threads, -+ * threads running, svc_clean_up_xprts() does a simple version of a -+ * server's main event loop, and in the case where there are other -+ * threads, we may need to wait a little while and then check again to -+ * see if they're done. -+ */ - void svc_close_net(struct svc_serv *serv, struct net *net) - { -- svc_close_list(serv, &serv->sv_tempsocks, net); -- svc_close_list(serv, &serv->sv_permsocks, net); -+ int delay = 0; - -- svc_clear_pools(serv, net); -- /* -- * At this point the sp_sockets lists will stay empty, since -- * svc_xprt_enqueue will not add new entries without taking the -- * sp_lock and checking XPT_BUSY. -- */ -- svc_clear_list(serv, &serv->sv_tempsocks, net); -- svc_clear_list(serv, &serv->sv_permsocks, net); -+ while (svc_close_list(serv, &serv->sv_permsocks, net) + -+ svc_close_list(serv, &serv->sv_tempsocks, net)) { -+ -+ svc_clean_up_xprts(serv, net); -+ msleep(delay++); -+ } - } - - /* -diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c -index cdd100d..9febe55 100644 ---- a/sound/pci/bt87x.c -+++ b/sound/pci/bt87x.c -@@ -836,6 +836,8 @@ static struct { - {0x7063, 0x2000}, /* pcHDTV HD-2000 TV */ - }; - -+static struct pci_driver driver; -+ - /* return the id of the card, or a negative value if it's blacklisted */ - static int snd_bt87x_detect_card(struct pci_dev *pci) - { -@@ -962,11 +964,24 @@ static DEFINE_PCI_DEVICE_TABLE(snd_bt87x_default_ids) = { - { } - }; - --static struct pci_driver bt87x_driver = { -+static struct pci_driver driver = { - .name = KBUILD_MODNAME, - .id_table = snd_bt87x_ids, - .probe = snd_bt87x_probe, - .remove = snd_bt87x_remove, - }; - --module_pci_driver(bt87x_driver); -+static int __init alsa_card_bt87x_init(void) -+{ -+ if (load_all) -+ driver.id_table = snd_bt87x_default_ids; -+ return pci_register_driver(&driver); -+} -+ -+static void __exit alsa_card_bt87x_exit(void) -+{ -+ pci_unregister_driver(&driver); -+} -+ -+module_init(alsa_card_bt87x_init) -+module_exit(alsa_card_bt87x_exit) -diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c -index a7c296a..e6b0166 100644 ---- a/sound/pci/emu10k1/emu10k1_main.c -+++ b/sound/pci/emu10k1/emu10k1_main.c -@@ -862,6 +862,12 @@ static int snd_emu10k1_emu1010_init(struct snd_emu10k1 *emu) - filename, emu->firmware->size); - } - -+ err = snd_emu1010_load_firmware(emu); -+ if (err != 0) { -+ snd_printk(KERN_INFO "emu1010: Loading Firmware failed\n"); -+ return err; -+ } -+ - /* ID, should read & 0x7f = 0x55 when FPGA programmed. */ - snd_emu1010_fpga_read(emu, EMU_HANA_ID, ®); - if ((reg & 0x3f) != 0x15) { -diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c -index b14813d..c690b2a 100644 ---- a/sound/pci/hda/patch_hdmi.c -+++ b/sound/pci/hda/patch_hdmi.c -@@ -1573,6 +1573,9 @@ static int generic_hdmi_build_jack(struct hda_codec *codec, int pin_idx) - - if (pcmdev > 0) - sprintf(hdmi_str + strlen(hdmi_str), ",pcm=%d", pcmdev); -+ if (!is_jack_detectable(codec, per_pin->pin_nid)) -+ strncat(hdmi_str, " Phantom", -+ sizeof(hdmi_str) - strlen(hdmi_str) - 1); - - return snd_hda_jack_add_kctl(codec, per_pin->pin_nid, hdmi_str, 0); - } diff --git a/3.8.3/1002_linux-3.8.3.patch b/3.8.3/1002_linux-3.8.3.patch deleted file mode 100644 index 6b6c562..0000000 --- a/3.8.3/1002_linux-3.8.3.patch +++ /dev/null @@ -1,4814 +0,0 @@ -diff --git a/Makefile b/Makefile -index 20d5318..8c49fc9b 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,6 +1,6 @@ - VERSION = 3 - PATCHLEVEL = 8 --SUBLEVEL = 2 -+SUBLEVEL = 3 - EXTRAVERSION = - NAME = Unicycling Gorilla - -diff --git a/arch/arm/boot/dts/kirkwood-dns320.dts b/arch/arm/boot/dts/kirkwood-dns320.dts -index 5bb0bf3..c9c44b2 100644 ---- a/arch/arm/boot/dts/kirkwood-dns320.dts -+++ b/arch/arm/boot/dts/kirkwood-dns320.dts -@@ -42,12 +42,10 @@ - - ocp@f1000000 { - serial@12000 { -- clock-frequency = <166666667>; - status = "okay"; - }; - - serial@12100 { -- clock-frequency = <166666667>; - status = "okay"; - }; - }; -diff --git a/arch/arm/boot/dts/kirkwood-dns325.dts b/arch/arm/boot/dts/kirkwood-dns325.dts -index d430713..e4e4930 100644 ---- a/arch/arm/boot/dts/kirkwood-dns325.dts -+++ b/arch/arm/boot/dts/kirkwood-dns325.dts -@@ -50,7 +50,6 @@ - }; - }; - serial@12000 { -- clock-frequency = <200000000>; - status = "okay"; - }; - }; -diff --git a/arch/arm/boot/dts/kirkwood-dockstar.dts b/arch/arm/boot/dts/kirkwood-dockstar.dts -index 2e3dd34..0196cf6 100644 ---- a/arch/arm/boot/dts/kirkwood-dockstar.dts -+++ b/arch/arm/boot/dts/kirkwood-dockstar.dts -@@ -37,7 +37,6 @@ - }; - }; - serial@12000 { -- clock-frequency = <200000000>; - status = "ok"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-dreamplug.dts b/arch/arm/boot/dts/kirkwood-dreamplug.dts -index f2d386c..e21ae48 100644 ---- a/arch/arm/boot/dts/kirkwood-dreamplug.dts -+++ b/arch/arm/boot/dts/kirkwood-dreamplug.dts -@@ -38,7 +38,6 @@ - }; - }; - serial@12000 { -- clock-frequency = <200000000>; - status = "ok"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-goflexnet.dts b/arch/arm/boot/dts/kirkwood-goflexnet.dts -index 1b133e0..bd83b8f 100644 ---- a/arch/arm/boot/dts/kirkwood-goflexnet.dts -+++ b/arch/arm/boot/dts/kirkwood-goflexnet.dts -@@ -73,7 +73,6 @@ - }; - }; - serial@12000 { -- clock-frequency = <200000000>; - status = "ok"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-ib62x0.dts b/arch/arm/boot/dts/kirkwood-ib62x0.dts -index 71902da..5335b1a 100644 ---- a/arch/arm/boot/dts/kirkwood-ib62x0.dts -+++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts -@@ -51,7 +51,6 @@ - }; - }; - serial@12000 { -- clock-frequency = <200000000>; - status = "okay"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-iconnect.dts b/arch/arm/boot/dts/kirkwood-iconnect.dts -index 504f16b..12ccf74 100644 ---- a/arch/arm/boot/dts/kirkwood-iconnect.dts -+++ b/arch/arm/boot/dts/kirkwood-iconnect.dts -@@ -78,7 +78,6 @@ - }; - }; - serial@12000 { -- clock-frequency = <200000000>; - status = "ok"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts -index 6cae459..93c3afb 100644 ---- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts -+++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts -@@ -115,7 +115,6 @@ - }; - - serial@12000 { -- clock-frequency = <200000000>; - status = "ok"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts -index 8db3123..5bbd054 100644 ---- a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts -+++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts -@@ -34,7 +34,6 @@ - }; - - serial@12000 { -- clock-frequency = <200000000>; - status = "ok"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-lschlv2.dts b/arch/arm/boot/dts/kirkwood-lschlv2.dts -index 9510c9e..9f55d95 100644 ---- a/arch/arm/boot/dts/kirkwood-lschlv2.dts -+++ b/arch/arm/boot/dts/kirkwood-lschlv2.dts -@@ -13,7 +13,6 @@ - - ocp@f1000000 { - serial@12000 { -- clock-frequency = <166666667>; - status = "okay"; - }; - }; -diff --git a/arch/arm/boot/dts/kirkwood-lsxhl.dts b/arch/arm/boot/dts/kirkwood-lsxhl.dts -index 739019c..5c84c11 100644 ---- a/arch/arm/boot/dts/kirkwood-lsxhl.dts -+++ b/arch/arm/boot/dts/kirkwood-lsxhl.dts -@@ -13,7 +13,6 @@ - - ocp@f1000000 { - serial@12000 { -- clock-frequency = <200000000>; - status = "okay"; - }; - }; -diff --git a/arch/arm/boot/dts/kirkwood-mplcec4.dts b/arch/arm/boot/dts/kirkwood-mplcec4.dts -index 262c654..07be213 100644 ---- a/arch/arm/boot/dts/kirkwood-mplcec4.dts -+++ b/arch/arm/boot/dts/kirkwood-mplcec4.dts -@@ -91,7 +91,6 @@ - }; - - serial@12000 { -- clock-frequency = <200000000>; - status = "ok"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi -index 77d21ab..f0245c1 100644 ---- a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi -+++ b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi -@@ -23,7 +23,6 @@ - }; - - serial@12000 { -- clock-frequency = <166666667>; - status = "okay"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-nsa310.dts b/arch/arm/boot/dts/kirkwood-nsa310.dts -index 5509f96..28d05e4 100644 ---- a/arch/arm/boot/dts/kirkwood-nsa310.dts -+++ b/arch/arm/boot/dts/kirkwood-nsa310.dts -@@ -18,7 +18,6 @@ - ocp@f1000000 { - - serial@12000 { -- clock-frequency = <200000000>; - status = "ok"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts -index 49d3d74..f3cc7c4 100644 ---- a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts -+++ b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts -@@ -18,12 +18,10 @@ - - ocp@f1000000 { - serial@12000 { -- clock-frequency = <200000000>; - status = "ok"; - }; - - serial@12100 { -- clock-frequency = <200000000>; - status = "ok"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood-topkick.dts b/arch/arm/boot/dts/kirkwood-topkick.dts -index cd15452..7dd19ff 100644 ---- a/arch/arm/boot/dts/kirkwood-topkick.dts -+++ b/arch/arm/boot/dts/kirkwood-topkick.dts -@@ -17,7 +17,6 @@ - - ocp@f1000000 { - serial@12000 { -- clock-frequency = <200000000>; - status = "ok"; - }; - -diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi -index d6ab442..ad26d92 100644 ---- a/arch/arm/boot/dts/kirkwood.dtsi -+++ b/arch/arm/boot/dts/kirkwood.dtsi -@@ -38,6 +38,7 @@ - interrupt-controller; - #interrupt-cells = <2>; - interrupts = <35>, <36>, <37>, <38>; -+ clocks = <&gate_clk 7>; - }; - - gpio1: gpio@10140 { -@@ -49,6 +50,7 @@ - interrupt-controller; - #interrupt-cells = <2>; - interrupts = <39>, <40>, <41>; -+ clocks = <&gate_clk 7>; - }; - - serial@12000 { -@@ -57,7 +59,6 @@ - reg-shift = <2>; - interrupts = <33>; - clocks = <&gate_clk 7>; -- /* set clock-frequency in board dts */ - status = "disabled"; - }; - -@@ -67,7 +68,6 @@ - reg-shift = <2>; - interrupts = <34>; - clocks = <&gate_clk 7>; -- /* set clock-frequency in board dts */ - status = "disabled"; - }; - -@@ -75,6 +75,7 @@ - compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc"; - reg = <0x10300 0x20>; - interrupts = <53>; -+ clocks = <&gate_clk 7>; - }; - - spi@10600 { -diff --git a/arch/arm/configs/mxs_defconfig b/arch/arm/configs/mxs_defconfig -index 7bf5351..a55b206 100644 ---- a/arch/arm/configs/mxs_defconfig -+++ b/arch/arm/configs/mxs_defconfig -@@ -118,6 +118,7 @@ CONFIG_FRAMEBUFFER_CONSOLE=y - CONFIG_FONTS=y - CONFIG_LOGO=y - CONFIG_USB=y -+CONFIG_USB_EHCI_HCD=y - CONFIG_USB_CHIPIDEA=y - CONFIG_USB_CHIPIDEA_HOST=y - CONFIG_USB_STORAGE=y -diff --git a/arch/arm/include/asm/delay.h b/arch/arm/include/asm/delay.h -index ab98fdd..720799f 100644 ---- a/arch/arm/include/asm/delay.h -+++ b/arch/arm/include/asm/delay.h -@@ -24,6 +24,7 @@ extern struct arm_delay_ops { - void (*delay)(unsigned long); - void (*const_udelay)(unsigned long); - void (*udelay)(unsigned long); -+ bool const_clock; - } arm_delay_ops; - - #define __delay(n) arm_delay_ops.delay(n) -diff --git a/arch/arm/include/asm/mmu.h b/arch/arm/include/asm/mmu.h -index 9f77e78..e3d5554 100644 ---- a/arch/arm/include/asm/mmu.h -+++ b/arch/arm/include/asm/mmu.h -@@ -5,15 +5,15 @@ - - typedef struct { - #ifdef CONFIG_CPU_HAS_ASID -- u64 id; -+ atomic64_t id; - #endif -- unsigned int vmalloc_seq; -+ unsigned int vmalloc_seq; - } mm_context_t; - - #ifdef CONFIG_CPU_HAS_ASID - #define ASID_BITS 8 - #define ASID_MASK ((~0ULL) << ASID_BITS) --#define ASID(mm) ((mm)->context.id & ~ASID_MASK) -+#define ASID(mm) ((mm)->context.id.counter & ~ASID_MASK) - #else - #define ASID(mm) (0) - #endif -@@ -26,7 +26,7 @@ typedef struct { - * modified for 2.6 by Hyok S. Choi <hyok.choi@samsung.com> - */ - typedef struct { -- unsigned long end_brk; -+ unsigned long end_brk; - } mm_context_t; - - #endif -diff --git a/arch/arm/include/asm/mmu_context.h b/arch/arm/include/asm/mmu_context.h -index e1f644b..863a661 100644 ---- a/arch/arm/include/asm/mmu_context.h -+++ b/arch/arm/include/asm/mmu_context.h -@@ -25,7 +25,7 @@ void __check_vmalloc_seq(struct mm_struct *mm); - #ifdef CONFIG_CPU_HAS_ASID - - void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk); --#define init_new_context(tsk,mm) ({ mm->context.id = 0; }) -+#define init_new_context(tsk,mm) ({ atomic64_set(&mm->context.id, 0); 0; }) - - #else /* !CONFIG_CPU_HAS_ASID */ - -diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h -index 9c82f988..c094749 100644 ---- a/arch/arm/include/asm/pgtable.h -+++ b/arch/arm/include/asm/pgtable.h -@@ -240,7 +240,8 @@ 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 | L_PTE_NONE; -+ const pteval_t mask = L_PTE_XN | L_PTE_RDONLY | L_PTE_USER | -+ L_PTE_NONE | L_PTE_VALID; - pte_val(pte) = (pte_val(pte) & ~mask) | (pgprot_val(newprot) & mask); - return pte; - } -diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c -index c985b48..cf10d18 100644 ---- a/arch/arm/kernel/asm-offsets.c -+++ b/arch/arm/kernel/asm-offsets.c -@@ -107,7 +107,7 @@ int main(void) - BLANK(); - #endif - #ifdef CONFIG_CPU_HAS_ASID -- DEFINE(MM_CONTEXT_ID, offsetof(struct mm_struct, context.id)); -+ DEFINE(MM_CONTEXT_ID, offsetof(struct mm_struct, context.id.counter)); - BLANK(); - #endif - DEFINE(VMA_VM_MM, offsetof(struct vm_area_struct, vm_mm)); -diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S -index 486a15a..e0eb9a1 100644 ---- a/arch/arm/kernel/head.S -+++ b/arch/arm/kernel/head.S -@@ -184,13 +184,22 @@ __create_page_tables: - orr r3, r3, #3 @ PGD block type - mov r6, #4 @ PTRS_PER_PGD - mov r7, #1 << (55 - 32) @ L_PGD_SWAPPER --1: str r3, [r0], #4 @ set bottom PGD entry bits -+1: -+#ifdef CONFIG_CPU_ENDIAN_BE8 - str r7, [r0], #4 @ set top PGD entry bits -+ str r3, [r0], #4 @ set bottom PGD entry bits -+#else -+ str r3, [r0], #4 @ set bottom PGD entry bits -+ str r7, [r0], #4 @ set top PGD entry bits -+#endif - add r3, r3, #0x1000 @ next PMD table - subs r6, r6, #1 - bne 1b - - add r4, r4, #0x1000 @ point to the PMD tables -+#ifdef CONFIG_CPU_ENDIAN_BE8 -+ add r4, r4, #4 @ we only write the bottom word -+#endif - #endif - - ldr r7, [r10, #PROCINFO_MM_MMUFLAGS] @ mm_mmuflags -@@ -258,6 +267,11 @@ __create_page_tables: - addne r6, r6, #1 << SECTION_SHIFT - strne r6, [r3] - -+#if defined(CONFIG_LPAE) && defined(CONFIG_CPU_ENDIAN_BE8) -+ sub r4, r4, #4 @ Fixup page table pointer -+ @ for 64-bit descriptors -+#endif -+ - #ifdef CONFIG_DEBUG_LL - #if !defined(CONFIG_DEBUG_ICEDCC) && !defined(CONFIG_DEBUG_SEMIHOSTING) - /* -@@ -276,13 +290,17 @@ __create_page_tables: - orr r3, r7, r3, lsl #SECTION_SHIFT - #ifdef CONFIG_ARM_LPAE - mov r7, #1 << (54 - 32) @ XN -+#ifdef CONFIG_CPU_ENDIAN_BE8 -+ str r7, [r0], #4 -+ str r3, [r0], #4 - #else -- orr r3, r3, #PMD_SECT_XN --#endif - str r3, [r0], #4 --#ifdef CONFIG_ARM_LPAE - str r7, [r0], #4 - #endif -+#else -+ orr r3, r3, #PMD_SECT_XN -+ str r3, [r0], #4 -+#endif - - #else /* CONFIG_DEBUG_ICEDCC || CONFIG_DEBUG_SEMIHOSTING */ - /* we don't need any serial debugging mappings */ -diff --git a/arch/arm/kernel/perf_event_v7.c b/arch/arm/kernel/perf_event_v7.c -index 4fbc757..89ede24 100644 ---- a/arch/arm/kernel/perf_event_v7.c -+++ b/arch/arm/kernel/perf_event_v7.c -@@ -774,7 +774,7 @@ static const unsigned armv7_a7_perf_cache_map[PERF_COUNT_HW_CACHE_MAX] - /* - * PMXEVTYPER: Event selection reg - */ --#define ARMV7_EVTYPE_MASK 0xc00000ff /* Mask for writable bits */ -+#define ARMV7_EVTYPE_MASK 0xc80000ff /* Mask for writable bits */ - #define ARMV7_EVTYPE_EVENT 0xff /* Mask for EVENT bits */ - - /* -diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c -index 84f4cbf..58af91c 100644 ---- a/arch/arm/kernel/smp.c -+++ b/arch/arm/kernel/smp.c -@@ -693,6 +693,9 @@ static int cpufreq_callback(struct notifier_block *nb, - if (freq->flags & CPUFREQ_CONST_LOOPS) - return NOTIFY_OK; - -+ if (arm_delay_ops.const_clock) -+ return NOTIFY_OK; -+ - if (!per_cpu(l_p_j_ref, cpu)) { - per_cpu(l_p_j_ref, cpu) = - per_cpu(cpu_data, cpu).loops_per_jiffy; -diff --git a/arch/arm/lib/delay.c b/arch/arm/lib/delay.c -index 0dc5385..6b93f6a 100644 ---- a/arch/arm/lib/delay.c -+++ b/arch/arm/lib/delay.c -@@ -77,6 +77,7 @@ void __init register_current_timer_delay(const struct delay_timer *timer) - arm_delay_ops.delay = __timer_delay; - arm_delay_ops.const_udelay = __timer_const_udelay; - arm_delay_ops.udelay = __timer_udelay; -+ arm_delay_ops.const_clock = true; - delay_calibrated = true; - } else { - pr_info("Ignoring duplicate/late registration of read_current_timer delay\n"); -diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c -index b820eda..db26e2e 100644 ---- a/arch/arm/mm/alignment.c -+++ b/arch/arm/mm/alignment.c -@@ -749,7 +749,6 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs) - unsigned long instr = 0, instrptr; - int (*handler)(unsigned long addr, unsigned long instr, struct pt_regs *regs); - unsigned int type; -- mm_segment_t fs; - unsigned int fault; - u16 tinstr = 0; - int isize = 4; -@@ -760,16 +759,15 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs) - - instrptr = instruction_pointer(regs); - -- fs = get_fs(); -- set_fs(KERNEL_DS); - if (thumb_mode(regs)) { -- fault = __get_user(tinstr, (u16 *)(instrptr & ~1)); -+ u16 *ptr = (u16 *)(instrptr & ~1); -+ fault = probe_kernel_address(ptr, tinstr); - if (!fault) { - if (cpu_architecture() >= CPU_ARCH_ARMv7 && - IS_T32(tinstr)) { - /* Thumb-2 32-bit */ - u16 tinst2 = 0; -- fault = __get_user(tinst2, (u16 *)(instrptr+2)); -+ fault = probe_kernel_address(ptr + 1, tinst2); - instr = (tinstr << 16) | tinst2; - thumb2_32b = 1; - } else { -@@ -778,8 +776,7 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs) - } - } - } else -- fault = __get_user(instr, (u32 *)instrptr); -- set_fs(fs); -+ fault = probe_kernel_address(instrptr, instr); - - if (fault) { - type = TYPE_FAULT; -diff --git a/arch/arm/mm/context.c b/arch/arm/mm/context.c -index bc4a5e9..d07df17 100644 ---- a/arch/arm/mm/context.c -+++ b/arch/arm/mm/context.c -@@ -149,9 +149,9 @@ static int is_reserved_asid(u64 asid) - return 0; - } - --static void new_context(struct mm_struct *mm, unsigned int cpu) -+static u64 new_context(struct mm_struct *mm, unsigned int cpu) - { -- u64 asid = mm->context.id; -+ u64 asid = atomic64_read(&mm->context.id); - u64 generation = atomic64_read(&asid_generation); - - if (asid != 0 && is_reserved_asid(asid)) { -@@ -178,13 +178,14 @@ static void new_context(struct mm_struct *mm, unsigned int cpu) - cpumask_clear(mm_cpumask(mm)); - } - -- mm->context.id = asid; -+ return asid; - } - - void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk) - { - unsigned long flags; - unsigned int cpu = smp_processor_id(); -+ u64 asid; - - if (unlikely(mm->context.vmalloc_seq != init_mm.context.vmalloc_seq)) - __check_vmalloc_seq(mm); -@@ -195,20 +196,24 @@ void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk) - */ - cpu_set_reserved_ttbr0(); - -- if (!((mm->context.id ^ atomic64_read(&asid_generation)) >> ASID_BITS) -- && atomic64_xchg(&per_cpu(active_asids, cpu), mm->context.id)) -+ asid = atomic64_read(&mm->context.id); -+ if (!((asid ^ atomic64_read(&asid_generation)) >> ASID_BITS) -+ && atomic64_xchg(&per_cpu(active_asids, cpu), asid)) - goto switch_mm_fastpath; - - raw_spin_lock_irqsave(&cpu_asid_lock, flags); - /* Check that our ASID belongs to the current generation. */ -- if ((mm->context.id ^ atomic64_read(&asid_generation)) >> ASID_BITS) -- new_context(mm, cpu); -- -- atomic64_set(&per_cpu(active_asids, cpu), mm->context.id); -- cpumask_set_cpu(cpu, mm_cpumask(mm)); -+ asid = atomic64_read(&mm->context.id); -+ if ((asid ^ atomic64_read(&asid_generation)) >> ASID_BITS) { -+ asid = new_context(mm, cpu); -+ atomic64_set(&mm->context.id, asid); -+ } - - if (cpumask_test_and_clear_cpu(cpu, &tlb_flush_pending)) - local_flush_tlb_all(); -+ -+ atomic64_set(&per_cpu(active_asids, cpu), asid); -+ cpumask_set_cpu(cpu, mm_cpumask(mm)); - raw_spin_unlock_irqrestore(&cpu_asid_lock, flags); - - switch_mm_fastpath: -diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c -index 3b44e0d..5dfbb0b 100644 ---- a/arch/arm/vfp/vfpmodule.c -+++ b/arch/arm/vfp/vfpmodule.c -@@ -413,7 +413,7 @@ void VFP_bounce(u32 trigger, u32 fpexc, struct pt_regs *regs) - * If there isn't a second FP instruction, exit now. Note that - * the FPEXC.FP2V bit is valid only if FPEXC.EX is 1. - */ -- if (fpexc ^ (FPEXC_EX | FPEXC_FP2V)) -+ if ((fpexc & (FPEXC_EX | FPEXC_FP2V)) != (FPEXC_EX | FPEXC_FP2V)) - goto exit; - - /* -diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c -index 6da881b..8d97eb4 100644 ---- a/arch/powerpc/kernel/setup_64.c -+++ b/arch/powerpc/kernel/setup_64.c -@@ -156,6 +156,15 @@ early_param("smt-enabled", early_smt_enabled); - #define check_smt_enabled() - #endif /* CONFIG_SMP */ - -+/** Fix up paca fields required for the boot cpu */ -+static void fixup_boot_paca(void) -+{ -+ /* The boot cpu is started */ -+ get_paca()->cpu_start = 1; -+ /* Allow percpu accesses to work until we setup percpu data */ -+ get_paca()->data_offset = 0; -+} -+ - /* - * Early initialization entry point. This is called by head.S - * with MMU translation disabled. We rely on the "feature" of -@@ -185,6 +194,7 @@ void __init early_setup(unsigned long dt_ptr) - /* Assume we're on cpu 0 for now. Don't write to the paca yet! */ - initialise_paca(&boot_paca, 0); - setup_paca(&boot_paca); -+ fixup_boot_paca(); - - /* Initialize lockdep early or else spinlocks will blow */ - lockdep_init(); -@@ -205,11 +215,7 @@ void __init early_setup(unsigned long dt_ptr) - - /* Now we know the logical id of our boot cpu, setup the paca. */ - setup_paca(&paca[boot_cpuid]); -- -- /* Fix up paca fields required for the boot cpu */ -- get_paca()->cpu_start = 1; -- /* Allow percpu accesses to "work" until we setup percpu data */ -- get_paca()->data_offset = 0; -+ fixup_boot_paca(); - - /* Probe the machine type */ - probe_machine(); -diff --git a/arch/tile/include/asm/compat.h b/arch/tile/include/asm/compat.h -index 88f3c22..59e3574 100644 ---- a/arch/tile/include/asm/compat.h -+++ b/arch/tile/include/asm/compat.h -@@ -296,6 +296,9 @@ long compat_sys_sync_file_range2(int fd, unsigned int flags, - long compat_sys_fallocate(int fd, int mode, - u32 offset_lo, u32 offset_hi, - u32 len_lo, u32 len_hi); -+long compat_sys_llseek(unsigned int fd, unsigned int offset_high, -+ unsigned int offset_low, loff_t __user * result, -+ unsigned int origin); - - /* Assembly trampoline to avoid clobbering r0. */ - long _compat_sys_rt_sigreturn(void); -diff --git a/arch/tile/kernel/compat.c b/arch/tile/kernel/compat.c -index 7f72401..d8e3b7e 100644 ---- a/arch/tile/kernel/compat.c -+++ b/arch/tile/kernel/compat.c -@@ -76,6 +76,18 @@ long compat_sys_fallocate(int fd, int mode, - ((loff_t)len_hi << 32) | len_lo); - } - -+/* -+ * Avoid bug in generic sys_llseek() that specifies offset_high and -+ * offset_low as "unsigned long", thus making it possible to pass -+ * a sign-extended high 32 bits in offset_low. -+ */ -+long compat_sys_llseek(unsigned int fd, unsigned int offset_high, -+ unsigned int offset_low, loff_t __user * result, -+ unsigned int origin) -+{ -+ return sys_llseek(fd, offset_high, offset_low, result, origin); -+} -+ - /* Provide the compat syscall number to call mapping. */ - #undef __SYSCALL - #define __SYSCALL(nr, call) [nr] = (call), -@@ -83,6 +95,7 @@ long compat_sys_fallocate(int fd, int mode, - /* See comments in sys.c */ - #define compat_sys_fadvise64_64 sys32_fadvise64_64 - #define compat_sys_readahead sys32_readahead -+#define sys_llseek compat_sys_llseek - - /* Call the assembly trampolines where necessary. */ - #define compat_sys_rt_sigreturn _compat_sys_rt_sigreturn -diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c -index 220a360..5bedbdd 100644 ---- a/arch/x86/kernel/kvmclock.c -+++ b/arch/x86/kernel/kvmclock.c -@@ -218,6 +218,9 @@ static void kvm_shutdown(void) - void __init kvmclock_init(void) - { - unsigned long mem; -+ int size; -+ -+ size = PAGE_ALIGN(sizeof(struct pvclock_vsyscall_time_info)*NR_CPUS); - - if (!kvm_para_available()) - return; -@@ -231,16 +234,14 @@ void __init kvmclock_init(void) - printk(KERN_INFO "kvm-clock: Using msrs %x and %x", - msr_kvm_system_time, msr_kvm_wall_clock); - -- mem = memblock_alloc(sizeof(struct pvclock_vsyscall_time_info)*NR_CPUS, -- PAGE_SIZE); -+ mem = memblock_alloc(size, PAGE_SIZE); - if (!mem) - return; - hv_clock = __va(mem); - - if (kvm_register_clock("boot clock")) { - hv_clock = NULL; -- memblock_free(mem, -- sizeof(struct pvclock_vsyscall_time_info)*NR_CPUS); -+ memblock_free(mem, size); - return; - } - pv_time_ops.sched_clock = kvm_clock_read; -@@ -275,7 +276,7 @@ int __init kvm_setup_vsyscall_timeinfo(void) - struct pvclock_vcpu_time_info *vcpu_time; - unsigned int size; - -- size = sizeof(struct pvclock_vsyscall_time_info)*NR_CPUS; -+ size = PAGE_ALIGN(sizeof(struct pvclock_vsyscall_time_info)*NR_CPUS); - - preempt_disable(); - cpu = smp_processor_id(); -diff --git a/arch/x86/kernel/pvclock.c b/arch/x86/kernel/pvclock.c -index 85c3959..2cb9470 100644 ---- a/arch/x86/kernel/pvclock.c -+++ b/arch/x86/kernel/pvclock.c -@@ -185,7 +185,7 @@ int __init pvclock_init_vsyscall(struct pvclock_vsyscall_time_info *i, - - for (idx = 0; idx <= (PVCLOCK_FIXMAP_END-PVCLOCK_FIXMAP_BEGIN); idx++) { - __set_fixmap(PVCLOCK_FIXMAP_BEGIN + idx, -- __pa_symbol(i) + (idx*PAGE_SIZE), -+ __pa(i) + (idx*PAGE_SIZE), - PAGE_KERNEL_VVAR); - } - -diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c -index 56ab749..94e7662 100644 ---- a/arch/x86/pci/xen.c -+++ b/arch/x86/pci/xen.c -@@ -162,6 +162,9 @@ static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) - struct msi_desc *msidesc; - int *v; - -+ if (type == PCI_CAP_ID_MSI && nvec > 1) -+ return 1; -+ - v = kzalloc(sizeof(int) * max(1, nvec), GFP_KERNEL); - if (!v) - return -ENOMEM; -@@ -220,6 +223,9 @@ static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) - struct msi_desc *msidesc; - struct msi_msg msg; - -+ if (type == PCI_CAP_ID_MSI && nvec > 1) -+ return 1; -+ - list_for_each_entry(msidesc, &dev->msi_list, list) { - __read_msi_msg(msidesc, &msg); - pirq = MSI_ADDR_EXT_DEST_ID(msg.address_hi) | -@@ -263,6 +269,9 @@ static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) - int ret = 0; - struct msi_desc *msidesc; - -+ if (type == PCI_CAP_ID_MSI && nvec > 1) -+ return 1; -+ - list_for_each_entry(msidesc, &dev->msi_list, list) { - struct physdev_map_pirq map_irq; - domid_t domid; -diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c -index e014092..2262003 100644 ---- a/arch/x86/xen/enlighten.c -+++ b/arch/x86/xen/enlighten.c -@@ -67,6 +67,7 @@ - #include <asm/hypervisor.h> - #include <asm/mwait.h> - #include <asm/pci_x86.h> -+#include <asm/pat.h> - - #ifdef CONFIG_ACPI - #include <linux/acpi.h> -@@ -1417,7 +1418,14 @@ asmlinkage void __init xen_start_kernel(void) - */ - acpi_numa = -1; - #endif -- -+#ifdef CONFIG_X86_PAT -+ /* -+ * For right now disable the PAT. We should remove this once -+ * git commit 8eaffa67b43e99ae581622c5133e20b0f48bcef1 -+ * (xen/pat: Disable PAT support for now) is reverted. -+ */ -+ pat_enabled = 0; -+#endif - /* Don't do the full vcpu_info placement stuff until we have a - possible map and a non-dummy shared_info. */ - per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0]; -diff --git a/crypto/ablkcipher.c b/crypto/ablkcipher.c -index 533de95..7d4a8d2 100644 ---- a/crypto/ablkcipher.c -+++ b/crypto/ablkcipher.c -@@ -388,9 +388,9 @@ static int crypto_ablkcipher_report(struct sk_buff *skb, struct crypto_alg *alg) - { - struct crypto_report_blkcipher rblkcipher; - -- snprintf(rblkcipher.type, CRYPTO_MAX_ALG_NAME, "%s", "ablkcipher"); -- snprintf(rblkcipher.geniv, CRYPTO_MAX_ALG_NAME, "%s", -- alg->cra_ablkcipher.geniv ?: "<default>"); -+ strncpy(rblkcipher.type, "ablkcipher", sizeof(rblkcipher.type)); -+ strncpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "<default>", -+ sizeof(rblkcipher.geniv)); - - rblkcipher.blocksize = alg->cra_blocksize; - rblkcipher.min_keysize = alg->cra_ablkcipher.min_keysize; -@@ -469,9 +469,9 @@ static int crypto_givcipher_report(struct sk_buff *skb, struct crypto_alg *alg) - { - struct crypto_report_blkcipher rblkcipher; - -- snprintf(rblkcipher.type, CRYPTO_MAX_ALG_NAME, "%s", "givcipher"); -- snprintf(rblkcipher.geniv, CRYPTO_MAX_ALG_NAME, "%s", -- alg->cra_ablkcipher.geniv ?: "<built-in>"); -+ strncpy(rblkcipher.type, "givcipher", sizeof(rblkcipher.type)); -+ strncpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "<built-in>", -+ sizeof(rblkcipher.geniv)); - - rblkcipher.blocksize = alg->cra_blocksize; - rblkcipher.min_keysize = alg->cra_ablkcipher.min_keysize; -diff --git a/crypto/aead.c b/crypto/aead.c -index 0b8121e..27bc487 100644 ---- a/crypto/aead.c -+++ b/crypto/aead.c -@@ -117,9 +117,8 @@ static int crypto_aead_report(struct sk_buff *skb, struct crypto_alg *alg) - struct crypto_report_aead raead; - struct aead_alg *aead = &alg->cra_aead; - -- snprintf(raead.type, CRYPTO_MAX_ALG_NAME, "%s", "aead"); -- snprintf(raead.geniv, CRYPTO_MAX_ALG_NAME, "%s", -- aead->geniv ?: "<built-in>"); -+ strncpy(raead.type, "aead", sizeof(raead.type)); -+ strncpy(raead.geniv, aead->geniv ?: "<built-in>", sizeof(raead.geniv)); - - raead.blocksize = alg->cra_blocksize; - raead.maxauthsize = aead->maxauthsize; -@@ -203,8 +202,8 @@ static int crypto_nivaead_report(struct sk_buff *skb, struct crypto_alg *alg) - struct crypto_report_aead raead; - struct aead_alg *aead = &alg->cra_aead; - -- snprintf(raead.type, CRYPTO_MAX_ALG_NAME, "%s", "nivaead"); -- snprintf(raead.geniv, CRYPTO_MAX_ALG_NAME, "%s", aead->geniv); -+ strncpy(raead.type, "nivaead", sizeof(raead.type)); -+ strncpy(raead.geniv, aead->geniv, sizeof(raead.geniv)); - - raead.blocksize = alg->cra_blocksize; - raead.maxauthsize = aead->maxauthsize; -diff --git a/crypto/ahash.c b/crypto/ahash.c -index 3887856..793a27f 100644 ---- a/crypto/ahash.c -+++ b/crypto/ahash.c -@@ -404,7 +404,7 @@ static int crypto_ahash_report(struct sk_buff *skb, struct crypto_alg *alg) - { - struct crypto_report_hash rhash; - -- snprintf(rhash.type, CRYPTO_MAX_ALG_NAME, "%s", "ahash"); -+ strncpy(rhash.type, "ahash", sizeof(rhash.type)); - - rhash.blocksize = alg->cra_blocksize; - rhash.digestsize = __crypto_hash_alg_common(alg)->digestsize; -diff --git a/crypto/blkcipher.c b/crypto/blkcipher.c -index a8d85a1..c44e014 100644 ---- a/crypto/blkcipher.c -+++ b/crypto/blkcipher.c -@@ -499,9 +499,9 @@ static int crypto_blkcipher_report(struct sk_buff *skb, struct crypto_alg *alg) - { - struct crypto_report_blkcipher rblkcipher; - -- snprintf(rblkcipher.type, CRYPTO_MAX_ALG_NAME, "%s", "blkcipher"); -- snprintf(rblkcipher.geniv, CRYPTO_MAX_ALG_NAME, "%s", -- alg->cra_blkcipher.geniv ?: "<default>"); -+ strncpy(rblkcipher.type, "blkcipher", sizeof(rblkcipher.type)); -+ strncpy(rblkcipher.geniv, alg->cra_blkcipher.geniv ?: "<default>", -+ sizeof(rblkcipher.geniv)); - - rblkcipher.blocksize = alg->cra_blocksize; - rblkcipher.min_keysize = alg->cra_blkcipher.min_keysize; -diff --git a/crypto/crypto_user.c b/crypto/crypto_user.c -index 35d700a..f6d9baf 100644 ---- a/crypto/crypto_user.c -+++ b/crypto/crypto_user.c -@@ -75,7 +75,7 @@ static int crypto_report_cipher(struct sk_buff *skb, struct crypto_alg *alg) - { - struct crypto_report_cipher rcipher; - -- snprintf(rcipher.type, CRYPTO_MAX_ALG_NAME, "%s", "cipher"); -+ strncpy(rcipher.type, "cipher", sizeof(rcipher.type)); - - rcipher.blocksize = alg->cra_blocksize; - rcipher.min_keysize = alg->cra_cipher.cia_min_keysize; -@@ -94,8 +94,7 @@ static int crypto_report_comp(struct sk_buff *skb, struct crypto_alg *alg) - { - struct crypto_report_comp rcomp; - -- snprintf(rcomp.type, CRYPTO_MAX_ALG_NAME, "%s", "compression"); -- -+ strncpy(rcomp.type, "compression", sizeof(rcomp.type)); - if (nla_put(skb, CRYPTOCFGA_REPORT_COMPRESS, - sizeof(struct crypto_report_comp), &rcomp)) - goto nla_put_failure; -@@ -108,12 +107,14 @@ nla_put_failure: - static int crypto_report_one(struct crypto_alg *alg, - struct crypto_user_alg *ualg, struct sk_buff *skb) - { -- memcpy(&ualg->cru_name, &alg->cra_name, sizeof(ualg->cru_name)); -- memcpy(&ualg->cru_driver_name, &alg->cra_driver_name, -- sizeof(ualg->cru_driver_name)); -- memcpy(&ualg->cru_module_name, module_name(alg->cra_module), -- CRYPTO_MAX_ALG_NAME); -- -+ strncpy(ualg->cru_name, alg->cra_name, sizeof(ualg->cru_name)); -+ strncpy(ualg->cru_driver_name, alg->cra_driver_name, -+ sizeof(ualg->cru_driver_name)); -+ strncpy(ualg->cru_module_name, module_name(alg->cra_module), -+ sizeof(ualg->cru_module_name)); -+ -+ ualg->cru_type = 0; -+ ualg->cru_mask = 0; - ualg->cru_flags = alg->cra_flags; - ualg->cru_refcnt = atomic_read(&alg->cra_refcnt); - -@@ -122,8 +123,7 @@ static int crypto_report_one(struct crypto_alg *alg, - if (alg->cra_flags & CRYPTO_ALG_LARVAL) { - struct crypto_report_larval rl; - -- snprintf(rl.type, CRYPTO_MAX_ALG_NAME, "%s", "larval"); -- -+ strncpy(rl.type, "larval", sizeof(rl.type)); - if (nla_put(skb, CRYPTOCFGA_REPORT_LARVAL, - sizeof(struct crypto_report_larval), &rl)) - goto nla_put_failure; -diff --git a/crypto/pcompress.c b/crypto/pcompress.c -index 04e083f..7140fe7 100644 ---- a/crypto/pcompress.c -+++ b/crypto/pcompress.c -@@ -53,8 +53,7 @@ static int crypto_pcomp_report(struct sk_buff *skb, struct crypto_alg *alg) - { - struct crypto_report_comp rpcomp; - -- snprintf(rpcomp.type, CRYPTO_MAX_ALG_NAME, "%s", "pcomp"); -- -+ strncpy(rpcomp.type, "pcomp", sizeof(rpcomp.type)); - if (nla_put(skb, CRYPTOCFGA_REPORT_COMPRESS, - sizeof(struct crypto_report_comp), &rpcomp)) - goto nla_put_failure; -diff --git a/crypto/rng.c b/crypto/rng.c -index f3b7894..e0a25c2 100644 ---- a/crypto/rng.c -+++ b/crypto/rng.c -@@ -65,7 +65,7 @@ static int crypto_rng_report(struct sk_buff *skb, struct crypto_alg *alg) - { - struct crypto_report_rng rrng; - -- snprintf(rrng.type, CRYPTO_MAX_ALG_NAME, "%s", "rng"); -+ strncpy(rrng.type, "rng", sizeof(rrng.type)); - - rrng.seedsize = alg->cra_rng.seedsize; - -diff --git a/crypto/shash.c b/crypto/shash.c -index f426330f..929058a 100644 ---- a/crypto/shash.c -+++ b/crypto/shash.c -@@ -530,7 +530,8 @@ static int crypto_shash_report(struct sk_buff *skb, struct crypto_alg *alg) - struct crypto_report_hash rhash; - struct shash_alg *salg = __crypto_shash_alg(alg); - -- snprintf(rhash.type, CRYPTO_MAX_ALG_NAME, "%s", "shash"); -+ strncpy(rhash.type, "shash", sizeof(rhash.type)); -+ - rhash.blocksize = alg->cra_blocksize; - rhash.digestsize = salg->digestsize; - -diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c -index de1f319..e34a7b4 100644 ---- a/drivers/block/xen-blkback/blkback.c -+++ b/drivers/block/xen-blkback/blkback.c -@@ -881,6 +881,7 @@ static int dispatch_rw_block_io(struct xen_blkif *blkif, - goto fail_response; - } - -+ preq.dev = req->u.rw.handle; - preq.sector_number = req->u.rw.sector_number; - preq.nr_sects = 0; - -diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c -index 1bafb40..69ae597 100644 ---- a/drivers/char/hw_random/core.c -+++ b/drivers/char/hw_random/core.c -@@ -40,6 +40,7 @@ - #include <linux/init.h> - #include <linux/miscdevice.h> - #include <linux/delay.h> -+#include <linux/slab.h> - #include <asm/uaccess.h> - - -@@ -52,8 +53,12 @@ static struct hwrng *current_rng; - static LIST_HEAD(rng_list); - static DEFINE_MUTEX(rng_mutex); - static int data_avail; --static u8 rng_buffer[SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES] -- __cacheline_aligned; -+static u8 *rng_buffer; -+ -+static size_t rng_buffer_size(void) -+{ -+ return SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES; -+} - - static inline int hwrng_init(struct hwrng *rng) - { -@@ -116,7 +121,7 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf, - - if (!data_avail) { - bytes_read = rng_get_data(current_rng, rng_buffer, -- sizeof(rng_buffer), -+ rng_buffer_size(), - !(filp->f_flags & O_NONBLOCK)); - if (bytes_read < 0) { - err = bytes_read; -@@ -307,6 +312,14 @@ int hwrng_register(struct hwrng *rng) - - mutex_lock(&rng_mutex); - -+ /* kmalloc makes this safe for virt_to_page() in virtio_rng.c */ -+ err = -ENOMEM; -+ if (!rng_buffer) { -+ rng_buffer = kmalloc(rng_buffer_size(), GFP_KERNEL); -+ if (!rng_buffer) -+ goto out_unlock; -+ } -+ - /* Must not register two RNGs with the same name. */ - err = -EEXIST; - list_for_each_entry(tmp, &rng_list, list) { -diff --git a/drivers/char/random.c b/drivers/char/random.c -index 85e81ec..57d4b15 100644 ---- a/drivers/char/random.c -+++ b/drivers/char/random.c -@@ -852,6 +852,7 @@ static size_t account(struct entropy_store *r, size_t nbytes, int min, - int reserved) - { - unsigned long flags; -+ int wakeup_write = 0; - - /* Hold lock while accounting */ - spin_lock_irqsave(&r->lock, flags); -@@ -873,10 +874,8 @@ static size_t account(struct entropy_store *r, size_t nbytes, int min, - else - r->entropy_count = reserved; - -- if (r->entropy_count < random_write_wakeup_thresh) { -- wake_up_interruptible(&random_write_wait); -- kill_fasync(&fasync, SIGIO, POLL_OUT); -- } -+ if (r->entropy_count < random_write_wakeup_thresh) -+ wakeup_write = 1; - } - - DEBUG_ENT("debiting %zu entropy credits from %s%s\n", -@@ -884,6 +883,11 @@ static size_t account(struct entropy_store *r, size_t nbytes, int min, - - spin_unlock_irqrestore(&r->lock, flags); - -+ if (wakeup_write) { -+ wake_up_interruptible(&random_write_wait); -+ kill_fasync(&fasync, SIGIO, POLL_OUT); -+ } -+ - return nbytes; - } - -diff --git a/drivers/connector/cn_proc.c b/drivers/connector/cn_proc.c -index fce2000..1110478 100644 ---- a/drivers/connector/cn_proc.c -+++ b/drivers/connector/cn_proc.c -@@ -313,6 +313,12 @@ static void cn_proc_mcast_ctl(struct cn_msg *msg, - (task_active_pid_ns(current) != &init_pid_ns)) - return; - -+ /* Can only change if privileged. */ -+ if (!capable(CAP_NET_ADMIN)) { -+ err = EPERM; -+ goto out; -+ } -+ - mc_op = (enum proc_cn_mcast_op *)msg->data; - switch (*mc_op) { - case PROC_CN_MCAST_LISTEN: -@@ -325,6 +331,8 @@ static void cn_proc_mcast_ctl(struct cn_msg *msg, - err = EINVAL; - break; - } -+ -+out: - cn_proc_ack(err, msg->seq, msg->ack); - } - -diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c -index 982f1f5..4cd392d 100644 ---- a/drivers/firmware/dmi_scan.c -+++ b/drivers/firmware/dmi_scan.c -@@ -442,7 +442,6 @@ static int __init dmi_present(const char __iomem *p) - static int __init smbios_present(const char __iomem *p) - { - u8 buf[32]; -- int offset = 0; - - memcpy_fromio(buf, p, 32); - if ((buf[5] < 32) && dmi_checksum(buf, buf[5])) { -@@ -461,9 +460,9 @@ static int __init smbios_present(const char __iomem *p) - dmi_ver = 0x0206; - break; - } -- offset = 16; -+ return memcmp(p + 16, "_DMI_", 5) || dmi_present(p + 16); - } -- return dmi_present(buf + offset); -+ return 1; - } - - void __init dmi_scan_machine(void) -diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c -index bcb201c..2a2e145 100644 ---- a/drivers/firmware/efivars.c -+++ b/drivers/firmware/efivars.c -@@ -406,10 +406,11 @@ static efi_status_t - get_var_data(struct efivars *efivars, struct efi_variable *var) - { - efi_status_t status; -+ unsigned long flags; - -- spin_lock(&efivars->lock); -+ spin_lock_irqsave(&efivars->lock, flags); - status = get_var_data_locked(efivars, var); -- spin_unlock(&efivars->lock); -+ spin_unlock_irqrestore(&efivars->lock, flags); - - if (status != EFI_SUCCESS) { - printk(KERN_WARNING "efivars: get_variable() failed 0x%lx!\n", -@@ -418,6 +419,44 @@ get_var_data(struct efivars *efivars, struct efi_variable *var) - return status; - } - -+static efi_status_t -+check_var_size_locked(struct efivars *efivars, u32 attributes, -+ unsigned long size) -+{ -+ u64 storage_size, remaining_size, max_size; -+ efi_status_t status; -+ const struct efivar_operations *fops = efivars->ops; -+ -+ if (!efivars->ops->query_variable_info) -+ return EFI_UNSUPPORTED; -+ -+ status = fops->query_variable_info(attributes, &storage_size, -+ &remaining_size, &max_size); -+ -+ if (status != EFI_SUCCESS) -+ return status; -+ -+ if (!storage_size || size > remaining_size || size > max_size || -+ (remaining_size - size) < (storage_size / 2)) -+ return EFI_OUT_OF_RESOURCES; -+ -+ return status; -+} -+ -+ -+static efi_status_t -+check_var_size(struct efivars *efivars, u32 attributes, unsigned long size) -+{ -+ efi_status_t status; -+ unsigned long flags; -+ -+ spin_lock_irqsave(&efivars->lock, flags); -+ status = check_var_size_locked(efivars, attributes, size); -+ spin_unlock_irqrestore(&efivars->lock, flags); -+ -+ return status; -+} -+ - static ssize_t - efivar_guid_read(struct efivar_entry *entry, char *buf) - { -@@ -538,14 +577,19 @@ efivar_store_raw(struct efivar_entry *entry, const char *buf, size_t count) - return -EINVAL; - } - -- spin_lock(&efivars->lock); -- status = efivars->ops->set_variable(new_var->VariableName, -- &new_var->VendorGuid, -- new_var->Attributes, -- new_var->DataSize, -- new_var->Data); -+ spin_lock_irq(&efivars->lock); -+ -+ status = check_var_size_locked(efivars, new_var->Attributes, -+ new_var->DataSize + utf16_strsize(new_var->VariableName, 1024)); - -- spin_unlock(&efivars->lock); -+ if (status == EFI_SUCCESS || status == EFI_UNSUPPORTED) -+ status = efivars->ops->set_variable(new_var->VariableName, -+ &new_var->VendorGuid, -+ new_var->Attributes, -+ new_var->DataSize, -+ new_var->Data); -+ -+ spin_unlock_irq(&efivars->lock); - - if (status != EFI_SUCCESS) { - printk(KERN_WARNING "efivars: set_variable() failed: status=%lx\n", -@@ -694,8 +738,7 @@ static ssize_t efivarfs_file_write(struct file *file, - u32 attributes; - struct inode *inode = file->f_mapping->host; - unsigned long datasize = count - sizeof(attributes); -- unsigned long newdatasize; -- u64 storage_size, remaining_size, max_size; -+ unsigned long newdatasize, varsize; - ssize_t bytes = 0; - - if (count < sizeof(attributes)) -@@ -714,28 +757,18 @@ static ssize_t efivarfs_file_write(struct file *file, - * amounts of memory. Pick a default size of 64K if - * QueryVariableInfo() isn't supported by the firmware. - */ -- spin_lock(&efivars->lock); - -- if (!efivars->ops->query_variable_info) -- status = EFI_UNSUPPORTED; -- else { -- const struct efivar_operations *fops = efivars->ops; -- status = fops->query_variable_info(attributes, &storage_size, -- &remaining_size, &max_size); -- } -- -- spin_unlock(&efivars->lock); -+ varsize = datasize + utf16_strsize(var->var.VariableName, 1024); -+ status = check_var_size(efivars, attributes, varsize); - - if (status != EFI_SUCCESS) { - if (status != EFI_UNSUPPORTED) - return efi_status_to_err(status); - -- remaining_size = 65536; -+ if (datasize > 65536) -+ return -ENOSPC; - } - -- if (datasize > remaining_size) -- return -ENOSPC; -- - data = kmalloc(datasize, GFP_KERNEL); - if (!data) - return -ENOMEM; -@@ -755,7 +788,20 @@ static ssize_t efivarfs_file_write(struct file *file, - * set_variable call, and removal of the variable from the efivars - * list (in the case of an authenticated delete). - */ -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); -+ -+ /* -+ * Ensure that the available space hasn't shrunk below the safe level -+ */ -+ -+ status = check_var_size_locked(efivars, attributes, varsize); -+ -+ if (status != EFI_SUCCESS && status != EFI_UNSUPPORTED) { -+ spin_unlock_irq(&efivars->lock); -+ kfree(data); -+ -+ return efi_status_to_err(status); -+ } - - status = efivars->ops->set_variable(var->var.VariableName, - &var->var.VendorGuid, -@@ -763,7 +809,7 @@ static ssize_t efivarfs_file_write(struct file *file, - data); - - if (status != EFI_SUCCESS) { -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - kfree(data); - - return efi_status_to_err(status); -@@ -784,21 +830,21 @@ static ssize_t efivarfs_file_write(struct file *file, - NULL); - - if (status == EFI_BUFFER_TOO_SMALL) { -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - mutex_lock(&inode->i_mutex); - i_size_write(inode, newdatasize + sizeof(attributes)); - mutex_unlock(&inode->i_mutex); - - } else if (status == EFI_NOT_FOUND) { - list_del(&var->list); -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - efivar_unregister(var); - drop_nlink(inode); - d_delete(file->f_dentry); - dput(file->f_dentry); - - } else { -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - pr_warn("efivarfs: inconsistent EFI variable implementation? " - "status = %lx\n", status); - } -@@ -820,11 +866,11 @@ static ssize_t efivarfs_file_read(struct file *file, char __user *userbuf, - void *data; - ssize_t size = 0; - -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - status = efivars->ops->get_variable(var->var.VariableName, - &var->var.VendorGuid, - &attributes, &datasize, NULL); -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - - if (status != EFI_BUFFER_TOO_SMALL) - return efi_status_to_err(status); -@@ -834,12 +880,12 @@ static ssize_t efivarfs_file_read(struct file *file, char __user *userbuf, - if (!data) - return -ENOMEM; - -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - status = efivars->ops->get_variable(var->var.VariableName, - &var->var.VendorGuid, - &attributes, &datasize, - (data + sizeof(attributes))); -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - - if (status != EFI_SUCCESS) { - size = efi_status_to_err(status); -@@ -921,8 +967,8 @@ static bool efivarfs_valid_name(const char *str, int len) - if (len < GUID_LEN + 2) - return false; - -- /* GUID should be right after the first '-' */ -- if (s - 1 != strchr(str, '-')) -+ /* GUID must be preceded by a '-' */ -+ if (*(s - 1) != '-') - return false; - - /* -@@ -1005,9 +1051,9 @@ static int efivarfs_create(struct inode *dir, struct dentry *dentry, - goto out; - - kobject_uevent(&var->kobj, KOBJ_ADD); -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - list_add(&var->list, &efivars->list); -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - d_instantiate(dentry, inode); - dget(dentry); - out: -@@ -1024,7 +1070,7 @@ static int efivarfs_unlink(struct inode *dir, struct dentry *dentry) - struct efivars *efivars = var->efivars; - efi_status_t status; - -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - - status = efivars->ops->set_variable(var->var.VariableName, - &var->var.VendorGuid, -@@ -1032,14 +1078,14 @@ static int efivarfs_unlink(struct inode *dir, struct dentry *dentry) - - if (status == EFI_SUCCESS || status == EFI_NOT_FOUND) { - list_del(&var->list); -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - efivar_unregister(var); - drop_nlink(dentry->d_inode); - dput(dentry); - return 0; - } - -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - return -EINVAL; - }; - -@@ -1110,15 +1156,22 @@ static struct dentry_operations efivarfs_d_ops = { - - static struct dentry *efivarfs_alloc_dentry(struct dentry *parent, char *name) - { -+ struct dentry *d; - struct qstr q; -+ int err; - - q.name = name; - q.len = strlen(name); - -- if (efivarfs_d_hash(NULL, NULL, &q)) -- return NULL; -+ err = efivarfs_d_hash(NULL, NULL, &q); -+ if (err) -+ return ERR_PTR(err); - -- return d_alloc(parent, &q); -+ d = d_alloc(parent, &q); -+ if (d) -+ return d; -+ -+ return ERR_PTR(-ENOMEM); - } - - static int efivarfs_fill_super(struct super_block *sb, void *data, int silent) -@@ -1128,6 +1181,7 @@ static int efivarfs_fill_super(struct super_block *sb, void *data, int silent) - struct efivar_entry *entry, *n; - struct efivars *efivars = &__efivars; - char *name; -+ int err = -ENOMEM; - - efivarfs_sb = sb; - -@@ -1178,19 +1232,21 @@ static int efivarfs_fill_super(struct super_block *sb, void *data, int silent) - goto fail_name; - - dentry = efivarfs_alloc_dentry(root, name); -- if (!dentry) -+ if (IS_ERR(dentry)) { -+ err = PTR_ERR(dentry); - goto fail_inode; -+ } - - /* copied by the above to local storage in the dentry. */ - kfree(name); - -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - efivars->ops->get_variable(entry->var.VariableName, - &entry->var.VendorGuid, - &entry->var.Attributes, - &size, - NULL); -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - - mutex_lock(&inode->i_mutex); - inode->i_private = entry; -@@ -1206,7 +1262,7 @@ fail_inode: - fail_name: - kfree(name); - fail: -- return -ENOMEM; -+ return err; - } - - static struct dentry *efivarfs_mount(struct file_system_type *fs_type, -@@ -1253,7 +1309,7 @@ static int efi_pstore_open(struct pstore_info *psi) - { - struct efivars *efivars = psi->data; - -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - efivars->walk_entry = list_first_entry(&efivars->list, - struct efivar_entry, list); - return 0; -@@ -1263,7 +1319,7 @@ static int efi_pstore_close(struct pstore_info *psi) - { - struct efivars *efivars = psi->data; - -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - return 0; - } - -@@ -1337,22 +1393,22 @@ static int efi_pstore_write(enum pstore_type_id type, - efi_guid_t vendor = LINUX_EFI_CRASH_GUID; - struct efivars *efivars = psi->data; - int i, ret = 0; -- u64 storage_space, remaining_space, max_variable_size; - efi_status_t status = EFI_NOT_FOUND; -+ unsigned long flags; - -- spin_lock(&efivars->lock); -+ 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 - */ -- status = efivars->ops->query_variable_info(PSTORE_EFI_ATTRIBUTES, -- &storage_space, -- &remaining_space, -- &max_variable_size); -- if (status || remaining_space < size + DUMP_NAME_LEN * 2) { -- spin_unlock(&efivars->lock); -+ -+ 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; - } -@@ -1366,7 +1422,7 @@ static int efi_pstore_write(enum pstore_type_id type, - efivars->ops->set_variable(efi_name, &vendor, PSTORE_EFI_ATTRIBUTES, - size, psi->buf); - -- spin_unlock(&efivars->lock); -+ spin_unlock_irqrestore(&efivars->lock, flags); - - if (size) - ret = efivar_create_sysfs_entry(efivars, -@@ -1393,7 +1449,7 @@ static int efi_pstore_erase(enum pstore_type_id type, u64 id, int count, - sprintf(name, "dump-type%u-%u-%d-%lu", type, (unsigned int)id, count, - time.tv_sec); - -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - - for (i = 0; i < DUMP_NAME_LEN; i++) - efi_name[i] = name[i]; -@@ -1437,7 +1493,7 @@ static int efi_pstore_erase(enum pstore_type_id type, u64 id, int count, - if (found) - list_del(&found->list); - -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - - if (found) - efivar_unregister(found); -@@ -1507,7 +1563,7 @@ static ssize_t efivar_create(struct file *filp, struct kobject *kobj, - return -EINVAL; - } - -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - - /* - * Does this variable already exist? -@@ -1525,10 +1581,18 @@ static ssize_t efivar_create(struct file *filp, struct kobject *kobj, - } - } - if (found) { -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - return -EINVAL; - } - -+ status = check_var_size_locked(efivars, new_var->Attributes, -+ new_var->DataSize + utf16_strsize(new_var->VariableName, 1024)); -+ -+ if (status && status != EFI_UNSUPPORTED) { -+ spin_unlock_irq(&efivars->lock); -+ return efi_status_to_err(status); -+ } -+ - /* now *really* create the variable via EFI */ - status = efivars->ops->set_variable(new_var->VariableName, - &new_var->VendorGuid, -@@ -1539,10 +1603,10 @@ static ssize_t efivar_create(struct file *filp, struct kobject *kobj, - if (status != EFI_SUCCESS) { - printk(KERN_WARNING "efivars: set_variable() failed: status=%lx\n", - status); -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - return -EIO; - } -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - - /* Create the entry in sysfs. Locking is not required here */ - status = efivar_create_sysfs_entry(efivars, -@@ -1570,7 +1634,7 @@ static ssize_t efivar_delete(struct file *filp, struct kobject *kobj, - if (!capable(CAP_SYS_ADMIN)) - return -EACCES; - -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - - /* - * Does this variable already exist? -@@ -1588,7 +1652,7 @@ static ssize_t efivar_delete(struct file *filp, struct kobject *kobj, - } - } - if (!found) { -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - return -EINVAL; - } - /* force the Attributes/DataSize to 0 to ensure deletion */ -@@ -1604,12 +1668,12 @@ static ssize_t efivar_delete(struct file *filp, struct kobject *kobj, - if (status != EFI_SUCCESS) { - printk(KERN_WARNING "efivars: set_variable() failed: status=%lx\n", - status); -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - return -EIO; - } - list_del(&search_efivar->list); - /* We need to release this lock before unregistering. */ -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - efivar_unregister(search_efivar); - - /* It's dead Jim.... */ -@@ -1724,9 +1788,9 @@ efivar_create_sysfs_entry(struct efivars *efivars, - kfree(short_name); - short_name = NULL; - -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - list_add(&new_efivar->list, &efivars->list); -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - - return 0; - } -@@ -1795,9 +1859,9 @@ void unregister_efivars(struct efivars *efivars) - struct efivar_entry *entry, *n; - - list_for_each_entry_safe(entry, n, &efivars->list, list) { -- spin_lock(&efivars->lock); -+ spin_lock_irq(&efivars->lock); - list_del(&entry->list); -- spin_unlock(&efivars->lock); -+ spin_unlock_irq(&efivars->lock); - efivar_unregister(entry); - } - if (efivars->new_var) -diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c -index 6819d63..456663c 100644 ---- a/drivers/gpio/gpio-mvebu.c -+++ b/drivers/gpio/gpio-mvebu.c -@@ -41,6 +41,7 @@ - #include <linux/io.h> - #include <linux/of_irq.h> - #include <linux/of_device.h> -+#include <linux/clk.h> - #include <linux/pinctrl/consumer.h> - - /* -@@ -495,6 +496,7 @@ static int mvebu_gpio_probe(struct platform_device *pdev) - struct resource *res; - struct irq_chip_generic *gc; - struct irq_chip_type *ct; -+ struct clk *clk; - unsigned int ngpios; - int soc_variant; - int i, cpu, id; -@@ -528,6 +530,11 @@ static int mvebu_gpio_probe(struct platform_device *pdev) - return id; - } - -+ clk = devm_clk_get(&pdev->dev, NULL); -+ /* Not all SoCs require a clock.*/ -+ if (!IS_ERR(clk)) -+ clk_prepare_enable(clk); -+ - mvchip->soc_variant = soc_variant; - mvchip->chip.label = dev_name(&pdev->dev); - mvchip->chip.dev = &pdev->dev; -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 99daa89..5206f24 100644 ---- a/drivers/gpu/drm/i915/i915_dma.c -+++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1297,19 +1297,21 @@ 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_gem_stolen; -- -- intel_modeset_gem_init(dev); -+ goto cleanup_irq; - - INIT_WORK(&dev_priv->console_resume_work, intel_console_resume); - -- ret = drm_irq_install(dev); -- if (ret) -- goto cleanup_gem; -+ intel_modeset_gem_init(dev); - - /* Always safe in the mode setting case. */ - /* FIXME: do pre/post-mode set stuff in core KMS code */ -@@ -1317,7 +1319,10 @@ static int i915_load_modeset_init(struct drm_device *dev) - - ret = intel_fbdev_init(dev); - if (ret) -- goto cleanup_irq; -+ goto cleanup_gem; -+ -+ /* Only enable hotplug handling once the fbdev is fully set up. */ -+ dev_priv->enable_hotplug_processing = true; - - drm_kms_helper_poll_init(dev); - -@@ -1326,13 +1331,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 1172658..fb6454c 100644 ---- a/drivers/gpu/drm/i915/i915_drv.c -+++ b/drivers/gpu/drm/i915/i915_drv.c -@@ -377,15 +377,15 @@ static const struct pci_device_id pciidlist[] = { /* aka */ - INTEL_VGA_DEVICE(0x0A06, &intel_haswell_m_info), /* ULT GT1 mobile */ - INTEL_VGA_DEVICE(0x0A16, &intel_haswell_m_info), /* ULT GT2 mobile */ - INTEL_VGA_DEVICE(0x0A26, &intel_haswell_m_info), /* ULT GT2 mobile */ -- INTEL_VGA_DEVICE(0x0D12, &intel_haswell_d_info), /* CRW GT1 desktop */ -+ INTEL_VGA_DEVICE(0x0D02, &intel_haswell_d_info), /* CRW GT1 desktop */ -+ INTEL_VGA_DEVICE(0x0D12, &intel_haswell_d_info), /* CRW GT2 desktop */ - INTEL_VGA_DEVICE(0x0D22, &intel_haswell_d_info), /* CRW GT2 desktop */ -- INTEL_VGA_DEVICE(0x0D32, &intel_haswell_d_info), /* CRW GT2 desktop */ -- INTEL_VGA_DEVICE(0x0D1A, &intel_haswell_d_info), /* CRW GT1 server */ -+ INTEL_VGA_DEVICE(0x0D0A, &intel_haswell_d_info), /* CRW GT1 server */ -+ INTEL_VGA_DEVICE(0x0D1A, &intel_haswell_d_info), /* CRW GT2 server */ - INTEL_VGA_DEVICE(0x0D2A, &intel_haswell_d_info), /* CRW GT2 server */ -- INTEL_VGA_DEVICE(0x0D3A, &intel_haswell_d_info), /* CRW GT2 server */ -- INTEL_VGA_DEVICE(0x0D16, &intel_haswell_m_info), /* CRW GT1 mobile */ -+ INTEL_VGA_DEVICE(0x0D06, &intel_haswell_m_info), /* CRW GT1 mobile */ -+ INTEL_VGA_DEVICE(0x0D16, &intel_haswell_m_info), /* CRW GT2 mobile */ - INTEL_VGA_DEVICE(0x0D26, &intel_haswell_m_info), /* CRW GT2 mobile */ -- INTEL_VGA_DEVICE(0x0D36, &intel_haswell_m_info), /* CRW GT2 mobile */ - INTEL_VGA_DEVICE(0x0f30, &intel_valleyview_m_info), - INTEL_VGA_DEVICE(0x0157, &intel_valleyview_m_info), - INTEL_VGA_DEVICE(0x0155, &intel_valleyview_d_info), -@@ -486,6 +486,7 @@ 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); -@@ -562,9 +563,19 @@ 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); -- drm_irq_install(dev); -+ -+ /* -+ * ... 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; - } - - intel_opregion_init(dev); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 7339a4b..66ad64f 100644 ---- a/drivers/gpu/drm/i915/i915_drv.h -+++ b/drivers/gpu/drm/i915/i915_drv.h -@@ -672,6 +672,7 @@ 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 fe84338..3c00403 100644 ---- a/drivers/gpu/drm/i915/i915_irq.c -+++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -287,6 +287,10 @@ 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/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c -index 06b1786..b52ed09 100644 ---- a/drivers/gpu/drm/i915/intel_crt.c -+++ b/drivers/gpu/drm/i915/intel_crt.c -@@ -88,7 +88,7 @@ static void intel_disable_crt(struct intel_encoder *encoder) - u32 temp; - - temp = I915_READ(crt->adpa_reg); -- temp &= ~(ADPA_HSYNC_CNTL_DISABLE | ADPA_VSYNC_CNTL_DISABLE); -+ temp |= ADPA_HSYNC_CNTL_DISABLE | ADPA_VSYNC_CNTL_DISABLE; - temp &= ~ADPA_DAC_ENABLE; - I915_WRITE(crt->adpa_reg, temp); - } -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 3280cff..dde0ded 100644 ---- a/drivers/gpu/drm/i915/intel_pm.c -+++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -2572,7 +2572,7 @@ static void gen6_enable_rps(struct drm_device *dev) - 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 */ - - /* Check if we are enabling RC6 */ -diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c -index 3e403bd..78edadc 100644 ---- a/drivers/gpu/drm/radeon/radeon_combios.c -+++ b/drivers/gpu/drm/radeon/radeon_combios.c -@@ -970,6 +970,15 @@ struct radeon_encoder_primary_dac *radeon_combios_get_primary_dac_info(struct - found = 1; - } - -+ /* quirks */ -+ /* Radeon 9100 (R200) */ -+ if ((dev->pdev->device == 0x514D) && -+ (dev->pdev->subsystem_vendor == 0x174B) && -+ (dev->pdev->subsystem_device == 0x7149)) { -+ /* vbios value is bad, use the default */ -+ found = 0; -+ } -+ - if (!found) /* fallback to defaults */ - radeon_legacy_get_primary_dac_info_from_table(rdev, p_dac); - -diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c -index 90374dd..48f80cd 100644 ---- a/drivers/gpu/drm/radeon/radeon_irq_kms.c -+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c -@@ -400,6 +400,9 @@ void radeon_irq_kms_enable_afmt(struct radeon_device *rdev, int block) - { - unsigned long irqflags; - -+ if (!rdev->ddev->irq_enabled) -+ return; -+ - spin_lock_irqsave(&rdev->irq.lock, irqflags); - rdev->irq.afmt[block] = true; - radeon_irq_set(rdev); -@@ -419,6 +422,9 @@ void radeon_irq_kms_disable_afmt(struct radeon_device *rdev, int block) - { - unsigned long irqflags; - -+ if (!rdev->ddev->irq_enabled) -+ return; -+ - spin_lock_irqsave(&rdev->irq.lock, irqflags); - rdev->irq.afmt[block] = false; - radeon_irq_set(rdev); -@@ -438,6 +444,9 @@ void radeon_irq_kms_enable_hpd(struct radeon_device *rdev, unsigned hpd_mask) - unsigned long irqflags; - int i; - -+ if (!rdev->ddev->irq_enabled) -+ return; -+ - spin_lock_irqsave(&rdev->irq.lock, irqflags); - for (i = 0; i < RADEON_MAX_HPD_PINS; ++i) - rdev->irq.hpd[i] |= !!(hpd_mask & (1 << i)); -@@ -458,6 +467,9 @@ void radeon_irq_kms_disable_hpd(struct radeon_device *rdev, unsigned hpd_mask) - unsigned long irqflags; - int i; - -+ if (!rdev->ddev->irq_enabled) -+ return; -+ - spin_lock_irqsave(&rdev->irq.lock, irqflags); - for (i = 0; i < RADEON_MAX_HPD_PINS; ++i) - rdev->irq.hpd[i] &= !(hpd_mask & (1 << i)); -diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c -index 9500f2f..8758f38c 100644 ---- a/drivers/hid/hid-logitech-dj.c -+++ b/drivers/hid/hid-logitech-dj.c -@@ -459,19 +459,25 @@ static int logi_dj_recv_send_report(struct dj_receiver_dev *djrcv_dev, - struct dj_report *dj_report) - { - struct hid_device *hdev = djrcv_dev->hdev; -- int sent_bytes; -+ struct hid_report *report; -+ struct hid_report_enum *output_report_enum; -+ u8 *data = (u8 *)(&dj_report->device_index); -+ int i; - -- if (!hdev->hid_output_raw_report) { -- dev_err(&hdev->dev, "%s:" -- "hid_output_raw_report is null\n", __func__); -+ output_report_enum = &hdev->report_enum[HID_OUTPUT_REPORT]; -+ report = output_report_enum->report_id_hash[REPORT_ID_DJ_SHORT]; -+ -+ if (!report) { -+ dev_err(&hdev->dev, "%s: unable to find dj report\n", __func__); - return -ENODEV; - } - -- sent_bytes = hdev->hid_output_raw_report(hdev, (u8 *) dj_report, -- sizeof(struct dj_report), -- HID_OUTPUT_REPORT); -+ for (i = 0; i < report->field[0]->report_count; i++) -+ report->field[0]->value[i] = data[i]; -+ -+ usbhid_submit_report(hdev, report, USB_DIR_OUT); - -- return (sent_bytes < 0) ? sent_bytes : 0; -+ return 0; - } - - static int logi_dj_recv_query_paired_devices(struct dj_receiver_dev *djrcv_dev) -diff --git a/drivers/hwmon/pmbus/ltc2978.c b/drivers/hwmon/pmbus/ltc2978.c -index 9652a2c..a58de38 100644 ---- a/drivers/hwmon/pmbus/ltc2978.c -+++ b/drivers/hwmon/pmbus/ltc2978.c -@@ -62,7 +62,7 @@ struct ltc2978_data { - int temp_min, temp_max; - int vout_min[8], vout_max[8]; - int iout_max[2]; -- int temp2_max[2]; -+ int temp2_max; - struct pmbus_driver_info info; - }; - -@@ -204,10 +204,9 @@ static int ltc3880_read_word_data(struct i2c_client *client, int page, int reg) - ret = pmbus_read_word_data(client, page, - LTC3880_MFR_TEMPERATURE2_PEAK); - if (ret >= 0) { -- if (lin11_to_val(ret) -- > lin11_to_val(data->temp2_max[page])) -- data->temp2_max[page] = ret; -- ret = data->temp2_max[page]; -+ if (lin11_to_val(ret) > lin11_to_val(data->temp2_max)) -+ data->temp2_max = ret; -+ ret = data->temp2_max; - } - break; - case PMBUS_VIRT_READ_VIN_MIN: -@@ -248,11 +247,11 @@ static int ltc2978_write_word_data(struct i2c_client *client, int page, - - switch (reg) { - case PMBUS_VIRT_RESET_IOUT_HISTORY: -- data->iout_max[page] = 0x7fff; -+ data->iout_max[page] = 0x7c00; - ret = ltc2978_clear_peaks(client, page, data->id); - break; - case PMBUS_VIRT_RESET_TEMP2_HISTORY: -- data->temp2_max[page] = 0x7fff; -+ data->temp2_max = 0x7c00; - ret = ltc2978_clear_peaks(client, page, data->id); - break; - case PMBUS_VIRT_RESET_VOUT_HISTORY: -@@ -262,12 +261,12 @@ static int ltc2978_write_word_data(struct i2c_client *client, int page, - break; - case PMBUS_VIRT_RESET_VIN_HISTORY: - data->vin_min = 0x7bff; -- data->vin_max = 0; -+ data->vin_max = 0x7c00; - ret = ltc2978_clear_peaks(client, page, data->id); - break; - case PMBUS_VIRT_RESET_TEMP_HISTORY: - data->temp_min = 0x7bff; -- data->temp_max = 0x7fff; -+ data->temp_max = 0x7c00; - ret = ltc2978_clear_peaks(client, page, data->id); - break; - default: -@@ -321,12 +320,13 @@ static int ltc2978_probe(struct i2c_client *client, - info = &data->info; - info->write_word_data = ltc2978_write_word_data; - -- data->vout_min[0] = 0xffff; - data->vin_min = 0x7bff; -+ data->vin_max = 0x7c00; - data->temp_min = 0x7bff; -- data->temp_max = 0x7fff; -+ data->temp_max = 0x7c00; -+ data->temp2_max = 0x7c00; - -- switch (id->driver_data) { -+ switch (data->id) { - case ltc2978: - info->read_word_data = ltc2978_read_word_data; - info->pages = 8; -@@ -336,7 +336,6 @@ static int ltc2978_probe(struct i2c_client *client, - for (i = 1; i < 8; i++) { - info->func[i] = PMBUS_HAVE_VOUT - | PMBUS_HAVE_STATUS_VOUT; -- data->vout_min[i] = 0xffff; - } - break; - case ltc3880: -@@ -352,11 +351,14 @@ static int ltc2978_probe(struct i2c_client *client, - | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT - | PMBUS_HAVE_POUT - | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; -- data->vout_min[1] = 0xffff; -+ data->iout_max[0] = 0x7c00; -+ data->iout_max[1] = 0x7c00; - break; - default: - return -ENODEV; - } -+ for (i = 0; i < info->pages; i++) -+ data->vout_min[i] = 0xffff; - - return pmbus_do_probe(client, id, info); - } -diff --git a/drivers/hwmon/sht15.c b/drivers/hwmon/sht15.c -index 1c85d39..8047fed 100644 ---- a/drivers/hwmon/sht15.c -+++ b/drivers/hwmon/sht15.c -@@ -926,7 +926,13 @@ static int sht15_probe(struct platform_device *pdev) - if (voltage) - data->supply_uV = voltage; - -- regulator_enable(data->reg); -+ ret = regulator_enable(data->reg); -+ if (ret != 0) { -+ dev_err(&pdev->dev, -+ "failed to enable regulator: %d\n", ret); -+ return ret; -+ } -+ - /* - * Setup a notifier block to update this if another device - * causes the voltage to change -diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c -index f7369f9..2ae151e 100644 ---- a/drivers/md/dm-crypt.c -+++ b/drivers/md/dm-crypt.c -@@ -1234,20 +1234,6 @@ static int crypt_decode_key(u8 *key, char *hex, unsigned int size) - return 0; - } - --/* -- * Encode key into its hex representation -- */ --static void crypt_encode_key(char *hex, u8 *key, unsigned int size) --{ -- unsigned int i; -- -- for (i = 0; i < size; i++) { -- sprintf(hex, "%02x", *key); -- hex += 2; -- key++; -- } --} -- - static void crypt_free_tfms(struct crypt_config *cc) - { - unsigned i; -@@ -1717,11 +1703,11 @@ static int crypt_map(struct dm_target *ti, struct bio *bio) - return DM_MAPIO_SUBMITTED; - } - --static int crypt_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void crypt_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - struct crypt_config *cc = ti->private; -- unsigned int sz = 0; -+ unsigned i, sz = 0; - - switch (type) { - case STATUSTYPE_INFO: -@@ -1731,17 +1717,11 @@ static int crypt_status(struct dm_target *ti, status_type_t type, - case STATUSTYPE_TABLE: - DMEMIT("%s ", cc->cipher_string); - -- if (cc->key_size > 0) { -- if ((maxlen - sz) < ((cc->key_size << 1) + 1)) -- return -ENOMEM; -- -- crypt_encode_key(result + sz, cc->key, cc->key_size); -- sz += cc->key_size << 1; -- } else { -- if (sz >= maxlen) -- return -ENOMEM; -- result[sz++] = '-'; -- } -+ if (cc->key_size > 0) -+ for (i = 0; i < cc->key_size; i++) -+ DMEMIT("%02x", cc->key[i]); -+ else -+ DMEMIT("-"); - - DMEMIT(" %llu %s %llu", (unsigned long long)cc->iv_offset, - cc->dev->name, (unsigned long long)cc->start); -@@ -1751,7 +1731,6 @@ static int crypt_status(struct dm_target *ti, status_type_t type, - - break; - } -- return 0; - } - - static void crypt_postsuspend(struct dm_target *ti) -@@ -1845,7 +1824,7 @@ static int crypt_iterate_devices(struct dm_target *ti, - - static struct target_type crypt_target = { - .name = "crypt", -- .version = {1, 12, 0}, -+ .version = {1, 12, 1}, - .module = THIS_MODULE, - .ctr = crypt_ctr, - .dtr = crypt_dtr, -diff --git a/drivers/md/dm-delay.c b/drivers/md/dm-delay.c -index cc1bd04..c0d03b0 100644 ---- a/drivers/md/dm-delay.c -+++ b/drivers/md/dm-delay.c -@@ -293,8 +293,8 @@ static int delay_map(struct dm_target *ti, struct bio *bio) - return delay_bio(dc, dc->read_delay, bio); - } - --static int delay_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void delay_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - struct delay_c *dc = ti->private; - int sz = 0; -@@ -314,8 +314,6 @@ static int delay_status(struct dm_target *ti, status_type_t type, - dc->write_delay); - break; - } -- -- return 0; - } - - static int delay_iterate_devices(struct dm_target *ti, -@@ -337,7 +335,7 @@ out: - - static struct target_type delay_target = { - .name = "delay", -- .version = {1, 2, 0}, -+ .version = {1, 2, 1}, - .module = THIS_MODULE, - .ctr = delay_ctr, - .dtr = delay_dtr, -diff --git a/drivers/md/dm-flakey.c b/drivers/md/dm-flakey.c -index 9721f2f..5d6c04c 100644 ---- a/drivers/md/dm-flakey.c -+++ b/drivers/md/dm-flakey.c -@@ -337,8 +337,8 @@ static int flakey_end_io(struct dm_target *ti, struct bio *bio, int error) - return error; - } - --static int flakey_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void flakey_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - unsigned sz = 0; - struct flakey_c *fc = ti->private; -@@ -368,7 +368,6 @@ static int flakey_status(struct dm_target *ti, status_type_t type, - - break; - } -- return 0; - } - - static int flakey_ioctl(struct dm_target *ti, unsigned int cmd, unsigned long arg) -@@ -411,7 +410,7 @@ static int flakey_iterate_devices(struct dm_target *ti, iterate_devices_callout_ - - static struct target_type flakey_target = { - .name = "flakey", -- .version = {1, 3, 0}, -+ .version = {1, 3, 1}, - .module = THIS_MODULE, - .ctr = flakey_ctr, - .dtr = flakey_dtr, -diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c -index 0666b5d..eee353d 100644 ---- a/drivers/md/dm-ioctl.c -+++ b/drivers/md/dm-ioctl.c -@@ -1067,6 +1067,7 @@ static void retrieve_status(struct dm_table *table, - num_targets = dm_table_get_num_targets(table); - for (i = 0; i < num_targets; i++) { - struct dm_target *ti = dm_table_get_target(table, i); -+ size_t l; - - remaining = len - (outptr - outbuf); - if (remaining <= sizeof(struct dm_target_spec)) { -@@ -1093,14 +1094,17 @@ static void retrieve_status(struct dm_table *table, - if (ti->type->status) { - if (param->flags & DM_NOFLUSH_FLAG) - status_flags |= DM_STATUS_NOFLUSH_FLAG; -- if (ti->type->status(ti, type, status_flags, outptr, remaining)) { -- param->flags |= DM_BUFFER_FULL_FLAG; -- break; -- } -+ ti->type->status(ti, type, status_flags, outptr, remaining); - } else - outptr[0] = '\0'; - -- outptr += strlen(outptr) + 1; -+ l = strlen(outptr) + 1; -+ if (l == remaining) { -+ param->flags |= DM_BUFFER_FULL_FLAG; -+ break; -+ } -+ -+ outptr += l; - used = param->data_start + (outptr - outbuf); - - outptr = align_ptr(outptr); -diff --git a/drivers/md/dm-linear.c b/drivers/md/dm-linear.c -index 328cad5..5be301c 100644 ---- a/drivers/md/dm-linear.c -+++ b/drivers/md/dm-linear.c -@@ -95,8 +95,8 @@ static int linear_map(struct dm_target *ti, struct bio *bio) - return DM_MAPIO_REMAPPED; - } - --static int linear_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void linear_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - struct linear_c *lc = (struct linear_c *) ti->private; - -@@ -110,7 +110,6 @@ static int linear_status(struct dm_target *ti, status_type_t type, - (unsigned long long)lc->start); - break; - } -- return 0; - } - - static int linear_ioctl(struct dm_target *ti, unsigned int cmd, -@@ -155,7 +154,7 @@ static int linear_iterate_devices(struct dm_target *ti, - - static struct target_type linear_target = { - .name = "linear", -- .version = {1, 2, 0}, -+ .version = {1, 2, 1}, - .module = THIS_MODULE, - .ctr = linear_ctr, - .dtr = linear_dtr, -diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c -index 573bd04..d267bb5 100644 ---- a/drivers/md/dm-mpath.c -+++ b/drivers/md/dm-mpath.c -@@ -1378,8 +1378,8 @@ static void multipath_resume(struct dm_target *ti) - * [priority selector-name num_ps_args [ps_args]* - * num_paths num_selector_args [path_dev [selector_args]* ]+ ]+ - */ --static int multipath_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void multipath_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - int sz = 0; - unsigned long flags; -@@ -1485,8 +1485,6 @@ static int multipath_status(struct dm_target *ti, status_type_t type, - } - - spin_unlock_irqrestore(&m->lock, flags); -- -- return 0; - } - - static int multipath_message(struct dm_target *ti, unsigned argc, char **argv) -@@ -1695,7 +1693,7 @@ out: - *---------------------------------------------------------------*/ - static struct target_type multipath_target = { - .name = "multipath", -- .version = {1, 5, 0}, -+ .version = {1, 5, 1}, - .module = THIS_MODULE, - .ctr = multipath_ctr, - .dtr = multipath_dtr, -diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c -index 9e58dbd..5a578d8 100644 ---- a/drivers/md/dm-raid.c -+++ b/drivers/md/dm-raid.c -@@ -1201,8 +1201,8 @@ static int raid_map(struct dm_target *ti, struct bio *bio) - return DM_MAPIO_SUBMITTED; - } - --static int raid_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void raid_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - struct raid_set *rs = ti->private; - unsigned raid_param_cnt = 1; /* at least 1 for chunksize */ -@@ -1344,8 +1344,6 @@ static int raid_status(struct dm_target *ti, status_type_t type, - DMEMIT(" -"); - } - } -- -- return 0; - } - - static int raid_iterate_devices(struct dm_target *ti, iterate_devices_callout_fn fn, void *data) -@@ -1405,7 +1403,7 @@ static void raid_resume(struct dm_target *ti) - - static struct target_type raid_target = { - .name = "raid", -- .version = {1, 4, 1}, -+ .version = {1, 4, 2}, - .module = THIS_MODULE, - .ctr = raid_ctr, - .dtr = raid_dtr, -diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c -index fa51918..7f24190 100644 ---- a/drivers/md/dm-raid1.c -+++ b/drivers/md/dm-raid1.c -@@ -1347,8 +1347,8 @@ static char device_status_char(struct mirror *m) - } - - --static int mirror_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void mirror_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - unsigned int m, sz = 0; - struct mirror_set *ms = (struct mirror_set *) ti->private; -@@ -1383,8 +1383,6 @@ static int mirror_status(struct dm_target *ti, status_type_t type, - if (ms->features & DM_RAID1_HANDLE_ERRORS) - DMEMIT(" 1 handle_errors"); - } -- -- return 0; - } - - static int mirror_iterate_devices(struct dm_target *ti, -@@ -1403,7 +1401,7 @@ static int mirror_iterate_devices(struct dm_target *ti, - - static struct target_type mirror_target = { - .name = "mirror", -- .version = {1, 13, 1}, -+ .version = {1, 13, 2}, - .module = THIS_MODULE, - .ctr = mirror_ctr, - .dtr = mirror_dtr, -diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c -index 59fc18a..df74f9f 100644 ---- a/drivers/md/dm-snap.c -+++ b/drivers/md/dm-snap.c -@@ -1837,8 +1837,8 @@ static void snapshot_merge_resume(struct dm_target *ti) - start_merge(s); - } - --static int snapshot_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void snapshot_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - unsigned sz = 0; - struct dm_snapshot *snap = ti->private; -@@ -1884,8 +1884,6 @@ static int snapshot_status(struct dm_target *ti, status_type_t type, - maxlen - sz); - break; - } -- -- return 0; - } - - static int snapshot_iterate_devices(struct dm_target *ti, -@@ -2139,8 +2137,8 @@ static void origin_resume(struct dm_target *ti) - ti->max_io_len = get_origin_minimum_chunksize(dev->bdev); - } - --static int origin_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void origin_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - struct dm_dev *dev = ti->private; - -@@ -2153,8 +2151,6 @@ static int origin_status(struct dm_target *ti, status_type_t type, - snprintf(result, maxlen, "%s", dev->name); - break; - } -- -- return 0; - } - - static int origin_merge(struct dm_target *ti, struct bvec_merge_data *bvm, -@@ -2181,7 +2177,7 @@ static int origin_iterate_devices(struct dm_target *ti, - - static struct target_type origin_target = { - .name = "snapshot-origin", -- .version = {1, 8, 0}, -+ .version = {1, 8, 1}, - .module = THIS_MODULE, - .ctr = origin_ctr, - .dtr = origin_dtr, -@@ -2194,7 +2190,7 @@ static struct target_type origin_target = { - - static struct target_type snapshot_target = { - .name = "snapshot", -- .version = {1, 11, 0}, -+ .version = {1, 11, 1}, - .module = THIS_MODULE, - .ctr = snapshot_ctr, - .dtr = snapshot_dtr, -@@ -2307,3 +2303,5 @@ module_exit(dm_snapshot_exit); - MODULE_DESCRIPTION(DM_NAME " snapshot target"); - MODULE_AUTHOR("Joe Thornber"); - MODULE_LICENSE("GPL"); -+MODULE_ALIAS("dm-snapshot-origin"); -+MODULE_ALIAS("dm-snapshot-merge"); -diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c -index c89cde8..aaecefa 100644 ---- a/drivers/md/dm-stripe.c -+++ b/drivers/md/dm-stripe.c -@@ -312,8 +312,8 @@ static int stripe_map(struct dm_target *ti, struct bio *bio) - * - */ - --static int stripe_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void stripe_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - struct stripe_c *sc = (struct stripe_c *) ti->private; - char buffer[sc->stripes + 1]; -@@ -340,7 +340,6 @@ static int stripe_status(struct dm_target *ti, status_type_t type, - (unsigned long long)sc->stripe[i].physical_start); - break; - } -- return 0; - } - - static int stripe_end_io(struct dm_target *ti, struct bio *bio, int error) -@@ -428,7 +427,7 @@ static int stripe_merge(struct dm_target *ti, struct bvec_merge_data *bvm, - - static struct target_type stripe_target = { - .name = "striped", -- .version = {1, 5, 0}, -+ .version = {1, 5, 1}, - .module = THIS_MODULE, - .ctr = stripe_ctr, - .dtr = stripe_dtr, -diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c -index 5409607..7a66d73 100644 ---- a/drivers/md/dm-thin.c -+++ b/drivers/md/dm-thin.c -@@ -2299,8 +2299,8 @@ static void emit_flags(struct pool_features *pf, char *result, - * <transaction id> <used metadata sectors>/<total metadata sectors> - * <used data sectors>/<total data sectors> <held metadata root> - */ --static int pool_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void pool_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - int r; - unsigned sz = 0; -@@ -2326,32 +2326,41 @@ static int pool_status(struct dm_target *ti, status_type_t type, - if (!(status_flags & DM_STATUS_NOFLUSH_FLAG) && !dm_suspended(ti)) - (void) commit_or_fallback(pool); - -- r = dm_pool_get_metadata_transaction_id(pool->pmd, -- &transaction_id); -- if (r) -- return r; -+ r = dm_pool_get_metadata_transaction_id(pool->pmd, &transaction_id); -+ if (r) { -+ DMERR("dm_pool_get_metadata_transaction_id returned %d", r); -+ goto err; -+ } - -- r = dm_pool_get_free_metadata_block_count(pool->pmd, -- &nr_free_blocks_metadata); -- if (r) -- return r; -+ r = dm_pool_get_free_metadata_block_count(pool->pmd, &nr_free_blocks_metadata); -+ if (r) { -+ DMERR("dm_pool_get_free_metadata_block_count returned %d", r); -+ goto err; -+ } - - r = dm_pool_get_metadata_dev_size(pool->pmd, &nr_blocks_metadata); -- if (r) -- return r; -+ if (r) { -+ DMERR("dm_pool_get_metadata_dev_size returned %d", r); -+ goto err; -+ } - -- r = dm_pool_get_free_block_count(pool->pmd, -- &nr_free_blocks_data); -- if (r) -- return r; -+ r = dm_pool_get_free_block_count(pool->pmd, &nr_free_blocks_data); -+ if (r) { -+ DMERR("dm_pool_get_free_block_count returned %d", r); -+ goto err; -+ } - - r = dm_pool_get_data_dev_size(pool->pmd, &nr_blocks_data); -- if (r) -- return r; -+ if (r) { -+ DMERR("dm_pool_get_data_dev_size returned %d", r); -+ goto err; -+ } - - r = dm_pool_get_metadata_snap(pool->pmd, &held_root); -- if (r) -- return r; -+ if (r) { -+ DMERR("dm_pool_get_metadata_snap returned %d", r); -+ goto err; -+ } - - DMEMIT("%llu %llu/%llu %llu/%llu ", - (unsigned long long)transaction_id, -@@ -2388,8 +2397,10 @@ static int pool_status(struct dm_target *ti, status_type_t type, - emit_flags(&pt->requested_pf, result, sz, maxlen); - break; - } -+ return; - -- return 0; -+err: -+ DMEMIT("Error"); - } - - static int pool_iterate_devices(struct dm_target *ti, -@@ -2468,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, 0}, -+ .version = {1, 6, 1}, - .module = THIS_MODULE, - .ctr = pool_ctr, - .dtr = pool_dtr, -@@ -2676,8 +2687,8 @@ static void thin_postsuspend(struct dm_target *ti) - /* - * <nr mapped sectors> <highest mapped sector> - */ --static int thin_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void thin_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - int r; - ssize_t sz = 0; -@@ -2687,7 +2698,7 @@ static int thin_status(struct dm_target *ti, status_type_t type, - - if (get_pool_mode(tc->pool) == PM_FAIL) { - DMEMIT("Fail"); -- return 0; -+ return; - } - - if (!tc->td) -@@ -2696,12 +2707,16 @@ static int thin_status(struct dm_target *ti, status_type_t type, - switch (type) { - case STATUSTYPE_INFO: - r = dm_thin_get_mapped_count(tc->td, &mapped); -- if (r) -- return r; -+ if (r) { -+ DMERR("dm_thin_get_mapped_count returned %d", r); -+ goto err; -+ } - - r = dm_thin_get_highest_mapped_block(tc->td, &highest); -- if (r < 0) -- return r; -+ if (r < 0) { -+ DMERR("dm_thin_get_highest_mapped_block returned %d", r); -+ goto err; -+ } - - DMEMIT("%llu ", mapped * tc->pool->sectors_per_block); - if (r) -@@ -2721,7 +2736,10 @@ static int thin_status(struct dm_target *ti, status_type_t type, - } - } - -- return 0; -+ return; -+ -+err: -+ DMEMIT("Error"); - } - - static int thin_iterate_devices(struct dm_target *ti, -@@ -2748,7 +2766,7 @@ static int thin_iterate_devices(struct dm_target *ti, - - static struct target_type thin_target = { - .name = "thin", -- .version = {1, 7, 0}, -+ .version = {1, 7, 1}, - .module = THIS_MODULE, - .ctr = thin_ctr, - .dtr = thin_dtr, -diff --git a/drivers/md/dm-verity.c b/drivers/md/dm-verity.c -index 52cde98..6ad5383 100644 ---- a/drivers/md/dm-verity.c -+++ b/drivers/md/dm-verity.c -@@ -508,8 +508,8 @@ static int verity_map(struct dm_target *ti, struct bio *bio) - /* - * Status: V (valid) or C (corruption found) - */ --static int verity_status(struct dm_target *ti, status_type_t type, -- unsigned status_flags, char *result, unsigned maxlen) -+static void verity_status(struct dm_target *ti, status_type_t type, -+ unsigned status_flags, char *result, unsigned maxlen) - { - struct dm_verity *v = ti->private; - unsigned sz = 0; -@@ -540,8 +540,6 @@ static int verity_status(struct dm_target *ti, status_type_t type, - DMEMIT("%02x", v->salt[x]); - break; - } -- -- return 0; - } - - static int verity_ioctl(struct dm_target *ti, unsigned cmd, -@@ -860,7 +858,7 @@ bad: - - static struct target_type verity_target = { - .name = "verity", -- .version = {1, 1, 0}, -+ .version = {1, 1, 1}, - .module = THIS_MODULE, - .ctr = verity_ctr, - .dtr = verity_dtr, -diff --git a/drivers/md/dm.c b/drivers/md/dm.c -index 314a0e2..0d8f086 100644 ---- a/drivers/md/dm.c -+++ b/drivers/md/dm.c -@@ -1973,15 +1973,27 @@ static void __bind_mempools(struct mapped_device *md, struct dm_table *t) - { - struct dm_md_mempools *p = dm_table_get_md_mempools(t); - -- if (md->io_pool && (md->tio_pool || dm_table_get_type(t) == DM_TYPE_BIO_BASED) && md->bs) { -- /* -- * The md already has necessary mempools. Reload just the -- * bioset because front_pad may have changed because -- * a different table was loaded. -- */ -- bioset_free(md->bs); -- md->bs = p->bs; -- p->bs = NULL; -+ if (md->io_pool && md->bs) { -+ /* The md already has necessary mempools. */ -+ if (dm_table_get_type(t) == DM_TYPE_BIO_BASED) { -+ /* -+ * Reload bioset because front_pad may have changed -+ * because a different table was loaded. -+ */ -+ bioset_free(md->bs); -+ md->bs = p->bs; -+ p->bs = NULL; -+ } else if (dm_table_get_type(t) == DM_TYPE_REQUEST_BASED) { -+ BUG_ON(!md->tio_pool); -+ /* -+ * There's no need to reload with request-based dm -+ * because the size of front_pad doesn't change. -+ * Note for future: If you are to reload bioset, -+ * prep-ed requests in the queue may refer -+ * to bio from the old bioset, so you must walk -+ * through the queue to unprep. -+ */ -+ } - goto out; - } - -@@ -2421,7 +2433,7 @@ static void dm_queue_flush(struct mapped_device *md) - */ - struct dm_table *dm_swap_table(struct mapped_device *md, struct dm_table *table) - { -- struct dm_table *live_map, *map = ERR_PTR(-EINVAL); -+ struct dm_table *live_map = NULL, *map = ERR_PTR(-EINVAL); - struct queue_limits limits; - int r; - -@@ -2444,10 +2456,12 @@ struct dm_table *dm_swap_table(struct mapped_device *md, struct dm_table *table) - dm_table_put(live_map); - } - -- r = dm_calculate_queue_limits(table, &limits); -- if (r) { -- map = ERR_PTR(r); -- goto out; -+ if (!live_map) { -+ r = dm_calculate_queue_limits(table, &limits); -+ if (r) { -+ map = ERR_PTR(r); -+ goto out; -+ } - } - - map = __bind(md, table, &limits); -diff --git a/drivers/md/md.c b/drivers/md/md.c -index 3db3d1b..f363135 100644 ---- a/drivers/md/md.c -+++ b/drivers/md/md.c -@@ -307,6 +307,10 @@ static void md_make_request(struct request_queue *q, struct bio *bio) - bio_io_error(bio); - return; - } -+ if (mddev->ro == 1 && unlikely(rw == WRITE)) { -+ bio_endio(bio, bio_sectors(bio) == 0 ? 0 : -EROFS); -+ return; -+ } - smp_rmb(); /* Ensure implications of 'active' are visible */ - rcu_read_lock(); - if (mddev->suspended) { -@@ -2994,6 +2998,9 @@ rdev_size_store(struct md_rdev *rdev, const char *buf, size_t len) - } else if (!sectors) - sectors = (i_size_read(rdev->bdev->bd_inode) >> 9) - - rdev->data_offset; -+ if (!my_mddev->pers->resize) -+ /* Cannot change size for RAID0 or Linear etc */ -+ return -EINVAL; - } - if (sectors < my_mddev->dev_sectors) - return -EINVAL; /* component must fit device */ -diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c -index 24b3597..d9babda 100644 ---- a/drivers/md/raid0.c -+++ b/drivers/md/raid0.c -@@ -289,7 +289,7 @@ abort: - kfree(conf->strip_zone); - kfree(conf->devlist); - kfree(conf); -- *private_conf = NULL; -+ *private_conf = ERR_PTR(err); - return err; - } - -@@ -411,7 +411,8 @@ static sector_t raid0_size(struct mddev *mddev, sector_t sectors, int raid_disks - "%s does not support generic reshape\n", __func__); - - rdev_for_each(rdev, mddev) -- array_sectors += rdev->sectors; -+ array_sectors += (rdev->sectors & -+ ~(sector_t)(mddev->chunk_sectors-1)); - - return array_sectors; - } -diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c -index d5bddfc..75b1f89 100644 ---- a/drivers/md/raid1.c -+++ b/drivers/md/raid1.c -@@ -967,6 +967,7 @@ static void raid1_unplug(struct blk_plug_cb *cb, bool from_schedule) - bio_list_merge(&conf->pending_bio_list, &plug->pending); - conf->pending_count += plug->pending_cnt; - spin_unlock_irq(&conf->device_lock); -+ wake_up(&conf->wait_barrier); - md_wakeup_thread(mddev->thread); - kfree(plug); - return; -diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c -index 64d4824..8d925dc 100644 ---- a/drivers/md/raid10.c -+++ b/drivers/md/raid10.c -@@ -1073,6 +1073,7 @@ static void raid10_unplug(struct blk_plug_cb *cb, bool from_schedule) - bio_list_merge(&conf->pending_bio_list, &plug->pending); - conf->pending_count += plug->pending_cnt; - spin_unlock_irq(&conf->device_lock); -+ wake_up(&conf->wait_barrier); - md_wakeup_thread(mddev->thread); - kfree(plug); - return; -diff --git a/drivers/memstick/host/rtsx_pci_ms.c b/drivers/memstick/host/rtsx_pci_ms.c -index f5ddb82..64a779c 100644 ---- a/drivers/memstick/host/rtsx_pci_ms.c -+++ b/drivers/memstick/host/rtsx_pci_ms.c -@@ -426,6 +426,9 @@ static void rtsx_pci_ms_request(struct memstick_host *msh) - - dev_dbg(ms_dev(host), "--> %s\n", __func__); - -+ if (rtsx_pci_card_exclusive_check(host->pcr, RTSX_MS_CARD)) -+ return; -+ - schedule_work(&host->handle_req); - } - -@@ -441,6 +444,10 @@ static int rtsx_pci_ms_set_param(struct memstick_host *msh, - dev_dbg(ms_dev(host), "%s: param = %d, value = %d\n", - __func__, param, value); - -+ err = rtsx_pci_card_exclusive_check(host->pcr, RTSX_MS_CARD); -+ if (err) -+ return err; -+ - switch (param) { - case MEMSTICK_POWER: - if (value == MEMSTICK_POWER_ON) -diff --git a/drivers/mfd/rtsx_pcr.c b/drivers/mfd/rtsx_pcr.c -index 9fc5700..1e2d120 100644 ---- a/drivers/mfd/rtsx_pcr.c -+++ b/drivers/mfd/rtsx_pcr.c -@@ -713,6 +713,25 @@ int rtsx_pci_card_power_off(struct rtsx_pcr *pcr, int card) - } - EXPORT_SYMBOL_GPL(rtsx_pci_card_power_off); - -+int rtsx_pci_card_exclusive_check(struct rtsx_pcr *pcr, int card) -+{ -+ unsigned int cd_mask[] = { -+ [RTSX_SD_CARD] = SD_EXIST, -+ [RTSX_MS_CARD] = MS_EXIST -+ }; -+ -+ if (!pcr->ms_pmos) { -+ /* When using single PMOS, accessing card is not permitted -+ * if the existing card is not the designated one. -+ */ -+ if (pcr->card_exist & (~cd_mask[card])) -+ return -EIO; -+ } -+ -+ return 0; -+} -+EXPORT_SYMBOL_GPL(rtsx_pci_card_exclusive_check); -+ - int rtsx_pci_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage) - { - if (pcr->ops->switch_output_voltage) -@@ -758,7 +777,7 @@ static void rtsx_pci_card_detect(struct work_struct *work) - struct delayed_work *dwork; - struct rtsx_pcr *pcr; - unsigned long flags; -- unsigned int card_detect = 0; -+ unsigned int card_detect = 0, card_inserted, card_removed; - u32 irq_status; - - dwork = to_delayed_work(work); -@@ -766,25 +785,35 @@ static void rtsx_pci_card_detect(struct work_struct *work) - - dev_dbg(&(pcr->pci->dev), "--> %s\n", __func__); - -+ mutex_lock(&pcr->pcr_mutex); - spin_lock_irqsave(&pcr->lock, flags); - - irq_status = rtsx_pci_readl(pcr, RTSX_BIPR); - dev_dbg(&(pcr->pci->dev), "irq_status: 0x%08x\n", irq_status); - -- if (pcr->card_inserted || pcr->card_removed) { -+ irq_status &= CARD_EXIST; -+ card_inserted = pcr->card_inserted & irq_status; -+ card_removed = pcr->card_removed; -+ pcr->card_inserted = 0; -+ pcr->card_removed = 0; -+ -+ spin_unlock_irqrestore(&pcr->lock, flags); -+ -+ if (card_inserted || card_removed) { - dev_dbg(&(pcr->pci->dev), - "card_inserted: 0x%x, card_removed: 0x%x\n", -- pcr->card_inserted, pcr->card_removed); -+ card_inserted, card_removed); - - if (pcr->ops->cd_deglitch) -- pcr->card_inserted = pcr->ops->cd_deglitch(pcr); -+ card_inserted = pcr->ops->cd_deglitch(pcr); -+ -+ card_detect = card_inserted | card_removed; - -- card_detect = pcr->card_inserted | pcr->card_removed; -- pcr->card_inserted = 0; -- pcr->card_removed = 0; -+ pcr->card_exist |= card_inserted; -+ pcr->card_exist &= ~card_removed; - } - -- spin_unlock_irqrestore(&pcr->lock, flags); -+ mutex_unlock(&pcr->pcr_mutex); - - if ((card_detect & SD_EXIST) && pcr->slots[RTSX_SD_CARD].card_event) - pcr->slots[RTSX_SD_CARD].card_event( -@@ -836,10 +865,6 @@ static irqreturn_t rtsx_pci_isr(int irq, void *dev_id) - } - } - -- if (pcr->card_inserted || pcr->card_removed) -- schedule_delayed_work(&pcr->carddet_work, -- msecs_to_jiffies(200)); -- - if (int_reg & (NEED_COMPLETE_INT | DELINK_INT)) { - if (int_reg & (TRANS_FAIL_INT | DELINK_INT)) { - pcr->trans_result = TRANS_RESULT_FAIL; -@@ -852,6 +877,10 @@ static irqreturn_t rtsx_pci_isr(int irq, void *dev_id) - } - } - -+ if (pcr->card_inserted || pcr->card_removed) -+ schedule_delayed_work(&pcr->carddet_work, -+ msecs_to_jiffies(200)); -+ - spin_unlock(&pcr->lock); - return IRQ_HANDLED; - } -@@ -974,6 +1003,14 @@ static int rtsx_pci_init_hw(struct rtsx_pcr *pcr) - return err; - } - -+ /* No CD interrupt if probing driver with card inserted. -+ * So we need to initialize pcr->card_exist here. -+ */ -+ if (pcr->ops->cd_deglitch) -+ pcr->card_exist = pcr->ops->cd_deglitch(pcr); -+ else -+ pcr->card_exist = rtsx_pci_readl(pcr, RTSX_BIPR) & CARD_EXIST; -+ - return 0; - } - -diff --git a/drivers/mmc/host/rtsx_pci_sdmmc.c b/drivers/mmc/host/rtsx_pci_sdmmc.c -index f74b5ad..468c923 100644 ---- a/drivers/mmc/host/rtsx_pci_sdmmc.c -+++ b/drivers/mmc/host/rtsx_pci_sdmmc.c -@@ -678,12 +678,19 @@ static void sdmmc_request(struct mmc_host *mmc, struct mmc_request *mrq) - struct mmc_command *cmd = mrq->cmd; - struct mmc_data *data = mrq->data; - unsigned int data_size = 0; -+ int err; - - if (host->eject) { - cmd->error = -ENOMEDIUM; - goto finish; - } - -+ err = rtsx_pci_card_exclusive_check(host->pcr, RTSX_SD_CARD); -+ if (err) { -+ cmd->error = err; -+ goto finish; -+ } -+ - mutex_lock(&pcr->pcr_mutex); - - rtsx_pci_start_run(pcr); -@@ -901,6 +908,9 @@ static void sdmmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) - if (host->eject) - return; - -+ if (rtsx_pci_card_exclusive_check(host->pcr, RTSX_SD_CARD)) -+ return; -+ - mutex_lock(&pcr->pcr_mutex); - - rtsx_pci_start_run(pcr); -@@ -1073,6 +1083,10 @@ static int sdmmc_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios) - if (host->eject) - return -ENOMEDIUM; - -+ err = rtsx_pci_card_exclusive_check(host->pcr, RTSX_SD_CARD); -+ if (err) -+ return err; -+ - mutex_lock(&pcr->pcr_mutex); - - rtsx_pci_start_run(pcr); -@@ -1122,6 +1136,10 @@ static int sdmmc_execute_tuning(struct mmc_host *mmc, u32 opcode) - if (host->eject) - return -ENOMEDIUM; - -+ err = rtsx_pci_card_exclusive_check(host->pcr, RTSX_SD_CARD); -+ if (err) -+ return err; -+ - mutex_lock(&pcr->pcr_mutex); - - rtsx_pci_start_run(pcr); -diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c -index bdb0869..f0b38fa 100644 ---- a/drivers/net/ethernet/broadcom/tg3.c -+++ b/drivers/net/ethernet/broadcom/tg3.c -@@ -1843,6 +1843,8 @@ static void tg3_link_report(struct tg3 *tp) - - tg3_ump_link_report(tp); - } -+ -+ tp->link_up = netif_carrier_ok(tp->dev); - } - - static u16 tg3_advert_flowctrl_1000X(u8 flow_ctrl) -@@ -2496,12 +2498,6 @@ static int tg3_phy_reset_5703_4_5(struct tg3 *tp) - return err; - } - --static void tg3_carrier_on(struct tg3 *tp) --{ -- netif_carrier_on(tp->dev); -- tp->link_up = true; --} -- - static void tg3_carrier_off(struct tg3 *tp) - { - netif_carrier_off(tp->dev); -@@ -2527,7 +2523,7 @@ static int tg3_phy_reset(struct tg3 *tp) - return -EBUSY; - - if (netif_running(tp->dev) && tp->link_up) { -- tg3_carrier_off(tp); -+ netif_carrier_off(tp->dev); - tg3_link_report(tp); - } - -@@ -4225,9 +4221,9 @@ static bool tg3_test_and_report_link_chg(struct tg3 *tp, int curr_link_up) - { - if (curr_link_up != tp->link_up) { - if (curr_link_up) { -- tg3_carrier_on(tp); -+ netif_carrier_on(tp->dev); - } else { -- tg3_carrier_off(tp); -+ netif_carrier_off(tp->dev); - if (tp->phy_flags & TG3_PHYFLG_MII_SERDES) - tp->phy_flags &= ~TG3_PHYFLG_PARALLEL_DETECT; - } -diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c -index 643c883..1f93880 100644 ---- a/drivers/net/ethernet/intel/e1000e/netdev.c -+++ b/drivers/net/ethernet/intel/e1000e/netdev.c -@@ -5549,7 +5549,7 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool *enable_wake, - */ - e1000e_release_hw_control(adapter); - -- pci_disable_device(pdev); -+ pci_clear_master(pdev); - - return 0; - } -diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 9b73670..6214181 100644 ---- a/drivers/net/usb/smsc95xx.c -+++ b/drivers/net/usb/smsc95xx.c -@@ -1340,6 +1340,8 @@ static int smsc95xx_enter_suspend0(struct usbnet *dev) - ret = smsc95xx_read_reg_nopm(dev, PM_CTRL, &val); - if (ret < 0) - netdev_warn(dev->net, "Error reading PM_CTRL\n"); -+ else -+ ret = 0; - - return ret; - } -@@ -1392,6 +1394,8 @@ static int smsc95xx_enter_suspend1(struct usbnet *dev) - ret = smsc95xx_write_reg_nopm(dev, PM_CTRL, val); - if (ret < 0) - netdev_warn(dev->net, "Error writing PM_CTRL\n"); -+ else -+ ret = 0; - - return ret; - } -@@ -1413,6 +1417,8 @@ static int smsc95xx_enter_suspend2(struct usbnet *dev) - ret = smsc95xx_write_reg_nopm(dev, PM_CTRL, val); - if (ret < 0) - netdev_warn(dev->net, "Error writing PM_CTRL\n"); -+ else -+ ret = 0; - - return ret; - } -diff --git a/drivers/net/wireless/ath/ath9k/common.h b/drivers/net/wireless/ath/ath9k/common.h -index 5f845be..050ca4a 100644 ---- a/drivers/net/wireless/ath/ath9k/common.h -+++ b/drivers/net/wireless/ath/ath9k/common.h -@@ -27,7 +27,7 @@ - #define WME_MAX_BA WME_BA_BMP_SIZE - #define ATH_TID_MAX_BUFS (2 * WME_MAX_BA) - --#define ATH_RSSI_DUMMY_MARKER 0x127 -+#define ATH_RSSI_DUMMY_MARKER 127 - #define ATH_RSSI_LPF_LEN 10 - #define RSSI_LPF_THRESHOLD -20 - #define ATH_RSSI_EP_MULTIPLIER (1<<7) -diff --git a/drivers/net/wireless/ath/ath9k/htc.h b/drivers/net/wireless/ath/ath9k/htc.h -index 96bfb18..d3b099d 100644 ---- a/drivers/net/wireless/ath/ath9k/htc.h -+++ b/drivers/net/wireless/ath/ath9k/htc.h -@@ -22,6 +22,7 @@ - #include <linux/firmware.h> - #include <linux/skbuff.h> - #include <linux/netdevice.h> -+#include <linux/etherdevice.h> - #include <linux/leds.h> - #include <linux/slab.h> - #include <net/mac80211.h> -diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c -index b6a5a08..8788621 100644 ---- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c -+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c -@@ -1067,15 +1067,19 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv, - - last_rssi = priv->rx.last_rssi; - -- if (likely(last_rssi != ATH_RSSI_DUMMY_MARKER)) -- rxbuf->rxstatus.rs_rssi = ATH_EP_RND(last_rssi, -- ATH_RSSI_EP_MULTIPLIER); -+ if (ieee80211_is_beacon(hdr->frame_control) && -+ !is_zero_ether_addr(common->curbssid) && -+ ether_addr_equal(hdr->addr3, common->curbssid)) { -+ s8 rssi = rxbuf->rxstatus.rs_rssi; - -- if (rxbuf->rxstatus.rs_rssi < 0) -- rxbuf->rxstatus.rs_rssi = 0; -+ if (likely(last_rssi != ATH_RSSI_DUMMY_MARKER)) -+ rssi = ATH_EP_RND(last_rssi, ATH_RSSI_EP_MULTIPLIER); - -- if (ieee80211_is_beacon(fc)) -- priv->ah->stats.avgbrssi = rxbuf->rxstatus.rs_rssi; -+ if (rssi < 0) -+ rssi = 0; -+ -+ priv->ah->stats.avgbrssi = rssi; -+ } - - rx_status->mactime = be64_to_cpu(rxbuf->rxstatus.rs_tstamp); - rx_status->band = hw->conf.channel->band; -diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c -index 7cb7870..e26f92d 100644 ---- a/drivers/net/wireless/ath/ath9k/hw.c -+++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -1480,7 +1480,9 @@ static bool ath9k_hw_chip_reset(struct ath_hw *ah, - reset_type = ATH9K_RESET_POWER_ON; - else - reset_type = ATH9K_RESET_COLD; -- } -+ } else if (ah->chip_fullsleep || REG_READ(ah, AR_Q_TXE) || -+ (REG_READ(ah, AR_CR) & AR_CR_RXE)) -+ reset_type = ATH9K_RESET_COLD; - - if (!ath9k_hw_set_reset_reg(ah, reset_type)) - return false; -diff --git a/drivers/net/wireless/iwlwifi/iwl-devtrace.h b/drivers/net/wireless/iwlwifi/iwl-devtrace.h -index dc7e26b..c85eb37 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-devtrace.h -+++ b/drivers/net/wireless/iwlwifi/iwl-devtrace.h -@@ -349,25 +349,23 @@ TRACE_EVENT(iwlwifi_dev_rx_data, - TRACE_EVENT(iwlwifi_dev_hcmd, - TP_PROTO(const struct device *dev, - struct iwl_host_cmd *cmd, u16 total_size, -- const void *hdr, size_t hdr_len), -- TP_ARGS(dev, cmd, total_size, hdr, hdr_len), -+ struct iwl_cmd_header *hdr), -+ TP_ARGS(dev, cmd, total_size, hdr), - TP_STRUCT__entry( - DEV_ENTRY - __dynamic_array(u8, hcmd, total_size) - __field(u32, flags) - ), - TP_fast_assign( -- int i, offset = hdr_len; -+ int i, offset = sizeof(*hdr); - - DEV_ASSIGN; - __entry->flags = cmd->flags; -- memcpy(__get_dynamic_array(hcmd), hdr, hdr_len); -+ memcpy(__get_dynamic_array(hcmd), hdr, sizeof(*hdr)); - - for (i = 0; i < IWL_MAX_CMD_TFDS; i++) { - if (!cmd->len[i]) - continue; -- if (!(cmd->dataflags[i] & IWL_HCMD_DFL_NOCOPY)) -- continue; - memcpy((u8 *)__get_dynamic_array(hcmd) + offset, - cmd->data[i], cmd->len[i]); - offset += cmd->len[i]; -diff --git a/drivers/net/wireless/iwlwifi/pcie/internal.h b/drivers/net/wireless/iwlwifi/pcie/internal.h -index d91d2e8..bc5e9ec 100644 ---- a/drivers/net/wireless/iwlwifi/pcie/internal.h -+++ b/drivers/net/wireless/iwlwifi/pcie/internal.h -@@ -182,6 +182,15 @@ struct iwl_queue { - #define TFD_TX_CMD_SLOTS 256 - #define TFD_CMD_SLOTS 32 - -+/* -+ * The FH will write back to the first TB only, so we need -+ * to copy some data into the buffer regardless of whether -+ * it should be mapped or not. This indicates how much to -+ * copy, even for HCMDs it must be big enough to fit the -+ * DRAM scratch from the TX cmd, at least 16 bytes. -+ */ -+#define IWL_HCMD_MIN_COPY_SIZE 16 -+ - struct iwl_pcie_txq_entry { - struct iwl_device_cmd *cmd; - struct iwl_device_cmd *copy_cmd; -diff --git a/drivers/net/wireless/iwlwifi/pcie/tx.c b/drivers/net/wireless/iwlwifi/pcie/tx.c -index 6c5b867..c6cd922 100644 ---- a/drivers/net/wireless/iwlwifi/pcie/tx.c -+++ b/drivers/net/wireless/iwlwifi/pcie/tx.c -@@ -1131,10 +1131,12 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, - void *dup_buf = NULL; - dma_addr_t phys_addr; - int idx; -- u16 copy_size, cmd_size; -+ u16 copy_size, cmd_size, dma_size; - bool had_nocopy = false; - int i; - u32 cmd_pos; -+ const u8 *cmddata[IWL_MAX_CMD_TFDS]; -+ u16 cmdlen[IWL_MAX_CMD_TFDS]; - - copy_size = sizeof(out_cmd->hdr); - cmd_size = sizeof(out_cmd->hdr); -@@ -1143,8 +1145,23 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, - BUILD_BUG_ON(IWL_MAX_CMD_TFDS > IWL_NUM_OF_TBS - 1); - - for (i = 0; i < IWL_MAX_CMD_TFDS; i++) { -+ cmddata[i] = cmd->data[i]; -+ cmdlen[i] = cmd->len[i]; -+ - if (!cmd->len[i]) - continue; -+ -+ /* need at least IWL_HCMD_MIN_COPY_SIZE copied */ -+ if (copy_size < IWL_HCMD_MIN_COPY_SIZE) { -+ int copy = IWL_HCMD_MIN_COPY_SIZE - copy_size; -+ -+ if (copy > cmdlen[i]) -+ copy = cmdlen[i]; -+ cmdlen[i] -= copy; -+ cmddata[i] += copy; -+ copy_size += copy; -+ } -+ - if (cmd->dataflags[i] & IWL_HCMD_DFL_NOCOPY) { - had_nocopy = true; - if (WARN_ON(cmd->dataflags[i] & IWL_HCMD_DFL_DUP)) { -@@ -1164,7 +1181,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, - goto free_dup_buf; - } - -- dup_buf = kmemdup(cmd->data[i], cmd->len[i], -+ dup_buf = kmemdup(cmddata[i], cmdlen[i], - GFP_ATOMIC); - if (!dup_buf) - return -ENOMEM; -@@ -1174,7 +1191,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, - idx = -EINVAL; - goto free_dup_buf; - } -- copy_size += cmd->len[i]; -+ copy_size += cmdlen[i]; - } - cmd_size += cmd->len[i]; - } -@@ -1221,14 +1238,31 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, - - /* and copy the data that needs to be copied */ - cmd_pos = offsetof(struct iwl_device_cmd, payload); -+ copy_size = sizeof(out_cmd->hdr); - for (i = 0; i < IWL_MAX_CMD_TFDS; i++) { -- if (!cmd->len[i]) -+ int copy = 0; -+ -+ if (!cmd->len) - continue; -- if (cmd->dataflags[i] & (IWL_HCMD_DFL_NOCOPY | -- IWL_HCMD_DFL_DUP)) -- break; -- memcpy((u8 *)out_cmd + cmd_pos, cmd->data[i], cmd->len[i]); -- cmd_pos += cmd->len[i]; -+ -+ /* need at least IWL_HCMD_MIN_COPY_SIZE copied */ -+ if (copy_size < IWL_HCMD_MIN_COPY_SIZE) { -+ copy = IWL_HCMD_MIN_COPY_SIZE - copy_size; -+ -+ if (copy > cmd->len[i]) -+ copy = cmd->len[i]; -+ } -+ -+ /* copy everything if not nocopy/dup */ -+ if (!(cmd->dataflags[i] & (IWL_HCMD_DFL_NOCOPY | -+ IWL_HCMD_DFL_DUP))) -+ copy = cmd->len[i]; -+ -+ if (copy) { -+ memcpy((u8 *)out_cmd + cmd_pos, cmd->data[i], copy); -+ cmd_pos += copy; -+ copy_size += copy; -+ } - } - - WARN_ON_ONCE(txq->entries[idx].copy_cmd); -@@ -1254,7 +1288,14 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, - out_cmd->hdr.cmd, le16_to_cpu(out_cmd->hdr.sequence), - cmd_size, q->write_ptr, idx, trans_pcie->cmd_queue); - -- phys_addr = dma_map_single(trans->dev, &out_cmd->hdr, copy_size, -+ /* -+ * If the entire command is smaller than IWL_HCMD_MIN_COPY_SIZE, we must -+ * still map at least that many bytes for the hardware to write back to. -+ * We have enough space, so that's not a problem. -+ */ -+ dma_size = max_t(u16, copy_size, IWL_HCMD_MIN_COPY_SIZE); -+ -+ phys_addr = dma_map_single(trans->dev, &out_cmd->hdr, dma_size, - DMA_BIDIRECTIONAL); - if (unlikely(dma_mapping_error(trans->dev, phys_addr))) { - idx = -ENOMEM; -@@ -1262,14 +1303,15 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, - } - - dma_unmap_addr_set(out_meta, mapping, phys_addr); -- dma_unmap_len_set(out_meta, len, copy_size); -+ dma_unmap_len_set(out_meta, len, dma_size); - - iwl_pcie_txq_build_tfd(trans, txq, phys_addr, copy_size, 1); - -+ /* map the remaining (adjusted) nocopy/dup fragments */ - for (i = 0; i < IWL_MAX_CMD_TFDS; i++) { -- const void *data = cmd->data[i]; -+ const void *data = cmddata[i]; - -- if (!cmd->len[i]) -+ if (!cmdlen[i]) - continue; - if (!(cmd->dataflags[i] & (IWL_HCMD_DFL_NOCOPY | - IWL_HCMD_DFL_DUP))) -@@ -1277,7 +1319,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, - if (cmd->dataflags[i] & IWL_HCMD_DFL_DUP) - data = dup_buf; - phys_addr = dma_map_single(trans->dev, (void *)data, -- cmd->len[i], DMA_BIDIRECTIONAL); -+ cmdlen[i], DMA_BIDIRECTIONAL); - if (dma_mapping_error(trans->dev, phys_addr)) { - iwl_pcie_tfd_unmap(trans, out_meta, - &txq->tfds[q->write_ptr], -@@ -1286,7 +1328,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, - goto out; - } - -- iwl_pcie_txq_build_tfd(trans, txq, phys_addr, cmd->len[i], 0); -+ iwl_pcie_txq_build_tfd(trans, txq, phys_addr, cmdlen[i], 0); - } - - out_meta->flags = cmd->flags; -@@ -1296,8 +1338,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, - - txq->need_update = 1; - -- trace_iwlwifi_dev_hcmd(trans->dev, cmd, cmd_size, -- &out_cmd->hdr, copy_size); -+ trace_iwlwifi_dev_hcmd(trans->dev, cmd, cmd_size, &out_cmd->hdr); - - /* start timer if queue currently empty */ - if (q->read_ptr == q->write_ptr && trans_pcie->wd_timeout) -diff --git a/drivers/net/wireless/libertas/if_sdio.c b/drivers/net/wireless/libertas/if_sdio.c -index 739309e..4557833 100644 ---- a/drivers/net/wireless/libertas/if_sdio.c -+++ b/drivers/net/wireless/libertas/if_sdio.c -@@ -825,6 +825,11 @@ static void if_sdio_finish_power_on(struct if_sdio_card *card) - - sdio_release_host(func); - -+ /* Set fw_ready before queuing any commands so that -+ * lbs_thread won't block from sending them to firmware. -+ */ -+ priv->fw_ready = 1; -+ - /* - * FUNC_INIT is required for SD8688 WLAN/BT multiple functions - */ -@@ -839,7 +844,6 @@ static void if_sdio_finish_power_on(struct if_sdio_card *card) - netdev_alert(priv->dev, "CMD_FUNC_INIT cmd failed\n"); - } - -- priv->fw_ready = 1; - wake_up(&card->pwron_waitq); - - if (!card->started) { -diff --git a/drivers/net/wireless/mwifiex/pcie.c b/drivers/net/wireless/mwifiex/pcie.c -index b879e13..0bbea88 100644 ---- a/drivers/net/wireless/mwifiex/pcie.c -+++ b/drivers/net/wireless/mwifiex/pcie.c -@@ -291,7 +291,7 @@ static int mwifiex_pm_wakeup_card(struct mwifiex_adapter *adapter) - i++; - usleep_range(10, 20); - /* 50ms max wait */ -- if (i == 50000) -+ if (i == 5000) - break; - } - -diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c -index afed701..684ce75 100644 ---- a/drivers/platform/x86/acer-wmi.c -+++ b/drivers/platform/x86/acer-wmi.c -@@ -1204,6 +1204,9 @@ static acpi_status WMID_set_capabilities(void) - devices = *((u32 *) obj->buffer.pointer); - } else if (obj->type == ACPI_TYPE_INTEGER) { - devices = (u32) obj->integer.value; -+ } else { -+ kfree(out.pointer); -+ return AE_ERROR; - } - } else { - kfree(out.pointer); -diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c -index b8ad71f..0fe987f 100644 ---- a/drivers/platform/x86/sony-laptop.c -+++ b/drivers/platform/x86/sony-laptop.c -@@ -1534,7 +1534,7 @@ static int sony_nc_rfkill_set(void *data, bool blocked) - int argument = sony_rfkill_address[(long) data] + 0x100; - - if (!blocked) -- argument |= 0x030000; -+ argument |= 0x070000; - - return sony_call_snc_handle(sony_rfkill_handle, argument, &result); - } -diff --git a/drivers/rtc/rtc-mv.c b/drivers/rtc/rtc-mv.c -index 57233c8..8f87fec 100644 ---- a/drivers/rtc/rtc-mv.c -+++ b/drivers/rtc/rtc-mv.c -@@ -14,6 +14,7 @@ - #include <linux/platform_device.h> - #include <linux/of.h> - #include <linux/delay.h> -+#include <linux/clk.h> - #include <linux/gfp.h> - #include <linux/module.h> - -@@ -41,6 +42,7 @@ struct rtc_plat_data { - struct rtc_device *rtc; - void __iomem *ioaddr; - int irq; -+ struct clk *clk; - }; - - static int mv_rtc_set_time(struct device *dev, struct rtc_time *tm) -@@ -221,6 +223,7 @@ static int mv_rtc_probe(struct platform_device *pdev) - struct rtc_plat_data *pdata; - resource_size_t size; - u32 rtc_time; -+ int ret = 0; - - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) -@@ -239,11 +242,17 @@ static int mv_rtc_probe(struct platform_device *pdev) - if (!pdata->ioaddr) - return -ENOMEM; - -+ pdata->clk = devm_clk_get(&pdev->dev, NULL); -+ /* Not all SoCs require a clock.*/ -+ if (!IS_ERR(pdata->clk)) -+ clk_prepare_enable(pdata->clk); -+ - /* make sure the 24 hours mode is enabled */ - rtc_time = readl(pdata->ioaddr + RTC_TIME_REG_OFFS); - if (rtc_time & RTC_HOURS_12H_MODE) { - dev_err(&pdev->dev, "24 Hours mode not supported.\n"); -- return -EINVAL; -+ ret = -EINVAL; -+ goto out; - } - - /* make sure it is actually functional */ -@@ -252,7 +261,8 @@ static int mv_rtc_probe(struct platform_device *pdev) - rtc_time = readl(pdata->ioaddr + RTC_TIME_REG_OFFS); - if (rtc_time == 0x01000000) { - dev_err(&pdev->dev, "internal RTC not ticking\n"); -- return -ENODEV; -+ ret = -ENODEV; -+ goto out; - } - } - -@@ -268,8 +278,10 @@ static int mv_rtc_probe(struct platform_device *pdev) - } else - pdata->rtc = rtc_device_register(pdev->name, &pdev->dev, - &mv_rtc_ops, THIS_MODULE); -- if (IS_ERR(pdata->rtc)) -- return PTR_ERR(pdata->rtc); -+ if (IS_ERR(pdata->rtc)) { -+ ret = PTR_ERR(pdata->rtc); -+ goto out; -+ } - - if (pdata->irq >= 0) { - writel(0, pdata->ioaddr + RTC_ALARM_INTERRUPT_MASK_REG_OFFS); -@@ -282,6 +294,11 @@ static int mv_rtc_probe(struct platform_device *pdev) - } - - return 0; -+out: -+ if (!IS_ERR(pdata->clk)) -+ clk_disable_unprepare(pdata->clk); -+ -+ return ret; - } - - static int __exit mv_rtc_remove(struct platform_device *pdev) -@@ -292,6 +309,9 @@ static int __exit mv_rtc_remove(struct platform_device *pdev) - device_init_wakeup(&pdev->dev, 0); - - rtc_device_unregister(pdata->rtc); -+ if (!IS_ERR(pdata->clk)) -+ clk_disable_unprepare(pdata->clk); -+ - return 0; - } - -diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c -index 865c64f..fed486bf 100644 ---- a/drivers/scsi/dc395x.c -+++ b/drivers/scsi/dc395x.c -@@ -3747,13 +3747,13 @@ static struct DeviceCtlBlk *device_alloc(struct AdapterCtlBlk *acb, - dcb->max_command = 1; - dcb->target_id = target; - dcb->target_lun = lun; -+ dcb->dev_mode = eeprom->target[target].cfg0; - #ifndef DC395x_NO_DISCONNECT - dcb->identify_msg = - IDENTIFY(dcb->dev_mode & NTC_DO_DISCONNECT, lun); - #else - dcb->identify_msg = IDENTIFY(0, lun); - #endif -- dcb->dev_mode = eeprom->target[target].cfg0; - dcb->inquiry7 = 0; - dcb->sync_mode = 0; - dcb->min_nego_period = clock_period[period_index]; -diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c -index 0144078..9f4e560 100644 ---- a/drivers/scsi/storvsc_drv.c -+++ b/drivers/scsi/storvsc_drv.c -@@ -467,6 +467,7 @@ static struct scatterlist *create_bounce_buffer(struct scatterlist *sgl, - if (!bounce_sgl) - return NULL; - -+ sg_init_table(bounce_sgl, num_pages); - for (i = 0; i < num_pages; i++) { - page_buf = alloc_page(GFP_ATOMIC); - if (!page_buf) -diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c -index 339f97f..42a2bf7 100644 ---- a/drivers/target/iscsi/iscsi_target.c -+++ b/drivers/target/iscsi/iscsi_target.c -@@ -3570,6 +3570,10 @@ check_rsp_state: - spin_lock_bh(&cmd->istate_lock); - cmd->i_state = ISTATE_SENT_STATUS; - spin_unlock_bh(&cmd->istate_lock); -+ -+ if (atomic_read(&conn->check_immediate_queue)) -+ return 1; -+ - continue; - } else if (ret == 2) { - /* Still must send status, -@@ -3659,7 +3663,7 @@ check_rsp_state: - } - - if (atomic_read(&conn->check_immediate_queue)) -- break; -+ return 1; - } - - return 0; -@@ -3703,12 +3707,15 @@ restart: - signal_pending(current)) - goto transport_err; - -+get_immediate: - ret = handle_immediate_queue(conn); - if (ret < 0) - goto transport_err; - - ret = handle_response_queue(conn); -- if (ret == -EAGAIN) -+ if (ret == 1) -+ goto get_immediate; -+ else if (ret == -EAGAIN) - goto restart; - else if (ret < 0) - goto transport_err; -diff --git a/drivers/target/target_core_pscsi.c b/drivers/target/target_core_pscsi.c -index 2bcfd79..55b9530 100644 ---- a/drivers/target/target_core_pscsi.c -+++ b/drivers/target/target_core_pscsi.c -@@ -940,7 +940,6 @@ pscsi_map_sg(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents, - bio = NULL; - } - -- page++; - len -= bytes; - data_len -= bytes; - off = 0; -diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index cbf7168..2a89588 100644 ---- a/drivers/usb/core/hub.c -+++ b/drivers/usb/core/hub.c -@@ -2538,70 +2538,35 @@ static int hub_port_wait_reset(struct usb_hub *hub, int port1, - if ((portstatus & USB_PORT_STAT_RESET)) - goto delay; - -- /* -- * Some buggy devices require a warm reset to be issued even -- * when the port appears not to be connected. -+ if (hub_port_warm_reset_required(hub, portstatus)) -+ return -ENOTCONN; -+ -+ /* Device went away? */ -+ if (!(portstatus & USB_PORT_STAT_CONNECTION)) -+ return -ENOTCONN; -+ -+ /* bomb out completely if the connection bounced. A USB 3.0 -+ * connection may bounce if multiple warm resets were issued, -+ * but the device may have successfully re-connected. Ignore it. - */ -- if (!warm) { -- /* -- * Some buggy devices can cause an NEC host controller -- * to transition to the "Error" state after a hot port -- * reset. This will show up as the port state in -- * "Inactive", and the port may also report a -- * disconnect. Forcing a warm port reset seems to make -- * the device work. -- * -- * See https://bugzilla.kernel.org/show_bug.cgi?id=41752 -- */ -- if (hub_port_warm_reset_required(hub, portstatus)) { -- int ret; -- -- if ((portchange & USB_PORT_STAT_C_CONNECTION)) -- clear_port_feature(hub->hdev, port1, -- USB_PORT_FEAT_C_CONNECTION); -- if (portchange & USB_PORT_STAT_C_LINK_STATE) -- clear_port_feature(hub->hdev, port1, -- USB_PORT_FEAT_C_PORT_LINK_STATE); -- if (portchange & USB_PORT_STAT_C_RESET) -- clear_port_feature(hub->hdev, port1, -- USB_PORT_FEAT_C_RESET); -- dev_dbg(hub->intfdev, "hot reset failed, warm reset port %d\n", -- port1); -- ret = hub_port_reset(hub, port1, -- udev, HUB_BH_RESET_TIME, -- true); -- if ((portchange & USB_PORT_STAT_C_CONNECTION)) -- clear_port_feature(hub->hdev, port1, -- USB_PORT_FEAT_C_CONNECTION); -- return ret; -- } -- /* Device went away? */ -- if (!(portstatus & USB_PORT_STAT_CONNECTION)) -- return -ENOTCONN; -- -- /* bomb out completely if the connection bounced */ -- if ((portchange & USB_PORT_STAT_C_CONNECTION)) -- return -ENOTCONN; -- -- if ((portstatus & USB_PORT_STAT_ENABLE)) { -- if (hub_is_wusb(hub)) -- udev->speed = USB_SPEED_WIRELESS; -- else if (hub_is_superspeed(hub->hdev)) -- udev->speed = USB_SPEED_SUPER; -- else if (portstatus & USB_PORT_STAT_HIGH_SPEED) -- udev->speed = USB_SPEED_HIGH; -- else if (portstatus & USB_PORT_STAT_LOW_SPEED) -- udev->speed = USB_SPEED_LOW; -- else -- udev->speed = USB_SPEED_FULL; -+ if (!hub_is_superspeed(hub->hdev) && -+ (portchange & USB_PORT_STAT_C_CONNECTION)) -+ return -ENOTCONN; -+ -+ if ((portstatus & USB_PORT_STAT_ENABLE)) { -+ if (!udev) - return 0; -- } -- } else { -- if (!(portstatus & USB_PORT_STAT_CONNECTION) || -- hub_port_warm_reset_required(hub, -- portstatus)) -- return -ENOTCONN; - -+ if (hub_is_wusb(hub)) -+ udev->speed = USB_SPEED_WIRELESS; -+ else if (hub_is_superspeed(hub->hdev)) -+ udev->speed = USB_SPEED_SUPER; -+ else if (portstatus & USB_PORT_STAT_HIGH_SPEED) -+ udev->speed = USB_SPEED_HIGH; -+ else if (portstatus & USB_PORT_STAT_LOW_SPEED) -+ udev->speed = USB_SPEED_LOW; -+ else -+ udev->speed = USB_SPEED_FULL; - return 0; - } - -@@ -2619,16 +2584,16 @@ delay: - } - - static void hub_port_finish_reset(struct usb_hub *hub, int port1, -- struct usb_device *udev, int *status, bool warm) -+ struct usb_device *udev, int *status) - { - switch (*status) { - case 0: -- if (!warm) { -- struct usb_hcd *hcd; -- /* TRSTRCY = 10 ms; plus some extra */ -- msleep(10 + 40); -+ /* TRSTRCY = 10 ms; plus some extra */ -+ msleep(10 + 40); -+ if (udev) { -+ struct usb_hcd *hcd = bus_to_hcd(udev->bus); -+ - update_devnum(udev, 0); -- hcd = bus_to_hcd(udev->bus); - /* The xHC may think the device is already reset, - * so ignore the status. - */ -@@ -2640,14 +2605,15 @@ static void hub_port_finish_reset(struct usb_hub *hub, int port1, - case -ENODEV: - clear_port_feature(hub->hdev, - port1, USB_PORT_FEAT_C_RESET); -- /* FIXME need disconnect() for NOTATTACHED device */ - if (hub_is_superspeed(hub->hdev)) { - clear_port_feature(hub->hdev, port1, - USB_PORT_FEAT_C_BH_PORT_RESET); - clear_port_feature(hub->hdev, port1, - USB_PORT_FEAT_C_PORT_LINK_STATE); -+ clear_port_feature(hub->hdev, port1, -+ USB_PORT_FEAT_C_CONNECTION); - } -- if (!warm) -+ if (udev) - usb_set_device_state(udev, *status - ? USB_STATE_NOTATTACHED - : USB_STATE_DEFAULT); -@@ -2660,18 +2626,30 @@ static int hub_port_reset(struct usb_hub *hub, int port1, - struct usb_device *udev, unsigned int delay, bool warm) - { - int i, status; -+ u16 portchange, portstatus; - -- if (!warm) { -- /* Block EHCI CF initialization during the port reset. -- * Some companion controllers don't like it when they mix. -- */ -- down_read(&ehci_cf_port_reset_rwsem); -- } else { -- if (!hub_is_superspeed(hub->hdev)) { -+ if (!hub_is_superspeed(hub->hdev)) { -+ if (warm) { - dev_err(hub->intfdev, "only USB3 hub support " - "warm reset\n"); - return -EINVAL; - } -+ /* Block EHCI CF initialization during the port reset. -+ * Some companion controllers don't like it when they mix. -+ */ -+ down_read(&ehci_cf_port_reset_rwsem); -+ } else if (!warm) { -+ /* -+ * If the caller hasn't explicitly requested a warm reset, -+ * double check and see if one is needed. -+ */ -+ status = hub_port_status(hub, port1, -+ &portstatus, &portchange); -+ if (status < 0) -+ goto done; -+ -+ if (hub_port_warm_reset_required(hub, portstatus)) -+ warm = true; - } - - /* Reset the port */ -@@ -2692,10 +2670,33 @@ static int hub_port_reset(struct usb_hub *hub, int port1, - status); - } - -- /* return on disconnect or reset */ -+ /* Check for disconnect or reset */ - if (status == 0 || status == -ENOTCONN || status == -ENODEV) { -- hub_port_finish_reset(hub, port1, udev, &status, warm); -- goto done; -+ hub_port_finish_reset(hub, port1, udev, &status); -+ -+ if (!hub_is_superspeed(hub->hdev)) -+ goto done; -+ -+ /* -+ * If a USB 3.0 device migrates from reset to an error -+ * state, re-issue the warm reset. -+ */ -+ if (hub_port_status(hub, port1, -+ &portstatus, &portchange) < 0) -+ goto done; -+ -+ if (!hub_port_warm_reset_required(hub, portstatus)) -+ goto done; -+ -+ /* -+ * If the port is in SS.Inactive or Compliance Mode, the -+ * hot or warm reset failed. Try another warm reset. -+ */ -+ if (!warm) { -+ dev_dbg(hub->intfdev, "hot reset failed, warm reset port %d\n", -+ port1); -+ warm = true; -+ } - } - - dev_dbg (hub->intfdev, -@@ -2709,7 +2710,7 @@ static int hub_port_reset(struct usb_hub *hub, int port1, - port1); - - done: -- if (!warm) -+ if (!hub_is_superspeed(hub->hdev)) - up_read(&ehci_cf_port_reset_rwsem); - - return status; -@@ -4740,12 +4741,21 @@ static void hub_events(void) - */ - if (hub_port_warm_reset_required(hub, portstatus)) { - int status; -+ struct usb_device *udev = -+ hub->ports[i - 1]->child; - - dev_dbg(hub_dev, "warm reset port %d\n", i); -- status = hub_port_reset(hub, i, NULL, -- HUB_BH_RESET_TIME, true); -- if (status < 0) -- hub_port_disable(hub, i, 1); -+ if (!udev) { -+ status = hub_port_reset(hub, i, -+ NULL, HUB_BH_RESET_TIME, -+ true); -+ if (status < 0) -+ hub_port_disable(hub, i, 1); -+ } else { -+ usb_lock_device(udev); -+ status = usb_reset_device(udev); -+ usb_unlock_device(udev); -+ } - connect_change = 0; - } - -diff --git a/drivers/usb/host/ehci-timer.c b/drivers/usb/host/ehci-timer.c -index f904071..20dbdcb 100644 ---- a/drivers/usb/host/ehci-timer.c -+++ b/drivers/usb/host/ehci-timer.c -@@ -113,15 +113,14 @@ static void ehci_poll_ASS(struct ehci_hcd *ehci) - - if (want != actual) { - -- /* Poll again later */ -- ehci_enable_event(ehci, EHCI_HRTIMER_POLL_ASS, true); -- ++ehci->ASS_poll_count; -- return; -+ /* Poll again later, but give up after about 20 ms */ -+ if (ehci->ASS_poll_count++ < 20) { -+ ehci_enable_event(ehci, EHCI_HRTIMER_POLL_ASS, true); -+ return; -+ } -+ ehci_dbg(ehci, "Waited too long for the async schedule status (%x/%x), giving up\n", -+ want, actual); - } -- -- if (ehci->ASS_poll_count > 20) -- ehci_dbg(ehci, "ASS poll count reached %d\n", -- ehci->ASS_poll_count); - ehci->ASS_poll_count = 0; - - /* The status is up-to-date; restart or stop the schedule as needed */ -@@ -160,14 +159,14 @@ static void ehci_poll_PSS(struct ehci_hcd *ehci) - - if (want != actual) { - -- /* Poll again later */ -- ehci_enable_event(ehci, EHCI_HRTIMER_POLL_PSS, true); -- return; -+ /* Poll again later, but give up after about 20 ms */ -+ if (ehci->PSS_poll_count++ < 20) { -+ ehci_enable_event(ehci, EHCI_HRTIMER_POLL_PSS, true); -+ return; -+ } -+ ehci_dbg(ehci, "Waited too long for the periodic schedule status (%x/%x), giving up\n", -+ want, actual); - } -- -- if (ehci->PSS_poll_count > 20) -- ehci_dbg(ehci, "PSS poll count reached %d\n", -- ehci->PSS_poll_count); - ehci->PSS_poll_count = 0; - - /* The status is up-to-date; restart or stop the schedule as needed */ -diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c -index 85b363a..d39dfa4 100644 ---- a/drivers/w1/masters/w1-gpio.c -+++ b/drivers/w1/masters/w1-gpio.c -@@ -72,7 +72,7 @@ static int w1_gpio_probe_dt(struct platform_device *pdev) - return 0; - } - --static int __init w1_gpio_probe(struct platform_device *pdev) -+static int w1_gpio_probe(struct platform_device *pdev) - { - struct w1_bus_master *master; - struct w1_gpio_platform_data *pdata; -diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig -index 7f809fd..19fa73a 100644 ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -79,6 +79,7 @@ config DA9052_WATCHDOG - config DA9055_WATCHDOG - tristate "Dialog Semiconductor DA9055 Watchdog" - depends on MFD_DA9055 -+ select WATCHDOG_CORE - help - If you say yes here you get support for watchdog on the Dialog - Semiconductor DA9055 PMIC. -diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c -index 2b0e000..e3b8f75 100644 ---- a/drivers/watchdog/sp5100_tco.c -+++ b/drivers/watchdog/sp5100_tco.c -@@ -361,7 +361,7 @@ static unsigned char sp5100_tco_setupdevice(void) - { - struct pci_dev *dev = NULL; - const char *dev_name = NULL; -- u32 val; -+ u32 val, tmp_val; - u32 index_reg, data_reg, base_addr; - - /* Match the PCI device */ -@@ -497,30 +497,19 @@ static unsigned char sp5100_tco_setupdevice(void) - pr_debug("Got 0x%04x from resource tree\n", val); - } - -- /* Restore to the low three bits, if chipset is SB8x0(or later) */ -- if (sp5100_tco_pci->revision >= 0x40) { -- u8 reserved_bit; -- reserved_bit = inb(base_addr) & 0x7; -- val |= (u32)reserved_bit; -- } -+ /* 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); -- /* Low three bits of BASE are reserved */ -- outb((val >> 0) & 0xf8, data_reg); -+ outb((tmp_val >> 0) & 0xff, data_reg); - outb(base_addr+1, index_reg); -- outb((val >> 8) & 0xff, data_reg); -+ outb((tmp_val >> 8) & 0xff, data_reg); - outb(base_addr+2, index_reg); -- outb((val >> 16) & 0xff, data_reg); -+ outb((tmp_val >> 16) & 0xff, data_reg); - outb(base_addr+3, index_reg); -- outb((val >> 24) & 0xff, data_reg); -- -- /* -- * Clear unnecessary the low three bits, -- * if chipset is SB8x0(or later) -- */ -- if (sp5100_tco_pci->revision >= 0x40) -- val &= ~0x7; -+ outb((tmp_val >> 24) & 0xff, data_reg); - - if (!request_mem_region_exclusive(val, SP5100_WDT_MEM_MAP_SIZE, - dev_name)) { -diff --git a/drivers/xen/xenbus/xenbus_client.c b/drivers/xen/xenbus/xenbus_client.c -index bcf3ba4..61786be 100644 ---- a/drivers/xen/xenbus/xenbus_client.c -+++ b/drivers/xen/xenbus/xenbus_client.c -@@ -30,6 +30,7 @@ - * IN THE SOFTWARE. - */ - -+#include <linux/mm.h> - #include <linux/slab.h> - #include <linux/types.h> - #include <linux/spinlock.h> -diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c -index cc93b23..659ea81 100644 ---- a/fs/btrfs/inode.c -+++ b/fs/btrfs/inode.c -@@ -265,6 +265,7 @@ static noinline int cow_file_range_inline(struct btrfs_trans_handle *trans, - return 1; - } - -+ set_bit(BTRFS_INODE_NEEDS_FULL_SYNC, &BTRFS_I(inode)->runtime_flags); - btrfs_delalloc_release_metadata(inode, end + 1 - start); - btrfs_drop_extent_cache(inode, start, aligned_end - 1, 0); - return 0; -@@ -2469,6 +2470,7 @@ int btrfs_orphan_cleanup(struct btrfs_root *root) - */ - set_bit(BTRFS_INODE_HAS_ORPHAN_ITEM, - &BTRFS_I(inode)->runtime_flags); -+ atomic_inc(&root->orphan_inodes); - - /* if we have links, this was a truncate, lets do that */ - if (inode->i_nlink) { -@@ -2491,6 +2493,8 @@ int btrfs_orphan_cleanup(struct btrfs_root *root) - goto out; - - ret = btrfs_truncate(inode); -+ if (ret) -+ btrfs_orphan_del(NULL, inode); - } else { - nr_unlink++; - } -diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c -index 9027bb1..b6818ee 100644 ---- a/fs/btrfs/tree-log.c -+++ b/fs/btrfs/tree-log.c -@@ -3281,6 +3281,7 @@ static int log_one_extent(struct btrfs_trans_handle *trans, - int ret; - bool skip_csum = BTRFS_I(inode)->flags & BTRFS_INODE_NODATASUM; - -+insert: - INIT_LIST_HEAD(&ordered_sums); - btrfs_init_map_token(&token); - key.objectid = btrfs_ino(inode); -@@ -3296,6 +3297,23 @@ static int log_one_extent(struct btrfs_trans_handle *trans, - leaf = path->nodes[0]; - fi = btrfs_item_ptr(leaf, path->slots[0], - struct btrfs_file_extent_item); -+ -+ /* -+ * If we are overwriting an inline extent with a real one then we need -+ * to just delete the inline extent as it may not be large enough to -+ * have the entire file_extent_item. -+ */ -+ if (ret && btrfs_token_file_extent_type(leaf, fi, &token) == -+ BTRFS_FILE_EXTENT_INLINE) { -+ ret = btrfs_del_item(trans, log, path); -+ btrfs_release_path(path); -+ if (ret) { -+ path->really_keep_locks = 0; -+ return ret; -+ } -+ goto insert; -+ } -+ - btrfs_set_token_file_extent_generation(leaf, fi, em->generation, - &token); - if (test_bit(EXTENT_FLAG_PREALLOC, &em->flags)) { -diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c -index 5cbb7f4..ac8ff8d 100644 ---- a/fs/btrfs/volumes.c -+++ b/fs/btrfs/volumes.c -@@ -647,6 +647,7 @@ static int __btrfs_close_devices(struct btrfs_fs_devices *fs_devices) - new_device->writeable = 0; - new_device->in_fs_metadata = 0; - new_device->can_discard = 0; -+ spin_lock_init(&new_device->io_lock); - list_replace_rcu(&device->dev_list, &new_device->dev_list); - - call_rcu(&device->rcu, free_device); -diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c -index de7f916..e328339 100644 ---- a/fs/cifs/cifsfs.c -+++ b/fs/cifs/cifsfs.c -@@ -558,6 +558,11 @@ cifs_get_root(struct smb_vol *vol, struct super_block *sb) - dentry = ERR_PTR(-ENOENT); - break; - } -+ if (!S_ISDIR(dir->i_mode)) { -+ dput(dentry); -+ dentry = ERR_PTR(-ENOTDIR); -+ break; -+ } - - /* skip separators */ - while (*s == sep) -diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c -index c9c7aa7..bceffe7 100644 ---- a/fs/cifs/smb2ops.c -+++ b/fs/cifs/smb2ops.c -@@ -744,4 +744,5 @@ struct smb_version_values smb30_values = { - .cap_unix = 0, - .cap_nt_find = SMB2_NT_FIND, - .cap_large_files = SMB2_LARGE_FILES, -+ .oplock_read = SMB2_OPLOCK_LEVEL_II, - }; -diff --git a/fs/compat.c b/fs/compat.c -index 015e1e1..a06dcbc 100644 ---- a/fs/compat.c -+++ b/fs/compat.c -@@ -558,6 +558,10 @@ ssize_t compat_rw_copy_check_uvector(int type, - } - *ret_pointer = iov; - -+ ret = -EFAULT; -+ if (!access_ok(VERIFY_READ, uvector, nr_segs*sizeof(*uvector))) -+ goto out; -+ - /* - * Single unix specification: - * We should -EINVAL if an element length is not >= 0 and fitting an -@@ -1080,17 +1084,12 @@ static ssize_t compat_do_readv_writev(int type, struct file *file, - if (!file->f_op) - goto out; - -- ret = -EFAULT; -- if (!access_ok(VERIFY_READ, uvector, nr_segs*sizeof(*uvector))) -- goto out; -- -- tot_len = compat_rw_copy_check_uvector(type, uvector, nr_segs, -+ ret = compat_rw_copy_check_uvector(type, uvector, nr_segs, - UIO_FASTIOV, iovstack, &iov); -- if (tot_len == 0) { -- ret = 0; -+ if (ret <= 0) - goto out; -- } - -+ tot_len = ret; - ret = rw_verify_area(type, file, pos, tot_len); - if (ret < 0) - goto out; -diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c -index 2f2e0da..92e68b3 100644 ---- a/fs/ext4/balloc.c -+++ b/fs/ext4/balloc.c -@@ -635,7 +635,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/mballoc.c b/fs/ext4/mballoc.c -index 061727a..28bbf9b 100644 ---- a/fs/ext4/mballoc.c -+++ b/fs/ext4/mballoc.c -@@ -3444,7 +3444,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); - } -@@ -4590,7 +4590,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; -@@ -4832,11 +4832,11 @@ int ext4_group_add_blocks(handle_t *handle, struct super_block *sb, - ext4_group_desc_csum_set(sb, 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), -+ atomic_add(EXT4_NUM_B2C(sbi, blocks_freed), - &sbi->s_flex_groups[flex_group].free_clusters); - } - -diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c -index 02824dc..1aab70d 100644 ---- a/fs/ext4/resize.c -+++ b/fs/ext4/resize.c -@@ -1247,7 +1247,7 @@ static int ext4_setup_new_descs(handle_t *handle, struct super_block *sb, - - ext4_inode_table_set(sb, gdp, group_data->inode_table); - ext4_free_group_clusters_set(sb, gdp, -- EXT4_B2C(sbi, group_data->free_blocks_count)); -+ EXT4_NUM_B2C(sbi, group_data->free_blocks_count)); - ext4_free_inodes_set(sb, gdp, EXT4_INODES_PER_GROUP(sb)); - if (ext4_has_group_desc_csum(sb)) - ext4_itable_unused_set(sb, gdp, -@@ -1349,7 +1349,7 @@ static void ext4_update_super(struct super_block *sb, - - /* Update the free space counts */ - percpu_counter_add(&sbi->s_freeclusters_counter, -- EXT4_B2C(sbi, free_blocks)); -+ EXT4_NUM_B2C(sbi, free_blocks)); - percpu_counter_add(&sbi->s_freeinodes_counter, - EXT4_INODES_PER_GROUP(sb) * flex_gd->count); - -@@ -1360,7 +1360,7 @@ 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_B2C(sbi, free_blocks), -+ atomic_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 0465f36..5fa223d 100644 ---- a/fs/ext4/super.c -+++ b/fs/ext4/super.c -@@ -3235,7 +3235,7 @@ int ext4_calculate_overhead(struct super_block *sb) - } - /* Add the journal blocks as well */ - if (sbi->s_journal) -- overhead += EXT4_B2C(sbi, sbi->s_journal->j_maxlen); -+ overhead += EXT4_NUM_B2C(sbi, sbi->s_journal->j_maxlen); - - sbi->s_overhead = overhead; - smp_wmb(); -diff --git a/fs/namei.c b/fs/namei.c -index 43a97ee..ec97aef 100644 ---- a/fs/namei.c -+++ b/fs/namei.c -@@ -693,8 +693,6 @@ void nd_jump_link(struct nameidata *nd, struct path *path) - nd->path = *path; - nd->inode = nd->path.dentry->d_inode; - nd->flags |= LOOKUP_JUMPED; -- -- BUG_ON(nd->inode->i_op->follow_link); - } - - static inline void put_link(struct nameidata *nd, struct path *link, void *cookie) -diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c -index 194c484..49eeb04 100644 ---- a/fs/nfs/nfs4filelayout.c -+++ b/fs/nfs/nfs4filelayout.c -@@ -99,7 +99,8 @@ static void filelayout_reset_write(struct nfs_write_data *data) - - task->tk_status = pnfs_write_done_resend_to_mds(hdr->inode, - &hdr->pages, -- hdr->completion_ops); -+ hdr->completion_ops, -+ hdr->dreq); - } - } - -@@ -119,7 +120,8 @@ static void filelayout_reset_read(struct nfs_read_data *data) - - task->tk_status = pnfs_read_done_resend_to_mds(hdr->inode, - &hdr->pages, -- hdr->completion_ops); -+ hdr->completion_ops, -+ hdr->dreq); - } - } - -diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c -index efda60d..3cb5e77 100644 ---- a/fs/nfs/nfs4proc.c -+++ b/fs/nfs/nfs4proc.c -@@ -6087,11 +6087,13 @@ static struct page **nfs4_alloc_pages(size_t size, gfp_t gfp_flags) - static void nfs4_layoutget_release(void *calldata) - { - struct nfs4_layoutget *lgp = calldata; -- struct nfs_server *server = NFS_SERVER(lgp->args.inode); -+ struct inode *inode = lgp->args.inode; -+ struct nfs_server *server = NFS_SERVER(inode); - size_t max_pages = max_response_pages(server); - - dprintk("--> %s\n", __func__); - nfs4_free_pages(lgp->args.layout.pages, max_pages); -+ pnfs_put_layout_hdr(NFS_I(inode)->layout); - put_nfs_open_context(lgp->args.ctx); - kfree(calldata); - dprintk("<-- %s\n", __func__); -@@ -6106,7 +6108,8 @@ static const struct rpc_call_ops nfs4_layoutget_call_ops = { - struct pnfs_layout_segment * - nfs4_proc_layoutget(struct nfs4_layoutget *lgp, gfp_t gfp_flags) - { -- struct nfs_server *server = NFS_SERVER(lgp->args.inode); -+ struct inode *inode = lgp->args.inode; -+ struct nfs_server *server = NFS_SERVER(inode); - size_t max_pages = max_response_pages(server); - struct rpc_task *task; - struct rpc_message msg = { -@@ -6136,6 +6139,10 @@ nfs4_proc_layoutget(struct nfs4_layoutget *lgp, gfp_t gfp_flags) - lgp->res.layoutp = &lgp->args.layout; - lgp->res.seq_res.sr_slot = NULL; - nfs41_init_sequence(&lgp->args.seq_args, &lgp->res.seq_res, 0); -+ -+ /* nfs4_layoutget_release calls pnfs_put_layout_hdr */ -+ pnfs_get_layout_hdr(NFS_I(inode)->layout); -+ - task = rpc_run_task(&task_setup_data); - if (IS_ERR(task)) - return ERR_CAST(task); -diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c -index 6be70f6..97767c8 100644 ---- a/fs/nfs/pnfs.c -+++ b/fs/nfs/pnfs.c -@@ -1422,13 +1422,15 @@ EXPORT_SYMBOL_GPL(pnfs_generic_pg_test); - - int pnfs_write_done_resend_to_mds(struct inode *inode, - struct list_head *head, -- const struct nfs_pgio_completion_ops *compl_ops) -+ const struct nfs_pgio_completion_ops *compl_ops, -+ struct nfs_direct_req *dreq) - { - struct nfs_pageio_descriptor pgio; - LIST_HEAD(failed); - - /* Resend all requests through the MDS */ - nfs_pageio_init_write(&pgio, inode, FLUSH_STABLE, compl_ops); -+ pgio.pg_dreq = dreq; - while (!list_empty(head)) { - struct nfs_page *req = nfs_list_entry(head->next); - -@@ -1463,7 +1465,8 @@ static void pnfs_ld_handle_write_error(struct nfs_write_data *data) - if (!test_and_set_bit(NFS_IOHDR_REDO, &hdr->flags)) - data->task.tk_status = pnfs_write_done_resend_to_mds(hdr->inode, - &hdr->pages, -- hdr->completion_ops); -+ hdr->completion_ops, -+ hdr->dreq); - } - - /* -@@ -1578,13 +1581,15 @@ EXPORT_SYMBOL_GPL(pnfs_generic_pg_writepages); - - int pnfs_read_done_resend_to_mds(struct inode *inode, - struct list_head *head, -- const struct nfs_pgio_completion_ops *compl_ops) -+ const struct nfs_pgio_completion_ops *compl_ops, -+ struct nfs_direct_req *dreq) - { - struct nfs_pageio_descriptor pgio; - LIST_HEAD(failed); - - /* Resend all requests through the MDS */ - nfs_pageio_init_read(&pgio, inode, compl_ops); -+ pgio.pg_dreq = dreq; - while (!list_empty(head)) { - struct nfs_page *req = nfs_list_entry(head->next); - -@@ -1615,7 +1620,8 @@ static void pnfs_ld_handle_read_error(struct nfs_read_data *data) - if (!test_and_set_bit(NFS_IOHDR_REDO, &hdr->flags)) - data->task.tk_status = pnfs_read_done_resend_to_mds(hdr->inode, - &hdr->pages, -- hdr->completion_ops); -+ hdr->completion_ops, -+ hdr->dreq); - } - - /* -diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h -index 97cb358..94ba804 100644 ---- a/fs/nfs/pnfs.h -+++ b/fs/nfs/pnfs.h -@@ -230,9 +230,11 @@ struct pnfs_layout_segment *pnfs_update_layout(struct inode *ino, - - void nfs4_deviceid_mark_client_invalid(struct nfs_client *clp); - int pnfs_read_done_resend_to_mds(struct inode *inode, struct list_head *head, -- const struct nfs_pgio_completion_ops *compl_ops); -+ const struct nfs_pgio_completion_ops *compl_ops, -+ struct nfs_direct_req *dreq); - int pnfs_write_done_resend_to_mds(struct inode *inode, struct list_head *head, -- const struct nfs_pgio_completion_ops *compl_ops); -+ const struct nfs_pgio_completion_ops *compl_ops, -+ struct nfs_direct_req *dreq); - struct nfs4_threshold *pnfs_mdsthreshold_alloc(void); - - /* nfs4_deviceid_flags */ -diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c -index 3f79c77..6edc807 100644 ---- a/fs/nfs/unlink.c -+++ b/fs/nfs/unlink.c -@@ -336,20 +336,14 @@ static void nfs_async_rename_done(struct rpc_task *task, void *calldata) - struct inode *old_dir = data->old_dir; - struct inode *new_dir = data->new_dir; - struct dentry *old_dentry = data->old_dentry; -- struct dentry *new_dentry = data->new_dentry; - - if (!NFS_PROTO(old_dir)->rename_done(task, old_dir, new_dir)) { - rpc_restart_call_prepare(task); - return; - } - -- if (task->tk_status != 0) { -+ if (task->tk_status != 0) - nfs_cancel_async_unlink(old_dentry); -- return; -- } -- -- d_drop(old_dentry); -- d_drop(new_dentry); - } - - /** -@@ -550,6 +544,18 @@ nfs_sillyrename(struct inode *dir, struct dentry *dentry) - error = rpc_wait_for_completion_task(task); - if (error == 0) - error = task->tk_status; -+ switch (error) { -+ case 0: -+ /* The rename succeeded */ -+ nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); -+ d_move(dentry, sdentry); -+ break; -+ case -ERESTARTSYS: -+ /* The result of the rename is unknown. Play it safe by -+ * forcing a new lookup */ -+ d_drop(dentry); -+ d_drop(sdentry); -+ } - rpc_put_task(task); - out_dput: - dput(sdentry); -diff --git a/fs/pipe.c b/fs/pipe.c -index bd3479d..8e2e73f 100644 ---- a/fs/pipe.c -+++ b/fs/pipe.c -@@ -863,6 +863,9 @@ pipe_rdwr_open(struct inode *inode, struct file *filp) - { - int ret = -ENOENT; - -+ if (!(filp->f_mode & (FMODE_READ|FMODE_WRITE))) -+ return -EINVAL; -+ - mutex_lock(&inode->i_mutex); - - if (inode->i_pipe) { -diff --git a/fs/proc/namespaces.c b/fs/proc/namespaces.c -index b7a4719..66b51c0 100644 ---- a/fs/proc/namespaces.c -+++ b/fs/proc/namespaces.c -@@ -118,7 +118,7 @@ static void *proc_ns_follow_link(struct dentry *dentry, struct nameidata *nd) - struct super_block *sb = inode->i_sb; - struct proc_inode *ei = PROC_I(inode); - struct task_struct *task; -- struct dentry *ns_dentry; -+ struct path ns_path; - void *error = ERR_PTR(-EACCES); - - task = get_proc_task(inode); -@@ -128,14 +128,14 @@ static void *proc_ns_follow_link(struct dentry *dentry, struct nameidata *nd) - if (!ptrace_may_access(task, PTRACE_MODE_READ)) - goto out_put_task; - -- ns_dentry = proc_ns_get_dentry(sb, task, ei->ns_ops); -- if (IS_ERR(ns_dentry)) { -- error = ERR_CAST(ns_dentry); -+ ns_path.dentry = proc_ns_get_dentry(sb, task, ei->ns_ops); -+ if (IS_ERR(ns_path.dentry)) { -+ error = ERR_CAST(ns_path.dentry); - goto out_put_task; - } - -- dput(nd->path.dentry); -- nd->path.dentry = ns_dentry; -+ ns_path.mnt = mntget(nd->path.mnt); -+ nd_jump_link(nd, &ns_path); - error = NULL; - - out_put_task: -diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h -index bf6afa2..a5cda3e 100644 ---- a/include/linux/device-mapper.h -+++ b/include/linux/device-mapper.h -@@ -68,8 +68,8 @@ typedef void (*dm_postsuspend_fn) (struct dm_target *ti); - typedef int (*dm_preresume_fn) (struct dm_target *ti); - typedef void (*dm_resume_fn) (struct dm_target *ti); - --typedef int (*dm_status_fn) (struct dm_target *ti, status_type_t status_type, -- unsigned status_flags, char *result, unsigned maxlen); -+typedef void (*dm_status_fn) (struct dm_target *ti, status_type_t status_type, -+ unsigned status_flags, char *result, unsigned maxlen); - - typedef int (*dm_message_fn) (struct dm_target *ti, unsigned argc, char **argv); - -diff --git a/include/linux/mfd/rtsx_pci.h b/include/linux/mfd/rtsx_pci.h -index 4b117a3..acf4d31 100644 ---- a/include/linux/mfd/rtsx_pci.h -+++ b/include/linux/mfd/rtsx_pci.h -@@ -735,6 +735,7 @@ struct rtsx_pcr { - - unsigned int card_inserted; - unsigned int card_removed; -+ unsigned int card_exist; - - struct delayed_work carddet_work; - struct delayed_work idle_work; -@@ -799,6 +800,7 @@ int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock, - u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk); - int rtsx_pci_card_power_on(struct rtsx_pcr *pcr, int card); - int rtsx_pci_card_power_off(struct rtsx_pcr *pcr, int card); -+int rtsx_pci_card_exclusive_check(struct rtsx_pcr *pcr, int card); - int rtsx_pci_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage); - unsigned int rtsx_pci_card_exist(struct rtsx_pcr *pcr); - void rtsx_pci_complete_unfinished_transfer(struct rtsx_pcr *pcr); -diff --git a/ipc/msg.c b/ipc/msg.c -index 950572f..31cd1bf 100644 ---- a/ipc/msg.c -+++ b/ipc/msg.c -@@ -820,15 +820,17 @@ long do_msgrcv(int msqid, void __user *buf, size_t bufsz, long msgtyp, - struct msg_msg *copy = NULL; - unsigned long copy_number = 0; - -+ ns = current->nsproxy->ipc_ns; -+ - if (msqid < 0 || (long) bufsz < 0) - return -EINVAL; - if (msgflg & MSG_COPY) { -- copy = prepare_copy(buf, bufsz, msgflg, &msgtyp, ©_number); -+ copy = prepare_copy(buf, min_t(size_t, bufsz, ns->msg_ctlmax), -+ msgflg, &msgtyp, ©_number); - if (IS_ERR(copy)) - return PTR_ERR(copy); - } - mode = convert_mode(&msgtyp, msgflg); -- ns = current->nsproxy->ipc_ns; - - msq = msg_lock_check(ns, msqid); - if (IS_ERR(msq)) { -diff --git a/ipc/msgutil.c b/ipc/msgutil.c -index ebfcbfa..5df8e4b 100644 ---- a/ipc/msgutil.c -+++ b/ipc/msgutil.c -@@ -117,9 +117,6 @@ struct msg_msg *copy_msg(struct msg_msg *src, struct msg_msg *dst) - if (alen > DATALEN_MSG) - alen = DATALEN_MSG; - -- dst->next = NULL; -- dst->security = NULL; -- - memcpy(dst + 1, src + 1, alen); - - len -= alen; -diff --git a/kernel/fork.c b/kernel/fork.c -index c535f33..5630e52 100644 ---- a/kernel/fork.c -+++ b/kernel/fork.c -@@ -1141,6 +1141,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, - if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS)) - return ERR_PTR(-EINVAL); - -+ if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) -+ return ERR_PTR(-EINVAL); -+ - /* - * Thread groups must share signals as well, and detached threads - * can only be started up within the thread group. -@@ -1801,7 +1804,7 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags) - * If unsharing a user namespace must also unshare the thread. - */ - if (unshare_flags & CLONE_NEWUSER) -- unshare_flags |= CLONE_THREAD; -+ unshare_flags |= CLONE_THREAD | CLONE_FS; - /* - * If unsharing a pid namespace must also unshare the thread. - */ -diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c -index d58e552..e78feff 100644 ---- a/kernel/time/tick-sched.c -+++ b/kernel/time/tick-sched.c -@@ -564,14 +564,19 @@ void tick_nohz_idle_enter(void) - */ - void tick_nohz_irq_exit(void) - { -+ unsigned long flags; - struct tick_sched *ts = &__get_cpu_var(tick_cpu_sched); - - if (!ts->inidle) - return; - -- /* Cancel the timer because CPU already waken up from the C-states*/ -+ local_irq_save(flags); -+ -+ /* Cancel the timer because CPU already waken up from the C-states */ - menu_hrtimer_cancel(); - __tick_nohz_idle_enter(ts); -+ -+ local_irq_restore(flags); - } - - /** -diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig -index 5d89335..2747967 100644 ---- a/kernel/trace/Kconfig -+++ b/kernel/trace/Kconfig -@@ -416,24 +416,28 @@ config PROBE_EVENTS - def_bool n - - config DYNAMIC_FTRACE -- bool "enable/disable ftrace tracepoints dynamically" -+ bool "enable/disable function tracing dynamically" - depends on FUNCTION_TRACER - depends on HAVE_DYNAMIC_FTRACE - default y - help -- This option will modify all the calls to ftrace dynamically -- (will patch them out of the binary image and replace them -- with a No-Op instruction) as they are called. A table is -- created to dynamically enable them again. -+ This option will modify all the calls to function tracing -+ dynamically (will patch them out of the binary image and -+ replace them with a No-Op instruction) on boot up. During -+ compile time, a table is made of all the locations that ftrace -+ can function trace, and this table is linked into the kernel -+ image. When this is enabled, functions can be individually -+ enabled, and the functions not enabled will not affect -+ performance of the system. -+ -+ See the files in /sys/kernel/debug/tracing: -+ available_filter_functions -+ set_ftrace_filter -+ set_ftrace_notrace - - This way a CONFIG_FUNCTION_TRACER kernel is slightly larger, but - otherwise has native performance as long as no tracing is active. - -- The changes to the code are done by a kernel thread that -- wakes up once a second and checks to see if any ftrace calls -- were made. If so, it runs stop_machine (stops all CPUS) -- and modifies the code to jump over the call to ftrace. -- - config FUNCTION_PROFILER - bool "Kernel function profiler" - depends on FUNCTION_TRACER -diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c -index 2b042c4..dbfe36a7 100644 ---- a/kernel/user_namespace.c -+++ b/kernel/user_namespace.c -@@ -21,6 +21,7 @@ - #include <linux/uaccess.h> - #include <linux/ctype.h> - #include <linux/projid.h> -+#include <linux/fs_struct.h> - - static struct kmem_cache *user_ns_cachep __read_mostly; - -@@ -803,6 +804,9 @@ static int userns_install(struct nsproxy *nsproxy, void *ns) - if (atomic_read(¤t->mm->mm_users) > 1) - return -EINVAL; - -+ if (current->fs->users != 1) -+ return -EINVAL; -+ - if (!ns_capable(user_ns, CAP_SYS_ADMIN)) - return -EPERM; - -diff --git a/mm/mempolicy.c b/mm/mempolicy.c -index e2df1c1..3df6d12 100644 ---- a/mm/mempolicy.c -+++ b/mm/mempolicy.c -@@ -2386,8 +2386,8 @@ restart: - *mpol_new = *n->policy; - atomic_set(&mpol_new->refcnt, 1); - sp_node_init(n_new, n->end, end, mpol_new); -- sp_insert(sp, n_new); - n->end = start; -+ sp_insert(sp, n_new); - n_new = NULL; - mpol_new = NULL; - break; -diff --git a/mm/process_vm_access.c b/mm/process_vm_access.c -index 926b466..fd26d04 100644 ---- a/mm/process_vm_access.c -+++ b/mm/process_vm_access.c -@@ -429,12 +429,6 @@ compat_process_vm_rw(compat_pid_t pid, - if (flags != 0) - return -EINVAL; - -- if (!access_ok(VERIFY_READ, lvec, liovcnt * sizeof(*lvec))) -- goto out; -- -- if (!access_ok(VERIFY_READ, rvec, riovcnt * sizeof(*rvec))) -- goto out; -- - if (vm_write) - rc = compat_rw_copy_check_uvector(WRITE, lvec, liovcnt, - UIO_FASTIOV, iovstack_l, -@@ -459,8 +453,6 @@ free_iovecs: - kfree(iov_r); - if (iov_l != iovstack_l) - kfree(iov_l); -- --out: - return rc; - } - -diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c -index f651da6..76c3d0a 100644 ---- a/net/ieee802154/6lowpan.c -+++ b/net/ieee802154/6lowpan.c -@@ -1234,7 +1234,7 @@ static inline int __init lowpan_netlink_init(void) - return rtnl_link_register(&lowpan_link_ops); - } - --static inline void __init lowpan_netlink_fini(void) -+static inline void lowpan_netlink_fini(void) - { - rtnl_link_unregister(&lowpan_link_ops); - } -diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c -index f75ba1a..9979bf8 100644 ---- a/net/mac80211/mlme.c -+++ b/net/mac80211/mlme.c -@@ -4072,6 +4072,17 @@ void ieee80211_mgd_stop(struct ieee80211_sub_if_data *sdata) - { - struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; - -+ /* -+ * Make sure some work items will not run after this, -+ * they will not do anything but might not have been -+ * cancelled when disconnecting. -+ */ -+ cancel_work_sync(&ifmgd->monitor_work); -+ cancel_work_sync(&ifmgd->beacon_connection_loss_work); -+ cancel_work_sync(&ifmgd->request_smps_work); -+ cancel_work_sync(&ifmgd->csa_connection_drop_work); -+ cancel_work_sync(&ifmgd->chswitch_work); -+ - mutex_lock(&ifmgd->mtx); - if (ifmgd->assoc_data) - ieee80211_destroy_assoc_data(sdata, false); -diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c -index 33811db..ab02588 100644 ---- a/net/sunrpc/xprt.c -+++ b/net/sunrpc/xprt.c -@@ -485,13 +485,17 @@ EXPORT_SYMBOL_GPL(xprt_wake_pending_tasks); - * xprt_wait_for_buffer_space - wait for transport output buffer to clear - * @task: task to be put to sleep - * @action: function pointer to be executed after wait -+ * -+ * Note that we only set the timer for the case of RPC_IS_SOFT(), since -+ * we don't in general want to force a socket disconnection due to -+ * an incomplete RPC call transmission. - */ - void xprt_wait_for_buffer_space(struct rpc_task *task, rpc_action action) - { - struct rpc_rqst *req = task->tk_rqstp; - struct rpc_xprt *xprt = req->rq_xprt; - -- task->tk_timeout = req->rq_timeout; -+ task->tk_timeout = RPC_IS_SOFT(task) ? req->rq_timeout : 0; - rpc_sleep_on(&xprt->pending, task, action); - } - EXPORT_SYMBOL_GPL(xprt_wait_for_buffer_space); -diff --git a/security/keys/compat.c b/security/keys/compat.c -index 1c26176..d65fa7f 100644 ---- a/security/keys/compat.c -+++ b/security/keys/compat.c -@@ -40,12 +40,12 @@ static long compat_keyctl_instantiate_key_iov( - ARRAY_SIZE(iovstack), - iovstack, &iov); - if (ret < 0) -- return ret; -+ goto err; - if (ret == 0) - goto no_payload_free; - - ret = keyctl_instantiate_key_common(id, iov, ioc, ret, ringid); -- -+err: - if (iov != iovstack) - kfree(iov); - return ret; -diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c -index 58dfe08..42defae 100644 ---- a/security/keys/process_keys.c -+++ b/security/keys/process_keys.c -@@ -57,7 +57,7 @@ int install_user_keyrings(void) - - kenter("%p{%u}", user, uid); - -- if (user->uid_keyring) { -+ if (user->uid_keyring && user->session_keyring) { - kleave(" = 0 [exist]"); - return 0; - } -@@ -839,7 +839,7 @@ void key_change_session_keyring(struct callback_head *twork) - new-> sgid = old-> sgid; - new->fsgid = old->fsgid; - new->user = get_uid(old->user); -- new->user_ns = get_user_ns(new->user_ns); -+ new->user_ns = get_user_ns(old->user_ns); - new->group_info = get_group_info(old->group_info); - - new->securebits = old->securebits; -diff --git a/sound/core/vmaster.c b/sound/core/vmaster.c -index 8575861..0097f36 100644 ---- a/sound/core/vmaster.c -+++ b/sound/core/vmaster.c -@@ -213,7 +213,10 @@ static int slave_put(struct snd_kcontrol *kcontrol, - } - if (!changed) - return 0; -- return slave_put_val(slave, ucontrol); -+ err = slave_put_val(slave, ucontrol); -+ if (err < 0) -+ return err; -+ return 1; - } - - static int slave_tlv_cmd(struct snd_kcontrol *kcontrol, -diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c -index 2ffdc35..806407a 100644 ---- a/sound/pci/ice1712/ice1712.c -+++ b/sound/pci/ice1712/ice1712.c -@@ -2594,6 +2594,8 @@ static int snd_ice1712_create(struct snd_card *card, - snd_ice1712_proc_init(ice); - synchronize_irq(pci->irq); - -+ card->private_data = ice; -+ - err = pci_request_regions(pci, "ICE1712"); - if (err < 0) { - kfree(ice); diff --git a/3.8.3/0000_README b/3.8.4/0000_README index 072a299..db5e01b 100644 --- a/3.8.3/0000_README +++ b/3.8.4/0000_README @@ -2,15 +2,11 @@ README ----------------------------------------------------------------------------- Individual Patch Descriptions: ----------------------------------------------------------------------------- -Patch: 1001_linux-3.8.2.patch +Patch: 1003_linux-3.8.4.patch From: http://www.kernel.org -Desc: Linux 3.8.2 +Desc: Linux 3.8.4 -Patch: 1002_linux-3.8.3.patch -From: http://www.kernel.org -Desc: Linux 3.8.3 - -Patch: 4420_grsecurity-2.9.1-3.8.3-201303142235.patch +Patch: 4420_grsecurity-2.9.1-3.8.4-201303221826.patch From: http://www.grsecurity.net Desc: hardened-sources base patch from upstream grsecurity diff --git a/3.8.4/1003_linux-3.8.4.patch b/3.8.4/1003_linux-3.8.4.patch new file mode 100644 index 0000000..132702f --- /dev/null +++ b/3.8.4/1003_linux-3.8.4.patch @@ -0,0 +1,2902 @@ +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, ¶m_ops_uint, &share_irqs, 0644); ++ module_param_cb(nr_uarts, ¶m_ops_uint, &nr_uarts, 0644); ++ module_param_cb(skip_txen_test, ¶m_ops_uint, &skip_txen_test, 0644); ++#ifdef CONFIG_SERIAL_8250_RSA ++ __module_param_call(MODULE_PARAM_PREFIX, probe_rsa, ++ ¶m_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.3/4420_grsecurity-2.9.1-3.8.3-201303142235.patch b/3.8.4/4420_grsecurity-2.9.1-3.8.4-201303221826.patch index ef25e2b..dc85ee6 100644 --- a/3.8.3/4420_grsecurity-2.9.1-3.8.3-201303142235.patch +++ b/3.8.4/4420_grsecurity-2.9.1-3.8.4-201303221826.patch @@ -259,7 +259,7 @@ index 986614d..e8bfedc 100644 pcd. [PARIDE] diff --git a/Makefile b/Makefile -index 8c49fc9b..9a2af09 100644 +index e20f162..11365cc 100644 --- a/Makefile +++ b/Makefile @@ -241,8 +241,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ @@ -341,7 +341,7 @@ index 8c49fc9b..9a2af09 100644 +else + $(Q)echo "warning, your gcc version does not support plugins, you should upgrade it to gcc 4.5 at least" +endif -+ $(Q)echo "PAX_MEMORY_STACKLEAK and other features will be less secure" ++ $(Q)echo "PAX_MEMORY_STACKLEAK, constification, PAX_LATENT_ENTROPY and other features will be less secure. PAX_SIZE_OVERFLOW will not be active." +endif +endif + @@ -2838,7 +2838,7 @@ index 5f66206..dce492f 100644 }; diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c -index c6dec5f..f853532 100644 +index c6dec5f..e0fddd1 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -28,7 +28,6 @@ @@ -2885,6 +2885,18 @@ index c6dec5f..f853532 100644 #ifdef CONFIG_MMU /* * The vectors page is always readable from user space for the +@@ -470,9 +464,8 @@ static int __init gate_vma_init(void) + { + gate_vma.vm_start = 0xffff0000; + gate_vma.vm_end = 0xffff0000 + PAGE_SIZE; +- gate_vma.vm_page_prot = PAGE_READONLY_EXEC; +- gate_vma.vm_flags = VM_READ | VM_EXEC | +- VM_MAYREAD | VM_MAYEXEC; ++ gate_vma.vm_flags = VM_NONE; ++ gate_vma.vm_page_prot = vm_get_page_prot(gate_vma.vm_flags); + return 0; + } + arch_initcall(gate_vma_init); diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index 03deeff..741ce88 100644 --- a/arch/arm/kernel/ptrace.c @@ -2967,6 +2979,40 @@ index 3f6cbb2..6d856f5 100644 #endif #ifdef MULTI_TLB cpu_tlb = *list->tlb; +diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c +index 56f72d2..6924200 100644 +--- a/arch/arm/kernel/signal.c ++++ b/arch/arm/kernel/signal.c +@@ -433,22 +433,14 @@ setup_return(struct pt_regs *regs, struct k_sigaction *ka, + __put_user(sigreturn_codes[idx+1], rc+1)) + return 1; + +- if (cpsr & MODE32_BIT) { +- /* +- * 32-bit code can use the new high-page +- * signal return code support. +- */ +- retcode = KERN_SIGRETURN_CODE + (idx << 2) + thumb; +- } else { +- /* +- * Ensure that the instruction cache sees +- * the return code written onto the stack. +- */ +- flush_icache_range((unsigned long)rc, +- (unsigned long)(rc + 2)); ++ /* ++ * Ensure that the instruction cache sees ++ * the return code written onto the stack. ++ */ ++ flush_icache_range((unsigned long)rc, ++ (unsigned long)(rc + 2)); + +- retcode = ((unsigned long)rc) + thumb; +- } ++ retcode = ((unsigned long)rc) + thumb; + } + + regs->ARM_r0 = usig; diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 58af91c..343ce99 100644 --- a/arch/arm/kernel/smp.c @@ -2981,7 +3027,7 @@ index 58af91c..343ce99 100644 void __init smp_set_ops(struct smp_operations *ops) { diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c -index b0179b8..b7b16c7 100644 +index b0179b8..829510e 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -57,7 +57,7 @@ static void dump_mem(const char *, const char *, unsigned long, unsigned long); @@ -3022,9 +3068,17 @@ index b0179b8..b7b16c7 100644 } return 0; -@@ -849,5 +856,9 @@ void __init early_trap_init(void *vectors_base) - sigreturn_codes, sizeof(sigreturn_codes)); +@@ -841,13 +848,10 @@ void __init early_trap_init(void *vectors_base) + */ + kuser_get_tls_init(vectors); +- /* +- * Copy signal return handlers into the vector page, and +- * set sigreturn to be a pointer to these. +- */ +- memcpy((void *)(vectors + KERN_SIGRETURN_CODE - CONFIG_VECTORS_BASE), +- sigreturn_codes, sizeof(sigreturn_codes)); +- flush_icache_range(vectors, vectors + PAGE_SIZE); - modify_domain(DOMAIN_USER, DOMAIN_CLIENT); + @@ -3488,8 +3542,73 @@ index 3fd629d..8b1aca9 100644 help This option enables or disables the use of domain switching via the set_fs() function. +diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c +index db26e2e..ee44569 100644 +--- a/arch/arm/mm/alignment.c ++++ b/arch/arm/mm/alignment.c +@@ -211,10 +211,12 @@ union offset_union { + #define __get16_unaligned_check(ins,val,addr) \ + do { \ + unsigned int err = 0, v, a = addr; \ ++ pax_open_userland(); \ + __get8_unaligned_check(ins,v,a,err); \ + val = v << ((BE) ? 8 : 0); \ + __get8_unaligned_check(ins,v,a,err); \ + val |= v << ((BE) ? 0 : 8); \ ++ pax_close_userland(); \ + if (err) \ + goto fault; \ + } while (0) +@@ -228,6 +230,7 @@ union offset_union { + #define __get32_unaligned_check(ins,val,addr) \ + do { \ + unsigned int err = 0, v, a = addr; \ ++ pax_open_userland(); \ + __get8_unaligned_check(ins,v,a,err); \ + val = v << ((BE) ? 24 : 0); \ + __get8_unaligned_check(ins,v,a,err); \ +@@ -236,6 +239,7 @@ union offset_union { + val |= v << ((BE) ? 8 : 16); \ + __get8_unaligned_check(ins,v,a,err); \ + val |= v << ((BE) ? 0 : 24); \ ++ pax_close_userland(); \ + if (err) \ + goto fault; \ + } while (0) +@@ -249,6 +253,7 @@ union offset_union { + #define __put16_unaligned_check(ins,val,addr) \ + do { \ + unsigned int err = 0, v = val, a = addr; \ ++ pax_open_userland(); \ + __asm__( FIRST_BYTE_16 \ + ARM( "1: "ins" %1, [%2], #1\n" ) \ + THUMB( "1: "ins" %1, [%2]\n" ) \ +@@ -268,6 +273,7 @@ union offset_union { + " .popsection\n" \ + : "=r" (err), "=&r" (v), "=&r" (a) \ + : "0" (err), "1" (v), "2" (a)); \ ++ pax_close_userland(); \ + if (err) \ + goto fault; \ + } while (0) +@@ -281,6 +287,7 @@ union offset_union { + #define __put32_unaligned_check(ins,val,addr) \ + do { \ + unsigned int err = 0, v = val, a = addr; \ ++ pax_open_userland(); \ + __asm__( FIRST_BYTE_32 \ + ARM( "1: "ins" %1, [%2], #1\n" ) \ + THUMB( "1: "ins" %1, [%2]\n" ) \ +@@ -310,6 +317,7 @@ union offset_union { + " .popsection\n" \ + : "=r" (err), "=&r" (v), "=&r" (a) \ + : "0" (err), "1" (v), "2" (a)); \ ++ pax_close_userland(); \ + if (err) \ + goto fault; \ + } while (0) diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c -index 5dbf13f..6393f55 100644 +index 5dbf13f..1a60561 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c @@ -25,6 +25,7 @@ @@ -3511,10 +3630,10 @@ index 5dbf13f..6393f55 100644 + { + if (current->signal->curr_ip) + printk(KERN_ERR "PAX: From %pI4: %s:%d, uid/euid: %u/%u, attempted to modify kernel code\n", ¤t->signal->curr_ip, current->comm, task_pid_nr(current), -+ from_kuid(&init_user_ns, current_uid()), from_kuid(&init_user_ns, current_euid())); ++ from_kuid_munged(&init_user_ns, current_uid()), from_kuid_munged(&init_user_ns, current_euid())); + else + printk(KERN_ERR "PAX: %s:%d, uid/euid: %u/%u, attempted to modify kernel code\n", current->comm, task_pid_nr(current), -+ from_kuid(&init_user_ns, current_uid()), from_kuid(&init_user_ns, current_euid())); ++ from_kuid_munged(&init_user_ns, current_uid()), from_kuid_munged(&init_user_ns, current_euid())); + } +#endif + @@ -3577,10 +3696,10 @@ index 5dbf13f..6393f55 100644 + if (addr < TASK_SIZE && is_domain_fault(fsr)) { + if (current->signal->curr_ip) + printk(KERN_ERR "PAX: From %pI4: %s:%d, uid/euid: %u/%u, attempted to access userland memory at %08lx\n", ¤t->signal->curr_ip, current->comm, task_pid_nr(current), -+ from_kuid(&init_user_ns, current_uid()), from_kuid(&init_user_ns, current_euid()), addr); ++ from_kuid_munged(&init_user_ns, current_uid()), from_kuid_munged(&init_user_ns, current_euid()), addr); + else + printk(KERN_ERR "PAX: %s:%d, uid/euid: %u/%u, attempted to access userland memory at %08lx\n", current->comm, task_pid_nr(current), -+ from_kuid(&init_user_ns, current_uid()), from_kuid(&init_user_ns, current_euid()), addr); ++ from_kuid_munged(&init_user_ns, current_uid()), from_kuid_munged(&init_user_ns, current_euid()), addr); + goto die; + } +#endif @@ -3592,19 +3711,30 @@ index 5dbf13f..6393f55 100644 printk(KERN_ALERT "Unhandled fault: %s (0x%03x) at 0x%08lx\n", inf->name, fsr, addr); -@@ -575,9 +637,38 @@ do_PrefetchAbort(unsigned long addr, unsigned int ifsr, struct pt_regs *regs) +@@ -575,9 +637,49 @@ do_PrefetchAbort(unsigned long addr, unsigned int ifsr, struct pt_regs *regs) const struct fsr_info *inf = ifsr_info + fsr_fs(ifsr); struct siginfo info; ++ if (user_mode(regs)) { ++ if (addr == 0xffff0fe0UL) { ++ /* ++ * PaX: __kuser_get_tls emulation ++ */ ++ regs->ARM_r0 = current_thread_info()->tp_value; ++ regs->ARM_pc = regs->ARM_lr; ++ return; ++ } ++ } ++ +#if defined(CONFIG_PAX_KERNEXEC) || defined(CONFIG_PAX_MEMORY_UDEREF) -+ if (!user_mode(regs) && (is_domain_fault(ifsr) || is_xn_fault(ifsr))) { ++ else if (is_domain_fault(ifsr) || is_xn_fault(ifsr)) { + if (current->signal->curr_ip) + printk(KERN_ERR "PAX: From %pI4: %s:%d, uid/euid: %u/%u, attempted to execute %s memory at %08lx\n", ¤t->signal->curr_ip, current->comm, task_pid_nr(current), -+ from_kuid(&init_user_ns, current_uid()), from_kuid(&init_user_ns, current_euid()), ++ from_kuid_munged(&init_user_ns, current_uid()), from_kuid_munged(&init_user_ns, current_euid()), + addr >= TASK_SIZE ? "non-executable kernel" : "userland", addr); + else + printk(KERN_ERR "PAX: %s:%d, uid/euid: %u/%u, attempted to execute %s memory at %08lx\n", current->comm, task_pid_nr(current), -+ from_kuid(&init_user_ns, current_uid()), from_kuid(&init_user_ns, current_euid()), ++ from_kuid_munged(&init_user_ns, current_uid()), from_kuid_munged(&init_user_ns, current_euid()), + addr >= TASK_SIZE ? "non-executable kernel" : "userland", addr); + goto die; + } @@ -3847,7 +3977,7 @@ index 10062ce..aa96dd7 100644 mm->unmap_area = arch_unmap_area_topdown; } diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c -index ce328c7..f82bebb 100644 +index ce328c7..35b88dc 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c @@ -35,6 +35,23 @@ @@ -3924,7 +4054,8 @@ index ce328c7..f82bebb 100644 }, [MT_HIGH_VECTORS] = { .prot_pte = L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY | - L_PTE_USER | L_PTE_RDONLY, +- L_PTE_USER | L_PTE_RDONLY, ++ L_PTE_RDONLY, .prot_l1 = PMD_TYPE_TABLE, - .domain = DOMAIN_USER, + .domain = DOMAIN_VECTORS, @@ -6535,7 +6666,7 @@ index 4684e33..acc4d19e 100644 ld r4,_DAR(r1) bl .bad_page_fault diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S -index 4665e82..080ea99 100644 +index 3684cbd..bc89eab 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S @@ -1206,10 +1206,10 @@ handle_page_fault: @@ -12655,7 +12786,7 @@ index 0e1cbfc..5623683 100644 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) diff --git a/arch/x86/include/asm/bitops.h b/arch/x86/include/asm/bitops.h -index 6dfd019..0c6699f 100644 +index 6dfd019..28e188d 100644 --- a/arch/x86/include/asm/bitops.h +++ b/arch/x86/include/asm/bitops.h @@ -40,7 +40,7 @@ @@ -12667,6 +12798,15 @@ index 6dfd019..0c6699f 100644 #define CONST_MASK(nr) (1 << ((nr) & 7)) /** +@@ -486,7 +486,7 @@ static inline int fls(int x) + * at position 64. + */ + #ifdef CONFIG_X86_64 +-static __always_inline int fls64(__u64 x) ++static __always_inline long fls64(__u64 x) + { + int bitpos = -1; + /* diff --git a/arch/x86/include/asm/boot.h b/arch/x86/include/asm/boot.h index 4fa687a..60f2d39 100644 --- a/arch/x86/include/asm/boot.h @@ -12843,7 +12983,7 @@ index 2d9075e..b75a844 100644 "4:\n" ".previous\n" diff --git a/arch/x86/include/asm/desc.h b/arch/x86/include/asm/desc.h -index 8bf1c06..f723dfd 100644 +index 8bf1c06..b6ae785 100644 --- a/arch/x86/include/asm/desc.h +++ b/arch/x86/include/asm/desc.h @@ -4,6 +4,7 @@ @@ -12951,6 +13091,15 @@ index 8bf1c06..f723dfd 100644 } #define _LDT_empty(info) \ +@@ -287,7 +300,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)); + } @@ -311,7 +324,7 @@ static inline void set_desc_limit(struct desc_struct *desc, unsigned long limit) } @@ -13053,6 +13202,19 @@ index 278441f..b95a174 100644 }; } __attribute__((packed)); +diff --git a/arch/x86/include/asm/div64.h b/arch/x86/include/asm/div64.h +index ced283a..ffe04cc 100644 +--- a/arch/x86/include/asm/div64.h ++++ b/arch/x86/include/asm/div64.h +@@ -39,7 +39,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/elf.h b/arch/x86/include/asm/elf.h index 9c999c1..3860cb8 100644 --- a/arch/x86/include/asm/elf.h @@ -13256,9 +13418,26 @@ index a203659..9889f1c 100644 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); } @@ -13322,6 +13501,21 @@ index d3ddd17..c9fb0cc 100644 #define flush_insn_slot(p) do { } while (0) +diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h +index dc87b65..85039f9 100644 +--- a/arch/x86/include/asm/kvm_host.h ++++ b/arch/x86/include/asm/kvm_host.h +@@ -419,8 +419,8 @@ struct kvm_vcpu_arch { + gpa_t time; + struct pvclock_vcpu_time_info hv_clock; + unsigned int hw_tsc_khz; +- unsigned int time_offset; +- struct page *time_page; ++ struct gfn_to_hva_cache pv_time; ++ bool pv_time_enabled; + /* set guest stopped flag in pvclock flags field */ + bool pvclock_set_guest_stopped_request; + diff --git a/arch/x86/include/asm/local.h b/arch/x86/include/asm/local.h index 2d89e39..baee879 100644 --- a/arch/x86/include/asm/local.h @@ -13795,9 +13989,18 @@ index 320f7bb..e89f8f8 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 5edd174..9cf5821 100644 +index 5edd174..c395822 100644 --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h +@@ -564,7 +564,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; + @@ -630,6 +630,18 @@ static inline void set_pgd(pgd_t *pgdp, pgd_t pgd) val); } @@ -17379,7 +17582,7 @@ index 4914e94..60b06e3 100644 intel_ds_init(); diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore.c b/arch/x86/kernel/cpu/perf_event_intel_uncore.c -index b43200d..7fdcdbb 100644 +index b43200d..d235b3e 100644 --- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c +++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c @@ -2428,7 +2428,7 @@ static void __init uncore_types_exit(struct intel_uncore_type **types) @@ -17387,10 +17590,37 @@ index b43200d..7fdcdbb 100644 { struct intel_uncore_pmu *pmus; - struct attribute_group *events_group; -+ attribute_group_no_const *events_group; ++ attribute_group_no_const *attr_group; struct attribute **attrs; int i, j; +@@ -2455,19 +2455,19 @@ static int __init uncore_type_init(struct intel_uncore_type *type) + while (type->event_descs[i].attr.attr.name) + i++; + +- events_group = kzalloc(sizeof(struct attribute *) * (i + 1) + +- sizeof(*events_group), GFP_KERNEL); +- if (!events_group) ++ attr_group = kzalloc(sizeof(struct attribute *) * (i + 1) + ++ sizeof(*attr_group), GFP_KERNEL); ++ if (!attr_group) + goto fail; + +- attrs = (struct attribute **)(events_group + 1); +- events_group->name = "events"; +- events_group->attrs = attrs; ++ attrs = (struct attribute **)(attr_group + 1); ++ attr_group->name = "events"; ++ attr_group->attrs = attrs; + + for (j = 0; j < i; j++) + attrs[j] = &type->event_descs[j].attr.attr; + +- type->events_group = events_group; ++ type->events_group = attr_group; + } + + type->pmu_group = &uncore_pmu_attr_group; @@ -2826,7 +2826,7 @@ static int return NOTIFY_OK; } @@ -22215,7 +22445,7 @@ index 8b24289..d37b58b 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 5cdff03..5810740 100644 +index 5cdff03..80fa283 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c @@ -21,19 +21,17 @@ @@ -22242,6 +22472,15 @@ index 5cdff03..5810740 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 @@ -23748,10 +23987,64 @@ index 9120ae1..238abc0 100644 vcpu->arch.regs_avail = ~((1 << VCPU_REGS_RIP) | (1 << VCPU_REGS_RSP) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index c243b81..9eb193f 100644 +index c243b81..b692af3 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c -@@ -1692,8 +1692,8 @@ static int xen_hvm_config(struct kvm_vcpu *vcpu, u64 data) +@@ -1408,10 +1408,9 @@ static int kvm_guest_time_update(struct kvm_vcpu *v) + unsigned long flags, this_tsc_khz; + struct kvm_vcpu_arch *vcpu = &v->arch; + struct kvm_arch *ka = &v->kvm->arch; +- void *shared_kaddr; + s64 kernel_ns, max_kernel_ns; + u64 tsc_timestamp, host_tsc; +- struct pvclock_vcpu_time_info *guest_hv_clock; ++ struct pvclock_vcpu_time_info guest_hv_clock; + u8 pvclock_flags; + bool use_master_clock; + +@@ -1465,7 +1464,7 @@ static int kvm_guest_time_update(struct kvm_vcpu *v) + + local_irq_restore(flags); + +- if (!vcpu->time_page) ++ if (!vcpu->pv_time_enabled) + return 0; + + /* +@@ -1527,12 +1526,12 @@ static int kvm_guest_time_update(struct kvm_vcpu *v) + */ + vcpu->hv_clock.version += 2; + +- shared_kaddr = kmap_atomic(vcpu->time_page); +- +- guest_hv_clock = shared_kaddr + vcpu->time_offset; ++ if (unlikely(kvm_read_guest_cached(v->kvm, &vcpu->pv_time, ++ &guest_hv_clock, sizeof(guest_hv_clock)))) ++ return 0; + + /* retain PVCLOCK_GUEST_STOPPED if set in guest copy */ +- pvclock_flags = (guest_hv_clock->flags & PVCLOCK_GUEST_STOPPED); ++ pvclock_flags = (guest_hv_clock.flags & PVCLOCK_GUEST_STOPPED); + + if (vcpu->pvclock_set_guest_stopped_request) { + pvclock_flags |= PVCLOCK_GUEST_STOPPED; +@@ -1545,12 +1544,9 @@ static int kvm_guest_time_update(struct kvm_vcpu *v) + + vcpu->hv_clock.flags = pvclock_flags; + +- memcpy(shared_kaddr + vcpu->time_offset, &vcpu->hv_clock, +- sizeof(vcpu->hv_clock)); +- +- kunmap_atomic(shared_kaddr); +- +- mark_page_dirty(v->kvm, vcpu->time >> PAGE_SHIFT); ++ kvm_write_guest_cached(v->kvm, &vcpu->pv_time, ++ &vcpu->hv_clock, ++ sizeof(vcpu->hv_clock)); + return 0; + } + +@@ -1692,8 +1688,8 @@ static int xen_hvm_config(struct kvm_vcpu *vcpu, u64 data) { struct kvm *kvm = vcpu->kvm; int lm = is_long_mode(vcpu); @@ -23762,7 +24055,51 @@ index c243b81..9eb193f 100644 u8 blob_size = lm ? kvm->arch.xen_hvm_config.blob_size_64 : kvm->arch.xen_hvm_config.blob_size_32; u32 page_num = data & ~PAGE_MASK; -@@ -2571,6 +2571,8 @@ long kvm_arch_dev_ioctl(struct file *filp, +@@ -1839,10 +1835,7 @@ static int kvm_pv_enable_async_pf(struct kvm_vcpu *vcpu, u64 data) + + static void kvmclock_reset(struct kvm_vcpu *vcpu) + { +- if (vcpu->arch.time_page) { +- kvm_release_page_dirty(vcpu->arch.time_page); +- vcpu->arch.time_page = NULL; +- } ++ vcpu->arch.pv_time_enabled = false; + } + + static void accumulate_steal_time(struct kvm_vcpu *vcpu) +@@ -1948,6 +1941,7 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info) + break; + case MSR_KVM_SYSTEM_TIME_NEW: + case MSR_KVM_SYSTEM_TIME: { ++ u64 gpa_offset; + kvmclock_reset(vcpu); + + vcpu->arch.time = data; +@@ -1957,14 +1951,17 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info) + if (!(data & 1)) + break; + +- /* ...but clean it before doing the actual write */ +- vcpu->arch.time_offset = data & ~(PAGE_MASK | 1); ++ gpa_offset = data & ~(PAGE_MASK | 1); + +- vcpu->arch.time_page = +- gfn_to_page(vcpu->kvm, data >> PAGE_SHIFT); ++ /* Check that the address is 32-byte aligned. */ ++ if (gpa_offset & (sizeof(struct pvclock_vcpu_time_info) - 1)) ++ break; + +- if (is_error_page(vcpu->arch.time_page)) +- vcpu->arch.time_page = NULL; ++ if (kvm_gfn_to_hva_cache_init(vcpu->kvm, ++ &vcpu->arch.pv_time, data & ~1ULL)) ++ vcpu->arch.pv_time_enabled = false; ++ else ++ vcpu->arch.pv_time_enabled = true; + + break; + } +@@ -2571,6 +2568,8 @@ long kvm_arch_dev_ioctl(struct file *filp, if (n < msr_list.nmsrs) goto out; r = -EFAULT; @@ -23771,7 +24108,7 @@ index c243b81..9eb193f 100644 if (copy_to_user(user_msr_list->indices, &msrs_to_save, num_msrs_to_save * sizeof(u32))) goto out; -@@ -2700,7 +2702,7 @@ static int kvm_vcpu_ioctl_set_lapic(struct kvm_vcpu *vcpu, +@@ -2700,7 +2699,7 @@ static int kvm_vcpu_ioctl_set_lapic(struct kvm_vcpu *vcpu, static int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq) { @@ -23780,7 +24117,16 @@ index c243b81..9eb193f 100644 return -EINVAL; if (irqchip_in_kernel(vcpu->kvm)) return -ENXIO; -@@ -5213,7 +5215,7 @@ static struct notifier_block pvclock_gtod_notifier = { +@@ -2967,7 +2966,7 @@ static int kvm_vcpu_ioctl_x86_set_xcrs(struct kvm_vcpu *vcpu, + */ + static int kvm_set_guest_paused(struct kvm_vcpu *vcpu) + { +- if (!vcpu->arch.time_page) ++ if (!vcpu->arch.pv_time_enabled) + return -EINVAL; + vcpu->arch.pvclock_set_guest_stopped_request = true; + kvm_make_request(KVM_REQ_CLOCK_UPDATE, vcpu); +@@ -5213,7 +5212,7 @@ static struct notifier_block pvclock_gtod_notifier = { }; #endif @@ -23789,6 +24135,14 @@ index c243b81..9eb193f 100644 { int r; struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque; +@@ -6661,6 +6660,7 @@ int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu) + goto fail_free_wbinvd_dirty_mask; + + vcpu->arch.ia32_tsc_adjust_msr = 0x0; ++ vcpu->arch.pv_time_enabled = false; + kvm_async_pf_hash_reset(vcpu); + kvm_pmu_init(vcpu); + diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index df4176c..23ce092 100644 --- a/arch/x86/lguest/boot.c @@ -26731,7 +27085,7 @@ index 903ec1e..c4166b2 100644 } diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c -index fb674fd..272f369 100644 +index fb674fd..1be28b9 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -13,12 +13,19 @@ @@ -26917,7 +27271,7 @@ index fb674fd..272f369 100644 if (pte && pte_present(*pte) && !pte_exec(*pte)) - printk(nx_warning, from_kuid(&init_user_ns, current_uid())); -+ printk(nx_warning, from_kuid(&init_user_ns, current_uid()), current->comm, task_pid_nr(current)); ++ printk(nx_warning, from_kuid_munged(&init_user_ns, current_uid()), current->comm, task_pid_nr(current)); } +#ifdef CONFIG_PAX_KERNEXEC @@ -26925,10 +27279,10 @@ index fb674fd..272f369 100644 + if (current->signal->curr_ip) + printk(KERN_ERR "PAX: From %pI4: %s:%d, uid/euid: %u/%u, attempted to modify kernel code\n", + ¤t->signal->curr_ip, current->comm, task_pid_nr(current), -+ from_kuid(&init_user_ns, current_uid()), from_kuid(&init_user_ns, current_euid())); ++ from_kuid_munged(&init_user_ns, current_uid()), from_kuid_munged(&init_user_ns, current_euid())); + else + printk(KERN_ERR "PAX: %s:%d, uid/euid: %u/%u, attempted to modify kernel code\n", current->comm, task_pid_nr(current), -+ from_kuid(&init_user_ns, current_uid()), from_kuid(&init_user_ns, current_euid())); ++ from_kuid_munged(&init_user_ns, current_uid()), from_kuid_munged(&init_user_ns, current_euid())); + } +#endif + @@ -28427,6 +28781,19 @@ index dc0b727..f612039 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 8504f36..5fc68f2 100644 +--- a/arch/x86/mm/numa.c ++++ b/arch/x86/mm/numa.c +@@ -478,7 +478,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 @@ -28907,6 +29274,28 @@ index a69bcb8..19068ab 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 @@ -30136,10 +30525,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 120cee1..b2db75a 100644 +index 3c68768..07e82b8 100644 --- a/arch/x86/power/cpu.c +++ b/arch/x86/power/cpu.c -@@ -133,7 +133,7 @@ static void do_fpu_end(void) +@@ -134,7 +134,7 @@ static void do_fpu_end(void) static void fix_processor_context(void) { int cpu = smp_processor_id(); @@ -30148,7 +30537,7 @@ index 120cee1..b2db75a 100644 set_tss_desc(cpu, t); /* * This just modifies memory; should not be -@@ -143,8 +143,6 @@ static void fix_processor_context(void) +@@ -144,8 +144,6 @@ static void fix_processor_context(void) */ #ifdef CONFIG_X86_64 @@ -31417,6 +31806,19 @@ index ea61ca9..3fdd70d 100644 static void delete_gpe_attr_array(void) { +diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c +index 6cd7805..07facb3 100644 +--- a/drivers/ata/libahci.c ++++ b/drivers/ata/libahci.c +@@ -1230,7 +1230,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 46cd3f4..0871ad0 100644 --- a/drivers/ata/libata-core.c @@ -33037,7 +33439,7 @@ index a9eccfc..f5efe87 100644 static struct asender_cmd asender_tbl[] = { [P_PING] = { 0, got_Ping }, diff --git a/drivers/block/loop.c b/drivers/block/loop.c -index ae12512..37fa397 100644 +index 8bc6d39..f492563 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -226,7 +226,7 @@ static int __do_lo_send_write(struct file *file, @@ -34603,7 +35005,7 @@ index 8a7c48b..72effc2 100644 if (IS_GEN6(dev) || IS_GEN7(dev)) { seq_printf(m, diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 5206f24..7af0a0a 100644 +index 99daa89..84ebd44 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c @@ -1253,7 +1253,7 @@ static bool i915_switcheroo_can_switch(struct pci_dev *pdev) @@ -34616,7 +35018,7 @@ index 5206f24..7af0a0a 100644 return can_switch; } diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 66ad64f..a865871 100644 +index 7339a4b..445aaba 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -656,7 +656,7 @@ typedef struct drm_i915_private { @@ -34628,7 +35030,7 @@ index 66ad64f..a865871 100644 /* protects the irq masks */ spinlock_t irq_lock; -@@ -1103,7 +1103,7 @@ struct drm_i915_gem_object { +@@ -1102,7 +1102,7 @@ struct drm_i915_gem_object { * will be page flipped away on the next vblank. When it * reaches 0, dev_priv->pending_flip_queue will be woken up. */ @@ -34637,7 +35039,7 @@ index 66ad64f..a865871 100644 }; #define to_gem_object(obj) (&((struct drm_i915_gem_object *)(obj))->base) -@@ -1634,7 +1634,7 @@ extern struct i2c_adapter *intel_gmbus_get_adapter( +@@ -1633,7 +1633,7 @@ extern struct i2c_adapter *intel_gmbus_get_adapter( struct drm_i915_private *dev_priv, unsigned port); extern void intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed); extern void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit); @@ -34647,7 +35049,7 @@ index 66ad64f..a865871 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..fccb984 100644 +index 26d08bb..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, @@ -34659,7 +35061,7 @@ index 26d08bb..fccb984 100644 flush_domains |= obj->base.write_domain; } -@@ -703,9 +703,9 @@ i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec) +@@ -703,18 +703,23 @@ i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec) static int validate_exec_list(struct drm_i915_gem_exec_object2 *exec, @@ -34668,9 +35070,35 @@ index 26d08bb..fccb984 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; + + 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, + 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 3c59584..500f2e9 100644 --- a/drivers/gpu/drm/i915/i915_ioc32.c @@ -34707,10 +35135,10 @@ index 3c59584..500f2e9 100644 return ret; diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c -index 3c00403..5a5c6c9 100644 +index fe84338..a863190 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -539,7 +539,7 @@ static irqreturn_t valleyview_irq_handler(int irq, void *arg) +@@ -535,7 +535,7 @@ static irqreturn_t valleyview_irq_handler(int irq, void *arg) u32 pipe_stats[I915_MAX_PIPES]; bool blc_event; @@ -34719,7 +35147,7 @@ index 3c00403..5a5c6c9 100644 while (true) { iir = I915_READ(VLV_IIR); -@@ -692,7 +692,7 @@ static irqreturn_t ivybridge_irq_handler(int irq, void *arg) +@@ -688,7 +688,7 @@ static irqreturn_t ivybridge_irq_handler(int irq, void *arg) irqreturn_t ret = IRQ_NONE; int i; @@ -34728,7 +35156,7 @@ index 3c00403..5a5c6c9 100644 /* disable master interrupt before clearing iir */ de_ier = I915_READ(DEIER); -@@ -764,7 +764,7 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg) +@@ -760,7 +760,7 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg) int ret = IRQ_NONE; u32 de_iir, gt_iir, de_ier, pch_iir, pm_iir; @@ -34737,7 +35165,7 @@ index 3c00403..5a5c6c9 100644 /* disable master interrupt before clearing iir */ de_ier = I915_READ(DEIER); -@@ -1791,7 +1791,7 @@ static void ironlake_irq_preinstall(struct drm_device *dev) +@@ -1787,7 +1787,7 @@ static void ironlake_irq_preinstall(struct drm_device *dev) { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; @@ -34746,7 +35174,7 @@ index 3c00403..5a5c6c9 100644 I915_WRITE(HWSTAM, 0xeffe); -@@ -1817,7 +1817,7 @@ static void valleyview_irq_preinstall(struct drm_device *dev) +@@ -1813,7 +1813,7 @@ static void valleyview_irq_preinstall(struct drm_device *dev) drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; int pipe; @@ -34755,7 +35183,7 @@ index 3c00403..5a5c6c9 100644 /* VLV magic */ I915_WRITE(VLV_IMR, 0); -@@ -2112,7 +2112,7 @@ static void i8xx_irq_preinstall(struct drm_device * dev) +@@ -2108,7 +2108,7 @@ static void i8xx_irq_preinstall(struct drm_device * dev) drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; int pipe; @@ -34764,7 +35192,7 @@ index 3c00403..5a5c6c9 100644 for_each_pipe(pipe) I915_WRITE(PIPESTAT(pipe), 0); -@@ -2163,7 +2163,7 @@ static irqreturn_t i8xx_irq_handler(int irq, void *arg) +@@ -2159,7 +2159,7 @@ static irqreturn_t i8xx_irq_handler(int irq, void *arg) I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT | I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT; @@ -34773,7 +35201,7 @@ index 3c00403..5a5c6c9 100644 iir = I915_READ16(IIR); if (iir == 0) -@@ -2248,7 +2248,7 @@ static void i915_irq_preinstall(struct drm_device * dev) +@@ -2244,7 +2244,7 @@ static void i915_irq_preinstall(struct drm_device * dev) drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; int pipe; @@ -34782,7 +35210,7 @@ index 3c00403..5a5c6c9 100644 if (I915_HAS_HOTPLUG(dev)) { I915_WRITE(PORT_HOTPLUG_EN, 0); -@@ -2343,7 +2343,7 @@ static irqreturn_t i915_irq_handler(int irq, void *arg) +@@ -2339,7 +2339,7 @@ static irqreturn_t i915_irq_handler(int irq, void *arg) }; int pipe, ret = IRQ_NONE; @@ -34791,7 +35219,7 @@ index 3c00403..5a5c6c9 100644 iir = I915_READ(IIR); do { -@@ -2469,7 +2469,7 @@ static void i965_irq_preinstall(struct drm_device * dev) +@@ -2465,7 +2465,7 @@ static void i965_irq_preinstall(struct drm_device * dev) drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; int pipe; @@ -34800,7 +35228,7 @@ index 3c00403..5a5c6c9 100644 I915_WRITE(PORT_HOTPLUG_EN, 0); I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT)); -@@ -2576,7 +2576,7 @@ static irqreturn_t i965_irq_handler(int irq, void *arg) +@@ -2572,7 +2572,7 @@ static irqreturn_t i965_irq_handler(int irq, void *arg) int irq_received; int ret = IRQ_NONE, pipe; @@ -36214,6 +36642,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 5b152a3..c1f3e83 100644 --- a/drivers/infiniband/hw/nes/nes.c @@ -37003,6 +37457,19 @@ index a5ebc00..982886f 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 4af12e1..0e89afe 100644 --- a/drivers/lguest/x86/core.c @@ -37928,7 +38395,7 @@ index 29b2172..a7c5b31 100644 dev->req->sg.length : dev->req->data_len; diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c -index fb69baa..cf7ad22 100644 +index fb69baa..3aeea2e 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c @@ -6755,8 +6755,13 @@ static int mpt_iocinfo_proc_show(struct seq_file *m, void *v) @@ -37945,6 +38412,18 @@ index fb69baa..cf7ad22 100644 /* * Rounding UP to nearest 4-kB boundary here... */ +@@ -6769,7 +6774,11 @@ static int mpt_iocinfo_proc_show(struct seq_file *m, void *v) + ioc->facts.GlobalCredits); + + seq_printf(m, " Frames @ 0x%p (Dma @ 0x%p)\n", ++#ifdef CONFIG_GRKERNSEC_HIDESYM ++ NULL, NULL); ++#else + (void *)ioc->alloc, (void *)(ulong)ioc->alloc_dma); ++#endif + sz = (ioc->reply_sz * ioc->reply_depth) + 128; + seq_printf(m, " {CurRepSz=%d} x {CurRepDepth=%d} = %d bytes ^= 0x%x\n", + ioc->reply_sz, ioc->reply_depth, ioc->reply_sz*ioc->reply_depth, sz); diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index fa43c39..daeb158 100644 --- a/drivers/message/fusion/mptsas.c @@ -38709,10 +39188,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 b7d45f3..b5c89d9 100644 +index a079da17..f86ffd5 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c -@@ -4861,7 +4861,7 @@ static unsigned int bond_get_num_tx_queues(void) +@@ -4862,7 +4862,7 @@ static unsigned int bond_get_num_tx_queues(void) return tx_queues; } @@ -39022,10 +39501,10 @@ index 1e9cb0b..7839125 100644 priv = netdev_priv(dev); priv->phy = phy; diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c -index d3fb97d..19520c7 100644 +index e5cb723..1fc0461 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c -@@ -851,13 +851,15 @@ static const struct nla_policy macvlan_policy[IFLA_MACVLAN_MAX + 1] = { +@@ -852,13 +852,15 @@ static const struct nla_policy macvlan_policy[IFLA_MACVLAN_MAX + 1] = { int macvlan_link_register(struct rtnl_link_ops *ops) { /* common fields */ @@ -39048,7 +39527,7 @@ index d3fb97d..19520c7 100644 return rtnl_link_register(ops); }; -@@ -913,7 +915,7 @@ static int macvlan_device_event(struct notifier_block *unused, +@@ -914,7 +916,7 @@ static int macvlan_device_event(struct notifier_block *unused, return NOTIFY_DONE; } @@ -39105,10 +39584,10 @@ index 508570e..f706dc7 100644 err = 0; break; diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c -index ad86660..9fd0884 100644 +index 8efe47a..a8075c5 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c -@@ -2601,7 +2601,7 @@ static int team_device_event(struct notifier_block *unused, +@@ -2603,7 +2603,7 @@ static int team_device_event(struct notifier_block *unused, return NOTIFY_DONE; } @@ -39118,10 +39597,10 @@ index ad86660..9fd0884 100644 }; diff --git a/drivers/net/tun.c b/drivers/net/tun.c -index 2917a86..edd463f 100644 +index cb95fe5..a5bdab5 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c -@@ -1836,7 +1836,7 @@ unlock: +@@ -1838,7 +1838,7 @@ unlock: } static long __tun_chr_ioctl(struct file *file, unsigned int cmd, @@ -39130,7 +39609,7 @@ index 2917a86..edd463f 100644 { struct tun_file *tfile = file->private_data; struct tun_struct *tun; -@@ -1848,6 +1848,9 @@ static long __tun_chr_ioctl(struct file *file, unsigned int cmd, +@@ -1850,6 +1850,9 @@ static long __tun_chr_ioctl(struct file *file, unsigned int cmd, int vnet_hdr_sz; int ret; @@ -39232,7 +39711,7 @@ index cd8ccb2..cff5144 100644 hso_start_serial_device(serial_table[i], GFP_NOIO); hso_kick_transmit(dev2ser(serial_table[i])); diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c -index 656230e..15525a8 100644 +index 6993bfa..9053a34 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1428,7 +1428,7 @@ nla_put_failure: @@ -39244,6 +39723,19 @@ index 656230e..15525a8 100644 .kind = "vxlan", .maxtype = IFLA_VXLAN_MAX, .policy = vxlan_policy, +diff --git a/drivers/net/wireless/at76c50x-usb.c b/drivers/net/wireless/at76c50x-usb.c +index 77fa428..996b355 100644 +--- a/drivers/net/wireless/at76c50x-usb.c ++++ b/drivers/net/wireless/at76c50x-usb.c +@@ -353,7 +353,7 @@ static int 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/ath9k/ar9002_mac.c b/drivers/net/wireless/ath/ath9k/ar9002_mac.c index 8d78253..bebbb68 100644 --- a/drivers/net/wireless/ath/ath9k/ar9002_mac.c @@ -39848,6 +40340,19 @@ index ed2c3ec..deda85a 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 @@ -40469,7 +40974,7 @@ index cc439fd..8fa30df 100644 #endif /* CONFIG_SYSFS */ diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c -index 8a7cfb3..493e0a2 100644 +index 8a7cfb3..72e6e9b 100644 --- a/drivers/power/power_supply_core.c +++ b/drivers/power/power_supply_core.c @@ -24,7 +24,10 @@ @@ -40484,11 +40989,12 @@ index 8a7cfb3..493e0a2 100644 static int __power_supply_changed_work(struct device *dev, void *data) { -@@ -393,7 +396,6 @@ static int __init power_supply_class_init(void) +@@ -393,7 +396,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; } @@ -42429,10 +42935,10 @@ index 19083ef..6e34e97 100644 } EXPORT_SYMBOL_GPL(n_tty_inherit_ops); diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c -index 79ff3a5..1fe9399 100644 +index ac35c90..c47deac 100644 --- a/drivers/tty/pty.c +++ b/drivers/tty/pty.c -@@ -791,8 +791,10 @@ static void __init unix98_pty_init(void) +@@ -790,8 +790,10 @@ static void __init unix98_pty_init(void) panic("Couldn't register Unix98 pts driver"); /* Now create the /dev/ptmx special device */ @@ -43436,75 +43942,6 @@ index 35f10bf..6a38a0b 100644 if (!left--) { if (instance->disconnected) -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/core/devices.c b/drivers/usb/core/devices.c index cbacea9..246cccd 100644 --- a/drivers/usb/core/devices.c @@ -43558,6 +43995,19 @@ index 8e64adf..9a33a3c 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 131f736..99004c3 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 818e4a0..0fc9589 100644 --- a/drivers/usb/core/sysfs.c @@ -47264,6 +47714,28 @@ index 03bc1d3..6205356 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 2b3bda8..6a2d4be 100644 --- a/fs/befs/linuxvfs.c @@ -47358,7 +47830,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..9551bb8 100644 +index 0c42cdb..12478dd 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -33,6 +33,7 @@ @@ -47855,7 +48327,7 @@ index 0c42cdb..9551bb8 100644 loc = kmalloc(sizeof(*loc), GFP_KERNEL); if (!loc) { -@@ -715,11 +1050,82 @@ static int load_elf_binary(struct linux_binprm *bprm) +@@ -715,11 +1050,81 @@ static int load_elf_binary(struct linux_binprm *bprm) goto out_free_dentry; /* OK, This is the point of no return */ @@ -47876,7 +48348,6 @@ index 0c42cdb..9551bb8 100644 +#ifdef CONFIG_PAX_ASLR + current->mm->delta_mmap = 0UL; + current->mm->delta_stack = 0UL; -+ current->mm->aslr_gap = 0UL; +#endif + + current->mm->def_flags = 0; @@ -47939,7 +48410,7 @@ index 0c42cdb..9551bb8 100644 if (elf_read_implies_exec(loc->elf_ex, executable_stack)) current->personality |= READ_IMPLIES_EXEC; -@@ -810,6 +1216,20 @@ static int load_elf_binary(struct linux_binprm *bprm) +@@ -810,6 +1215,20 @@ static int load_elf_binary(struct linux_binprm *bprm) #else load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr); #endif @@ -47960,7 +48431,7 @@ index 0c42cdb..9551bb8 100644 } error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt, -@@ -842,9 +1262,9 @@ static int load_elf_binary(struct linux_binprm *bprm) +@@ -842,9 +1261,9 @@ static int load_elf_binary(struct linux_binprm *bprm) * allowed task size. Note that p_filesz must always be * <= p_memsz so it is only necessary to check p_memsz. */ @@ -47973,7 +48444,7 @@ index 0c42cdb..9551bb8 100644 /* set_brk can never work. Avoid overflows. */ send_sig(SIGKILL, current, 0); retval = -EINVAL; -@@ -883,17 +1303,44 @@ static int load_elf_binary(struct linux_binprm *bprm) +@@ -883,17 +1302,45 @@ static int load_elf_binary(struct linux_binprm *bprm) goto out_free_dentry; } if (likely(elf_bss != elf_brk) && unlikely(padzero(elf_bss))) { @@ -47989,23 +48460,24 @@ index 0c42cdb..9551bb8 100644 +#ifdef CONFIG_PAX_RANDMMAP + if (current->mm->pax_flags & MF_PAX_RANDMMAP) { -+ unsigned long start, size; ++ unsigned long start, size, flags, vm_flags; + + start = ELF_PAGEALIGN(elf_brk); + size = PAGE_SIZE + ((pax_get_random_long() & ((1UL << 22) - 1UL)) << 4); -+ down_read(¤t->mm->mmap_sem); -+ retval = -ENOMEM; -+ if (!find_vma_intersection(current->mm, start, start + size + PAGE_SIZE)) { -+ unsigned long prot = PROT_NONE; ++ flags = MAP_FIXED | MAP_PRIVATE; ++ vm_flags = VM_DONTEXPAND | VM_DONTDUMP; + -+ up_read(¤t->mm->mmap_sem); -+ current->mm->aslr_gap += PAGE_ALIGN(size) >> PAGE_SHIFT; ++ down_write(¤t->mm->mmap_sem); ++ start = get_unmapped_area(NULL, start, PAGE_ALIGN(size), 0, flags); ++ 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; -+ start = vm_mmap(NULL, start, size, prot, MAP_ANONYMOUS | MAP_FIXED | MAP_PRIVATE, 0); ++// vm_flags |= VM_READ | VM_MAYREAD; ++ start = mmap_region(NULL, start, PAGE_ALIGN(size), flags, vm_flags, 0); ++ up_write(¤t->mm->mmap_sem); + retval = IS_ERR_VALUE(start) ? start : 0; + } else -+ up_read(¤t->mm->mmap_sem); ++ up_write(¤t->mm->mmap_sem); + if (retval == 0) + retval = set_brk(start + size, start + size + PAGE_SIZE); + if (retval < 0) { @@ -48301,7 +48773,7 @@ index b96fc6c..431d628 100644 __bio_for_each_segment(bvec, bio, i, 0) { char *addr = page_address(bvec->bv_page); diff --git a/fs/block_dev.c b/fs/block_dev.c -index 78333a3..23dcb4d 100644 +index 78edf76..da14f3f 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -651,7 +651,7 @@ static bool bd_may_claim(struct block_device *bdev, struct block_device *whole, @@ -49492,7 +49964,7 @@ index b2a34a1..162fa69 100644 return rc; } diff --git a/fs/exec.c b/fs/exec.c -index 20df02c..81c9e78 100644 +index 20df02c..09b65a1 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -55,6 +55,17 @@ @@ -49617,28 +50089,16 @@ index 20df02c..81c9e78 100644 return 0; err: up_write(&mm->mmap_sem); -@@ -384,19 +421,7 @@ err: - return err; - } +@@ -396,7 +433,7 @@ struct user_arg_ptr { + } ptr; + }; --struct user_arg_ptr { --#ifdef CONFIG_COMPAT -- bool is_compat; --#endif -- union { -- const char __user *const __user *native; --#ifdef CONFIG_COMPAT -- const compat_uptr_t __user *compat; --#endif -- } ptr; --}; -- -static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr) +const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr) { const char __user *native; -@@ -405,14 +430,14 @@ static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr) +@@ -405,14 +442,14 @@ static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr) compat_uptr_t compat; if (get_user(compat, argv.ptr.compat + nr)) @@ -49655,7 +50115,7 @@ index 20df02c..81c9e78 100644 return native; } -@@ -431,7 +456,7 @@ static int count(struct user_arg_ptr argv, int max) +@@ -431,7 +468,7 @@ static int count(struct user_arg_ptr argv, int max) if (!p) break; @@ -49664,7 +50124,7 @@ index 20df02c..81c9e78 100644 return -EFAULT; if (i >= max) -@@ -466,7 +491,7 @@ static int copy_strings(int argc, struct user_arg_ptr argv, +@@ -466,7 +503,7 @@ static int copy_strings(int argc, struct user_arg_ptr argv, ret = -EFAULT; str = get_user_arg_ptr(argv, argc); @@ -49673,7 +50133,7 @@ index 20df02c..81c9e78 100644 goto out; len = strnlen_user(str, MAX_ARG_STRLEN); -@@ -548,7 +573,7 @@ int copy_strings_kernel(int argc, const char *const *__argv, +@@ -548,7 +585,7 @@ int copy_strings_kernel(int argc, const char *const *__argv, int r; mm_segment_t oldfs = get_fs(); struct user_arg_ptr argv = { @@ -49682,7 +50142,7 @@ index 20df02c..81c9e78 100644 }; set_fs(KERNEL_DS); -@@ -583,7 +608,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) +@@ -583,7 +620,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) unsigned long new_end = old_end - shift; struct mmu_gather tlb; @@ -49692,7 +50152,7 @@ index 20df02c..81c9e78 100644 /* * ensure there are no vmas between where we want to go -@@ -592,6 +618,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) +@@ -592,6 +630,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) if (vma != find_vma(mm, new_start)) return -EFAULT; @@ -49703,7 +50163,7 @@ index 20df02c..81c9e78 100644 /* * cover the whole range: [new_start, old_end) */ -@@ -672,10 +702,6 @@ int setup_arg_pages(struct linux_binprm *bprm, +@@ -672,10 +714,6 @@ int setup_arg_pages(struct linux_binprm *bprm, stack_top = arch_align_stack(stack_top); stack_top = PAGE_ALIGN(stack_top); @@ -49714,7 +50174,7 @@ index 20df02c..81c9e78 100644 stack_shift = vma->vm_end - stack_top; bprm->p -= stack_shift; -@@ -687,8 +713,28 @@ int setup_arg_pages(struct linux_binprm *bprm, +@@ -687,8 +725,28 @@ int setup_arg_pages(struct linux_binprm *bprm, bprm->exec -= stack_shift; down_write(&mm->mmap_sem); @@ -49743,7 +50203,7 @@ index 20df02c..81c9e78 100644 /* * Adjust stack execute permissions; explicitly enable for * EXSTACK_ENABLE_X, disable for EXSTACK_DISABLE_X and leave alone -@@ -707,13 +753,6 @@ int setup_arg_pages(struct linux_binprm *bprm, +@@ -707,13 +765,6 @@ int setup_arg_pages(struct linux_binprm *bprm, goto out_unlock; BUG_ON(prev != vma); @@ -49757,12 +50217,12 @@ index 20df02c..81c9e78 100644 /* mprotect_fixup is overkill to remove the temporary stack flags */ vma->vm_flags &= ~VM_STACK_INCOMPLETE_SETUP; -@@ -737,6 +776,30 @@ int setup_arg_pages(struct linux_binprm *bprm, +@@ -737,6 +788,27 @@ int setup_arg_pages(struct linux_binprm *bprm, #endif current->mm->start_stack = bprm->p; ret = expand_stack(vma, stack_base); + -+#if !defined(CONFIG_STACK_GROWSUP) && defined(CONFIG_PAX_ASLR) ++#if !defined(CONFIG_STACK_GROWSUP) && defined(CONFIG_PAX_RANDMMAP) + if (!ret && (mm->pax_flags & MF_PAX_RANDMMAP) && STACK_TOP <= 0xFFFFFFFFU && STACK_TOP > vma->vm_end) { + unsigned long size, flags, vm_flags; + @@ -49774,11 +50234,8 @@ index 20df02c..81c9e78 100644 + +#ifdef CONFIG_X86 + if (!ret) { -+ current->mm->aslr_gap += size >> PAGE_SHIFT; + size = mmap_min_addr + ((mm->delta_mmap ^ mm->delta_stack) & (0xFFUL << PAGE_SHIFT)); -+ ret = 0 != mmap_region(NULL, 0, size, flags, vm_flags, 0); -+ if (!ret) -+ current->mm->aslr_gap += size >> PAGE_SHIFT; ++ ret = 0 != mmap_region(NULL, 0, PAGE_ALIGN(size), flags, vm_flags, 0); + } +#endif + @@ -49788,7 +50245,7 @@ index 20df02c..81c9e78 100644 if (ret) ret = -EFAULT; -@@ -772,6 +835,8 @@ struct file *open_exec(const char *name) +@@ -772,6 +844,8 @@ struct file *open_exec(const char *name) fsnotify_open(file); @@ -49797,7 +50254,7 @@ index 20df02c..81c9e78 100644 err = deny_write_access(file); if (err) goto exit; -@@ -795,7 +860,7 @@ int kernel_read(struct file *file, loff_t offset, +@@ -795,7 +869,7 @@ int kernel_read(struct file *file, loff_t offset, old_fs = get_fs(); set_fs(get_ds()); /* The cast to a user pointer is valid due to the set_fs() */ @@ -49806,7 +50263,7 @@ index 20df02c..81c9e78 100644 set_fs(old_fs); return result; } -@@ -1247,7 +1312,7 @@ static int check_unsafe_exec(struct linux_binprm *bprm) +@@ -1247,7 +1321,7 @@ static int check_unsafe_exec(struct linux_binprm *bprm) } rcu_read_unlock(); @@ -49815,7 +50272,7 @@ index 20df02c..81c9e78 100644 bprm->unsafe |= LSM_UNSAFE_SHARE; } else { res = -EAGAIN; -@@ -1447,6 +1512,28 @@ int search_binary_handler(struct linux_binprm *bprm) +@@ -1447,6 +1521,31 @@ int search_binary_handler(struct linux_binprm *bprm) EXPORT_SYMBOL(search_binary_handler); @@ -49841,10 +50298,13 @@ index 20df02c..81c9e78 100644 +static inline void increment_exec_counter(void) {} +#endif + ++extern void gr_handle_exec_args(struct linux_binprm *bprm, ++ struct user_arg_ptr argv); ++ /* * sys_execve() executes a new program. */ -@@ -1454,6 +1541,11 @@ static int do_execve_common(const char *filename, +@@ -1454,6 +1553,11 @@ static int do_execve_common(const char *filename, struct user_arg_ptr argv, struct user_arg_ptr envp) { @@ -49856,7 +50316,7 @@ index 20df02c..81c9e78 100644 struct linux_binprm *bprm; struct file *file; struct files_struct *displaced; -@@ -1461,6 +1553,8 @@ static int do_execve_common(const char *filename, +@@ -1461,6 +1565,8 @@ static int do_execve_common(const char *filename, int retval; const struct cred *cred = current_cred(); @@ -49865,7 +50325,7 @@ index 20df02c..81c9e78 100644 /* * We move the actual failure in case of RLIMIT_NPROC excess from * set*uid() to execve() because too many poorly written programs -@@ -1501,12 +1595,27 @@ static int do_execve_common(const char *filename, +@@ -1501,12 +1607,27 @@ static int do_execve_common(const char *filename, if (IS_ERR(file)) goto out_unmark; @@ -49893,7 +50353,7 @@ index 20df02c..81c9e78 100644 retval = bprm_mm_init(bprm); if (retval) goto out_file; -@@ -1523,24 +1632,65 @@ static int do_execve_common(const char *filename, +@@ -1523,24 +1644,65 @@ static int do_execve_common(const char *filename, if (retval < 0) goto out; @@ -49963,7 +50423,7 @@ index 20df02c..81c9e78 100644 current->fs->in_exec = 0; current->in_execve = 0; acct_update_integrals(current); -@@ -1549,6 +1699,14 @@ static int do_execve_common(const char *filename, +@@ -1549,6 +1711,14 @@ static int do_execve_common(const char *filename, put_files_struct(displaced); return retval; @@ -49978,7 +50438,7 @@ index 20df02c..81c9e78 100644 out: if (bprm->mm) { acct_arg_size(bprm, 0); -@@ -1697,3 +1855,253 @@ asmlinkage long compat_sys_execve(const char __user * filename, +@@ -1697,3 +1867,253 @@ asmlinkage long compat_sys_execve(const char __user * filename, return error; } #endif @@ -50099,7 +50559,7 @@ index 20df02c..81c9e78 100644 + else + printk(KERN_ERR "PAX: execution attempt in: %s, %08lx-%08lx %08lx\n", path_fault, start, end, offset); + printk(KERN_ERR "PAX: terminating task: %s(%s):%d, uid/euid: %u/%u, PC: %p, SP: %p\n", path_exec, tsk->comm, task_pid_nr(tsk), -+ from_kuid(&init_user_ns, task_uid(tsk)), from_kuid(&init_user_ns, task_euid(tsk)), pc, sp); ++ from_kuid_munged(&init_user_ns, task_uid(tsk)), from_kuid_munged(&init_user_ns, task_euid(tsk)), pc, sp); + free_page((unsigned long)buffer_exec); + free_page((unsigned long)buffer_fault); + pax_report_insns(regs, pc, sp); @@ -50118,10 +50578,10 @@ index 20df02c..81c9e78 100644 + if (current->signal->curr_ip) + printk(KERN_ERR "PAX: From %pI4: refcount overflow detected in: %s:%d, uid/euid: %u/%u\n", + ¤t->signal->curr_ip, current->comm, task_pid_nr(current), -+ from_kuid(&init_user_ns, current_uid()), from_kuid(&init_user_ns, current_euid())); ++ from_kuid_munged(&init_user_ns, current_uid()), from_kuid_munged(&init_user_ns, current_euid())); + else + printk(KERN_ERR "PAX: refcount overflow detected in: %s:%d, uid/euid: %u/%u\n", current->comm, task_pid_nr(current), -+ from_kuid(&init_user_ns, current_uid()), from_kuid(&init_user_ns, current_euid())); ++ from_kuid_munged(&init_user_ns, current_uid()), from_kuid_munged(&init_user_ns, current_euid())); + print_symbol(KERN_ERR "PAX: refcount overflow occured at: %s\n", instruction_pointer(regs)); + show_regs(regs); + force_sig_info(SIGKILL, SEND_SIG_FORCED, current); @@ -52337,7 +52797,7 @@ index a94e331..060bce3 100644 lock_flocks(); diff --git a/fs/namei.c b/fs/namei.c -index ec97aef..eedf4fe 100644 +index ec97aef..e67718d 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -319,16 +319,32 @@ int generic_permission(struct inode *inode, int mask) @@ -52440,17 +52900,11 @@ index ec97aef..eedf4fe 100644 put_link(nd, &link, cookie); } } -@@ -1984,6 +2002,19 @@ static int path_lookupat(int dfd, const char *name, +@@ -1984,6 +2002,13 @@ static int path_lookupat(int dfd, const char *name, if (!err) err = complete_walk(nd); + if (!err && !(nd->flags & LOOKUP_PARENT)) { -+#ifdef CONFIG_GRKERNSEC -+ if (flags & LOOKUP_RCU) { -+ path_put(&nd->path); -+ err = -ECHILD; -+ } else -+#endif + if (!gr_acl_handle_hidden_file(nd->path.dentry, nd->path.mnt)) { + path_put(&nd->path); + err = -ENOENT; @@ -52460,26 +52914,24 @@ index ec97aef..eedf4fe 100644 if (!err && nd->flags & LOOKUP_DIRECTORY) { if (!nd->inode->i_op->lookup) { path_put(&nd->path); -@@ -2011,8 +2042,17 @@ static int filename_lookup(int dfd, struct filename *name, +@@ -2011,8 +2036,15 @@ static int filename_lookup(int dfd, struct filename *name, retval = path_lookupat(dfd, name->name, flags | LOOKUP_REVAL, nd); - if (likely(!retval)) + if (likely(!retval)) { + audit_inode(name, nd->path.dentry, flags & LOOKUP_PARENT); + if (name->name[0] != '/' && nd->path.dentry && nd->inode) { -+#ifdef CONFIG_GRKERNSEC -+ if (flags & LOOKUP_RCU) -+ return -ECHILD; -+#endif -+ if (!gr_chroot_fchdir(nd->path.dentry, nd->path.mnt)) ++ if (!gr_chroot_fchdir(nd->path.dentry, nd->path.mnt)) { ++ path_put(&nd->path); + return -ENOENT; ++ } + } - audit_inode(name, nd->path.dentry, flags & LOOKUP_PARENT); + } return retval; } -@@ -2390,6 +2430,13 @@ static int may_open(struct path *path, int acc_mode, int flag) +@@ -2390,6 +2422,13 @@ static int may_open(struct path *path, int acc_mode, int flag) if (flag & O_NOATIME && !inode_owner_or_capable(inode)) return -EPERM; @@ -52493,7 +52945,7 @@ index ec97aef..eedf4fe 100644 return 0; } -@@ -2611,7 +2658,7 @@ looked_up: +@@ -2611,7 +2650,7 @@ looked_up: * cleared otherwise prior to returning. */ static int lookup_open(struct nameidata *nd, struct path *path, @@ -52502,7 +52954,7 @@ index ec97aef..eedf4fe 100644 const struct open_flags *op, bool got_write, int *opened) { -@@ -2646,6 +2693,17 @@ static int lookup_open(struct nameidata *nd, struct path *path, +@@ -2646,6 +2685,17 @@ static int lookup_open(struct nameidata *nd, struct path *path, /* Negative dentry, just create the file */ if (!dentry->d_inode && (op->open_flag & O_CREAT)) { umode_t mode = op->mode; @@ -52520,7 +52972,7 @@ index ec97aef..eedf4fe 100644 if (!IS_POSIXACL(dir->d_inode)) mode &= ~current_umask(); /* -@@ -2667,6 +2725,8 @@ static int lookup_open(struct nameidata *nd, struct path *path, +@@ -2667,6 +2717,8 @@ static int lookup_open(struct nameidata *nd, struct path *path, nd->flags & LOOKUP_EXCL); if (error) goto out_dput; @@ -52529,7 +52981,7 @@ index ec97aef..eedf4fe 100644 } out_no_open: path->dentry = dentry; -@@ -2681,7 +2741,7 @@ out_dput: +@@ -2681,7 +2733,7 @@ out_dput: /* * Handle the last step of open() */ @@ -52538,16 +52990,10 @@ index ec97aef..eedf4fe 100644 struct file *file, const struct open_flags *op, int *opened, struct filename *name) { -@@ -2710,16 +2770,44 @@ static int do_last(struct nameidata *nd, struct path *path, +@@ -2710,16 +2762,32 @@ static int do_last(struct nameidata *nd, struct path *path, error = complete_walk(nd); if (error) return error; -+#ifdef CONFIG_GRKERNSEC -+ if (nd->flags & LOOKUP_RCU) { -+ error = -ECHILD; -+ goto out; -+ } -+#endif + if (!gr_acl_handle_hidden_file(nd->path.dentry, nd->path.mnt)) { + error = -ENOENT; + goto out; @@ -52566,12 +53012,6 @@ index ec97aef..eedf4fe 100644 error = complete_walk(nd); if (error) return error; -+#ifdef CONFIG_GRKERNSEC -+ if (nd->flags & LOOKUP_RCU) { -+ error = -ECHILD; -+ goto out; -+ } -+#endif + if (!gr_acl_handle_hidden_file(dir, nd->path.mnt)) { + error = -ENOENT; + goto out; @@ -52583,7 +53023,7 @@ index ec97aef..eedf4fe 100644 audit_inode(name, dir, 0); goto finish_open; } -@@ -2768,7 +2856,7 @@ retry_lookup: +@@ -2768,7 +2836,7 @@ retry_lookup: */ } mutex_lock(&dir->d_inode->i_mutex); @@ -52592,7 +53032,7 @@ index ec97aef..eedf4fe 100644 mutex_unlock(&dir->d_inode->i_mutex); if (error <= 0) { -@@ -2792,11 +2880,28 @@ retry_lookup: +@@ -2792,11 +2860,28 @@ retry_lookup: goto finish_open_created; } @@ -52622,7 +53062,7 @@ index ec97aef..eedf4fe 100644 /* * If atomic_open() acquired write access it is dropped now due to -@@ -2837,6 +2942,11 @@ finish_lookup: +@@ -2837,6 +2922,11 @@ finish_lookup: } } BUG_ON(inode != path->dentry->d_inode); @@ -52634,7 +53074,7 @@ index ec97aef..eedf4fe 100644 return 1; } -@@ -2846,7 +2956,6 @@ finish_lookup: +@@ -2846,7 +2936,6 @@ finish_lookup: save_parent.dentry = nd->path.dentry; save_parent.mnt = mntget(path->mnt); nd->path.dentry = path->dentry; @@ -52642,17 +53082,11 @@ index ec97aef..eedf4fe 100644 } nd->inode = inode; /* Why this, you ask? _Now_ we might have grown LOOKUP_JUMPED... */ -@@ -2855,6 +2964,22 @@ finish_lookup: +@@ -2855,6 +2944,16 @@ finish_lookup: path_put(&save_parent); return error; } + -+#ifdef CONFIG_GRKERNSEC -+ if (nd->flags & LOOKUP_RCU) { -+ error = -ECHILD; -+ goto out; -+ } -+#endif + if (!gr_acl_handle_hidden_file(nd->path.dentry, nd->path.mnt)) { + error = -ENOENT; + goto out; @@ -52665,7 +53099,7 @@ index ec97aef..eedf4fe 100644 error = -EISDIR; if ((open_flag & O_CREAT) && S_ISDIR(nd->inode->i_mode)) goto out; -@@ -2953,7 +3078,7 @@ static struct file *path_openat(int dfd, struct filename *pathname, +@@ -2953,7 +3052,7 @@ static struct file *path_openat(int dfd, struct filename *pathname, if (unlikely(error)) goto out; @@ -52674,7 +53108,7 @@ index ec97aef..eedf4fe 100644 while (unlikely(error > 0)) { /* trailing symlink */ struct path link = path; void *cookie; -@@ -2971,7 +3096,7 @@ static struct file *path_openat(int dfd, struct filename *pathname, +@@ -2971,7 +3070,7 @@ static struct file *path_openat(int dfd, struct filename *pathname, error = follow_link(&link, nd, &cookie); if (unlikely(error)) break; @@ -52683,7 +53117,7 @@ index ec97aef..eedf4fe 100644 put_link(nd, &link, cookie); } out: -@@ -3071,8 +3196,12 @@ struct dentry *kern_path_create(int dfd, const char *pathname, +@@ -3071,8 +3170,12 @@ struct dentry *kern_path_create(int dfd, const char *pathname, goto unlock; error = -EEXIST; @@ -52697,7 +53131,7 @@ index ec97aef..eedf4fe 100644 /* * Special case - lookup gave negative, but... we had foo/bar/ * From the vfs_mknod() POV we just have a negative dentry - -@@ -3124,6 +3253,20 @@ struct dentry *user_path_create(int dfd, const char __user *pathname, +@@ -3124,6 +3227,20 @@ struct dentry *user_path_create(int dfd, const char __user *pathname, } EXPORT_SYMBOL(user_path_create); @@ -52718,7 +53152,7 @@ index ec97aef..eedf4fe 100644 int vfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t dev) { int error = may_create(dir, dentry); -@@ -3186,6 +3329,17 @@ retry: +@@ -3186,6 +3303,17 @@ retry: if (!IS_POSIXACL(path.dentry->d_inode)) mode &= ~current_umask(); @@ -52736,7 +53170,7 @@ index ec97aef..eedf4fe 100644 error = security_path_mknod(&path, dentry, mode, dev); if (error) goto out; -@@ -3202,6 +3356,8 @@ retry: +@@ -3202,6 +3330,8 @@ retry: break; } out: @@ -52745,7 +53179,7 @@ index ec97aef..eedf4fe 100644 done_path_create(&path, dentry); if (retry_estale(error, lookup_flags)) { lookup_flags |= LOOKUP_REVAL; -@@ -3254,9 +3410,16 @@ retry: +@@ -3254,9 +3384,16 @@ retry: if (!IS_POSIXACL(path.dentry->d_inode)) mode &= ~current_umask(); @@ -52762,7 +53196,7 @@ index ec97aef..eedf4fe 100644 done_path_create(&path, dentry); if (retry_estale(error, lookup_flags)) { lookup_flags |= LOOKUP_REVAL; -@@ -3337,6 +3500,8 @@ static long do_rmdir(int dfd, const char __user *pathname) +@@ -3337,6 +3474,8 @@ static long do_rmdir(int dfd, const char __user *pathname) struct filename *name; struct dentry *dentry; struct nameidata nd; @@ -52771,7 +53205,7 @@ index ec97aef..eedf4fe 100644 unsigned int lookup_flags = 0; retry: name = user_path_parent(dfd, pathname, &nd, lookup_flags); -@@ -3369,10 +3534,21 @@ retry: +@@ -3369,10 +3508,21 @@ retry: error = -ENOENT; goto exit3; } @@ -52793,7 +53227,7 @@ index ec97aef..eedf4fe 100644 exit3: dput(dentry); exit2: -@@ -3438,6 +3614,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) +@@ -3438,6 +3588,8 @@ static long do_unlinkat(int dfd, const char __user *pathname) struct dentry *dentry; struct nameidata nd; struct inode *inode = NULL; @@ -52802,7 +53236,7 @@ index ec97aef..eedf4fe 100644 unsigned int lookup_flags = 0; retry: name = user_path_parent(dfd, pathname, &nd, lookup_flags); -@@ -3464,10 +3642,22 @@ retry: +@@ -3464,10 +3616,22 @@ retry: if (!inode) goto slashes; ihold(inode); @@ -52825,7 +53259,7 @@ index ec97aef..eedf4fe 100644 exit2: dput(dentry); } -@@ -3545,9 +3735,17 @@ retry: +@@ -3545,9 +3709,17 @@ retry: if (IS_ERR(dentry)) goto out_putname; @@ -52843,7 +53277,7 @@ index ec97aef..eedf4fe 100644 done_path_create(&path, dentry); if (retry_estale(error, lookup_flags)) { lookup_flags |= LOOKUP_REVAL; -@@ -3621,6 +3819,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, +@@ -3621,6 +3793,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, { struct dentry *new_dentry; struct path old_path, new_path; @@ -52851,7 +53285,7 @@ index ec97aef..eedf4fe 100644 int how = 0; int error; -@@ -3644,7 +3843,7 @@ retry: +@@ -3644,7 +3817,7 @@ retry: if (error) return error; @@ -52860,7 +53294,7 @@ index ec97aef..eedf4fe 100644 (how & LOOKUP_REVAL)); error = PTR_ERR(new_dentry); if (IS_ERR(new_dentry)) -@@ -3656,11 +3855,28 @@ retry: +@@ -3656,11 +3829,28 @@ retry: error = may_linkat(&old_path); if (unlikely(error)) goto out_dput; @@ -52889,7 +53323,7 @@ index ec97aef..eedf4fe 100644 done_path_create(&new_path, new_dentry); if (retry_estale(error, how)) { how |= LOOKUP_REVAL; -@@ -3906,12 +4122,21 @@ retry: +@@ -3906,12 +4096,21 @@ retry: if (new_dentry == trap) goto exit5; @@ -52911,7 +53345,7 @@ index ec97aef..eedf4fe 100644 exit5: dput(new_dentry); exit4: -@@ -3943,6 +4168,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna +@@ -3943,6 +4142,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const char *link) { @@ -52920,7 +53354,7 @@ index ec97aef..eedf4fe 100644 int len; len = PTR_ERR(link); -@@ -3952,7 +4179,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c +@@ -3952,7 +4153,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c len = strlen(link); if (len > (unsigned) buflen) len = buflen; @@ -54913,6 +55347,28 @@ index 1ccfa53..0848f95 100644 } else if (mm) { pid_t tid = vm_is_stack(priv->task, vma, is_pid); +diff --git a/fs/qnx6/qnx6.h b/fs/qnx6/qnx6.h +index b00fcc9..e0c6381 100644 +--- a/fs/qnx6/qnx6.h ++++ b/fs/qnx6/qnx6.h +@@ -74,7 +74,7 @@ enum { + BYTESEX_BE, + }; + +-static inline __u64 fs64_to_cpu(struct qnx6_sb_info *sbi, __fs64 n) ++static inline __u64 __intentional_overflow(-1) fs64_to_cpu(struct qnx6_sb_info *sbi, __fs64 n) + { + if (sbi->s_bytesex == BYTESEX_LE) + return le64_to_cpu((__force __le64)n); +@@ -90,7 +90,7 @@ static inline __fs64 cpu_to_fs64(struct qnx6_sb_info *sbi, __u64 n) + return (__force __fs64)cpu_to_be64(n); + } + +-static inline __u32 fs32_to_cpu(struct qnx6_sb_info *sbi, __fs32 n) ++static inline __u32 __intentional_overflow(-1) fs32_to_cpu(struct qnx6_sb_info *sbi, __fs32 n) + { + if (sbi->s_bytesex == BYTESEX_LE) + return le32_to_cpu((__force __le32)n); diff --git a/fs/quota/netlink.c b/fs/quota/netlink.c index 16e8abb..2dcf914 100644 --- a/fs/quota/netlink.c @@ -55436,6 +55892,32 @@ index 3c9eb56..9dea5be 100644 if (!IS_ERR(page)) free_page((unsigned long)page); } +diff --git a/fs/sysv/sysv.h b/fs/sysv/sysv.h +index 69d4889..a810bd4 100644 +--- a/fs/sysv/sysv.h ++++ b/fs/sysv/sysv.h +@@ -188,7 +188,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 e18b988..f1d4ad0f 100644 +--- a/fs/ubifs/io.c ++++ b/fs/ubifs/io.c +@@ -155,7 +155,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 @@ -55449,6 +55931,28 @@ index c175b4d..8f36a16 100644 u8 checksum = 0; int i; for (i = 0; i < sizeof(struct tag); ++i) +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 f4fb7ec..3fe03c0 100644 --- a/fs/utimes.c @@ -56686,10 +57190,10 @@ index 0000000..1b9afa9 +endif diff --git a/grsecurity/gracl.c b/grsecurity/gracl.c new file mode 100644 -index 0000000..0767b2e +index 0000000..ab45812 --- /dev/null +++ b/grsecurity/gracl.c -@@ -0,0 +1,4067 @@ +@@ -0,0 +1,4071 @@ +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/sched.h> @@ -56717,6 +57221,7 @@ index 0000000..0767b2e +#include <linux/percpu.h> +#include <linux/lglock.h> +#include <linux/hugetlb.h> ++#include <linux/posix-timers.h> +#include "../fs/mount.h" + +#include <asm/uaccess.h> @@ -59026,6 +59531,9 @@ index 0000000..0767b2e + + task->signal->rlim[i].rlim_cur = proc->res[i].rlim_cur; + task->signal->rlim[i].rlim_max = proc->res[i].rlim_max; ++ ++ if (i == RLIMIT_CPU) ++ update_rlimit_cpu(task, proc->res[i].rlim_cur); + } + + return; @@ -63283,10 +63791,10 @@ index 0000000..207d409 +#endif diff --git a/grsecurity/grsec_exec.c b/grsecurity/grsec_exec.c new file mode 100644 -index 0000000..abfa971 +index 0000000..387032b --- /dev/null +++ b/grsecurity/grsec_exec.c -@@ -0,0 +1,174 @@ +@@ -0,0 +1,187 @@ +#include <linux/kernel.h> +#include <linux/sched.h> +#include <linux/file.h> @@ -63298,6 +63806,7 @@ index 0000000..abfa971 +#include <linux/grinternal.h> +#include <linux/capability.h> +#include <linux/module.h> ++#include <linux/compat.h> + +#include <asm/uaccess.h> + @@ -63306,6 +63815,18 @@ index 0000000..abfa971 +static DEFINE_MUTEX(gr_exec_arg_mutex); +#endif + ++struct user_arg_ptr { ++#ifdef CONFIG_COMPAT ++ bool is_compat; ++#endif ++ union { ++ const char __user *const __user *native; ++#ifdef CONFIG_COMPAT ++ const compat_uptr_t __user *compat; ++#endif ++ } ptr; ++}; ++ +extern const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr); + +void @@ -66379,6 +66900,36 @@ index 42e55de..1cd0e66 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 dec7e2d..45db13f 100644 +--- a/include/linux/compat.h ++++ b/include/linux/compat.h +@@ -311,14 +311,14 @@ long compat_sys_msgsnd(int first, int second, int third, void __user *uptr); + long compat_sys_msgrcv(int first, int second, int msgtyp, int third, + int version, 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); + #else + long compat_sys_semctl(int semid, int semnum, int cmd, int arg); + long compat_sys_msgsnd(int msqid, struct compat_msgbuf __user *msgp, + compat_ssize_t msgsz, int msgflg); + long compat_sys_msgrcv(int msqid, struct compat_msgbuf __user *msgp, + compat_ssize_t msgsz, long msgtyp, int msgflg); +-long compat_sys_shmat(int shmid, compat_uptr_t shmaddr, int shmflg); ++long compat_sys_shmat(int shmid, compat_uptr_t shmaddr, int shmflg) __intentional_overflow(0); + #endif + long compat_sys_msgctl(int first, int second, void __user *uptr); + long compat_sys_shmctl(int first, int second, void __user *uptr); +@@ -414,7 +414,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); + asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, +- compat_long_t addr, compat_long_t data); ++ compat_ulong_t addr, compat_ulong_t data); + + /* + * epoll (fs/eventpoll.c) compat bits follow ... diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h index 662fd1b..e801992 100644 --- a/include/linux/compiler-gcc4.h @@ -66554,6 +67105,27 @@ index dd852b7..72924c0 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 34025df..d94bbbc 100644 --- a/include/linux/configfs.h @@ -66624,6 +67196,58 @@ index 24cd1037..20a63aae 100644 #ifdef CONFIG_CPU_IDLE +diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h +index 0325602..5e9feff 100644 +--- a/include/linux/cpumask.h ++++ b/include/linux/cpumask.h +@@ -118,17 +118,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) + { +@@ -167,7 +167,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) +@@ -182,7 +182,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) +@@ -190,7 +190,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/cred.h b/include/linux/cred.h index 04421e8..6bce4ef 100644 --- a/include/linux/cred.h @@ -66667,6 +67291,19 @@ index b92eadf..b4ecdc1 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 @@ -66790,6 +67427,25 @@ index 8c9048e..16a4665 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/extcon.h b/include/linux/extcon.h index fcb51c8..bdafcf6 100644 --- a/include/linux/extcon.h @@ -67870,10 +68526,10 @@ index 0000000..2bd4c8d +#define GR_BRUTE_DAEMON_MSG "bruteforce prevention initiated for the next 30 minutes or until service restarted, stalling each fork 30 seconds. Please investigate the crash report for " diff --git a/include/linux/grsecurity.h b/include/linux/grsecurity.h new file mode 100644 -index 0000000..1ae241a +index 0000000..8da63a4 --- /dev/null +++ b/include/linux/grsecurity.h -@@ -0,0 +1,257 @@ +@@ -0,0 +1,242 @@ +#ifndef GR_SECURITY_H +#define GR_SECURITY_H +#include <linux/fs.h> @@ -67895,20 +68551,6 @@ index 0000000..1ae241a +#error "CONFIG_PAX enabled, but no PaX options are enabled." +#endif + -+#include <linux/compat.h> -+ -+struct user_arg_ptr { -+#ifdef CONFIG_COMPAT -+ bool is_compat; -+#endif -+ union { -+ const char __user *const __user *native; -+#ifdef CONFIG_COMPAT -+ const compat_uptr_t __user *compat; -+#endif -+ } ptr; -+}; -+ +void gr_handle_brute_attach(unsigned long mm_flags); +void gr_handle_brute_check(void); +void gr_handle_kernel_exploit(void); @@ -67962,7 +68604,6 @@ index 0000000..1ae241a + const struct vfsmount *mnt); +void gr_log_chroot_exec(const struct dentry *dentry, + const struct vfsmount *mnt); -+void gr_handle_exec_args(struct linux_binprm *bprm, struct user_arg_ptr argv); +void gr_log_remount(const char *devname, const int retval); +void gr_log_unmount(const char *devname, const int retval); +void gr_log_mount(const char *from, const char *to, const int retval); @@ -68585,8 +69226,39 @@ index cc6d2aa..c10ee83 100644 /** * 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/mm.h b/include/linux/mm.h -index 66e2f7c..ea88001 100644 +index 66e2f7c..a398fb2 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -101,6 +101,11 @@ extern unsigned int kobjsize(const void *objp); @@ -68751,7 +69423,19 @@ index 66e2f7c..ea88001 100644 #ifdef CONFIG_ARCH_USES_NUMA_PROT_NONE unsigned long change_prot_numa(struct vm_area_struct *vma, unsigned long start, unsigned long end); -@@ -1721,7 +1730,7 @@ extern int unpoison_memory(unsigned long pfn); +@@ -1649,6 +1658,11 @@ 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 ++ + mm->total_vm += pages; + } + #endif /* CONFIG_PROC_FS */ +@@ -1721,7 +1735,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); @@ -68760,7 +69444,7 @@ index 66e2f7c..ea88001 100644 extern int soft_offline_page(struct page *page, int flags); extern void dump_page(struct page *page); -@@ -1752,5 +1761,11 @@ static inline unsigned int debug_guardpage_minorder(void) { return 0; } +@@ -1752,5 +1766,11 @@ static inline unsigned int debug_guardpage_minorder(void) { return 0; } static inline bool page_is_guard(struct page *page) { return false; } #endif /* CONFIG_DEBUG_PAGEALLOC */ @@ -68773,7 +69457,7 @@ index 66e2f7c..ea88001 100644 #endif /* __KERNEL__ */ #endif /* _LINUX_MM_H */ diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h -index f8f5162..a039af9 100644 +index f8f5162..3aaf20f 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -288,6 +288,8 @@ struct vm_area_struct { @@ -68785,15 +69469,6 @@ index f8f5162..a039af9 100644 }; struct core_thread { -@@ -362,7 +364,7 @@ struct mm_struct { - unsigned long def_flags; - unsigned long nr_ptes; /* Page table pages */ - unsigned long start_code, end_code, start_data, end_data; -- unsigned long start_brk, brk, start_stack; -+ unsigned long aslr_gap, start_brk, brk, start_stack; - unsigned long arg_start, arg_end, env_start, env_end; - - unsigned long saved_auxv[AT_VECTOR_SIZE]; /* for /proc/PID/auxv */ @@ -436,6 +438,24 @@ struct mm_struct { int first_nid; #endif @@ -69256,7 +69931,7 @@ index 45fc162..01a4068 100644 /** * 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 6bfb2faa..e5bc5e5 100644 +index a280650..2b67b91 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h @@ -328,8 +328,8 @@ struct perf_event { @@ -69281,7 +69956,7 @@ index 6bfb2faa..e5bc5e5 100644 /* * Protect attach/detach and child_list: -@@ -801,7 +801,7 @@ static inline void perf_event_task_tick(void) { } +@@ -807,7 +807,7 @@ static inline void perf_restore_debug_store(void) { } */ #define perf_cpu_notifier(fn) \ do { \ @@ -69616,7 +70291,7 @@ index c20635c..2f5def4 100644 static inline void anon_vma_merge(struct vm_area_struct *vma, struct vm_area_struct *next) diff --git a/include/linux/sched.h b/include/linux/sched.h -index d211247..a5cbf38b 100644 +index d211247..eac6c2c 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -61,6 +61,7 @@ struct bio_list; @@ -69627,6 +70302,15 @@ index d211247..a5cbf38b 100644 /* * List of flags we want to share for kernel threads, +@@ -327,7 +328,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); @@ -354,10 +355,23 @@ struct user_namespace; #define DEFAULT_MAX_MAP_COUNT (USHRT_MAX - MAPCOUNT_ELF_CORE_MARGIN) @@ -70590,42 +71274,50 @@ index 8e522cbc..aa8572d 100644 + #endif /* _LINUX_UIDGID_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); @@ -70633,7 +71325,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 4d22d0f..ac43c2f 100644 +index 4d22d0f..8d0e8f8 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h @@ -554,7 +554,7 @@ struct usb_device { @@ -70645,6 +71337,15 @@ index 4d22d0f..ac43c2f 100644 unsigned long active_duration; +@@ -1604,7 +1604,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 c5d36c6..108f4f9 100644 --- a/include/linux/usb/renesas_usbhs.h @@ -70851,6 +71552,27 @@ index fdbafc6..b7ffd47 100644 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 95d1c91..6798cca 100644 --- a/include/media/v4l2-dev.h @@ -71691,7 +72413,7 @@ index 7caf44c..23c6f27 100644 #define N_MAGIC(exec) ((exec).a_info & 0xffff) #endif diff --git a/include/uapi/linux/byteorder/little_endian.h b/include/uapi/linux/byteorder/little_endian.h -index d876736..b36014e 100644 +index d876736..ccce5c0 100644 --- a/include/uapi/linux/byteorder/little_endian.h +++ b/include/uapi/linux/byteorder/little_endian.h @@ -42,51 +42,51 @@ @@ -71701,7 +72423,8 @@ index d876736..b36014e 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; @@ -71741,7 +72464,8 @@ index d876736..b36014e 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); @@ -71844,6 +72568,37 @@ index 7530e74..e714828 100644 } __attribute__((packed)); #define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ +diff --git a/include/uapi/linux/swab.h b/include/uapi/linux/swab.h +index 0e011eb..82681b1 100644 +--- a/include/uapi/linux/swab.h ++++ b/include/uapi/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 __HAVE_BUILTIN_BSWAP16__ + return __builtin_bswap16(val); +@@ -54,7 +54,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 __HAVE_BUILTIN_BSWAP32__ + return __builtin_bswap32(val); +@@ -65,7 +65,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 __HAVE_BUILTIN_BSWAP64__ + return __builtin_bswap64(val); diff --git a/include/uapi/linux/sysctl.h b/include/uapi/linux/sysctl.h index 6d67213..8dab561 100644 --- a/include/uapi/linux/sysctl.h @@ -72257,7 +73012,7 @@ index 84c6bf1..8899338 100644 next_state = Reset; return 0; diff --git a/init/main.c b/init/main.c -index cee4b5c..6a3402b 100644 +index cee4b5c..360e10a 100644 --- a/init/main.c +++ b/init/main.c @@ -96,6 +96,8 @@ static inline void mark_rodata_ro(void) { } @@ -72367,7 +73122,7 @@ index cee4b5c..6a3402b 100644 + for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++) { do_one_initcall(*fn); + -+#ifdef CONFIG_PAX_LATENT_ENTROPY ++#ifdef LATENT_ENTROPY_PLUGIN + add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy)); +#endif + @@ -72383,7 +73138,7 @@ index cee4b5c..6a3402b 100644 + for (fn = __initcall_start; fn < __initcall0_start; fn++) { do_one_initcall(*fn); + -+#ifdef CONFIG_PAX_LATENT_ENTROPY ++#ifdef LATENT_ENTROPY_PLUGIN + add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy)); +#endif + @@ -75599,7 +76354,7 @@ index 1f39181..86093471 100644 } diff --git a/kernel/ptrace.c b/kernel/ptrace.c -index 6cbeaae..363c48a 100644 +index 6cbeaae..cfe7ff0 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -324,7 +324,7 @@ static int ptrace_attach(struct task_struct *task, long request, @@ -75661,6 +76416,15 @@ index 6cbeaae..363c48a 100644 } int generic_ptrace_pokedata(struct task_struct *tsk, unsigned long addr, +@@ -1051,7 +1058,7 @@ int compat_ptrace_request(struct task_struct *child, compat_long_t request, + } + + asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, +- compat_long_t addr, compat_long_t data) ++ compat_ulong_t addr, compat_ulong_t data) + { + struct task_struct *child; + long ret; @@ -1067,14 +1074,21 @@ asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, goto out; } @@ -76453,9 +77217,36 @@ index 0984a21..939f183 100644 #ifdef CONFIG_RT_GROUP_SCHED /* diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 26058d0..f9d3c76 100644 +index 26058d0..e315889 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c +@@ -3367,7 +3367,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) + { +@@ -3384,7 +3384,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) +@@ -3405,7 +3405,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) + { @@ -3631,6 +3631,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; @@ -76670,7 +77461,7 @@ index 81fa536..6ccf96a 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 3d09cf6..8988390 100644 +index 7591ccc..8988390 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -50,12 +50,12 @@ static struct kmem_cache *sigqueue_cachep; @@ -76707,17 +77498,7 @@ index 3d09cf6..8988390 100644 if (override_rlimit || atomic_read(&user->sigpending) <= task_rlimit(t, RLIMIT_SIGPENDING)) { -@@ -485,6 +488,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++; - } -@@ -492,7 +498,7 @@ flush_signal_handlers(struct task_struct *t, int force_default) +@@ -495,7 +498,7 @@ flush_signal_handlers(struct task_struct *t, int force_default) int unhandled_signal(struct task_struct *tsk, int sig) { @@ -76726,7 +77507,7 @@ index 3d09cf6..8988390 100644 if (is_global_init(tsk)) return 1; if (handler != SIG_IGN && handler != SIG_DFL) -@@ -812,6 +818,13 @@ static int check_kill_permission(int sig, struct siginfo *info, +@@ -815,6 +818,13 @@ static int check_kill_permission(int sig, struct siginfo *info, } } @@ -76740,7 +77521,7 @@ index 3d09cf6..8988390 100644 return security_task_kill(t, info, sig, 0); } -@@ -1194,7 +1207,7 @@ __group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p) +@@ -1197,7 +1207,7 @@ __group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p) return send_signal(sig, info, p, 1); } @@ -76749,7 +77530,7 @@ index 3d09cf6..8988390 100644 specific_send_sig_info(int sig, struct siginfo *info, struct task_struct *t) { return send_signal(sig, info, t, 0); -@@ -1231,6 +1244,7 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t) +@@ -1234,6 +1244,7 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t) unsigned long int flags; int ret, blocked, ignored; struct k_sigaction *action; @@ -76757,7 +77538,7 @@ index 3d09cf6..8988390 100644 spin_lock_irqsave(&t->sighand->siglock, flags); action = &t->sighand->action[sig-1]; -@@ -1245,9 +1259,18 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t) +@@ -1248,9 +1259,18 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t) } if (action->sa.sa_handler == SIG_DFL) t->signal->flags &= ~SIGNAL_UNKILLABLE; @@ -76776,7 +77557,7 @@ index 3d09cf6..8988390 100644 return ret; } -@@ -1314,8 +1337,11 @@ int group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p) +@@ -1317,8 +1337,11 @@ int group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p) ret = check_kill_permission(sig, info, p); rcu_read_unlock(); @@ -76789,7 +77570,7 @@ index 3d09cf6..8988390 100644 return ret; } -@@ -2852,7 +2878,15 @@ do_send_specific(pid_t tgid, pid_t pid, int sig, struct siginfo *info) +@@ -2855,7 +2878,15 @@ do_send_specific(pid_t tgid, pid_t pid, int sig, struct siginfo *info) int error = -ESRCH; rcu_read_lock(); @@ -76806,7 +77587,7 @@ index 3d09cf6..8988390 100644 if (p && (tgid <= 0 || task_tgid_vnr(p) == tgid)) { error = check_kill_permission(sig, info, p); /* -@@ -3135,8 +3169,8 @@ COMPAT_SYSCALL_DEFINE2(sigaltstack, +@@ -3138,8 +3169,8 @@ COMPAT_SYSCALL_DEFINE2(sigaltstack, } seg = get_fs(); set_fs(KERNEL_DS); @@ -77426,7 +78207,7 @@ index 145bb4d..b2aa969 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 d226c6a..c7c0960 100644 +index d226c6a..2f0d217 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) @@ -77441,6 +78222,15 @@ index d226c6a..c7c0960 100644 sys_tz = *tz; update_vsyscall_tz(); if (firsttime) { +@@ -493,7 +498,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 f11d83b..d016d91 100644 --- a/kernel/time/alarmtimer.c @@ -77607,7 +78397,7 @@ index 0b537f2..40d6c20 100644 return -ENOMEM; return 0; diff --git a/kernel/timer.c b/kernel/timer.c -index 367d008..1ee9ed9 100644 +index 367d008..5dee98f 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -1363,7 +1363,7 @@ void update_process_times(int user_tick) @@ -77619,6 +78409,15 @@ index 367d008..1ee9ed9 100644 { struct tvec_base *base = __this_cpu_read(tvec_bases); +@@ -1481,7 +1481,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; @@ -1772,7 +1772,7 @@ static int __cpuinit timer_cpu_notify(struct notifier_block *self, return NOTIFY_OK; } @@ -78190,7 +78989,7 @@ index 33acb5e..57ebfd4 100644 .group = GLOBAL_ROOT_GID, .proc_inum = PROC_USER_INIT_INO, diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c -index dbfe36a7..6d36e9a 100644 +index dbfe36a7..2a3c1df 100644 --- a/kernel/user_namespace.c +++ b/kernel/user_namespace.c @@ -79,7 +79,7 @@ int create_user_ns(struct cred *new) @@ -78226,6 +79025,15 @@ index dbfe36a7..6d36e9a 100644 } EXPORT_SYMBOL(free_user_ns); +@@ -804,7 +805,7 @@ static int userns_install(struct nsproxy *nsproxy, void *ns) + if (atomic_read(¤t->mm->mm_users) > 1) + return -EINVAL; + +- if (current->fs->users != 1) ++ if (atomic_read(¤t->fs->users) != 1) + return -EINVAL; + + if (!ns_capable(user_ns, CAP_SYS_ADMIN)) diff --git a/kernel/utsname_sysctl.c b/kernel/utsname_sysctl.c index 63da38c..639904e 100644 --- a/kernel/utsname_sysctl.c @@ -78410,6 +79218,28 @@ index 80b9c76..9e32279 100644 } EXPORT_SYMBOL(devm_ioport_unmap); +diff --git a/lib/div64.c b/lib/div64.c +index a163b6c..9618fa5 100644 +--- a/lib/div64.c ++++ b/lib/div64.c +@@ -59,7 +59,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; + +@@ -90,7 +90,7 @@ EXPORT_SYMBOL(div_s64_rem); + * 'http://www.hackersdelight.org/HDcode/newCode/divDouble.c.txt' + */ + #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 5e396ac..58d5de1 100644 --- a/lib/dma-debug.c @@ -80125,7 +80955,7 @@ index c9bd528..da8d069 100644 capable(CAP_IPC_LOCK)) ret = do_mlockall(flags); diff --git a/mm/mmap.c b/mm/mmap.c -index 8832b87..20500c1 100644 +index 8832b87..4bbb1b2 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -32,6 +32,7 @@ @@ -80325,16 +81155,20 @@ index 8832b87..20500c1 100644 if (err) return NULL; khugepaged_enter_vma_merge(area); -@@ -1120,16 +1201,13 @@ none: +@@ -1120,8 +1201,10 @@ none: void vm_stat_account(struct mm_struct *mm, unsigned long flags, struct file *file, long pages) { - const unsigned long stack_flags - = VM_STACK_FLAGS & (VM_GROWSUP|VM_GROWSDOWN); -- ++ ++#ifdef CONFIG_PAX_RANDMMAP ++ if (!(mm->pax_flags & MF_PAX_RANDMMAP) || (flags & (VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC))) ++#endif + mm->total_vm += pages; - if (file) { +@@ -1129,7 +1212,7 @@ void vm_stat_account(struct mm_struct *mm, unsigned long flags, mm->shared_vm += pages; if ((flags & (VM_EXEC|VM_WRITE)) == VM_EXEC) mm->exec_vm += pages; @@ -80343,7 +81177,7 @@ index 8832b87..20500c1 100644 mm->stack_vm += pages; } #endif /* CONFIG_PROC_FS */ -@@ -1165,7 +1243,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -1165,7 +1248,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, * (the exception is when the underlying filesystem is noexec * mounted, in which case we dont add PROT_EXEC.) */ @@ -80352,7 +81186,7 @@ index 8832b87..20500c1 100644 if (!(file && (file->f_path.mnt->mnt_flags & MNT_NOEXEC))) prot |= PROT_EXEC; -@@ -1191,7 +1269,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -1191,7 +1274,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, /* Obtain the address to map to. we verify (or select) it and ensure * that it represents a valid section of the address space. */ @@ -80361,7 +81195,7 @@ index 8832b87..20500c1 100644 if (addr & ~PAGE_MASK) return addr; -@@ -1202,6 +1280,36 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -1202,6 +1285,36 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, vm_flags = calc_vm_prot_bits(prot) | calc_vm_flag_bits(flags) | mm->def_flags | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC; @@ -80398,7 +81232,7 @@ index 8832b87..20500c1 100644 if (flags & MAP_LOCKED) if (!can_do_mlock()) return -EPERM; -@@ -1213,6 +1321,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -1213,6 +1326,7 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, locked += mm->locked_vm; lock_limit = rlimit(RLIMIT_MEMLOCK); lock_limit >>= PAGE_SHIFT; @@ -80406,7 +81240,7 @@ index 8832b87..20500c1 100644 if (locked > lock_limit && !capable(CAP_IPC_LOCK)) return -EAGAIN; } -@@ -1279,6 +1388,9 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -1279,6 +1393,9 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, } } @@ -80416,7 +81250,7 @@ index 8832b87..20500c1 100644 return mmap_region(file, addr, len, flags, vm_flags, pgoff); } -@@ -1356,7 +1468,7 @@ int vma_wants_writenotify(struct vm_area_struct *vma) +@@ -1356,7 +1473,7 @@ int vma_wants_writenotify(struct vm_area_struct *vma) vm_flags_t vm_flags = vma->vm_flags; /* If it was private or non-writable, the write bit is already clear */ @@ -80425,7 +81259,7 @@ index 8832b87..20500c1 100644 return 0; /* The backer wishes to know when pages are first written to? */ -@@ -1405,13 +1517,22 @@ unsigned long mmap_region(struct file *file, unsigned long addr, +@@ -1405,16 +1522,30 @@ unsigned long mmap_region(struct file *file, unsigned long addr, unsigned long charged = 0; struct inode *inode = file ? file->f_path.dentry->d_inode : NULL; @@ -80450,7 +81284,15 @@ index 8832b87..20500c1 100644 } /* Check against address space limit. */ -@@ -1460,6 +1581,16 @@ munmap_back: ++ ++#ifdef CONFIG_PAX_RANDMMAP ++ if (!(mm->pax_flags & MF_PAX_RANDMMAP) || (vm_flags & (VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC))) ++#endif ++ + if (!may_expand_vm(mm, len >> PAGE_SHIFT)) + return -ENOMEM; + +@@ -1460,6 +1591,16 @@ munmap_back: goto unacct_error; } @@ -80467,7 +81309,7 @@ index 8832b87..20500c1 100644 vma->vm_mm = mm; vma->vm_start = addr; vma->vm_end = addr + len; -@@ -1484,6 +1615,13 @@ munmap_back: +@@ -1484,6 +1625,13 @@ munmap_back: if (error) goto unmap_and_free_vma; @@ -80481,7 +81323,7 @@ index 8832b87..20500c1 100644 /* Can addr have changed?? * * Answer: Yes, several device drivers can do it in their -@@ -1522,6 +1660,11 @@ munmap_back: +@@ -1522,6 +1670,11 @@ munmap_back: vma_link(mm, vma, prev, rb_link, rb_parent); file = vma->vm_file; @@ -80493,7 +81335,7 @@ index 8832b87..20500c1 100644 /* Once vma denies write, undo our temporary denial count */ if (correct_wcount) atomic_inc(&inode->i_writecount); -@@ -1529,6 +1672,7 @@ out: +@@ -1529,6 +1682,7 @@ out: perf_event_mmap(vma); vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT); @@ -80501,7 +81343,7 @@ index 8832b87..20500c1 100644 if (vm_flags & VM_LOCKED) { if (!mlock_vma_pages_range(vma, addr, addr + len)) mm->locked_vm += (len >> PAGE_SHIFT); -@@ -1550,6 +1694,12 @@ unmap_and_free_vma: +@@ -1550,6 +1704,12 @@ unmap_and_free_vma: unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); charged = 0; free_vma: @@ -80514,7 +81356,7 @@ index 8832b87..20500c1 100644 kmem_cache_free(vm_area_cachep, vma); unacct_error: if (charged) -@@ -1557,6 +1707,62 @@ unacct_error: +@@ -1557,6 +1717,62 @@ unacct_error: return error; } @@ -80577,7 +81419,7 @@ index 8832b87..20500c1 100644 unsigned long unmapped_area(struct vm_unmapped_area_info *info) { /* -@@ -1776,6 +1982,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, +@@ -1776,6 +1992,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, struct mm_struct *mm = current->mm; struct vm_area_struct *vma; struct vm_unmapped_area_info info; @@ -80585,7 +81427,7 @@ index 8832b87..20500c1 100644 if (len > TASK_SIZE) return -ENOMEM; -@@ -1783,17 +1990,26 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, +@@ -1783,17 +2000,26 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, if (flags & MAP_FIXED) return addr; @@ -80614,7 +81456,7 @@ index 8832b87..20500c1 100644 info.high_limit = TASK_SIZE; info.align_mask = 0; return vm_unmapped_area(&info); -@@ -1802,10 +2018,16 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, +@@ -1802,10 +2028,16 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, void arch_unmap_area(struct mm_struct *mm, unsigned long addr) { @@ -80632,7 +81474,7 @@ index 8832b87..20500c1 100644 mm->free_area_cache = addr; } -@@ -1823,6 +2045,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1823,6 +2055,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, struct mm_struct *mm = current->mm; unsigned long addr = addr0; struct vm_unmapped_area_info info; @@ -80640,7 +81482,7 @@ index 8832b87..20500c1 100644 /* requested length too big for entire address space */ if (len > TASK_SIZE) -@@ -1831,12 +2054,15 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1831,12 +2064,15 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, if (flags & MAP_FIXED) return addr; @@ -80658,7 +81500,7 @@ index 8832b87..20500c1 100644 return addr; } -@@ -1857,6 +2083,12 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1857,6 +2093,12 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, VM_BUG_ON(addr != -ENOMEM); info.flags = 0; info.low_limit = TASK_UNMAPPED_BASE; @@ -80671,7 +81513,7 @@ index 8832b87..20500c1 100644 info.high_limit = TASK_SIZE; addr = vm_unmapped_area(&info); } -@@ -1867,6 +2099,12 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, +@@ -1867,6 +2109,12 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) { @@ -80684,7 +81526,7 @@ index 8832b87..20500c1 100644 /* * Is this a new hole at the highest possible address? */ -@@ -1874,8 +2112,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) +@@ -1874,8 +2122,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) mm->free_area_cache = addr; /* dont allow allocations above current base */ @@ -80696,7 +81538,7 @@ index 8832b87..20500c1 100644 } unsigned long -@@ -1974,6 +2214,28 @@ find_vma_prev(struct mm_struct *mm, unsigned long addr, +@@ -1974,6 +2224,28 @@ find_vma_prev(struct mm_struct *mm, unsigned long addr, return vma; } @@ -80725,7 +81567,7 @@ index 8832b87..20500c1 100644 /* * Verify that the stack growth is acceptable and * update accounting. This is shared with both the -@@ -1990,6 +2252,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns +@@ -1990,6 +2262,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns return -ENOMEM; /* Stack limit test */ @@ -80733,7 +81575,7 @@ index 8832b87..20500c1 100644 if (size > ACCESS_ONCE(rlim[RLIMIT_STACK].rlim_cur)) return -ENOMEM; -@@ -2000,6 +2263,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns +@@ -2000,6 +2273,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns locked = mm->locked_vm + grow; limit = ACCESS_ONCE(rlim[RLIMIT_MEMLOCK].rlim_cur); limit >>= PAGE_SHIFT; @@ -80741,7 +81583,7 @@ index 8832b87..20500c1 100644 if (locked > limit && !capable(CAP_IPC_LOCK)) return -ENOMEM; } -@@ -2029,37 +2293,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns +@@ -2029,37 +2303,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns * PA-RISC uses this for its stack; IA64 for its Register Backing Store. * vma is the last one with address > vma->vm_end. Have to extend vma. */ @@ -80799,7 +81641,7 @@ index 8832b87..20500c1 100644 unsigned long size, grow; size = address - vma->vm_start; -@@ -2094,6 +2369,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) +@@ -2094,6 +2379,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address) } } } @@ -80808,7 +81650,7 @@ index 8832b87..20500c1 100644 vma_unlock_anon_vma(vma); khugepaged_enter_vma_merge(vma); validate_mm(vma->vm_mm); -@@ -2108,6 +2385,8 @@ int expand_downwards(struct vm_area_struct *vma, +@@ -2108,6 +2395,8 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address) { int error; @@ -80817,7 +81659,7 @@ index 8832b87..20500c1 100644 /* * We must make sure the anon_vma is allocated -@@ -2121,6 +2400,15 @@ int expand_downwards(struct vm_area_struct *vma, +@@ -2121,6 +2410,15 @@ int expand_downwards(struct vm_area_struct *vma, if (error) return error; @@ -80833,7 +81675,7 @@ index 8832b87..20500c1 100644 vma_lock_anon_vma(vma); /* -@@ -2130,9 +2418,17 @@ int expand_downwards(struct vm_area_struct *vma, +@@ -2130,9 +2428,17 @@ int expand_downwards(struct vm_area_struct *vma, */ /* Somebody else might have raced and expanded it already */ @@ -80852,7 +81694,7 @@ index 8832b87..20500c1 100644 size = vma->vm_end - address; grow = (vma->vm_start - address) >> PAGE_SHIFT; -@@ -2157,6 +2453,18 @@ int expand_downwards(struct vm_area_struct *vma, +@@ -2157,6 +2463,18 @@ int expand_downwards(struct vm_area_struct *vma, vma->vm_pgoff -= grow; anon_vma_interval_tree_post_update_vma(vma); vma_gap_update(vma); @@ -80871,7 +81713,7 @@ index 8832b87..20500c1 100644 spin_unlock(&vma->vm_mm->page_table_lock); perf_event_mmap(vma); -@@ -2263,6 +2571,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma) +@@ -2263,6 +2581,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma) do { long nrpages = vma_pages(vma); @@ -80885,7 +81727,7 @@ index 8832b87..20500c1 100644 if (vma->vm_flags & VM_ACCOUNT) nr_accounted += nrpages; vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages); -@@ -2308,6 +2623,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2308,6 +2633,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma, insertion_point = (prev ? &prev->vm_next : &mm->mmap); vma->vm_prev = NULL; do { @@ -80902,7 +81744,7 @@ index 8832b87..20500c1 100644 vma_rb_erase(vma, &mm->mm_rb); mm->map_count--; tail_vma = vma; -@@ -2339,14 +2664,33 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -2339,14 +2674,33 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, struct vm_area_struct *new; int err = -ENOMEM; @@ -80936,7 +81778,7 @@ index 8832b87..20500c1 100644 /* most fields are the same, copy all, and then fixup */ *new = *vma; -@@ -2359,6 +2703,22 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -2359,6 +2713,22 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, new->vm_pgoff += ((addr - vma->vm_start) >> PAGE_SHIFT); } @@ -80959,7 +81801,7 @@ index 8832b87..20500c1 100644 pol = mpol_dup(vma_policy(vma)); if (IS_ERR(pol)) { err = PTR_ERR(pol); -@@ -2381,6 +2741,36 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -2381,6 +2751,36 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, else err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); @@ -80996,7 +81838,7 @@ index 8832b87..20500c1 100644 /* Success. */ if (!err) return 0; -@@ -2390,10 +2780,18 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -2390,10 +2790,18 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, new->vm_ops->close(new); if (new->vm_file) fput(new->vm_file); @@ -81016,7 +81858,7 @@ index 8832b87..20500c1 100644 kmem_cache_free(vm_area_cachep, new); out_err: return err; -@@ -2406,6 +2804,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -2406,6 +2814,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, unsigned long addr, int new_below) { @@ -81032,7 +81874,7 @@ index 8832b87..20500c1 100644 if (mm->map_count >= sysctl_max_map_count) return -ENOMEM; -@@ -2417,11 +2824,30 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2417,11 +2834,30 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma, * work. This now handles partial unmappings. * Jeremy Fitzhardinge <jeremy@goop.org> */ @@ -81063,7 +81905,7 @@ index 8832b87..20500c1 100644 if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start) return -EINVAL; -@@ -2496,6 +2922,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) +@@ -2496,6 +2932,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) /* Fix up all other VM information */ remove_vma_list(mm, vma); @@ -81072,7 +81914,7 @@ index 8832b87..20500c1 100644 return 0; } -@@ -2504,6 +2932,13 @@ int vm_munmap(unsigned long start, size_t len) +@@ -2504,6 +2942,13 @@ int vm_munmap(unsigned long start, size_t len) int ret; struct mm_struct *mm = current->mm; @@ -81086,7 +81928,7 @@ index 8832b87..20500c1 100644 down_write(&mm->mmap_sem); ret = do_munmap(mm, start, len); up_write(&mm->mmap_sem); -@@ -2517,16 +2952,6 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) +@@ -2517,16 +2962,6 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) return vm_munmap(addr, len); } @@ -81103,7 +81945,7 @@ index 8832b87..20500c1 100644 /* * this is really a simplified "do_mmap". it only handles * anonymous maps. eventually we may be able to do some -@@ -2540,6 +2965,7 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2540,6 +2975,7 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) struct rb_node ** rb_link, * rb_parent; pgoff_t pgoff = addr >> PAGE_SHIFT; int error; @@ -81111,7 +81953,7 @@ index 8832b87..20500c1 100644 len = PAGE_ALIGN(len); if (!len) -@@ -2547,16 +2973,30 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2547,16 +2983,30 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; @@ -81143,7 +81985,7 @@ index 8832b87..20500c1 100644 locked += mm->locked_vm; lock_limit = rlimit(RLIMIT_MEMLOCK); lock_limit >>= PAGE_SHIFT; -@@ -2573,21 +3013,20 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2573,21 +3023,20 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) /* * Clear old maps. this also does some error checking for us */ @@ -81168,7 +82010,7 @@ index 8832b87..20500c1 100644 return -ENOMEM; /* Can we just expand an old private anonymous mapping? */ -@@ -2601,7 +3040,7 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2601,7 +3050,7 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) */ vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); if (!vma) { @@ -81177,7 +82019,7 @@ index 8832b87..20500c1 100644 return -ENOMEM; } -@@ -2615,11 +3054,12 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2615,11 +3064,12 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) vma_link(mm, vma, prev, rb_link, rb_parent); out: perf_event_mmap(vma); @@ -81192,7 +82034,7 @@ index 8832b87..20500c1 100644 return addr; } -@@ -2677,6 +3117,7 @@ void exit_mmap(struct mm_struct *mm) +@@ -2677,6 +3127,7 @@ void exit_mmap(struct mm_struct *mm) while (vma) { if (vma->vm_flags & VM_ACCOUNT) nr_accounted += vma_pages(vma); @@ -81200,7 +82042,7 @@ index 8832b87..20500c1 100644 vma = remove_vma(vma); } vm_unacct_memory(nr_accounted); -@@ -2693,6 +3134,13 @@ int insert_vm_struct(struct mm_struct *mm, struct vm_area_struct *vma) +@@ -2693,6 +3144,13 @@ int insert_vm_struct(struct mm_struct *mm, struct vm_area_struct *vma) struct vm_area_struct *prev; struct rb_node **rb_link, *rb_parent; @@ -81214,7 +82056,7 @@ index 8832b87..20500c1 100644 /* * The vm_pgoff of a purely anonymous vma should be irrelevant * until its first write fault, when page's anon_vma and index -@@ -2716,7 +3164,21 @@ int insert_vm_struct(struct mm_struct *mm, struct vm_area_struct *vma) +@@ -2716,7 +3174,21 @@ int insert_vm_struct(struct mm_struct *mm, struct vm_area_struct *vma) security_vm_enough_memory_mm(mm, vma_pages(vma))) return -ENOMEM; @@ -81236,7 +82078,7 @@ index 8832b87..20500c1 100644 return 0; } -@@ -2736,6 +3198,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -2736,6 +3208,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, struct mempolicy *pol; bool faulted_in_anon_vma = true; @@ -81245,7 +82087,7 @@ index 8832b87..20500c1 100644 /* * If anonymous vma has not yet been faulted, update new pgoff * to match new location, to increase its chance of merging. -@@ -2802,6 +3266,39 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -2802,6 +3276,39 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, return NULL; } @@ -81285,20 +82127,15 @@ index 8832b87..20500c1 100644 /* * Return true if the calling process may expand its vm space by the passed * number of pages -@@ -2813,6 +3310,12 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages) +@@ -2813,6 +3320,7 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages) lim = rlimit(RLIMIT_AS) >> PAGE_SHIFT; -+#ifdef CONFIG_PAX_RANDMMAP -+ if (mm->pax_flags & MF_PAX_RANDMMAP) -+ cur -= mm->aslr_gap; -+#endif -+ + gr_learn_resource(current, RLIMIT_AS, (cur + npages) << PAGE_SHIFT, 1); if (cur + npages > lim) return 0; return 1; -@@ -2883,6 +3386,22 @@ int install_special_mapping(struct mm_struct *mm, +@@ -2883,6 +3391,22 @@ int install_special_mapping(struct mm_struct *mm, vma->vm_start = addr; vma->vm_end = addr + len; @@ -81696,9 +82533,18 @@ index 79c3cac..4d357e0 100644 new->vm_region = region; diff --git a/mm/page-writeback.c b/mm/page-writeback.c -index 0713bfb..e3774e0 100644 +index 0713bfb..b95bb87 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c +@@ -655,7 +655,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, @@ -1630,7 +1630,7 @@ ratelimit_handler(struct notifier_block *self, unsigned long action, } } @@ -83752,42 +84598,6 @@ index bd6fd0f..6492cba 100644 spin_unlock_irqrestore(&dev->port.lock, flags); if (dev->tty_dev->parent) device_move(dev->tty_dev, NULL, DPM_ORDER_DEV_LAST); -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/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c index 5fe2ff3..121d696 100644 --- a/net/bridge/netfilter/ebtables.c @@ -84060,7 +84870,7 @@ index 368f9c3..f82d4a3 100644 return err; diff --git a/net/core/dev.c b/net/core/dev.c -index f64e439..8f959e6 100644 +index 1339f77..6fd27dc 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1250,9 +1250,13 @@ void dev_load(struct net *net, const char *name) @@ -84122,7 +84932,7 @@ index f64e439..8f959e6 100644 { struct softnet_data *sd = &__get_cpu_var(softnet_data); -@@ -3456,7 +3460,7 @@ ncls: +@@ -3457,7 +3461,7 @@ ncls: ret = pt_prev->func(skb, skb->dev, pt_prev, orig_dev); } else { drop: @@ -84131,7 +84941,7 @@ index f64e439..8f959e6 100644 kfree_skb(skb); /* Jamal, now you will not able to escape explaining * me how you were going to use this. :-) -@@ -4039,7 +4043,7 @@ void netif_napi_del(struct napi_struct *napi) +@@ -4040,7 +4044,7 @@ void netif_napi_del(struct napi_struct *napi) } EXPORT_SYMBOL(netif_napi_del); @@ -84140,7 +84950,7 @@ index f64e439..8f959e6 100644 { struct softnet_data *sd = &__get_cpu_var(softnet_data); unsigned long time_limit = jiffies + 2; -@@ -4523,8 +4527,13 @@ static int ptype_seq_show(struct seq_file *seq, void *v) +@@ -4524,8 +4528,13 @@ static int ptype_seq_show(struct seq_file *seq, void *v) else seq_printf(seq, "%04x", ntohs(pt->type)); @@ -84154,7 +84964,7 @@ index f64e439..8f959e6 100644 } return 0; -@@ -6096,7 +6105,7 @@ struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev, +@@ -6097,7 +6106,7 @@ struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev, } else { netdev_stats_to_stats64(storage, &dev->stats); } @@ -84292,7 +85102,7 @@ index 8acce01..2e306bb 100644 return error; } diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c -index 1868625..e2261f5 100644 +index 798f920..e2261f5 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -58,7 +58,7 @@ struct rtnl_link { @@ -84330,14 +85140,6 @@ index 1868625..e2261f5 100644 } EXPORT_SYMBOL_GPL(__rtnl_link_unregister); -@@ -976,6 +979,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/core/scm.c b/net/core/scm.c index 905dcc6..14ee2d6 100644 --- a/net/core/scm.c @@ -84635,74 +85437,6 @@ index d1b0804..4aed0a5 100644 .init = sysctl_core_net_init, .exit = sysctl_core_net_exit, }; -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/decnet/af_decnet.c b/net/decnet/af_decnet.c index 307c322..78a4c6f 100644 --- a/net/decnet/af_decnet.c @@ -85498,7 +86232,7 @@ index d84400b..62e066e 100644 hdr = register_net_sysctl(&init_net, "net/ipv4", ipv4_table); if (hdr == NULL) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c -index ad70a96..50cb55b 100644 +index 66702d3..31ff8f9 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -4733,7 +4733,7 @@ static struct sk_buff *tcp_collapse_one(struct sock *sk, struct sk_buff *skb, @@ -86118,10 +86852,10 @@ index e5253ec..0410257 100644 return -ENOMEM; } diff --git a/net/ipv6/route.c b/net/ipv6/route.c -index 6f9f7b6..2306d63 100644 +index 5845613..3af8fc7 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c -@@ -2965,7 +2965,7 @@ ctl_table ipv6_route_table_template[] = { +@@ -2966,7 +2966,7 @@ ctl_table ipv6_route_table_template[] = { struct ctl_table * __net_init ipv6_route_sysctl_init(struct net *net) { @@ -86285,6 +87019,23 @@ index fb08329..2d6919e 100644 } int udp6_seq_show(struct seq_file *seq, void *v) +diff --git a/net/irda/af_irda.c b/net/irda/af_irda.c +index b833677..4d04105 100644 +--- a/net/irda/af_irda.c ++++ b/net/irda/af_irda.c +@@ -2584,8 +2584,10 @@ bed: + NULL, NULL, NULL); + + /* Check if the we got some results */ +- if (!self->cachedaddr) +- return -EAGAIN; /* Didn't find any devices */ ++ if (!self->cachedaddr) { ++ err = -EAGAIN; /* Didn't find any devices */ ++ goto out; ++ } + daddr = self->cachedaddr; + /* Cleanup */ + self->cachedaddr = 0; diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c index a68c88c..d55b0c5 100644 --- a/net/irda/ircomm/ircomm_tty.c @@ -86427,18 +87178,6 @@ index 5b426a6..970032b 100644 } while (!res); return res; } -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/mac80211/cfg.c b/net/mac80211/cfg.c index 0479c64..d031db6 100644 --- a/net/mac80211/cfg.c @@ -87499,20 +88238,6 @@ index 4503335..db566b4 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; - -+ 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/rds/rds.h b/net/rds/rds.h index ec1d731..90a3a8d 100644 --- a/net/rds/rds.h @@ -87914,7 +88639,7 @@ index c957775..6d4593a 100644 sctp_generate_t1_cookie_event, sctp_generate_t1_init_event, diff --git a/net/sctp/socket.c b/net/sctp/socket.c -index cedd9bf..d577d71 100644 +index 9ef5c73..d577d71 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -4665,6 +4665,8 @@ static int sctp_getsockopt_peer_addrs(struct sock *sk, int len, @@ -87926,26 +88651,6 @@ index cedd9bf..d577d71 100644 if (copy_to_user(to, &temp, addrlen)) return -EFAULT; to += addrlen; -@@ -5653,6 +5655,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 +5691,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/net/sctp/ssnmap.c b/net/sctp/ssnmap.c index 442ad4e..825ea94 100644 --- a/net/sctp/ssnmap.c @@ -88009,7 +88714,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..45d0b31 100644 +index 2ca51c7..adc6cb6 100644 --- a/net/socket.c +++ b/net/socket.c @@ -89,6 +89,7 @@ @@ -88162,7 +88867,16 @@ index 2ca51c7..45d0b31 100644 err = security_socket_connect(sock, (struct sockaddr *)&address, addrlen); if (err) -@@ -2047,7 +2107,7 @@ static int __sys_sendmsg(struct socket *sock, struct msghdr __user *msg, +@@ -1774,6 +1834,8 @@ SYSCALL_DEFINE3(getpeername, int, fd, struct sockaddr __user *, usockaddr, + * the protocol. + */ + ++asmlinkage long sys_sendto(int, void *, size_t, unsigned, struct sockaddr *, int) __intentional_overflow(0); ++ + SYSCALL_DEFINE6(sendto, int, fd, void __user *, buff, size_t, len, + unsigned int, flags, struct sockaddr __user *, addr, + int, addr_len) +@@ -2047,7 +2109,7 @@ static int __sys_sendmsg(struct socket *sock, struct msghdr __user *msg, * checking falls down on this. */ if (copy_from_user(ctl_buf, @@ -88171,7 +88885,7 @@ index 2ca51c7..45d0b31 100644 ctl_len)) goto out_freectl; msg_sys->msg_control = ctl_buf; -@@ -2215,7 +2275,7 @@ static int __sys_recvmsg(struct socket *sock, struct msghdr __user *msg, +@@ -2215,7 +2277,7 @@ static int __sys_recvmsg(struct socket *sock, struct msghdr __user *msg, * kernel msghdr to use the kernel address space) */ @@ -88180,7 +88894,7 @@ index 2ca51c7..45d0b31 100644 uaddr_len = COMPAT_NAMELEN(msg); if (MSG_CMSG_COMPAT & flags) { err = verify_compat_iovec(msg_sys, iov, &addr, VERIFY_WRITE); -@@ -2838,7 +2898,7 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32) +@@ -2838,7 +2900,7 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32) } ifr = compat_alloc_user_space(buf_size); @@ -88189,7 +88903,7 @@ index 2ca51c7..45d0b31 100644 if (copy_in_user(&ifr->ifr_name, &ifr32->ifr_name, IFNAMSIZ)) return -EFAULT; -@@ -2862,12 +2922,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32) +@@ -2862,12 +2924,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, @@ -88206,7 +88920,7 @@ index 2ca51c7..45d0b31 100644 copy_in_user(&rxnfc->rule_cnt, &compat_rxnfc->rule_cnt, sizeof(rxnfc->rule_cnt))) return -EFAULT; -@@ -2879,12 +2939,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32) +@@ -2879,12 +2941,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32) if (convert_out) { if (copy_in_user(compat_rxnfc, rxnfc, @@ -88223,7 +88937,7 @@ index 2ca51c7..45d0b31 100644 copy_in_user(&compat_rxnfc->rule_cnt, &rxnfc->rule_cnt, sizeof(rxnfc->rule_cnt))) return -EFAULT; -@@ -2954,7 +3014,7 @@ static int bond_ioctl(struct net *net, unsigned int cmd, +@@ -2954,7 +3016,7 @@ static int bond_ioctl(struct net *net, unsigned int cmd, old_fs = get_fs(); set_fs(KERNEL_DS); err = dev_ioctl(net, cmd, @@ -88232,7 +88946,7 @@ index 2ca51c7..45d0b31 100644 set_fs(old_fs); return err; -@@ -3063,7 +3123,7 @@ static int compat_sioc_ifmap(struct net *net, unsigned int cmd, +@@ -3063,7 +3125,7 @@ static int compat_sioc_ifmap(struct net *net, unsigned int cmd, old_fs = get_fs(); set_fs(KERNEL_DS); @@ -88241,7 +88955,7 @@ index 2ca51c7..45d0b31 100644 set_fs(old_fs); if (cmd == SIOCGIFMAP && !err) { -@@ -3168,7 +3228,7 @@ static int routing_ioctl(struct net *net, struct socket *sock, +@@ -3168,7 +3230,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); @@ -88250,7 +88964,7 @@ index 2ca51c7..45d0b31 100644 devname[15] = 0; } else r4.rt_dev = NULL; -@@ -3394,8 +3454,8 @@ int kernel_getsockopt(struct socket *sock, int level, int optname, +@@ -3394,8 +3456,8 @@ int kernel_getsockopt(struct socket *sock, int level, int optname, int __user *uoptlen; int err; @@ -88261,7 +88975,7 @@ index 2ca51c7..45d0b31 100644 set_fs(KERNEL_DS); if (level == SOL_SOCKET) -@@ -3415,7 +3475,7 @@ int kernel_setsockopt(struct socket *sock, int level, int optname, +@@ -3415,7 +3477,7 @@ int kernel_setsockopt(struct socket *sock, int level, int optname, char __user *uoptval; int err; @@ -89288,6 +90002,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 acb8650..b8c5f02 100644 +--- a/scripts/package/builddeb ++++ b/scripts/package/builddeb +@@ -246,6 +246,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 arch/$SRCARCH/include .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 68bb4ef..2f419e1 100644 --- a/scripts/pnmtologo.c @@ -91232,7 +91958,7 @@ index 0000000..50f2f2f +size_overflow_hash.h diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile new file mode 100644 -index 0000000..6920fb3 +index 0000000..33a1587 --- /dev/null +++ b/tools/gcc/Makefile @@ -0,0 +1,43 @@ @@ -91250,7 +91976,7 @@ index 0000000..6920fb3 +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 @@ -93213,3729 +93939,5878 @@ 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..5921fd7 +index 0000000..5ac778be --- /dev/null +++ b/tools/gcc/size_overflow_hash.data -@@ -0,0 +1,3713 @@ +@@ -0,0 +1,5862 @@ +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 +batadv_orig_node_del_if_4 batadv_orig_node_del_if 2 4 NULL -+ipw_queue_tx_init_49161 ipw_queue_tx_init 3 49161 NULL -+xfs_efd_init_5463 xfs_efd_init 3 5463 NULL -+recent_mt_proc_write_8206 recent_mt_proc_write 3 8206 NULL -+sctp_tsnmap_grow_32784 sctp_tsnmap_grow 2 32784 NULL -+rt2x00debug_write_bbp_8212 rt2x00debug_write_bbp 3 8212 NULL -+diva_os_malloc_16406 diva_os_malloc 2 16406 NULL ++storvsc_connect_to_vsp_22 storvsc_connect_to_vsp 2 22 NULL +compat_sock_setsockopt_23 compat_sock_setsockopt 5 23 NULL -+xfs_dir2_leaf_getdents_23841 xfs_dir2_leaf_getdents 3 23841 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 -+create_log_8225 create_log 2 8225 NULL -+ieee80211_if_read_tsf_16420 ieee80211_if_read_tsf 3 16420 NULL -+rproc_name_read_32805 rproc_name_read 3 32805 NULL -+rxrpc_server_keyring_16431 rxrpc_server_keyring 3 16431 NULL -+mac80211_format_buffer_41010 mac80211_format_buffer 2 41010 NULL -+il4965_rs_sta_dbgfs_stats_table_read_49206 il4965_rs_sta_dbgfs_stats_table_read 3 49206 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 -+add_rx_skb_8257 add_rx_skb 3 8257 NULL -+enclosure_register_57412 enclosure_register 3 57412 NULL -+t3_init_l2t_8261 t3_init_l2t 1 8261 NULL -+_req_append_segment_41031 _req_append_segment 2 41031 NULL -+gre_manip_pkt_57416 gre_manip_pkt 4 57416 NULL -+netlink_change_ngroups_16457 netlink_change_ngroups 2 16457 NULL -+mISDN_sock_sendmsg_41035 mISDN_sock_sendmsg 4 41035 NULL ++__skb_to_sgvec_72 __skb_to_sgvec 0 72 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 -+shmem_pread_fast_34147 shmem_pread_fast 3 34147 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 -+rproc_recovery_write_8281 rproc_recovery_write 3 8281 NULL +snd_korg1212_copy_to_92 snd_korg1212_copy_to 6 92 NULL +load_msg_95 load_msg 2 95 NULL -+rds_sendmsg_40976 rds_sendmsg 4 40976 NULL -+new_tape_buffer_32866 new_tape_buffer 2 32866 NULL -+acpi_tb_check_xsdt_21862 acpi_tb_check_xsdt 1 21862 NULL -+sys_pselect6_57449 sys_pselect6 1 57449 NULL -+biovec_create_pools_9575 biovec_create_pools 2 9575 NULL -+ieee80211_if_read_rssi_threshold_49260 ieee80211_if_read_rssi_threshold 3 49260 NULL -+tracing_readme_read_16493 tracing_readme_read 3 16493 NULL -+ath6kl_usb_submit_ctrl_in_32880 ath6kl_usb_submit_ctrl_in 6 32880 NULL nohasharray -+cifs_writedata_alloc_32880 cifs_writedata_alloc 1 32880 &ath6kl_usb_submit_ctrl_in_32880 -+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 3-2 57466 NULL -+ath6kl_usb_post_recv_transfers_32892 ath6kl_usb_post_recv_transfers 2 32892 NULL -+ieee80211_if_read_flags_57470 ieee80211_if_read_flags 3 57470 NULL nohasharray -+sep_lock_user_pages_57470 sep_lock_user_pages 2-3 57470 &ieee80211_if_read_flags_57470 -+rx_filter_beacon_filter_read_49279 rx_filter_beacon_filter_read 3 49279 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 ++device_flush_iotlb_115 device_flush_iotlb 2-3 115 NULL +init_q_132 init_q 4 132 NULL -+roccat_read_41093 roccat_read 3 41093 NULL nohasharray -+nvme_map_user_pages_41093 nvme_map_user_pages 3-4 41093 &roccat_read_41093 -+ipwireless_send_packet_8328 ipwireless_send_packet 4 8328 NULL -+unifi_net_data_malloc_24716 unifi_net_data_malloc 3 24716 NULL +memstick_alloc_host_142 memstick_alloc_host 1 142 NULL -+il_dbgfs_tx_stats_read_32913 il_dbgfs_tx_stats_read 3 32913 NULL -+uio_read_49300 uio_read 3 49300 NULL -+f_audio_buffer_alloc_41110 f_audio_buffer_alloc 1 41110 NULL ++hva_to_gfn_memslot_149 hva_to_gfn_memslot 0-1 149 NULL +tracing_trace_options_write_153 tracing_trace_options_write 3 153 NULL -+bnad_debugfs_write_regwr_57500 bnad_debugfs_write_regwr 3 57500 NULL -+firmwareUpload_32794 firmwareUpload 3 32794 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 4-3 8360 NULL -+ath_rxbuf_alloc_24745 ath_rxbuf_alloc 2 24745 NULL +nvme_create_queue_170 nvme_create_queue 3 170 NULL -+init_tag_map_57515 init_tag_map 3 57515 NULL -+il_dbgfs_force_reset_read_57517 il_dbgfs_force_reset_read 3 57517 NULL -+srpt_alloc_ioctx_ring_49330 srpt_alloc_ioctx_ring 2-3-4 49330 NULL -+kgdb_hex2mem_24755 kgdb_hex2mem 3 24755 NULL -+lpfc_debugfs_read_16566 lpfc_debugfs_read 3 16566 NULL +xfs_buf_item_get_format_189 xfs_buf_item_get_format 2 189 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 +virtblk_add_req_197 virtblk_add_req 2-3 197 NULL -+il_dbgfs_fh_reg_read_40993 il_dbgfs_fh_reg_read 3 40993 NULL -+rds_tcp_data_recv_53476 rds_tcp_data_recv 3 53476 NULL -+xdi_copy_from_user_8395 xdi_copy_from_user 4 8395 NULL -+skb_make_writable_24783 skb_make_writable 2 24783 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 -+px_raw_event_49371 px_raw_event 4 49371 NULL -+tty_register_device_attr_57381 tty_register_device_attr 2 57381 NULL -+compat_filldir_32999 compat_filldir 3 32999 NULL -+hci_si_event_1404 hci_si_event 3 1404 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 -+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 -+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 -+__alloc_objio_seg_7203 __alloc_objio_seg 1 7203 NULL -+sk_stream_alloc_skb_57622 sk_stream_alloc_skb 2 57622 NULL -+tx_tx_retry_template_read_57623 tx_tx_retry_template_read 3 57623 NULL -+iwl_dbgfs_ucode_general_stats_read_49199 iwl_dbgfs_ucode_general_stats_read 3 49199 NULL -+mfd_add_devices_16668 mfd_add_devices 4 16668 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 -+ieee80211_if_read_uapsd_max_sp_len_15067 ieee80211_if_read_uapsd_max_sp_len 3 15067 NULL ++br_port_info_size_268 br_port_info_size 0 268 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 -+pnp_alloc_24869 pnp_alloc 1 24869 NULL nohasharray -+l2cap_create_basic_pdu_24869 l2cap_create_basic_pdu 3 24869 &pnp_alloc_24869 -+hiddev_compat_ioctl_41255 hiddev_compat_ioctl 2 41255 NULL -+stats_dot11RTSSuccessCount_read_33065 stats_dot11RTSSuccessCount_read 3 33065 NULL -+sel_read_checkreqprot_33068 sel_read_checkreqprot 3 33068 NULL -+queues_read_24877 queues_read 3 24877 NULL -+__fprog_create_41263 __fprog_create 2 41263 NULL +syslog_print_307 syslog_print 2 307 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 +dn_setsockopt_314 dn_setsockopt 5 314 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 -+savu_sysfs_read_49473 savu_sysfs_read 6 49473 NULL -+dn_nsp_do_disc_49474 dn_nsp_do_disc 6-2 49474 NULL -+alloc_context_41283 alloc_context 1 41283 NULL -+__lgwrite_57669 __lgwrite 4 57669 NULL -+ath9k_wmi_cmd_327 ath9k_wmi_cmd 4 327 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 ++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 ++dccp_manip_pkt_476 dccp_manip_pkt 4 476 NULL ++pidlist_resize_496 pidlist_resize 2 496 NULL ++read_vbt_r0_503 read_vbt_r0 1 503 NULL ++rx_rx_defrag_end_read_505 rx_rx_defrag_end_read 3 505 NULL ++ocfs2_validate_meta_ecc_bhs_527 ocfs2_validate_meta_ecc_bhs 0 527 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 ++dle_count_543 dle_count 0 543 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 ++smk_write_load_self2_591 smk_write_load_self2 3 591 NULL ++ni_gpct_device_construct_610 ni_gpct_device_construct 5 610 NULL ++compat_sys_shmat_620 compat_sys_shmat 3 620 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 ++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 ++div_u64_rem_672 div_u64_rem 0 672 NULL ++mem_rx_free_mem_blks_read_675 mem_rx_free_mem_blks_read 3 675 NULL ++rtl8169_try_rx_copy_705 rtl8169_try_rx_copy 3 705 NULL ++persistent_ram_vmap_709 persistent_ram_vmap 1-2 709 NULL ++ipath_resize_cq_712 ipath_resize_cq 2 712 NULL ++sctp_setsockopt_peer_addr_params_734 sctp_setsockopt_peer_addr_params 3 734 NULL ++wm8962_gpio_direction_out_738 wm8962_gpio_direction_out 2 738 NULL ++dvb_video_write_754 dvb_video_write 3 754 NULL ++iwl_read_targ_mem_772 iwl_read_targ_mem 0 772 NULL ++snd_pcm_drain_811 snd_pcm_drain 0 811 NULL ++if_writecmd_815 if_writecmd 2 815 NULL ++aac_change_queue_depth_825 aac_change_queue_depth 2 825 NULL ++read_fifo_826 read_fifo 3 826 NULL ++read_tree_block_841 read_tree_block 3 841 NULL ++um_idi_read_850 um_idi_read 3 850 NULL ++ieee80211_if_fmt_rc_rateidx_mcs_mask_5ghz_856 ieee80211_if_fmt_rc_rateidx_mcs_mask_5ghz 3 856 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 ++readw_931 readw 0 931 NULL ++carl9170_cmd_buf_950 carl9170_cmd_buf 3 950 NULL ++ieee80211_ie_build_vht_cap_956 ieee80211_ie_build_vht_cap 0 956 NULL nohasharray ++__nodes_weight_956 __nodes_weight 2-0 956 &ieee80211_ie_build_vht_cap_956 ++sys_msgrcv_959 sys_msgrcv 3 959 NULL ++hdlcdev_rx_997 hdlcdev_rx 3 997 NULL ++smk_write_cipso2_1021 smk_write_cipso2 3 1021 NULL ++lp872x_select_buck_vout_addr_1045 lp872x_select_buck_vout_addr 0 1045 NULL ++gigaset_initdriver_1060 gigaset_initdriver 2 1060 NULL ++Read_hfc16_1070 Read_hfc16 0 1070 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 ++nfs_pgarray_set_1085 nfs_pgarray_set 2 1085 NULL ++llcp_sock_sendmsg_1092 llcp_sock_sendmsg 4 1092 NULL ++nfs4_init_nonuniform_client_string_1097 nfs4_init_nonuniform_client_string 3 1097 NULL ++store_risefalltime_1109 store_risefalltime 5 1109 NULL ++cfg80211_report_obss_beacon_1133 cfg80211_report_obss_beacon 3 1133 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 ++dgrp_dpa_read_1204 dgrp_dpa_read 3 1204 NULL ++i2cdev_read_1206 i2cdev_read 3 1206 NULL ++ipw_packet_received_skb_1230 ipw_packet_received_skb 2 1230 NULL ++thin_status_1239 thin_status 5 1239 NULL ++acpi_battery_write_alarm_1240 acpi_battery_write_alarm 3 1240 NULL ++ocfs2_extend_file_1266 ocfs2_extend_file 3 1266 NULL ++qla4xxx_change_queue_depth_1268 qla4xxx_change_queue_depth 2 1268 NULL ++ioctl_private_iw_point_1273 ioctl_private_iw_point 7 1273 NULL ++batadv_tt_prepare_packet_buff_1280 batadv_tt_prepare_packet_buff 4 1280 NULL ++tx_frag_in_process_called_read_1290 tx_frag_in_process_called_read 3 1290 NULL ++compat_put_u64_1319 compat_put_u64 1 1319 NULL ++ffs_1322 ffs 0 1322 NULL ++carl9170_rx_stream_1334 carl9170_rx_stream 3 1334 NULL ++btrfs_submit_compressed_write_1347 btrfs_submit_compressed_write 5 1347 NULL ++gen_pool_best_fit_1348 gen_pool_best_fit 2-3-4 1348 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 ++fw_stats_raw_read_1369 fw_stats_raw_read 3 1369 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 ++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 ++lm3533_als_get_threshold_reg_1404 lm3533_als_get_threshold_reg 0-1 1404 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 ++alloc_perm_bits_1532 alloc_perm_bits 2 1532 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 ++btmrvl_hsmode_read_1647 btmrvl_hsmode_read 3 1647 NULL ++ikconfig_read_current_1658 ikconfig_read_current 3 1658 NULL ++netdev_feature_string_1667 netdev_feature_string 0 1667 NULL ++compat_x25_ioctl_1674 compat_x25_ioctl 3 1674 NULL ++rmap_add_1677 rmap_add 3 1677 NULL ++configfs_read_file_1683 configfs_read_file 3 1683 NULL ++coda_psdev_write_1711 coda_psdev_write 3 1711 NULL ++btrfs_dir_data_len_1714 btrfs_dir_data_len 0 1714 NULL ++dma_memcpy_pg_to_iovec_1725 dma_memcpy_pg_to_iovec 6 1725 NULL ++tx_frag_called_read_1748 tx_frag_called_read 3 1748 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 ++update_macheader_1775 update_macheader 7 1775 NULL ++fcoe_ctlr_device_add_1793 fcoe_ctlr_device_add 3 1793 NULL ++__nodelist_scnprintf_1815 __nodelist_scnprintf 0-2-4 1815 NULL ++rx_defrag_called_read_1897 rx_defrag_called_read 3 1897 NULL ++nfs_parse_server_name_1899 nfs_parse_server_name 2 1899 NULL ++tx_tx_retry_data_read_1926 tx_tx_retry_data_read 3 1926 NULL ++cyttsp_probe_1940 cyttsp_probe 4 1940 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 ++sel_read_avc_hash_stats_1984 sel_read_avc_hash_stats 3 1984 NULL ++__alloc_bootmem_node_1992 __alloc_bootmem_node 2 1992 NULL ++atomic_read_unchecked_1995 atomic_read_unchecked 0 1995 NULL ++batadv_tt_commit_changes_2008 batadv_tt_commit_changes 4 2008 NULL ++sep_prepare_input_dma_table_2009 sep_prepare_input_dma_table 2-3 2009 NULL ++rx_rx_defrag_read_2010 rx_rx_defrag_read 3 2010 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 ++get_unaligned_le32_2092 get_unaligned_le32 0 2092 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 ++__find_xattr_2117 __find_xattr 6 2117 NULL nohasharray ++enable_read_2117 enable_read 3 2117 &__find_xattr_2117 ++pcf50633_write_block_2124 pcf50633_write_block 3-2 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 nohasharray ++multipath_status_2151 multipath_status 5 2151 &mlx4_init_icm_table_2151 ++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 ++efx_tsoh_page_count_2225 efx_tsoh_page_count 0 2225 NULL ++lowpan_get_mac_header_length_2231 lowpan_get_mac_header_length 0 2231 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 ++sel_write_avc_cache_threshold_2256 sel_write_avc_cache_threshold 3 2256 NULL ++do_update_counters_2259 do_update_counters 4 2259 NULL ++ath6kl_wmi_bssinfo_event_rx_2275 ath6kl_wmi_bssinfo_event_rx 3 2275 NULL ++debug_debug5_read_2291 debug_debug5_read 3 2291 NULL ++kvm_clear_guest_page_2308 kvm_clear_guest_page 4 2308 NULL ++intel_sdvo_set_value_2311 intel_sdvo_set_value 4 2311 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 ++zr364xx_read_2354 zr364xx_read 3 2354 NULL ++viafb_iga2_odev_proc_write_2363 viafb_iga2_odev_proc_write 3 2363 NULL ++xfs_buf_map_from_irec_2368 xfs_buf_map_from_irec 5 2368 NULL ++il_dbgfs_sensitivity_read_2370 il_dbgfs_sensitivity_read 3 2370 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 ++raid1_size_2419 raid1_size 0-2 2419 NULL ++roccat_common2_send_2422 roccat_common2_send 4 2422 NULL ++hfcpci_empty_fifo_2427 hfcpci_empty_fifo 4 2427 NULL ++ioremap_nocache_2439 ioremap_nocache 1-2 2439 NULL ++tty_buffer_find_2443 tty_buffer_find 2 2443 NULL ++nfs4_alloc_slots_2454 nfs4_alloc_slots 1 2454 NULL nohasharray ++ath6kl_usb_bmi_write_2454 ath6kl_usb_bmi_write 3 2454 &nfs4_alloc_slots_2454 ++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 ++bio_alloc_bioset_2484 bio_alloc_bioset 2 2484 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 ++smk_write_logging_2618 smk_write_logging 3 2618 NULL ++lro_gen_skb_2644 lro_gen_skb 6 2644 NULL ++nfc_llcp_send_ui_frame_2702 nfc_llcp_send_ui_frame 5 2702 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 ++vb2_dc_get_userptr_2829 vb2_dc_get_userptr 2-3 2829 NULL nohasharray ++snd_pcm_reset_2829 snd_pcm_reset 0 2829 &vb2_dc_get_userptr_2829 ++wait_for_avail_2847 wait_for_avail 0 2847 NULL ++ufs_free_fragments_2857 ufs_free_fragments 2 2857 NULL ++sfq_alloc_2861 sfq_alloc 1 2861 NULL ++move_addr_to_user_2868 move_addr_to_user 2 2868 NULL ++__swab64p_2875 __swab64p 0 2875 NULL ++nla_padlen_2883 nla_padlen 1 2883 NULL ++cmm_write_2896 cmm_write 3 2896 NULL ++rbd_req_sync_read_2915 rbd_req_sync_read 4-5 2915 NULL ++alloc_page_cgroup_2919 alloc_page_cgroup 1 2919 NULL ++xfs_trans_get_buf_map_2927 xfs_trans_get_buf_map 4 2927 NULL ++nes_read_indexed_2946 nes_read_indexed 0 2946 NULL ++tm6000_i2c_recv_regs16_2949 tm6000_i2c_recv_regs16 5 2949 NULL ++ppp_cp_event_2965 ppp_cp_event 6 2965 NULL ++do_strnlen_user_2976 do_strnlen_user 0-2 2976 NULL ++p9_nr_pages_2992 p9_nr_pages 0-2 2992 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 ++il3945_ucode_rx_stats_read_3048 il3945_ucode_rx_stats_read 3 3048 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 ++free_coherent_3082 free_coherent 4-2 3082 NULL ++ttusb2_msg_3100 ttusb2_msg 4 3100 NULL ++rb_alloc_3102 rb_alloc 1 3102 NULL ++simple_write_to_buffer_3122 simple_write_to_buffer 5-2 3122 NULL ++print_time_3132 print_time 0 3132 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 ++uv_num_possible_blades_3177 uv_num_possible_blades 0 3177 NULL ++uvc_video_stats_dump_3181 uvc_video_stats_dump 3 3181 NULL ++compat_do_ip6t_set_ctl_3184 compat_do_ip6t_set_ctl 4 3184 NULL ++mempool_create_node_3191 mempool_create_node 1 3191 NULL ++alloc_context_3194 alloc_context 1 3194 NULL ++shmem_pread_slow_3198 shmem_pread_slow 3 3198 NULL ++kimage_crash_alloc_3233 kimage_crash_alloc 3 3233 NULL ++do_read_log_to_user_3236 do_read_log_to_user 4 3236 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 ++check_vendor_extension_3254 check_vendor_extension 1 3254 NULL ++__ilog2_u64_3284 __ilog2_u64 0 3284 NULL ++arvo_sysfs_write_3311 arvo_sysfs_write 6 3311 NULL ++dbDiscardAG_3322 dbDiscardAG 3 3322 NULL ++compat_sys_setsockopt_3326 compat_sys_setsockopt 5 3326 NULL ++de600_read_byte_3332 de600_read_byte 0 3332 NULL ++aac_rkt_ioremap_3333 aac_rkt_ioremap 2 3333 NULL ++read_from_oldmem_3337 read_from_oldmem 2 3337 NULL ++tty_port_register_device_attr_3341 tty_port_register_device_attr 3 3341 NULL ++il_dbgfs_interrupt_read_3351 il_dbgfs_interrupt_read 3 3351 NULL ++gsm_control_rls_3353 gsm_control_rls 3 3353 NULL ++scnprintf_3360 scnprintf 0-2 3360 NULL nohasharray ++tps65090_clr_bits_3360 tps65090_clr_bits 2 3360 &scnprintf_3360 ++mtdchar_writeoob_3393 mtdchar_writeoob 4 3393 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 ++mei_io_cb_alloc_resp_buf_3414 mei_io_cb_alloc_resp_buf 2 3414 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 ++xfrm_migrate_msgsize_3496 xfrm_migrate_msgsize 1 3496 NULL ++mem_tx_free_mem_blks_read_3521 mem_tx_free_mem_blks_read 3 3521 NULL nohasharray ++ieee80211_wx_set_gen_ie_rsl_3521 ieee80211_wx_set_gen_ie_rsl 3 3521 &mem_tx_free_mem_blks_read_3521 ++btrfs_dir_name_len_3549 btrfs_dir_name_len 0 3549 NULL ++b43legacy_read16_3561 b43legacy_read16 0 3561 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 ++edac_mc_alloc_3611 edac_mc_alloc 4 3611 NULL ++tx_tx_starts_read_3617 tx_tx_starts_read 3 3617 NULL ++aligned_kmalloc_3628 aligned_kmalloc 1 3628 NULL ++x86_swiotlb_alloc_coherent_3649 x86_swiotlb_alloc_coherent 2 3649 NULL nohasharray ++cm_copy_private_data_3649 cm_copy_private_data 2 3649 &x86_swiotlb_alloc_coherent_3649 ++ath6kl_disconnect_timeout_read_3650 ath6kl_disconnect_timeout_read 3 3650 NULL ++i915_compat_ioctl_3656 i915_compat_ioctl 2 3656 NULL ++ntfs_attr_make_non_resident_3694 ntfs_attr_make_non_resident 0 3694 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 ++lm3533_als_get_threshold_3725 lm3533_als_get_threshold 2 3725 NULL ++ci_ll_write_3740 ci_ll_write 4 3740 NULL nohasharray ++ath6kl_mgmt_tx_3740 ath6kl_mgmt_tx 7 3740 &ci_ll_write_3740 ++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 ++create_one_cdev_3852 create_one_cdev 2 3852 NULL ++smk_read_onlycap_3855 smk_read_onlycap 3 3855 NULL ++get_fd_set_3866 get_fd_set 1 3866 NULL ++garp_attr_create_3883 garp_attr_create 3 3883 NULL ++uea_send_modem_cmd_3888 uea_send_modem_cmd 3 3888 NULL ++efivarfs_file_read_3893 efivarfs_file_read 3 3893 NULL ++nvram_write_3894 nvram_write 3 3894 NULL ++pipeline_pre_proc_swi_read_3898 pipeline_pre_proc_swi_read 3 3898 NULL ++comedi_buf_read_n_available_3899 comedi_buf_read_n_available 0 3899 NULL ++vcs_write_3910 vcs_write 3 3910 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 ++usbnet_write_cmd_async_4035 usbnet_write_cmd_async 7 4035 NULL ++read_file_queues_4078 read_file_queues 3 4078 NULL ++fbcon_do_set_font_4079 fbcon_do_set_font 2-3 4079 NULL ++da9052_free_irq_4090 da9052_free_irq 2 4090 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 ++__usbnet_read_cmd_4299 __usbnet_read_cmd 7 4299 NULL ++dvb_ringbuffer_pkt_read_user_4303 dvb_ringbuffer_pkt_read_user 2-3-5 4303 NULL ++nouveau_fifo_create__4327 nouveau_fifo_create_ 5-6 4327 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 ++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 ++set_link_security_4502 set_link_security 4 4502 NULL ++sys_llistxattr_4532 sys_llistxattr 3 4532 NULL ++da9052_group_write_4534 da9052_group_write 2-3 4534 NULL ++tty_register_device_4544 tty_register_device 2 4544 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 ++xfs_buf_get_maps_4581 xfs_buf_get_maps 2 4581 NULL ++bch_alloc_4593 bch_alloc 1 4593 NULL ++iwl_dbgfs_tx_queue_read_4635 iwl_dbgfs_tx_queue_read 3 4635 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 ++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 ++pwr_rcvd_bcns_cnt_read_4774 pwr_rcvd_bcns_cnt_read 3 4774 NULL ++ncp__vol2io_4804 ncp__vol2io 5 4804 NULL ++repair_io_failure_4815 repair_io_failure 4 4815 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 ++lp872x_write_byte_4914 lp872x_write_byte 2 4914 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 ++da9055_reg_write_4942 da9055_reg_write 2 4942 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 ++ieee80211_if_fmt_dot11MeshHWMPconfirmationInterval_4976 ieee80211_if_fmt_dot11MeshHWMPconfirmationInterval 3 4976 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 ++lm3533_als_set_target_5010 lm3533_als_set_target 2-3 5010 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 ++mpol_to_str_5093 mpol_to_str 2 5093 NULL ++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 ++ath6kl_debug_roam_tbl_event_5224 ath6kl_debug_roam_tbl_event 3 5224 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 ++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 ++ubi_leb_write_5478 ubi_leb_write 4-5 5478 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 ++brcmu_pkt_buf_get_skb_5556 brcmu_pkt_buf_get_skb 1 5556 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 ++oz_ep_alloc_5587 oz_ep_alloc 2 5587 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 ++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 ++__videobuf_alloc_vb_5665 __videobuf_alloc_vb 1 5665 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 ++nv50_disp_pioc_create__5812 nv50_disp_pioc_create_ 5 5812 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 ++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 ++rx_filter_max_arp_queue_dep_read_5851 rx_filter_max_arp_queue_dep_read 3 5851 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 ++rbd_segment_length_5907 rbd_segment_length 0-3-2 5907 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 ++ps_poll_ps_poll_timeouts_read_5934 ps_poll_ps_poll_timeouts_read 3 5934 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 ++da9052_request_irq_6058 da9052_request_irq 2 6058 NULL ++sctp_setsockopt_connectx_6073 sctp_setsockopt_connectx 3 6073 NULL ++rts51x_ms_rw_multi_sector_6076 rts51x_ms_rw_multi_sector 3-4 6076 NULL ++ipmi_addr_length_6110 ipmi_addr_length 0 6110 NULL ++dfs_global_file_write_6112 dfs_global_file_write 3 6112 NULL ++matrix_keypad_build_keymap_6129 matrix_keypad_build_keymap 3 6129 NULL ++nouveau_parent_create__6131 nouveau_parent_create_ 7 6131 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 ++mxt_show_instance_6207 mxt_show_instance 2-0 6207 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 ++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 ++tx_tx_start_null_frame_read_6281 tx_tx_start_null_frame_read 3 6281 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 ++posix_acl_fix_xattr_to_user_6283 posix_acl_fix_xattr_to_user 2 6283 NULL ++nf_nat_ipv6_manip_pkt_6289 nf_nat_ipv6_manip_pkt 2 6289 NULL ++nf_nat_sack_adjust_6297 nf_nat_sack_adjust 2 6297 NULL ++mid_get_vbt_data_r10_6308 mid_get_vbt_data_r10 2 6308 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 ++posix_acl_fix_xattr_userns_6420 posix_acl_fix_xattr_userns 4 6420 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 ++cpumask_next_and_6516 cpumask_next_and 1 6516 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 ++snd_pcm_hw_refine_old_user_6586 snd_pcm_hw_refine_old_user 0 6586 NULL ++usemap_size_6601 usemap_size 0-1 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 ++aac_srcv_ioremap_6659 aac_srcv_ioremap 2 6659 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 ++ieee80211_build_preq_ies_6691 ieee80211_build_preq_ies 0-4 6691 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 ++bnad_debugfs_write_regrd_6706 bnad_debugfs_write_regrd 3 6706 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 ++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 ++tx_tx_done_data_read_6799 tx_tx_done_data_read 3 6799 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 nohasharray ++acm_alloc_minor_6911 acm_alloc_minor 0 6911 &proc_sessionid_read_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 ++do_msgrcv_6921 do_msgrcv 3 6921 NULL ++cache_do_downcall_6926 cache_do_downcall 3 6926 NULL ++qsfp_cks_6945 qsfp_cks 0-2 6945 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 ++rsa_extract_mpi_6973 rsa_extract_mpi 5 6973 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 ++pipeline_enc_rx_stat_fifo_int_read_7107 pipeline_enc_rx_stat_fifo_int_read 3 7107 NULL ++check_header_7108 check_header 0 7108 NULL ++__alloc_objio_seg_7203 __alloc_objio_seg 1 7203 NULL nohasharray ++utf16_strsize_7203 utf16_strsize 0 7203 &__alloc_objio_seg_7203 ++sys32_ipc_7238 sys32_ipc 3-5-6-4 7238 NULL ++get_param_h_7247 get_param_h 0 7247 NULL ++vm_mmap_pgoff_7259 vm_mmap_pgoff 0 7259 NULL ++dma_ops_alloc_addresses_7272 dma_ops_alloc_addresses 3-4-5 7272 NULL ++rx_rate_rx_frames_per_rates_read_7282 rx_rate_rx_frames_per_rates_read 3 7282 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 ++vhost_scsi_compat_ioctl_7393 vhost_scsi_compat_ioctl 3 7393 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 ++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 nohasharray ++wm8996_gpio_direction_out_7469 wm8996_gpio_direction_out 2 7469 &__mutex_lock_common_7469 ++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 ++array_zalloc_7519 array_zalloc 1-2 7519 NULL ++setup_usemap_7524 setup_usemap 3 7524 NULL ++goal_in_my_reservation_7553 goal_in_my_reservation 3 7553 NULL ++smk_read_mapped_7562 smk_read_mapped 3 7562 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 ++cpumask_first_7648 cpumask_first 0 7648 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 ++acpi_ns_get_pathname_length_7699 acpi_ns_get_pathname_length 0 7699 NULL ++dev_write_7708 dev_write 3 7708 NULL ++tps65090_set_bits_7709 tps65090_set_bits 2 7709 NULL ++brcmf_sdcard_send_buf_7713 brcmf_sdcard_send_buf 6 7713 NULL nohasharray ++dbg_check_cats_7713 dbg_check_cats 0 7713 &brcmf_sdcard_send_buf_7713 ++set_bypass_pwup_pfs_7742 set_bypass_pwup_pfs 3 7742 NULL ++vxge_device_register_7752 vxge_device_register 4 7752 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 ++da9052_reg_update_7858 da9052_reg_update 2 7858 NULL ++tps6586x_clr_bits_7889 tps6586x_clr_bits 2 7889 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 ++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 ++sys_mbind_7990 sys_mbind 5 7990 NULL ++tt3650_ci_msg_locked_8013 tt3650_ci_msg_locked 4 8013 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 ++dgrp_mon_read_8065 dgrp_mon_read 3 8065 NULL ++leb_read_lock_8070 leb_read_lock 0 8070 NULL ++alloc_targets_8074 alloc_targets 2 8074 NULL nohasharray ++qla4xxx_post_ping_evt_work_8074 qla4xxx_post_ping_evt_work 4 8074 &alloc_targets_8074 ++venus_lookup_8121 venus_lookup 4 8121 NULL ++lm3533_als_set_threshold_8125 lm3533_als_set_threshold 2 8125 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 ++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 ++create_log_8225 create_log 2 8225 NULL nohasharray ++kvm_mmu_page_set_gfn_8225 kvm_mmu_page_set_gfn 2 8225 &create_log_8225 ++sctp_ssnmap_size_8228 sctp_ssnmap_size 0-1-2 8228 NULL ++check_xattr_ref_inode_8244 check_xattr_ref_inode 0 8244 NULL ++add_rx_skb_8257 add_rx_skb 3 8257 NULL ++t3_init_l2t_8261 t3_init_l2t 1 8261 NULL ++init_cdev_8274 init_cdev 1 8274 NULL ++rproc_recovery_write_8281 rproc_recovery_write 3 8281 NULL ++qib_decode_7220_err_8315 qib_decode_7220_err 3 8315 NULL ++snd_pcm_update_state_8320 snd_pcm_update_state 0 8320 NULL ++lm3533_led_get_pattern_8321 lm3533_led_get_pattern 0 8321 NULL nohasharray ++construct_key_and_link_8321 construct_key_and_link 4 8321 &lm3533_led_get_pattern_8321 ++ipwireless_send_packet_8328 ipwireless_send_packet 4 8328 NULL ++tracing_entries_read_8345 tracing_entries_read 3 8345 NULL ++ieee80211_if_fmt_ht_opmode_8347 ieee80211_if_fmt_ht_opmode 3 8347 NULL ++ping_getfrag_8360 ping_getfrag 4-3 8360 NULL ++uvc_v4l2_compat_ioctl32_8375 uvc_v4l2_compat_ioctl32 3 8375 NULL ++xdi_copy_from_user_8395 xdi_copy_from_user 4 8395 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 ++irq_create_mapping_8437 irq_create_mapping 2 8437 NULL ++afs_cell_lookup_8482 afs_cell_lookup 2 8482 NULL ++_irq_to_enable_addr_8485 _irq_to_enable_addr 0-1 8485 NULL ++batadv_tt_len_8502 batadv_tt_len 0-1 8502 NULL ++dev_config_8506 dev_config 3 8506 NULL ++ACL_to_cifs_posix_8509 ACL_to_cifs_posix 3 8509 NULL ++utf16_strnlen_8513 utf16_strnlen 0 8513 NULL ++opticon_process_data_packet_8524 opticon_process_data_packet 3 8524 NULL ++pnp_resource_len_8532 pnp_resource_len 0 8532 NULL +alloc_pg_vec_8533 alloc_pg_vec 2 8533 NULL -+pwr_missing_bcns_cnt_read_45113 pwr_missing_bcns_cnt_read 3 45113 NULL -+ieee80211_fragment_33112 ieee80211_fragment 4 33112 NULL -+arch_gnttab_map_shared_41306 arch_gnttab_map_shared 3 41306 NULL -+v4l2_ctrl_new_24927 v4l2_ctrl_new 7 24927 NULL -+write_node_33121 write_node 4 33121 NULL -+vring_new_virtqueue_54673 vring_new_virtqueue 2 54673 NULL -+i2400m_rx_stats_read_57706 i2400m_rx_stats_read 3 57706 NULL ++ocfs2_read_virt_blocks_8538 ocfs2_read_virt_blocks 2-3 8538 NULL +profile_remove_8556 profile_remove 3 8556 NULL -+rx_filter_data_filter_read_30098 rx_filter_data_filter_read 3 30098 NULL -+iscsi_recv_pdu_16755 iscsi_recv_pdu 4 16755 NULL -+arcmsr_adjust_disk_queue_depth_16756 arcmsr_adjust_disk_queue_depth 2 16756 NULL -+cmtp_send_interopmsg_376 cmtp_send_interopmsg 7 376 NULL -+ieee80211_if_read_dot11MeshHWMPconfirmationInterval_57722 ieee80211_if_read_dot11MeshHWMPconfirmationInterval 3 57722 NULL ++cache_slow_downcall_8570 cache_slow_downcall 2 8570 NULL +mga_ioremap_8571 mga_ioremap 1-2 8571 NULL +isr_dma0_done_read_8574 isr_dma0_done_read 3 8574 NULL -+sys_rt_sigpending_24961 sys_rt_sigpending 2 24961 NULL +tower_write_8580 tower_write 3 8580 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 -+debug_debug6_read_33168 debug_debug6_read 3 33168 NULL -+nf_nat_sdp_port_24977 nf_nat_sdp_port 7 24977 NULL -+smk_write_access_49561 smk_write_access 3 49561 NULL -+llc_ui_sendmsg_24987 llc_ui_sendmsg 4 24987 NULL -+kmp_init_41373 kmp_init 2 41373 NULL -+context_alloc_24645 context_alloc 3 24645 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 -+key_conf_hw_key_idx_read_25003 key_conf_hw_key_idx_read 3 25003 NULL ++rtllib_MFIE_rate_len_8606 rtllib_MFIE_rate_len 0 8606 NULL +shash_setkey_unaligned_8620 shash_setkey_unaligned 3 8620 NULL -+il_dbgfs_channels_read_25005 il_dbgfs_channels_read 3 25005 NULL -+dm_vcalloc_16814 dm_vcalloc 1-2 16814 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 -+nfs_dns_resolve_name_25036 nfs_dns_resolve_name 3 25036 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 -+ieee80211_send_probe_req_38307 ieee80211_send_probe_req 6-4 38307 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 -+btrfsic_cmp_log_and_dev_bytenr_49628 btrfsic_cmp_log_and_dev_bytenr 2 49628 NULL -+iio_device_alloc_41440 iio_device_alloc 1 41440 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 ++scsi_dma_map_8632 scsi_dma_map 0 8632 NULL ++fuse_send_write_pages_8636 fuse_send_write_pages 0 8636 NULL ++generic_acl_set_8658 generic_acl_set 4 8658 NULL +dio_bio_alloc_8677 dio_bio_alloc 5 8677 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 ++lbs_bcnmiss_read_8678 lbs_bcnmiss_read 3 8678 NULL ++tc3589x_gpio_irq_unmap_8680 tc3589x_gpio_irq_unmap 2 8680 NULL +rproc_trace_read_8686 rproc_trace_read 3 8686 NULL -+pidlist_resize_496 pidlist_resize 2 496 NULL -+flash_read_57843 flash_read 3 57843 NULL -+read_vbt_r0_503 read_vbt_r0 1 503 NULL -+rx_rx_defrag_end_read_505 rx_rx_defrag_end_read 3 505 NULL -+cachefiles_cook_key_33274 cachefiles_cook_key 2 33274 NULL -+rds_message_map_pages_31487 rds_message_map_pages 2 31487 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 -+rt2x00debug_write_rfcsr_41473 rt2x00debug_write_rfcsr 3 41473 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 -+HDLC_irq_8709 HDLC_irq 2 8709 NULL ++i_size_read_8703 i_size_read 0 8703 NULL nohasharray ++init_header_8703 init_header 0 8703 &i_size_read_8703 +ctrl_out_8712 ctrl_out 3-5 8712 NULL -+cxio_hal_init_rhdl_resource_25104 cxio_hal_init_rhdl_resource 1 25104 NULL -+sock_wmalloc_16472 sock_wmalloc 2 16472 NULL -+snd_rawmidi_kernel_write_25106 snd_rawmidi_kernel_write 3 25106 NULL -+aa_simple_write_to_buffer_49683 aa_simple_write_to_buffer 3-4 49683 NULL -+wep_interrupt_read_41492 wep_interrupt_read 3 41492 NULL -+hpfs_translate_name_41497 hpfs_translate_name 3 41497 NULL -+mcs7830_get_reg_33308 mcs7830_get_reg 3 33308 NULL ++jffs2_acl_count_8729 jffs2_acl_count 0-1 8729 NULL nohasharray ++snapshot_status_8729 snapshot_status 5 8729 &jffs2_acl_count_8729 ++f_dupfd_8730 f_dupfd 1 8730 NULL ++tx_tx_exch_expiry_read_8749 tx_tx_exch_expiry_read 3 8749 NULL ++joydev_compat_ioctl_8765 joydev_compat_ioctl 2 8765 NULL ++sys_prctl_8766 sys_prctl 4 8766 NULL ++x32_arch_ptrace_8767 x32_arch_ptrace 3-4 8767 NULL ++paging32_prefetch_gpte_8783 paging32_prefetch_gpte 4 8783 NULL ++ext4_try_to_write_inline_data_8785 ext4_try_to_write_inline_data 3-4 8785 NULL ++__bitmap_weight_8796 __bitmap_weight 0-2 8796 NULL ++cpuset_common_file_read_8800 cpuset_common_file_read 5 8800 NULL ++metronomefb_write_8823 metronomefb_write 3 8823 NULL ++icmpv6_manip_pkt_8833 icmpv6_manip_pkt 4 8833 NULL nohasharray ++get_queue_depth_8833 get_queue_depth 0 8833 &icmpv6_manip_pkt_8833 ++dvb_ringbuffer_pkt_next_8834 dvb_ringbuffer_pkt_next 0-2 8834 NULL ++usb_ep_queue_8839 usb_ep_queue 0 8839 NULL ++debug_debug1_read_8856 debug_debug1_read 3 8856 NULL ++wa_nep_queue_8858 wa_nep_queue 2 8858 NULL ++send_pages_8872 send_pages 3 8872 NULL ++compressed_bio_size_8887 compressed_bio_size 0-2 8887 NULL ++tracing_max_lat_read_8890 tracing_max_lat_read 3 8890 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 ++read_file_tgt_stats_8959 read_file_tgt_stats 3 8959 NULL ++seq_bitmap_list_8963 seq_bitmap_list 3 8963 NULL ++usb_allocate_stream_buffers_8964 usb_allocate_stream_buffers 3 8964 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 ++bio_integrity_get_tag_8974 bio_integrity_get_tag 3 8974 NULL ++btrfs_alloc_free_block_8986 btrfs_alloc_free_block 3 8986 NULL ++palmas_ldo_write_9012 palmas_ldo_write 2 9012 NULL ++snd_emu10k1_ptr_read_9026 snd_emu10k1_ptr_read 0-2 9026 NULL ++__pskb_copy_9038 __pskb_copy 2 9038 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 ++fib_info_hash_alloc_9075 fib_info_hash_alloc 1 9075 NULL ++string_9080 string 0 9080 NULL ++create_queues_9088 create_queues 2-3 9088 NULL ++ftdi_prepare_write_buffer_9093 ftdi_prepare_write_buffer 3 9093 NULL ++caif_stream_sendmsg_9110 caif_stream_sendmsg 4 9110 NULL nohasharray ++gfn_to_rmap_9110 gfn_to_rmap 2-3 9110 &caif_stream_sendmsg_9110 ++pmcraid_change_queue_depth_9116 pmcraid_change_queue_depth 2 9116 NULL ++ext4_list_backups_9138 ext4_list_backups 0 9138 NULL ++dbg_command_buf_9165 dbg_command_buf 2 9165 NULL ++isr_irqs_read_9181 isr_irqs_read 3 9181 NULL ++count_leading_zeros_9183 count_leading_zeros 0 9183 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 ++gx1_gx_base_9198 gx1_gx_base 0 9198 NULL ++snd_m3_get_pointer_9206 snd_m3_get_pointer 0 9206 NULL ++tx_tx_prepared_descs_read_9221 tx_tx_prepared_descs_read 3 9221 NULL ++sctp_getsockopt_delayed_ack_9232 sctp_getsockopt_delayed_ack 2 9232 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 ++sparse_early_usemaps_alloc_node_9269 sparse_early_usemaps_alloc_node 4 9269 NULL ++hdpvr_read_9273 hdpvr_read 3 9273 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 ++ceph_sync_setxattr_9310 ceph_sync_setxattr 4 9310 NULL ++ieee80211_if_fmt_txpower_9334 ieee80211_if_fmt_txpower 3 9334 NULL ++ocfs2_orphan_for_truncate_9342 ocfs2_orphan_for_truncate 4 9342 NULL ++read_9397 read 3 9397 NULL ++nf_nat_sip_expect_9418 nf_nat_sip_expect 8 9418 NULL ++cfg80211_report_obss_beacon_9422 cfg80211_report_obss_beacon 3 9422 NULL ++bm_realloc_pages_9431 bm_realloc_pages 2 9431 NULL ++ffs_ep0_write_9438 ffs_ep0_write 3 9438 NULL ++kmalloc_array_9444 kmalloc_array 1-2 9444 NULL ++ieee80211_if_fmt_fwded_unicast_9454 ieee80211_if_fmt_fwded_unicast 3 9454 NULL ++mcs_unwrap_mir_9455 mcs_unwrap_mir 3 9455 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 ++rbd_coll_end_req_9472 rbd_coll_end_req 3 9472 NULL ++__alloc_preds_9492 __alloc_preds 2 9492 NULL ++lp_write_9511 lp_write 3 9511 NULL ++scsi_tgt_kspace_exec_9522 scsi_tgt_kspace_exec 8 9522 NULL ++lm3533_update_9529 lm3533_update 2 9529 NULL ++read_file_dma_9530 read_file_dma 3 9530 NULL ++ext3_alloc_branch_9534 ext3_alloc_branch 5 9534 NULL ++tps65910_gpio_output_9539 tps65910_gpio_output 2 9539 NULL ++audit_log_n_untrustedstring_9548 audit_log_n_untrustedstring 3 9548 NULL ++readl_9557 readl 0 9557 NULL ++fw_node_create_9559 fw_node_create 2 9559 NULL ++kobj_map_9566 kobj_map 2-3 9566 NULL ++f2fs_read_data_pages_9574 f2fs_read_data_pages 4 9574 NULL ++biovec_create_pools_9575 biovec_create_pools 2 9575 NULL ++ieee80211_tdls_mgmt_9581 ieee80211_tdls_mgmt 8 9581 NULL ++do_sync_9604 do_sync 1 9604 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 ++compat_sys_keyctl_9639 compat_sys_keyctl 4-2-3 9639 NULL ++ocfs2_xattr_get_rec_9652 ocfs2_xattr_get_rec 0 9652 NULL ++uvc_alloc_buffers_9656 uvc_alloc_buffers 2-3 9656 NULL ++queue_received_packet_9657 queue_received_packet 5 9657 NULL ++snd_opl4_mem_proc_write_9670 snd_opl4_mem_proc_write 5 9670 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 ++is_hole_9694 is_hole 2 9694 NULL nohasharray ++x25_asy_compat_ioctl_9694 x25_asy_compat_ioctl 4 9694 &is_hole_9694 ++fnb_9703 fnb 2-3 9703 NULL ++ieee80211_if_read_aid_9705 ieee80211_if_read_aid 3 9705 NULL ++ieee80211_if_fmt_num_mcast_sta_9738 ieee80211_if_fmt_num_mcast_sta 3 9738 NULL ++ddb_input_read_9743 ddb_input_read 3 9743 NULL ++sta_last_ack_signal_read_9751 sta_last_ack_signal_read 3 9751 NULL ++btrfs_super_root_9763 btrfs_super_root 0 9763 NULL ++__alloc_percpu_9764 __alloc_percpu 1-2 9764 NULL ++do_sigpending_9766 do_sigpending 2 9766 NULL ++__blk_queue_init_tags_9778 __blk_queue_init_tags 2 9778 NULL ++snd_mem_proc_write_9786 snd_mem_proc_write 3 9786 NULL ++_regmap_write_9803 _regmap_write 2 9803 NULL ++ttm_bo_fbdev_io_9805 ttm_bo_fbdev_io 4 9805 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 ++cfg80211_send_deauth_9862 cfg80211_send_deauth 3 9862 NULL ++pmcraid_alloc_sglist_9864 pmcraid_alloc_sglist 1 9864 NULL ++btrfs_free_reserved_extent_9867 btrfs_free_reserved_extent 2 9867 NULL ++f1x_translate_sysaddr_to_cs_9868 f1x_translate_sysaddr_to_cs 2 9868 NULL ++mlx4_bitmap_alloc_range_9876 mlx4_bitmap_alloc_range 2-3 9876 NULL ++wil_read_file_ioblob_9878 wil_read_file_ioblob 3 9878 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 ++snd_gf1_pcm_playback_copy_9895 snd_gf1_pcm_playback_copy 3-5 9895 NULL ++receive_DataRequest_9904 receive_DataRequest 3 9904 NULL ++nonpaging_page_fault_9908 nonpaging_page_fault 2 9908 NULL ++pstore_ftrace_knob_read_9947 pstore_ftrace_knob_read 3 9947 NULL ++read_file_misc_9948 read_file_misc 3 9948 NULL ++set_rxd_buffer_pointer_9950 set_rxd_buffer_pointer 8 9950 NULL ++ext2_new_blocks_9954 ext2_new_blocks 2 9954 NULL ++csum_partial_copy_fromiovecend_9957 csum_partial_copy_fromiovecend 3-4 9957 NULL ++get_free_serial_index_9969 get_free_serial_index 0 9969 NULL ++btrfs_add_link_9973 btrfs_add_link 5 9973 NULL ++ath6kl_usb_submit_ctrl_out_9978 ath6kl_usb_submit_ctrl_out 6 9978 NULL ++twl6040_clear_bits_9985 twl6040_clear_bits 2 9985 NULL ++aat2870_dump_reg_10019 aat2870_dump_reg 0 10019 NULL ++handle_request_10024 handle_request 9 10024 NULL ++batadv_orig_hash_add_if_10033 batadv_orig_hash_add_if 2 10033 NULL ++ieee80211_probereq_get_10040 ieee80211_probereq_get 4-5 10040 NULL ++rbd_coll_end_req_index_10041 rbd_coll_end_req_index 5 10041 NULL ++ieee80211_set_probe_resp_10077 ieee80211_set_probe_resp 3 10077 NULL ++wm831x_gpio_direction_in_10099 wm831x_gpio_direction_in 2 10099 NULL ++ufs_bitmap_search_10105 ufs_bitmap_search 0-3 10105 NULL ++get_elem_size_10110 get_elem_size 0-2 10110 NULL nohasharray ++dynamic_ps_timeout_read_10110 dynamic_ps_timeout_read 3 10110 &get_elem_size_10110 ++gfs2_meta_read_10112 gfs2_meta_read 0 10112 NULL ++offset_to_bit_10134 offset_to_bit 0 10134 NULL ++aes_decrypt_packets_read_10155 aes_decrypt_packets_read 3 10155 NULL ++rx_out_of_mem_read_10157 rx_out_of_mem_read 3 10157 NULL ++hidg_alloc_ep_req_10159 hidg_alloc_ep_req 2 10159 NULL nohasharray ++ol_chunk_entries_10159 ol_chunk_entries 0 10159 &hidg_alloc_ep_req_10159 ++stmpe_irq_unmap_10164 stmpe_irq_unmap 2 10164 NULL ++asd_store_update_bios_10165 asd_store_update_bios 4 10165 NULL ++proc_pid_attr_read_10173 proc_pid_attr_read 3 10173 NULL ++jffs2_user_setxattr_10182 jffs2_user_setxattr 4 10182 NULL ++do_ioctl_trans_10194 do_ioctl_trans 3 10194 NULL ++cciss_proc_write_10259 cciss_proc_write 3 10259 NULL ++snd_rme9652_capture_copy_10287 snd_rme9652_capture_copy 5 10287 NULL ++ubi_leb_change_10289 ubi_leb_change 4 10289 NULL ++lm3533_led_delay_set_10291 lm3533_led_delay_set 2 10291 NULL ++read_emulate_10310 read_emulate 2-4 10310 NULL ++ttm_object_device_init_10321 ttm_object_device_init 2 10321 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 ++dbAllocAny_10354 dbAllocAny 0 10354 NULL ++ath6kl_listen_int_read_10355 ath6kl_listen_int_read 3 10355 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 ++ecryptfs_decode_and_decrypt_filename_10379 ecryptfs_decode_and_decrypt_filename 5 10379 NULL ++do_compat_pselect_10398 do_compat_pselect 1 10398 NULL ++fwtty_rx_10434 fwtty_rx 3 10434 NULL ++event_phy_transmit_error_read_10471 event_phy_transmit_error_read 3 10471 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 ++sel_write_disable_10511 sel_write_disable 3 10511 NULL ++osd_req_write_sg_kern_10514 osd_req_write_sg_kern 5 10514 NULL ++rds_message_alloc_10517 rds_message_alloc 1 10517 NULL ++snd_pcm_hw_params_user_10520 snd_pcm_hw_params_user 0 10520 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 ++snd_pcm_lib_read_10536 snd_pcm_lib_read 0-3 10536 NULL ++ext4_write_begin_10576 ext4_write_begin 3-4 10576 NULL ++scrub_remap_extent_10588 scrub_remap_extent 2 10588 NULL ++otp_read_10594 otp_read 2-4-5 10594 NULL ++supply_map_read_file_10608 supply_map_read_file 3 10608 NULL ++mc13783_set_fmt_10616 mc13783_set_fmt 3 10616 NULL ++ima_show_htable_violations_10619 ima_show_htable_violations 3 10619 NULL ++alloc_coherent_10632 alloc_coherent 2 10632 NULL ++nfs_idmap_lookup_id_10660 nfs_idmap_lookup_id 2 10660 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 ++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 ++sys_syslog_10746 sys_syslog 3 10746 NULL ++alloc_one_pg_vec_page_10747 alloc_one_pg_vec_page 1 10747 NULL ++vhost_add_used_n_10760 vhost_add_used_n 3 10760 NULL ++kvm_read_guest_atomic_10765 kvm_read_guest_atomic 4 10765 NULL ++sys_bind_10799 sys_bind 3 10799 NULL ++compat_put_int_10828 compat_put_int 1 10828 NULL ++lbs_sleepparams_read_10840 lbs_sleepparams_read 3 10840 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 ++batadv_check_unicast_packet_10866 batadv_check_unicast_packet 2 10866 NULL ++snd_pcm_oss_write1_10872 snd_pcm_oss_write1 3 10872 NULL ++mid_get_vbt_data_r0_10876 mid_get_vbt_data_r0 2 10876 NULL ++bl_mark_for_commit_10879 bl_mark_for_commit 2-3 10879 NULL ++get_scq_10897 get_scq 2 10897 NULL ++cgroup_write_string_10900 cgroup_write_string 5 10900 NULL ++tifm_alloc_adapter_10903 tifm_alloc_adapter 1 10903 NULL ++__copy_from_user_10918 __copy_from_user 3 10918 NULL ++da9052_map_irq_10952 da9052_map_irq 2 10952 NULL ++bm_entry_read_10976 bm_entry_read 3 10976 NULL ++i915_min_freq_write_10981 i915_min_freq_write 3 10981 NULL ++sched_autogroup_write_10984 sched_autogroup_write 3 10984 NULL ++__hci_num_ctrl_10985 __hci_num_ctrl 0 10985 NULL ++xfrm_hash_alloc_10997 xfrm_hash_alloc 1 10997 NULL ++rx_filter_accum_arp_pend_requests_read_11003 rx_filter_accum_arp_pend_requests_read 3 11003 NULL ++SetLineNumber_11023 SetLineNumber 0 11023 NULL ++mb_find_next_bit_11037 mb_find_next_bit 2-3-0 11037 NULL ++nouveau_gpio_create__11048 nouveau_gpio_create_ 4 11048 NULL ++tda10048_writeregbulk_11050 tda10048_writeregbulk 4 11050 NULL ++carl9170_handle_mpdu_11056 carl9170_handle_mpdu 3 11056 NULL ++tcp_send_mss_11079 tcp_send_mss 0 11079 NULL ++snd_pcm_delay_11081 snd_pcm_delay 0 11081 NULL ++count_argc_11083 count_argc 0 11083 NULL ++kvm_write_guest_cached_11106 kvm_write_guest_cached 4 11106 NULL ++stmpe_gpio_to_irq_11110 stmpe_gpio_to_irq 2 11110 NULL ++tw_change_queue_depth_11116 tw_change_queue_depth 2 11116 NULL ++page_offset_11120 page_offset 0 11120 NULL ++tracing_buffers_read_11124 tracing_buffers_read 3 11124 NULL ++alloc_alien_cache_11127 alloc_alien_cache 2 11127 NULL ++acpi_os_map_memory_11161 acpi_os_map_memory 1-2 11161 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 ++__swab16p_11220 __swab16p 0 11220 NULL ++il_dbgfs_rx_queue_read_11221 il_dbgfs_rx_queue_read 3 11221 NULL ++of_irq_count_11253 of_irq_count 0 11253 NULL ++ubifs_write_node_11258 ubifs_write_node 5-3 11258 NULL ++hugetlbfs_read_11268 hugetlbfs_read 3 11268 NULL ++cru_detect_11272 cru_detect 1 11272 NULL ++ext4_xattr_check_names_11314 ext4_xattr_check_names 0 11314 NULL ++tcp_send_rcvq_11316 tcp_send_rcvq 3 11316 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 ++persistent_ram_buffer_map_11332 persistent_ram_buffer_map 1-2 11332 NULL ++ext4_get_inline_size_11349 ext4_get_inline_size 0 11349 NULL ++i915_max_freq_write_11350 i915_max_freq_write 3 11350 NULL ++sel_write_create_11353 sel_write_create 3 11353 NULL ++handle_unit_11355 handle_unit 0-1 11355 NULL ++batadv_skb_head_push_11360 batadv_skb_head_push 2 11360 NULL ++drm_vblank_init_11362 drm_vblank_init 2 11362 NULL ++qib_get_base_info_11369 qib_get_base_info 3 11369 NULL ++dev_irnet_write_11398 dev_irnet_write 3 11398 NULL ++___alloc_bootmem_11410 ___alloc_bootmem 1 11410 NULL ++str_to_user_11411 str_to_user 2 11411 NULL ++mem_fw_gen_free_mem_blks_read_11413 mem_fw_gen_free_mem_blks_read 3 11413 NULL ++ath6kl_wmi_test_rx_11414 ath6kl_wmi_test_rx 3 11414 NULL ++adis16480_show_firmware_revision_11417 adis16480_show_firmware_revision 3 11417 NULL ++trace_options_read_11419 trace_options_read 3 11419 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 ++create_zero_mask_11453 create_zero_mask 0-1 11453 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 ++xfs_file_buffered_aio_write_11492 xfs_file_buffered_aio_write 4 11492 NULL ++sd_do_mode_sense_11507 sd_do_mode_sense 5 11507 NULL ++kmem_zalloc_11510 kmem_zalloc 1 11510 NULL ++twl_direction_in_11527 twl_direction_in 2 11527 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 ++oprofilefs_ulong_to_user_11582 oprofilefs_ulong_to_user 3 11582 NULL ++snd_pcm_action_11589 snd_pcm_action 0 11589 NULL ++fw_device_op_ioctl_11595 fw_device_op_ioctl 2 11595 NULL ++sisusb_send_bridge_packet_11649 sisusb_send_bridge_packet 2 11649 NULL ++nla_total_size_11658 nla_total_size 0-1 11658 NULL ++ide_queue_pc_tail_11673 ide_queue_pc_tail 5 11673 NULL ++btrfs_alloc_delayed_item_11678 btrfs_alloc_delayed_item 1 11678 NULL ++da9055_gpio_direction_output_11680 da9055_gpio_direction_output 2 11680 NULL ++dsp_buffer_alloc_11684 dsp_buffer_alloc 2 11684 NULL ++sctp_setsockopt_hmac_ident_11687 sctp_setsockopt_hmac_ident 3 11687 NULL ++split_11691 split 2 11691 NULL ++snd_ctl_elem_user_tlv_11695 snd_ctl_elem_user_tlv 3 11695 NULL ++blk_rq_cur_bytes_11723 blk_rq_cur_bytes 0 11723 NULL ++tcf_csum_ipv6_icmp_11738 tcf_csum_ipv6_icmp 4 11738 NULL ++nfsd4_get_drc_mem_11748 nfsd4_get_drc_mem 0-1-2 11748 NULL ++dm_bio_prison_create_11749 dm_bio_prison_create 1 11749 NULL ++iwl_dbgfs_qos_read_11753 iwl_dbgfs_qos_read 3 11753 NULL ++ps_pspoll_timeouts_read_11776 ps_pspoll_timeouts_read 3 11776 NULL ++ebt_buf_add_11779 ebt_buf_add 0 11779 NULL ++btrfs_key_blockptr_11786 btrfs_key_blockptr 0 11786 NULL ++pcpu_fc_alloc_11818 pcpu_fc_alloc 2 11818 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 ++unix_stream_connect_11844 unix_stream_connect 3 11844 NULL ++nf_nat_sdp_media_11863 nf_nat_sdp_media 9 11863 NULL ++ecryptfs_copy_filename_11868 ecryptfs_copy_filename 4 11868 NULL ++kmalloc_slab_11917 kmalloc_slab 1 11917 NULL ++fs_devrw_entry_11924 fs_devrw_entry 3 11924 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 ++kvm_set_msr_common_11953 kvm_set_msr_common 3 11953 NULL ++f1x_swap_interleaved_region_11970 f1x_swap_interleaved_region 0-2 11970 NULL ++atmel_read16_11981 atmel_read16 0 11981 NULL ++read_and_add_raw_conns_11987 read_and_add_raw_conns 0 11987 NULL ++mwifiex_cfg80211_mgmt_tx_12022 mwifiex_cfg80211_mgmt_tx 9 12022 NULL ++ftdi_elan_total_command_size_12045 ftdi_elan_total_command_size 0 12045 NULL ++ieee80211_if_read_user_power_level_12050 ieee80211_if_read_user_power_level 3 12050 NULL ++il4965_ucode_tx_stats_read_12064 il4965_ucode_tx_stats_read 3 12064 NULL ++ptc_proc_write_12076 ptc_proc_write 3 12076 NULL ++ubifs_recover_log_leb_12079 ubifs_recover_log_leb 3 12079 NULL ++da9052_gpio_direction_output_12120 da9052_gpio_direction_output 2 12120 NULL ++alloc_bulk_urbs_generic_12127 alloc_bulk_urbs_generic 5 12127 NULL ++set_powered_12129 set_powered 4 12129 NULL ++nfs_writedata_alloc_12133 nfs_writedata_alloc 2 12133 NULL ++ramoops_init_prz_12134 ramoops_init_prz 5 12134 NULL ++xfs_handle_to_dentry_12135 xfs_handle_to_dentry 3 12135 NULL ++batadv_add_packet_12136 batadv_add_packet 3 12136 NULL ++rawv6_seticmpfilter_12137 rawv6_seticmpfilter 5 12137 NULL ++vmw_fifo_reserve_12141 vmw_fifo_reserve 2 12141 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 ++wil_rxdesc_phy_length_12165 wil_rxdesc_phy_length 0 12165 NULL ++dma_memcpy_to_iovec_12173 dma_memcpy_to_iovec 5 12173 NULL ++ddp_make_gl_12179 ddp_make_gl 1 12179 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 ++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 ++ib_uverbs_unmarshall_recv_12251 ib_uverbs_unmarshall_recv 5 12251 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 ++note_last_dentry_12285 note_last_dentry 3 12285 NULL ++il_dbgfs_nvm_read_12288 il_dbgfs_nvm_read 3 12288 NULL nohasharray ++roundup_to_multiple_of_64_12288 roundup_to_multiple_of_64 0-1 12288 &il_dbgfs_nvm_read_12288 ++vxge_get_num_vfs_12302 vxge_get_num_vfs 0 12302 NULL ++split_bvec_12312 split_bvec 6 12312 NULL ++tipc_msg_build_12326 tipc_msg_build 4 12326 NULL ++pcbit_writecmd_12332 pcbit_writecmd 2 12332 NULL ++mptctl_ioctl_12355 mptctl_ioctl 2 12355 NULL ++__nf_ct_ext_add_length_12364 __nf_ct_ext_add_length 3 12364 NULL ++receive_packet_12367 receive_packet 2 12367 NULL ++xfs_iext_inline_to_direct_12384 xfs_iext_inline_to_direct 2 12384 NULL ++btrfs_file_extent_ram_bytes_12391 btrfs_file_extent_ram_bytes 0 12391 NULL ++ntfs_get_size_for_mapping_pairs_12413 ntfs_get_size_for_mapping_pairs 0 12413 NULL ++ieee80211_if_read_num_mcast_sta_12419 ieee80211_if_read_num_mcast_sta 3 12419 NULL ++skb_do_copy_data_nocache_12465 skb_do_copy_data_nocache 5 12465 NULL ++qla4_82xx_pci_mem_write_direct_12479 qla4_82xx_pci_mem_write_direct 2 12479 NULL ++x25_sendmsg_12487 x25_sendmsg 4 12487 NULL ++rtllib_auth_challenge_12493 rtllib_auth_challenge 3 12493 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 ++arizona_gpio_direction_out_12564 arizona_gpio_direction_out 2 12564 NULL ++hvc_alloc_12579 hvc_alloc 4 12579 NULL ++snd_pcm_plugin_alloc_12580 snd_pcm_plugin_alloc 2 12580 NULL ++macvtap_compat_ioctl_12587 macvtap_compat_ioctl 3 12587 NULL ++pcpu_extend_area_map_12589 pcpu_extend_area_map 2 12589 NULL ++ipv6_get_l4proto_12600 ipv6_get_l4proto 2 12600 NULL ++vhci_put_user_12604 vhci_put_user 4 12604 NULL ++fc_fcp_frame_alloc_12624 fc_fcp_frame_alloc 2 12624 NULL ++pwr_rcvd_awake_bcns_cnt_read_12632 pwr_rcvd_awake_bcns_cnt_read 3 12632 NULL ++ctrl_cdev_compat_ioctl_12634 ctrl_cdev_compat_ioctl 3 12634 NULL ++pn_sendmsg_12640 pn_sendmsg 4 12640 NULL ++dwc3_link_state_write_12641 dwc3_link_state_write 3 12641 NULL ++ocfs2_read_block_12659 ocfs2_read_block 0 12659 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 ++ieee80211_if_read_num_buffered_multicast_12716 ieee80211_if_read_num_buffered_multicast 3 12716 NULL ++ivtv_write_12721 ivtv_write 3 12721 NULL ++key_rx_spec_read_12736 key_rx_spec_read 3 12736 NULL ++__videobuf_alloc_cached_12740 __videobuf_alloc_cached 1 12740 NULL ++ieee80211_if_read_dot11MeshMaxRetries_12756 ieee80211_if_read_dot11MeshMaxRetries 3 12756 NULL ++listxattr_12769 listxattr 3 12769 NULL ++sctp_ssnmap_init_12772 sctp_ssnmap_init 2-3 12772 NULL ++platform_create_bundle_12785 platform_create_bundle 4-6 12785 NULL ++scsi_adjust_queue_depth_12802 scsi_adjust_queue_depth 3 12802 NULL ++xfs_inumbers_fmt_12817 xfs_inumbers_fmt 3 12817 NULL ++readq_12825 readq 0 12825 NULL ++TSS_authhmac_12839 TSS_authhmac 3 12839 NULL ++spidev_sync_12842 spidev_sync 0 12842 NULL nohasharray ++ath6kl_wmi_add_wow_pattern_cmd_12842 ath6kl_wmi_add_wow_pattern_cmd 4 12842 &spidev_sync_12842 ++spidev_ioctl_12846 spidev_ioctl 2 12846 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 ++tps65910_reg_update_bits_12934 tps65910_reg_update_bits 2 12934 NULL ++do_inode_permission_12946 do_inode_permission 0 12946 NULL ++bm_status_write_12964 bm_status_write 3 12964 NULL ++_drbd_md_first_sector_12984 _drbd_md_first_sector 0 12984 NULL ++acpi_tb_install_table_12988 acpi_tb_install_table 1 12988 NULL ++TransmitTcb_12989 TransmitTcb 4 12989 NULL ++sk_peek_offset_12991 sk_peek_offset 0 12991 NULL ++subsystem_filter_write_13022 subsystem_filter_write 3 13022 NULL ++generic_segment_checks_13041 generic_segment_checks 0 13041 NULL ++ocfs2_write_begin_13045 ocfs2_write_begin 3-4 13045 NULL ++__dn_setsockopt_13060 __dn_setsockopt 5 13060 NULL ++irq_set_chip_and_handler_13088 irq_set_chip_and_handler 1 13088 NULL ++tps6586x_set_bits_13089 tps6586x_set_bits 2 13089 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 ++xen_allocate_irq_dynamic_13116 xen_allocate_irq_dynamic 0 13116 NULL ++bfad_debugfs_read_13119 bfad_debugfs_read 3 13119 NULL ++blk_update_request_13146 blk_update_request 3 13146 NULL ++caif_stream_recvmsg_13173 caif_stream_recvmsg 4 13173 NULL ++pwr_disable_ps_read_13176 pwr_disable_ps_read 3 13176 NULL ++dgrp_net_ioctl_13183 dgrp_net_ioctl 2 13183 NULL ++create_trace_uprobe_13184 create_trace_uprobe 1 13184 NULL ++compat_put_ulong_13186 compat_put_ulong 1 13186 NULL ++comedi_read_13199 comedi_read 3 13199 NULL ++mmc_ext_csd_read_13205 mmc_ext_csd_read 3 13205 NULL ++__nodes_fold_13215 __nodes_fold 4 13215 NULL ++get_unaligned_le64_13219 get_unaligned_le64 0 13219 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-3-4 13252 NULL ++hostap_80211_get_hdrlen_13255 hostap_80211_get_hdrlen 0 13255 NULL ++bio_integrity_trim_13259 bio_integrity_trim 3 13259 NULL ++carl9170_rx_13272 carl9170_rx 3 13272 NULL ++pmcraid_notify_aen_13274 pmcraid_notify_aen 3 13274 NULL ++il4965_stats_flag_13281 il4965_stats_flag 0-3 13281 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 ++us122l_ctl_msg_13330 us122l_ctl_msg 8 13330 NULL ++kvm_read_nested_guest_page_13337 kvm_read_nested_guest_page 5 13337 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 ++carl9170_rx_untie_data_13405 carl9170_rx_untie_data 3 13405 NULL ++sky2_receive_13407 sky2_receive 2 13407 NULL ++netxen_alloc_sds_rings_13417 netxen_alloc_sds_rings 2 13417 NULL ++keyring_read_13438 keyring_read 3 13438 NULL ++sctp_setsockopt_peer_primary_addr_13440 sctp_setsockopt_peer_primary_addr 3 13440 NULL nohasharray ++set_tap_pwup_pfs_13440 set_tap_pwup_pfs 3 13440 &sctp_setsockopt_peer_primary_addr_13440 ++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 ++smk_write_mapped_13519 smk_write_mapped 3 13519 NULL ++bm_init_13529 bm_init 2 13529 NULL ++llcp_sock_recvmsg_13556 llcp_sock_recvmsg 4 13556 NULL ++ieee80211_if_read_ap_power_level_13558 ieee80211_if_read_ap_power_level 3 13558 NULL ++alloc_tio_13564 alloc_tio 3 13564 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 ++pm860x_set_bits_13582 pm860x_set_bits 2 13582 NULL ++cache_write_13589 cache_write 3 13589 NULL ++mpt_lan_receive_post_turbo_13592 mpt_lan_receive_post_turbo 2 13592 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 ++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-2 13615 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 ++blk_msg_write_13655 blk_msg_write 3 13655 NULL ++cache_downcall_13666 cache_downcall 3 13666 NULL ++fw_iso_buffer_alloc_13704 fw_iso_buffer_alloc 2 13704 NULL ++audit_unpack_string_13748 audit_unpack_string 3 13748 NULL ++ufs_dtog_13750 ufs_dtog 0-2 13750 NULL ++ieee802154_alloc_device_13767 ieee802154_alloc_device 1 13767 NULL ++fb_sys_read_13778 fb_sys_read 3 13778 NULL ++ath6kl_mgmt_powersave_ap_13791 ath6kl_mgmt_powersave_ap 6 13791 NULL ++random_read_13815 random_read 3 13815 NULL ++hsi_register_board_info_13820 hsi_register_board_info 2 13820 NULL ++evdev_ioctl_compat_13851 evdev_ioctl_compat 2-3 13851 NULL ++compat_ip_setsockopt_13870 compat_ip_setsockopt 5 13870 NULL nohasharray ++alloc_trace_uprobe_13870 alloc_trace_uprobe 3 13870 &compat_ip_setsockopt_13870 ++snd_pcm_aio_read_13900 snd_pcm_aio_read 3 13900 NULL ++ext3_xattr_block_get_13936 ext3_xattr_block_get 0 13936 NULL ++ieee80211_if_read_dot11MeshForwarding_13940 ieee80211_if_read_dot11MeshForwarding 3 13940 NULL nohasharray ++ocfs2_xa_value_truncate_13940 ocfs2_xa_value_truncate 2 13940 &ieee80211_if_read_dot11MeshForwarding_13940 ++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 ++lpfc_idiag_queacc_read_13950 lpfc_idiag_queacc_read 3 13950 NULL ++snd_pcm_plug_slave_size_13967 snd_pcm_plug_slave_size 0-2 13967 NULL ++com90xx_found_13974 com90xx_found 3 13974 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 ++_rtl92s_firmware_downloadcode_14021 _rtl92s_firmware_downloadcode 3 14021 NULL ++dvb_usercopy_14036 dvb_usercopy 2 14036 NULL ++read_def_modal_eeprom_14041 read_def_modal_eeprom 3 14041 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 ++do_proc_readlink_14096 do_proc_readlink 3 14096 NULL ++compat_sys_pselect6_14105 compat_sys_pselect6 1 14105 NULL ++nlmsg_len_14115 nlmsg_len 0 14115 NULL ++vfio_fops_compat_ioctl_14130 vfio_fops_compat_ioctl 3 14130 NULL ++ntfs_rl_replace_14136 ntfs_rl_replace 2-4 14136 NULL ++em_canid_change_14150 em_canid_change 3 14150 NULL ++gsm_dlci_data_14155 gsm_dlci_data 3 14155 NULL ++print_input_mask_14168 print_input_mask 3-0 14168 NULL ++ocfs2_xattr_value_truncate_14183 ocfs2_xattr_value_truncate 3 14183 NULL ++alloc_async_14208 alloc_async 1 14208 NULL ++sys_kexec_load_14222 sys_kexec_load 2 14222 NULL ++pool_status_14230 pool_status 5 14230 NULL ++ieee80211_if_write_uapsd_max_sp_len_14233 ieee80211_if_write_uapsd_max_sp_len 3 14233 NULL ++inode_to_path_14235 inode_to_path 2 14235 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-2 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 ++OS_mem_token_alloc_14276 OS_mem_token_alloc 1 14276 NULL ++snd_seq_oss_readq_new_14283 snd_seq_oss_readq_new 2 14283 NULL ++rr_status_14293 rr_status 5 14293 NULL ++lp8788_write_byte_14299 lp8788_write_byte 2 14299 NULL ++read_default_ldt_14302 read_default_ldt 2 14302 NULL ++oo_objects_14319 oo_objects 0 14319 NULL ++p9_client_zc_rpc_14345 p9_client_zc_rpc 7 14345 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 ++mtd_concat_create_14416 mtd_concat_create 2 14416 NULL ++get_kcore_size_14425 get_kcore_size 0 14425 NULL ++check_lpt_crc_14442 check_lpt_crc 0 14442 NULL ++block_size_14443 block_size 0 14443 NULL ++ci13xxx_add_device_14456 ci13xxx_add_device 3 14456 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 ++stripe_status_14506 stripe_status 5 14506 NULL ++ocfs2_debug_read_14507 ocfs2_debug_read 3 14507 NULL ++ep0_write_14536 ep0_write 3 14536 NULL nohasharray ++dataflash_read_user_otp_14536 dataflash_read_user_otp 2-3 14536 &ep0_write_14536 ++picolcd_debug_eeprom_read_14549 picolcd_debug_eeprom_read 3 14549 NULL ++drm_vmalloc_dma_14550 drm_vmalloc_dma 1 14550 NULL ++usb_dump_desc_14553 usb_dump_desc 0 14553 NULL ++idmap_pipe_downcall_14591 idmap_pipe_downcall 3 14591 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 ++pipeline_enc_tx_stat_fifo_int_read_14680 pipeline_enc_tx_stat_fifo_int_read 3 14680 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 ++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 ++raid1_resize_14740 raid1_resize 2 14740 NULL ++btrfs_inode_extref_name_len_14752 btrfs_inode_extref_name_len 0 14752 NULL ++rx_rx_cmplt_read_14753 rx_rx_cmplt_read 3 14753 NULL ++qla82xx_pci_mem_write_2M_14765 qla82xx_pci_mem_write_2M 2 14765 NULL ++regmap_range_read_file_14775 regmap_range_read_file 3 14775 NULL ++lm3533_als_get_hysteresis_14776 lm3533_als_get_hysteresis 2 14776 NULL ++sta_dev_read_14782 sta_dev_read 3 14782 NULL ++ext4_kvmalloc_14796 ext4_kvmalloc 1 14796 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 ++get_user_cpu_mask_14861 get_user_cpu_mask 2 14861 NULL ++sriov_enable_migration_14889 sriov_enable_migration 2 14889 NULL ++acpi_os_allocate_14892 acpi_os_allocate 1 14892 NULL ++unifi_read_14899 unifi_read 3 14899 NULL ++krealloc_14908 krealloc 2 14908 NULL ++regmap_irq_get_virq_14910 regmap_irq_get_virq 2 14910 NULL ++__arch_hweight64_14923 __arch_hweight64 0 14923 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 ++mce_flush_rx_buffer_14976 mce_flush_rx_buffer 2 14976 NULL ++setkey_14987 setkey 3 14987 NULL nohasharray ++gpio_twl4030_write_14987 gpio_twl4030_write 1 14987 &setkey_14987 ++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 ++cld_pipe_downcall_15058 cld_pipe_downcall 3 15058 NULL ++ieee80211_if_read_uapsd_max_sp_len_15067 ieee80211_if_read_uapsd_max_sp_len 3 15067 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 ++__alloc_extent_buffer_15093 __alloc_extent_buffer 3 15093 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 ++self_check_not_bad_15175 self_check_not_bad 0 15175 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 ++variax_alloc_sysex_buffer_15237 variax_alloc_sysex_buffer 3 15237 NULL ++il_dbgfs_rx_stats_read_15243 il_dbgfs_rx_stats_read 3 15243 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 ++fcoe_ctlr_send_keep_alive_15308 fcoe_ctlr_send_keep_alive 3 15308 NULL ++__ocfs2_remove_xattr_range_15330 __ocfs2_remove_xattr_range 4-5-3 15330 NULL ++kovaplus_sysfs_read_15337 kovaplus_sysfs_read 6 15337 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 ++pipeline_csum_to_rx_xfer_swi_read_15403 pipeline_csum_to_rx_xfer_swi_read 3 15403 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 ++memweight_15450 memweight 2 15450 NULL ++vmalloc_15464 vmalloc 1 15464 NULL ++insert_old_idx_znode_15500 insert_old_idx_znode 0 15500 NULL ++zd_chip_is_zd1211b_15518 zd_chip_is_zd1211b 0 15518 NULL ++da9052_bat_irq_15533 da9052_bat_irq 1 15533 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 ++ieee80211_amsdu_to_8023s_15561 ieee80211_amsdu_to_8023s 5 15561 NULL ++snd_pcm_channel_info_15572 snd_pcm_channel_info 0 15572 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 ++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 ++set_dis_tap_pfs_15621 set_dis_tap_pfs 3 15621 NULL ++proc_loginuid_read_15631 proc_loginuid_read 3 15631 NULL ++tomoyo_scan_bprm_15642 tomoyo_scan_bprm 2-4 15642 NULL nohasharray ++sk_memory_allocated_add_15642 sk_memory_allocated_add 2 15642 &tomoyo_scan_bprm_15642 nohasharray ++pipeline_hs_tx_stat_fifo_int_read_15642 pipeline_hs_tx_stat_fifo_int_read 3 15642 &sk_memory_allocated_add_15642 ++fs_path_add_15648 fs_path_add 3 15648 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 ++pstore_mkfile_15675 pstore_mkfile 6 15675 NULL ++uf_sme_queue_message_15697 uf_sme_queue_message 3 15697 NULL ++ocfs2_split_tree_15716 ocfs2_split_tree 5 15716 NULL ++HiSax_readstatus_15752 HiSax_readstatus 2 15752 NULL ++bitmap_search_next_usable_block_15762 bitmap_search_next_usable_block 3-1 15762 NULL ++do_test_15766 do_test 1 15766 NULL ++set_std_nic_pfs_15792 set_std_nic_pfs 3 15792 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 ++nameseq_list_15817 nameseq_list 3 15817 &gx1_read_conf_reg_15817 nohasharray ++gnttab_expand_15817 gnttab_expand 1 15817 &nameseq_list_15817 ++afs_proc_rootcell_write_15822 afs_proc_rootcell_write 3 15822 NULL ++brcmf_sdbrcm_died_dump_15841 brcmf_sdbrcm_died_dump 3 15841 NULL ++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 ++ERR_PTR_15881 ERR_PTR 0 15881 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 ++wm5100_gpio_direction_in_15934 wm5100_gpio_direction_in 2 15934 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 ++remap_pci_mem_15966 remap_pci_mem 1-2 15966 NULL ++set_spte_15977 set_spte 7-6 15977 NULL ++frame_alloc_15981 frame_alloc 4 15981 NULL ++alloc_vm_area_15989 alloc_vm_area 1 15989 NULL ++hdpvr_register_videodev_16010 hdpvr_register_videodev 3 16010 NULL ++viafb_vt1636_proc_write_16018 viafb_vt1636_proc_write 3 16018 NULL ++got_frame_16028 got_frame 2 16028 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 ++hysdn_rx_netpkt_16136 hysdn_rx_netpkt 3 16136 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 ++mapping_level_16188 mapping_level 2 16188 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 ++set_disc_pfs_16270 set_disc_pfs 3 16270 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 ++rbd_segment_offset_16293 rbd_segment_offset 0-2 16293 NULL ++rsc_mgr_init_16299 rsc_mgr_init 3 16299 NULL ++vmw_cursor_update_image_16332 vmw_cursor_update_image 3-4 16332 NULL ++tps80031_update_16360 tps80031_update 3 16360 NULL ++total_ps_buffered_read_16365 total_ps_buffered_read 3 16365 NULL ++rbd_add_16366 rbd_add 3 16366 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 ++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 ++raid10_resize_16537 raid10_resize 2 16537 NULL ++tcp_manip_pkt_16563 tcp_manip_pkt 4 16563 NULL ++lpfc_debugfs_read_16566 lpfc_debugfs_read 3 16566 NULL ++agp_allocate_memory_wrap_16576 agp_allocate_memory_wrap 1 16576 NULL ++btrfs_get_token_32_16651 btrfs_get_token_32 0 16651 NULL ++mfd_add_devices_16668 mfd_add_devices 4 16668 NULL ++da9052_reg_write_16685 da9052_reg_write 2 16685 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 ++drm_malloc_ab_16831 drm_malloc_ab 1-2 16831 NULL ++scsi_mode_sense_16835 scsi_mode_sense 5 16835 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 ++wm8350_set_bits_16911 wm8350_set_bits 2 16911 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 -+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 -+tx_tx_exch_expiry_read_8749 tx_tx_exch_expiry_read 3 8749 NULL -+ip_append_data_16942 ip_append_data 5-6 16942 NULL -+xt_alloc_table_info_57903 xt_alloc_table_info 1 57903 NULL ++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 -+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 -+brcmu_pkt_buf_get_skb_5556 brcmu_pkt_buf_get_skb 1 5556 NULL -+joydev_compat_ioctl_8765 joydev_compat_ioctl 2 8765 NULL -+sys_prctl_8766 sys_prctl 4 8766 NULL -+joydev_ioctl_33343 joydev_ioctl 2 33343 NULL -+sep_create_dcb_dmatables_context_kernel_49728 sep_create_dcb_dmatables_context_kernel 6 49728 NULL -+compat_sys_preadv_583 compat_sys_preadv 3 583 NULL -+sys_fsetxattr_49736 sys_fsetxattr 4 49736 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 -+create_xattr_datum_33356 create_xattr_datum 5 33356 NULL nohasharray -+irq_pkt_threshold_read_33356 irq_pkt_threshold_read 3 33356 &create_xattr_datum_33356 -+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 -+tx_tx_frame_checksum_read_41553 tx_tx_frame_checksum_read 3 41553 NULL -+ath6kl_endpoint_stats_read_41554 ath6kl_endpoint_stats_read 3 41554 NULL -+ath6kl_buf_alloc_57304 ath6kl_buf_alloc 1 57304 NULL -+cache_do_downcall_6926 cache_do_downcall 3 6926 NULL -+gserial_setup_41558 gserial_setup 2 41558 NULL -+rx_rx_checksum_result_read_50617 rx_rx_checksum_result_read 3 50617 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 -+cpuset_common_file_read_8800 cpuset_common_file_read 5 8800 NULL -+sctp_ulpevent_new_33377 sctp_ulpevent_new 1 33377 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 -+isku_sysfs_write_49767 isku_sysfs_write 6 49767 NULL -+i915_cache_sharing_write_57961 i915_cache_sharing_write 3 57961 NULL -+batadv_receive_client_update_packet_41578 batadv_receive_client_update_packet 3 41578 NULL +ceph_read_dir_17005 ceph_read_dir 3 17005 NULL -+handle_response_icmp_39574 handle_response_icmp 7 39574 NULL -+wbcir_tx_19219 wbcir_tx 3 19219 NULL -+hfc_empty_fifo_57972 hfc_empty_fifo 2 57972 NULL -+ceph_dns_resolve_name_62488 ceph_dns_resolve_name 2 62488 NULL -+metronomefb_write_8823 metronomefb_write 3 8823 NULL -+icmpv6_manip_pkt_8833 icmpv6_manip_pkt 4 8833 NULL +copy_counters_to_user_17027 copy_counters_to_user 5 17027 NULL -+read_file_rx_chainmask_41605 read_file_rx_chainmask 3 41605 NULL -+vmw_du_crtc_cursor_set_28479 vmw_du_crtc_cursor_set 4-5 28479 NULL -+_osd_req_list_objects_4204 _osd_req_list_objects 6 4204 NULL -+nfs4_acl_new_49806 nfs4_acl_new 1 49806 NULL -+a2mp_send_41615 a2mp_send 4 41615 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 -+arch_gnttab_map_status_49812 arch_gnttab_map_status 3 49812 NULL -+mon_stat_read_25238 mon_stat_read 3 25238 NULL +jffs2_trusted_setxattr_17048 jffs2_trusted_setxattr 4 17048 NULL -+tcf_csum_ipv6_udp_25241 tcf_csum_ipv6_udp 4 25241 NULL -+wa_nep_queue_8858 wa_nep_queue 2 8858 NULL -+macvtap_alloc_skb_50629 macvtap_alloc_skb 2-4-3 50629 NULL -+mem_rx_free_mem_blks_read_675 mem_rx_free_mem_blks_read 3 675 NULL -+ntfs_copy_from_user_iovec_49829 ntfs_copy_from_user_iovec 3-6 49829 NULL -+add_uuid_49831 add_uuid 4 49831 NULL -+send_pages_8872 send_pages 3 8872 NULL -+ath6kl_fwlog_block_read_49836 ath6kl_fwlog_block_read 3 49836 NULL -+__btrfs_map_block_49839 __btrfs_map_block 3 49839 NULL ++__arch_hweight32_17060 __arch_hweight32 0 17060 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 -+rx_rx_pre_complt_read_41653 rx_rx_pre_complt_read 3 41653 NULL +__kmalloc_reserve_17080 __kmalloc_reserve 1 17080 NULL -+timeradd_entry_49850 timeradd_entry 3 49850 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 -+alloc_async_14208 alloc_async 1 14208 NULL -+ovs_vport_alloc_33475 ovs_vport_alloc 1 33475 NULL -+persistent_ram_vmap_709 persistent_ram_vmap 2-1 709 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 -+alloc_sja1000dev_17868 alloc_sja1000dev 1 17868 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 -+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 -+dt3155_alloc_coherent_58073 dt3155_alloc_coherent 2 58073 NULL -+res_counter_read_33499 res_counter_read 4 33499 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 -+help_25316 help 5 25316 NULL nohasharray -+ath9k_debugfs_read_buf_25316 ath9k_debugfs_read_buf 3 25316 &help_25316 -+rfcomm_wmalloc_58090 rfcomm_wmalloc 2 58090 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 -+musb_test_mode_write_33518 musb_test_mode_write 3 33518 NULL -+ddp_set_map_751 ddp_set_map 4 751 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 -+aggr_size_rx_size_read_33526 aggr_size_rx_size_read 3 33526 NULL -+bdx_tx_db_init_41719 bdx_tx_db_init 2 41719 NULL +nouveau_instobj_create__17144 nouveau_instobj_create_ 4 17144 NULL -+udi_log_event_58105 udi_log_event 3 58105 NULL -+sys_pwritev_41722 sys_pwritev 3 41722 NULL -+l2cap_sock_alloc_skb_cb_33532 l2cap_sock_alloc_skb_cb 2 33532 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 -+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 -+venus_mkdir_8967 venus_mkdir 4 8967 NULL -+vol_cdev_read_8968 vol_cdev_read 3 8968 NULL nohasharray -+seq_open_net_8968 seq_open_net 4 8968 &vol_cdev_read_8968 +sep_read_17161 sep_read 3 17161 NULL +befs_nls2utf_17163 befs_nls2utf 3 17163 NULL +tx_tx_start_templates_read_17164 tx_tx_start_templates_read 3 17164 NULL -+dup_array_33551 dup_array 3 33551 NULL -+vxge_device_register_7752 vxge_device_register 4 7752 NULL -+solo_enc_read_33553 solo_enc_read 3 33553 NULL -+fillonedir_41746 fillonedir 3 41746 NULL -+init_bch_64130 init_bch 1-2 64130 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 -+btrfs_alloc_free_block_8986 btrfs_alloc_free_block 3 8986 NULL -+savemem_58129 savemem 3 58129 NULL -+batadv_tt_realloc_packet_buff_49960 batadv_tt_realloc_packet_buff 4 49960 NULL -+rx_defrag_tkip_called_read_21031 rx_defrag_tkip_called_read 3 21031 NULL ++UniStrnlen_17169 UniStrnlen 0 17169 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 -+dispatch_ioctl_32357 dispatch_ioctl 2 32357 NULL -+if_writecmd_815 if_writecmd 2 815 NULL -+aac_change_queue_depth_825 aac_change_queue_depth 2 825 NULL -+read_fifo_826 read_fifo 3 826 NULL -+keyctl_describe_key_36853 keyctl_describe_key 3 36853 NULL -+scsi_execute_33596 scsi_execute 5 33596 NULL +dn_recvmsg_17213 dn_recvmsg 4 17213 NULL +ms_rw_17220 ms_rw 3-4 17220 NULL -+read_tree_block_841 read_tree_block 3 841 NULL -+hsi_alloc_controller_41802 hsi_alloc_controller 1 41802 NULL -+l2cap_chan_send_49995 l2cap_chan_send 3 49995 NULL -+dai_list_read_file_25421 dai_list_read_file 3 25421 NULL -+__pskb_copy_9038 __pskb_copy 2 9038 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 -+__module_alloc_50004 __module_alloc 1 50004 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 -+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 -+provide_user_output_41105 provide_user_output 3 41105 NULL ++__be16_to_cpup_17261 __be16_to_cpup 0 17261 NULL +error_error_frame_cts_nul_flid_read_17262 error_error_frame_cts_nul_flid_read 3 17262 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 -+ath6kl_wmi_beginscan_cmd_25462 ath6kl_wmi_beginscan_cmd 8 25462 NULL -+ieee80211_if_read_aid_9705 ieee80211_if_read_aid 3 9705 NULL -+generic_file_buffered_write_25464 generic_file_buffered_write 4 25464 NULL -+do_ip_setsockopt_41852 do_ip_setsockopt 5 41852 NULL ++pg_read_17276 pg_read 3 17276 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 -+create_queues_9088 create_queues 2-3 9088 NULL -+irq_blk_threshold_read_33666 irq_blk_threshold_read 3 33666 NULL ++hmac_sha256_17278 hmac_sha256 2 17278 NULL +neigh_hash_grow_17283 neigh_hash_grow 2 17283 NULL -+btrfsic_create_link_to_next_block_58246 btrfsic_create_link_to_next_block 4 58246 NULL +minstrel_stats_read_17290 minstrel_stats_read 3 17290 NULL -+rbd_alloc_coll_33678 rbd_alloc_coll 1 33678 NULL -+read_file_debug_58256 read_file_debug 3 58256 NULL ++ieee80211_if_fmt_dot11MeshForwarding_17301 ieee80211_if_fmt_dot11MeshForwarding 3 17301 NULL +skb_pad_17302 skb_pad 2 17302 NULL -+tracing_entries_read_8345 tracing_entries_read 3 8345 NULL -+btmrvl_hsstate_read_920 btmrvl_hsstate_read 3 920 NULL -+profile_load_58267 profile_load 3 58267 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 -+sock_setsockopt_50088 sock_setsockopt 5 50088 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 ++mb_cache_create_17307 mb_cache_create 2 17307 NULL ++gnttab_map_frames_v2_17314 gnttab_map_frames_v2 2 17314 NULL +ata_host_alloc_pinfo_17325 ata_host_alloc_pinfo 3 17325 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 -+get_packet_41914 get_packet 3 41914 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 -+netlink_recvmsg_61600 netlink_recvmsg 4 61600 NULL +ieee80211_if_read_dot11MeshHWMPperrMinInterval_17346 ieee80211_if_read_dot11MeshHWMPperrMinInterval 3 17346 NULL +ath6kl_wmi_send_mgmt_cmd_17347 ath6kl_wmi_send_mgmt_cmd 7 17347 NULL -+serverworks_create_gatt_pages_46582 serverworks_create_gatt_pages 1 46582 NULL -+ieee80211_if_read_path_refresh_time_25545 ieee80211_if_read_path_refresh_time 3 25545 NULL -+tx_tx_start_int_templates_read_58324 tx_tx_start_int_templates_read 3 58324 NULL -+copy_items_50140 copy_items 6 50140 NULL -+omfs_readpages_42490 omfs_readpages 4 42490 NULL -+pcim_iomap_58334 pcim_iomap 3 58334 NULL -+diva_init_dma_map_58336 diva_init_dma_map 3 58336 NULL -+map_addr_56144 map_addr 7 56144 NULL -+vifs_state_read_33762 vifs_state_read 3 33762 NULL -+btmrvl_psstate_read_50683 btmrvl_psstate_read 3 50683 NULL -+hdlcdev_rx_997 hdlcdev_rx 3 997 NULL -+portnames_read_41958 portnames_read 3 41958 NULL -+ubi_self_check_all_ff_41959 ubi_self_check_all_ff 4 41959 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 -+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 -+smk_write_cipso2_1021 smk_write_cipso2 3 1021 NULL -+__devres_alloc_25598 __devres_alloc 2 25598 NULL -+snd_compr_write_data_46592 snd_compr_write_data 3 46592 NULL -+netpoll_send_udp_58955 netpoll_send_udp 3 58955 NULL -+tx_tx_prepared_descs_read_9221 tx_tx_prepared_descs_read 3 9221 NULL -+ib_send_cm_drep_50186 ib_send_cm_drep 3 50186 NULL -+do_write_orph_node_64343 do_write_orph_node 2 64343 NULL -+qla4xxx_post_aen_work_46953 qla4xxx_post_aen_work 3 46953 NULL +lpfc_debugfs_dif_err_write_17424 lpfc_debugfs_dif_err_write 3 17424 NULL -+il_dbgfs_status_read_58388 il_dbgfs_status_read 3 58388 NULL -+cfg80211_roamed_bss_50198 cfg80211_roamed_bss 4-6 50198 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 -+sep_create_msgarea_context_33829 sep_create_msgarea_context 4 33829 NULL -+skb_do_copy_data_nocache_12465 skb_do_copy_data_nocache 5 12465 NULL -+udplite_manip_pkt_33832 udplite_manip_pkt 4 33832 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 -+iscsi_offload_mesg_58425 iscsi_offload_mesg 5 58425 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 -+oz_cdev_write_33852 oz_cdev_write 3 33852 NULL -+nfs_pgarray_set_1085 nfs_pgarray_set 2 1085 NULL -+irda_sendmsg_ultra_42047 irda_sendmsg_ultra 4 42047 NULL -+sg_kmalloc_50240 sg_kmalloc 1 50240 NULL -+ps_poll_upsd_max_ap_turn_read_42050 ps_poll_upsd_max_ap_turn_read 3 42050 NULL -+llcp_sock_sendmsg_1092 llcp_sock_sendmsg 4 1092 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 +probe_kernel_write_17481 probe_kernel_write 3 17481 NULL -+InterfaceTransmitPacket_42058 InterfaceTransmitPacket 3 42058 NULL +__alloc_session_17485 __alloc_session 2-1 17485 NULL +TSS_rawhmac_17486 TSS_rawhmac 3 17486 NULL -+pm860x_bulk_write_43875 pm860x_bulk_write 3 43875 NULL -+afs_extract_data_50261 afs_extract_data 5 50261 NULL -+config_proc_write_33878 config_proc_write 3 33878 NULL -+capabilities_read_58457 capabilities_read 3 58457 NULL -+sta_inactive_ms_read_25690 sta_inactive_ms_read 3 25690 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 -+rxrpc_setsockopt_50286 rxrpc_setsockopt 5 50286 NULL -+sk_chk_filter_42095 sk_chk_filter 2 42095 NULL -+rx_filter_mc_filter_read_25712 rx_filter_mc_filter_read 3 25712 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 -+batadv_bla_is_backbone_gw_58488 batadv_bla_is_backbone_gw 3 58488 NULL -+v4l2_ctrl_new_int_menu_41151 v4l2_ctrl_new_int_menu 4 41151 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 -+mcs_unwrap_fir_25733 mcs_unwrap_fir 3 25733 NULL -+vme_user_write_15587 vme_user_write 3 15587 NULL ++bitmap_pos_to_ord_17503 bitmap_pos_to_ord 3 17503 NULL ++arizona_apply_fll_17538 arizona_apply_fll 2 17538 NULL +xlog_do_log_recovery_17550 xlog_do_log_recovery 3 17550 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 -+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 -+nouveau_engine_create__50331 nouveau_engine_create_ 7 50331 NULL -+lpfc_idiag_pcicfg_read_50334 lpfc_idiag_pcicfg_read 3 50334 NULL -+v9fs_alloc_rdir_buf_42150 v9fs_alloc_rdir_buf 2 42150 NULL -+roccat_common2_send_with_status_50343 roccat_common2_send_with_status 4 50343 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 -+isdn_ppp_read_50356 isdn_ppp_read 4 50356 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 ++__copy_to_user_17551 __copy_to_user 0-3 17551 NULL ++copy_from_user_17559 copy_from_user 3 17559 NULL ++snd_pcm_action_lock_irq_17569 snd_pcm_action_lock_irq 0 17569 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 -+roccat_common2_receive_50369 roccat_common2_receive 4 50369 NULL -+oprofilefs_str_to_user_42182 oprofilefs_str_to_user 3 42182 NULL ++iwl_dump_nic_event_log_17601 iwl_dump_nic_event_log 0 17601 NULL ++wm8994_gpio_to_irq_17604 wm8994_gpio_to_irq 2 17604 NULL +osst_execute_17607 osst_execute 7-6 17607 NULL -+nf_nat_sip_expect_9418 nf_nat_sip_expect 8 9418 NULL -+sl_alloc_bufs_50380 sl_alloc_bufs 2 50380 NULL -+ipw_packet_received_skb_1230 ipw_packet_received_skb 2 1230 NULL ++ocfs2_mark_extent_written_17615 ocfs2_mark_extent_written 6 17615 NULL +ieee80211_if_read_dot11MeshHWMPactivePathToRootTimeout_17618 ieee80211_if_read_dot11MeshHWMPactivePathToRootTimeout 3 17618 NULL -+rx_rx_frame_checksum_read_40140 rx_rx_frame_checksum_read 3 40140 NULL -+sys32_rt_sigpending_25814 sys32_rt_sigpending 2 25814 NULL -+bm_realloc_pages_9431 bm_realloc_pages 2 9431 NULL -+acpi_battery_write_alarm_1240 acpi_battery_write_alarm 3 1240 NULL -+joydev_ioctl_common_49359 joydev_ioctl_common 2 49359 NULL -+ffs_ep0_write_9438 ffs_ep0_write 3 9438 NULL -+xip_file_read_58592 xip_file_read 3 58592 NULL -+iwl_dbgfs_ucode_tx_stats_read_31611 iwl_dbgfs_ucode_tx_stats_read 3 31611 NULL -+kmalloc_array_9444 kmalloc_array 1-2 9444 NULL -+__ntfs_malloc_34022 __ntfs_malloc 1 34022 NULL -+l2tp_ip_sendmsg_50411 l2tp_ip_sendmsg 4 50411 NULL -+mcs_unwrap_mir_9455 mcs_unwrap_mir 3 9455 NULL -+ppp_write_34034 ppp_write 3 34034 NULL -+qla4xxx_change_queue_depth_1268 qla4xxx_change_queue_depth 2 1268 NULL -+iscsi_create_conn_50425 iscsi_create_conn 2 50425 NULL -+tty_insert_flip_string_34042 tty_insert_flip_string 3 34042 NULL -+packet_setsockopt_17662 packet_setsockopt 5 17662 NULL -+batadv_tt_prepare_packet_buff_1280 batadv_tt_prepare_packet_buff 4 1280 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 nohasharray -+efi_ioremap_58634 efi_ioremap 1-2 58634 &module_alloc_update_bounds_rx_58634 -+btmrvl_hsmode_write_42252 btmrvl_hsmode_write 3 42252 NULL -+rx_defrag_need_decrypt_read_42253 rx_defrag_need_decrypt_read 3 42253 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 -+ulog_alloc_skb_23427 ulog_alloc_skb 1 23427 NULL -+__alloc_preds_9492 __alloc_preds 2 9492 NULL -+pgctrl_write_50453 pgctrl_write 3 50453 NULL ++twl4030_set_gpio_direction_17645 twl4030_set_gpio_direction 1 17645 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 -+read_file_ant_diversity_34071 read_file_ant_diversity 3 34071 NULL -+tx_tx_start_fw_gen_read_58648 tx_tx_start_fw_gen_read 3 58648 NULL -+ath6kl_regread_read_25884 ath6kl_regread_read 3 25884 NULL -+tm6000_i2c_recv_regs16_2949 tm6000_i2c_recv_regs16 5 2949 NULL -+savu_sysfs_write_42273 savu_sysfs_write 6 42273 NULL -+uvc_v4l2_ioctl_8411 uvc_v4l2_ioctl 2 8411 NULL -+lp_write_9511 lp_write 3 9511 NULL +__einj_error_trigger_17707 __einj_error_trigger 1 17707 NULL nohasharray +venus_rename_17707 venus_rename 5-4 17707 &__einj_error_trigger_17707 -+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 -+tps6586x_writes_58689 tps6586x_writes 3 58689 NULL -+il_dbgfs_rx_stats_read_15243 il_dbgfs_rx_stats_read 3 15243 NULL -+xfs_vm_readpages_42308 xfs_vm_readpages 4 42308 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 -+hysdn_conf_read_42324 hysdn_conf_read 3 42324 NULL -+islpci_mgt_transmit_34133 islpci_mgt_transmit 5 34133 NULL -+pipeline_dec_packet_in_fifo_full_read_33052 pipeline_dec_packet_in_fifo_full_read 3 33052 NULL -+fw_node_create_9559 fw_node_create 2 9559 NULL -+fw_stats_raw_read_1369 fw_stats_raw_read 3 1369 NULL -+ixgbe_dbg_netdev_ops_write_34141 ixgbe_dbg_netdev_ops_write 3 34141 NULL -+kobj_map_9566 kobj_map 2-3 9566 NULL -+snd_pcm_plug_alloc_42339 snd_pcm_plug_alloc 2 42339 NULL -+acpi_map_58725 acpi_map 1-2 58725 NULL ++mark_unsafe_pages_17759 mark_unsafe_pages 0 17759 NULL +brcmf_usb_attach_17766 brcmf_usb_attach 2-3 17766 NULL -+sctp_setsockopt_initmsg_1383 sctp_setsockopt_initmsg 3 1383 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 -+snd_rawmidi_kernel_read_4328 snd_rawmidi_kernel_read 3 4328 NULL -+ide_raw_taskfile_42355 ide_raw_taskfile 4 42355 NULL -+udp_recvmsg_42558 udp_recvmsg 4 42558 NULL -+file_read_actor_1401 file_read_actor 4 1401 NULL -+av7110_ipack_init_46655 av7110_ipack_init 2 46655 NULL -+ieee80211_if_write_tkip_mic_test_58748 ieee80211_if_write_tkip_mic_test 3 58748 NULL +ubifs_leb_change_17789 ubifs_leb_change 4 17789 NULL -+udp_setsockopt_25985 udp_setsockopt 5 25985 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 -+sctp_sf_abort_violation_1420 sctp_sf_abort_violation 7 1420 NULL -+afs_cell_alloc_24052 afs_cell_alloc 2 24052 NULL -+il_dbgfs_disable_ht40_read_42386 il_dbgfs_disable_ht40_read 3 42386 NULL -+lpfc_sli_probe_sriov_nr_virtfn_26004 lpfc_sli_probe_sriov_nr_virtfn 2 26004 NULL -+qib_alloc_fast_reg_mr_12526 qib_alloc_fast_reg_mr 2 12526 NULL -+fat_readpages_50582 fat_readpages 4 50582 NULL nohasharray -+pep_reply_50582 pep_reply 5 50582 &fat_readpages_50582 -+iwl_dbgfs_missed_beacon_read_50584 iwl_dbgfs_missed_beacon_read 3 50584 NULL -+saa7164_buffer_alloc_user_9627 saa7164_buffer_alloc_user 2 9627 NULL ++get_unaligned_be64_17794 get_unaligned_be64 0 17794 NULL +_snd_pcm_lib_alloc_vmalloc_buffer_17820 _snd_pcm_lib_alloc_vmalloc_buffer 2 17820 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 -+compat_sys_keyctl_9639 compat_sys_keyctl 4 9639 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 -+isku_sysfs_read_58806 isku_sysfs_read 6 58806 NULL -+tx_queue_len_read_1463 tx_queue_len_read 3 1463 NULL -+uvc_alloc_buffers_9656 uvc_alloc_buffers 2-3 9656 NULL -+queue_received_packet_9657 queue_received_packet 5 9657 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 ++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 -+simple_transaction_get_50633 simple_transaction_get 3 50633 NULL -+key_conf_keyidx_read_42443 key_conf_keyidx_read 3 42443 NULL -+dns_query_9676 dns_query 3 9676 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 ++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 -+bl_pipe_downcall_34264 bl_pipe_downcall 3 34264 NULL -+command_write_58841 command_write 3 58841 NULL -+short_retry_limit_read_4687 short_retry_limit_read 3 4687 NULL -+dev_config_8506 dev_config 3 8506 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 -+sys_readv_50664 sys_readv 3 50664 NULL -+bnad_debugfs_read_50665 bnad_debugfs_read 3 50665 NULL -+__simple_xattr_set_42474 __simple_xattr_set 4 42474 NULL -+ath6kl_wmi_send_action_cmd_58860 ath6kl_wmi_send_action_cmd 7 58860 NULL -+rx_rx_wa_density_dropped_frame_read_26095 rx_rx_wa_density_dropped_frame_read 3 26095 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 ++wm8400_set_bits_17898 wm8400_set_bits 2 17898 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 -+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 -+ddb_input_read_9743 ddb_input_read 3 9743 NULL -+skb_cow_26138 skb_cow 2 26138 NULL -+smk_write_netlbladdr_42525 smk_write_netlbladdr 3 42525 NULL -+snd_emux_create_port_42533 snd_emux_create_port 3 42533 NULL -+do_sigpending_9766 do_sigpending 2 9766 NULL -+hysdn_conf_write_52145 hysdn_conf_write 3 52145 NULL -+pipeline_cs_rx_packet_out_read_58926 pipeline_cs_rx_packet_out_read 3 58926 NULL -+blk_check_plugged_50736 blk_check_plugged 3 50736 NULL -+__blk_queue_init_tags_9778 __blk_queue_init_tags 2 9778 NULL -+copy_oldmem_page_26164 copy_oldmem_page 3-1 26164 NULL -+i915_ring_stop_read_42549 i915_ring_stop_read 3 42549 NULL nohasharray -+ath6kl_wmi_proc_events_vif_42549 ath6kl_wmi_proc_events_vif 5 42549 &i915_ring_stop_read_42549 -+ath6kl_roam_table_read_26166 ath6kl_roam_table_read 3 26166 NULL -+snd_mem_proc_write_9786 snd_mem_proc_write 3 9786 NULL -+fc_frame_alloc_1596 fc_frame_alloc 2 1596 NULL -+rngapi_reset_34366 rngapi_reset 3 34366 NULL nohasharray -+p54_alloc_skb_34366 p54_alloc_skb 3 34366 &rngapi_reset_34366 -+iwl_calib_set_34400 iwl_calib_set 3 34400 NULL nohasharray -+ivtv_read_pos_34400 ivtv_read_pos 3 34400 &iwl_calib_set_34400 -+solo_v4l2_read_59247 solo_v4l2_read 3 59247 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 -+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 -+cgroup_setxattr_26188 cgroup_setxattr 4 26188 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 -+iwch_alloc_fastreg_pbl_40153 iwch_alloc_fastreg_pbl 2 40153 NULL -+bio_alloc_map_data_50782 bio_alloc_map_data 1-2 50782 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 -+oom_score_adj_write_42594 oom_score_adj_write 3 42594 NULL -+smk_write_load2_52155 smk_write_load2 3 52155 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 -+tun_do_read_50800 tun_do_read 4 50800 NULL -+handle_rx_packet_58993 handle_rx_packet 3 58993 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 -+dvb_play_50814 dvb_play 3 50814 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 -+sys_move_pages_42626 sys_move_pages 2 42626 NULL ++find_next_inuse_18051 find_next_inuse 2-3 18051 NULL +ddebug_proc_write_18055 ddebug_proc_write 3 18055 NULL -+pmcraid_alloc_sglist_9864 pmcraid_alloc_sglist 1 9864 NULL -+btrfs_free_reserved_extent_9867 btrfs_free_reserved_extent 2 9867 NULL -+usbtest_alloc_urb_34446 usbtest_alloc_urb 3-5 34446 NULL -+dma_attach_50831 dma_attach 6-7 50831 NULL -+scsi_activate_tcq_42640 scsi_activate_tcq 2 42640 NULL -+br_mdb_rehash_42643 br_mdb_rehash 2 42643 NULL -+vhci_put_user_12604 vhci_put_user 4 12604 NULL ++lua_sysfs_read_18062 lua_sysfs_read 6 18062 NULL ++hex_byte_pack_18064 hex_byte_pack 0 18064 NULL +packet_came_18072 packet_came 3 18072 NULL -+init_pci_cap_msi_perm_59033 init_pci_cap_msi_perm 2 59033 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 -+dvb_dvr_set_buffer_size_9840 dvb_dvr_set_buffer_size 2 9840 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 -+self_check_write_50856 self_check_write 5 50856 NULL -+line6_dumpreq_init_34473 line6_dumpreq_init 3 34473 NULL -+i2o_parm_field_get_34477 i2o_parm_field_get 5 34477 NULL +mpi_alloc_18094 mpi_alloc 1 18094 NULL -+coda_psdev_write_1711 coda_psdev_write 3 1711 NULL -+l2tp_xmit_skb_42672 l2tp_xmit_skb 3 42672 NULL -+bitmap_resize_33054 bitmap_resize 2 33054 NULL -+mga_compat_ioctl_52170 mga_compat_ioctl 2 52170 NULL -+mgmt_pending_add_46976 mgmt_pending_add 5 46976 NULL -+sis190_try_rx_copy_57069 sis190_try_rx_copy 3 57069 NULL ++tps65910_gpio_input_18110 tps65910_gpio_input 2 18110 NULL +dfs_file_read_18116 dfs_file_read 3 18116 NULL -+request_key_and_link_42693 request_key_and_link 4 42693 NULL -+vb2_read_42703 vb2_read 3 42703 NULL -+pwr_wake_on_host_read_26321 pwr_wake_on_host_read 3 26321 NULL -+hvc_alloc_12579 hvc_alloc 4 12579 NULL -+tx_frag_called_read_1748 tx_frag_called_read 3 1748 NULL -+snd_pcm_plugin_alloc_12580 snd_pcm_plugin_alloc 2 12580 NULL -+pstore_ftrace_knob_read_9947 pstore_ftrace_knob_read 3 9947 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 ++svc_getnl_18120 svc_getnl 0 18120 NULL ++paging32_gpte_to_gfn_lvl_18131 paging32_gpte_to_gfn_lvl 0-1-2 18131 NULL ++vmw_surface_dma_size_18132 vmw_surface_dma_size 0 18132 NULL ++tps65910_gpio_set_18135 tps65910_gpio_set 2 18135 NULL +selinux_inode_setsecurity_18148 selinux_inode_setsecurity 4 18148 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 -+cosa_write_1774 cosa_write 3 1774 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 -+bnx2fc_cmd_mgr_alloc_24873 bnx2fc_cmd_mgr_alloc 3-2 24873 NULL -+cifs_readdata_alloc_26360 cifs_readdata_alloc 1 26360 NULL -+ath6kl_usb_submit_ctrl_out_9978 ath6kl_usb_submit_ctrl_out 6 9978 NULL -+dup_to_netobj_26363 dup_to_netobj 3 26363 NULL -+sock_bindtodevice_50942 sock_bindtodevice 3 50942 NULL ++is_idx_node_in_use_18165 is_idx_node_in_use 0 18165 NULL ++_has_tag_18169 _has_tag 2 18169 NULL +pccard_store_cis_18176 pccard_store_cis 6 18176 NULL -+fcoe_ctlr_device_add_1793 fcoe_ctlr_device_add 3 1793 NULL -+alloc_ieee80211_rsl_34564 alloc_ieee80211_rsl 1 34564 NULL -+mld_newpack_50950 mld_newpack 2 50950 NULL -+framebuffer_alloc_59145 framebuffer_alloc 1 59145 NULL -+i915_ring_stop_write_59010 i915_ring_stop_write 3 59010 NULL -+radeon_compat_ioctl_59150 radeon_compat_ioctl 2 59150 NULL -+cfpkt_create_18197 cfpkt_create 1 18197 NULL -+velocity_rx_copy_34583 velocity_rx_copy 2 34583 NULL -+x25_recvmsg_42777 x25_recvmsg 4 42777 NULL -+init_send_hfcd_34586 init_send_hfcd 1 34586 NULL -+tty_insert_flip_string_fixed_flag_37428 tty_insert_flip_string_fixed_flag 4 37428 NULL -+xfrm_dst_alloc_copy_3034 xfrm_dst_alloc_copy 3 3034 NULL ++snd_pcm_hw_refine_user_18204 snd_pcm_hw_refine_user 0 18204 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 -+handle_request_10024 handle_request 9 10024 NULL -+__tty_alloc_driver_53799 __tty_alloc_driver 1 53799 NULL -+setup_window_59178 setup_window 4-2-5-7 59178 NULL -+timeout_write_50991 timeout_write 3 50991 NULL -+batadv_orig_hash_add_if_10033 batadv_orig_hash_add_if 2 10033 NULL -+fw_device_op_compat_ioctl_42804 fw_device_op_compat_ioctl 2 42804 NULL -+ip_vs_create_timeout_table_64478 ip_vs_create_timeout_table 2 64478 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 -+audit_log_n_string_31705 audit_log_n_string 3 31705 NULL -+fuse_conn_congestion_threshold_read_51028 fuse_conn_congestion_threshold_read 3 51028 NULL -+pstore_mkfile_50830 pstore_mkfile 5 50830 NULL ++snd_ctl_ioctl_compat_18250 snd_ctl_ioctl_compat 3 18250 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 -+xfs_buf_read_uncached_42844 xfs_buf_read_uncached 3 42844 NULL -+ieee80211_set_probe_resp_10077 ieee80211_set_probe_resp 3 10077 NULL -+dump_midi_51040 dump_midi 3 51040 NULL -+srpt_alloc_ioctx_51042 srpt_alloc_ioctx 2-3 51042 NULL +gfs2_alloc_sort_buffer_18275 gfs2_alloc_sort_buffer 1 18275 NULL -+nf_nat_mangle_udp_packet_34661 nf_nat_mangle_udp_packet 8-6 34661 NULL +alloc_ring_18278 alloc_ring 2-4 18278 NULL -+tty_prepare_flip_string_flags_59240 tty_prepare_flip_string_flags 4 59240 NULL -+nouveau_subdev_create__18281 nouveau_subdev_create_ 7 18281 NULL ++find_dirty_idx_leb_18280 find_dirty_idx_leb 0 18280 NULL ++nouveau_subdev_create__18281 nouveau_subdev_create_ 7 18281 NULL nohasharray ++bio_phys_segments_18281 bio_phys_segments 0 18281 &nouveau_subdev_create__18281 +ext4_readpages_18283 ext4_readpages 4 18283 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 -+ulong_write_file_26485 ulong_write_file 3 26485 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 -+dynamic_ps_timeout_read_10110 dynamic_ps_timeout_read 3 10110 NULL -+isr_fiqs_read_34687 isr_fiqs_read 3 34687 NULL -+pskb_expand_head_42881 pskb_expand_head 2-3 42881 NULL ++um_idi_write_18293 um_idi_write 3 18293 NULL +ip6ip6_err_18308 ip6ip6_err 5 18308 NULL -+read_vmcore_26501 read_vmcore 3 26501 NULL -+tx_tx_retry_data_read_1926 tx_tx_retry_data_read 3 1926 NULL -+garp_attr_create_3883 garp_attr_create 3 3883 NULL -+tipc_port_recv_sections_42890 tipc_port_recv_sections 4 42890 NULL -+vfio_pci_set_msi_trigger_26507 vfio_pci_set_msi_trigger 3-4 26507 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 ++vga_r_18310 vga_r 0 18310 NULL +ecryptfs_send_message_18322 ecryptfs_send_message 2 18322 NULL -+cyttsp_probe_1940 cyttsp_probe 4 1940 NULL -+SendTxCommandPacket_42901 SendTxCommandPacket 3 42901 NULL -+btmrvl_hscfgcmd_read_56303 btmrvl_hscfgcmd_read 3 56303 NULL -+W6692_empty_Bfifo_47804 W6692_empty_Bfifo 2 47804 NULL -+ath6kl_wmi_send_probe_response_cmd_31728 ath6kl_wmi_send_probe_response_cmd 6 31728 NULL -+ieee80211_if_read_num_sta_ps_34722 ieee80211_if_read_num_sta_ps 3 34722 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 -+btrfs_insert_dir_item_59304 btrfs_insert_dir_item 4 59304 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 -+iscsi_nop_out_rsp_51117 iscsi_nop_out_rsp 4 51117 NULL -+platform_list_read_file_34734 platform_list_read_file 3 34734 NULL -+hidg_alloc_ep_req_10159 hidg_alloc_ep_req 2 10159 NULL -+reg_w_ixbuf_34736 reg_w_ixbuf 4 34736 NULL -+sctp_make_datafrag_empty_34737 sctp_make_datafrag_empty 3 34737 NULL ++bio_integrity_advance_18324 bio_integrity_advance 2 18324 NULL ++wm8994_gpio_direction_out_18337 wm8994_gpio_direction_out 2 18337 NULL +pwr_power_save_off_read_18355 pwr_power_save_off_read 3 18355 NULL -+asd_store_update_bios_10165 asd_store_update_bios 4 10165 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 -+proc_pid_attr_read_10173 proc_pid_attr_read 3 10173 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 -+diva_alloc_dma_map_23798 diva_alloc_dma_map 2 23798 NULL -+solos_param_store_34755 solos_param_store 4 34755 NULL -+simple_xattr_set_51140 simple_xattr_set 4 51140 NULL -+jffs2_user_setxattr_10182 jffs2_user_setxattr 4 10182 NULL -+__alloc_bootmem_node_1992 __alloc_bootmem_node 2 1992 NULL -+rx_defrag_in_process_called_read_59338 rx_defrag_in_process_called_read 3 59338 NULL -+xfs_trans_get_efd_51148 xfs_trans_get_efd 3 51148 NULL -+ib_send_cm_rtu_63138 ib_send_cm_rtu 3 63138 NULL -+compat_sys_pwritev64_51151 compat_sys_pwritev64 3 51151 NULL -+rts51x_read_mem_26577 rts51x_read_mem 4 26577 NULL nohasharray -+batadv_receive_server_sync_packet_26577 batadv_receive_server_sync_packet 3 26577 &rts51x_read_mem_26577 -+xfs_attrmulti_attr_set_59346 xfs_attrmulti_attr_set 4 59346 NULL -+vcc_recvmsg_37198 vcc_recvmsg 4 37198 NULL -+batadv_tt_commit_changes_2008 batadv_tt_commit_changes 4 2008 NULL -+sep_prepare_input_dma_table_2009 sep_prepare_input_dma_table 2-3 2009 NULL -+qib_cdev_init_34778 qib_cdev_init 1 34778 NULL -+ubifs_write_node_11258 ubifs_write_node 5-3 11258 NULL -+reada_tree_block_flagged_18402 reada_tree_block_flagged 3 18402 NULL -+iscsi_if_send_reply_52219 iscsi_if_send_reply 7 52219 NULL -+write_flush_pipefs_2021 write_flush_pipefs 3 2021 NULL -+__copy_in_user_34790 __copy_in_user 3 34790 NULL ++xlbd_reserve_minors_18365 xlbd_reserve_minors 1-2 18365 NULL ++ep_io_18367 ep_io 0 18367 NULL ++lp872x_update_bits_18368 lp872x_update_bits 2 18368 NULL ++irq_find_mapping_18388 irq_find_mapping 0-2 18388 NULL ++__video_register_device_18399 __video_register_device 3 18399 NULL ++reada_tree_block_flagged_18402 reada_tree_block_flagged 3 18402 NULL nohasharray ++adis16136_show_serial_18402 adis16136_show_serial 3 18402 &reada_tree_block_flagged_18402 +crystalhd_user_data_18407 crystalhd_user_data 3 18407 NULL -+nfs_idmap_get_desc_42990 nfs_idmap_get_desc 4-2 42990 NULL -+mwifiex_regrdwr_read_34472 mwifiex_regrdwr_read 3 34472 NULL -+BcmCopySection_2035 BcmCopySection 5 2035 NULL -+devm_ioremap_nocache_2036 devm_ioremap_nocache 2-3 2036 NULL -+carl9170_debugfs_write_50857 carl9170_debugfs_write 3 50857 NULL -+hdlc_rpr_irq_10240 hdlc_rpr_irq 2 10240 NULL ++usbnet_write_cmd_nopm_18426 usbnet_write_cmd_nopm 7 18426 NULL +batadv_orig_node_add_if_18433 batadv_orig_node_add_if 2 18433 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 -+nfc_alloc_recv_skb_10244 nfc_alloc_recv_skb 1 10244 NULL -+pm8001_store_update_fw_55716 pm8001_store_update_fw 4 55716 NULL -+mangle_sdp_packet_30381 mangle_sdp_packet 10 30381 NULL -+isr_rx_mem_overflow_read_43025 isr_rx_mem_overflow_read 3 43025 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 ++snd_hda_get_connections_18437 snd_hda_get_connections 0 18437 NULL +fuse_perform_write_18457 fuse_perform_write 4 18457 NULL -+irq_alloc_generic_chip_26650 irq_alloc_generic_chip 2 26650 NULL +regset_tls_set_18459 regset_tls_set 4 18459 NULL -+nf_ct_ext_create_51232 nf_ct_ext_create 3 51232 NULL -+receive_DataRequest_9904 receive_DataRequest 3 9904 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 -+fs_path_ensure_buf_59445 fs_path_ensure_buf 2 59445 NULL ++dma_alloc_from_contiguous_18466 dma_alloc_from_contiguous 3-2 18466 NULL ++pci_vpd_lrdt_size_18479 pci_vpd_lrdt_size 0 18479 NULL +udpv6_setsockopt_18487 udpv6_setsockopt 5 18487 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 -+compat_dccp_setsockopt_51263 compat_dccp_setsockopt 5 51263 NULL -+nouveau_gpuobj_create__43072 nouveau_gpuobj_create_ 9 43072 NULL -+rtsx_read_cfg_seq_48139 rtsx_read_cfg_seq 5-3 48139 NULL -+__find_xattr_2117 __find_xattr 6 2117 NULL nohasharray -+enable_read_2117 enable_read 3 2117 &__find_xattr_2117 -+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 -+c4_add_card_54968 c4_add_card 3 54968 NULL -+rtllib_authentication_req_26713 rtllib_authentication_req 3 26713 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 -+fd_do_readv_51297 fd_do_readv 3 51297 NULL +nouveau_fifo_channel_create__18530 nouveau_fifo_channel_create_ 5-6-9 18530 NULL -+nfc_hci_send_cmd_async_26723 nfc_hci_send_cmd_async 5 26723 NULL -+mlx4_init_icm_table_2151 mlx4_init_icm_table 5-4 2151 NULL -+bnad_debugfs_read_regrd_51308 bnad_debugfs_read_regrd 3 51308 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 -+sctp_setsockopt_connectx_6073 sctp_setsockopt_connectx 3 6073 NULL -+ath6kl_listen_int_read_10355 ath6kl_listen_int_read 3 10355 NULL -+_ore_get_io_state_2166 _ore_get_io_state 3-4-5 2166 NULL -+nr_recvmsg_12649 nr_recvmsg 4 12649 NULL -+alloc_hippi_dev_51320 alloc_hippi_dev 1 51320 NULL -+pipeline_tcp_rx_stat_fifo_int_read_26745 pipeline_tcp_rx_stat_fifo_int_read 3 26745 NULL -+ms_write_multiple_pages_10362 ms_write_multiple_pages 6-5 10362 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 -+fb_sys_write_33130 fb_sys_write 3 33130 NULL -+sta_ht_capa_read_10366 sta_ht_capa_read 3 10366 NULL -+set_bypass_pwoff_pfs_27669 set_bypass_pwoff_pfs 3 27669 NULL +smk_write_rules_list_18565 smk_write_rules_list 3 18565 NULL -+srp_ring_alloc_26760 srp_ring_alloc 2 26760 NULL -+read_file_dfs_43145 read_file_dfs 3 43145 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 -+cosa_net_setup_rx_38594 cosa_net_setup_rx 2 38594 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 -+il_dbgfs_power_save_status_read_43165 il_dbgfs_power_save_status_read 3 43165 NULL -+do_compat_pselect_10398 do_compat_pselect 1 10398 NULL -+_rtl92s_firmware_downloadcode_14021 _rtl92s_firmware_downloadcode 3 14021 NULL ++check_lpt_type_18577 check_lpt_type 0 18577 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 ++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 -+vhci_write_2224 vhci_write 3 2224 NULL -+ath6kl_set_assoc_req_ies_43185 ath6kl_set_assoc_req_ies 3 43185 NULL -+acpi_os_ioremap_49523 acpi_os_ioremap 1-2 49523 NULL -+rb_alloc_3102 rb_alloc 1 3102 NULL -+uf_create_device_nodes_24948 uf_create_device_nodes 2 24948 NULL -+rx_rx_hdr_overflow_read_35002 rx_rx_hdr_overflow_read 3 35002 NULL -+l2cap_skbuff_fromiovec_35003 l2cap_skbuff_fromiovec 4-3 35003 NULL -+write_pbl_59583 write_pbl 4 59583 NULL ++batadv_arp_get_type_18609 batadv_arp_get_type 3 18609 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 -+cache_slow_downcall_8570 cache_slow_downcall 2 8570 NULL -+ecryptfs_miscdev_write_26847 ecryptfs_miscdev_write 3 26847 NULL -+blk_register_region_51424 blk_register_region 1-2 51424 NULL -+ath6kl_wmi_bssinfo_event_rx_2275 ath6kl_wmi_bssinfo_event_rx 3 2275 NULL -+mwifiex_rdeeprom_read_51429 mwifiex_rdeeprom_read 3 51429 NULL -+mtrr_write_59622 mtrr_write 3 59622 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 ++f1x_map_sysaddr_to_csrow_18628 f1x_map_sysaddr_to_csrow 2 18628 NULL ++snd_pcm_oss_write3_18657 snd_pcm_oss_write3 0-3 18657 NULL ++ieee80211_if_fmt_rssi_threshold_18664 ieee80211_if_fmt_rssi_threshold 3 18664 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 -+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 -+debug_debug5_read_2291 debug_debug5_read 3 2291 NULL -+twl_change_queue_depth_41342 twl_change_queue_depth 2 41342 NULL -+fixup_leb_43256 fixup_leb 3 43256 NULL -+dvb_usercopy_14036 dvb_usercopy 2 14036 NULL -+ubifs_recover_log_leb_12079 ubifs_recover_log_leb 3 12079 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 -+intel_sdvo_set_value_2311 intel_sdvo_set_value 4 2311 NULL -+qib_alloc_fast_reg_page_list_10507 qib_alloc_fast_reg_page_list 2 10507 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 -+tx_tx_template_prepared_read_30424 tx_tx_template_prepared_read 3 30424 NULL -+osd_req_write_sg_kern_10514 osd_req_write_sg_kern 5 10514 NULL -+____alloc_ei_netdev_51475 ____alloc_ei_netdev 1 51475 NULL ++replay_log_leb_18704 replay_log_leb 3 18704 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 -+get_vm_area_caller_10527 get_vm_area_caller 1 10527 NULL -+capi_write_35104 capi_write 3 35104 NULL nohasharray -+tx_tx_done_template_read_35104 tx_tx_done_template_read 3 35104 &capi_write_35104 -+mpage_alloc_43299 mpage_alloc 3 43299 NULL -+sys_semtimedop_4486 sys_semtimedop 3 4486 NULL -+ide_settings_proc_write_35110 ide_settings_proc_write 3 35110 NULL -+osd_req_write_sg_50908 osd_req_write_sg 5 50908 NULL -+x25_asy_change_mtu_26928 x25_asy_change_mtu 2 26928 NULL -+zr364xx_read_2354 zr364xx_read 3 2354 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 -+pppoe_recvmsg_15073 pppoe_recvmsg 4 15073 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 ++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 -+tcp_send_rcvq_11316 tcp_send_rcvq 3 11316 NULL -+viafb_iga2_odev_proc_write_2363 viafb_iga2_odev_proc_write 3 2363 NULL -+hecubafb_write_26942 hecubafb_write 3 26942 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 -+xfs_buf_map_from_irec_2368 xfs_buf_map_from_irec 5 2368 NULL nohasharray -+rose_recvmsg_2368 rose_recvmsg 4 2368 &xfs_buf_map_from_irec_2368 -+il_dbgfs_sensitivity_read_2370 il_dbgfs_sensitivity_read 3 2370 NULL -+ieee80211_if_write_uapsd_queues_51526 ieee80211_if_write_uapsd_queues 3 51526 NULL -+do_trimming_26952 do_trimming 3 26952 NULL -+ath6kl_wmi_set_ie_cmd_37260 ath6kl_wmi_set_ie_cmd 6 37260 NULL ++md_compat_ioctl_18764 md_compat_ioctl 4 18764 NULL +read_file_dump_nfcal_18766 read_file_dump_nfcal 3 18766 NULL -+prism2_info_scanresults_59729 prism2_info_scanresults 3 59729 NULL -+iscsi_conn_setup_35159 iscsi_conn_setup 2 35159 NULL -+alloc_buf_34532 alloc_buf 1 34532 NULL -+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 -+__alloc_eip_netdev_51549 __alloc_eip_netdev 1 51549 NULL -+icn_writecmd_38629 icn_writecmd 2 38629 NULL -+otp_read_10594 otp_read 2-4-5 10594 NULL -+rxpipe_rx_prep_beacon_drop_read_2403 rxpipe_rx_prep_beacon_drop_read 3 2403 NULL -+sctp_manip_pkt_59749 sctp_manip_pkt 4 59749 NULL -+icmp_manip_pkt_51560 icmp_manip_pkt 4 51560 NULL -+brcmf_sdbrcm_read_control_22721 brcmf_sdbrcm_read_control 3 22721 NULL -+supply_map_read_file_10608 supply_map_read_file 3 10608 NULL -+isdn_v110_open_2418 isdn_v110_open 3 2418 NULL -+roccat_common2_send_2422 roccat_common2_send 4 2422 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 +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 ++setup_ioapic_irq_18813 setup_ioapic_irq 1 18813 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 -+aac_convert_sgraw2_51598 aac_convert_sgraw2 4 51598 NULL -+rfcomm_tty_write_51603 rfcomm_tty_write 3 51603 NULL -+xenfb_write_43412 xenfb_write 3 43412 NULL -+chd_dec_fetch_cdata_50926 chd_dec_fetch_cdata 3 50926 NULL -+nfs4_alloc_slots_2454 nfs4_alloc_slots 1 2454 NULL nohasharray -+ath6kl_usb_bmi_write_2454 ath6kl_usb_bmi_write 3 2454 &nfs4_alloc_slots_2454 -+rx_rx_cmplt_task_read_35226 rx_rx_cmplt_task_read 3 35226 NULL +mtf_test_write_18844 mtf_test_write 3 18844 NULL -+__alloc_bootmem_low_43423 __alloc_bootmem_low 1 43423 NULL nohasharray -+gdm_wimax_netif_rx_43423 gdm_wimax_netif_rx 3 43423 &__alloc_bootmem_low_43423 -+rtllib_wx_set_gen_ie_59808 rtllib_wx_set_gen_ie 3 59808 NULL -+error_error_null_Frame_tx_start_read_55024 error_error_null_Frame_tx_start_read 3 55024 NULL -+udp_manip_pkt_45467 udp_manip_pkt 4 45467 NULL -+nfs_idmap_lookup_id_10660 nfs_idmap_lookup_id 2 10660 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 -+cmd_complete_51629 cmd_complete 6 51629 NULL ++drm_ht_create_18853 drm_ht_create 2 18853 NULL +sctp_setsockopt_events_18862 sctp_setsockopt_events 3 18862 NULL -+btmrvl_txdnldready_read_413 btmrvl_txdnldready_read 3 413 NULL -+ath6kl_wmi_roam_tbl_event_rx_43440 ath6kl_wmi_roam_tbl_event_rx 3 43440 NULL -+set_fd_set_35249 set_fd_set 1 35249 NULL -+wiphy_new_2482 wiphy_new 2 2482 NULL -+bio_alloc_bioset_2484 bio_alloc_bioset 2 2484 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 -+c101_run_37279 c101_run 2 37279 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 -+nfc_llcp_send_i_frame_59130 nfc_llcp_send_i_frame 3 59130 NULL -+pvr2_ioread_read_10720 pvr2_ioread_read 3 10720 NULL nohasharray -+shash_async_setkey_10720 shash_async_setkey 3 10720 &pvr2_ioread_read_10720 ++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 -+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 -+tx_tx_data_prepared_read_43497 tx_tx_data_prepared_read 3 43497 NULL -+pvr2_ioread_set_sync_key_59882 pvr2_ioread_set_sync_key 3 59882 NULL -+__btrfs_direct_write_22273 __btrfs_direct_write 4 22273 NULL -+l2cap_sock_recvmsg_59886 l2cap_sock_recvmsg 4 59886 NULL -+brcmf_sdio_forensic_read_35311 brcmf_sdio_forensic_read 3 35311 NULL nohasharray -+__btrfs_buffered_write_35311 __btrfs_buffered_write 3 35311 &brcmf_sdio_forensic_read_35311 -+tracing_read_pipe_35312 tracing_read_pipe 3 35312 NULL -+sctp_getsockopt_maxseg_10737 sctp_getsockopt_maxseg 2 10737 NULL -+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 -+sys_syslog_10746 sys_syslog 3 10746 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 -+tty_cdev_add_51714 tty_cdev_add 2-4 51714 NULL -+gem_alloc_skb_51715 gem_alloc_skb 2 51715 NULL -+fallback_on_nodma_alloc_35332 fallback_on_nodma_alloc 2 35332 NULL -+read_file_reset_52310 read_file_reset 3 52310 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 -+gspca_dev_probe_2570 gspca_dev_probe 4 2570 NULL -+sg_read_oxfer_51724 sg_read_oxfer 3 51724 NULL -+msg_set_51725 msg_set 3 51725 NULL -+cachefiles_daemon_write_43535 cachefiles_daemon_write 3 43535 NULL -+tx_frag_failed_read_43540 tx_frag_failed_read 3 43540 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 ++mangle_packet_18920 mangle_packet 7-9 18920 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 -+i2400m_net_rx_27170 i2400m_net_rx 5 27170 NULL -+l3_alloc_skb_32289 l3_alloc_skb 1 32289 NULL -+ifx_spi_insert_flip_string_51752 ifx_spi_insert_flip_string 3 51752 NULL -+ath_rx_init_43564 ath_rx_init 2 43564 NULL -+il_dbgfs_rxon_flags_read_59950 il_dbgfs_rxon_flags_read 3 59950 NULL nohasharray -+dapm_widget_power_read_file_59950 dapm_widget_power_read_file 3 59950 &il_dbgfs_rxon_flags_read_59950 -+sys_bind_10799 sys_bind 3 10799 NULL -+_fc_frame_alloc_43568 _fc_frame_alloc 1 43568 NULL -+nfcwilink_send_bts_cmd_10802 nfcwilink_send_bts_cmd 3 10802 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 2-3 33204 NULL -+smk_write_logging_2618 smk_write_logging 3 2618 NULL -+rx_defrag_init_called_read_35935 rx_defrag_init_called_read 3 35935 NULL -+drm_vblank_init_11362 drm_vblank_init 2 11362 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 -+lbs_sleepparams_read_10840 lbs_sleepparams_read 3 10840 NULL -+pppol2tp_sendmsg_56420 pppol2tp_sendmsg 4 56420 NULL -+proc_read_43614 proc_read 3 43614 NULL -+rawv6_send_hdrinc_35425 rawv6_send_hdrinc 3 35425 NULL -+rxrpc_request_key_27235 rxrpc_request_key 3 27235 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 -+fuse_conn_max_background_read_10855 fuse_conn_max_background_read 3 10855 NULL -+xlbd_reserve_minors_18365 xlbd_reserve_minors 1-2 18365 NULL -+rawsock_sendmsg_60010 rawsock_sendmsg 4 60010 NULL -+mthca_init_cq_60011 mthca_init_cq 2 60011 NULL -+rx_rx_tkip_replays_read_60193 rx_rx_tkip_replays_read 3 60193 NULL -+buffer_to_user_35439 buffer_to_user 3 35439 NULL -+lpfc_idiag_drbacc_read_15948 lpfc_idiag_drbacc_read 3 15948 NULL -+vmalloc_15464 vmalloc 1 15464 NULL -+buffer_from_user_51826 buffer_from_user 3 51826 NULL -+snd_pcm_oss_write1_10872 snd_pcm_oss_write1 3 10872 NULL ++create_gpadl_header_19064 create_gpadl_header 2 19064 NULL +ieee80211_key_alloc_19065 ieee80211_key_alloc 3 19065 NULL -+osd_req_list_dev_partitions_60027 osd_req_list_dev_partitions 4 60027 NULL -+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 ++copy_and_check_19089 copy_and_check 3 19089 NULL +sys_process_vm_readv_19090 sys_process_vm_readv 3-5 19090 NULL nohasharray +brcmf_usbdev_qinit_19090 brcmf_usbdev_qinit 2 19090 &sys_process_vm_readv_19090 -+memcpy_fromiovecend_2707 memcpy_fromiovecend 3-4 2707 NULL -+cgroup_write_string_10900 cgroup_write_string 5 10900 NULL -+pointer_size_read_51863 pointer_size_read 3 51863 NULL -+load_module_60056 load_module 2 60056 NULL nohasharray -+gru_alloc_gts_60056 gru_alloc_gts 3-2 60056 &load_module_60056 -+__videobuf_alloc_cached_12740 __videobuf_alloc_cached 1 12740 NULL -+get_indirect_ea_51869 get_indirect_ea 4 51869 NULL -+dmam_declare_coherent_memory_43679 dmam_declare_coherent_memory 4-2 43679 NULL -+ieee80211_build_probe_req_60064 ieee80211_build_probe_req 8-6 60064 NULL -+compat_do_ip6t_set_ctl_3184 compat_do_ip6t_set_ctl 4 3184 NULL +sta_last_seq_ctrl_read_19106 sta_last_seq_ctrl_read 3 19106 NULL -+__netdev_alloc_skb_ip_align_55067 __netdev_alloc_skb_ip_align 2 55067 NULL -+read_file_regidx_33370 read_file_regidx 3 33370 NULL +cifs_readv_from_socket_19109 cifs_readv_from_socket 3 19109 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 4-3 2733 NULL -+cryptd_hash_setkey_42781 cryptd_hash_setkey 3 42781 NULL -+ath6kl_wmi_test_cmd_27312 ath6kl_wmi_test_cmd 3 27312 NULL -+max77693_bulk_write_43698 max77693_bulk_write 3 43698 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 -+async_setkey_35521 async_setkey 3 35521 NULL -+set_dev_class_39645 set_dev_class 4 39645 NULL nohasharray -+dm_exception_table_init_39645 dm_exception_table_init 2 39645 &set_dev_class_39645 -+cxgb4_pktgl_to_skb_61899 cxgb4_pktgl_to_skb 2 61899 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 -+iio_read_first_n_sw_rb_51911 iio_read_first_n_sw_rb 2 51911 NULL -+hid_report_raw_event_2762 hid_report_raw_event 4 2762 NULL -+add_tty_40055 add_tty 1 40055 NULL nohasharray -+l2cap_create_iframe_pdu_40055 l2cap_create_iframe_pdu 3 40055 &add_tty_40055 -+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 3-2 60118 NULL +sleep_auth_read_19159 sleep_auth_read 3 19159 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 +smk_write_access2_19170 smk_write_access2 3 19170 NULL -+pcbit_stat_27364 pcbit_stat 2 27364 NULL -+i915_min_freq_write_10981 i915_min_freq_write 3 10981 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 -+koneplus_sysfs_read_42792 koneplus_sysfs_read 6 42792 NULL -+scsi_init_shared_tag_map_59812 scsi_init_shared_tag_map 2 59812 NULL -+xfrm_hash_alloc_10997 xfrm_hash_alloc 1 10997 NULL -+ieee80211_if_read_dot11MeshMaxRetries_12756 ieee80211_if_read_dot11MeshMaxRetries 3 12756 NULL -+rx_filter_accum_arp_pend_requests_read_11003 rx_filter_accum_arp_pend_requests_read 3 11003 NULL -+init_state_60165 init_state 2 60165 NULL -+udpv6_sendmsg_22316 udpv6_sendmsg 4 22316 NULL -+sel_read_enforce_2828 sel_read_enforce 3 2828 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 -+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 -+ps_poll_ps_poll_timeouts_read_5934 ps_poll_ps_poll_timeouts_read 3 5934 NULL -+ieee80211_if_read_smps_27416 ieee80211_if_read_smps 3 27416 NULL -+calc_hmac_32010 calc_hmac 3 32010 NULL -+ixgbe_dbg_reg_ops_write_46895 ixgbe_dbg_reg_ops_write 3 46895 NULL -+dwc3_mode_write_51997 dwc3_mode_write 3 51997 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 -+sys_lgetxattr_45531 sys_lgetxattr 4 45531 NULL -+dev_irnet_write_11398 dev_irnet_write 3 11398 NULL ++wbcir_tx_19219 wbcir_tx 3 19219 NULL ++gsi_to_irq_19220 gsi_to_irq 0-1 19220 NULL ++snd_mask_max_19224 snd_mask_max 0 19224 NULL ++snd_pcm_capture_rewind_19229 snd_pcm_capture_rewind 0-2 19229 NULL +bio_alloc_mddev_19238 bio_alloc_mddev 2 19238 NULL -+nouveau_gpio_create__11048 nouveau_gpio_create_ 4 11048 NULL -+dccp_manip_pkt_476 dccp_manip_pkt 4 476 NULL -+tda10048_writeregbulk_11050 tda10048_writeregbulk 4 11050 NULL -+set_tap_pfs_60203 set_tap_pfs 3 60203 NULL -+sfq_alloc_2861 sfq_alloc 1 2861 NULL -+skb_copy_datagram_from_iovec_52014 skb_copy_datagram_from_iovec 4-2-5 52014 NULL -+carl9170_handle_mpdu_11056 carl9170_handle_mpdu 3 11056 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 -+ValidateDSDParamsChecksum_63654 ValidateDSDParamsChecksum 3 63654 NULL -+__ip_append_data_16864 __ip_append_data 8-9 16864 NULL -+p54_download_eeprom_43842 p54_download_eeprom 4 43842 NULL -+spi_register_board_info_35651 spi_register_board_info 2 35651 NULL -+store_debug_level_35652 store_debug_level 3 35652 NULL -+l2tp_ip6_sendmsg_7461 l2tp_ip6_sendmsg 4 7461 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 ++sys_fcntl_19267 sys_fcntl 3 19267 NULL +il_dbgfs_rxon_filter_flags_read_19281 il_dbgfs_rxon_filter_flags_read 3 19281 NULL +io_mapping_map_wc_19284 io_mapping_map_wc 2 19284 NULL -+tunables_write_59563 tunables_write 3 59563 NULL -+compat_sys_kexec_load_35674 compat_sys_kexec_load 2 35674 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_unaligned_be16_19400 get_unaligned_be16 0 19400 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 ++ext4_add_new_descs_19509 ext4_add_new_descs 3 19509 NULL ++skb_realloc_headroom_19516 skb_realloc_headroom 2 19516 NULL ++dev_alloc_skb_19517 dev_alloc_skb 1 19517 NULL ++nfc_llcp_build_tlv_19536 nfc_llcp_build_tlv 3 19536 NULL ++gfn_to_index_19558 gfn_to_index 0-1-3-2 19558 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 nohasharray ++wlcore_hw_get_rx_packet_len_19565 wlcore_hw_get_rx_packet_len 0 19565 &ieee80211_if_read_tkip_mic_test_19565 ++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 ++batadv_tt_update_orig_19586 batadv_tt_update_orig 4 19586 NULL ++load_xattr_datum_19594 load_xattr_datum 0 19594 NULL ++usbvision_rvmalloc_19655 usbvision_rvmalloc 1 19655 NULL ++LoadBitmap_19658 LoadBitmap 2 19658 NULL ++usbnet_write_cmd_19679 usbnet_write_cmd 7 19679 NULL ++read_reg_19723 read_reg 0 19723 NULL ++wm8350_block_write_19727 wm8350_block_write 3-2 19727 NULL ++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 ++ocfs2_readpages_19759 ocfs2_readpages 4 19759 NULL ++jffs2_acl_from_medium_19762 jffs2_acl_from_medium 2 19762 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 ++pcpu_next_unpop_19831 pcpu_next_unpop 4 19831 NULL ++vip_read_19832 vip_read 3 19832 NULL nohasharray ++vfs_getxattr_19832 vfs_getxattr 0 19832 &vip_read_19832 ++security_context_to_sid_19839 security_context_to_sid 2 19839 NULL ++crypt_alloc_buffer_19846 crypt_alloc_buffer 2 19846 NULL ++cfg80211_mlme_register_mgmt_19852 cfg80211_mlme_register_mgmt 5 19852 NULL ++__nla_put_19857 __nla_put 3 19857 NULL ++ip6gre_err_19869 ip6gre_err 5 19869 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 ++attach_hdlc_protocol_19986 attach_hdlc_protocol 3 19986 NULL ++diva_um_idi_read_20003 diva_um_idi_read 0 20003 NULL ++split_scan_timeout_read_20029 split_scan_timeout_read 3 20029 NULL ++__be32_to_cpup_20056 __be32_to_cpup 0 20056 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 ++team_options_register_20091 team_options_register 3 20091 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 ++udf_bitmap_new_block_20214 udf_bitmap_new_block 4 20214 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 ++_rtl92s_get_h2c_cmdlen_20312 _rtl92s_get_h2c_cmdlen 0 20312 NULL ++tx_tx_burst_programmed_read_20320 tx_tx_burst_programmed_read 3 20320 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 ++snd_pcm_stop_20376 snd_pcm_stop 0 20376 NULL ++smk_set_cipso_20379 smk_set_cipso 3 20379 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 ++pm860x_write_reg_cache_20448 pm860x_write_reg_cache 2 20448 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 ++btrfs_get_32_20476 btrfs_get_32 0 20476 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 ++scsi_report_opcode_20551 scsi_report_opcode 3 20551 NULL ++venus_create_20555 venus_create 4 20555 NULL ++btrfs_super_log_root_20565 btrfs_super_log_root 0 20565 NULL ++crypto_ahash_reqsize_20569 crypto_ahash_reqsize 0 20569 NULL ++rc5t583_set_bits_20573 rc5t583_set_bits 2 20573 NULL ++i915_max_freq_read_20581 i915_max_freq_read 3 20581 NULL ++batadv_tt_append_diff_20588 batadv_tt_append_diff 4 20588 NULL ++lirc_write_20604 lirc_write 3 20604 NULL ++qib_qsfp_write_20614 qib_qsfp_write 0-4-2 20614 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 ++oz_add_farewell_20652 oz_add_farewell 5 20652 NULL ++ceph_osdc_new_request_20654 ceph_osdc_new_request 15-4 20654 NULL ++oz_cdev_read_20659 oz_cdev_read 3 20659 NULL ++sec_reg_write_20667 sec_reg_write 2 20667 NULL ++tps65910_reg_clear_bits_20672 tps65910_reg_clear_bits 2 20672 NULL ++snd_hdsp_playback_copy_20676 snd_hdsp_playback_copy 5 20676 NULL ++dvb_dmxdev_buffer_read_20682 dvb_dmxdev_buffer_read 0-4 20682 NULL ++cpumask_size_20683 cpumask_size 0 20683 NULL ++btrfs_node_blockptr_20685 btrfs_node_blockptr 0 20685 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 ++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 ++sisusb_send_packet_20891 sisusb_send_packet 2 20891 NULL ++key_icverrors_read_20895 key_icverrors_read 3 20895 NULL ++vfio_msi_enable_20906 vfio_msi_enable 2 20906 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 ++rx_rx_phy_hdr_read_20950 rx_rx_phy_hdr_read 3 20950 NULL ++snd_rme9652_playback_copy_20970 snd_rme9652_playback_copy 5 20970 NULL ++brcmf_tx_frame_20978 brcmf_tx_frame 3 20978 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 ++rx_defrag_tkip_called_read_21031 rx_defrag_tkip_called_read 3 21031 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 ++tps6586x_irq_init_21144 tps6586x_irq_init 3 21144 NULL ++ocfs2_block_check_validate_21149 ocfs2_block_check_validate 2 21149 NULL ++ath6kl_mgmt_tx_21153 ath6kl_mgmt_tx 9 21153 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 ++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 ++ip_vs_icmp_xmit_21269 ip_vs_icmp_xmit 4 21269 NULL ++rc5t583_clear_bits_21300 rc5t583_clear_bits 2 21300 NULL ++vmw_gmr2_bind_21305 vmw_gmr2_bind 3 21305 NULL ++do_msg_fill_21307 do_msg_fill 3 21307 NULL ++add_res_range_21310 add_res_range 4 21310 NULL ++get_zeroed_page_21322 get_zeroed_page 0 21322 NULL ++ftrace_profile_read_21327 ftrace_profile_read 3 21327 NULL ++gfs2_ea_get_copy_21353 gfs2_ea_get_copy 0 21353 NULL ++max77693_irq_domain_map_21357 max77693_irq_domain_map 2 21357 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 ++aggr_size_tx_agg_vs_rate_read_21438 aggr_size_tx_agg_vs_rate_read 3 21438 NULL ++btrfs_iref_to_path_21445 btrfs_iref_to_path 7 21445 NULL ++__ertm_hdr_size_21450 __ertm_hdr_size 0 21450 NULL ++concat_writev_21451 concat_writev 3 21451 NULL ++extend_netdev_table_21453 extend_netdev_table 2 21453 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 ++il_dbgfs_stations_read_21532 il_dbgfs_stations_read 3 21532 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 ++rx_rx_beacon_early_term_read_21559 rx_rx_beacon_early_term_read 3 21559 NULL ++xfs_buf_read_uncached_21585 xfs_buf_read_uncached 3 21585 NULL ++ocfs2_acl_from_xattr_21604 ocfs2_acl_from_xattr 2 21604 NULL ++xlog_do_recovery_pass_21618 xlog_do_recovery_pass 3 21618 NULL ++__jfs_getxattr_21631 __jfs_getxattr 0 21631 NULL ++rbd_req_sync_op_21632 rbd_req_sync_op 7-8 21632 NULL ++validate_nnode_21638 validate_nnode 0 21638 NULL ++__irq_alloc_descs_21639 __irq_alloc_descs 2-1-3 21639 NULL ++carl9170_rx_copy_data_21656 carl9170_rx_copy_data 2 21656 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 ++regmap_register_patch_21681 regmap_register_patch 3 21681 NULL ++rtllib_alloc_txb_21687 rtllib_alloc_txb 1-2 21687 NULL ++evdev_ioctl_handler_21705 evdev_ioctl_handler 2 21705 NULL ++reiserfs_allocate_list_bitmaps_21732 reiserfs_allocate_list_bitmaps 3 21732 NULL ++__nf_nat_mangle_tcp_packet_21744 __nf_nat_mangle_tcp_packet 8-6 21744 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 ++__ioremap_caller_21800 __ioremap_caller 1-2 21800 NULL ++dvb_generic_ioctl_21810 dvb_generic_ioctl 2 21810 NULL ++wm8994_request_irq_21822 wm8994_request_irq 2 21822 NULL ++oom_adj_read_21847 oom_adj_read 3 21847 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 ++brcms_debugfs_hardware_read_21867 brcms_debugfs_hardware_read 3 21867 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 ++__alloc_reserved_percpu_21895 __alloc_reserved_percpu 1-2 21895 NULL ++rio_destid_first_21900 rio_destid_first 0 21900 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 ++security_mmap_addr_21970 security_mmap_addr 0 21970 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 nohasharray ++compat_rw_copy_check_uvector_22001 compat_rw_copy_check_uvector 0-3 22001 &rxpipe_descr_host_int_trig_rx_data_read_22001 ++btrfs_get_16_22023 btrfs_get_16 0 22023 NULL ++ti_recv_22027 ti_recv 4 22027 NULL ++pcf50633_irq_unmask_22034 pcf50633_irq_unmask 2 22034 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 ++snd_pcm_xrun_22088 snd_pcm_xrun 0 22088 NULL ++lowpan_fragment_xmit_22095 lowpan_fragment_xmit 3-4 22095 NULL ++sys_remap_file_pages_22124 sys_remap_file_pages 1 22124 NULL ++__bitmap_size_22138 __bitmap_size 0 22138 NULL ++compat_insn_22142 compat_insn 2 22142 NULL ++pn533_dep_link_up_22154 pn533_dep_link_up 5 22154 NULL ++do_tcp_sendpages_22155 do_tcp_sendpages 4 22155 NULL ++__kfifo_alloc_22173 __kfifo_alloc 2-3 22173 NULL ++fls_22210 fls 0 22210 NULL ++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 ++queue_max_sectors_22280 queue_max_sectors 0 22280 NULL ++pci_vpd_srdt_size_22300 pci_vpd_srdt_size 0 22300 NULL nohasharray ++__tun_chr_ioctl_22300 __tun_chr_ioctl 4 22300 &pci_vpd_srdt_size_22300 ++mesh_table_alloc_22305 mesh_table_alloc 1 22305 NULL ++get_segment_base_22324 get_segment_base 0 22324 NULL ++radix_tree_find_next_bit_22334 radix_tree_find_next_bit 2-3 22334 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 ++wlcore_alloc_hw_22365 wlcore_alloc_hw 1 22365 NULL nohasharray ++tps6586x_gpio_to_irq_22365 tps6586x_gpio_to_irq 2 22365 &wlcore_alloc_hw_22365 ++evdev_ioctl_22371 evdev_ioctl 2 22371 NULL ++alloc_large_system_hash_22391 alloc_large_system_hash 2 22391 NULL ++btmrvl_psmode_read_22395 btmrvl_psmode_read 3 22395 NULL ++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 ++mem_cgroup_read_22461 mem_cgroup_read 5 22461 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 ++wl1271_rx_filter_get_fields_size_22638 wl1271_rx_filter_get_fields_size 0 22638 NULL ++pwr_wake_on_timer_exp_read_22640 pwr_wake_on_timer_exp_read 3 22640 NULL ++iwl_dbgfs_calib_disabled_read_22649 iwl_dbgfs_calib_disabled_read 3 22649 NULL ++ubifs_leb_write_22679 ubifs_leb_write 4-5 22679 NULL ++fill_gap_22681 fill_gap 0 22681 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 ++brcmf_sdbrcm_read_control_22721 brcmf_sdbrcm_read_control 3 22721 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 ++iio_debugfs_write_reg_22742 iio_debugfs_write_reg 3 22742 NULL ++print_frame_22769 print_frame 0 22769 NULL ++ftrace_arch_read_dyn_info_22773 ftrace_arch_read_dyn_info 0 22773 NULL ++retu_write_22800 retu_write 2 22800 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 ++nfs4_realloc_slot_table_22859 nfs4_realloc_slot_table 2 22859 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 ++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 ++tx_frag_key_not_found_read_22971 tx_frag_key_not_found_read 3 22971 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 ++cifs_local_to_utf16_bytes_23025 cifs_local_to_utf16_bytes 0 23025 NULL ++st_status_23032 st_status 5 23032 NULL ++nv50_disp_chan_create__23056 nv50_disp_chan_create_ 5 23056 NULL ++reiserfs_add_entry_23062 reiserfs_add_entry 4 23062 NULL ++vm_map_ram_23078 vm_map_ram 2 23078 NULL nohasharray ++raw_sendmsg_23078 raw_sendmsg 4 23078 &vm_map_ram_23078 ++qla4_82xx_pci_mem_read_2M_23081 qla4_82xx_pci_mem_read_2M 2 23081 NULL ++isr_tx_procs_read_23084 isr_tx_procs_read 3 23084 NULL ++lnw_gpio_irq_map_23087 lnw_gpio_irq_map 2 23087 NULL ++rt2x00debug_write_eeprom_23091 rt2x00debug_write_eeprom 3 23091 NULL ++fls_long_23096 fls_long 0 23096 NULL ++ntfs_ucstonls_23097 ntfs_ucstonls 3-5 23097 NULL ++pipe_iov_copy_from_user_23102 pipe_iov_copy_from_user 3 23102 NULL ++mwl8k_cmd_set_beacon_23110 mwl8k_cmd_set_beacon 4 23110 NULL ++nl80211_send_rx_auth_23111 nl80211_send_rx_auth 4 23111 NULL ++__clear_user_23118 __clear_user 0 23118 NULL ++dm_write_async_23120 dm_write_async 3 23120 NULL ++drm_mode_create_tv_properties_23122 drm_mode_create_tv_properties 2 23122 NULL ++ca91cx42_master_set_23146 ca91cx42_master_set 4 23146 NULL ++wm831x_set_bits_23158 wm831x_set_bits 2 23158 NULL ++read_file_ani_23161 read_file_ani 3 23161 NULL ++ioremap_23172 ioremap 1-2 23172 NULL ++usblp_write_23178 usblp_write 3 23178 NULL ++msnd_fifo_alloc_23179 msnd_fifo_alloc 2 23179 NULL ++gss_pipe_downcall_23182 gss_pipe_downcall 3 23182 NULL ++ieee80211_get_mesh_hdrlen_23183 ieee80211_get_mesh_hdrlen 0 23183 NULL ++fix_unclean_leb_23188 fix_unclean_leb 3 23188 NULL ++mpi_alloc_limb_space_23190 mpi_alloc_limb_space 1 23190 NULL ++__next_dma_cap_23195 __next_dma_cap 1 23195 NULL ++convert_ip_to_linear_23198 convert_ip_to_linear 0 23198 NULL ++pm80x_free_irq_23210 pm80x_free_irq 2 23210 NULL nohasharray ++compat_rawv6_ioctl_23210 compat_rawv6_ioctl 3 23210 &pm80x_free_irq_23210 ++tty_buffer_request_room_23228 tty_buffer_request_room 2 23228 NULL ++xlog_get_bp_23229 xlog_get_bp 2 23229 NULL ++rxrpc_client_sendmsg_23236 rxrpc_client_sendmsg 5 23236 NULL ++__gfn_to_rmap_23240 __gfn_to_rmap 1-2 23240 NULL ++uwb_dev_addr_print_23282 uwb_dev_addr_print 2 23282 NULL ++ipv6_skip_exthdr_23283 ipv6_skip_exthdr 0-2 23283 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 ++mc13xxx_get_num_regulators_dt_23344 mc13xxx_get_num_regulators_dt 0 23344 NULL ++page_readlink_23346 page_readlink 3 23346 NULL ++get_dst_timing_23358 get_dst_timing 0 23358 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 ++event_filter_read_23494 event_filter_read 3 23494 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 ++dbg_leb_change_23555 dbg_leb_change 4 23555 NULL ++venus_symlink_23570 venus_symlink 4-6 23570 NULL ++iwl_dbgfs_interrupt_read_23574 iwl_dbgfs_interrupt_read 3 23574 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 ++__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 ++rx_rx_dropped_frame_read_23748 rx_rx_dropped_frame_read 3 23748 NULL ++__kfifo_max_r_23768 __kfifo_max_r 0-2-1 23768 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 ++gart_alloc_coherent_23852 gart_alloc_coherent 2 23852 NULL ++bin_to_hex_dup_23853 bin_to_hex_dup 2 23853 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 ++nes_alloc_resource_23891 nes_alloc_resource 3 23891 NULL ++tipc_snprintf_23893 tipc_snprintf 2 23893 NULL ++add_new_gdb_meta_bg_23911 add_new_gdb_meta_bg 3 23911 NULL nohasharray ++ieee80211_if_read_hw_queues_23911 ieee80211_if_read_hw_queues 3 23911 &add_new_gdb_meta_bg_23911 ++f2fs_getxattr_23917 f2fs_getxattr 0 23917 NULL ++ipath_reg_phys_mr_23918 ipath_reg_phys_mr 3 23918 NULL nohasharray ++mpihelp_mul_karatsuba_case_23918 mpihelp_mul_karatsuba_case 5-3 23918 &ipath_reg_phys_mr_23918 ++kvm_read_guest_23928 kvm_read_guest 4-2 23928 NULL ++__alloc_skb_23940 __alloc_skb 1 23940 NULL ++uvc_endpoint_max_bpi_23944 uvc_endpoint_max_bpi 0 23944 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 ++dgrp_send_24028 dgrp_send 0-2 24028 NULL ++ocfs2_mark_extent_refcounted_24035 ocfs2_mark_extent_refcounted 6 24035 NULL ++afs_cell_alloc_24052 afs_cell_alloc 2 24052 NULL ++blkcipher_copy_iv_24075 blkcipher_copy_iv 3 24075 NULL ++vb2_fop_read_24080 vb2_fop_read 3 24080 NULL ++pipeline_post_proc_swi_read_24108 pipeline_post_proc_swi_read 3 24108 NULL ++request_key_auth_read_24109 request_key_auth_read 3 24109 NULL ++ieee80211_send_auth_24121 ieee80211_send_auth 5 24121 NULL ++mpu401_read_24126 mpu401_read 3 24126 NULL ++irnet_ctrl_write_24139 irnet_ctrl_write 3 24139 NULL ++trim_bitmaps_24158 trim_bitmaps 3 24158 NULL ++adu_read_24177 adu_read 3 24177 NULL ++safe_prepare_write_buffer_24187 safe_prepare_write_buffer 3 24187 NULL ++ieee80211_if_read_dot11MeshHWMPpreqMinInterval_24208 ieee80211_if_read_dot11MeshHWMPpreqMinInterval 3 24208 NULL ++efx_vf_size_24213 efx_vf_size 0 24213 NULL ++tcpprobe_sprint_24222 tcpprobe_sprint 0-2 24222 NULL ++pcpu_embed_first_chunk_24224 pcpu_embed_first_chunk 1-2-3 24224 NULL nohasharray ++mei_amthif_read_24224 mei_amthif_read 4 24224 &pcpu_embed_first_chunk_24224 ++pci_num_vf_24235 pci_num_vf 0 24235 NULL ++sel_read_bool_24236 sel_read_bool 3 24236 NULL ++compat_sys_preadv64_24283 compat_sys_preadv64 3 24283 NULL ++msg_size_24288 msg_size 0 24288 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 ++ath6kl_add_bss_if_needed_24317 ath6kl_add_bss_if_needed 6 24317 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 ++ixgbe_alloc_q_vector_24439 ixgbe_alloc_q_vector 4-6 24439 NULL ++smk_user_access_24440 smk_user_access 3 24440 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 ++xfs_buf_get_map_24522 xfs_buf_get_map 3 24522 NULL ++named_prepare_buf_24532 named_prepare_buf 2 24532 NULL ++do_mpage_readpage_24536 do_mpage_readpage 3 24536 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 ++palmas_smps_write_24600 palmas_smps_write 2 24600 NULL nohasharray ++count_preds_24600 count_preds 0 24600 &palmas_smps_write_24600 ++sensor_hub_get_physical_device_count_24605 sensor_hub_get_physical_device_count 0 24605 NULL ++context_alloc_24645 context_alloc 3 24645 NULL ++blk_rq_err_bytes_24650 blk_rq_err_bytes 0 24650 NULL ++unifi_net_data_malloc_24716 unifi_net_data_malloc 3 24716 NULL ++simple_attr_read_24738 simple_attr_read 3 24738 NULL ++qla2x00_change_queue_depth_24742 qla2x00_change_queue_depth 2 24742 NULL ++ath_rxbuf_alloc_24745 ath_rxbuf_alloc 2 24745 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 ++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 ++l2cap_create_basic_pdu_24869 l2cap_create_basic_pdu 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 ++codec_list_read_file_24910 codec_list_read_file 3 24910 NULL ++v4l2_ctrl_new_24927 v4l2_ctrl_new 7 24927 NULL ++next_token_24929 next_token 0 24929 NULL ++uf_create_device_nodes_24948 uf_create_device_nodes 2 24948 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 ++ensure_wear_leveling_24971 ensure_wear_leveling 0 24971 NULL ++twl_i2c_write_u8_24976 twl_i2c_write_u8 3 24976 NULL ++nf_nat_sdp_port_24977 nf_nat_sdp_port 7 24977 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 ++il_dbgfs_channels_read_25005 il_dbgfs_channels_read 3 25005 NULL ++ni_660x_num_counters_25031 ni_660x_num_counters 0 25031 NULL ++nfs_dns_resolve_name_25036 nfs_dns_resolve_name 3 25036 NULL ++gs_buf_alloc_25067 gs_buf_alloc 2 25067 NULL ++gfs2_iter_unstuffed_25099 gfs2_iter_unstuffed 0 25099 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 ++fs32_to_cpu_25143 fs32_to_cpu 0 25143 NULL ++sys_fgetxattr_25166 sys_fgetxattr 4 25166 NULL ++ipath_init_qp_table_25167 ipath_init_qp_table 2 25167 NULL ++mmu_set_spte_25177 mmu_set_spte 8-9 25177 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 ++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 ++help_25316 help 5 25316 NULL nohasharray ++ath9k_debugfs_read_buf_25316 ath9k_debugfs_read_buf 3 25316 &help_25316 ++i915_gem_execbuffer_relocate_slow_25355 i915_gem_execbuffer_relocate_slow 7 25355 NULL ++rio_destid_next_25368 rio_destid_next 2 25368 NULL nohasharray ++unix_mkname_25368 unix_mkname 0-2 25368 &rio_destid_next_25368 ++sel_read_mls_25369 sel_read_mls 3 25369 NULL ++tc3589x_gpio_to_irq_25371 tc3589x_gpio_to_irq 2 25371 NULL ++ebt_buf_add_pad_25413 ebt_buf_add_pad 0 25413 NULL ++dai_list_read_file_25421 dai_list_read_file 3 25421 NULL ++ath6kl_wmi_beginscan_cmd_25462 ath6kl_wmi_beginscan_cmd 8 25462 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 ++sb_permission_25523 sb_permission 0 25523 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 ++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 ++__devres_alloc_25598 __devres_alloc 2 25598 NULL ++copy_user_generic_25611 copy_user_generic 0 25611 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 ++__direct_map_25647 __direct_map 5-6 25647 NULL ++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 ++rx_filter_mc_filter_read_25712 rx_filter_mc_filter_read 3 25712 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 ++mcs_unwrap_fir_25733 mcs_unwrap_fir 3 25733 NULL ++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 ++uf_ap_process_data_pdu_25860 uf_ap_process_data_pdu 7 25860 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 ++utf16_strlen_25913 utf16_strlen 0 25913 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 ++tps80031_clr_bits_25942 tps80031_clr_bits 3 25942 NULL ++flush_25957 flush 2 25957 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 ++mirror_status_26010 mirror_status 5 26010 NULL ++irq_create_strict_mappings_26025 irq_create_strict_mappings 2-4 26025 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 ++tun_do_read_26047 tun_do_read 5 26047 NULL ++keyctl_update_key_26061 keyctl_update_key 3 26061 NULL ++rx_rx_wa_density_dropped_frame_read_26095 rx_rx_wa_density_dropped_frame_read 3 26095 NULL ++cpumask_next_26096 cpumask_next 1 26096 NULL ++skb_cow_26138 skb_cow 2 26138 NULL ++usb_dump_device_strings_26146 usb_dump_device_strings 0 26146 NULL ++__fswab64_26155 __fswab64 0 26155 NULL ++copy_oldmem_page_26164 copy_oldmem_page 3-1 26164 NULL ++ath6kl_roam_table_read_26166 ath6kl_roam_table_read 3 26166 NULL nohasharray ++gfs2_xattr_acl_get_26166 gfs2_xattr_acl_get 0 26166 &ath6kl_roam_table_read_26166 ++mid_get_vbt_data_r1_26170 mid_get_vbt_data_r1 2 26170 NULL ++disk_devt_26180 disk_devt 0 26180 NULL ++get_registers_26187 get_registers 3 26187 NULL ++cgroup_setxattr_26188 cgroup_setxattr 4 26188 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 ++_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 ++wacom_set_device_mode_26280 wacom_set_device_mode 3 26280 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 ++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 ++cifs_readdata_alloc_26360 cifs_readdata_alloc 1 26360 NULL ++dup_to_netobj_26363 dup_to_netobj 3 26363 NULL ++invalidate_inode_pages2_range_26403 invalidate_inode_pages2_range 0 26403 NULL ++virtio_has_feature_26467 virtio_has_feature 0 26467 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 ++vfio_pci_set_msi_trigger_26507 vfio_pci_set_msi_trigger 3-4 26507 NULL ++iwl_dbgfs_rf_reset_read_26512 iwl_dbgfs_rf_reset_read 3 26512 NULL ++rds_message_inc_copy_to_user_26540 rds_message_inc_copy_to_user 3 26540 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 nohasharray ++batadv_receive_server_sync_packet_26577 batadv_receive_server_sync_packet 3 26577 &rts51x_read_mem_26577 ++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 ++rtllib_authentication_req_26713 rtllib_authentication_req 3 26713 NULL ++aty_ld_le32_26720 aty_ld_le32 0 26720 NULL ++nouveau_namedb_create__26732 nouveau_namedb_create_ 7 26732 NULL ++pipeline_tcp_rx_stat_fifo_int_read_26745 pipeline_tcp_rx_stat_fifo_int_read 3 26745 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 ++ntfs_are_rl_mergeable_26777 ntfs_are_rl_mergeable 0 26777 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 ++slhc_uncompress_26905 slhc_uncompress 0-3 26905 NULL ++wm8994_reg_write_26919 wm8994_reg_write 2 26919 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 ++carl9170_handle_mpdu_26940 carl9170_handle_mpdu 3 26940 NULL nohasharray ++create_bm_block_list_26940 create_bm_block_list 0 26940 &carl9170_handle_mpdu_26940 ++hecubafb_write_26942 hecubafb_write 3 26942 NULL ++extract_entropy_user_26952 extract_entropy_user 3 26952 NULL nohasharray ++do_trimming_26952 do_trimming 3 26952 &extract_entropy_user_26952 ++pcf857x_irq_domain_map_26998 pcf857x_irq_domain_map 2 26998 NULL ++rbd_do_op_27025 rbd_do_op 7-8 27025 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 ++get_kernel_page_27133 get_kernel_page 0 27133 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 ++snd_compr_calc_avail_27165 snd_compr_calc_avail 0 27165 NULL ++mc13xxx_irq_handle_27166 mc13xxx_irq_handle 3 27166 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 ++get_unaligned_be32_27184 get_unaligned_be32 0 27184 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 ++ath6kl_wmi_test_cmd_27312 ath6kl_wmi_test_cmd 3 27312 NULL ++rbd_req_sync_exec_27320 rbd_req_sync_exec 8 27320 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 ++ib_dma_map_sg_27413 ib_dma_map_sg 0 27413 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 ++tps65910_reg_set_bits_27468 tps65910_reg_set_bits 2 27468 NULL +rtsx_write_cfg_seq_27485 rtsx_write_cfg_seq 5-3 27485 NULL +v4l2_ctrl_new_std_menu_items_27487 v4l2_ctrl_new_std_menu_items 4 27487 NULL -+kvm_write_guest_cached_11106 kvm_write_guest_cached 4 11106 NULL -+isofs_readpages_52067 isofs_readpages 4 52067 NULL -+lbs_bcnmiss_read_8678 lbs_bcnmiss_read 3 8678 NULL -+dm_table_create_35687 dm_table_create 3 35687 NULL ++set_tpl_pfs_27490 set_tpl_pfs 3 27490 NULL ++hcd_buffer_alloc_27495 hcd_buffer_alloc 2 27495 NULL +qib_create_cq_27497 qib_create_cq 2 27497 NULL -+nfc_hci_execute_cmd_43882 nfc_hci_execute_cmd 5 43882 NULL -+rds_page_copy_user_35691 rds_page_copy_user 4 35691 NULL -+tw_change_queue_depth_11116 tw_change_queue_depth 2 11116 NULL -+xfs_trans_get_buf_map_2927 xfs_trans_get_buf_map 4 2927 NULL -+tracing_buffers_read_11124 tracing_buffers_read 3 11124 NULL ++ip_set_get_h32_27498 ip_set_get_h32 0 27498 NULL ++btrfs_get_64_27499 btrfs_get_64 0 27499 NULL ++__usbnet_write_cmd_27500 __usbnet_write_cmd 7 27500 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 -+v9fs_direct_read_45546 v9fs_direct_read 3 45546 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 -+mgmt_device_found_14146 mgmt_device_found 10 14146 NULL -+snd_seq_oss_readq_new_14283 snd_seq_oss_readq_new 2 14283 NULL -+doc_probe_23285 doc_probe 1 23285 NULL -+ppp_cp_event_2965 ppp_cp_event 6 2965 NULL -+SendString_43928 SendString 3 43928 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 -+retry_count_read_52129 retry_count_read 3 52129 NULL -+xlog_recover_add_to_trans_62839 xlog_recover_add_to_trans 4 62839 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 -+iwl_dbgfs_disable_ht40_read_35761 iwl_dbgfs_disable_ht40_read 3 35761 NULL ++snd_sonicvibes_getdmaa_27552 snd_sonicvibes_getdmaa 0 27552 NULL +libipw_alloc_txb_27579 libipw_alloc_txb 1-2-3 27579 NULL -+raid5_resize_63306 raid5_resize 2 63306 NULL -+interpret_user_input_19393 interpret_user_input 2 19393 NULL -+handle_eviocgbit_44193 handle_eviocgbit 3 44193 NULL -+ieee80211_if_read_dot11MeshRetryTimeout_52168 ieee80211_if_read_dot11MeshRetryTimeout 3 52168 NULL -+do_dmabuf_dirty_sou_3017 do_dmabuf_dirty_sou 7 3017 NULL -+udf_alloc_i_data_35786 udf_alloc_i_data 2 35786 NULL -+depth_write_3021 depth_write 3 3021 NULL -+dccp_setsockopt_60367 dccp_setsockopt 5 60367 NULL -+read_file_stations_35795 read_file_stations 3 35795 NULL -+il_dbgfs_rx_queue_read_11221 il_dbgfs_rx_queue_read 3 11221 NULL -+tipc_cfg_reply_alloc_27606 tipc_cfg_reply_alloc 1 27606 NULL -+bcm_recvmsg_43992 bcm_recvmsg 4 43992 NULL -+proc_pid_readlink_52186 proc_pid_readlink 3 52186 NULL -+ubi_eba_atomic_leb_change_60379 ubi_eba_atomic_leb_change 5 60379 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 -+il3945_ucode_rx_stats_read_3048 il3945_ucode_rx_stats_read 3 3048 NULL -+il4965_ucode_rx_stats_read_61948 il4965_ucode_rx_stats_read 3 61948 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 ++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 -+dac960_user_command_proc_write_3071 dac960_user_command_proc_write 3 3071 NULL -+hugetlbfs_read_11268 hugetlbfs_read 3 11268 NULL -+_alloc_mISDN_skb_52232 _alloc_mISDN_skb 3 52232 NULL +qnx6_readpages_27657 qnx6_readpages 4 27657 NULL -+tx_tx_cmplt_read_35854 tx_tx_cmplt_read 3 35854 NULL +cdrom_read_cdda_old_27664 cdrom_read_cdda_old 4 27664 NULL -+do_dmabuf_dirty_ldu_52241 do_dmabuf_dirty_ldu 6 52241 NULL -+mthca_buf_alloc_35861 mthca_buf_alloc 2 35861 NULL -+rx_data_60442 rx_data 4 60442 NULL -+ttusb2_msg_3100 ttusb2_msg 4 3100 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 -+mdiobus_alloc_size_52259 mdiobus_alloc_size 1 52259 NULL -+rt2x00debug_write_csr_64753 rt2x00debug_write_csr 3 64753 NULL -+sisusbcon_do_font_op_52271 sisusbcon_do_font_op 9 52271 NULL -+simple_write_to_buffer_3122 simple_write_to_buffer 5-2 3122 NULL ++set_bypass_pwoff_pfs_27669 set_bypass_pwoff_pfs 3 27669 NULL ++qword_get_27670 qword_get 0 27670 NULL ++ocfs2_extend_dir_27695 ocfs2_extend_dir 4 27695 NULL +__tty_buffer_request_room_27700 __tty_buffer_request_room 2 27700 NULL -+ext4_add_new_descs_19509 ext4_add_new_descs 3 19509 NULL +fs_path_add_from_extent_buffer_27702 fs_path_add_from_extent_buffer 4 27702 NULL -+tcp_mark_head_lost_35895 tcp_mark_head_lost 2 35895 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 -+persistent_ram_buffer_map_11332 persistent_ram_buffer_map 1-2 11332 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 ++ieee80211_if_fmt_dot11MeshGateAnnouncementProtocol_27722 ieee80211_if_fmt_dot11MeshGateAnnouncementProtocol 3 27722 NULL +reg_w_buf_27724 reg_w_buf 3 27724 NULL -+nfc_llcp_build_tlv_19536 nfc_llcp_build_tlv 3 19536 NULL -+compat_sys_migrate_pages_3157 compat_sys_migrate_pages 2 3157 NULL ++xfs_dir2_block_sfsize_27727 xfs_dir2_block_sfsize 0 27727 NULL +a4t_cs_init_27734 a4t_cs_init 3 27734 NULL -+sel_write_create_11353 sel_write_create 3 11353 NULL -+tracing_set_trace_read_44122 tracing_set_trace_read 3 44122 NULL -+request_asymmetric_key_52317 request_asymmetric_key 2-4 52317 NULL -+hwflags_read_52318 hwflags_read 3 52318 NULL -+nfc_alloc_send_skb_3167 nfc_alloc_send_skb 4 3167 NULL -+batadv_skb_head_push_11360 batadv_skb_head_push 2 11360 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 -+drm_property_create_enum_29201 drm_property_create_enum 5 29201 NULL -+ntfs_rl_split_52328 ntfs_rl_split 2-4 52328 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 -+nfsd_read_19568 nfsd_read 5 19568 NULL -+cgroup_read_s64_19570 cgroup_read_s64 5 19570 NULL -+hysdn_sched_rx_60533 hysdn_sched_rx 3 60533 NULL -+mempool_create_node_3191 mempool_create_node 1 3191 NULL +kcalloc_27770 kcalloc 1-2 27770 NULL -+shmem_pread_slow_3198 shmem_pread_slow 3 3198 NULL -+bm_status_read_19583 bm_status_read 3 19583 NULL -+v9fs_fid_readn_60544 v9fs_fid_readn 4 60544 NULL -+zd_mac_rx_38296 zd_mac_rx 3 38296 NULL -+nfs_parse_server_name_1899 nfs_parse_server_name 2 1899 NULL ++twl4030_set_gpio_dataout_27792 twl4030_set_gpio_dataout 1 27792 NULL ++DivaSTraceGetMemotyRequirement_27797 DivaSTraceGetMemotyRequirement 0-1 27797 NULL ++ttm_object_file_init_27804 ttm_object_file_init 2 27804 NULL ++mpihelp_mul_27805 mpihelp_mul 5-3 27805 NULL ++fwtty_buffer_rx_27821 fwtty_buffer_rx 3 27821 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 ++ieee80211_if_read_dot11MeshHWMProotInterval_27873 ieee80211_if_read_dot11MeshHWMProotInterval 3 27873 NULL ++unix_seqpacket_sendmsg_27893 unix_seqpacket_sendmsg 4 27893 NULL ++gluebi_write_27905 gluebi_write 3 27905 NULL ++mc13783_set_sysclk_27914 mc13783_set_sysclk 5 27914 NULL ++bm_find_next_27929 bm_find_next 2 27929 NULL ++tracing_clock_write_27961 tracing_clock_write 3 27961 NULL ++tipc_media_addr_printf_27971 tipc_media_addr_printf 2 27971 NULL ++mic_rx_pkts_read_27972 mic_rx_pkts_read 3 27972 NULL ++f2fs_bio_alloc_27983 f2fs_bio_alloc 2 27983 NULL ++edt_ft5x06_debugfs_raw_data_read_28002 edt_ft5x06_debugfs_raw_data_read 3 28002 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 ++rts51x_xd_rw_28046 rts51x_xd_rw 3-4 28046 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 ++tx_frag_bad_mblk_num_read_28064 tx_frag_bad_mblk_num_read 3 28064 NULL ++ext4_read_block_bitmap_nowait_28078 ext4_read_block_bitmap_nowait 2 28078 NULL ++GetRecvByte_28082 GetRecvByte 0 28082 NULL ++platform_get_irq_28088 platform_get_irq 0 28088 NULL ++gdth_init_isa_28091 gdth_init_isa 1 28091 NULL ++mmc_test_alloc_mem_28102 mmc_test_alloc_mem 3-2 28102 NULL ++rx_defrag_need_defrag_read_28117 rx_defrag_need_defrag_read 3 28117 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 ++nouveau_mxm_create__28200 nouveau_mxm_create_ 4 28200 NULL ++line6_alloc_sysex_buffer_28225 line6_alloc_sysex_buffer 4 28225 NULL nohasharray ++set_dis_disc_pfs_28225 set_dis_disc_pfs 3 28225 &line6_alloc_sysex_buffer_28225 ++amd_nb_num_28228 amd_nb_num 0 28228 NULL ++ext4_validate_block_bitmap_28243 ext4_validate_block_bitmap 3 28243 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 ++__next_wq_cpu_28352 __next_wq_cpu 1 28352 NULL ++sys_writev_28384 sys_writev 3 28384 NULL ++dlmfs_file_read_28385 dlmfs_file_read 3 28385 NULL ++tx_frag_cache_miss_read_28394 tx_frag_cache_miss_read 3 28394 NULL ++set_bypass_pfs_28395 set_bypass_pfs 3 28395 NULL ++subdev_ioctl_28417 subdev_ioctl 2 28417 NULL ++mpage_readpages_28436 mpage_readpages 3 28436 NULL ++snd_emu10k1_efx_read_28452 snd_emu10k1_efx_read 2 28452 NULL ++key_mic_failures_read_28457 key_mic_failures_read 3 28457 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 ++ocfs2_backup_super_blkno_28484 ocfs2_backup_super_blkno 0-2 28484 NULL ++max_response_pages_28492 max_response_pages 0 28492 NULL ++ps_poll_upsd_utilization_read_28519 ps_poll_upsd_utilization_read 3 28519 NULL ++__next_node_28521 __next_node 1 28521 NULL ++i2400m_tx_stats_read_28527 i2400m_tx_stats_read 3 28527 NULL ++early_init_dt_alloc_memory_arch_28528 early_init_dt_alloc_memory_arch 1 28528 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 ++i2o_msg_post_wait_mem_28558 i2o_msg_post_wait_mem 0 28558 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 ++wm8350_clear_bits_28596 wm8350_clear_bits 2 28596 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 ++__dev_alloc_skb_28681 __dev_alloc_skb 1 28681 NULL ++nl80211_send_new_peer_candidate_28692 nl80211_send_new_peer_candidate 5 28692 NULL nohasharray ++kvm_mmu_get_page_28692 kvm_mmu_get_page 2 28692 &nl80211_send_new_peer_candidate_28692 ++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 ++read_file_btcoex_28743 read_file_btcoex 3 28743 NULL ++cxio_init_resource_fifo_28764 cxio_init_resource_fifo 3 28764 NULL ++ath6kl_get_num_reg_28780 ath6kl_get_num_reg 0 28780 NULL ++dvb_net_sec_callback_28786 dvb_net_sec_callback 2 28786 NULL ++sel_write_member_28800 sel_write_member 3 28800 NULL ++cgroup_file_read_28804 cgroup_file_read 3 28804 NULL ++btrfs_ref_to_path_28809 btrfs_ref_to_path 0-8-3 28809 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 ++packet_sendmsg_spkt_28885 packet_sendmsg_spkt 4 28885 NULL ++tps6586x_update_28898 tps6586x_update 2 28898 NULL ++da9055_group_write_28904 da9055_group_write 2-3 28904 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 ++btrfs_trim_block_group_28963 btrfs_trim_block_group 3 28963 NULL ++alloc_sched_domains_28972 alloc_sched_domains 1 28972 NULL ++ext4_mb_add_groupinfo_28988 ext4_mb_add_groupinfo 2 28988 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 ++ieee80211_if_read_ht_opmode_29044 ieee80211_if_read_ht_opmode 3 29044 NULL ++rxrpc_sendmsg_29049 rxrpc_sendmsg 4 29049 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 ++ieee80211_probereq_get_29069 ieee80211_probereq_get 4-6 29069 NULL ++sctp_getsockopt_assoc_stats_29074 sctp_getsockopt_assoc_stats 2 29074 NULL ++mark_extents_written_29082 mark_extents_written 2 29082 NULL ++isdn_ppp_write_29109 isdn_ppp_write 4 29109 NULL ++snprintf_29125 snprintf 0 29125 NULL ++iov_shorten_29130 iov_shorten 0 29130 NULL ++pm860x_reg_write_29141 pm860x_reg_write 2 29141 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 nohasharray ++alloc_group_attrs_29203 alloc_group_attrs 3 29203 &wusb_prf_256_29203 ++comedi_alloc_subdevices_29207 comedi_alloc_subdevices 2 29207 NULL ++do_shrinker_shrink_29208 do_shrinker_shrink 0 29208 NULL ++rds_iw_inc_copy_to_user_29214 rds_iw_inc_copy_to_user 3 29214 NULL ++iwl_dbgfs_temperature_read_29224 iwl_dbgfs_temperature_read 3 29224 NULL ++devm_ioremap_29235 devm_ioremap 2-3 29235 NULL ++irq_domain_add_linear_29236 irq_domain_add_linear 2 29236 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 ++fd_do_writev_29329 fd_do_writev 3 29329 NULL ++lo_compat_ioctl_29336 lo_compat_ioctl 4 29336 NULL ++tun_put_user_29337 tun_put_user 5 29337 NULL ++__alloc_ei_netdev_29338 __alloc_ei_netdev 1 29338 NULL ++alloc_and_copy_ftrace_hash_29368 alloc_and_copy_ftrace_hash 1 29368 NULL ++mwifiex_cfg80211_mgmt_tx_29387 mwifiex_cfg80211_mgmt_tx 7 29387 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 ++ftrace_write_29551 ftrace_write 3 29551 NULL ++idetape_queue_rw_tail_29562 idetape_queue_rw_tail 3 29562 NULL ++leaf_dealloc_29566 leaf_dealloc 3 29566 NULL nohasharray ++alloc_empty_pages_29566 alloc_empty_pages 2 29566 &leaf_dealloc_29566 ++lbs_lowsnr_read_29571 lbs_lowsnr_read 3 29571 NULL ++pvr2_hdw_report_unlocked_29589 pvr2_hdw_report_unlocked 4 29589 NULL ++wm8903_gpio_set_29597 wm8903_gpio_set 2 29597 NULL ++slots_per_page_29601 slots_per_page 0 29601 NULL ++qla4_82xx_pci_set_window_29605 qla4_82xx_pci_set_window 0-2 29605 NULL ++nla_get_u16_29624 nla_get_u16 0 29624 NULL ++tx_frag_cache_hit_read_29639 tx_frag_cache_hit_read 3 29639 NULL ++lowmem_page_address_29649 lowmem_page_address 0 29649 NULL ++sctp_make_abort_user_29654 sctp_make_abort_user 3 29654 NULL ++br_send_bpdu_29669 br_send_bpdu 3 29669 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 nohasharray ++posix_acl_from_xattr_29708 posix_acl_from_xattr 3 29708 &sd_alloc_ctl_entry_29708 ++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 ++da9055_gpio_direction_input_29742 da9055_gpio_direction_input 2 29742 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 ++dbAlloc_29794 dbAlloc 0 29794 NULL ++ext4_trim_all_free_29806 ext4_trim_all_free 4-3-2 29806 NULL ++arizona_gpio_set_29823 arizona_gpio_set 2 29823 NULL ++tcp_sendpage_29829 tcp_sendpage 4 29829 NULL ++scan_bitmap_block_29840 scan_bitmap_block 4 29840 NULL ++__probe_kernel_write_29842 __probe_kernel_write 3 29842 NULL ++kvm_read_hva_atomic_29848 kvm_read_hva_atomic 3 29848 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 ++tps6586x_write_29894 tps6586x_write 2 29894 NULL ++check586_29914 check586 2 29914 NULL ++ext4_xattr_set_acl_29930 ext4_xattr_set_acl 4 29930 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 ++drp_wmove_30043 drp_wmove 4 30043 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 ++rx_filter_data_filter_read_30098 rx_filter_data_filter_read 3 30098 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 ++drm_property_create_bitmask_30195 drm_property_create_bitmask 5 30195 NULL ++snd_pcm_playback_forward_30201 snd_pcm_playback_forward 0-2 30201 NULL ++usblp_ioctl_30203 usblp_ioctl 2 30203 NULL ++nfs_idmap_request_key_30208 nfs_idmap_request_key 3 30208 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 ++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 ++__be64_to_cpup_30283 __be64_to_cpup 0 30283 NULL ++skcipher_sendmsg_30290 skcipher_sendmsg 4 30290 NULL ++pipeline_sec_frag_swi_read_30294 pipeline_sec_frag_swi_read 3 30294 NULL ++tcp_sendmsg_30296 tcp_sendmsg 4 30296 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 ++mangle_sdp_packet_30381 mangle_sdp_packet 10 30381 NULL ++c4iw_init_resource_30393 c4iw_init_resource 2-3 30393 NULL ++get_kernel_pages_30397 get_kernel_pages 0 30397 NULL ++_drbd_bm_find_next_zero_30415 _drbd_bm_find_next_zero 2 30415 NULL ++vb2_fop_write_30420 vb2_fop_write 3 30420 NULL ++tx_tx_template_prepared_read_30424 tx_tx_template_prepared_read 3 30424 NULL ++enable_write_30456 enable_write 3 30456 NULL ++tx_tx_template_programmed_read_30461 tx_tx_template_programmed_read 3 30461 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 ++dwc3_testmode_write_30516 dwc3_testmode_write 3 30516 NULL ++debug_debug2_read_30526 debug_debug2_read 3 30526 NULL ++batadv_dat_snoop_incoming_arp_request_30548 batadv_dat_snoop_incoming_arp_request 3 30548 NULL ++disk_expand_part_tbl_30561 disk_expand_part_tbl 2 30561 NULL ++set_le_30581 set_le 4 30581 NULL ++blk_init_tags_30592 blk_init_tags 1 30592 NULL ++i2c_hid_get_report_length_30598 i2c_hid_get_report_length 0 30598 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 ++lbs_debugfs_read_30721 lbs_debugfs_read 3 30721 NULL ++snd_nm256_playback_silence_30727 snd_nm256_playback_silence 4-3 30727 NULL ++max77693_update_reg_30747 max77693_update_reg 2 30747 NULL ++tcf_csum_ipv4_udp_30777 tcf_csum_ipv4_udp 4 30777 NULL ++wm8350_read_auxadc_30780 wm8350_read_auxadc 2 30780 NULL ++smk_read_doi_30813 smk_read_doi 3 30813 NULL ++get_kobj_path_length_30831 get_kobj_path_length 0 30831 NULL ++create_subvol_30836 create_subvol 4 30836 NULL ++sctp_setsockopt_auth_chunk_30843 sctp_setsockopt_auth_chunk 3 30843 NULL ++cfg80211_rx_mgmt_30844 cfg80211_rx_mgmt 5 30844 NULL nohasharray ++twl6040_set_bits_30844 twl6040_set_bits 2 30844 &cfg80211_rx_mgmt_30844 ++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 ++regmap_update_bits_check_30894 regmap_update_bits_check 2 30894 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 ++i2400mu_rx_size_grow_30989 i2400mu_rx_size_grow 0 30989 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 ++ssb_read16_31139 ssb_read16 0 31139 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 ++acpi_ex_system_memory_space_handler_31192 acpi_ex_system_memory_space_handler 2 31192 NULL ++r592_read_fifo_pio_31198 r592_read_fifo_pio 3 31198 NULL ++mtdchar_readoob_31200 mtdchar_readoob 4 31200 NULL ++__btrfs_free_reserved_extent_31207 __btrfs_free_reserved_extent 2 31207 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 ++xprt_rdma_allocate_31372 xprt_rdma_allocate 2 31372 NULL ++vb2_vmalloc_get_userptr_31374 vb2_vmalloc_get_userptr 3 31374 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 ++snd_aw2_saa7146_get_hw_ptr_capture_31431 snd_aw2_saa7146_get_hw_ptr_capture 0 31431 NULL ++acpi_sci_ioapic_setup_31445 acpi_sci_ioapic_setup 4 31445 NULL ++opera1_xilinx_rw_31453 opera1_xilinx_rw 5 31453 NULL ++_regmap_update_bits_31456 _regmap_update_bits 2 31456 NULL ++input_get_new_minor_31464 input_get_new_minor 1 31464 NULL ++do_fcntl_31468 do_fcntl 3 31468 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 ++__alloc_bootmem_31498 __alloc_bootmem 1 31498 NULL ++hidraw_write_31536 hidraw_write 3 31536 NULL ++mtd_div_by_eb_31543 mtd_div_by_eb 0-1 31543 NULL ++usbvision_read_31555 usbvision_read 3 31555 NULL ++normalize_31566 normalize 0-1-2 31566 NULL ++tx_frag_tkip_called_read_31575 tx_frag_tkip_called_read 3 31575 NULL ++get_max_inline_xattr_value_size_31578 get_max_inline_xattr_value_size 0 31578 NULL ++osst_write_31581 osst_write 3 31581 NULL ++snd_compr_get_avail_31584 snd_compr_get_avail 0 31584 NULL ++iwl_dbgfs_ucode_tx_stats_read_31611 iwl_dbgfs_ucode_tx_stats_read 3 31611 NULL ++mtd_get_user_prot_info_31616 mtd_get_user_prot_info 0 31616 NULL ++arvo_sysfs_read_31617 arvo_sysfs_read 6 31617 NULL ++videobuf_read_one_31637 videobuf_read_one 3 31637 NULL ++pod_alloc_sysex_buffer_31651 pod_alloc_sysex_buffer 3 31651 NULL ++xfer_secondary_pool_31661 xfer_secondary_pool 2 31661 NULL ++__lgread_31668 __lgread 4 31668 NULL ++symbol_string_31670 symbol_string 0 31670 NULL ++_usb_writeN_sync_31682 _usb_writeN_sync 4 31682 NULL ++forced_ps_read_31685 forced_ps_read 3 31685 NULL ++reiserfs_in_journal_31689 reiserfs_in_journal 3 31689 NULL ++audit_log_n_string_31705 audit_log_n_string 3 31705 NULL ++ath6kl_wmi_send_probe_response_cmd_31728 ath6kl_wmi_send_probe_response_cmd 6 31728 NULL ++utf16s_to_utf8s_31735 utf16s_to_utf8s 0 31735 NULL ++shmem_pwrite_slow_31741 shmem_pwrite_slow 3 31741 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 ++lm3533_led_get_pattern_reg_31752 lm3533_led_get_pattern_reg 0-2 31752 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 ++new_dir_31919 new_dir 3 31919 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 ++regcache_rbtree_sync_31964 regcache_rbtree_sync 2 31964 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 ++tps6586x_irq_map_32002 tps6586x_irq_map 2 32002 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 ++bio_alloc_32095 bio_alloc 2 32095 NULL ++alloc_pwms_32100 alloc_pwms 1-2 32100 NULL ++ath6kl_fwlog_read_32101 ath6kl_fwlog_read 3 32101 NULL ++disk_status_32120 disk_status 4 32120 NULL ++rc5t583_write_32124 rc5t583_write 2 32124 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 ++lm3533_write_32236 lm3533_write 2 32236 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 ++hex_string_32310 hex_string 0 32310 NULL ++flakey_status_32315 flakey_status 5 32315 NULL ++nouveau_bar_create__32332 nouveau_bar_create_ 4 32332 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 ++qla4_82xx_pci_mem_write_2M_32398 qla4_82xx_pci_mem_write_2M 2 32398 NULL ++xfs_iext_add_indirect_multi_32400 xfs_iext_add_indirect_multi 3 32400 NULL ++log_text_32428 log_text 0 32428 NULL ++regmap_irq_map_32429 regmap_irq_map 2 32429 NULL ++hid_input_report_32458 hid_input_report 4 32458 NULL ++snd_pcm_sync_ptr_32461 snd_pcm_sync_ptr 0 32461 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 ++disconnect_32521 disconnect 4 32521 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 nohasharray ++crypt_status_32533 crypt_status 5 32533 &ieee80211_if_read_estab_plinks_32533 ++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 ++pipeline_tcp_tx_stat_fifo_int_read_32589 pipeline_tcp_tx_stat_fifo_int_read 3 32589 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 ++generic_readlink_32654 generic_readlink 3 32654 NULL ++move_addr_to_kernel_32673 move_addr_to_kernel 2 32673 NULL ++tps80031_set_bits_32686 tps80031_set_bits 3 32686 NULL ++jfs_readpages_32702 jfs_readpages 4 32702 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 ++rproc_name_read_32805 rproc_name_read 3 32805 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 ++ath6kl_usb_submit_ctrl_in_32880 ath6kl_usb_submit_ctrl_in 6 32880 NULL nohasharray ++cifs_writedata_alloc_32880 cifs_writedata_alloc 1 32880 &ath6kl_usb_submit_ctrl_in_32880 ++ath6kl_usb_post_recv_transfers_32892 ath6kl_usb_post_recv_transfers 2 32892 NULL ++il_dbgfs_tx_stats_read_32913 il_dbgfs_tx_stats_read 3 32913 NULL ++zlib_inflate_workspacesize_32927 zlib_inflate_workspacesize 0 32927 NULL ++rmap_recycle_32938 rmap_recycle 3 32938 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 ++snd_pcm_prepare_33036 snd_pcm_prepare 0 33036 NULL ++pipeline_dec_packet_in_fifo_full_read_33052 pipeline_dec_packet_in_fifo_full_read 3 33052 NULL ++ebt_compat_match_offset_33053 ebt_compat_match_offset 0-2 33053 NULL ++bitmap_resize_33054 bitmap_resize 2 33054 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 ++ieee80211_fragment_33112 ieee80211_fragment 4 33112 NULL ++write_node_33121 write_node 4 33121 NULL ++calc_patch_size_33124 calc_patch_size 0 33124 NULL ++fb_sys_write_33130 fb_sys_write 3 33130 NULL ++debug_debug6_read_33168 debug_debug6_read 3 33168 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 ++pcf50633_irq_mask_33280 pcf50633_irq_mask 2 33280 NULL ++mcs7830_get_reg_33308 mcs7830_get_reg 3 33308 NULL ++ath6kl_usb_ctrl_msg_exchange_33327 ath6kl_usb_ctrl_msg_exchange 4 33327 NULL ++gsm_mux_rx_netchar_33336 gsm_mux_rx_netchar 3 33336 NULL ++joydev_ioctl_33343 joydev_ioctl 2 33343 NULL ++create_xattr_datum_33356 create_xattr_datum 5 33356 NULL nohasharray ++irq_pkt_threshold_read_33356 irq_pkt_threshold_read 3 33356 &create_xattr_datum_33356 ++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 ++ext4_meta_bg_first_block_no_33408 ext4_meta_bg_first_block_no 2 33408 NULL nohasharray ++snd_pcm_capture_ioctl1_33408 snd_pcm_capture_ioctl1 0 33408 &ext4_meta_bg_first_block_no_33408 ++ufs_getfrag_block_33409 ufs_getfrag_block 2 33409 NULL ++ubh_scanc_33436 ubh_scanc 0-4-3 33436 NULL ++ovs_vport_alloc_33475 ovs_vport_alloc 1 33475 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 ++musb_test_mode_write_33518 musb_test_mode_write 3 33518 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 ++aggr_size_rx_size_read_33526 aggr_size_rx_size_read 3 33526 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 ++count_subheaders_33591 count_subheaders 0 33591 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 ++il_dbgfs_qos_read_33615 il_dbgfs_qos_read 3 33615 NULL ++irq_blk_threshold_read_33666 irq_blk_threshold_read 3 33666 NULL ++inw_p_33668 inw_p 0 33668 NULL ++arp_hdr_len_33671 arp_hdr_len 0 33671 NULL ++i2c_hid_alloc_buffers_33673 i2c_hid_alloc_buffers 2 33673 NULL ++ath6kl_wmi_startscan_cmd_33674 ath6kl_wmi_startscan_cmd 8 33674 NULL ++rbd_alloc_coll_33678 rbd_alloc_coll 1 33678 NULL ++nv50_disp_dmac_create__33696 nv50_disp_dmac_create_ 6 33696 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 ++tipc_link_stats_33716 tipc_link_stats 3 33716 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 ++Read_hfc_33755 Read_hfc 0 33755 NULL ++vifs_state_read_33762 vifs_state_read 3 33762 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 ++sky2_rx_pad_33819 sky2_rx_pad 0 33819 NULL ++sep_create_msgarea_context_33829 sep_create_msgarea_context 4 33829 NULL ++scrub_setup_recheck_block_33831 scrub_setup_recheck_block 5-4 33831 NULL ++udplite_manip_pkt_33832 udplite_manip_pkt 4 33832 NULL ++snd_pcm_action_nonatomic_33844 snd_pcm_action_nonatomic 0 33844 NULL ++usb_dump_endpoint_descriptor_33849 usb_dump_endpoint_descriptor 0 33849 NULL ++calgary_alloc_coherent_33851 calgary_alloc_coherent 2 33851 NULL ++oz_cdev_write_33852 oz_cdev_write 3 33852 NULL ++cap_mmap_addr_33853 cap_mmap_addr 0 33853 NULL ++config_proc_write_33878 config_proc_write 3 33878 NULL ++get_user_pages_33908 get_user_pages 0 33908 NULL ++queue_logical_block_size_33918 queue_logical_block_size 0 33918 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 ++acpi_dev_get_irqresource_34064 acpi_dev_get_irqresource 2 34064 NULL ++memcg_update_all_caches_34068 memcg_update_all_caches 1 34068 NULL ++read_file_ant_diversity_34071 read_file_ant_diversity 3 34071 NULL ++show_risefalltime_34084 show_risefalltime 4 34084 NULL ++compat_hdio_ioctl_34088 compat_hdio_ioctl 4 34088 NULL ++pipeline_pipeline_fifo_full_read_34095 pipeline_pipeline_fifo_full_read 3 34095 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 ++cdc_mbim_process_dgram_34136 cdc_mbim_process_dgram 3 34136 NULL ++ixgbe_dbg_netdev_ops_write_34141 ixgbe_dbg_netdev_ops_write 3 34141 NULL ++shmem_pread_fast_34147 shmem_pread_fast 3 34147 NULL ++skb_to_sgvec_34171 skb_to_sgvec 0 34171 NULL ++ext4_da_write_begin_34215 ext4_da_write_begin 3-4 34215 NULL ++bl_pipe_downcall_34264 bl_pipe_downcall 3 34264 NULL ++pcf857x_to_irq_34273 pcf857x_to_irq 2 34273 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 nohasharray ++p54_alloc_skb_34366 p54_alloc_skb 3 34366 &rngapi_reset_34366 ++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 ++iwl_calib_set_34400 iwl_calib_set 3 34400 NULL nohasharray ++ivtv_read_pos_34400 ivtv_read_pos 3 34400 &iwl_calib_set_34400 ++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 0-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 ++ceph_msgpool_init_34599 ceph_msgpool_init 4 34599 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 ++nf_nat_mangle_udp_packet_34661 nf_nat_mangle_udp_packet 8-6 34661 NULL ++isr_fiqs_read_34687 isr_fiqs_read 3 34687 NULL ++port_print_34704 port_print 3 34704 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 ++ssd1307fb_write_array_34779 ssd1307fb_write_array 4 34779 NULL ++__copy_in_user_34790 __copy_in_user 3 34790 NULL ++drbd_get_max_capacity_34804 drbd_get_max_capacity 0 34804 NULL ++b43_debugfs_write_34838 b43_debugfs_write 3 34838 NULL ++nl_portid_hash_zalloc_34843 nl_portid_hash_zalloc 1 34843 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_read_txpower_34871 ieee80211_if_read_txpower 3 34871 NULL ++lm3533_ctrlbank_get_reg_34886 lm3533_ctrlbank_get_reg 0-2 34886 NULL ++msg_print_text_34889 msg_print_text 0 34889 NULL ++ieee80211_if_write_34894 ieee80211_if_write 3 34894 NULL ++compat_put_uint_34905 compat_put_uint 1 34905 NULL ++__inode_permission_34925 __inode_permission 0 34925 NULL nohasharray ++btrfs_super_chunk_root_34925 btrfs_super_chunk_root 0 34925 &__inode_permission_34925 ++skb_gro_header_slow_34958 skb_gro_header_slow 2 34958 NULL ++Realloc_34961 Realloc 2 34961 NULL ++rx_rx_hdr_overflow_read_35002 rx_rx_hdr_overflow_read 3 35002 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 ++pwr_connection_out_of_sync_read_35061 pwr_connection_out_of_sync_read 3 35061 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 nohasharray ++tx_tx_done_template_read_35104 tx_tx_done_template_read 3 35104 &capi_write_35104 ++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 ++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 0-2-8-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 nohasharray ++rx_rx_cmplt_task_read_35226 rx_rx_cmplt_task_read 3 35226 &video_register_device_no_warn_35226 ++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 ++brcmf_sdio_forensic_read_35311 brcmf_sdio_forensic_read 3 35311 NULL nohasharray ++__btrfs_buffered_write_35311 __btrfs_buffered_write 3 35311 &brcmf_sdio_forensic_read_35311 ++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 ++irq_domain_disassociate_many_35325 irq_domain_disassociate_many 2-3 35325 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 ++ieee80211_if_fmt_ap_power_level_35347 ieee80211_if_fmt_ap_power_level 3 35347 NULL ++nouveau_devinit_create__35348 nouveau_devinit_create_ 4 35348 NULL ++hpi_alloc_control_cache_35351 hpi_alloc_control_cache 1 35351 NULL ++compat_filldir64_35354 compat_filldir64 3 35354 NULL ++rawv6_send_hdrinc_35425 rawv6_send_hdrinc 3 35425 NULL ++__set_test_and_free_35436 __set_test_and_free 2 35436 NULL ++buffer_to_user_35439 buffer_to_user 3 35439 NULL ++rdev_get_id_35454 rdev_get_id 0 35454 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 ++ReadZReg_35604 ReadZReg 0 35604 NULL ++kernel_readv_35617 kernel_readv 3 35617 NULL ++reiserfs_readpages_35629 reiserfs_readpages 4 35629 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 ++regmap_update_bits_35668 regmap_update_bits 2 35668 NULL ++rdmaltWithLock_35669 rdmaltWithLock 0 35669 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 ++read_file_stations_35795 read_file_stations 3 35795 NULL ++pvr2_hdw_cpufw_get_35824 pvr2_hdw_cpufw_get 0-4-2 35824 NULL ++tx_tx_cmplt_read_35854 tx_tx_cmplt_read 3 35854 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 ++sctp_tsnmap_mark_35929 sctp_tsnmap_mark 2 35929 NULL ++rx_defrag_init_called_read_35935 rx_defrag_init_called_read 3 35935 NULL ++put_cmsg_compat_35937 put_cmsg_compat 4 35937 NULL ++wm8350_reg_write_35967 wm8350_reg_write 2 35967 NULL ++ext_rts51x_sd_execute_write_data_35971 ext_rts51x_sd_execute_write_data 9 35971 NULL +ceph_buffer_new_35974 ceph_buffer_new 1 35974 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 -+str_to_user_11411 str_to_user 2 11411 NULL -+mem_fw_gen_free_mem_blks_read_11413 mem_fw_gen_free_mem_blks_read 3 11413 NULL ++generic_file_aio_read_35987 generic_file_aio_read 0 35987 NULL +koneplus_sysfs_write_35993 koneplus_sysfs_write 6 35993 NULL -+trace_options_read_11419 trace_options_read 3 11419 NULL -+ttm_object_file_init_27804 ttm_object_file_init 2 27804 NULL -+mpihelp_mul_27805 mpihelp_mul 5-3 27805 NULL -+xd_read_multiple_pages_11422 xd_read_multiple_pages 5-4 11422 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 -+iwl_dbgfs_tx_queue_read_4635 iwl_dbgfs_tx_queue_read 3 4635 NULL -+do_read_log_to_user_3236 do_read_log_to_user 4 3236 NULL -+console_store_36007 console_store 4 36007 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 +il3945_ucode_tx_stats_read_36016 il3945_ucode_tx_stats_read 3 36016 NULL -+__feat_register_sp_64712 __feat_register_sp 6 64712 NULL -+ib_alloc_device_26483 ib_alloc_device 1 26483 NULL -+check_vendor_extension_3254 check_vendor_extension 1 3254 NULL -+ieee80211_amsdu_to_8023s_15561 ieee80211_amsdu_to_8023s 5 15561 NULL -+sys_listxattr_27833 sys_listxattr 3 27833 NULL -+aac_rx_ioremap_52410 aac_rx_ioremap 2 52410 NULL +ubi_eba_write_leb_36029 ubi_eba_write_leb 5-6 36029 NULL -+um_idi_write_18293 um_idi_write 3 18293 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 -+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 -+sca3000_read_first_n_hw_rb_11479 sca3000_read_first_n_hw_rb 2 11479 NULL -+enlarge_skb_44248 enlarge_skb 2 44248 NULL nohasharray -+xfs_buf_readahead_map_44248 xfs_buf_readahead_map 3 44248 &enlarge_skb_44248 -+scsi_track_queue_full_44239 scsi_track_queue_full 2 44239 NULL -+refill_pool_19477 refill_pool 2 19477 NULL -+ubifs_recover_leb_60639 ubifs_recover_leb 3 60639 NULL -+ieee80211_if_read_dot11MeshHWMProotInterval_27873 ieee80211_if_read_dot11MeshHWMProotInterval 3 27873 NULL -+iwl_dbgfs_thermal_throttling_read_38779 iwl_dbgfs_thermal_throttling_read 3 38779 NULL -+xfs_file_buffered_aio_write_11492 xfs_file_buffered_aio_write 4 11492 NULL -+__btrfs_free_reserved_extent_31207 __btrfs_free_reserved_extent 2 31207 NULL -+tcp_sacktag_walk_49703 tcp_sacktag_walk 6 49703 NULL ++account_shadowed_36048 account_shadowed 2 36048 NULL ++gpio_power_read_36059 gpio_power_read 3 36059 NULL ++snd_pcm_playback_hw_avail_36061 snd_pcm_playback_hw_avail 0 36061 NULL ++write_emulate_36065 write_emulate 2-4 36065 NULL ++radeon_vm_num_pdes_36070 radeon_vm_num_pdes 0 36070 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 -+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 -+dbDiscardAG_3322 dbDiscardAG 3 3322 NULL -+ieee80211_alloc_txb_52477 ieee80211_alloc_txb 1-2 52477 NULL -+ieee80211_if_read_dot11MeshConfirmTimeout_60670 ieee80211_if_read_dot11MeshConfirmTimeout 3 60670 NULL -+blk_init_tags_30592 blk_init_tags 1 30592 NULL -+venus_symlink_23570 venus_symlink 4-6 23570 NULL -+storvsc_connect_to_vsp_22 storvsc_connect_to_vsp 2 22 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 -+tty_port_register_device_attr_3341 tty_port_register_device_attr 3 3341 NULL -+ath6kl_keepalive_read_44303 ath6kl_keepalive_read 3 44303 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 -+int_tasklet_entry_52500 int_tasklet_entry 3 52500 NULL -+acpi_os_allocate_zeroed_37422 acpi_os_allocate_zeroed 1 37422 NULL +simple_xattr_alloc_36118 simple_xattr_alloc 2 36118 NULL -+il_dbgfs_interrupt_read_3351 il_dbgfs_interrupt_read 3 3351 NULL -+memcpy_toiovecend_19736 memcpy_toiovecend 4-3 19736 NULL -+gsm_control_rls_3353 gsm_control_rls 3 3353 NULL -+ath6kl_usb_ctrl_msg_exchange_33327 ath6kl_usb_ctrl_msg_exchange 4 33327 NULL -+dispatch_proc_write_44320 dispatch_proc_write 3 44320 NULL -+pm_qos_power_write_52513 pm_qos_power_write 3 52513 NULL -+mem_swapout_entry_32586 mem_swapout_entry 3 32586 NULL -+gpio_power_read_36059 gpio_power_read 3 36059 NULL ++compat_ptrace_request_36131 compat_ptrace_request 3-4 36131 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 -+ocfs2_readpages_19759 ocfs2_readpages 4 19759 NULL +ext3_readpages_36144 ext3_readpages 4 36144 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 +alloc_vm_area_36149 alloc_vm_area 1 36149 NULL -+ubi_eba_write_leb_st_44343 ubi_eba_write_leb_st 5 44343 NULL -+tracing_clock_write_27961 tracing_clock_write 3 27961 NULL ++twl_set_36154 twl_set 2 36154 NULL +b1_alloc_card_36155 b1_alloc_card 1 36155 NULL -+oprofilefs_ulong_to_user_11582 oprofilefs_ulong_to_user 3 11582 NULL -+mtdchar_writeoob_3393 mtdchar_writeoob 4 3393 NULL -+nfs_fscache_get_super_cookie_44355 nfs_fscache_get_super_cookie 3 44355 NULL nohasharray -+blk_queue_init_tags_44355 blk_queue_init_tags 2 44355 &nfs_fscache_get_super_cookie_44355 -+saa7146_vmalloc_build_pgtable_19780 saa7146_vmalloc_build_pgtable 2 19780 NULL -+send_stream_3397 send_stream 4 3397 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 -+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 -+sys_kexec_load_14222 sys_kexec_load 2 14222 NULL -+rts_threshold_read_44384 rts_threshold_read 3 44384 NULL -+iwl_dbgfs_rf_reset_read_26512 iwl_dbgfs_rf_reset_read 3 26512 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 -+drm_buffer_alloc_44405 drm_buffer_alloc 2 44405 NULL -+pipe_iov_copy_to_user_3447 pipe_iov_copy_to_user 3 3447 NULL -+vip_read_19832 vip_read 3 19832 NULL -+osst_do_scsi_44410 osst_do_scsi 4 44410 NULL -+llc_shdlc_alloc_skb_11645 llc_shdlc_alloc_skb 2 11645 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 ++ubifs_read_nnode_36221 ubifs_read_nnode 0 36221 NULL +nfqnl_mangle_36226 nfqnl_mangle 4-2 36226 NULL +atomic_stats_read_36228 atomic_stats_read 3 36228 NULL -+crypt_alloc_buffer_19846 crypt_alloc_buffer 2 19846 NULL -+ieee80211_if_read_rc_rateidx_mcs_mask_5ghz_44423 ieee80211_if_read_rc_rateidx_mcs_mask_5ghz 3 44423 NULL -+sctp_setsockopt_maxburst_28041 sctp_setsockopt_maxburst 3 28041 NULL -+alloc_skb_fclone_3467 alloc_skb_fclone 1 3467 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 3-2 28053 NULL -+ide_queue_pc_tail_11673 ide_queue_pc_tail 5 11673 NULL -+llcp_allocate_pdu_19866 llcp_allocate_pdu 3 19866 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 ++rproc_recovery_read_36245 rproc_recovery_read 3 36245 NULL ++scrub_stripe_36248 scrub_stripe 5-4 36248 NULL +compat_sys_mbind_36256 compat_sys_mbind 5 36256 NULL -+security_context_to_sid_default_3492 security_context_to_sid_default 2 3492 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 -+brcmf_sdio_assert_info_52653 brcmf_sdio_assert_info 4 52653 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 +codec_reg_read_file_36280 codec_reg_read_file 3 36280 NULL -+gdth_init_isa_28091 gdth_init_isa 1 28091 NULL ++crypto_shash_digestsize_36284 crypto_shash_digestsize 0 36284 NULL +readahead_tree_block_36285 readahead_tree_block 3 36285 NULL -+mem_tx_free_mem_blks_read_3521 mem_tx_free_mem_blks_read 3 3521 NULL nohasharray -+ieee80211_wx_set_gen_ie_rsl_3521 ieee80211_wx_set_gen_ie_rsl 3 3521 &mem_tx_free_mem_blks_read_3521 +nouveau_cli_create_36293 nouveau_cli_create 3 36293 NULL -+vmw_unlocked_ioctl_19212 vmw_unlocked_ioctl 2 19212 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 -+rx_defrag_need_defrag_read_28117 rx_defrag_need_defrag_read 3 28117 NULL +ad7879_spi_xfer_36311 ad7879_spi_xfer 3 36311 NULL -+iwl_dbgfs_sram_read_44505 iwl_dbgfs_sram_read 3 44505 NULL -+tcf_csum_ipv6_icmp_11738 tcf_csum_ipv6_icmp 4 11738 NULL -+smk_write_load_self2_591 smk_write_load_self2 3 591 NULL -+vgacon_adjust_height_28124 vgacon_adjust_height 2 28124 NULL -+spidev_write_44510 spidev_write 3 44510 NULL -+macvtap_sendmsg_30629 macvtap_sendmsg 4 30629 NULL -+dm_bio_prison_create_11749 dm_bio_prison_create 1 11749 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 -+iwl_dbgfs_qos_read_11753 iwl_dbgfs_qos_read 3 11753 NULL -+nouveau_client_create__52715 nouveau_client_create_ 5 52715 NULL -+iio_debugfs_read_reg_60908 iio_debugfs_read_reg 3 60908 NULL -+kone_receive_4690 kone_receive 4 4690 NULL -+alloc_smp_resp_3566 alloc_smp_resp 1 3566 NULL ++lc_create_36332 lc_create 4 36332 NULL +jbd2_journal_init_revoke_table_36336 jbd2_journal_init_revoke_table 1 36336 NULL -+evtchn_read_3569 evtchn_read 3 3569 NULL -+video_read_28148 video_read 3 28148 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 3-4 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 -+gluebi_write_27905 gluebi_write 3 27905 NULL -+ivtv_v4l2_read_1964 ivtv_v4l2_read 3 1964 NULL -+c4iw_reject_cr_28174 c4iw_reject_cr 3 28174 NULL -+rx_out_of_mem_read_10157 rx_out_of_mem_read 3 10157 NULL -+attach_hdlc_protocol_19986 attach_hdlc_protocol 3 19986 NULL -+compat_sys_semtimedop_3606 compat_sys_semtimedop 3 3606 NULL -+sctp_getsockopt_events_3607 sctp_getsockopt_events 2 3607 NULL -+macvtap_get_user_28185 macvtap_get_user 4 28185 NULL -+edac_mc_alloc_3611 edac_mc_alloc 4 3611 NULL -+key_algorithm_read_57946 key_algorithm_read 3 57946 NULL -+pti_char_write_60960 pti_char_write 3 60960 NULL -+tx_tx_starts_read_3617 tx_tx_starts_read 3 3617 NULL -+nouveau_mxm_create__28200 nouveau_mxm_create_ 4 28200 NULL -+pcpu_fc_alloc_11818 pcpu_fc_alloc 2 11818 NULL -+read_vbt_r10_60679 read_vbt_r10 1 60679 NULL -+aligned_kmalloc_3628 aligned_kmalloc 1 3628 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 ++tunables_read_36385 tunables_read 3 36385 NULL +afs_alloc_flat_call_36399 afs_alloc_flat_call 2-3 36399 NULL -+error_error_frame_read_39947 error_error_frame_read 3 39947 NULL nohasharray -+fwnet_pd_new_39947 fwnet_pd_new 4 39947 &error_error_frame_read_39947 -+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 -+__a2mp_build_60987 __a2mp_build 3 60987 NULL -+split_scan_timeout_read_20029 split_scan_timeout_read 3 20029 NULL -+hsc_msg_alloc_60990 hsc_msg_alloc 1 60990 NULL -+cm_copy_private_data_3649 cm_copy_private_data 2 3649 NULL -+ath6kl_disconnect_timeout_read_3650 ath6kl_disconnect_timeout_read 3 3650 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 -+ip_set_alloc_57953 ip_set_alloc 1 57953 NULL -+i915_compat_ioctl_3656 i915_compat_ioctl 2 3656 NULL -+mb_cache_create_17307 mb_cache_create 2 17307 NULL -+ni_gpct_device_construct_610 ni_gpct_device_construct 5 610 NULL -+cfpkt_add_body_44630 cfpkt_add_body 3 44630 NULL -+nf_nat_sdp_media_11863 nf_nat_sdp_media 9 11863 NULL -+alloc_extent_buffer_52824 alloc_extent_buffer 3 52824 NULL -+skb_cow_head_52495 skb_cow_head 2 52495 NULL -+ecryptfs_copy_filename_11868 ecryptfs_copy_filename 4 11868 NULL +sctp_tsnmap_init_36446 sctp_tsnmap_init 2 36446 NULL -+alloc_ieee80211_20063 alloc_ieee80211 1 20063 NULL +alloc_etherdev_mqs_36450 alloc_etherdev_mqs 1 36450 NULL -+pwr_rcvd_beacons_read_52836 pwr_rcvd_beacons_read 3 52836 NULL -+ieee80211_if_read_dropped_frames_no_route_33383 ieee80211_if_read_dropped_frames_no_route 3 33383 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 -+team_options_register_20091 team_options_register 3 20091 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 -+oom_adj_read_21847 oom_adj_read 3 21847 NULL +b43_nphy_load_samples_36481 b43_nphy_load_samples 3 36481 NULL -+mpi_resize_44674 mpi_resize 2 44674 NULL -+ip6_append_data_36490 ip6_append_data 4-5 36490 NULL nohasharray -+tx_tx_checksum_result_read_36490 tx_tx_checksum_result_read 3 36490 &ip6_append_data_36490 -+kmalloc_slab_11917 kmalloc_slab 1 11917 NULL -+rng_dev_read_41581 rng_dev_read 3 41581 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 -+xfs_trans_read_buf_map_37487 xfs_trans_read_buf_map 5 37487 NULL -+ci_ll_write_3740 ci_ll_write 4 3740 NULL -+snd_pcm_oss_read_28317 snd_pcm_oss_read 3 28317 NULL -+kvm_kvzalloc_52894 kvm_kvzalloc 1 52894 NULL -+ima_show_htable_value_57136 ima_show_htable_value 2 57136 NULL ++tx_tx_checksum_result_read_36490 tx_tx_checksum_result_read 3 36490 NULL ++__hwahc_op_set_ptk_36510 __hwahc_op_set_ptk 5 36510 NULL +mcam_v4l_read_36513 mcam_v4l_read 3 36513 NULL -+dccp_feat_clone_sp_val_11942 dccp_feat_clone_sp_val 3 11942 NULL -+pms_read_53873 pms_read 3 53873 NULL ++get_param_l_36518 get_param_l 0 36518 NULL +ieee80211_if_read_fwded_frames_36520 ieee80211_if_read_fwded_frames 3 36520 NULL -+get_derived_key_61100 get_derived_key 4 61100 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 -+dm_read_15674 dm_read 3 15674 NULL ++lguest_setup_irq_36531 lguest_setup_irq 1 36531 NULL ++crypto_aead_authsize_36537 crypto_aead_authsize 0 36537 NULL ++ssd1307fb_write_data_array_36538 ssd1307fb_write_data_array 3 36538 NULL +cpu_type_read_36540 cpu_type_read 3 36540 NULL -+__probe_kernel_read_61119 __probe_kernel_read 3 61119 NULL -+nfsctl_transaction_write_64800 nfsctl_transaction_write 3 64800 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 -+iblock_get_bio_52936 iblock_get_bio 3 52936 NULL ++get_entry_len_36549 get_entry_len 0 36549 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 -+kvm_read_guest_atomic_10765 kvm_read_guest_atomic 4 10765 NULL -+iwl_dbgfs_nvm_read_23845 iwl_dbgfs_nvm_read 3 23845 NULL -+send_packet_52960 send_packet 4 52960 NULL -+dlmfs_file_read_28385 dlmfs_file_read 3 28385 NULL ++btrfs_get_token_64_36572 btrfs_get_token_64 0 36572 NULL +ssb_bus_scan_36578 ssb_bus_scan 2 36578 NULL -+ncp_file_write_3813 ncp_file_write 3 3813 NULL -+tipc_port_reject_sections_55229 tipc_port_reject_sections 5 55229 NULL -+tx_frag_cache_miss_read_28394 tx_frag_cache_miss_read 3 28394 NULL -+set_bypass_pfs_28395 set_bypass_pfs 3 28395 NULL ++__erst_read_36579 __erst_read 0 36579 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 nohasharray -+pair_device_61175 pair_device 4 61175 &event_oom_late_read_61175 -+sys_lsetxattr_61177 sys_lsetxattr 4 61177 NULL -+tx_tx_exch_read_52986 tx_tx_exch_read 3 52986 NULL -+nfs4_alloc_pages_48426 nfs4_alloc_pages 1 48426 NULL -+rx_dropped_read_44799 rx_dropped_read 3 44799 NULL -+batadv_check_management_packet_52993 batadv_check_management_packet 3 52993 NULL -+tpci200_slot_map_space_3848 tpci200_slot_map_space 2 3848 NULL -+regmap_bulk_write_59049 regmap_bulk_write 4 59049 NULL -+create_one_cdev_3852 create_one_cdev 2 3852 NULL +fat_ioctl_filldir_36621 fat_ioctl_filldir 3 36621 NULL -+smk_read_onlycap_3855 smk_read_onlycap 3 3855 NULL -+mpage_readpages_28436 mpage_readpages 3 28436 NULL -+cfpkt_append_61206 cfpkt_append 3 61206 NULL -+btrfs_free_and_pin_reserved_extent_53016 btrfs_free_and_pin_reserved_extent 2 53016 NULL -+rose_sendmsg_20249 rose_sendmsg 4 20249 NULL -+get_fd_set_3866 get_fd_set 1 3866 NULL -+megaraid_change_queue_depth_64815 megaraid_change_queue_depth 2 64815 NULL -+rx_rx_defrag_read_2010 rx_rx_defrag_read 3 2010 NULL -+unlink_queued_645 unlink_queued 3-4 645 NULL -+il4965_ucode_tx_stats_read_12064 il4965_ucode_tx_stats_read 3 12064 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 -+alloc_irq_cpu_rmap_28459 alloc_irq_cpu_rmap 1 28459 NULL -+ptc_proc_write_12076 ptc_proc_write 3 12076 NULL -+hdlc_empty_fifo_18397 hdlc_empty_fifo 2 18397 NULL -+uea_send_modem_cmd_3888 uea_send_modem_cmd 3 3888 NULL -+h5_prepare_pkt_12085 h5_prepare_pkt 4 12085 NULL -+nvram_write_3894 nvram_write 3 3894 NULL ++vxge_config_vpaths_36636 vxge_config_vpaths 0 36636 NULL ++format_decode_36638 format_decode 0 36638 NULL ++ced_ioctl_36647 ced_ioctl 2 36647 NULL ++lpfc_idiag_extacc_alloc_get_36648 lpfc_idiag_extacc_alloc_get 0-3 36648 NULL +osd_req_list_collection_objects_36664 osd_req_list_collection_objects 5 36664 NULL -+pipeline_pre_proc_swi_read_3898 pipeline_pre_proc_swi_read 3 3898 NULL +iscsi_host_alloc_36671 iscsi_host_alloc 2 36671 NULL -+vcs_write_3910 vcs_write 3 3910 NULL -+sctp_make_abort_violation_27959 sctp_make_abort_violation 4 27959 NULL -+mwifiex_debug_read_53074 mwifiex_debug_read 3 53074 NULL -+dtim_interval_read_654 dtim_interval_read 3 654 NULL -+btrfs_bio_alloc_61270 btrfs_bio_alloc 3 61270 NULL -+packet_sendmsg_24954 packet_sendmsg 4 24954 NULL -+alloc_bulk_urbs_generic_12127 alloc_bulk_urbs_generic 5 12127 NULL -+do_tty_write_44896 do_tty_write 5 44896 NULL -+set_powered_12129 set_powered 4 12129 NULL -+qib_resize_cq_53090 qib_resize_cq 2 53090 NULL -+snd_cs4281_BA1_read_20323 snd_cs4281_BA1_read 5 20323 NULL -+nfs_writedata_alloc_12133 nfs_writedata_alloc 2 12133 NULL -+ramoops_init_prz_12134 ramoops_init_prz 5 12134 NULL -+ps_poll_upsd_utilization_read_28519 ps_poll_upsd_utilization_read 3 28519 NULL -+hdlc_irq_one_3944 hdlc_irq_one 2 3944 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 -+btmrvl_sdio_host_to_card_12152 btmrvl_sdio_host_to_card 3 12152 NULL -+vmbus_open_12154 vmbus_open 2-3 12154 NULL -+capinc_tty_write_28539 capinc_tty_write 3 28539 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 ++ptr_to_compat_36680 ptr_to_compat 0 36680 NULL ++ext4_mb_discard_group_preallocations_36685 ext4_mb_discard_group_preallocations 2 36685 NULL ++snd_soc_update_bits_36714 snd_soc_update_bits 2 36714 NULL ++extract_icmp6_fields_36732 extract_icmp6_fields 2 36732 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 -+dma_memcpy_to_iovec_12173 dma_memcpy_to_iovec 5 12173 NULL -+debug_debug1_read_8856 debug_debug1_read 3 8856 NULL -+ddp_make_gl_12179 ddp_make_gl 1 12179 NULL -+ps_poll_ps_poll_max_ap_turn_read_53140 ps_poll_ps_poll_max_ap_turn_read 3 53140 NULL -+scsi_deactivate_tcq_47086 scsi_deactivate_tcq 2 47086 NULL -+regcache_rbtree_insert_to_block_58009 regcache_rbtree_insert_to_block 5 58009 NULL -+do_add_counters_3992 do_add_counters 3 3992 NULL -+mic_rx_pkts_read_27972 mic_rx_pkts_read 3 27972 NULL -+smk_set_cipso_20379 smk_set_cipso 3 20379 NULL -+st5481_setup_isocpipes_61340 st5481_setup_isocpipes 6-4 61340 NULL -+rx_rx_wa_ba_not_expected_read_61341 rx_rx_wa_ba_not_expected_read 3 61341 NULL -+dccpprobe_read_52549 dccpprobe_read 3 52549 NULL ++ps_poll_upsd_timeouts_read_36755 ps_poll_upsd_timeouts_read 3 36755 NULL ++snd_soc_update_bits_locked_36766 snd_soc_update_bits_locked 2 36766 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 +ptp_filter_init_36780 ptp_filter_init 2 36780 NULL -+__kfifo_from_user_20399 __kfifo_from_user 3 20399 NULL -+tx_queue_status_read_44978 tx_queue_status_read 3 44978 NULL -+debug_debug4_read_61367 debug_debug4_read 3 61367 NULL -+receive_copy_12216 receive_copy 3 12216 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 -+bcsp_prepare_pkt_12961 bcsp_prepare_pkt 3 12961 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 -+simple_alloc_urb_60420 simple_alloc_urb 3 60420 NULL -+sys_sethostname_42962 sys_sethostname 2 42962 NULL +int_hardware_entry_36833 int_hardware_entry 3 36833 NULL -+tx_tx_start_data_read_53219 tx_tx_start_data_read 3 53219 NULL -+pwr_rcvd_bcns_cnt_read_4774 pwr_rcvd_bcns_cnt_read 3 4774 NULL -+fc_change_queue_depth_36841 fc_change_queue_depth 2 36841 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 -+read_buf_20469 read_buf 2 20469 NULL ++pcf50633_reg_write_36841 pcf50633_reg_write 2 36841 NULL nohasharray ++fc_change_queue_depth_36841 fc_change_queue_depth 2 36841 &pcf50633_reg_write_36841 ++keyctl_describe_key_36853 keyctl_describe_key 3 36853 NULL +cm_write_36858 cm_write 3 36858 NULL -+note_last_dentry_12285 note_last_dentry 3 12285 NULL -+blk_queue_resize_tags_28670 blk_queue_resize_tags 2 28670 NULL -+il_dbgfs_nvm_read_12288 il_dbgfs_nvm_read 3 12288 NULL -+sel_write_user_45060 sel_write_user 3 45060 NULL +tx_tx_data_programmed_read_36871 tx_tx_data_programmed_read 3 36871 NULL -+__dev_alloc_skb_28681 __dev_alloc_skb 1 28681 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 -+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 -+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 3-2 53282 NULL -+tipc_msg_build_12326 tipc_msg_build 4 12326 NULL -+xfs_iext_realloc_direct_20521 xfs_iext_realloc_direct 2 20521 NULL -+drbd_bm_resize_20522 drbd_bm_resize 2 20522 NULL -+pcbit_writecmd_12332 pcbit_writecmd 2 12332 NULL ++lm3533_als_get_target_36905 lm3533_als_get_target 2-3 36905 NULL +OS_kmalloc_36909 OS_kmalloc 1 36909 NULL -+osst_read_40237 osst_read 3 40237 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 -+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 -+mptctl_ioctl_12355 mptctl_ioctl 2 12355 NULL -+get_alua_req_4166 get_alua_req 3 4166 NULL -+scsi_report_opcode_20551 scsi_report_opcode 3 20551 NULL -+blk_dropped_read_4168 blk_dropped_read 3 4168 NULL -+venus_create_20555 venus_create 4 20555 NULL -+__nf_ct_ext_add_length_12364 __nf_ct_ext_add_length 3 12364 NULL -+batadv_interface_rx_53325 batadv_interface_rx 4 53325 NULL -+receive_packet_12367 receive_packet 2 12367 NULL -+squashfs_cache_init_41656 squashfs_cache_init 2 41656 NULL -+mem_write_22232 mem_write 3 22232 NULL -+read_file_bool_4180 read_file_bool 3 4180 NULL -+send_to_tty_45141 send_to_tty 3 45141 NULL -+fops_read_40672 fops_read 3 40672 NULL -+cxio_init_resource_fifo_28764 cxio_init_resource_fifo 3 28764 NULL ++crypto_blkcipher_ivsize_36944 crypto_blkcipher_ivsize 0 36944 NULL ++div_u64_36951 div_u64 0 36951 NULL +write_leb_36957 write_leb 5 36957 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 ++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 -+batadv_tt_append_diff_20588 batadv_tt_append_diff 4 20588 NULL -+dvb_net_sec_callback_28786 dvb_net_sec_callback 2 28786 NULL -+excessive_retries_read_60425 excessive_retries_read 3 60425 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 -+ieee80211_if_read_num_mcast_sta_12419 ieee80211_if_read_num_mcast_sta 3 12419 NULL -+cgroup_file_read_28804 cgroup_file_read 3 28804 NULL -+sys_msgrcv_959 sys_msgrcv 3 959 NULL -+snd_sb_csp_load_user_45190 snd_sb_csp_load_user 3 45190 NULL -+pskb_network_may_pull_35336 pskb_network_may_pull 2 35336 NULL ++mc13xxx_reg_rmw_36997 mc13xxx_reg_rmw 2 36997 NULL ++drbd_new_dev_size_36998 drbd_new_dev_size 0-3 36998 NULL +auok190xfb_write_37001 auok190xfb_write 3 37001 NULL -+ext4_kvzalloc_47605 ext4_kvzalloc 1 47605 NULL +setxattr_37006 setxattr 4 37006 NULL -+add_child_45201 add_child 4 45201 NULL -+seq_open_private_61589 seq_open_private 3 61589 NULL -+iso_alloc_urb_45206 iso_alloc_urb 4-5 45206 NULL -+__get_vm_area_61599 __get_vm_area 1 61599 NULL -+iwl_dbgfs_rxon_filter_flags_read_28832 iwl_dbgfs_rxon_filter_flags_read 3 28832 NULL -+nl_portid_hash_zalloc_34843 nl_portid_hash_zalloc 1 34843 NULL -+kfifo_copy_to_user_20646 kfifo_copy_to_user 3 20646 NULL -+spi_alloc_master_45223 spi_alloc_master 2 45223 NULL -+ieee80211_if_read_dropped_frames_congestion_32603 ieee80211_if_read_dropped_frames_congestion 3 32603 NULL -+vp_request_msix_vectors_28849 vp_request_msix_vectors 2 28849 NULL -+oz_cdev_read_20659 oz_cdev_read 3 20659 NULL -+configfs_write_file_61621 configfs_write_file 3 61621 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 -+resize_stripes_61650 resize_stripes 2 61650 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 -+alloc_ts_config_45775 alloc_ts_config 1 45775 NULL -+ttm_page_pool_free_61661 ttm_page_pool_free 2 61661 NULL -+input_mt_init_slots_45279 input_mt_init_slots 2 45279 NULL ++wm8994_gpio_set_37082 wm8994_gpio_set 2 37082 NULL +pipeline_cs_rx_packet_in_read_37089 pipeline_cs_rx_packet_in_read 3 37089 NULL -+bt_sock_stream_recvmsg_52518 bt_sock_stream_recvmsg 4 52518 NULL -+insert_one_name_61668 insert_one_name 7 61668 NULL -+nouveau_fifo_create__4327 nouveau_fifo_create_ 5-6 4327 NULL -+pcpu_page_first_chunk_20712 pcpu_page_first_chunk 1 20712 NULL -+iowarrior_read_53483 iowarrior_read 3 53483 NULL -+osd_req_write_kern_53486 osd_req_write_kern 5 53486 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 -+brcmf_sdio_trap_info_48510 brcmf_sdio_trap_info 4 48510 NULL -+ps_upsd_timeouts_read_28924 ps_upsd_timeouts_read 3 28924 NULL -+vring_add_indirect_20737 vring_add_indirect 3-4 20737 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 -+idetape_chrdev_write_53976 idetape_chrdev_write 3 53976 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 -+nouveau_dmaobj_create__61730 nouveau_dmaobj_create_ 6 61730 NULL -+btrfs_trim_block_group_28963 btrfs_trim_block_group 3 28963 NULL -+irda_sendmsg_4388 irda_sendmsg 4 4388 NULL -+aac_srcv_ioremap_6659 aac_srcv_ioremap 2 6659 NULL -+ubi_leb_change_10289 ubi_leb_change 4 10289 NULL -+read_file_credit_dist_stats_54367 read_file_credit_dist_stats 3 54367 NULL -+alloc_sched_domains_28972 alloc_sched_domains 1 28972 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 -+cxacru_cm_get_array_4412 cxacru_cm_get_array 4 4412 NULL -+libfc_vport_create_4415 libfc_vport_create 2 4415 NULL -+hci_sock_setsockopt_28993 hci_sock_setsockopt 5 28993 NULL -+tstats_write_60432 tstats_write 3 60432 NULL nohasharray -+kmalloc_60432 kmalloc 1 60432 &tstats_write_60432 -+bin_uuid_28999 bin_uuid 3 28999 NULL -+sys_sendto_20809 sys_sendto 6 20809 NULL -+alloc_page_cgroup_2919 alloc_page_cgroup 1 2919 NULL -+set_registers_53582 set_registers 3 53582 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 -+tcf_csum_ipv4_udp_30777 tcf_csum_ipv4_udp 4 30777 NULL -+pwr_rcvd_awake_bcns_cnt_read_12632 pwr_rcvd_awake_bcns_cnt_read 3 12632 NULL -+bchannel_get_rxbuf_37213 bchannel_get_rxbuf 2 37213 NULL -+keymap_store_45406 keymap_store 4 45406 NULL -+pn_sendmsg_12640 pn_sendmsg 4 12640 NULL -+dwc3_link_state_write_12641 dwc3_link_state_write 3 12641 NULL -+wl1271_format_buffer_20834 wl1271_format_buffer 2 20834 NULL -+il4965_rs_sta_dbgfs_rate_scale_data_read_37792 il4965_rs_sta_dbgfs_rate_scale_data_read 3 37792 NULL -+pfkey_recvmsg_53604 pfkey_recvmsg 4 53604 NULL -+xz_dec_init_29029 xz_dec_init 2 29029 NULL ++tun_get_user_37094 tun_get_user 5 37094 NULL ++has_wrprotected_page_37123 has_wrprotected_page 2-3 37123 NULL ++msg_word_37164 msg_word 0 37164 NULL ++can_set_xattr_37182 can_set_xattr 4 37182 NULL ++crypto_shash_descsize_37212 crypto_shash_descsize 0 37212 NULL +regmap_access_read_file_37223 regmap_access_read_file 3 37223 NULL -+tcp_dma_try_early_copy_4457 tcp_dma_try_early_copy 3 4457 NULL +__do_replace_37227 __do_replace 5 37227 NULL -+dn_alloc_send_pskb_4465 dn_alloc_send_pskb 2 4465 NULL -+ieee80211_if_read_ht_opmode_29044 ieee80211_if_read_ht_opmode 3 29044 NULL +rx_filter_dup_filter_read_37238 rx_filter_dup_filter_read 3 37238 NULL -+at76_set_card_command_4471 at76_set_card_command 4 4471 NULL -+rxrpc_sendmsg_29049 rxrpc_sendmsg 4 29049 NULL -+tso_fragment_29050 tso_fragment 3 29050 NULL -+__alloc_pred_stack_26687 __alloc_pred_stack 2 26687 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 -+rproc_recovery_read_36245 rproc_recovery_read 3 36245 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 -+__iio_allocate_sw_ring_buffer_4843 __iio_allocate_sw_ring_buffer 3 4843 NULL -+init_per_cpu_17880 init_per_cpu 1 17880 NULL -+iso_packets_buffer_init_29061 iso_packets_buffer_init 3-4 29061 NULL -+intel_render_ring_init_dri_45446 intel_render_ring_init_dri 2-3 45446 NULL -+udp_sendmsg_4492 udp_sendmsg 4 4492 NULL -+ieee80211_probereq_get_29069 ieee80211_probereq_get 4-6 29069 NULL -+vmbus_establish_gpadl_4495 vmbus_establish_gpadl 3 4495 NULL -+bfad_debugfs_write_regwr_61841 bfad_debugfs_write_regwr 3 61841 NULL -+_alloc_cdb_cont_23609 _alloc_cdb_cont 2 23609 NULL -+set_link_security_4502 set_link_security 4 4502 NULL -+nr_sendmsg_53656 nr_sendmsg 4 53656 NULL -+l1oip_socket_parse_4507 l1oip_socket_parse 4 4507 NULL -+tracing_read_dyn_info_45468 tracing_read_dyn_info 3 45468 NULL -+fs_path_prepare_for_add_61854 fs_path_prepare_for_add 2 61854 NULL -+key_icverrors_read_20895 key_icverrors_read 3 20895 NULL ++prot_queue_del_37258 prot_queue_del 0 37258 NULL ++ath6kl_wmi_set_ie_cmd_37260 ath6kl_wmi_set_ie_cmd 6 37260 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 -+mmio_read_40348 mmio_read 4 40348 NULL -+vfio_msi_enable_20906 vfio_msi_enable 2 20906 NULL -+ieee80211_if_read_num_buffered_multicast_12716 ieee80211_if_read_num_buffered_multicast 3 12716 NULL -+compat_sys_readv_20911 compat_sys_readv 3 20911 NULL -+ivtv_write_12721 ivtv_write 3 12721 NULL -+fuse_fill_write_pages_53682 fuse_fill_write_pages 4 53682 NULL -+islpci_mgt_transaction_23610 islpci_mgt_transaction 5 23610 NULL -+sys_llistxattr_4532 sys_llistxattr 3 4532 NULL -+isdn_ppp_write_29109 isdn_ppp_write 4 29109 NULL -+da9052_group_write_4534 da9052_group_write 3 4534 NULL -+v4l2_event_subscribe_53687 v4l2_event_subscribe 3 53687 NULL +jffs2_write_dirent_37311 jffs2_write_dirent 5 37311 NULL -+key_rx_spec_read_12736 key_rx_spec_read 3 12736 NULL -+tx_frag_bad_mblk_num_read_28064 tx_frag_bad_mblk_num_read 3 28064 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 +send_msg_37323 send_msg 4 37323 NULL +brcmf_sdbrcm_membytes_37324 brcmf_sdbrcm_membytes 3-5 37324 NULL +l2cap_create_connless_pdu_37327 l2cap_create_connless_pdu 3 37327 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 -+virtqueue_add_buf_59470 virtqueue_add_buf 3-4 59470 NULL -+proc_scsi_write_29142 proc_scsi_write 3 29142 NULL -+dsp_buffer_alloc_11684 dsp_buffer_alloc 2 11684 NULL -+rx_filter_arp_filter_read_61914 rx_filter_arp_filter_read 3 61914 NULL -+reshape_ring_29147 reshape_ring 2 29147 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 ++brcmf_sdio_dump_console_37455 brcmf_sdio_dump_console 4 37455 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 ++xfs_trans_read_buf_map_37487 xfs_trans_read_buf_map 5 37487 NULL ++kmem_realloc_37489 kmem_realloc 2 37489 NULL ++kvm_vcpu_compat_ioctl_37500 kvm_vcpu_compat_ioctl 3 37500 NULL ++vmalloc_32_user_37519 vmalloc_32_user 1 37519 NULL ++fault_inject_read_37534 fault_inject_read 3 37534 NULL ++hdr_size_37536 hdr_size 0 37536 NULL ++sep_create_dcb_dmatables_context_37551 sep_create_dcb_dmatables_context 6 37551 NULL nohasharray ++nf_nat_mangle_tcp_packet_37551 nf_nat_mangle_tcp_packet 6-8 37551 &sep_create_dcb_dmatables_context_37551 ++xhci_alloc_streams_37586 xhci_alloc_streams 5 37586 NULL ++mlx4_get_mgm_entry_size_37607 mlx4_get_mgm_entry_size 0 37607 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 ++lnw_gpio_to_irq_37665 lnw_gpio_to_irq 2 37665 NULL ++ieee80211_if_read_rc_rateidx_mcs_mask_2ghz_37675 ieee80211_if_read_rc_rateidx_mcs_mask_2ghz 3 37675 NULL ++regmap_map_read_file_37685 regmap_map_read_file 3 37685 NULL ++nametbl_header_37698 nametbl_header 2 37698 NULL ++__le32_to_cpup_37702 __le32_to_cpup 0 37702 NULL ++soc_widget_update_bits_locked_37715 soc_widget_update_bits_locked 2 37715 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 ++il4965_rs_sta_dbgfs_rate_scale_data_read_37792 il4965_rs_sta_dbgfs_rate_scale_data_read 3 37792 NULL ++smk_read_logging_37804 smk_read_logging 3 37804 NULL ++deny_write_access_37813 deny_write_access 0 37813 NULL ++rx_decrypt_key_not_found_read_37820 rx_decrypt_key_not_found_read 3 37820 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 ++sys_setxattr_37880 sys_setxattr 4 37880 NULL ++lm3533_als_get_target_reg_37881 lm3533_als_get_target_reg 0-1-2 37881 NULL ++dvb_net_sec_37884 dvb_net_sec 3 37884 NULL ++max77686_irq_domain_map_37897 max77686_irq_domain_map 2 37897 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 ++fifo_alloc_37961 fifo_alloc 1 37961 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 ++persistent_ram_old_size_37997 persistent_ram_old_size 0 37997 NULL ++vfs_readv_38011 vfs_readv 3 38011 NULL ++aggr_recv_addba_req_evt_38037 aggr_recv_addba_req_evt 4 38037 NULL ++klsi_105_prepare_write_buffer_38044 klsi_105_prepare_write_buffer 3 38044 NULL nohasharray ++il_dbgfs_chain_noise_read_38044 il_dbgfs_chain_noise_read 3 38044 &klsi_105_prepare_write_buffer_38044 ++_xfs_buf_alloc_38058 _xfs_buf_alloc 3 38058 NULL ++nsm_create_handle_38060 nsm_create_handle 4 38060 NULL ++alloc_ltalkdev_38071 alloc_ltalkdev 1 38071 NULL ++xfs_buf_readahead_map_38081 xfs_buf_readahead_map 3 38081 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 ++sk_wmem_schedule_38096 sk_wmem_schedule 2 38096 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 ++brcmf_sdcard_recv_buf_38179 brcmf_sdcard_recv_buf 6 38179 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 ++stmpe_gpio_irq_map_38222 stmpe_gpio_irq_map 3 38222 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 ++snd_pcm_playback_rewind_38249 snd_pcm_playback_rewind 0-2 38249 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 ++verity_status_38273 verity_status 5 38273 NULL ++xfs_bmdr_to_bmbt_38275 xfs_bmdr_to_bmbt 5 38275 NULL nohasharray ++xfs_bmbt_to_bmdr_38275 xfs_bmbt_to_bmdr 3 38275 &xfs_bmdr_to_bmbt_38275 ++zd_mac_rx_38296 zd_mac_rx 3 38296 NULL ++ieee80211_send_probe_req_38307 ieee80211_send_probe_req 6-4 38307 NULL ++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 ++pyra_sysfs_write_38370 pyra_sysfs_write 6 38370 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 ++ht_destroy_irq_38418 ht_destroy_irq 1 38418 NULL ++ieee80211_if_read_dtim_count_38419 ieee80211_if_read_dtim_count 3 38419 NULL ++asix_write_cmd_async_38420 asix_write_cmd_async 5 38420 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 ++i915_min_freq_read_38470 i915_min_freq_read 3 38470 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 ++set_queue_count_38519 set_queue_count 0 38519 NULL ++ubifs_idx_node_sz_38546 ubifs_idx_node_sz 0-2 38546 NULL ++btrfs_discard_extent_38547 btrfs_discard_extent 2 38547 NULL ++cpu_to_node_38561 cpu_to_node 0 38561 NULL ++irda_sendmsg_dgram_38563 irda_sendmsg_dgram 4 38563 NULL ++il4965_rs_sta_dbgfs_scale_table_read_38564 il4965_rs_sta_dbgfs_scale_table_read 3 38564 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 ++cosa_net_setup_rx_38594 cosa_net_setup_rx 2 38594 NULL ++compat_sys_ptrace_38595 compat_sys_ptrace 3-4 38595 NULL ++delay_status_38606 delay_status 5 38606 NULL ++icn_writecmd_38629 icn_writecmd 2 38629 NULL ++ext2_readpages_38640 ext2_readpages 4 38640 NULL ++cma_create_area_38642 cma_create_area 2 38642 NULL ++audit_init_entry_38644 audit_init_entry 1 38644 NULL ++mmc_send_cxd_data_38655 mmc_send_cxd_data 5 38655 NULL ++nouveau_instmem_create__38664 nouveau_instmem_create_ 4 38664 NULL ++cfg80211_send_disassoc_38678 cfg80211_send_disassoc 3 38678 NULL ++iscsit_dump_data_payload_38683 iscsit_dump_data_payload 2 38683 NULL ++ext4_wait_block_bitmap_38695 ext4_wait_block_bitmap 2 38695 NULL ++find_next_usable_block_38716 find_next_usable_block 1-3 38716 NULL ++alloc_trace_probe_38720 alloc_trace_probe 6 38720 NULL ++udf_readpages_38761 udf_readpages 4 38761 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 ++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 ++f2fs_xattr_set_acl_38895 f2fs_xattr_set_acl 4 38895 NULL ++__fswab16_38898 __fswab16 0 38898 NULL ++process_bulk_data_command_38906 process_bulk_data_command 4 38906 NULL ++ext3_trim_all_free_38929 ext3_trim_all_free 3-4-2 38929 NULL ++sbp_count_se_tpg_luns_38943 sbp_count_se_tpg_luns 0 38943 NULL ++__ath6kl_wmi_send_mgmt_cmd_38971 __ath6kl_wmi_send_mgmt_cmd 7 38971 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 ++twl6030_interrupt_unmask_39013 twl6030_interrupt_unmask 2 39013 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 ++tun_get_user_39099 tun_get_user 4 39099 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 ++qla4_82xx_pci_mem_read_direct_39208 qla4_82xx_pci_mem_read_direct 2 39208 NULL ++vfio_group_fops_compat_ioctl_39219 vfio_group_fops_compat_ioctl 3 39219 NULL ++ivtv_v4l2_write_39226 ivtv_v4l2_write 3 39226 NULL ++batadv_tt_response_fill_table_39236 batadv_tt_response_fill_table 1 39236 NULL ++posix_acl_to_xattr_39237 posix_acl_to_xattr 0 39237 NULL ++drm_order_39244 drm_order 0 39244 NULL ++snd_pcm_capture_forward_39248 snd_pcm_capture_forward 0-2 39248 NULL ++r128_compat_ioctl_39250 r128_compat_ioctl 2 39250 NULL nohasharray ++pwr_cont_miss_bcns_spread_read_39250 pwr_cont_miss_bcns_spread_read 3 39250 &r128_compat_ioctl_39250 ++__skb_cow_39254 __skb_cow 2 39254 NULL ++ath6kl_wmi_set_appie_cmd_39266 ath6kl_wmi_set_appie_cmd 5 39266 NULL ++rx_filter_protection_filter_read_39282 rx_filter_protection_filter_read 3 39282 NULL ++__vmalloc_node_39308 __vmalloc_node 1 39308 NULL ++__cfg80211_connect_result_39326 __cfg80211_connect_result 4-6 39326 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 ++do_write_log_from_user_39362 do_write_log_from_user 3 39362 NULL ++vortex_wtdma_getlinearpos_39371 vortex_wtdma_getlinearpos 0 39371 NULL ++regmap_name_read_file_39379 regmap_name_read_file 3 39379 NULL ++ps_poll_ps_poll_utilization_read_39383 ps_poll_ps_poll_utilization_read 3 39383 NULL ++__send_to_port_39386 __send_to_port 3 39386 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 ++ieee80211_if_fmt_dot11MeshHWMPmaxPREQretries_39499 ieee80211_if_fmt_dot11MeshHWMPmaxPREQretries 3 39499 NULL ++atomic64_read_unchecked_39505 atomic64_read_unchecked 0 39505 NULL ++int_proc_write_39542 int_proc_write 3 39542 NULL ++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 ++adau1373_set_pll_39593 adau1373_set_pll 2 39593 NULL ++mtdchar_compat_ioctl_39602 mtdchar_compat_ioctl 3 39602 NULL ++n_tty_compat_ioctl_helper_39605 n_tty_compat_ioctl_helper 4 39605 NULL ++ext_depth_39607 ext_depth 0 39607 NULL ++nfs_idmap_get_key_39616 nfs_idmap_get_key 2 39616 NULL ++sdio_readb_39618 sdio_readb 0 39618 NULL ++dm_exception_table_init_39645 dm_exception_table_init 2 39645 NULL nohasharray ++set_dev_class_39645 set_dev_class 4 39645 &dm_exception_table_init_39645 ++snd_rme32_capture_copy_39653 snd_rme32_capture_copy 5 39653 NULL ++tcp_try_rmem_schedule_39657 tcp_try_rmem_schedule 3 39657 NULL nohasharray ++prism2_info_hostscanresults_39657 prism2_info_hostscanresults 3 39657 &tcp_try_rmem_schedule_39657 ++kvm_read_guest_cached_39666 kvm_read_guest_cached 4 39666 NULL ++v4l_stk_read_39672 v4l_stk_read 3 39672 NULL ++hsc_msg_len_get_39673 hsc_msg_len_get 0 39673 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 ++gen_pool_add_virt_39913 gen_pool_add_virt 4 39913 NULL ++dw210x_op_rw_39915 dw210x_op_rw 6 39915 NULL ++aes_encrypt_interrupt_read_39919 aes_encrypt_interrupt_read 3 39919 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 ++__spi_async_39932 __spi_async 0 39932 NULL ++__get_order_39935 __get_order 0 39935 NULL ++error_error_frame_read_39947 error_error_frame_read 3 39947 NULL nohasharray ++fwnet_pd_new_39947 fwnet_pd_new 4 39947 &error_error_frame_read_39947 ++tty_prepare_flip_string_39955 tty_prepare_flip_string 3 39955 NULL ++dma_push_rx_39973 dma_push_rx 2 39973 NULL ++broadsheetfb_write_39976 broadsheetfb_write 3 39976 NULL ++mthca_array_init_39987 mthca_array_init 2 39987 NULL ++xen_hvm_config_40018 xen_hvm_config 2 40018 NULL ++nf_nat_icmpv6_reply_translation_40023 nf_nat_icmpv6_reply_translation 5 40023 NULL nohasharray ++ivtvfb_write_40023 ivtvfb_write 3 40023 &nf_nat_icmpv6_reply_translation_40023 ++ea_foreach_i_40028 ea_foreach_i 0 40028 NULL ++datablob_hmac_append_40038 datablob_hmac_append 3 40038 NULL ++regmap_add_irq_chip_40042 regmap_add_irq_chip 4 40042 NULL ++add_tty_40055 add_tty 1 40055 NULL nohasharray ++l2cap_create_iframe_pdu_40055 l2cap_create_iframe_pdu 3 40055 &add_tty_40055 ++atomic_xchg_40070 atomic_xchg 0 40070 NULL ++snd_pcm_sw_params_user_40095 snd_pcm_sw_params_user 0 40095 NULL ++gen_pool_first_fit_40110 gen_pool_first_fit 2-3-4 40110 NULL ++rbd_do_op_40128 rbd_do_op 4-5 40128 NULL ++sctp_setsockopt_delayed_ack_40129 sctp_setsockopt_delayed_ack 3 40129 NULL ++rx_rx_frame_checksum_read_40140 rx_rx_frame_checksum_read 3 40140 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 ++acpi_system_write_alarm_40205 acpi_system_write_alarm 3 40205 NULL ++compat_put_long_40214 compat_put_long 1 40214 NULL ++au0828_v4l2_read_40220 au0828_v4l2_read 3 40220 NULL ++xfs_buf_read_map_40226 xfs_buf_read_map 3 40226 NULL ++osst_read_40237 osst_read 3 40237 NULL ++lpage_info_slot_40243 lpage_info_slot 1-3 40243 NULL ++ocfs2_zero_extend_get_range_40248 ocfs2_zero_extend_get_range 4 40248 NULL ++of_get_child_count_40254 of_get_child_count 0 40254 NULL ++rs_sta_dbgfs_scale_table_read_40262 rs_sta_dbgfs_scale_table_read 3 40262 NULL ++usbnet_read_cmd_40275 usbnet_read_cmd 7 40275 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 ++batadv_tt_changes_fill_buff_40323 batadv_tt_changes_fill_buff 4 40323 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 ++fwnet_incoming_packet_40380 fwnet_incoming_packet 3 40380 NULL ++brcmf_sdbrcm_get_image_40397 brcmf_sdbrcm_get_image 0-2 40397 NULL ++atmel_rmem16_40450 atmel_rmem16 0 40450 NULL ++tomoyo_update_policy_40458 tomoyo_update_policy 2 40458 NULL ++zd_usb_scnprint_id_40459 zd_usb_scnprint_id 0-3 40459 NULL ++batadv_hash_new_40491 batadv_hash_new 1 40491 NULL ++devcgroup_inode_permission_40492 devcgroup_inode_permission 0 40492 NULL ++tty_write_room_40495 tty_write_room 0 40495 NULL ++persistent_ram_new_40501 persistent_ram_new 1-2 40501 NULL ++sg_phys_40507 sg_phys 0 40507 NULL ++TSS_checkhmac2_40520 TSS_checkhmac2 5-7 40520 NULL ++ixgbe_dbg_reg_ops_read_40540 ixgbe_dbg_reg_ops_read 3 40540 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 ++bl_mark_sectors_init_40613 bl_mark_sectors_init 2-3 40613 NULL ++cpuset_sprintf_cpulist_40627 cpuset_sprintf_cpulist 0 40627 NULL ++twl4030_kpwrite_u8_40665 twl4030_kpwrite_u8 3 40665 NULL ++__cfg80211_roamed_40668 __cfg80211_roamed 4-6 40668 NULL ++pipeline_rx_complete_stat_fifo_int_read_40671 pipeline_rx_complete_stat_fifo_int_read 3 40671 NULL ++fops_read_40672 fops_read 3 40672 NULL ++tps80031_write_40678 tps80031_write 3 40678 NULL ++nfc_hci_set_param_40697 nfc_hci_set_param 5 40697 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 ++tps65910_irq_map_40748 tps65910_irq_map 2 40748 NULL ++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 ++show_list_40775 show_list 3 40775 NULL ++kfifo_out_copy_r_40784 kfifo_out_copy_r 0-3 40784 NULL ++bitmap_weight_40791 bitmap_weight 0-2 40791 NULL ++pyra_sysfs_read_40795 pyra_sysfs_read 6 40795 NULL ++netdev_alloc_skb_ip_align_40811 netdev_alloc_skb_ip_align 2 40811 NULL ++nl80211_send_roamed_40825 nl80211_send_roamed 5-7 40825 NULL ++__mlx4_qp_reserve_range_40847 __mlx4_qp_reserve_range 2-3 40847 NULL ++ocfs2_zero_partial_clusters_40856 ocfs2_zero_partial_clusters 2-3 40856 NULL ++v9fs_file_read_40858 v9fs_file_read 3 40858 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 ++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 ++skb_end_offset_40949 skb_end_offset 0 40949 NULL ++wm8994_free_irq_40951 wm8994_free_irq 2 40951 NULL ++rds_sendmsg_40976 rds_sendmsg 4 40976 NULL ++insert_old_idx_40987 insert_old_idx 0 40987 NULL ++il_dbgfs_fh_reg_read_40993 il_dbgfs_fh_reg_read 3 40993 NULL ++mac80211_format_buffer_41010 mac80211_format_buffer 2 41010 NULL ++mtd_block_isbad_41015 mtd_block_isbad 0 41015 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 nohasharray ++nvme_map_user_pages_41093 nvme_map_user_pages 3-4 41093 &roccat_read_41093 ++dma_attach_41094 dma_attach 5-6 41094 NULL ++provide_user_output_41105 provide_user_output 3 41105 NULL ++f_audio_buffer_alloc_41110 f_audio_buffer_alloc 1 41110 NULL ++v4l2_ctrl_new_int_menu_41151 v4l2_ctrl_new_int_menu 4 41151 NULL ++tx_frag_mpdu_alloc_failed_read_41167 tx_frag_mpdu_alloc_failed_read 3 41167 NULL ++dvb_ca_write_41171 dvb_ca_write 3 41171 NULL ++ol_quota_chunk_block_41177 ol_quota_chunk_block 0-2 41177 NULL ++netif_get_num_default_rss_queues_41187 netif_get_num_default_rss_queues 0 41187 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 ++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 ++__fprog_create_41263 __fprog_create 2 41263 NULL ++alloc_context_41283 alloc_context 1 41283 NULL ++arch_gnttab_map_shared_41306 arch_gnttab_map_shared 3 41306 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 ++rx_defrag_decrypt_failed_read_41411 rx_defrag_decrypt_failed_read 3 41411 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 ++iio_device_alloc_41440 iio_device_alloc 1 41440 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 ++snd_pcm_status_41472 snd_pcm_status 0 41472 NULL ++rt2x00debug_write_rfcsr_41473 rt2x00debug_write_rfcsr 3 41473 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 ++tx_tx_frame_checksum_read_41553 tx_tx_frame_checksum_read 3 41553 NULL ++ath6kl_endpoint_stats_read_41554 ath6kl_endpoint_stats_read 3 41554 NULL ++gserial_setup_41558 gserial_setup 2 41558 NULL ++nr_status_frames_41559 nr_status_frames 0-1 41559 NULL ++batadv_receive_client_update_packet_41578 batadv_receive_client_update_packet 3 41578 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 ++a2mp_send_41615 a2mp_send 4 41615 NULL ++mempool_create_kmalloc_pool_41650 mempool_create_kmalloc_pool 1 41650 NULL ++rx_rx_pre_complt_read_41653 rx_rx_pre_complt_read 3 41653 NULL ++get_std_timing_41654 get_std_timing 0 41654 NULL ++squashfs_cache_init_41656 squashfs_cache_init 2 41656 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 ++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 ++fillonedir_41746 fillonedir 3 41746 NULL ++ocfs2_dx_dir_rebalance_41793 ocfs2_dx_dir_rebalance 7 41793 NULL ++hsi_alloc_controller_41802 hsi_alloc_controller 1 41802 NULL ++da9052_enable_irq_41814 da9052_enable_irq 2 41814 NULL ++sco_send_frame_41815 sco_send_frame 3 41815 NULL ++ixgbe_dbg_netdev_ops_read_41839 ixgbe_dbg_netdev_ops_read 3 41839 NULL ++do_ip_setsockopt_41852 do_ip_setsockopt 5 41852 NULL ++irq_data_to_status_reg_41854 irq_data_to_status_reg 0 41854 NULL ++keyctl_instantiate_key_41855 keyctl_instantiate_key 3 41855 NULL ++ieee80211_rx_radiotap_space_41870 ieee80211_rx_radiotap_space 0 41870 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 ++ext4_da_write_inline_data_begin_41935 ext4_da_write_inline_data_begin 3-4 41935 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 ++ubi_self_check_all_ff_41959 ubi_self_check_all_ff 4 41959 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 ++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 ++dma_generic_alloc_coherent_42048 dma_generic_alloc_coherent 2 42048 NULL nohasharray ++jffs2_do_link_42048 jffs2_do_link 6 42048 &dma_generic_alloc_coherent_42048 ++ps_poll_upsd_max_ap_turn_read_42050 ps_poll_upsd_max_ap_turn_read 3 42050 NULL ++InterfaceTransmitPacket_42058 InterfaceTransmitPacket 3 42058 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 ++Read_hfc16_stable_42131 Read_hfc16_stable 0 42131 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 ++rx_defrag_need_decrypt_read_42253 rx_defrag_need_decrypt_read 3 42253 NULL ++netxen_nic_map_indirect_address_128M_42257 netxen_nic_map_indirect_address_128M 2 42257 NULL ++savu_sysfs_write_42273 savu_sysfs_write 6 42273 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 ++xfs_vm_readpages_42308 xfs_vm_readpages 4 42308 NULL ++hysdn_conf_read_42324 hysdn_conf_read 3 42324 NULL ++tcp_sync_mss_42330 tcp_sync_mss 2-0 42330 NULL ++snd_pcm_plug_alloc_42339 snd_pcm_plug_alloc 2 42339 NULL ++ide_raw_taskfile_42355 ide_raw_taskfile 4 42355 NULL ++il_dbgfs_disable_ht40_read_42386 il_dbgfs_disable_ht40_read 3 42386 NULL ++msnd_fifo_read_42406 msnd_fifo_read 0-3 42406 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 ++tc3589x_gpio_irq_get_virq_42457 tc3589x_gpio_irq_get_virq 2 42457 NULL ++ext3_valid_block_bitmap_42459 ext3_valid_block_bitmap 3 42459 NULL ++__simple_xattr_set_42474 __simple_xattr_set 4 42474 NULL ++follow_hugetlb_page_42486 follow_hugetlb_page 0-7 42486 NULL ++omfs_readpages_42490 omfs_readpages 4 42490 NULL ++brcmf_sdbrcm_bus_txctl_42492 brcmf_sdbrcm_bus_txctl 3 42492 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 ++i915_ring_stop_read_42549 i915_ring_stop_read 3 42549 NULL nohasharray ++ath6kl_wmi_proc_events_vif_42549 ath6kl_wmi_proc_events_vif 5 42549 &i915_ring_stop_read_42549 ++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-2 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 ++sierra_net_send_cmd_42708 sierra_net_send_cmd 3 42708 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 ++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 ++xfs_buf_read_uncached_42844 xfs_buf_read_uncached 3 42844 NULL ++prandom_u32_42853 prandom_u32 0 42853 NULL ++of_property_count_strings_42863 of_property_count_strings 0 42863 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 ++SendTxCommandPacket_42901 SendTxCommandPacket 3 42901 NULL ++hd_end_request_42904 hd_end_request 2 42904 NULL ++sta_last_rx_rate_read_42909 sta_last_rx_rate_read 3 42909 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 ++read_file_node_stat_42964 read_file_node_stat 3 42964 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 ++wep_default_key_count_read_43035 wep_default_key_count_read 3 43035 NULL ++nouveau_gpuobj_create__43072 nouveau_gpuobj_create_ 9 43072 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 ++read_file_dfs_43145 read_file_dfs 3 43145 NULL ++uuid_string_43154 uuid_string 0 43154 NULL ++usb_string_sub_43164 usb_string_sub 0 43164 NULL ++il_dbgfs_power_save_status_read_43165 il_dbgfs_power_save_status_read 3 43165 NULL ++ath6kl_set_assoc_req_ies_43185 ath6kl_set_assoc_req_ies 3 43185 NULL ++process_measurement_43190 process_measurement 0 43190 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 ++f2fs_acl_from_disk_43210 f2fs_acl_from_disk 2 43210 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 ++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 ++mpage_alloc_43299 mpage_alloc 3 43299 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 ++gart_free_coherent_43362 gart_free_coherent 4-2 43362 NULL ++xenfb_write_43412 xenfb_write 3 43412 NULL ++__alloc_bootmem_low_43423 __alloc_bootmem_low 1 43423 NULL nohasharray ++gdm_wimax_netif_rx_43423 gdm_wimax_netif_rx 3 43423 &__alloc_bootmem_low_43423 ++usb_alloc_urb_43436 usb_alloc_urb 1 43436 NULL ++ath6kl_wmi_roam_tbl_event_rx_43440 ath6kl_wmi_roam_tbl_event_rx 3 43440 NULL ++usb_string_43443 usb_string 0 43443 NULL nohasharray ++usemap_size_43443 usemap_size 0-2-1 43443 &usb_string_43443 ++alloc_new_reservation_43480 alloc_new_reservation 4 43480 NULL ++tx_tx_data_prepared_read_43497 tx_tx_data_prepared_read 3 43497 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 ++tx_frag_failed_read_43540 tx_frag_failed_read 3 43540 NULL nohasharray ++ufs_alloccg_block_43540 ufs_alloccg_block 3-0 43540 &tx_frag_failed_read_43540 ++ath_rx_init_43564 ath_rx_init 2 43564 NULL ++_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 ++bio_integrity_tag_43658 bio_integrity_tag 3 43658 NULL ++tps65217_set_bits_43659 tps65217_set_bits 2 43659 NULL nohasharray ++ext4_acl_count_43659 ext4_acl_count 0-1 43659 &tps65217_set_bits_43659 ++dmam_declare_coherent_memory_43679 dmam_declare_coherent_memory 4-2 43679 NULL ++calgary_map_page_43686 calgary_map_page 3-4 43686 NULL ++max77693_bulk_write_43698 max77693_bulk_write 2-3 43698 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 ++osdv1_attr_list_elem_size_43747 osdv1_attr_list_elem_size 0-1 43747 NULL ++__bm_find_next_43748 __bm_find_next 2 43748 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 ++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 ++p54_download_eeprom_43842 p54_download_eeprom 4 43842 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 ++pm860x_bulk_write_43875 pm860x_bulk_write 3-2 43875 NULL ++ec_dbgfs_cmd_write_43895 ec_dbgfs_cmd_write 3 43895 NULL ++prism2_sta_send_mgmt_43916 prism2_sta_send_mgmt 5 43916 NULL ++SendString_43928 SendString 3 43928 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 ++emit_flags_44006 emit_flags 4-3 44006 NULL ++write_flush_procfs_44011 write_flush_procfs 3 44011 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 ++__set_free_44211 __set_free 2 44211 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 ++tc3589x_gpio_irq_map_44245 tc3589x_gpio_irq_map 2 44245 NULL ++enlarge_skb_44248 enlarge_skb 2 44248 NULL nohasharray ++xfs_buf_readahead_map_44248 xfs_buf_readahead_map 3 44248 &enlarge_skb_44248 ++ufs_clusteracct_44293 ufs_clusteracct 3 44293 NULL ++ocfs2_zero_range_for_truncate_44294 ocfs2_zero_range_for_truncate 3 44294 NULL ++ath6kl_keepalive_read_44303 ath6kl_keepalive_read 3 44303 NULL ++bitmap_scnprintf_44318 bitmap_scnprintf 0-2 44318 NULL ++dispatch_proc_write_44320 dispatch_proc_write 3 44320 NULL ++ubi_eba_write_leb_st_44343 ubi_eba_write_leb_st 5 44343 NULL ++nfs_fscache_get_super_cookie_44355 nfs_fscache_get_super_cookie 3 44355 NULL nohasharray ++blk_queue_init_tags_44355 blk_queue_init_tags 2 44355 &nfs_fscache_get_super_cookie_44355 ++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 ++ieee80211_if_read_rc_rateidx_mcs_mask_5ghz_44423 ieee80211_if_read_rc_rateidx_mcs_mask_5ghz 3 44423 NULL ++prandom_u32_state_44445 prandom_u32_state 0 44445 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_drop_44542 snd_pcm_drop 0 44542 NULL ++dbg_chk_pnode_44555 dbg_chk_pnode 0 44555 NULL ++snd_pcm_alloc_vmalloc_buffer_44595 snd_pcm_alloc_vmalloc_buffer 2 44595 NULL ++slip_compat_ioctl_44599 slip_compat_ioctl 4 44599 NULL ++wm5100_gpio_set_44602 wm5100_gpio_set 2 44602 NULL ++brcmf_sdbrcm_glom_len_44618 brcmf_sdbrcm_glom_len 0 44618 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 ++mpi_resize_44674 mpi_resize 2 44674 NULL ++ts_read_44687 ts_read 3 44687 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 ++WIL_GET_BITS_44747 WIL_GET_BITS 0-1-2-3 44747 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 ++handsfree_ramp_44777 handsfree_ramp 2 44777 NULL ++sctp_setsockopt_44788 sctp_setsockopt 5 44788 NULL ++rx_dropped_read_44799 rx_dropped_read 3 44799 NULL ++qla4xxx_alloc_work_44813 qla4xxx_alloc_work 2 44813 NULL ++rmap_write_protect_44833 rmap_write_protect 2 44833 NULL ++sisusb_write_44834 sisusb_write 3 44834 NULL ++nl80211_send_unprot_disassoc_44846 nl80211_send_unprot_disassoc 4 44846 NULL ++kvm_read_hva_44847 kvm_read_hva 3 44847 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 ++nf_nat_seq_adjust_44989 nf_nat_seq_adjust 4 44989 NULL ++max77693_write_reg_45004 max77693_write_reg 2 45004 NULL ++ftdi_process_packet_45005 ftdi_process_packet 5 45005 NULL ++bytepos_delta_45017 bytepos_delta 0 45017 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 ++kvm_mmu_page_get_gfn_45110 kvm_mmu_page_get_gfn 0-2 45110 NULL ++pwr_missing_bcns_cnt_read_45113 pwr_missing_bcns_cnt_read 3 45113 NULL ++usbdev_read_45114 usbdev_read 3 45114 NULL ++send_to_tty_45141 send_to_tty 3 45141 NULL ++stmpe_irq_map_45146 stmpe_irq_map 2 45146 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 ++input_mt_init_slots_45279 input_mt_init_slots 2 45279 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 ++ieee80211_if_fmt_dot11MeshHWMProotInterval_45421 ieee80211_if_fmt_dot11MeshHWMProotInterval 3 45421 NULL ++tty_buffer_alloc_45437 tty_buffer_alloc 2 45437 NULL ++do_mmap_pgoff_45441 do_mmap_pgoff 0 45441 NULL ++intel_render_ring_init_dri_45446 intel_render_ring_init_dri 2-3 45446 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 ++udp_manip_pkt_45467 udp_manip_pkt 4 45467 NULL ++tracing_read_dyn_info_45468 tracing_read_dyn_info 3 45468 NULL ++snd_pcm_hwsync_45479 snd_pcm_hwsync 0 45479 NULL ++arizona_init_fll_45503 arizona_init_fll 4-5 45503 NULL ++rds_message_copy_from_user_45510 rds_message_copy_from_user 3 45510 NULL ++clone_bio_45516 clone_bio 6 45516 NULL ++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 3-2 61917 NULL +copy_macs_45534 copy_macs 4 45534 NULL -+sctp_sendmsg_61919 sctp_sendmsg 4 61919 NULL -+listxattr_12769 listxattr 3 12769 NULL -+xfs_buf_get_maps_4581 xfs_buf_get_maps 2 4581 NULL -+wdm_write_53735 wdm_write 3 53735 NULL -+snd_rme9652_playback_copy_20970 snd_rme9652_playback_copy 5 20970 NULL -+send_bulk_static_data_61932 send_bulk_static_data 3 61932 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 -+mempool_create_29437 mempool_create 1 29437 NULL -+platform_create_bundle_12785 platform_create_bundle 4-6 12785 NULL -+brcmf_tx_frame_20978 brcmf_tx_frame 3 20978 NULL -+sock_alloc_send_pskb_21246 sock_alloc_send_pskb 2 21246 NULL ++atomic_long_sub_return_45551 atomic_long_sub_return 1 45551 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 -+alg_setsockopt_20985 alg_setsockopt 5 20985 NULL ++posix_acl_xattr_size_45561 posix_acl_xattr_size 0-1 45561 NULL +venus_rmdir_45564 venus_rmdir 4 45564 NULL -+scsi_adjust_queue_depth_12802 scsi_adjust_queue_depth 3 12802 NULL -+rsa_extract_mpi_6973 rsa_extract_mpi 5 6973 NULL -+squashfs_read_id_index_table_61961 squashfs_read_id_index_table 4 61961 NULL -+mgmt_event_12810 mgmt_event 4 12810 NULL -+ntfs_rl_realloc_nofail_32173 ntfs_rl_realloc_nofail 3 32173 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 nohasharray -+alloc_group_attrs_29203 alloc_group_attrs 3 29203 &wusb_prf_256_29203 -+comedi_alloc_subdevices_29207 comedi_alloc_subdevices 2 29207 NULL +rdma_set_ib_paths_45592 rdma_set_ib_paths 3 45592 NULL -+compat_udpv6_setsockopt_42981 compat_udpv6_setsockopt 5 42981 NULL -+rds_iw_inc_copy_to_user_29214 rds_iw_inc_copy_to_user 3 29214 NULL -+zd_usb_iowrite16v_async_23984 zd_usb_iowrite16v_async 3 23984 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_ioctl_12846 spidev_ioctl 2 12846 NULL -+t4vf_pktgl_to_skb_39005 t4vf_pktgl_to_skb 2 39005 NULL ++hidraw_get_report_45609 hidraw_get_report 3 45609 NULL +audit_log_n_hex_45617 audit_log_n_hex 3 45617 NULL -+devm_ioremap_29235 devm_ioremap 2-3 29235 NULL -+irq_domain_add_linear_29236 irq_domain_add_linear 2 29236 NULL -+recover_peb_29238 recover_peb 6-7 29238 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 -+tun_sendmsg_10337 tun_sendmsg 4 10337 NULL -+skb_add_data_nocache_4682 skb_add_data_nocache 4 4682 NULL -+cx18_read_pos_4683 cx18_read_pos 3 4683 NULL -+brcmf_sdio_dump_console_37455 brcmf_sdio_dump_console 4 37455 NULL -+pmcraid_build_passthrough_ioadls_62034 pmcraid_build_passthrough_ioadls 2 62034 NULL -+event_calibration_read_21083 event_calibration_read 3 21083 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 ++da9052_gpio_set_45643 da9052_gpio_set 2 45643 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 -+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 -+kmem_realloc_37489 kmem_realloc 2 37489 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 -+sg_read_25799 sg_read 3 25799 NULL -+uwb_rc_cmd_done_35892 uwb_rc_cmd_done 4 35892 NULL -+ci_ll_init_12930 ci_ll_init 3 12930 NULL -+unix_dgram_sendmsg_45699 unix_dgram_sendmsg 4 45699 NULL -+nouveau_namedb_create__26732 nouveau_namedb_create_ 7 26732 NULL -+pwr_disable_ps_read_13176 pwr_disable_ps_read 3 13176 NULL -+vmalloc_32_user_37519 vmalloc_32_user 1 37519 NULL -+fd_do_writev_29329 fd_do_writev 3 29329 NULL -+hugetlb_cgroup_read_49259 hugetlb_cgroup_read 5 49259 NULL -+do_ip_vs_set_ctl_48641 do_ip_vs_set_ctl 4 48641 NULL -+ecryptfs_send_message_locked_31801 ecryptfs_send_message_locked 2 31801 NULL ++dm_compat_ctl_ioctl_45692 dm_compat_ctl_ioctl 3 45692 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 +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 -+ath6kl_mgmt_tx_21153 ath6kl_mgmt_tx 9 21153 NULL -+l2cap_sock_setsockopt_old_29346 l2cap_sock_setsockopt_old 4 29346 NULL -+bm_status_write_12964 bm_status_write 3 12964 NULL -+mmc_test_alloc_mem_28102 mmc_test_alloc_mem 3-2 28102 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-6-7 4780 NULL -+sep_create_dcb_dmatables_context_37551 sep_create_dcb_dmatables_context 6 37551 NULL nohasharray -+nf_nat_mangle_tcp_packet_37551 nf_nat_mangle_tcp_packet 6-8 37551 &sep_create_dcb_dmatables_context_37551 -+bnad_debugfs_write_regrd_6706 bnad_debugfs_write_regrd 3 6706 NULL +rw_copy_check_uvector_45748 rw_copy_check_uvector 3 45748 NULL nohasharray +v4l2_ctrl_new_std_45748 v4l2_ctrl_new_std 5 45748 &rw_copy_check_uvector_45748 -+qib_diag_write_62133 qib_diag_write 3 62133 NULL -+gnttab_expand_15817 gnttab_expand 1 15817 NULL +lkdtm_debugfs_read_45752 lkdtm_debugfs_read 3 45752 NULL -+sctp_make_chunk_12986 sctp_make_chunk 4 12986 NULL -+sisusb_send_packet_20891 sisusb_send_packet 2 20891 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 -+repair_io_failure_4815 repair_io_failure 4 4815 NULL -+xhci_alloc_streams_37586 xhci_alloc_streams 5 37586 NULL -+p9_client_zc_rpc_14345 p9_client_zc_rpc 7 14345 NULL -+bnx2i_send_nl_mesg_53353 bnx2i_send_nl_mesg 4 53353 NULL -+ipc_rcu_alloc_21208 ipc_rcu_alloc 1 21208 NULL -+___alloc_bootmem_nopanic_53626 ___alloc_bootmem_nopanic 1 53626 NULL -+subsystem_filter_write_13022 subsystem_filter_write 3 13022 NULL -+tracing_max_lat_read_8890 tracing_max_lat_read 3 8890 NULL ++nilfs_compat_ioctl_45769 nilfs_compat_ioctl 3 45769 NULL ++alloc_ts_config_45775 alloc_ts_config 1 45775 NULL +raw_setsockopt_45800 raw_setsockopt 5 45800 NULL -+alloc_upcall_62186 alloc_upcall 2 62186 NULL -+kvm_read_guest_page_mmu_37611 kvm_read_guest_page_mmu 6 37611 NULL -+drm_compat_ioctl_51717 drm_compat_ioctl 2 51717 NULL +lbs_rdbbp_read_45805 lbs_rdbbp_read 3 45805 NULL +pcpu_alloc_alloc_info_45813 pcpu_alloc_alloc_info 1-2 45813 NULL -+input_ff_create_21240 input_ff_create 2 21240 NULL -+sock_kmalloc_62205 sock_kmalloc 2 62205 NULL -+key_tx_spec_read_4862 key_tx_spec_read 3 4862 NULL -+__dn_setsockopt_13060 __dn_setsockopt 5 13060 NULL ++fm_v4l2_init_video_device_45821 fm_v4l2_init_video_device 2 45821 NULL ++memcg_update_cache_size_45828 memcg_update_cache_size 2 45828 NULL +amthi_read_45831 amthi_read 4 45831 NULL ++x509_process_extension_45854 x509_process_extension 5 45854 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 ++dbgfs_frame_45917 dbgfs_frame 3 45917 NULL ++nf_nat_ftp_fmt_cmd_45926 nf_nat_ftp_fmt_cmd 0 45926 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 ++slhc_toss_46066 slhc_toss 0 46066 NULL ++sel_commit_bools_write_46077 sel_commit_bools_write 3 46077 NULL ++vfio_config_do_rw_46091 vfio_config_do_rw 3 46091 NULL ++ata_host_alloc_46094 ata_host_alloc 2 46094 NULL ++arizona_set_irq_wake_46101 arizona_set_irq_wake 2 46101 NULL ++pkt_ctl_compat_ioctl_46110 pkt_ctl_compat_ioctl 3 46110 NULL ++il3945_ucode_general_stats_read_46111 il3945_ucode_general_stats_read 3 46111 NULL nohasharray ++memcg_update_array_size_46111 memcg_update_array_size 1 46111 &il3945_ucode_general_stats_read_46111 ++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 ++twl_direction_out_46182 twl_direction_out 2 46182 NULL ++vxge_os_dma_malloc_46184 vxge_os_dma_malloc 2 46184 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 ++mpi_read_raw_data_46248 mpi_read_raw_data 2 46248 NULL ++__le64_to_cpup_46257 __le64_to_cpup 0 46257 NULL ++nf_nat_ftp_46265 nf_nat_ftp 6 46265 NULL ++ReadReg_46277 ReadReg 0 46277 NULL ++batadv_iv_ogm_queue_add_46319 batadv_iv_ogm_queue_add 3 46319 NULL ++__hwahc_dev_set_key_46328 __hwahc_dev_set_key 5 46328 NULL ++twl6040_write_46351 twl6040_write 2 46351 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 ++ubi_dump_flash_46381 ubi_dump_flash 4 46381 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 ++fill_in_write_vector_46498 fill_in_write_vector 0 46498 NULL ++pin_code_reply_46510 pin_code_reply 4 46510 NULL ++mthca_alloc_cq_buf_46512 mthca_alloc_cq_buf 3 46512 NULL ++kmsg_read_46514 kmsg_read 3 46514 NULL ++bdx_rxdb_create_46525 bdx_rxdb_create 1 46525 NULL ++nl80211_send_rx_assoc_46538 nl80211_send_rx_assoc 4 46538 NULL ++pm860x_irq_domain_map_46553 pm860x_irq_domain_map 2 46553 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 ++irq_domain_associate_46564 irq_domain_associate 2 46564 NULL ++dn_current_mss_46574 dn_current_mss 0 46574 NULL ++serverworks_create_gatt_pages_46582 serverworks_create_gatt_pages 1 46582 NULL ++snd_compr_write_data_46592 snd_compr_write_data 3 46592 NULL ++il3945_stats_flag_46606 il3945_stats_flag 0-3 46606 NULL ++vscnprintf_46617 vscnprintf 0-2 46617 NULL ++__kfifo_out_r_46623 __kfifo_out_r 0-3 46623 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 ++av7110_ipack_init_46655 av7110_ipack_init 2 46655 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 ++wl1271_rx_filter_alloc_field_46721 wl1271_rx_filter_alloc_field 5 46721 NULL ++prepare_copy_46725 prepare_copy 2 46725 NULL ++irq_domain_add_simple_46734 irq_domain_add_simple 2-3 46734 NULL ++ext4_count_free_46754 ext4_count_free 2 46754 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 ++regcache_lzo_sync_46777 regcache_lzo_sync 2 46777 NULL ++scrub_chunk_46789 scrub_chunk 4 46789 NULL ++_sys_packet_req_46793 _sys_packet_req 4 46793 NULL ++_xfs_buf_get_pages_46811 _xfs_buf_get_pages 2 46811 NULL ++xfs_iroot_realloc_46826 xfs_iroot_realloc 2 46826 NULL ++shmem_pwrite_fast_46842 shmem_pwrite_fast 3 46842 NULL ++ieee80211_rx_radiotap_len_46846 ieee80211_rx_radiotap_len 0 46846 NULL ++spi_async_46857 spi_async 0 46857 NULL ++ieee80211_mgmt_tx_46860 ieee80211_mgmt_tx 9 46860 NULL ++vsnprintf_46863 vsnprintf 0 46863 NULL ++nvme_alloc_queue_46865 nvme_alloc_queue 3 46865 NULL ++sip_sprintf_addr_46872 sip_sprintf_addr 0 46872 NULL ++rvmalloc_46873 rvmalloc 1 46873 NULL ++hpi_read_word_nolock_46881 hpi_read_word_nolock 0 46881 NULL ++stmpe_gpio_irq_unmap_46884 stmpe_gpio_irq_unmap 2 46884 NULL ++em28xx_alloc_isoc_46892 em28xx_alloc_isoc 4 46892 NULL ++ixgbe_dbg_reg_ops_write_46895 ixgbe_dbg_reg_ops_write 3 46895 NULL ++sk_mem_pages_46896 sk_mem_pages 0-1 46896 NULL ++ol_dqblk_off_46904 ol_dqblk_off 3-2 46904 NULL ++fb_write_46924 fb_write 3 46924 NULL ++raid_status_46930 raid_status 5 46930 NULL ++btmrvl_curpsmode_read_46939 btmrvl_curpsmode_read 3 46939 NULL ++__sctp_setsockopt_connectx_46949 __sctp_setsockopt_connectx 3 46949 NULL ++qla4xxx_post_aen_work_46953 qla4xxx_post_aen_work 3 46953 NULL ++crypto_tfm_alg_alignmask_46971 crypto_tfm_alg_alignmask 0 46971 NULL ++mgmt_pending_add_46976 mgmt_pending_add 5 46976 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 ++set_dis_bypass_pfs_47038 set_dis_bypass_pfs 3 47038 NULL ++wm8994_set_bits_47052 wm8994_set_bits 2 47052 NULL ++fs_path_len_47060 fs_path_len 0 47060 NULL ++ufs_new_fragments_47070 ufs_new_fragments 3-5-4 47070 NULL ++pipeline_dec_packet_in_read_47076 pipeline_dec_packet_in_read 3 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 ++persistent_ram_iomap_47156 persistent_ram_iomap 1-2 47156 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 ++rts51x_ms_rw_47171 rts51x_ms_rw 3-4 47171 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 ++wm8903_gpio_direction_in_47213 wm8903_gpio_direction_in 2 47213 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 ++da9052_disable_irq_nosync_47260 da9052_disable_irq_nosync 2 47260 NULL ++ablkcipher_next_slow_47274 ablkcipher_next_slow 4-3 47274 NULL ++tty_audit_log_47280 tty_audit_log 8 47280 NULL ++gfs2_readpages_47285 gfs2_readpages 4 47285 NULL ++vsnprintf_47291 vsnprintf 0 47291 NULL ++tx_internal_desc_overflow_read_47300 tx_internal_desc_overflow_read 3 47300 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 ++nametbl_list_47391 nametbl_list 2 47391 NULL ++dgrp_net_write_47392 dgrp_net_write 3 47392 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 ++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 ++snd_pcm_resume_47530 snd_pcm_resume 0 47530 NULL ++vscnprintf_47533 vscnprintf 0-2 47533 NULL nohasharray ++process_vm_rw_47533 process_vm_rw 3-5 47533 &vscnprintf_47533 ++oz_events_read_47535 oz_events_read 3 47535 NULL ++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 ++wm831x_gpio_direction_out_47607 wm831x_gpio_direction_out 2 47607 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 ++tps65217_clear_bits_47619 tps65217_clear_bits 2 47619 NULL ++twl4030_clear_set_47624 twl4030_clear_set 4 47624 NULL ++irq_set_chip_47638 irq_set_chip 1 47638 NULL ++__build_packet_message_47643 __build_packet_message 3-9 47643 NULL ++irq_linear_revmap_47682 irq_linear_revmap 0 47682 NULL ++snd_pcm_info_47699 snd_pcm_info 0 47699 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 ++irq_domain_legacy_revmap_47765 irq_domain_legacy_revmap 0-2 47765 NULL ++i915_wedged_write_47771 i915_wedged_write 3 47771 NULL ++uwb_ie_dump_hex_47774 uwb_ie_dump_hex 4 47774 NULL ++error_error_numll_frame_cts_start_read_47781 error_error_numll_frame_cts_start_read 3 47781 NULL ++posix_acl_fix_xattr_from_user_47793 posix_acl_fix_xattr_from_user 2 47793 NULL ++stmmac_set_bfsize_47834 stmmac_set_bfsize 0 47834 NULL ++__pcf50633_irq_mask_set_47847 __pcf50633_irq_mask_set 2 47847 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 ++timeout_read_47915 timeout_read 3 47915 NULL ++comedi_write_47926 comedi_write 3 47926 NULL ++lp8788_irq_map_47964 lp8788_irq_map 2 47964 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 ++dbg_port_buf_47990 dbg_port_buf 2 47990 NULL ++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 ++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 ++radio_isa_common_probe_48107 radio_isa_common_probe 3 48107 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 ++set_discoverable_48141 set_discoverable 4 48141 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 ++c4iw_id_table_alloc_48163 c4iw_id_table_alloc 3 48163 NULL ++ocfs2_find_next_zero_bit_unaligned_48170 ocfs2_find_next_zero_bit_unaligned 2-3 48170 NULL ++alloc_cc770dev_48186 alloc_cc770dev 1 48186 NULL ++init_ipath_48187 init_ipath 1 48187 NULL nohasharray ++ieee80211_send_auth_48187 ieee80211_send_auth 6 48187 &init_ipath_48187 ++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 ++nilfs_readpages_48229 nilfs_readpages 4 48229 NULL ++read_file_recv_48232 read_file_recv 3 48232 NULL ++unaccount_shadowed_48233 unaccount_shadowed 2 48233 NULL nohasharray ++blk_rq_pos_48233 blk_rq_pos 0 48233 &unaccount_shadowed_48233 ++nfsctl_transaction_read_48250 nfsctl_transaction_read 3 48250 NULL ++cache_write_pipefs_48270 cache_write_pipefs 3 48270 NULL ++send_set_info_48288 send_set_info 7 48288 NULL ++set_disc_pwup_pfs_48300 set_disc_pwup_pfs 3 48300 NULL ++lpfc_idiag_extacc_read_48301 lpfc_idiag_extacc_read 3 48301 NULL ++timblogiw_read_48305 timblogiw_read 3 48305 NULL ++hash_setkey_48310 hash_setkey 3 48310 NULL ++__alloc_fd_48356 __alloc_fd 2 48356 NULL ++skb_add_data_48363 skb_add_data 3 48363 NULL ++tx_frag_init_called_read_48377 tx_frag_init_called_read 3 48377 NULL ++lbs_debugfs_write_48413 lbs_debugfs_write 3 48413 NULL ++snd_power_wait_48422 snd_power_wait 0 48422 NULL ++pwr_tx_without_ps_read_48423 pwr_tx_without_ps_read 3 48423 NULL ++nfs4_alloc_pages_48426 nfs4_alloc_pages 1 48426 NULL ++tun_recvmsg_48463 tun_recvmsg 4 48463 NULL ++r8712_usbctrl_vendorreq_48489 r8712_usbctrl_vendorreq 6 48489 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 ++count_masked_bytes_48507 count_masked_bytes 0-1 48507 NULL ++diva_os_copy_to_user_48508 diva_os_copy_to_user 4 48508 NULL ++brcmf_sdio_trap_info_48510 brcmf_sdio_trap_info 4 48510 NULL ++phantom_get_free_48514 phantom_get_free 0 48514 NULL ++wiimote_hid_send_48528 wiimote_hid_send 3 48528 NULL ++ext3_splice_branch_48531 ext3_splice_branch 6 48531 NULL ++named_distribute_48544 named_distribute 4 48544 NULL ++raid10_size_48571 raid10_size 0-2-3 48571 NULL ++ext_sd_execute_read_data_48589 ext_sd_execute_read_data 9 48589 NULL ++ufs_dtogd_48616 ufs_dtogd 0-2 48616 NULL ++do_ip_vs_set_ctl_48641 do_ip_vs_set_ctl 4 48641 NULL ++mtd_read_48655 mtd_read 0 48655 NULL ++lc_create_48662 lc_create 3 48662 NULL ++aes_encrypt_packets_read_48666 aes_encrypt_packets_read 3 48666 NULL ++sm501_create_subdev_48668 sm501_create_subdev 3-4 48668 NULL nohasharray ++sys_setgroups_48668 sys_setgroups 1 48668 &sm501_create_subdev_48668 ++altera_drscan_48698 altera_drscan 2 48698 NULL ++kvm_set_irq_routing_48704 kvm_set_irq_routing 3 48704 NULL ++ath6kl_usb_bmi_read_48745 ath6kl_usb_bmi_read 3 48745 NULL ++ath6kl_regwrite_read_48747 ath6kl_regwrite_read 3 48747 NULL ++l2cap_segment_sdu_48772 l2cap_segment_sdu 4 48772 NULL ++lua_sysfs_write_48797 lua_sysfs_write 6 48797 NULL ++il3945_sta_dbgfs_stats_table_read_48802 il3945_sta_dbgfs_stats_table_read 3 48802 NULL ++twa_change_queue_depth_48808 twa_change_queue_depth 2 48808 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 ++viafb_dvp1_proc_write_48864 viafb_dvp1_proc_write 3 48864 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 nohasharray ++snd_pcm_update_hw_ptr_48925 snd_pcm_update_hw_ptr 0 48925 &gdth_isa_probe_one_48925 ++sep_crypto_dma_48937 sep_crypto_dma 0 48937 NULL ++event_heart_beat_read_48961 event_heart_beat_read 3 48961 NULL ++nand_ecc_test_run_48966 nand_ecc_test_run 1 48966 NULL ++batadv_orig_hash_del_if_48972 batadv_orig_hash_del_if 2 48972 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 ++tps65910_reg_write_49066 tps65910_reg_write 2 49066 NULL ++calc_layout_49074 calc_layout 4 49074 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 ++tipc_multicast_49144 tipc_multicast 5 49144 NULL ++atyfb_setup_generic_49151 atyfb_setup_generic 3 49151 NULL ++ipwireless_tty_received_49154 ipwireless_tty_received 3 49154 NULL ++f2fs_acl_count_49155 f2fs_acl_count 0-1 49155 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 ++il4965_rs_sta_dbgfs_stats_table_read_49206 il4965_rs_sta_dbgfs_stats_table_read 3 49206 NULL ++do_jffs2_getxattr_49210 do_jffs2_getxattr 0 49210 NULL ++pcf50633_gpio_invert_set_49256 pcf50633_gpio_invert_set 2 49256 NULL ++hugetlb_cgroup_read_49259 hugetlb_cgroup_read 5 49259 NULL ++ieee80211_if_read_rssi_threshold_49260 ieee80211_if_read_rssi_threshold 3 49260 NULL ++osd_req_add_get_attr_list_49278 osd_req_add_get_attr_list 3 49278 NULL ++rx_filter_beacon_filter_read_49279 rx_filter_beacon_filter_read 3 49279 NULL ++uio_read_49300 uio_read 3 49300 NULL ++ocfs2_resmap_find_free_bits_49301 ocfs2_resmap_find_free_bits 3 49301 NULL ++fwtty_port_handler_49327 fwtty_port_handler 9 49327 NULL ++srpt_alloc_ioctx_ring_49330 srpt_alloc_ioctx_ring 2-3-4 49330 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 ++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 ++compat_do_msg_fill_49440 compat_do_msg_fill 3 49440 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 ++savu_sysfs_read_49473 savu_sysfs_read 6 49473 NULL ++ieee80211_ie_split_49474 ieee80211_ie_split 0-5 49474 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 ++wm831x_dcdc_set_mode_int_49546 wm831x_dcdc_set_mode_int 2 49546 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 ++btrfsic_cmp_log_and_dev_bytenr_49628 btrfsic_cmp_log_and_dev_bytenr 2 49628 NULL ++svm_set_msr_49643 svm_set_msr 3 49643 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 ++sep_create_dcb_dmatables_context_kernel_49728 sep_create_dcb_dmatables_context_kernel 6 49728 NULL ++sys_fsetxattr_49736 sys_fsetxattr 4 49736 NULL ++check_frame_49741 check_frame 0 49741 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 ++isku_sysfs_write_49767 isku_sysfs_write 6 49767 NULL ++ceph_osdc_readpages_49789 ceph_osdc_readpages 10-4 49789 NULL ++nfs4_acl_new_49806 nfs4_acl_new 1 49806 NULL ++arch_gnttab_map_status_49812 arch_gnttab_map_status 3 49812 NULL ++ntfs_copy_from_user_iovec_49829 ntfs_copy_from_user_iovec 3-6-0 49829 NULL ++add_uuid_49831 add_uuid 4 49831 NULL ++ath6kl_fwlog_block_read_49836 ath6kl_fwlog_block_read 3 49836 NULL ++__btrfs_map_block_49839 __btrfs_map_block 3 49839 NULL ++twl4030_write_49846 twl4030_write 2 49846 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 ++__cow_file_range_49901 __cow_file_range 5 49901 NULL ++__copy_from_user_inatomic_nocache_49921 __copy_from_user_inatomic_nocache 3 49921 NULL ++batadv_tt_realloc_packet_buff_49960 batadv_tt_realloc_packet_buff 4 49960 NULL ++b43legacy_pio_read_49978 b43legacy_pio_read 0 49978 NULL ++ieee80211_if_fmt_dtim_count_49987 ieee80211_if_fmt_dtim_count 3 49987 NULL ++sta2x11_swiotlb_alloc_coherent_49994 sta2x11_swiotlb_alloc_coherent 2 49994 NULL ++l2cap_chan_send_49995 l2cap_chan_send 3 49995 NULL ++__module_alloc_50004 __module_alloc 1 50004 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 ++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 ++copy_items_50140 copy_items 6 50140 NULL ++tx_frag_need_fragmentation_read_50153 tx_frag_need_fragmentation_read 3 50153 NULL ++set_cmd_header_50155 set_cmd_header 0 50155 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 ++rx_filter_ibss_filter_read_50167 rx_filter_ibss_filter_read 3 50167 NULL ++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 ++cfg80211_roamed_bss_50198 cfg80211_roamed_bss 4-6 50198 NULL ++rx_rx_timeout_wa_read_50204 rx_rx_timeout_wa_read 3 50204 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 ++soc_codec_reg_show_50302 soc_codec_reg_show 0 50302 NULL ++soc_camera_read_50319 soc_camera_read 3 50319 NULL ++do_launder_page_50329 do_launder_page 0 50329 NULL ++nouveau_engine_create__50331 nouveau_engine_create_ 7 50331 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 ++snd_pcm_lib_writev_50337 snd_pcm_lib_writev 0-3 50337 &ocfs2_block_to_cluster_group_50337 ++roccat_common2_send_with_status_50343 roccat_common2_send_with_status 4 50343 NULL ++tpm_read_50344 tpm_read 3 50344 NULL ++kvm_arch_create_memslot_50354 kvm_arch_create_memslot 2 50354 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 ++roccat_common2_receive_50369 roccat_common2_receive 4 50369 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 ++btrfs_error_discard_extent_50444 btrfs_error_discard_extent 2 50444 NULL ++pgctrl_write_50453 pgctrl_write 3 50453 NULL ++tps65217_update_bits_50472 tps65217_update_bits 2 50472 NULL ++cdrom_read_cdda_50478 cdrom_read_cdda 4 50478 NULL ++mei_io_cb_alloc_req_buf_50493 mei_io_cb_alloc_req_buf 2 50493 NULL ++pwr_rcvd_awake_beacons_read_50505 pwr_rcvd_awake_beacons_read 3 50505 NULL ++fwnet_receive_packet_50537 fwnet_receive_packet 9 50537 NULL ++ath6kl_set_ap_probe_resp_ies_50539 ath6kl_set_ap_probe_resp_ies 3 50539 NULL ++pcf50633_reg_set_bit_mask_50544 pcf50633_reg_set_bit_mask 2 50544 NULL ++hme_read_desc32_50574 hme_read_desc32 0 50574 NULL ++fat_readpages_50582 fat_readpages 4 50582 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 ++rx_rx_checksum_result_read_50617 rx_rx_checksum_result_read 3 50617 NULL ++__ffs_50625 __ffs 0 50625 NULL ++simple_transaction_get_50633 simple_transaction_get 3 50633 NULL ++ath6kl_tm_rx_event_50664 ath6kl_tm_rx_event 3 50664 NULL nohasharray ++sys_readv_50664 sys_readv 3 50664 &ath6kl_tm_rx_event_50664 ++bnad_debugfs_read_50665 bnad_debugfs_read 3 50665 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 ++xfs_growfs_get_hdr_buf_50697 xfs_growfs_get_hdr_buf 3 50697 NULL ++blk_check_plugged_50736 blk_check_plugged 3 50736 NULL ++__ext3_get_inode_loc_50744 __ext3_get_inode_loc 0 50744 NULL ++skb_padto_50759 skb_padto 2 50759 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 ++dpcm_show_state_50827 dpcm_show_state 0 50827 NULL ++acpi_ev_install_gpe_block_50829 acpi_ev_install_gpe_block 2 50829 NULL ++pstore_mkfile_50830 pstore_mkfile 5 50830 NULL ++dma_attach_50831 dma_attach 6-7 50831 NULL ++SetArea_50835 SetArea 4 50835 NULL nohasharray ++create_mem_extents_50835 create_mem_extents 0 50835 &SetArea_50835 ++self_check_write_50856 self_check_write 5 50856 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 ++wm831x_irq_map_50995 wm831x_irq_map 2 50995 NULL nohasharray ++wm8903_gpio_direction_out_50995 wm8903_gpio_direction_out 2 50995 &wm831x_irq_map_50995 ++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 ++srpt_alloc_ioctx_51042 srpt_alloc_ioctx 2-3 51042 NULL ++do_arpt_set_ctl_51053 do_arpt_set_ctl 4 51053 NULL ++wusb_prf_64_51065 wusb_prf_64 7 51065 NULL ++jbd2_journal_init_revoke_51088 jbd2_journal_init_revoke 2 51088 NULL ++__ocfs2_find_path_51096 __ocfs2_find_path 0 51096 NULL ++dgrp_net_read_51113 dgrp_net_read 3 51113 NULL ++lm3533_als_get_current_51120 lm3533_als_get_current 2 51120 NULL ++nfs_map_name_to_uid_51132 nfs_map_name_to_uid 3 51132 NULL ++alloc_rtllib_51136 alloc_rtllib 1 51136 NULL ++simple_xattr_set_51140 simple_xattr_set 4 51140 NULL ++xfs_trans_get_efd_51148 xfs_trans_get_efd 3 51148 NULL ++compat_sys_pwritev64_51151 compat_sys_pwritev64 3 51151 NULL ++snd_pcm_unlink_51210 snd_pcm_unlink 0 51210 NULL ++blk_bio_map_sg_51213 blk_bio_map_sg 0 51213 NULL ++nf_ct_ext_create_51232 nf_ct_ext_create 3 51232 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 ++fd_do_readv_51297 fd_do_readv 3 51297 NULL ++bnad_debugfs_read_regrd_51308 bnad_debugfs_read_regrd 3 51308 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 ++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 ++ieee80211_if_write_uapsd_queues_51526 ieee80211_if_write_uapsd_queues 3 51526 NULL ++__alloc_eip_netdev_51549 __alloc_eip_netdev 1 51549 NULL ++icmp_manip_pkt_51560 icmp_manip_pkt 4 51560 NULL ++ixgb_get_eeprom_len_51586 ixgb_get_eeprom_len 0 51586 NULL ++aac_convert_sgraw2_51598 aac_convert_sgraw2 4 51598 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 ++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 ++tty_cdev_add_51714 tty_cdev_add 2-4 51714 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 ++dbg_check_lpt_nodes_51727 dbg_check_lpt_nodes 0 51727 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 ++__fswab32_51781 __fswab32 0 51781 NULL ++qib_alloc_devdata_51819 qib_alloc_devdata 2 51819 NULL ++buffer_from_user_51826 buffer_from_user 3 51826 NULL ++wm2000_write_51834 wm2000_write 2 51834 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 ++iio_read_first_n_sw_rb_51911 iio_read_first_n_sw_rb 2 51911 NULL ++wmi_set_ie_51919 wmi_set_ie 3 51919 NULL ++dbg_status_buf_51930 dbg_status_buf 2 51930 NULL ++__tcp_mtu_to_mss_51938 __tcp_mtu_to_mss 0-2 51938 NULL ++xfrm_alg_len_51940 xfrm_alg_len 0 51940 NULL ++irq_dispose_mapping_51941 irq_dispose_mapping 1 51941 NULL ++scsi_get_vpd_page_51951 scsi_get_vpd_page 4 51951 NULL ++arizona_free_irq_51969 arizona_free_irq 2 51969 NULL nohasharray ++snd_mask_min_51969 snd_mask_min 0 51969 &arizona_free_irq_51969 ++ath6kl_sdio_alloc_prep_scat_req_51986 ath6kl_sdio_alloc_prep_scat_req 2 51986 NULL ++dwc3_mode_write_51997 dwc3_mode_write 3 51997 NULL ++skb_copy_datagram_from_iovec_52014 skb_copy_datagram_from_iovec 4-2-5 52014 NULL ++rdmalt_52022 rdmalt 0 52022 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 ++isofs_readpages_52067 isofs_readpages 4 52067 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 ++snd_pcm_channel_info_user_52135 snd_pcm_channel_info_user 0 52135 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 ++htable_size_52148 htable_size 0-1 52148 NULL ++__le16_to_cpup_52155 __le16_to_cpup 0 52155 NULL nohasharray ++smk_write_load2_52155 smk_write_load2 3 52155 &__le16_to_cpup_52155 ++ieee80211_if_read_dot11MeshRetryTimeout_52168 ieee80211_if_read_dot11MeshRetryTimeout 3 52168 NULL ++mga_compat_ioctl_52170 mga_compat_ioctl 2 52170 NULL ++print_prefix_52176 print_prefix 0 52176 NULL ++proc_pid_readlink_52186 proc_pid_readlink 3 52186 NULL ++do_dmabuf_dirty_ldu_52241 do_dmabuf_dirty_ldu 6 52241 NULL ++pm80x_request_irq_52250 pm80x_request_irq 2 52250 NULL ++mdiobus_alloc_size_52259 mdiobus_alloc_size 1 52259 NULL ++shrink_slab_52261 shrink_slab 2-3 52261 NULL ++sisusbcon_do_font_op_52271 sisusbcon_do_font_op 9 52271 NULL ++mpol_to_str_52293 mpol_to_str 2 52293 NULL ++ath6kl_wmi_get_new_buf_52304 ath6kl_wmi_get_new_buf 1 52304 NULL ++read_file_reset_52310 read_file_reset 3 52310 NULL ++ssd1307fb_write_52315 ssd1307fb_write 3 52315 NULL ++request_asymmetric_key_52317 request_asymmetric_key 2-4 52317 NULL ++hwflags_read_52318 hwflags_read 3 52318 NULL ++snd_pcm_hw_free_52327 snd_pcm_hw_free 0 52327 NULL ++ntfs_rl_split_52328 ntfs_rl_split 2-4 52328 NULL ++test_unaligned_bulk_52333 test_unaligned_bulk 3 52333 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 ++pcf50633_reg_clear_bits_52407 pcf50633_reg_clear_bits 2 52407 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-2 52477 NULL ++ocfs2_extend_no_holes_52483 ocfs2_extend_no_holes 3-4 52483 NULL ++fd_do_rw_52495 fd_do_rw 3 52495 NULL nohasharray ++skb_cow_head_52495 skb_cow_head 2 52495 &fd_do_rw_52495 ++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 ++snd_pcm_sw_params_52594 snd_pcm_sw_params 0 52594 NULL ++brcmf_sdio_assert_info_52653 brcmf_sdio_assert_info 4 52653 NULL ++ntfs_get_nr_significant_bytes_52688 ntfs_get_nr_significant_bytes 0 52688 NULL ++nvd0_disp_pioc_create__52693 nvd0_disp_pioc_create_ 5 52693 NULL ++nouveau_client_create__52715 nouveau_client_create_ 5 52715 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 ++carl9170_debugfs_vif_dump_read_52755 carl9170_debugfs_vif_dump_read 3 52755 NULL ++alloc_extent_buffer_52824 alloc_extent_buffer 3 52824 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 ++twlreg_write_52880 twlreg_write 3 52880 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 ++kvm_kvzalloc_52894 kvm_kvzalloc 1 52894 NULL ++arizona_request_irq_52908 arizona_request_irq 2 52908 NULL ++__kfifo_out_peek_r_52919 __kfifo_out_peek_r 3 52919 NULL ++iblock_get_bio_52936 iblock_get_bio 3 52936 NULL nohasharray ++__iio_device_attr_init_52936 __iio_device_attr_init 0 52936 &iblock_get_bio_52936 ++__nodes_remap_52951 __nodes_remap 5 52951 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 ++tx_tx_exch_read_52986 tx_tx_exch_read 3 52986 NULL ++num_node_state_52989 num_node_state 0 52989 NULL ++batadv_check_management_packet_52993 batadv_check_management_packet 3 52993 NULL ++efivarfs_file_write_53000 efivarfs_file_write 3 53000 NULL ++btrfs_free_and_pin_reserved_extent_53016 btrfs_free_and_pin_reserved_extent 2 53016 NULL ++tx_tx_exch_pending_read_53018 tx_tx_exch_pending_read 3 53018 NULL ++ext4_meta_bg_first_group_53031 ext4_meta_bg_first_group 0-2 53031 NULL ++bio_cur_bytes_53037 bio_cur_bytes 0 53037 NULL ++regcache_lzo_block_count_53056 regcache_lzo_block_count 0 53056 NULL ++cfi_read_query_53066 cfi_read_query 0 53066 NULL ++mwifiex_debug_read_53074 mwifiex_debug_read 3 53074 NULL ++qib_resize_cq_53090 qib_resize_cq 2 53090 NULL ++line6_dumpreq_initbuf_53123 line6_dumpreq_initbuf 3 53123 NULL ++brcmf_usb_dl_cmd_53130 brcmf_usb_dl_cmd 4 53130 NULL ++ps_poll_ps_poll_max_ap_turn_read_53140 ps_poll_ps_poll_max_ap_turn_read 3 53140 NULL ++clear_capture_buf_53192 clear_capture_buf 2 53192 NULL ++mtdoops_erase_block_53206 mtdoops_erase_block 2 53206 NULL ++tx_tx_start_data_read_53219 tx_tx_start_data_read 3 53219 NULL ++xfs_trans_read_buf_map_53258 xfs_trans_read_buf_map 5 53258 NULL ++wil_write_file_ssid_53266 wil_write_file_ssid 3 53266 NULL ++btrfs_file_extent_num_bytes_53269 btrfs_file_extent_num_bytes 0 53269 NULL ++lirc_buffer_init_53282 lirc_buffer_init 3-2 53282 NULL ++batadv_interface_rx_53325 batadv_interface_rx 4 53325 NULL ++gsm_control_reply_53333 gsm_control_reply 4 53333 NULL ++vm_mmap_53339 vm_mmap 0 53339 NULL ++sock_setbindtodevice_53369 sock_setbindtodevice 3 53369 NULL ++get_random_bytes_arch_53370 get_random_bytes_arch 2 53370 NULL ++iwl_pcie_txq_alloc_53413 iwl_pcie_txq_alloc 3 53413 NULL ++wm8996_gpio_set_53421 wm8996_gpio_set 2 53421 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 ++paging64_prefetch_gpte_53468 paging64_prefetch_gpte 4 53468 NULL ++wm831x_write_53469 wm831x_write 2 53469 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 ++cifs_utf16_bytes_53593 cifs_utf16_bytes 0 53593 NULL ++__readw_53594 __readw 0 53594 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 ++nr_sendmsg_53656 nr_sendmsg 4 53656 NULL ++_preload_range_53676 _preload_range 2-3 53676 NULL ++fuse_fill_write_pages_53682 fuse_fill_write_pages 4 53682 NULL ++v4l2_event_subscribe_53687 v4l2_event_subscribe 3 53687 NULL ++bdev_logical_block_size_53690 bdev_logical_block_size 0 53690 NULL nohasharray ++igb_alloc_q_vector_53690 igb_alloc_q_vector 4-6 53690 &bdev_logical_block_size_53690 ++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 ++da9052_disable_irq_53745 da9052_disable_irq 2 53745 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 ++__tty_alloc_driver_53799 __tty_alloc_driver 1 53799 NULL ++regmap_raw_write_53803 regmap_raw_write 4-2 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 ++cpumask_next_zero_53835 cpumask_next_zero 1 53835 NULL ++pms_read_53873 pms_read 3 53873 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 ++azx_via_get_position_53916 azx_via_get_position 0 53916 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 ++ieee80211_if_fmt_dot11MeshHWMPperrMinInterval_53998 ieee80211_if_fmt_dot11MeshHWMPperrMinInterval 3 53998 NULL ++snd_pcm_lib_write_transfer_54018 snd_pcm_lib_write_transfer 4-2-5 54018 NULL +cmpk_message_handle_tx_54024 cmpk_message_handle_tx 4 54024 NULL -+hid_register_field_4874 hid_register_field 2-3 4874 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 -+x509_process_extension_45854 x509_process_extension 5 45854 NULL -+nfsd_read_file_62241 nfsd_read_file 6 62241 NULL +pipeline_dec_packet_out_read_54052 pipeline_dec_packet_out_read 3 54052 NULL -+do_register_entry_29478 do_register_entry 4 29478 NULL -+isdn_write_45863 isdn_write 3 45863 NULL ++nl80211_send_disconnected_54056 nl80211_send_disconnected 5 54056 NULL +rproc_state_read_54057 rproc_state_read 3 54057 NULL -+ieee80211_if_read_rc_rateidx_mcs_mask_2ghz_37675 ieee80211_if_read_rc_rateidx_mcs_mask_2ghz 3 37675 NULL -+regmap_map_read_file_37685 regmap_map_read_file 3 37685 NULL -+alloc_smp_req_51337 alloc_smp_req 1 51337 NULL -+vmw_gmr2_bind_21305 vmw_gmr2_bind 3 21305 NULL -+get_rdac_req_45882 get_rdac_req 3 45882 NULL +_malloc_54077 _malloc 1 54077 NULL -+add_res_range_21310 add_res_range 4 21310 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 -+ip_make_skb_13129 ip_make_skb 5-6 13129 NULL -+snd_rme96_playback_copy_13111 snd_rme96_playback_copy 5 13111 NULL -+ftrace_profile_read_21327 ftrace_profile_read 3 21327 NULL -+atk_debugfs_ggrp_read_29522 atk_debugfs_ggrp_read 3 29522 NULL ++bitmap_bitremap_54096 bitmap_bitremap 4 54096 NULL +altera_set_ir_pre_54103 altera_set_ir_pre 2 54103 NULL -+il_dbgfs_sram_read_62296 il_dbgfs_sram_read 3 62296 NULL +create_xattr_54106 create_xattr 5 54106 NULL -+udplite_getfrag_14479 udplite_getfrag 3-4 14479 NULL -+ep_write_59008 ep_write 3 59008 NULL -+dbgfs_frame_45917 dbgfs_frame 3 45917 NULL -+sparse_early_usemaps_alloc_pgdat_section_62304 sparse_early_usemaps_alloc_pgdat_section 2 62304 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 -+alloc_mr_45935 alloc_mr 1 45935 NULL -+read_enabled_file_bool_37744 read_enabled_file_bool 3 37744 NULL ++strn_len_54122 strn_len 0 54122 NULL +isku_receive_54130 isku_receive 4 54130 NULL -+hfcpci_empty_bfifo_62323 hfcpci_empty_bfifo 4 62323 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 -+ipath_cdev_init_37752 ipath_cdev_init 1 37752 NULL -+idetape_queue_rw_tail_29562 idetape_queue_rw_tail 3 29562 NULL -+alloc_orinocodev_21371 alloc_orinocodev 1 21371 NULL -+i915_max_freq_write_11350 i915_max_freq_write 3 11350 NULL -+leaf_dealloc_29566 leaf_dealloc 3 29566 NULL -+dgrp_net_ioctl_13183 dgrp_net_ioctl 2 13183 NULL -+create_trace_uprobe_13184 create_trace_uprobe 1 13184 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 -+alloc_ldt_21972 alloc_ldt 2 21972 NULL -+ipath_resize_cq_712 ipath_resize_cq 2 712 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 ++isr_host_acknowledges_read_54136 isr_host_acknowledges_read 3 54136 NULL +i2400m_zrealloc_2x_54166 i2400m_zrealloc_2x 3 54166 NULL nohasharray +memcpy_toiovec_54166 memcpy_toiovec 3 54166 &i2400m_zrealloc_2x_54166 -+l2tp_ip_recvmsg_22681 l2tp_ip_recvmsg 4 22681 NULL -+proc_file_read_53905 proc_file_read 3 53905 NULL -+mtd_device_parse_register_5024 mtd_device_parse_register 5 5024 NULL -+acpi_tb_install_table_12988 acpi_tb_install_table 1 12988 NULL -+set_wd_exp_mode_pfs_62372 set_wd_exp_mode_pfs 3 62372 NULL -+reiserfs_readpages_35629 reiserfs_readpages 4 35629 NULL ++nouveau_falcon_create__54169 nouveau_falcon_create_ 8 54169 NULL +acpi_os_read_memory_54186 acpi_os_read_memory 1-3 54186 NULL -+smk_read_logging_37804 smk_read_logging 3 37804 NULL -+rx_rx_timeout_read_62389 rx_rx_timeout_read 3 62389 NULL -+mgt_set_varlen_60916 mgt_set_varlen 4 60916 NULL -+cru_detect_11272 cru_detect 1 11272 NULL -+altera_irscan_62396 altera_irscan 2 62396 NULL -+alloc_perm_bits_1532 alloc_perm_bits 2 1532 NULL -+aggr_size_tx_agg_vs_rate_read_21438 aggr_size_tx_agg_vs_rate_read 3 21438 NULL -+fw_download_code_13249 fw_download_code 3 13249 NULL -+init_tid_tabs_13252 init_tid_tabs 2-3-4 13252 NULL -+tx_frag_cache_hit_read_29639 tx_frag_cache_hit_read 3 29639 NULL -+set_ssp_62411 set_ssp 4 62411 NULL -+nfc_hci_send_event_21452 nfc_hci_send_event 5 21452 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 -+il_dbgfs_qos_read_33615 il_dbgfs_qos_read 3 33615 NULL -+sel_write_enforce_48998 sel_write_enforce 3 48998 NULL -+kfifo_copy_from_user_5091 kfifo_copy_from_user 3 5091 NULL -+netdev_alloc_skb_62437 netdev_alloc_skb 2 62437 NULL -+dma_memcpy_pg_to_iovec_1725 dma_memcpy_pg_to_iovec 6 1725 NULL -+platform_device_add_resources_13289 platform_device_add_resources 3 13289 NULL -+xfs_dir2_block_to_sf_37868 xfs_dir2_block_to_sf 3 37868 NULL ++_format_mac_addr_54229 _format_mac_addr 2-0 54229 NULL ++pi_read_regr_54231 pi_read_regr 0 54231 NULL ++reada_add_block_54247 reada_add_block 2 54247 NULL +xfs_dir2_sf_addname_hard_54254 xfs_dir2_sf_addname_hard 3 54254 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 -+irda_recvmsg_dgram_32631 irda_recvmsg_dgram 4 32631 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 +mwifiex_getlog_read_54269 mwifiex_getlog_read 3 54269 NULL -+isr_tx_procs_read_23084 isr_tx_procs_read 3 23084 NULL -+mmc_alloc_sg_21504 mmc_alloc_sg 1 21504 NULL -+qlcnic_alloc_sds_rings_26795 qlcnic_alloc_sds_rings 2 26795 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 -+vfio_config_do_rw_46091 vfio_config_do_rw 3 46091 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 -+us122l_ctl_msg_13330 us122l_ctl_msg 8 13330 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 -+kvm_read_nested_guest_page_13337 kvm_read_nested_guest_page 5 13337 NULL -+il_dbgfs_stations_read_21532 il_dbgfs_stations_read 3 21532 NULL -+il3945_ucode_general_stats_read_46111 il3945_ucode_general_stats_read 3 46111 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 -+iwl_dbgfs_current_sleep_command_read_2081 iwl_dbgfs_current_sleep_command_read 3 2081 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 -+hscx_empty_fifo_13360 hscx_empty_fifo 2 13360 NULL -+rxrpc_send_data_21553 rxrpc_send_data 5 21553 NULL -+iwl_dbgfs_status_read_5171 iwl_dbgfs_status_read 3 5171 NULL -+hfcsusb_rx_frame_52745 hfcsusb_rx_frame 3 52745 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 -+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 ++sprintf_54306 sprintf 0 54306 NULL ++irq_domain_associate_many_54307 irq_domain_associate_many 2 54307 NULL ++br_fdb_fillbuf_54339 br_fdb_fillbuf 0 54339 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-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 -+__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 ++_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 -+ppp_cp_parse_cr_5214 ppp_cp_parse_cr 4 5214 NULL -+isdn_read_50021 isdn_read 3 50021 NULL ++read_file_credit_dist_stats_54367 read_file_credit_dist_stats 3 54367 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 -+ath6kl_debug_roam_tbl_event_5224 ath6kl_debug_roam_tbl_event 3 5224 NULL -+netxen_alloc_sds_rings_13417 netxen_alloc_sds_rings 2 13417 NULL ++do_dccp_setsockopt_54377 do_dccp_setsockopt 5 54377 NULL nohasharray ++intel_sdvo_write_cmd_54377 intel_sdvo_write_cmd 4 54377 &do_dccp_setsockopt_54377 +ah_alloc_tmp_54378 ah_alloc_tmp 3-2 54378 NULL -+ssb_ioremap_5228 ssb_ioremap 2 5228 NULL -+xfrm_user_policy_62573 xfrm_user_policy 4 62573 NULL -+xlog_do_recovery_pass_21618 xlog_do_recovery_pass 3 21618 NULL -+isdn_ppp_skb_push_5236 isdn_ppp_skb_push 2 5236 NULL -+get_subdir_62581 get_subdir 3 62581 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 ++__do_krealloc_54389 __do_krealloc 2 54389 NULL +iwl_dbgfs_power_save_status_read_54392 iwl_dbgfs_power_save_status_read 3 54392 NULL -+sctp_abort_pkt_new_5241 sctp_abort_pkt_new 6 5241 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 nohasharray -+set_tap_pwup_pfs_13440 set_tap_pwup_pfs 3 13440 &sctp_setsockopt_peer_primary_addr_13440 -+ath6kl_cfg80211_connect_event_13443 ath6kl_cfg80211_connect_event 7-8-9 13443 NULL -+crypto_shash_setkey_60483 crypto_shash_setkey 3 60483 NULL -+tm6000_i2c_recv_regs_46215 tm6000_i2c_recv_regs 5 46215 NULL -+packet_alloc_skb_62602 packet_alloc_skb 2-5-4 62602 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 -+kvm_read_hva_atomic_29848 kvm_read_hva_atomic 3 29848 NULL -+ftrace_write_29551 ftrace_write 3 29551 NULL -+il_dbgfs_chain_noise_read_38044 il_dbgfs_chain_noise_read 3 38044 NULL -+iscsi_post_host_event_13473 iscsi_post_host_event 4 13473 NULL -+ems_pcmcia_add_card_62627 ems_pcmcia_add_card 2 62627 NULL -+mpi_read_raw_data_46248 mpi_read_raw_data 2 46248 NULL -+dev_write_7708 dev_write 3 7708 NULL -+_xfs_buf_alloc_38058 _xfs_buf_alloc 3 38058 NULL -+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 -+nf_nat_ftp_46265 nf_nat_ftp 6 46265 NULL -+nfc_targets_found_29886 nfc_targets_found 3 29886 NULL -+mwifiex_alloc_sdio_mpa_buffers_60961 mwifiex_alloc_sdio_mpa_buffers 2-3 60961 NULL -+evdev_ioctl_handler_21705 evdev_ioctl_handler 2 21705 NULL -+request_key_auth_new_38092 request_key_auth_new 3 38092 NULL -+proc_self_readlink_38094 proc_self_readlink 3 38094 NULL -+smk_write_mapped_13519 smk_write_mapped 3 13519 NULL -+isr_host_acknowledges_read_54136 isr_host_acknowledges_read 3 54136 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 -+pep_alloc_skb_46303 pep_alloc_skb 3 46303 NULL -+reiserfs_allocate_list_bitmaps_21732 reiserfs_allocate_list_bitmaps 3 21732 NULL -+ioremap_wc_62695 ioremap_wc 1-2 62695 NULL -+pg_read_17276 pg_read 3 17276 NULL -+edt_ft5x06_debugfs_raw_data_read_28002 edt_ft5x06_debugfs_raw_data_read 3 28002 NULL -+ep0_read_38095 ep0_read 3 38095 NULL -+batadv_iv_ogm_queue_add_46319 batadv_iv_ogm_queue_add 3 46319 NULL -+__nf_nat_mangle_tcp_packet_21744 __nf_nat_mangle_tcp_packet 8-6 21744 NULL -+ps_pspoll_utilization_read_5361 ps_pspoll_utilization_read 3 5361 NULL ++simple_strtoull_54493 simple_strtoull 0 54493 NULL ++btrfs_ordered_sum_size_54509 btrfs_ordered_sum_size 0-2 54509 NULL +cgroup_write_X64_54514 cgroup_write_X64 5 54514 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 3-2 5368 NULL -+mthca_alloc_init_21754 mthca_alloc_init 2 21754 NULL -+l2down_create_21755 l2down_create 4 21755 NULL -+alloc_tio_13564 alloc_tio 3 13564 NULL +viacam_read_54526 viacam_read 3 54526 NULL -+btrfs_mksubvol_58240 btrfs_mksubvol 3 58240 NULL -+tunables_read_36385 tunables_read 3 36385 NULL -+opera1_usb_i2c_msgxfer_64521 opera1_usb_i2c_msgxfer 4 64521 NULL -+iio_debugfs_write_reg_22742 iio_debugfs_write_reg 3 22742 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 ++unix_dgram_connect_54535 unix_dgram_connect 3 54535 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 -+tty_register_device_4544 tty_register_device 2 4544 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 +mwifiex_usb_submit_rx_urb_54558 mwifiex_usb_submit_rx_urb 2 54558 NULL -+irias_add_octseq_attrib_29983 irias_add_octseq_attrib 4 29983 NULL -+cdev_add_38176 cdev_add 2-3 38176 NULL -+brcmf_sdcard_recv_buf_38179 brcmf_sdcard_recv_buf 6 38179 NULL -+__ioremap_caller_21800 __ioremap_caller 1-2 21800 NULL -+alloc_and_copy_ftrace_hash_29368 alloc_and_copy_ftrace_hash 1 29368 NULL -+ubi_dump_flash_46381 ubi_dump_flash 4 46381 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 -+vmalloc_user_32308 vmalloc_user 1 32308 NULL -+get_ucode_user_38202 get_ucode_user 3 38202 NULL -+ath6kl_wmi_startscan_cmd_33674 ath6kl_wmi_startscan_cmd 8 33674 NULL -+fuse_file_aio_write_46399 fuse_file_aio_write 4 46399 NULL -+mem_fwlog_free_mem_blks_read_59616 mem_fwlog_free_mem_blks_read 3 59616 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 -+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 ++nvme_npages_54601 nvme_npages 0-1 54601 NULL +fwSendNullPacket_54618 fwSendNullPacket 2 54618 NULL -+drp_wmove_30043 drp_wmove 4 30043 NULL -+tracing_total_entries_read_62817 tracing_total_entries_read 3 62817 NULL -+cache_downcall_13666 cache_downcall 3 13666 NULL -+xfs_efi_init_5476 xfs_efi_init 2 5476 NULL -+ubi_leb_write_5478 ubi_leb_write 4-5 5478 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 6-5-7 21873 NULL -+debug_debug3_read_56894 debug_debug3_read 3 56894 NULL -+tty_write_5494 tty_write 3 5494 NULL -+iscsi_ping_comp_event_38263 iscsi_ping_comp_event 5 38263 NULL -+tomoyo_update_domain_5498 tomoyo_update_domain 2 5498 NULL -+rx_fcs_err_read_62844 rx_fcs_err_read 3 62844 NULL ++irq_of_parse_and_map_54646 irq_of_parse_and_map 0 54646 NULL +irq_timeout_read_54653 irq_timeout_read 3 54653 NULL -+teiup_create_43201 teiup_create 3 43201 NULL +dns_resolver_read_54658 dns_resolver_read 3 54658 NULL -+filldir64_46469 filldir64 3 46469 NULL -+line6_alloc_sysex_buffer_28225 line6_alloc_sysex_buffer 4 28225 NULL nohasharray -+set_dis_disc_pfs_28225 set_dis_disc_pfs 3 28225 &line6_alloc_sysex_buffer_28225 -+fw_iso_buffer_alloc_13704 fw_iso_buffer_alloc 2 13704 NULL -+ablkcipher_copy_iv_64140 ablkcipher_copy_iv 3 64140 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 ++twl6030_interrupt_mask_54659 twl6030_interrupt_mask 2 54659 NULL +bio_kmalloc_54672 bio_kmalloc 2 54672 NULL -+ezusb_writememory_45976 ezusb_writememory 4 45976 NULL ++vring_new_virtqueue_54673 vring_new_virtqueue 2 54673 NULL +evm_read_key_54674 evm_read_key 3 54674 NULL -+sctp_make_op_error_space_5528 sctp_make_op_error_space 3 5528 NULL -+l2tp_ip6_recvmsg_62874 l2tp_ip6_recvmsg 4 62874 NULL -+qsfp_1_read_21915 qsfp_1_read 3 21915 NULL -+do_proc_readlink_14096 do_proc_readlink 3 14096 NULL -+em28xx_init_isoc_62883 em28xx_init_isoc 4 62883 NULL nohasharray -+aoechr_write_62883 aoechr_write 3 62883 &em28xx_init_isoc_62883 -+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 -+pin_code_reply_46510 pin_code_reply 4 46510 NULL -+mthca_alloc_cq_buf_46512 mthca_alloc_cq_buf 3 46512 NULL -+sys_add_key_61288 sys_add_key 4 61288 NULL -+kmsg_read_46514 kmsg_read 3 46514 NULL -+audit_unpack_string_13748 audit_unpack_string 3 13748 NULL -+isr_rx_headers_read_38325 isr_rx_headers_read 3 38325 NULL ++resource_string_54699 resource_string 0 54699 NULL ++platform_get_irq_byname_54700 platform_get_irq_byname 0 54700 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 -+pwr_connection_out_of_sync_read_35061 pwr_connection_out_of_sync_read 3 35061 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 -+ieee802154_alloc_device_13767 ieee802154_alloc_device 1 13767 NULL -+pt_write_40159 pt_write 3 40159 NULL -+bioset_create_5580 bioset_create 1 5580 NULL +ocfs2_control_write_54737 ocfs2_control_write 3 54737 NULL -+fb_sys_read_13778 fb_sys_read 3 13778 NULL -+oz_ep_alloc_5587 oz_ep_alloc 2 5587 NULL +kzalloc_54740 kzalloc 1 54740 NULL -+ipath_reg_phys_mr_23918 ipath_reg_phys_mr 3 23918 NULL nohasharray -+mpihelp_mul_karatsuba_case_23918 mpihelp_mul_karatsuba_case 5-3 23918 &ipath_reg_phys_mr_23918 -+do_msgrcv_5590 do_msgrcv 4 5590 NULL +wep_iv_read_54744 wep_iv_read 3 54744 NULL -+link_send_sections_long_46556 link_send_sections_long 4 46556 NULL -+ath6kl_mgmt_powersave_ap_13791 ath6kl_mgmt_powersave_ap 6 13791 NULL +iio_event_chrdev_read_54757 iio_event_chrdev_read 3 54757 NULL +batadv_iv_ogm_aggregate_new_54761 batadv_iv_ogm_aggregate_new 2 54761 NULL -+ldm_frag_add_5611 ldm_frag_add 2 5611 NULL -+cx25821_video_ioctl_30188 cx25821_video_ioctl 2 30188 NULL -+mempool_create_page_pool_30189 mempool_create_page_pool 1 30189 NULL -+rxpipe_descr_host_int_trig_rx_data_read_22001 rxpipe_descr_host_int_trig_rx_data_read 3 22001 NULL nohasharray -+compat_rw_copy_check_uvector_22001 compat_rw_copy_check_uvector 3 22001 &rxpipe_descr_host_int_trig_rx_data_read_22001 -+drm_property_create_bitmask_30195 drm_property_create_bitmask 5 30195 NULL -+dn_sendmsg_38390 dn_sendmsg 4 38390 NULL -+usblp_ioctl_30203 usblp_ioctl 2 30203 NULL -+hsi_register_board_info_13820 hsi_register_board_info 2 13820 NULL -+hidp_output_raw_report_5629 hidp_output_raw_report 3 5629 NULL -+nfs_idmap_request_key_30208 nfs_idmap_request_key 3 30208 NULL -+read_4k_modal_eeprom_30212 read_4k_modal_eeprom 3 30212 NULL ++adis16480_show_firmware_date_54762 adis16480_show_firmware_date 3 54762 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 -+ttm_dma_page_pool_free_34135 ttm_dma_page_pool_free 2 34135 NULL -+ieee80211_if_read_dtim_count_38419 ieee80211_if_read_dtim_count 3 38419 NULL ++domain_init_54797 domain_init 2 54797 NULL ++ext3_find_goal_54801 ext3_find_goal 0 54801 NULL +nfsd_write_54809 nfsd_write 6 54809 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 -+pmcraid_copy_sglist_38431 pmcraid_copy_sglist 3 38431 NULL -+get_skb_63008 get_skb 2 63008 NULL -+zd_usb_read_fw_22049 zd_usb_read_fw 4 22049 NULL -+netlink_send_38434 netlink_send 5 38434 NULL -+atalk_recvmsg_22053 atalk_recvmsg 4 22053 NULL -+compat_ip_setsockopt_13870 compat_ip_setsockopt 5 13870 NULL nohasharray -+alloc_trace_uprobe_13870 alloc_trace_uprobe 3 13870 &compat_ip_setsockopt_13870 -+aircable_process_packet_46639 aircable_process_packet 5 46639 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 -+nouveau_engctx_create__54839 nouveau_engctx_create_ 8 54839 NULL -+__vb2_perform_fileio_63033 __vb2_perform_fileio 3 63033 NULL -+pipeline_defrag_to_csum_swi_read_63037 pipeline_defrag_to_csum_swi_read 3 63037 NULL -+get_arg_5694 get_arg 3 5694 NULL -+isr_pci_pm_read_30271 isr_pci_pm_read 3 30271 NULL ++nouveau_engctx_create__54839 nouveau_engctx_create_ 8 54839 NULL nohasharray ++ext3_acl_from_disk_54839 ext3_acl_from_disk 2 54839 &nouveau_engctx_create__54839 +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 -+i915_min_freq_read_38470 i915_min_freq_read 3 38470 NULL +alloc_ep_req_54860 alloc_ep_req 2 54860 NULL -+lowpan_fragment_xmit_22095 lowpan_fragment_xmit 3-4 22095 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 -+picolcd_fb_write_2318 picolcd_fb_write 3 2318 NULL -+pipeline_sec_frag_swi_read_30294 pipeline_sec_frag_swi_read 3 30294 NULL -+__do_krealloc_54389 __do_krealloc 2 54389 NULL -+tcp_sendmsg_30296 tcp_sendmsg 4 30296 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 -+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 -+rx_decrypt_key_not_found_read_37820 rx_decrypt_key_not_found_read 3 37820 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 -+sep_prepare_input_output_dma_table_in_dcb_63087 sep_prepare_input_output_dma_table_in_dcb 4-5-2-3 63087 NULL -+get_packet_5747 get_packet 3 5747 NULL -+ieee80211_if_read_dot11MeshForwarding_13940 ieee80211_if_read_dot11MeshForwarding 3 13940 NULL -+drm_malloc_ab_16831 drm_malloc_ab 1-2 16831 NULL -+event_rx_mismatch_read_38518 event_rx_mismatch_read 3 38518 NULL -+iwl_dbgfs_protection_mode_read_13943 iwl_dbgfs_protection_mode_read 3 13943 NULL -+ieee80211_if_read_min_discovery_timeout_13946 ieee80211_if_read_min_discovery_timeout 3 13946 NULL -+erst_dbg_write_46715 erst_dbg_write 3 46715 NULL -+ath6kl_lrssi_roam_read_61022 ath6kl_lrssi_roam_read 3 61022 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 ++lm3533_led_get_lv_reg_54900 lm3533_led_get_lv_reg 0-2 54900 NULL +iscsi_pool_init_54913 iscsi_pool_init 2-4 54913 NULL -+_l2_alloc_skb_11883 _l2_alloc_skb 1 11883 NULL -+resource_from_user_30341 resource_from_user 3 30341 NULL -+scsi_dispatch_cmd_entry_49848 scsi_dispatch_cmd_entry 3 49848 NULL -+sound_write_5102 sound_write 3 5102 NULL -+pn533_dep_link_up_22154 pn533_dep_link_up 5 22154 NULL -+iwl_dbgfs_sensitivity_read_63116 iwl_dbgfs_sensitivity_read 3 63116 NULL -+irq_domain_add_simple_46734 irq_domain_add_simple 2 46734 NULL -+sctp_setsockopt_autoclose_5775 sctp_setsockopt_autoclose 3 5775 NULL -+__vmalloc_node_flags_30352 __vmalloc_node_flags 1 30352 NULL -+btrfs_discard_extent_38547 btrfs_discard_extent 2 38547 NULL -+tx_frag_init_called_read_48377 tx_frag_init_called_read 3 48377 NULL -+com90xx_found_13974 com90xx_found 3 13974 NULL -+compat_sys_writev_5784 compat_sys_writev 3 5784 NULL -+qcam_read_13977 qcam_read 3 13977 NULL -+__vxge_hw_blockpool_malloc_5786 __vxge_hw_blockpool_malloc 2 5786 NULL -+dvb_demux_read_13981 dvb_demux_read 3 13981 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 +virtblk_add_buf_wait_54943 virtblk_add_buf_wait 3-4 54943 NULL +wl12xx_cmd_build_probe_req_54946 wl12xx_cmd_build_probe_req 6-8 54946 NULL -+irda_sendmsg_dgram_38563 irda_sendmsg_dgram 4 38563 NULL -+il4965_rs_sta_dbgfs_scale_table_read_38564 il4965_rs_sta_dbgfs_scale_table_read 3 38564 NULL -+generic_readlink_32654 generic_readlink 3 32654 NULL -+ieee80211_bss_info_update_13991 ieee80211_bss_info_update 4 13991 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 -+wacom_set_device_mode_26280 wacom_set_device_mode 3 26280 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 -+__alloc_bootmem_node_nopanic_6432 __alloc_bootmem_node_nopanic 2 6432 NULL ++ath9k_dump_btcoex_54949 ath9k_dump_btcoex 0 54949 NULL ++c4_add_card_54968 c4_add_card 3 54968 NULL ++iwl_pcie_dump_fh_54975 iwl_pcie_dump_fh 0 54975 NULL +__proc_file_read_54978 __proc_file_read 3 54978 NULL -+concat_writev_21451 concat_writev 3 21451 NULL -+smk_write_revoke_subj_63173 smk_write_revoke_subj 3 63173 NULL -+_queue_data_54983 _queue_data 4 54983 NULL -+_sys_packet_req_46793 _sys_packet_req 4 46793 NULL -+pfkey_sendmsg_47394 pfkey_sendmsg 4 47394 NULL -+extend_netdev_table_21453 extend_netdev_table 2 21453 NULL -+rfcomm_sock_recvmsg_22227 rfcomm_sock_recvmsg 4 22227 NULL -+vb2_fop_write_30420 vb2_fop_write 3 30420 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 -+read_def_modal_eeprom_14041 read_def_modal_eeprom 3 14041 NULL -+rx_filter_max_arp_queue_dep_read_5851 rx_filter_max_arp_queue_dep_read 3 5851 NULL ++ext3_xattr_get_54989 ext3_xattr_get 0 54989 NULL +rds_ib_inc_copy_to_user_55007 rds_ib_inc_copy_to_user 3 55007 NULL -+alloc_ctrl_packet_44667 alloc_ctrl_packet 1 44667 NULL -+rbd_create_rw_ops_55297 rbd_create_rw_ops 1 55297 NULL -+compat_sys_move_pages_5861 compat_sys_move_pages 2 5861 NULL +cx231xx_v4l2_read_55014 cx231xx_v4l2_read 3 55014 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 -+ext2_readpages_38640 ext2_readpages 4 38640 NULL -+cma_create_area_38642 cma_create_area 2 38642 NULL -+audit_init_entry_38644 audit_init_entry 1 38644 NULL -+sriov_enable_59689 sriov_enable 2 59689 NULL -+enable_write_30456 enable_write 3 30456 NULL -+shmem_pwrite_fast_46842 shmem_pwrite_fast 3 46842 NULL -+tx_tx_template_programmed_read_30461 tx_tx_template_programmed_read 3 30461 NULL -+mmc_send_cxd_data_38655 mmc_send_cxd_data 5 38655 NULL -+zoran_ioctl_30465 zoran_ioctl 2 30465 NULL -+tcp_manip_pkt_16563 tcp_manip_pkt 4 16563 NULL -+qla2x00_adjust_sdev_qdepth_up_20097 qla2x00_adjust_sdev_qdepth_up 2 20097 NULL -+nouveau_instmem_create__38664 nouveau_instmem_create_ 4 38664 NULL -+ieee80211_mgmt_tx_46860 ieee80211_mgmt_tx 9 46860 NULL -+port_show_regs_5904 port_show_regs 3 5904 NULL -+nvme_alloc_queue_46865 nvme_alloc_queue 3 46865 NULL -+ptp_read_63251 ptp_read 4 63251 NULL -+uhci_debug_read_5911 uhci_debug_read 3 5911 NULL -+compat_sys_pselect6_14105 compat_sys_pselect6 1 14105 NULL -+iscsit_dump_data_payload_38683 iscsit_dump_data_payload 2 38683 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 -+o2hb_debug_read_37851 o2hb_debug_read 3 37851 NULL ++error_error_null_Frame_tx_start_read_55024 error_error_null_Frame_tx_start_read 3 55024 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 +bitmap_storage_alloc_55077 bitmap_storage_alloc 2 55077 NULL -+iscsi_iser_recv_41948 iscsi_iser_recv 4 41948 NULL -+lbs_highsnr_read_5931 lbs_highsnr_read 3 5931 NULL -+em28xx_alloc_isoc_46892 em28xx_alloc_isoc 4 46892 NULL -+read_dma_55086 read_dma 3 55086 NULL -+isr_irqs_read_9181 isr_irqs_read 3 9181 NULL -+dwc3_testmode_write_30516 dwc3_testmode_write 3 30516 NULL -+edac_device_alloc_ctl_info_5941 edac_device_alloc_ctl_info 1 5941 NULL -+ntfs_rl_replace_14136 ntfs_rl_replace 2-4 14136 NULL -+ip_send_unicast_reply_38714 ip_send_unicast_reply 6 38714 NULL -+tcp_collapse_63294 tcp_collapse 6-5 63294 NULL -+alloc_trace_probe_38720 alloc_trace_probe 6 38720 NULL -+isdn_ppp_ccp_xmit_reset_63297 isdn_ppp_ccp_xmit_reset 6 63297 NULL ++snd_pcm_capture_hw_avail_55086 snd_pcm_capture_hw_avail 0 55086 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 -+tipc_subseq_alloc_5957 tipc_subseq_alloc 1 5957 NULL -+em_canid_change_14150 em_canid_change 3 14150 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 -+btmrvl_curpsmode_read_46939 btmrvl_curpsmode_read 3 46939 NULL -+wlcore_alloc_hw_22365 wlcore_alloc_hw 1 22365 NULL ++corrupt_data_55120 corrupt_data 0 55120 NULL +crypto_ahash_setkey_55134 crypto_ahash_setkey 3 55134 NULL -+br_send_bpdu_29669 br_send_bpdu 3 29669 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 -+udf_readpages_38761 udf_readpages 4 38761 NULL -+reada_add_block_54247 reada_add_block 2 54247 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 +ieee80211_if_read_uapsd_queues_55150 ieee80211_if_read_uapsd_queues 3 55150 NULL -+proc_info_read_63344 proc_info_read 3 63344 NULL -+pep_indicate_38611 pep_indicate 5 38611 NULL -+set_le_30581 set_le 4 30581 NULL -+alloc_large_system_hash_22391 alloc_large_system_hash 2 22391 NULL -+btmrvl_psmode_read_22395 btmrvl_psmode_read 3 22395 NULL -+alloc_private_22399 alloc_private 2 22399 NULL -+snd_gus_dram_write_38784 snd_gus_dram_write 4 38784 NULL -+ps_upsd_max_sptime_read_63362 ps_upsd_max_sptime_read 3 63362 NULL -+zoran_write_22404 zoran_write 3 22404 NULL -+dma_tx_errors_read_46060 dma_tx_errors_read 3 46060 NULL -+idmouse_read_63374 idmouse_read 3 63374 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 -+dfs_global_file_read_7787 dfs_global_file_read 3 7787 NULL -+ttm_bo_io_47000 ttm_bo_io 5 47000 NULL -+ieee80211_if_write_uapsd_max_sp_len_14233 ieee80211_if_write_uapsd_max_sp_len 3 14233 NULL ++mtd_get_fact_prot_info_55186 mtd_get_fact_prot_info 0 55186 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 4-2 14244 NULL -+snd_soc_hw_bulk_write_raw_14245 snd_soc_hw_bulk_write_raw 4 14245 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 -+sys_select_38827 sys_select 1 38827 NULL -+rxpipe_missed_beacon_host_int_trig_rx_data_read_63405 rxpipe_missed_beacon_host_int_trig_rx_data_read 3 63405 NULL ++pcf50633_gpio_set_55209 pcf50633_gpio_set 2 55209 &ht40allow_map_read_55209 ++ssd1307fb_write_cmd_array_55211 ssd1307fb_write_cmd_array 3 55211 NULL nohasharray ++__kfifo_dma_out_prepare_r_55211 __kfifo_dma_out_prepare_r 4-5 55211 &ssd1307fb_write_cmd_array_55211 +do_raw_setsockopt_55215 do_raw_setsockopt 5 55215 NULL -+cx231xx_init_bulk_47024 cx231xx_init_bulk 3-2 47024 NULL -+direct_entry_38836 direct_entry 3 38836 NULL -+__hwahc_op_set_ptk_36510 __hwahc_op_set_ptk 5 36510 NULL -+gntdev_alloc_map_35145 gntdev_alloc_map 2 35145 NULL -+compat_udp_setsockopt_38840 compat_udp_setsockopt 5 38840 NULL -+handle_received_packet_22457 handle_received_packet 3 22457 NULL -+ath6kl_connect_event_14267 ath6kl_connect_event 7-8-9 14267 NULL -+write_head_30481 write_head 4 30481 NULL -+mem_cgroup_read_22461 mem_cgroup_read 5 22461 NULL -+set_dis_bypass_pfs_47038 set_dis_bypass_pfs 3 47038 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 -+sep_prepare_input_output_dma_table_63429 sep_prepare_input_output_dma_table 2-4-3 63429 NULL ++dbAllocDmap_55227 dbAllocDmap 0 55227 NULL ++tipc_port_reject_sections_55229 tipc_port_reject_sections 5 55229 NULL +register_unifi_sdio_55239 register_unifi_sdio 2 55239 NULL -+ath6kl_wmi_get_new_buf_52304 ath6kl_wmi_get_new_buf 1 52304 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 -+ieee80211_if_read_dot11MeshHWMPpreqMinInterval_24208 ieee80211_if_read_dot11MeshHWMPpreqMinInterval 3 24208 NULL -+cache_write_procfs_22491 cache_write_procfs 3 22491 NULL -+qc_capture_19298 qc_capture 3 19298 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 -+pipeline_dec_packet_in_read_47076 pipeline_dec_packet_in_read 3 47076 NULL -+rtl_port_map_2385 rtl_port_map 1-2 2385 NULL -+dccp_setsockopt_ccid_30701 dccp_setsockopt_ccid 4 30701 NULL -+dbgfs_state_38894 dbgfs_state 3 38894 NULL -+sel_commit_bools_write_46077 sel_commit_bools_write 3 46077 NULL -+snd_info_entry_write_63474 snd_info_entry_write 3 63474 NULL -+nouveau_parent_create__6131 nouveau_parent_create_ 7 6131 NULL -+process_bulk_data_command_38906 process_bulk_data_command 4 38906 NULL ++ptrace_request_55288 ptrace_request 3 55288 NULL +rx_streaming_interval_read_55291 rx_streaming_interval_read 3 55291 NULL -+reada_find_extent_63486 reada_find_extent 2 63486 NULL -+read_kcore_63488 read_kcore 3 63488 NULL -+lbs_debugfs_read_30721 lbs_debugfs_read 3 30721 NULL -+__skb_cow_39254 __skb_cow 2 39254 NULL ++rbd_create_rw_ops_55297 rbd_create_rw_ops 1 55297 NULL +gsm_control_modem_55303 gsm_control_modem 3 55303 NULL +__get_vm_area_node_55305 __get_vm_area_node 1 55305 NULL -+ffs_epfile_read_18775 ffs_epfile_read 3 18775 NULL -+rsc_mgr_init_16299 rsc_mgr_init 3 16299 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 -+rawv6_recvmsg_30265 rawv6_recvmsg 4 30265 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 -+alloc_fcdev_18780 alloc_fcdev 1 18780 NULL +vme_user_read_55338 vme_user_read 3 55338 NULL -+sctp_datamsg_from_user_55342 sctp_datamsg_from_user 4 55342 NULL -+cxio_init_resource_fifo_random_47151 cxio_init_resource_fifo_random 3 47151 NULL -+persistent_ram_iomap_47156 persistent_ram_iomap 1-2 47156 NULL -+ath6kl_regdump_read_14393 ath6kl_regdump_read 3 14393 NULL -+__ath6kl_wmi_send_mgmt_cmd_38971 __ath6kl_wmi_send_mgmt_cmd 7 38971 NULL -+__hidp_send_ctrl_message_28303 __hidp_send_ctrl_message 4 28303 NULL -+rs_sta_dbgfs_rate_scale_data_read_47165 rs_sta_dbgfs_rate_scale_data_read 3 47165 NULL -+append_to_buffer_63550 append_to_buffer 3 63550 NULL -+smk_write_onlycap_14400 smk_write_onlycap 3 14400 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 -+dbg_leb_write_63555 dbg_leb_write 4-5 63555 NULL nohasharray -+kvm_write_guest_page_63555 kvm_write_guest_page 5 63555 &dbg_leb_write_63555 -+snapshot_read_22601 snapshot_read 3 22601 NULL -+OSDSetBlock_38986 OSDSetBlock 4-2 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 +__send_to_port_55383 __send_to_port 3 55383 NULL -+rproc_alloc_63577 rproc_alloc 5 63577 NULL +nf_nat_ipv4_manip_pkt_55387 nf_nat_ipv4_manip_pkt 2 55387 NULL -+smk_read_doi_30813 smk_read_doi 3 30813 NULL -+f_hidg_read_6238 f_hidg_read 3 6238 NULL -+proc_pid_attr_write_63845 proc_pid_attr_write 3 63845 NULL -+sctp_getsockopt_delayed_ack_9232 sctp_getsockopt_delayed_ack 2 9232 NULL -+get_nodes_39012 get_nodes 3 39012 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 -+pwr_wake_on_timer_exp_read_22640 pwr_wake_on_timer_exp_read 3 22640 NULL -+create_subvol_30836 create_subvol 4 30836 NULL -+mthca_map_reg_5664 mthca_map_reg 2-3 5664 NULL -+ci13xxx_add_device_14456 ci13xxx_add_device 3 14456 NULL -+iwl_dbgfs_calib_disabled_read_22649 iwl_dbgfs_calib_disabled_read 3 22649 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 -+tx_tx_start_null_frame_read_6281 tx_tx_start_null_frame_read 3 6281 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 -+nf_nat_ipv6_manip_pkt_6289 nf_nat_ipv6_manip_pkt 2 6289 NULL -+portcntrs_1_read_47253 portcntrs_1_read 3 47253 NULL -+ieee80211_if_read_dot11MeshGateAnnouncementProtocol_14486 ieee80211_if_read_dot11MeshGateAnnouncementProtocol 3 14486 NULL -+ubifs_leb_write_22679 ubifs_leb_write 4-5 22679 NULL -+nf_nat_sack_adjust_6297 nf_nat_sack_adjust 2 6297 NULL -+proc_loginuid_write_63648 proc_loginuid_write 3 63648 NULL -+mid_get_vbt_data_r10_6308 mid_get_vbt_data_r10 2 6308 NULL -+vmemmap_alloc_block_buf_61126 vmemmap_alloc_block_buf 1 61126 NULL +__vxge_hw_channel_allocate_55462 __vxge_hw_channel_allocate 3 55462 NULL -+pn_recvmsg_30887 pn_recvmsg 4 30887 NULL -+rx_rx_timeout_wa_read_50204 rx_rx_timeout_wa_read 3 50204 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 -+gfs2_readpages_47285 gfs2_readpages 4 47285 NULL -+fc_host_post_vendor_event_30903 fc_host_post_vendor_event 3 30903 NULL -+vbi_read_63673 vbi_read 3 63673 NULL -+tun_get_user_39099 tun_get_user 4 39099 NULL ++isdnhdlc_decode_55466 isdnhdlc_decode 0 55466 NULL ++cx23888_ir_rx_read_55473 cx23888_ir_rx_read 3 55473 NULL ++batadv_unicast_push_and_fill_skb_55474 batadv_unicast_push_and_fill_skb 2 55474 NULL ++snd_pcm_lib_write_55483 snd_pcm_lib_write 0-3 55483 NULL +i2o_pool_alloc_55485 i2o_pool_alloc 4 55485 NULL -+alloc_tty_driver_63681 alloc_tty_driver 1 63681 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 -+long_retry_limit_read_59766 long_retry_limit_read 3 59766 NULL -+nfc_hci_hcp_message_tx_14534 nfc_hci_hcp_message_tx 6 14534 NULL -+iommu_map_mmio_space_30919 iommu_map_mmio_space 1 30919 NULL -+ep0_write_14536 ep0_write 3 14536 NULL nohasharray -+dataflash_read_user_otp_14536 dataflash_read_user_otp 2-3 14536 &ep0_write_14536 -+dvb_ringbuffer_pkt_read_user_4303 dvb_ringbuffer_pkt_read_user 2-3-5 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 ++wm5100_gpio_direction_out_55497 wm5100_gpio_direction_out 2 55497 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 nohasharray +tx_tx_done_int_template_read_55511 tx_tx_done_int_template_read 3 55511 &cfpkt_pad_trail_55511 -+cmtp_add_msgpart_9252 cmtp_add_msgpart 4 9252 NULL -+sctp_setsockopt_rtoinfo_30941 sctp_setsockopt_rtoinfo 3 30941 NULL -+nouveau_object_create__63715 nouveau_object_create_ 5 63715 NULL -+hid_input_report_32458 hid_input_report 4 32458 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 -+read_cis_cache_29735 read_cis_cache 4 29735 NULL -+ieee80211_if_read_dot11MeshTTL_58307 ieee80211_if_read_dot11MeshTTL 3 58307 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 ++ea_get_55522 ea_get 0 55522 NULL ++buffer_size_55534 buffer_size 0 55534 NULL ++set_msr_interception_55538 set_msr_interception 2 55538 NULL +tty_port_register_device_55543 tty_port_register_device 3 55543 NULL -+tty_insert_flip_string_flags_30969 tty_insert_flip_string_flags 4 30969 NULL -+asix_read_cmd_13245 asix_read_cmd 5 13245 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 -+isdn_add_channels_40905 isdn_add_channels 3 40905 NULL -+bt_skb_alloc_6404 bt_skb_alloc 1 6404 NULL -+get_info_55681 get_info 3 55681 NULL -+setkey_14987 setkey 3 14987 NULL -+__bio_map_kern_47379 __bio_map_kern 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 -+dgrp_net_write_47392 dgrp_net_write 3 47392 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 -+snd_pcm_aio_read_13900 snd_pcm_aio_read 3 13900 NULL -+depth_read_31112 depth_read 3 31112 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 -+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 -+sys_writev_28384 sys_writev 3 28384 NULL -+batadv_tt_response_fill_table_39236 batadv_tt_response_fill_table 1 39236 NULL -+read_file_rcstat_22854 read_file_rcstat 3 22854 NULL -+__videobuf_copy_stream_44769 __videobuf_copy_stream 4 44769 NULL -+rx_rx_beacon_early_term_read_21559 rx_rx_beacon_early_term_read 3 21559 NULL -+pktgen_if_write_55628 pktgen_if_write 3 55628 NULL -+create_attr_set_22861 create_attr_set 1 22861 NULL -+r128_compat_ioctl_39250 r128_compat_ioctl 2 39250 NULL nohasharray -+pwr_cont_miss_bcns_spread_read_39250 pwr_cont_miss_bcns_spread_read 3 39250 &r128_compat_ioctl_39250 -+compat_sys_mq_timedsend_31060 compat_sys_mq_timedsend 3 31060 NULL -+sel_write_load_63830 sel_write_load 3 63830 NULL -+lbs_failcount_read_31063 lbs_failcount_read 3 31063 NULL -+pipeline_enc_tx_stat_fifo_int_read_14680 pipeline_enc_tx_stat_fifo_int_read 3 14680 NULL -+bnx2_nvram_write_7790 bnx2_nvram_write 4-2 7790 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 -+tsi148_master_set_14685 tsi148_master_set 4 14685 NULL -+ath6kl_wmi_set_appie_cmd_39266 ath6kl_wmi_set_appie_cmd 5 39266 NULL -+probe_bios_17467 probe_bios 1 17467 NULL -+vmw_execbuf_process_22885 vmw_execbuf_process 5 22885 NULL -+ttm_bo_ioremap_31082 ttm_bo_ioremap 2-3 31082 NULL -+mei_read_6507 mei_read 3 6507 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 ++cfg80211_send_rx_assoc_55651 cfg80211_send_rx_assoc 4 55651 NULL ++read_oldmem_55658 read_oldmem 3 55658 NULL +lpfc_idiag_queinfo_read_55662 lpfc_idiag_queinfo_read 3 55662 NULL -+mdc800_device_read_22896 mdc800_device_read 3 22896 NULL -+rx_filter_protection_filter_read_39282 rx_filter_protection_filter_read 3 39282 NULL -+sctp_setsockopt_context_31091 sctp_setsockopt_context 3 31091 NULL +il_dbgfs_tx_queue_read_55668 il_dbgfs_tx_queue_read 3 55668 NULL -+SetArea_50835 SetArea 4 50835 NULL -+tpm_read_50344 tpm_read 3 50344 NULL -+newpart_47485 newpart 6 47485 NULL -+jffs2_do_link_42048 jffs2_do_link 6 42048 NULL -+compat_sys_get_mempolicy_31109 compat_sys_get_mempolicy 3 31109 NULL -+core_sys_select_47494 core_sys_select 1 47494 NULL -+read_file_disable_ani_6536 read_file_disable_ani 3 6536 NULL -+sisusb_write_mem_bulk_29678 sisusb_write_mem_bulk 4 29678 NULL -+__vmalloc_node_39308 __vmalloc_node 1 39308 NULL -+libfc_host_alloc_7917 libfc_host_alloc 2 7917 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 4-3 63896 NULL -+tipc_multicast_49144 tipc_multicast 5 49144 NULL -+nfs4_realloc_slot_table_22859 nfs4_realloc_slot_table 2 22859 NULL -+fb_alloc_cmap_6554 fb_alloc_cmap 2 6554 NULL -+xhci_alloc_stream_info_63902 xhci_alloc_stream_info 3 63902 NULL ++get_info_55681 get_info 3 55681 NULL ++arizona_gpio_direction_in_55690 arizona_gpio_direction_in 2 55690 NULL ++wil_vring_alloc_skb_55703 wil_vring_alloc_skb 4 55703 NULL +__videobuf_alloc_uncached_55711 __videobuf_alloc_uncached 1 55711 NULL -+rx_rx_cmplt_read_14753 rx_rx_cmplt_read 3 14753 NULL -+nfc_hci_send_cmd_55714 nfc_hci_send_cmd 5 55714 NULL -+pcpu_mem_zalloc_22948 pcpu_mem_zalloc 1 22948 NULL -+filter_read_61692 filter_read 3 61692 NULL ++pm8001_store_update_fw_55716 pm8001_store_update_fw 4 55716 NULL +mtdswap_init_55719 mtdswap_init 2 55719 NULL -+rx_rx_phy_hdr_read_20950 rx_rx_phy_hdr_read 3 20950 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 -+divas_write_63901 divas_write 3 63901 NULL -+alloc_sglist_22960 alloc_sglist 1-2-3 22960 NULL -+caif_seqpkt_sendmsg_22961 caif_seqpkt_sendmsg 4 22961 NULL -+snd_compr_write_63923 snd_compr_write 3 63923 NULL -+cfpkt_split_47541 cfpkt_split 2 47541 NULL -+__copy_from_user_nocache_39351 __copy_from_user_nocache 3 39351 NULL -+btmrvl_pscmd_read_24308 btmrvl_pscmd_read 3 24308 NULL +__iio_allocate_kfifo_55738 __iio_allocate_kfifo 3-2 55738 NULL -+ipw_write_59807 ipw_write 3 59807 NULL -+sta_dev_read_14782 sta_dev_read 3 14782 NULL -+tipc_send2port_63935 tipc_send2port 5 63935 NULL -+do_write_log_from_user_39362 do_write_log_from_user 3 39362 NULL -+ch_do_scsi_31171 ch_do_scsi 4 31171 NULL -+afs_send_simple_reply_63940 afs_send_simple_reply 3 63940 NULL -+mwifiex_cfg80211_mgmt_tx_12022 mwifiex_cfg80211_mgmt_tx 9 12022 NULL -+cycx_setup_47562 cycx_setup 4 47562 NULL -+remote_settings_file_write_22987 remote_settings_file_write 3 22987 NULL -+ext4_kvmalloc_14796 ext4_kvmalloc 1 14796 NULL +set_local_name_55757 set_local_name 4 55757 NULL -+printer_req_alloc_62687 printer_req_alloc 2 62687 NULL +btrfs_init_new_buffer_55761 btrfs_init_new_buffer 4 55761 NULL -+read_ldt_47570 read_ldt 2 47570 NULL -+regmap_name_read_file_39379 regmap_name_read_file 3 39379 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 -+mtdchar_readoob_31200 mtdchar_readoob 4 31200 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 -+conf_read_55786 conf_read 3 55786 NULL -+do_tune_cpucache_14828 do_tune_cpucache 2 14828 NULL -+rx_defrag_decrypt_failed_read_41411 rx_defrag_decrypt_failed_read 3 41411 NULL -+viafb_dvp0_proc_write_23023 viafb_dvp0_proc_write 3 23023 NULL -+virtscsi_alloc_tgt_6643 virtscsi_alloc_tgt 2 6643 NULL -+atm_get_addr_31221 atm_get_addr 3 31221 NULL -+user_power_read_39414 user_power_read 3 39414 NULL ++strlen_55778 strlen 0 55778 NULL nohasharray ++is_idx_node_in_tnc_55778 is_idx_node_in_tnc 0 55778 &strlen_55778 ++req_bio_endio_55786 req_bio_endio 3 55786 NULL nohasharray ++conf_read_55786 conf_read 3 55786 &req_bio_endio_55786 +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 +btrfs_find_create_tree_block_55812 btrfs_find_create_tree_block 3 55812 NULL -+subdev_ioctl_28417 subdev_ioctl 2 28417 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 -+kmemdup_64015 kmemdup 2 64015 NULL -+compat_sys_select_16131 compat_sys_select 1 16131 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 -+tcf_csum_skb_nextlayer_64025 tcf_csum_skb_nextlayer 3 64025 NULL -+oz_events_read_47535 oz_events_read 3 47535 NULL +sb16_copy_from_user_55836 sb16_copy_from_user 10-6-7 55836 NULL -+resize_async_buffer_64031 resize_async_buffer 4 64031 NULL -+sys_semop_39457 sys_semop 3 39457 NULL -+vm_map_ram_23078 vm_map_ram 2 23078 NULL nohasharray -+raw_sendmsg_23078 raw_sendmsg 4 23078 &vm_map_ram_23078 -+update_pmkid_2481 update_pmkid 4 2481 NULL -+sriov_enable_migration_14889 sriov_enable_migration 2 14889 NULL -+sep_lli_table_secure_dma_64042 sep_lli_table_secure_dma 2-3 64042 NULL -+ps_pspoll_max_apturn_read_6699 ps_pspoll_max_apturn_read 3 6699 NULL -+acpi_os_allocate_14892 acpi_os_allocate 1 14892 NULL -+hysdn_rx_netpkt_16136 hysdn_rx_netpkt 3 16136 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 ++ip_hdrlen_55849 ip_hdrlen 0 55849 NULL +hcd_alloc_coherent_55862 hcd_alloc_coherent 5 55862 NULL -+ntfs_ucstonls_23097 ntfs_ucstonls 3-5 23097 NULL -+sky2_receive_13407 sky2_receive 2 13407 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 -+xlog_find_verify_log_record_18870 xlog_find_verify_log_record 2 18870 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 -+qla4xxx_alloc_work_44813 qla4xxx_alloc_work 2 44813 NULL -+drm_mode_create_tv_properties_23122 drm_mode_create_tv_properties 2 23122 NULL ++shmem_setxattr_55867 shmem_setxattr 4 55867 NULL ++hsc_write_55875 hsc_write 3 55875 NULL +pm_qos_power_read_55891 pm_qos_power_read 3 55891 NULL -+packet_recvmsg_47700 packet_recvmsg 4 47700 NULL -+command_file_write_31318 command_file_write 3 31318 NULL -+gspca_dev_probe2_59833 gspca_dev_probe2 4 59833 NULL -+lbs_highrssi_read_64089 lbs_highrssi_read 3 64089 NULL -+wep_default_key_count_read_43035 wep_default_key_count_read 3 43035 NULL -+i915_cache_sharing_read_24775 i915_cache_sharing_read 3 24775 NULL -+array_zalloc_7519 array_zalloc 1-2 7519 NULL -+tx_frag_key_not_found_read_22971 tx_frag_key_not_found_read 3 22971 NULL -+ipv6_renew_options_28867 ipv6_renew_options 5 28867 NULL -+unix_dgram_recvmsg_14952 unix_dgram_recvmsg 4 14952 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 -+sisusbcon_clear_64329 sisusbcon_clear 4-3-5 64329 NULL -+vxge_os_dma_malloc_46184 vxge_os_dma_malloc 2 46184 NULL -+sfi_check_table_6772 sfi_check_table 1 6772 NULL -+bits_to_user_47733 bits_to_user 2-3 47733 NULL -+int_proc_write_39542 int_proc_write 3 39542 NULL -+do_dccp_setsockopt_54377 do_dccp_setsockopt 5 54377 NULL nohasharray -+intel_sdvo_write_cmd_54377 intel_sdvo_write_cmd 4 54377 &do_dccp_setsockopt_54377 -+read_file_ani_23161 read_file_ani 3 23161 NULL -+carl9170_debugfs_read_47738 carl9170_debugfs_read 3 47738 NULL -+iwl_dbgfs_channels_read_6784 iwl_dbgfs_channels_read 3 6784 NULL -+ieee80211_if_read_6785 ieee80211_if_read 3 6785 NULL -+pp_write_39554 pp_write 3 39554 NULL -+ioremap_23172 ioremap 1-2 23172 NULL -+mvumi_alloc_mem_resource_47750 mvumi_alloc_mem_resource 3 47750 NULL -+hdlcdrv_register_6792 hdlcdrv_register 2 6792 NULL -+usblp_write_23178 usblp_write 3 23178 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 -+xprt_rdma_allocate_31372 xprt_rdma_allocate 2 31372 NULL -+vb2_vmalloc_get_userptr_31374 vb2_vmalloc_get_userptr 3 31374 NULL -+tx_tx_done_data_read_6799 tx_tx_done_data_read 3 6799 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 -+fix_unclean_leb_23188 fix_unclean_leb 3 23188 NULL ++handle_response_55951 handle_response 5 55951 NULL +simple_read_from_buffer_55957 simple_read_from_buffer 2-5 55957 NULL -+dlfb_ops_write_64150 dlfb_ops_write 3 64150 NULL -+vmalloc_32_1135 vmalloc_32 1 1135 NULL +tx_tx_imm_resp_read_55964 tx_tx_imm_resp_read 3 55964 NULL -+tx_tx_exch_pending_read_53018 tx_tx_exch_pending_read 3 53018 NULL -+__team_options_register_63941 __team_options_register 3 63941 NULL -+error_error_numll_frame_cts_start_read_47781 error_error_numll_frame_cts_start_read 3 47781 NULL -+ip_ufo_append_data_12775 ip_ufo_append_data 6-7-8 12775 NULL -+rvmalloc_46873 rvmalloc 1 46873 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 -+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 -+nfs_idmap_get_key_39616 nfs_idmap_get_key 2 39616 NULL -+rxrpc_client_sendmsg_23236 rxrpc_client_sendmsg 5 23236 NULL -+TSS_checkhmac1_31429 TSS_checkhmac1 5 31429 NULL -+ttm_object_device_init_10321 ttm_object_device_init 2 10321 NULL -+ping_recvmsg_25597 ping_recvmsg 4 25597 NULL -+macvtap_recvmsg_63949 macvtap_recvmsg 4 63949 NULL -+ceph_msgpool_init_34599 ceph_msgpool_init 4 34599 NULL -+cld_pipe_downcall_15058 cld_pipe_downcall 3 15058 NULL +ssb_bus_pcmciabus_register_56020 ssb_bus_pcmciabus_register 3 56020 NULL -+fm_send_cmd_39639 fm_send_cmd 5 39639 NULL -+ip6gre_err_19869 ip6gre_err 5 19869 NULL -+nvme_alloc_iod_56027 nvme_alloc_iod 1 56027 NULL -+opera1_xilinx_rw_31453 opera1_xilinx_rw 5 31453 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 -+ced_ioctl_36647 ced_ioctl 2 36647 NULL -+dlmfs_file_write_6892 dlmfs_file_write 3 6892 NULL -+__videobuf_alloc_vb_5665 __videobuf_alloc_vb 1 5665 NULL -+kvm_read_guest_cached_39666 kvm_read_guest_cached 4 39666 NULL -+redrat3_transmit_ir_64244 redrat3_transmit_ir 3 64244 NULL -+__alloc_extent_buffer_15093 __alloc_extent_buffer 3 15093 NULL -+v4l_stk_read_39672 v4l_stk_read 3 39672 NULL ++nvme_alloc_iod_56027 nvme_alloc_iod 1-2 56027 NULL +dccp_sendmsg_56058 dccp_sendmsg 4 56058 NULL -+alg_setkey_31485 alg_setkey 3 31485 NULL -+do_surface_dirty_sou_39678 do_surface_dirty_sou 7 39678 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 -+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 -+ps_poll_ps_poll_utilization_read_39383 ps_poll_ps_poll_utilization_read 3 39383 NULL -+i2cdev_write_23310 i2cdev_write 3 23310 NULL -+keyctl_instantiate_key_common_47889 keyctl_instantiate_key_common 4 47889 NULL -+kvm_read_hva_44847 kvm_read_hva 3 44847 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 +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 -+error_error_bar_retry_read_64305 error_error_bar_retry_read 3 64305 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 +usb_alloc_stream_buffers_56123 usb_alloc_stream_buffers 3 56123 NULL -+dsp_write_46218 dsp_write 2 46218 NULL +kmem_zalloc_large_56128 kmem_zalloc_large 1 56128 NULL -+usbvision_read_31555 usbvision_read 3 31555 NULL -+pd_video_read_24510 pd_video_read 3 24510 NULL -+crypto_authenc_esn_setkey_6985 crypto_authenc_esn_setkey 3 6985 NULL +sel_read_handle_status_56139 sel_read_handle_status 3 56139 NULL -+request_key_async_6990 request_key_async 4 6990 NULL -+ts_write_64336 ts_write 3 64336 NULL -+handle_response_55951 handle_response 5 55951 NULL -+usbtmc_write_64340 usbtmc_write 3 64340 NULL -+tx_frag_tkip_called_read_31575 tx_frag_tkip_called_read 3 31575 NULL -+r871x_set_wpa_ie_7000 r871x_set_wpa_ie 3 7000 NULL -+iscsi_create_endpoint_15193 iscsi_create_endpoint 1 15193 NULL -+osst_write_31581 osst_write 3 31581 NULL -+tracing_cpumask_read_7010 tracing_cpumask_read 3 7010 NULL ++map_addr_56144 map_addr 7 56144 NULL +rawv6_setsockopt_56165 rawv6_setsockopt 5 56165 NULL -+wm8350_block_write_19727 wm8350_block_write 3 19727 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 -+mangle_packet_18920 mangle_packet 7-9 18920 NULL -+bfad_debugfs_write_regrd_15218 bfad_debugfs_write_regrd 3 15218 NULL -+tx_frag_need_fragmentation_read_50153 tx_frag_need_fragmentation_read 3 50153 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 -+btrfs_map_block_64379 btrfs_map_block 3 64379 NULL -+nilfs_alloc_seg_bio_64383 nilfs_alloc_seg_bio 3 64383 NULL -+vzalloc_node_23424 vzalloc_node 1 23424 NULL -+arvo_sysfs_read_31617 arvo_sysfs_read 6 31617 NULL -+ipath_get_base_info_7043 ipath_get_base_info 3 7043 NULL -+variax_alloc_sysex_buffer_15237 variax_alloc_sysex_buffer 3 15237 NULL -+copy_from_user_17559 copy_from_user 3 17559 NULL -+ffs_epfile_write_48014 ffs_epfile_write 3 48014 NULL -+sys_migrate_pages_39825 sys_migrate_pages 2 39825 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 -+sctp_tsnmap_mark_35929 sctp_tsnmap_mark 2 35929 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 ++create_irq_nr_56180 create_irq_nr 1 56180 NULL ++ath9k_dump_legacy_btcoex_56194 ath9k_dump_legacy_btcoex 0 56194 NULL ++skb_headroom_56200 skb_headroom 0 56200 NULL ++usb_dump_iad_descriptor_56204 usb_dump_iad_descriptor 0 56204 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 -+pppoe_sendmsg_48039 pppoe_sendmsg 4 48039 NULL -+udl_prime_create_57159 udl_prime_create 2 57159 NULL -+oom_adj_write_64428 oom_adj_write 3 64428 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 -+__lgread_31668 __lgread 4 31668 NULL +scrub_setup_recheck_block_56245 scrub_setup_recheck_block 4-3 56245 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 -+linear_conf_23485 linear_conf 2 23485 NULL nohasharray -+divasa_remap_pci_bar_23485 divasa_remap_pci_bar 3-4 23485 &linear_conf_23485 -+posix_acl_alloc_48063 posix_acl_alloc 1 48063 NULL -+ieee80211_if_read_element_ttl_18869 ieee80211_if_read_element_ttl 3 18869 NULL -+_usb_writeN_sync_31682 _usb_writeN_sync 4 31682 NULL -+pipeline_enc_rx_stat_fifo_int_read_7107 pipeline_enc_rx_stat_fifo_int_read 3 7107 NULL -+forced_ps_read_31685 forced_ps_read 3 31685 NULL -+event_filter_read_23494 event_filter_read 3 23494 NULL -+tpm_tis_init_15304 tpm_tis_init 2-3 15304 NULL -+fcoe_ctlr_send_keep_alive_15308 fcoe_ctlr_send_keep_alive 3 15308 NULL -+pipeline_tcp_tx_stat_fifo_int_read_32589 pipeline_tcp_tx_stat_fifo_int_read 3 32589 NULL -+sys_setsockopt_35320 sys_setsockopt 5 35320 NULL ++sk_rmem_schedule_56255 sk_rmem_schedule 3 56255 NULL +il4965_ucode_general_stats_read_56277 il4965_ucode_general_stats_read 3 56277 NULL -+pkt_add_39897 pkt_add 3 39897 NULL ++ieee80211_if_fmt_user_power_level_56283 ieee80211_if_fmt_user_power_level 3 56283 NULL +RESIZE_IF_NEEDED_56286 RESIZE_IF_NEEDED 2 56286 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 -+read_file_modal_eeprom_39909 read_file_modal_eeprom 3 39909 NULL -+skb_copy_datagram_const_iovec_48102 skb_copy_datagram_const_iovec 4-2-5 48102 NULL +dvb_aplay_56296 dvb_aplay 3 56296 NULL -+gen_pool_add_virt_39913 gen_pool_add_virt 4 39913 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 -+alloc_ring_15345 alloc_ring 2-4 15345 NULL -+alloc_cpu_rmap_65363 alloc_cpu_rmap 1 65363 NULL -+remove_uuid_64505 remove_uuid 4 64505 NULL -+shmem_pwrite_slow_31741 shmem_pwrite_slow 3 31741 NULL -+NCR_700_change_queue_depth_31742 NCR_700_change_queue_depth 2 31742 NULL -+create_table_16213 create_table 2 16213 NULL -+acpi_ut_create_string_object_15360 acpi_ut_create_string_object 1 15360 NULL ++btmrvl_hscfgcmd_read_56303 btmrvl_hscfgcmd_read 3 56303 NULL ++compat_cdrom_read_audio_56304 compat_cdrom_read_audio 4 56304 NULL +pipeline_pre_to_defrag_swi_read_56321 pipeline_pre_to_defrag_swi_read 3 56321 NULL -+dbg_leb_change_23555 dbg_leb_change 4 23555 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 +journal_init_revoke_table_56331 journal_init_revoke_table 1 56331 NULL -+set_discoverable_48141 set_discoverable 4 48141 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 4 23568 NULL +snd_rawmidi_read_56337 snd_rawmidi_read 3 56337 NULL -+fq_codel_zalloc_15378 fq_codel_zalloc 1 15378 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 -+prctl_set_mm_64538 prctl_set_mm 3 64538 NULL -+ipv6_recv_error_56347 ipv6_recv_error 3 56347 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 -+isr_dma1_done_read_48159 isr_dma1_done_read 3 48159 NULL -+c4iw_id_table_alloc_48163 c4iw_id_table_alloc 3 48163 NULL -+dma_push_rx_39973 dma_push_rx 2 39973 NULL -+regmap_register_patch_21681 regmap_register_patch 3 21681 NULL -+broadsheetfb_write_39976 broadsheetfb_write 3 39976 NULL -+cfpkt_create_pfx_23594 cfpkt_create_pfx 1-2 23594 NULL -+pipeline_csum_to_rx_xfer_swi_read_15403 pipeline_csum_to_rx_xfer_swi_read 3 15403 NULL ++tps80031_ext_power_req_config_56353 tps80031_ext_power_req_config 3-4-5 56353 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 -+mthca_array_init_39987 mthca_array_init 2 39987 NULL +alloc_dummy_extent_buffer_56374 alloc_dummy_extent_buffer 2 56374 NULL -+diva_os_alloc_message_buffer_64568 diva_os_alloc_message_buffer 1 64568 NULL -+dgrp_dpa_read_1204 dgrp_dpa_read 3 1204 NULL -+alloc_cc770dev_48186 alloc_cc770dev 1 48186 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 -+tracing_saved_cmdlines_read_21434 tracing_saved_cmdlines_read 3 21434 NULL -+tx_tx_burst_programmed_read_20320 tx_tx_burst_programmed_read 3 20320 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 -+dvb_ca_en50221_io_write_43533 dvb_ca_en50221_io_write 3 43533 NULL -+ddp_ppod_write_idata_25610 ddp_ppod_write_idata 5 25610 NULL ++snd_pcm_common_ioctl1_56382 snd_pcm_common_ioctl1 0 56382 NULL +ocfs2_control_read_56405 ocfs2_control_read 3 56405 NULL -+nf_nat_icmpv6_reply_translation_40023 nf_nat_icmpv6_reply_translation 5 40023 NULL nohasharray -+ivtvfb_write_40023 ivtvfb_write 3 40023 &nf_nat_icmpv6_reply_translation_40023 -+hpsa_change_queue_depth_15449 hpsa_change_queue_depth 2 15449 NULL -+tcp_write_xmit_64602 tcp_write_xmit 2 64602 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 -+__i2400mu_send_barker_23652 __i2400mu_send_barker 3 23652 NULL -+nilfs_readpages_48229 nilfs_readpages 4 48229 NULL -+datablob_hmac_append_40038 datablob_hmac_append 3 40038 NULL -+read_file_recv_48232 read_file_recv 3 48232 NULL -+xfs_handle_to_dentry_12135 xfs_handle_to_dentry 3 12135 NULL -+set_tpl_pfs_27490 set_tpl_pfs 3 27490 NULL -+fanotify_write_64623 fanotify_write 3 64623 NULL -+batadv_add_packet_12136 batadv_add_packet 3 12136 NULL -+rx_rate_rx_frames_per_rates_read_7282 rx_rate_rx_frames_per_rates_read 3 7282 NULL ++pppol2tp_sendmsg_56420 pppol2tp_sendmsg 4 56420 NULL ++ec_dbgfs_cmd_read_56431 ec_dbgfs_cmd_read 3 56431 NULL +fl_create_56435 fl_create 5 56435 NULL +gnttab_map_56439 gnttab_map 2 56439 NULL -+nouveau_devinit_create__35348 nouveau_devinit_create_ 4 35348 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 3-2 56453 NULL -+drm_mode_crtc_set_gamma_size_31881 drm_mode_crtc_set_gamma_size 2 31881 NULL +set_connectable_56458 set_connectable 4 56458 NULL -+a2mp_chan_alloc_skb_cb_27159 a2mp_chan_alloc_skb_cb 2 27159 NULL -+nfc_hci_send_response_56462 nfc_hci_send_response 5 56462 NULL -+add_port_54941 add_port 2 54941 NULL +osd_req_list_partition_objects_56464 osd_req_list_partition_objects 5 56464 NULL -+cx18_read_23699 cx18_read 3 23699 NULL -+tlbflush_read_file_64661 tlbflush_read_file 3 64661 NULL -+ieee80211_if_read_last_beacon_31257 ieee80211_if_read_last_beacon 3 31257 NULL -+efx_tsoh_get_buffer_64664 efx_tsoh_get_buffer 3 64664 NULL -+rx_rx_out_of_mpdu_nodes_read_64668 rx_rx_out_of_mpdu_nodes_read 3 64668 NULL -+ddb_output_write_31902 ddb_output_write 3 31902 NULL -+send_set_info_48288 send_set_info 7 48288 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 -+set_disc_pwup_pfs_48300 set_disc_pwup_pfs 3 48300 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 -+new_dir_31919 new_dir 3 31919 NULL -+kmem_alloc_31920 kmem_alloc 1 31920 NULL -+timblogiw_read_48305 timblogiw_read 3 48305 NULL -+sec_bulk_write_64691 sec_bulk_write 3 64691 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 -+hfcpci_empty_fifo_2427 hfcpci_empty_fifo 4 2427 NULL -+ieee80211_if_read_bssid_35161 ieee80211_if_read_bssid 3 35161 NULL -+sctp_setsockopt_delayed_ack_40129 sctp_setsockopt_delayed_ack 3 40129 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 -+rx_rx_dropped_frame_read_23748 rx_rx_dropped_frame_read 3 23748 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 -+pwr_elp_enter_read_5324 pwr_elp_enter_read 3 5324 NULL -+dapm_bias_read_file_64715 dapm_bias_read_file 3 64715 NULL -+vb2_write_31948 vb2_write 3 31948 NULL -+cfg80211_roamed_32632 cfg80211_roamed 5-7 32632 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 -+write_62671 write 3 62671 NULL -+copy_from_user_toio_31966 copy_from_user_toio 3 31966 NULL -+tm6000_i2c_send_regs_20250 tm6000_i2c_send_regs 5 20250 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 -+ceph_copy_page_vector_to_user_31270 ceph_copy_page_vector_to_user 3-4 31270 NULL -+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 ++ocfs2_change_extent_flag_56549 ocfs2_change_extent_flag 5 56549 NULL +alloc_apertures_56561 alloc_apertures 1 56561 NULL -+iscsi_complete_pdu_48372 iscsi_complete_pdu 4 48372 NULL -+drm_property_create_blob_7414 drm_property_create_blob 2 7414 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 -+debug_debug2_read_30526 debug_debug2_read 3 30526 NULL -+compat_fillonedir_15620 compat_fillonedir 3 15620 NULL -+set_dis_tap_pfs_15621 set_dis_tap_pfs 3 15621 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 -+allocate_probes_40204 allocate_probes 1 40204 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 -+realloc_buffer_25816 realloc_buffer 2 25816 NULL -+isr_low_rssi_read_64789 isr_low_rssi_read 3 64789 NULL -+rx_filter_ibss_filter_read_50167 rx_filter_ibss_filter_read 3 50167 NULL -+ip_options_get_alloc_7448 ip_options_get_alloc 1 7448 NULL -+tomoyo_scan_bprm_15642 tomoyo_scan_bprm 2-4 15642 NULL nohasharray -+pipeline_hs_tx_stat_fifo_int_read_15642 pipeline_hs_tx_stat_fifo_int_read 3 15642 &tomoyo_scan_bprm_15642 -+ieee80211_if_read_rc_rateidx_mask_5ghz_27183 ieee80211_if_read_rc_rateidx_mask_5ghz 3 27183 NULL -+au0828_v4l2_read_40220 au0828_v4l2_read 3 40220 NULL -+lbs_debugfs_write_48413 lbs_debugfs_write 3 48413 NULL -+fs_path_add_15648 fs_path_add 3 15648 NULL +event_filter_write_56609 event_filter_write 3 56609 NULL -+xfs_buf_read_map_40226 xfs_buf_read_map 3 40226 NULL -+ms_rw_multi_sector_7459 ms_rw_multi_sector 3-4 7459 NULL -+xsd_read_15653 xsd_read 3 15653 NULL -+pwr_tx_without_ps_read_48423 pwr_tx_without_ps_read 3 48423 NULL -+p54_init_common_23850 p54_init_common 1 23850 NULL -+ubi_more_leb_change_data_63534 ubi_more_leb_change_data 4 63534 NULL -+vmw_cursor_update_dmabuf_32045 vmw_cursor_update_dmabuf 3-4 32045 NULL -+sys_sched_setaffinity_32046 sys_sched_setaffinity 2 32046 NULL -+garp_request_join_7471 garp_request_join 4 7471 NULL -+ecryptfs_send_miscdev_64816 ecryptfs_send_miscdev 2 64816 NULL -+copy_nodes_to_user_63807 copy_nodes_to_user 2 63807 NULL -+unifi_read_14899 unifi_read 3 14899 NULL -+il_dbgfs_missed_beacon_read_59956 il_dbgfs_missed_beacon_read 3 59956 NULL -+compat_sys_msgrcv_7482 compat_sys_msgrcv 2 7482 NULL -+do_kimage_alloc_64827 do_kimage_alloc 3 64827 NULL -+brcmf_usb_dl_cmd_53130 brcmf_usb_dl_cmd 4 53130 NULL -+proc_scsi_devinfo_write_32064 proc_scsi_devinfo_write 3 32064 NULL -+pwr_missing_bcns_read_25824 pwr_missing_bcns_read 3 25824 NULL -+ipv6_recv_rxpmtu_7142 ipv6_recv_rxpmtu 3 7142 NULL -+ieee80211_if_read_dot11MeshMaxPeerLinks_23878 ieee80211_if_read_dot11MeshMaxPeerLinks 3 23878 NULL ++gather_array_56641 gather_array 3 56641 NULL +uvc_debugfs_stats_read_56651 uvc_debugfs_stats_read 3 56651 NULL -+ieee80211_if_read_channel_type_23884 ieee80211_if_read_channel_type 3 23884 NULL -+tx_frag_mpdu_alloc_failed_read_41167 tx_frag_mpdu_alloc_failed_read 3 41167 NULL -+tun_recvmsg_48463 tun_recvmsg 4 48463 NULL -+uf_sme_queue_message_15697 uf_sme_queue_message 3 15697 NULL -+gdth_search_isa_58595 gdth_search_isa 1 58595 NULL -+sdhci_alloc_host_7509 sdhci_alloc_host 2 7509 NULL -+_xfs_buf_get_pages_46811 _xfs_buf_get_pages 2 46811 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 -+bio_alloc_32095 bio_alloc 2 32095 NULL -+shmem_setxattr_55867 shmem_setxattr 4 55867 NULL -+rfcomm_sock_setsockopt_18254 rfcomm_sock_setsockopt 5 18254 NULL -+ath6kl_fwlog_read_32101 ath6kl_fwlog_read 3 32101 NULL -+add_new_gdb_meta_bg_23911 add_new_gdb_meta_bg 3 23911 NULL -+r8712_usbctrl_vendorreq_48489 r8712_usbctrl_vendorreq 6 48489 NULL -+snd_gus_dram_read_56686 snd_gus_dram_read 4 56686 NULL -+ubi_io_write_data_40305 ubi_io_write_data 4-5 40305 NULL -+send_control_msg_48498 send_control_msg 6 48498 NULL -+ps_poll_upsd_timeouts_read_36755 ps_poll_upsd_timeouts_read 3 36755 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 -+request_key_async_with_auxdata_46624 request_key_async_with_auxdata 4 46624 NULL -+diva_os_copy_to_user_48508 diva_os_copy_to_user 4 48508 NULL ++snd_gus_dram_read_56686 snd_gus_dram_read 4 56686 NULL nohasharray ++da9055_gpio_to_irq_56686 da9055_gpio_to_irq 2 56686 &snd_gus_dram_read_56686 +dvb_ringbuffer_read_user_56702 dvb_ringbuffer_read_user 3 56702 NULL -+uvc_alloc_entity_20836 uvc_alloc_entity 4-3 20836 NULL -+batadv_tt_changes_fill_buff_40323 batadv_tt_changes_fill_buff 4 40323 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 -+smk_read_mapped_7562 smk_read_mapped 3 7562 NULL -+alloc_tx_32143 alloc_tx 2 32143 NULL -+wiimote_hid_send_48528 wiimote_hid_send 3 48528 NULL -+compat_do_arpt_set_ctl_12184 compat_do_arpt_set_ctl 4 12184 NULL -+hsc_write_55875 hsc_write 3 55875 NULL -+cifs_setxattr_23957 cifs_setxattr 4 23957 NULL -+do_test_15766 do_test 1 15766 NULL -+ieee80211_if_read_ave_beacon_64924 ieee80211_if_read_ave_beacon 3 64924 NULL -+ip_recv_error_23109 ip_recv_error 3 23109 NULL -+named_distribute_48544 named_distribute 4 48544 NULL -+ip_generic_getfrag_12187 ip_generic_getfrag 3-4 12187 NULL -+venus_link_32165 venus_link 5 32165 NULL -+event_rx_mem_empty_read_40363 event_rx_mem_empty_read 3 40363 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 -+vmw_kms_present_38130 vmw_kms_present 9 38130 NULL +btrfsic_map_block_56751 btrfsic_map_block 2 56751 NULL -+set_std_nic_pfs_15792 set_std_nic_pfs 3 15792 NULL -+ubifs_wbuf_write_nolock_64946 ubifs_wbuf_write_nolock 3 64946 NULL -+usblp_new_writeurb_22894 usblp_new_writeurb 2 22894 NULL -+llcp_sock_recvmsg_13556 llcp_sock_recvmsg 4 13556 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 -+cxgb_alloc_mem_24007 cxgb_alloc_mem 1 24007 NULL -+traceprobe_probes_write_64969 traceprobe_probes_write 3 64969 NULL -+suspend_dtim_interval_read_64971 suspend_dtim_interval_read 3 64971 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 ++alloc_iommu_56778 alloc_iommu 2-3 56778 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 -+brcmf_sdbrcm_died_dump_15841 brcmf_sdbrcm_died_dump 3 15841 NULL +do_syslog_56807 do_syslog 3 56807 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-2-3 31315 NULL -+unifi_write_65012 unifi_write 3 65012 NULL -+agp_generic_alloc_user_9470 agp_generic_alloc_user 1 9470 NULL -+nfs_readdata_alloc_65015 nfs_readdata_alloc 2 65015 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 +mtdchar_write_56831 mtdchar_write 3 56831 NULL nohasharray +ntfs_rl_realloc_56831 ntfs_rl_realloc 3 56831 &mtdchar_write_56831 -+skb_copy_to_page_nocache_58624 skb_copy_to_page_nocache 6 58624 NULL -+mid_get_vbt_data_r1_26170 mid_get_vbt_data_r1 2 26170 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 -+if_write_51756 if_write 3 51756 NULL -+insert_dent_65034 insert_dent 7 65034 NULL -+blkcipher_copy_iv_24075 blkcipher_copy_iv 3 24075 NULL +snd_rawmidi_kernel_write1_56847 snd_rawmidi_kernel_write1 4 56847 NULL -+vb2_fop_read_24080 vb2_fop_read 3 24080 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 -+aes_encrypt_packets_read_48666 aes_encrypt_packets_read 3 48666 NULL -+sm501_create_subdev_48668 sm501_create_subdev 3-4 48668 NULL nohasharray -+sys_setgroups_48668 sys_setgroups 1 48668 &sm501_create_subdev_48668 -+ath9k_multi_regread_65056 ath9k_multi_regread 4 65056 NULL -+brcmf_sdcard_send_buf_7713 brcmf_sdcard_send_buf 6 7713 NULL -+l2cap_build_cmd_48676 l2cap_build_cmd 4 48676 NULL -+batadv_hash_new_40491 batadv_hash_new 1 40491 NULL -+pipeline_post_proc_swi_read_24108 pipeline_post_proc_swi_read 3 24108 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 -+__alloc_bootmem_node_high_65076 __alloc_bootmem_node_high 2 65076 NULL -+persistent_ram_new_40501 persistent_ram_new 1-2 40501 NULL -+ieee80211_send_auth_24121 ieee80211_send_auth 5 24121 NULL -+altera_drscan_48698 altera_drscan 2 48698 NULL -+tx_frag_in_process_called_read_1290 tx_frag_in_process_called_read 3 1290 NULL -+set_bypass_pwup_pfs_7742 set_bypass_pwup_pfs 3 7742 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 -+befs_utf2nls_25628 befs_utf2nls 3 25628 NULL -+ghash_async_setkey_60001 ghash_async_setkey 3 60001 NULL -+TSS_checkhmac2_40520 TSS_checkhmac2 5-7 40520 NULL -+btrfs_error_discard_extent_50444 btrfs_error_discard_extent 2 50444 NULL -+irnet_ctrl_write_24139 irnet_ctrl_write 3 24139 NULL -+nouveau_bar_create__32332 nouveau_bar_create_ 4 32332 NULL -+process_vm_rw_pages_15954 process_vm_rw_pages 6-5 15954 NULL -+revalidate_19043 revalidate 2 19043 NULL -+t4_alloc_mem_32342 t4_alloc_mem 1 32342 NULL -+aes_decrypt_fail_read_54815 aes_decrypt_fail_read 3 54815 NULL -+trim_bitmaps_24158 trim_bitmaps 3 24158 NULL -+alloc_candev_7776 alloc_candev 1-2 7776 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 ++debug_debug3_read_56894 debug_debug3_read 3 56894 NULL ++batadv_tt_update_changes_56895 batadv_tt_update_changes 3 56895 NULL ++strcspn_56913 strcspn 0 56913 NULL ++__kfifo_out_56927 __kfifo_out 0-3 56927 NULL +check_header_56930 check_header 2 56930 NULL -+ima_write_policy_40548 ima_write_policy 3 40548 NULL +journal_init_revoke_56933 journal_init_revoke 2 56933 NULL -+__wa_xfer_setup_segs_56725 __wa_xfer_setup_segs 2 56725 NULL -+ath6kl_usb_bmi_read_48745 ath6kl_usb_bmi_read 3 48745 NULL -+sel_read_initcon_32362 sel_read_initcon 3 32362 NULL -+ath6kl_regwrite_read_48747 ath6kl_regwrite_read 3 48747 NULL -+frame_alloc_15981 frame_alloc 4 15981 NULL -+esp_alloc_tmp_40558 esp_alloc_tmp 3-2 40558 NULL -+nf_nat_seq_adjust_44989 nf_nat_seq_adjust 4 44989 NULL -+diva_os_copy_from_user_7792 diva_os_copy_from_user 4 7792 NULL -+adu_read_24177 adu_read 3 24177 NULL -+alloc_fddidev_15382 alloc_fddidev 1 15382 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 -+carl9170_rx_copy_data_21656 carl9170_rx_copy_data 2 21656 NULL -+usbtmc_read_32377 usbtmc_read 3 32377 NULL -+qib_alloc_devdata_51819 qib_alloc_devdata 2 51819 NULL -+l2cap_segment_sdu_48772 l2cap_segment_sdu 4 48772 NULL -+dvb_generic_ioctl_21810 dvb_generic_ioctl 2 21810 NULL -+cache_write_pipefs_48270 cache_write_pipefs 3 48270 NULL -+rx_defrag_called_read_1897 rx_defrag_called_read 3 1897 NULL -+xfs_iext_add_indirect_multi_32400 xfs_iext_add_indirect_multi 3 32400 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 ++diva_get_driver_info_56967 diva_get_driver_info 0 56967 NULL +nouveau_device_create__56984 nouveau_device_create_ 6 56984 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 -+pcpu_embed_first_chunk_24224 pcpu_embed_first_chunk 1-2-3 24224 NULL -+il3945_sta_dbgfs_stats_table_read_48802 il3945_sta_dbgfs_stats_table_read 3 48802 NULL -+scsi_register_49094 scsi_register 2 49094 NULL -+twa_change_queue_depth_48808 twa_change_queue_depth 2 48808 NULL +vlsi_alloc_ring_57003 vlsi_alloc_ring 3-4 57003 NULL -+sel_read_bool_24236 sel_read_bool 3 24236 NULL -+batadv_check_unicast_packet_10866 batadv_check_unicast_packet 2 10866 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 -+gfs2_glock_nq_m_20347 gfs2_glock_nq_m 1 20347 NULL -+atomic_counters_read_48827 atomic_counters_read 3 48827 NULL -+rx_rx_done_read_65217 rx_rx_done_read 3 65217 NULL -+vc_do_resize_48842 vc_do_resize 3-4 48842 NULL -+svc_pool_map_alloc_arrays_47181 svc_pool_map_alloc_arrays 2 47181 NULL -+create_gpadl_header_19064 create_gpadl_header 2 19064 NULL -+dvb_dmxdev_read_sec_7892 dvb_dmxdev_read_sec 4 7892 NULL -+snd_opl4_mem_proc_read_63774 snd_opl4_mem_proc_read 5 63774 NULL -+xfs_trans_get_efi_7898 xfs_trans_get_efi 2 7898 NULL -+compat_sys_preadv64_24283 compat_sys_preadv64 3 24283 NULL -+pipeline_rx_complete_stat_fifo_int_read_40671 pipeline_rx_complete_stat_fifo_int_read 3 40671 NULL -+viafb_dvp1_proc_write_48864 viafb_dvp1_proc_write 3 48864 NULL -+wlc_phy_loadsampletable_nphy_64367 wlc_phy_loadsampletable_nphy 3 64367 NULL -+__ffs_ep0_read_events_48868 __ffs_ep0_read_events 3 48868 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 ++xfs_buf_read_map_57053 xfs_buf_read_map 3 57053 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 -+mid_get_vbt_data_r0_10876 mid_get_vbt_data_r0 2 10876 NULL +pcmcia_replace_cis_57066 pcmcia_replace_cis 3 57066 NULL -+ide_driver_proc_write_32493 ide_driver_proc_write 3 32493 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 -+sys_setgroups16_48882 sys_setgroups16 1 48882 NULL ++sis190_try_rx_copy_57069 sis190_try_rx_copy 3 57069 NULL ++tracing_set_trace_write_57096 tracing_set_trace_write 3 57096 NULL ++snd_pcm_hw_params_old_user_57108 snd_pcm_hw_params_old_user 0 57108 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 ++udl_prime_create_57159 udl_prime_create 2 57159 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 ++tt3650_ci_msg_57219 tt3650_ci_msg 4 57219 NULL ++dma_fifo_alloc_57236 dma_fifo_alloc 5-3-2 57236 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 ++alloc_flex_gd_57259 alloc_flex_gd 1 57259 NULL ++security_mmap_file_57268 security_mmap_file 0 57268 NULL ++pstore_file_read_57288 pstore_file_read 3 57288 NULL ++snd_pcm_read_57289 snd_pcm_read 3 57289 NULL ++ath6kl_buf_alloc_57304 ath6kl_buf_alloc 1 57304 NULL ++fw_file_size_57307 fw_file_size 0 57307 NULL ++ftdi_elan_write_57309 ftdi_elan_write 3 57309 NULL ++__mxt_write_reg_57326 __mxt_write_reg 3 57326 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 ++tipc_bclink_stats_57372 tipc_bclink_stats 2 57372 NULL ++max8997_irq_domain_map_57375 max8997_irq_domain_map 2 57375 NULL ++tty_register_device_attr_57381 tty_register_device_attr 2 57381 NULL ++read_file_blob_57406 read_file_blob 3 57406 NULL ++enclosure_register_57412 enclosure_register 3 57412 NULL ++gre_manip_pkt_57416 gre_manip_pkt 4 57416 NULL ++wm831x_gpio_set_debounce_57428 wm831x_gpio_set_debounce 2 57428 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 ++ReadReg_57453 ReadReg 0 57453 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 ++sisusb_clear_vram_57466 sisusb_clear_vram 3-2 57466 NULL ++ieee80211_if_read_flags_57470 ieee80211_if_read_flags 3 57470 NULL nohasharray ++sep_lock_user_pages_57470 sep_lock_user_pages 2-3 57470 &ieee80211_if_read_flags_57470 ++ocfs2_write_cluster_57483 ocfs2_write_cluster 8-2-9 57483 NULL ++bnad_debugfs_write_regwr_57500 bnad_debugfs_write_regwr 3 57500 NULL ++skb_headlen_57501 skb_headlen 0 57501 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 ++wil_read_file_ssid_57517 wil_read_file_ssid 3 57517 NULL nohasharray ++il_dbgfs_force_reset_read_57517 il_dbgfs_force_reset_read 3 57517 &wil_read_file_ssid_57517 ++inode_permission_57531 inode_permission 0 57531 NULL ++acpi_dev_get_resources_57534 acpi_dev_get_resources 0 57534 NULL nohasharray ++DoC_Probe_57534 DoC_Probe 1 57534 &acpi_dev_get_resources_57534 ++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 ++lp8788_update_bits_57600 lp8788_update_bits 2 57600 NULL ++wm831x_gpio_to_irq_57614 wm831x_gpio_to_irq 2 57614 NULL ++sk_stream_alloc_skb_57622 sk_stream_alloc_skb 2 57622 NULL ++tps65217_reg_write_57623 tps65217_reg_write 2 57623 NULL nohasharray ++tx_tx_retry_template_read_57623 tx_tx_retry_template_read 3 57623 &tps65217_reg_write_57623 ++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 ++tc3589x_irq_map_57639 tc3589x_irq_map 2 57639 NULL ++sys_mq_timedsend_57661 sys_mq_timedsend 3 57661 NULL ++r3964_write_57662 r3964_write 4 57662 NULL ++proc_ns_readlink_57664 proc_ns_readlink 3 57664 NULL ++__lgwrite_57669 __lgwrite 4 57669 NULL ++ieee80211_MFIE_rate_len_57692 ieee80211_MFIE_rate_len 0 57692 NULL ++f1x_match_to_this_node_57695 f1x_match_to_this_node 3 57695 NULL ++check_prefree_segments_57702 check_prefree_segments 2 57702 NULL ++i2400m_rx_stats_read_57706 i2400m_rx_stats_read 3 57706 NULL ++ieee80211_if_read_dot11MeshHWMPconfirmationInterval_57722 ieee80211_if_read_dot11MeshHWMPconfirmationInterval 3 57722 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 ++ad5380_info_to_reg_57905 ad5380_info_to_reg 0 57905 NULL ++emi26_writememory_57908 emi26_writememory 4 57908 NULL ++iio_read_first_n_kfifo_57910 iio_read_first_n_kfifo 2 57910 NULL ++memcg_caches_array_size_57918 memcg_caches_array_size 0-1 57918 NULL ++twl_i2c_write_57923 twl_i2c_write 4-3 57923 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 ++hfc_empty_fifo_57972 hfc_empty_fifo 2 57972 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 ++mc13783_write_58033 mc13783_write 2 58033 NULL ++mce_async_out_58056 mce_async_out 3 58056 NULL ++ocfs2_find_leaf_58065 ocfs2_find_leaf 0 58065 NULL ++dt3155_alloc_coherent_58073 dt3155_alloc_coherent 2 58073 NULL ++cm4040_write_58079 cm4040_write 3 58079 NULL ++udi_log_event_58105 udi_log_event 3 58105 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 ++btrfs_mksubvol_58240 btrfs_mksubvol 3 58240 NULL ++btrfsic_create_link_to_next_block_58246 btrfsic_create_link_to_next_block 4 58246 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 ++r100_mm_rreg_58276 r100_mm_rreg 0 58276 NULL ++iscsi_decode_text_input_58292 iscsi_decode_text_input 4 58292 NULL ++ieee80211_if_read_dot11MeshTTL_58307 ieee80211_if_read_dot11MeshTTL 3 58307 NULL ++tx_tx_start_int_templates_read_58324 tx_tx_start_int_templates_read 3 58324 NULL ++pcim_iomap_58334 pcim_iomap 3 58334 NULL ++diva_init_dma_map_58336 diva_init_dma_map 3 58336 NULL ++ieee80211_send_probe_req_58337 ieee80211_send_probe_req 4-6 58337 NULL ++next_pidmap_58347 next_pidmap 2 58347 NULL ++vmalloc_to_sg_58354 vmalloc_to_sg 2 58354 NULL ++brcmf_debugfs_sdio_counter_read_58369 brcmf_debugfs_sdio_counter_read 3 58369 NULL ++il_dbgfs_status_read_58388 il_dbgfs_status_read 3 58388 NULL ++kvm_mmu_write_protect_pt_masked_58406 kvm_mmu_write_protect_pt_masked 3 58406 NULL ++i2400m_pld_size_58415 i2400m_pld_size 0 58415 NULL ++__mlx4_alloc_mtt_range_58418 __mlx4_alloc_mtt_range 2 58418 NULL ++__iio_add_chan_devattr_58451 __iio_add_chan_devattr 0 58451 NULL ++capabilities_read_58457 capabilities_read 3 58457 NULL ++batadv_iv_ogm_aggr_packet_58462 batadv_iv_ogm_aggr_packet 3 58462 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 ++batadv_bla_is_backbone_gw_58488 batadv_bla_is_backbone_gw 3 58488 NULL ++wm831x_reg_write_58489 wm831x_reg_write 2 58489 NULL ++rndis_add_response_58544 rndis_add_response 2 58544 NULL ++wep_decrypt_fail_read_58567 wep_decrypt_fail_read 3 58567 NULL ++sip_sprintf_addr_port_58574 sip_sprintf_addr_port 0 58574 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 nohasharray ++efi_ioremap_58634 efi_ioremap 1-2 58634 &module_alloc_update_bounds_rx_58634 ++tx_tx_start_fw_gen_read_58648 tx_tx_start_fw_gen_read 3 58648 NULL ++ocfs2_block_to_cluster_start_58653 ocfs2_block_to_cluster_start 2 58653 NULL ++find_zero_58685 find_zero 0-1 58685 NULL nohasharray ++mcs7830_set_reg_async_58685 mcs7830_set_reg_async 3 58685 &find_zero_58685 ++uwb_bce_print_IEs_58686 uwb_bce_print_IEs 4 58686 NULL ++tps6586x_writes_58689 tps6586x_writes 3-2 58689 NULL ++vmalloc_node_58700 vmalloc_node 1 58700 NULL ++acpi_map_58725 acpi_map 1-2 58725 NULL ++da9052_gpio_to_irq_58729 da9052_gpio_to_irq 2 58729 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 ++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 ++isku_sysfs_read_58806 isku_sysfs_read 6 58806 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 ++ath6kl_wmi_send_action_cmd_58860 ath6kl_wmi_send_action_cmd 7 58860 NULL ++hw_write_58881 hw_write 2 58881 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 ++pipeline_cs_rx_packet_out_read_58926 pipeline_cs_rx_packet_out_read 3 58926 NULL ++st5481_isoc_flatten_58952 st5481_isoc_flatten 0 58952 NULL ++ieee80211_if_fmt_dot11MeshHWMPactivePathToRootTimeout_58965 ieee80211_if_fmt_dot11MeshHWMPactivePathToRootTimeout 3 58965 NULL ++crypto_aead_ivsize_58970 crypto_aead_ivsize 0 58970 NULL ++handle_rx_packet_58993 handle_rx_packet 3 58993 NULL ++edac_align_ptr_59003 edac_align_ptr 0 59003 NULL ++ep_write_59008 ep_write 3 59008 NULL ++i915_ring_stop_write_59010 i915_ring_stop_write 3 59010 NULL ++init_pci_cap_msi_perm_59033 init_pci_cap_msi_perm 2 59033 NULL ++selinux_transaction_write_59038 selinux_transaction_write 3 59038 NULL ++crypto_aead_reqsize_59039 crypto_aead_reqsize 0 59039 NULL ++regmap_bulk_write_59049 regmap_bulk_write 4-2 59049 NULL ++da9052_gpio_direction_input_59062 da9052_gpio_direction_input 2 59062 NULL ++vfio_device_fops_compat_ioctl_59111 vfio_device_fops_compat_ioctl 3 59111 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 ++nfc_llcp_send_i_frame_59130 nfc_llcp_send_i_frame 3 59130 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 ++fast_rx_path_59214 fast_rx_path 3 59214 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 ++paging64_gpte_to_gfn_lvl_59229 paging64_gpte_to_gfn_lvl 0-1-2 59229 NULL ++rbd_do_request_59239 rbd_do_request 6-7 59239 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 ++da9055_reg_update_59280 da9055_reg_update 2 59280 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 ++rx_defrag_in_process_called_read_59338 rx_defrag_in_process_called_read 3 59338 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 ++snd_pcm_tstamp_59431 snd_pcm_tstamp 0 59431 NULL ++squashfs_read_data_59440 squashfs_read_data 6 59440 NULL ++fs_path_ensure_buf_59445 fs_path_ensure_buf 2 59445 NULL ++descriptor_loc_59446 descriptor_loc 3 59446 NULL ++do_compat_semctl_59449 do_compat_semctl 4 59449 NULL ++virtqueue_add_buf_59470 virtqueue_add_buf 3-4 59470 NULL ++ib_copy_from_udata_59502 ib_copy_from_udata 3 59502 NULL ++nfsd_nrpools_59503 nfsd_nrpools 0 59503 NULL ++rds_pin_pages_59507 rds_pin_pages 0 59507 NULL ++mpi_get_nbits_59551 mpi_get_nbits 0 59551 NULL ++tunables_write_59563 tunables_write 3 59563 NULL ++memdup_user_59590 memdup_user 2 59590 NULL ++tps6586x_irq_get_virq_59601 tps6586x_irq_get_virq 2 59601 NULL ++mem_fwlog_free_mem_blks_read_59616 mem_fwlog_free_mem_blks_read 3 59616 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 ++__devcgroup_check_permission_59665 __devcgroup_check_permission 0 59665 NULL ++alloc_dca_provider_59670 alloc_dca_provider 2 59670 NULL ++wm8400_write_59675 wm8400_write 2 59675 NULL ++sriov_enable_59689 sriov_enable 2 59689 NULL ++mic_calc_failure_read_59700 mic_calc_failure_read 3 59700 NULL ++snd_pcm_info_user_59711 snd_pcm_info_user 0 59711 NULL ++prism2_info_scanresults_59729 prism2_info_scanresults 3 59729 NULL ++wm8996_gpio_direction_in_59739 wm8996_gpio_direction_in 2 59739 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 ++sctp_manip_pkt_59749 sctp_manip_pkt 4 59749 NULL ++ext3_acl_count_59754 ext3_acl_count 0-1 59754 NULL ++long_retry_limit_read_59766 long_retry_limit_read 3 59766 NULL ++sec_reg_update_59771 sec_reg_update 2 59771 NULL ++venus_remove_59781 venus_remove 4 59781 NULL ++xlog_do_recover_59789 xlog_do_recover 3 59789 NULL ++ipw_write_59807 ipw_write 3 59807 NULL ++rtllib_wx_set_gen_ie_59808 rtllib_wx_set_gen_ie 3 59808 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 ++fs64_to_cpu_59845 fs64_to_cpu 0 59845 NULL ++tun_put_user_59849 tun_put_user 4 59849 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 ++il_dbgfs_rxon_flags_read_59950 il_dbgfs_rxon_flags_read 3 59950 NULL nohasharray ++dapm_widget_power_read_file_59950 dapm_widget_power_read_file 3 59950 &il_dbgfs_rxon_flags_read_59950 ++il_dbgfs_missed_beacon_read_59956 il_dbgfs_missed_beacon_read 3 59956 NULL nohasharray ++compat_ipmi_ioctl_59956 compat_ipmi_ioctl 3 59956 &il_dbgfs_missed_beacon_read_59956 ++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 ++ceph_calc_raw_layout_60035 ceph_calc_raw_layout 4 60035 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 ++vcs_size_60050 vcs_size 0 60050 NULL nohasharray ++pin_2_irq_60050 pin_2_irq 0-3 60050 &vcs_size_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 ++ieee80211_build_probe_req_60064 ieee80211_build_probe_req 8-6 60064 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 ++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 ++rx_rx_tkip_replays_read_60193 rx_rx_tkip_replays_read 3 60193 NULL ++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 ++set_tap_pfs_60203 set_tap_pfs 3 60203 NULL ++ieee80211_mgmt_tx_60209 ieee80211_mgmt_tx 7 60209 NULL ++btrfs_get_token_16_60220 btrfs_get_token_16 0 60220 NULL ++arizona_map_irq_60230 arizona_map_irq 2 60230 NULL ++lp8788_select_buck_vout_addr_60241 lp8788_select_buck_vout_addr 0 60241 NULL ++wm831x_irq_60254 wm831x_irq 2 60254 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 ++dccp_setsockopt_60367 dccp_setsockopt 5 60367 NULL ++ubi_eba_atomic_leb_change_60379 ubi_eba_atomic_leb_change 5 60379 NULL ++mthca_alloc_resize_buf_60394 mthca_alloc_resize_buf 3 60394 NULL ++ocfs2_zero_extend_60396 ocfs2_zero_extend 3 60396 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 1 60432 &tstats_write_60432 ++tipc_buf_acquire_60437 tipc_buf_acquire 1 60437 NULL ++rx_data_60442 rx_data 4 60442 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 ++hysdn_sched_rx_60533 hysdn_sched_rx 3 60533 NULL ++v9fs_fid_readn_60544 v9fs_fid_readn 4 60544 NULL ++nonpaging_map_60551 nonpaging_map 4 60551 NULL ++skb_transport_offset_60619 skb_transport_offset 0 60619 NULL ++wl1273_fm_fops_write_60621 wl1273_fm_fops_write 3 60621 NULL ++usb_control_msg_60624 usb_control_msg 0 60624 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 ++read_vbt_r10_60679 read_vbt_r10 1 60679 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 ++pwr_tx_with_ps_read_60851 pwr_tx_with_ps_read 3 60851 NULL ++alloc_buf_60864 alloc_buf 3-2 60864 NULL ++alloc_irq_from_60868 alloc_irq_from 1 60868 NULL ++generic_writepages_60871 generic_writepages 0 60871 NULL ++ubifs_read_one_lp_60882 ubifs_read_one_lp 0 60882 NULL ++ext4_update_inline_data_60888 ext4_update_inline_data 3 60888 NULL ++wm8962_gpio_set_60894 wm8962_gpio_set 2 60894 NULL ++iio_debugfs_read_reg_60908 iio_debugfs_read_reg 3 60908 NULL ++mgt_set_varlen_60916 mgt_set_varlen 4 60916 NULL ++scrub_chunk_60926 scrub_chunk 5 60926 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 ++__a2mp_build_60987 __a2mp_build 3 60987 NULL ++hsc_msg_alloc_60990 hsc_msg_alloc 1 60990 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 ++snd_pcm_pause_61054 snd_pcm_pause 0 61054 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 ++snd_pcm_update_hw_ptr0_61084 snd_pcm_update_hw_ptr0 0 61084 NULL ++get_derived_key_61100 get_derived_key 4 61100 NULL ++alloc_chrdev_region_61112 alloc_chrdev_region 0 61112 NULL ++p80211_headerlen_61119 p80211_headerlen 0 61119 NULL nohasharray ++__probe_kernel_read_61119 __probe_kernel_read 3 61119 &p80211_headerlen_61119 ++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 nohasharray ++pair_device_61175 pair_device 4 61175 &event_oom_late_read_61175 ++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 ++btrfs_bio_alloc_61270 btrfs_bio_alloc 3 61270 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 ++st5481_setup_isocpipes_61340 st5481_setup_isocpipes 6-4 61340 NULL ++rx_rx_wa_ba_not_expected_read_61341 rx_rx_wa_ba_not_expected_read 3 61341 NULL ++f1x_map_sysaddr_to_csrow_61344 f1x_map_sysaddr_to_csrow 2 61344 NULL ++debug_debug4_read_61367 debug_debug4_read 3 61367 NULL ++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 ++irq_create_of_mapping_61428 irq_create_of_mapping 0 61428 NULL ++dma_ops_area_alloc_61440 dma_ops_area_alloc 3-4-5 61440 NULL ++tc3589x_irq_unmap_61447 tc3589x_irq_unmap 2 61447 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 ++mc13xxx_reg_write_61490 mc13xxx_reg_write 2 61490 NULL ++erst_errno_61526 erst_errno 0 61526 NULL ++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 ++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 ++nfs4_init_uniform_client_string_61601 nfs4_init_uniform_client_string 3 61601 NULL ++ncp_compat_ioctl_61608 ncp_compat_ioctl 3 61608 NULL ++configfs_write_file_61621 configfs_write_file 3 61621 NULL ++ieee80211_if_fmt_hw_queues_61629 ieee80211_if_fmt_hw_queues 3 61629 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 ++snd_pcm_playback_avail_61671 snd_pcm_playback_avail 0 61671 NULL ++lock_loop_61681 lock_loop 1 61681 NULL ++__do_tune_cpucache_61684 __do_tune_cpucache 2 61684 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 ++gfs2_meta_wait_61773 gfs2_meta_wait 0 61773 NULL ++batadv_dat_snoop_incoming_arp_reply_61801 batadv_dat_snoop_incoming_arp_reply 3 61801 NULL ++tps80031_irq_init_61830 tps80031_irq_init 3 61830 NULL ++bfad_debugfs_write_regwr_61841 bfad_debugfs_write_regwr 3 61841 NULL ++fs_path_prepare_for_add_61854 fs_path_prepare_for_add 2 61854 NULL ++evdev_compute_buffer_size_61863 evdev_compute_buffer_size 0 61863 NULL ++get_fw_name_61874 get_fw_name 3 61874 NULL ++twl4030_sih_setup_61878 twl4030_sih_setup 3 61878 NULL ++ieee80211_rtl_auth_challenge_61897 ieee80211_rtl_auth_challenge 3 61897 NULL ++ax25_addr_size_61899 ax25_addr_size 0 61899 NULL nohasharray ++cxgb4_pktgl_to_skb_61899 cxgb4_pktgl_to_skb 2 61899 &ax25_addr_size_61899 ++clear_refs_write_61904 clear_refs_write 3 61904 NULL ++rx_filter_arp_filter_read_61914 rx_filter_arp_filter_read 3 61914 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 ++il4965_ucode_rx_stats_read_61948 il4965_ucode_rx_stats_read 3 61948 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 ++ppp_tx_cp_62044 ppp_tx_cp 5 62044 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 ++__next_gcwq_cpu_62078 __next_gcwq_cpu 1 62078 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 ++_irq_to_addr_62183 _irq_to_addr 0-1 62183 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 ++nfsd_read_file_62241 nfsd_read_file 6 62241 NULL ++allocate_partition_62245 allocate_partition 4 62245 NULL ++il_dbgfs_sram_read_62296 il_dbgfs_sram_read 3 62296 NULL ++sparse_early_usemaps_alloc_pgdat_section_62304 sparse_early_usemaps_alloc_pgdat_section 2 62304 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 ++subseq_list_62332 subseq_list 3-0 62332 NULL ++flash_write_62354 flash_write 3 62354 NULL ++set_wd_exp_mode_pfs_62372 set_wd_exp_mode_pfs 3 62372 NULL ++rx_rx_timeout_read_62389 rx_rx_timeout_read 3 62389 NULL ++altera_irscan_62396 altera_irscan 2 62396 NULL ++set_ssp_62411 set_ssp 4 62411 NULL ++tscadc_writel_62426 tscadc_writel 2 62426 NULL ++netdev_alloc_skb_62437 netdev_alloc_skb 2 62437 NULL ++e1000_check_copybreak_62448 e1000_check_copybreak 3 62448 NULL ++ip_vs_icmp_xmit_v6_62477 ip_vs_icmp_xmit_v6 4 62477 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 ++ext_rts51x_sd_execute_read_data_62501 ext_rts51x_sd_execute_read_data 9 62501 NULL ++pep_sendmsg_62524 pep_sendmsg 4 62524 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 ++get_subdir_62581 get_subdir 3 62581 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 ++get_desc_base_62617 get_desc_base 0 62617 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 ++compat_rangeinfo_62630 compat_rangeinfo 2 62630 NULL ++lpfc_sli4_queue_alloc_62646 lpfc_sli4_queue_alloc 3 62646 NULL ++wm8994_gpio_direction_in_62649 wm8994_gpio_direction_in 2 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 ++qla4_83xx_rd_reg_62693 qla4_83xx_rd_reg 0 62693 NULL ++ioremap_wc_62695 ioremap_wc 1-2 62695 NULL ++bioset_integrity_create_62708 bioset_integrity_create 2 62708 NULL ++rdm_62719 rdm 0 62719 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 ++page_key_alloc_62771 page_key_alloc 0 62771 NULL ++tracing_total_entries_read_62817 tracing_total_entries_read 3 62817 NULL ++__rounddown_pow_of_two_62836 __rounddown_pow_of_two 0 62836 NULL ++bio_get_nr_vecs_62838 bio_get_nr_vecs 0 62838 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 ++em28xx_init_isoc_62883 em28xx_init_isoc 4 62883 NULL nohasharray ++aoechr_write_62883 aoechr_write 3 62883 &em28xx_init_isoc_62883 ++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 ++PTR_ERR_63033 PTR_ERR 0 63033 NULL nohasharray ++__vb2_perform_fileio_63033 __vb2_perform_fileio 3 63033 &PTR_ERR_63033 ++pipeline_defrag_to_csum_swi_read_63037 pipeline_defrag_to_csum_swi_read 3 63037 NULL ++scsi_host_alloc_63041 scsi_host_alloc 2 63041 NULL ++unlink1_63059 unlink1 3 63059 NULL ++xen_set_nslabs_63066 xen_set_nslabs 0 63066 NULL ++ocfs2_decrease_refcount_63078 ocfs2_decrease_refcount 3 63078 NULL ++sep_prepare_input_output_dma_table_in_dcb_63087 sep_prepare_input_output_dma_table_in_dcb 4-5-2-3 63087 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 ++snd_pcm_status_user_63140 snd_pcm_status_user 0 63140 NULL ++ubifs_change_one_lp_63157 ubifs_change_one_lp 0 63157 NULL ++smk_write_revoke_subj_63173 smk_write_revoke_subj 3 63173 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 ++ntfs_attr_can_be_non_resident_63267 ntfs_attr_can_be_non_resident 0 63267 NULL ++raid5_resize_63306 raid5_resize 2 63306 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 nohasharray ++usbnet_read_cmd_nopm_63388 usbnet_read_cmd_nopm 7 63388 &edac_pci_alloc_ctl_info_63388 ++rxpipe_missed_beacon_host_int_trig_rx_data_read_63405 rxpipe_missed_beacon_host_int_trig_rx_data_read 3 63405 NULL ++l2cap_sock_sendmsg_63427 l2cap_sock_sendmsg 4 63427 NULL ++sep_prepare_input_output_dma_table_63429 sep_prepare_input_output_dma_table 2-4-3 63429 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 ++reada_find_extent_63486 reada_find_extent 2 63486 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 ++dbg_leb_write_63555 dbg_leb_write 4-5 63555 NULL nohasharray ++kvm_write_guest_page_63555 kvm_write_guest_page 5 63555 &dbg_leb_write_63555 ++ubifs_lpt_scan_nolock_63572 ubifs_lpt_scan_nolock 0 63572 NULL ++ocfs2_calc_trunc_pos_63576 ocfs2_calc_trunc_pos 4 63576 NULL ++rproc_alloc_63577 rproc_alloc 5 63577 NULL ++ext3_clear_blocks_63597 ext3_clear_blocks 4-5 63597 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 ++ValidateDSDParamsChecksum_63654 ValidateDSDParamsChecksum 3 63654 NULL ++hidraw_ioctl_63658 hidraw_ioctl 2 63658 NULL ++vbi_read_63673 vbi_read 3 63673 NULL nohasharray ++xen_register_pirq_63673 xen_register_pirq 1-2 63673 &vbi_read_63673 ++alloc_tty_driver_63681 alloc_tty_driver 1 63681 NULL ++mkiss_compat_ioctl_63686 mkiss_compat_ioctl 4 63686 NULL ++arizona_irq_map_63709 arizona_irq_map 2 63709 NULL ++nouveau_object_create__63715 nouveau_object_create_ 5 63715 NULL ++btrfs_insert_delayed_dir_index_63720 btrfs_insert_delayed_dir_index 4 63720 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_pcm_link_63772 snd_pcm_link 0 63772 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 ++kovaplus_sysfs_write_63795 kovaplus_sysfs_write 6 63795 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 ++uvc_alloc_urb_buffers_63922 uvc_alloc_urb_buffers 0-3-2 63922 NULL ++snd_compr_write_63923 snd_compr_write 3 63923 NULL ++acpi_ev_get_gpe_xrupt_block_63924 acpi_ev_get_gpe_xrupt_block 1 63924 NULL ++tipc_send2port_63935 tipc_send2port 5 63935 NULL ++afs_send_simple_reply_63940 afs_send_simple_reply 3 63940 NULL ++__team_options_register_63941 __team_options_register 3 63941 NULL ++macvtap_recvmsg_63949 macvtap_recvmsg 4 63949 NULL ++ieee80211_if_fmt_rc_rateidx_mcs_mask_2ghz_63968 ieee80211_if_fmt_rc_rateidx_mcs_mask_2ghz 3 63968 NULL ++ieee80211_authentication_req_63973 ieee80211_authentication_req 3 63973 NULL ++diva_xdi_write_63975 diva_xdi_write 4 63975 NULL ++read_file_frameerrors_64001 read_file_frameerrors 3 64001 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 ++resize_async_buffer_64031 resize_async_buffer 4 64031 NULL ++sep_lli_table_secure_dma_64042 sep_lli_table_secure_dma 2-3 64042 NULL ++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 ++ext4_prepare_inline_data_64124 ext4_prepare_inline_data 3 64124 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 ++read_pulse_64227 read_pulse 0-3 64227 NULL ++header_len_64232 header_len 0 64232 NULL ++redrat3_transmit_ir_64244 redrat3_transmit_ir 3 64244 NULL ++io_capture_transfer_64276 io_capture_transfer 4 64276 NULL ++btrfs_file_extent_offset_64278 btrfs_file_extent_offset 0 64278 NULL ++sta_current_tx_rate_read_64286 sta_current_tx_rate_read 3 64286 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 ++error_error_bar_retry_read_64305 error_error_bar_retry_read 3 64305 NULL ++ffz_64324 ffz 0 64324 NULL ++sisusbcon_clear_64329 sisusbcon_clear 4-3-5 64329 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 ++ft1000_read_reg_64352 ft1000_read_reg 0 64352 NULL ++wlc_phy_loadsampletable_nphy_64367 wlc_phy_loadsampletable_nphy 3 64367 NULL ++ilo_write_64378 ilo_write 3 64378 NULL ++btrfs_map_block_64379 btrfs_map_block 3 64379 NULL ++nilfs_alloc_seg_bio_64383 nilfs_alloc_seg_bio 3 64383 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 ++nl80211_send_mgmt_64419 nl80211_send_mgmt 7 64419 NULL ++oom_adj_write_64428 oom_adj_write 3 64428 NULL ++ext4_trim_extent_64431 ext4_trim_extent 4 64431 NULL ++ieee80211_ie_build_ht_cap_64443 ieee80211_ie_build_ht_cap 0 64443 NULL ++cap_capable_64462 cap_capable 0 64462 NULL ++ip_vs_create_timeout_table_64478 ip_vs_create_timeout_table 2 64478 NULL ++p54_parse_rssical_64493 p54_parse_rssical 3 64493 NULL ++msg_data_sz_64503 msg_data_sz 0 64503 NULL ++remove_uuid_64505 remove_uuid 4 64505 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 ++prctl_set_mm_64538 prctl_set_mm 3 64538 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 ++regmap_read_debugfs_64658 regmap_read_debugfs 5 64658 NULL ++ocfs2_read_xattr_block_64661 ocfs2_read_xattr_block 0 64661 NULL nohasharray ++tlbflush_read_file_64661 tlbflush_read_file 3 64661 &ocfs2_read_xattr_block_64661 ++efx_tsoh_get_buffer_64664 efx_tsoh_get_buffer 3 64664 NULL ++rx_rx_out_of_mpdu_nodes_read_64668 rx_rx_out_of_mpdu_nodes_read 3 64668 NULL ++nr_free_zone_pages_64680 nr_free_zone_pages 0 64680 NULL ++sec_bulk_write_64691 sec_bulk_write 2-3 64691 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 ++twl6040_reg_write_64790 twl6040_reg_write 2 64790 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 ++traceprobe_probes_write_64969 traceprobe_probes_write 3 64969 NULL ++suspend_dtim_interval_read_64971 suspend_dtim_interval_read 3 64971 NULL ++ext2_group_first_block_no_64972 ext2_group_first_block_no 0-2 64972 NULL ++pskb_pull_65005 pskb_pull 2 65005 NULL ++unifi_write_65012 unifi_write 3 65012 NULL ++crypto_ahash_digestsize_65014 crypto_ahash_digestsize 0 65014 NULL ++nfs_readdata_alloc_65015 nfs_readdata_alloc 2 65015 NULL ++insert_dent_65034 insert_dent 7 65034 NULL ++compat_put_ushort_65040 compat_put_ushort 1 65040 NULL ++brcmf_sdcard_rwdata_65041 brcmf_sdcard_rwdata 5 65041 NULL ++compat_cmdtest_65064 compat_cmdtest 2 65064 NULL ++make_idx_node_65068 make_idx_node 0 65068 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 ++ath9k_dump_mci_btcoex_65090 ath9k_dump_mci_btcoex 0 65090 NULL ++ssb_bus_register_65183 ssb_bus_register 3 65183 NULL ++rx_rx_done_read_65217 rx_rx_done_read 3 65217 NULL ++print_endpoint_stat_65232 print_endpoint_stat 0-4-3 65232 NULL ++whci_n_caps_65247 whci_n_caps 0 65247 NULL +kmem_zalloc_greedy_65268 kmem_zalloc_greedy 3-2 65268 NULL -+nfc_hci_set_param_40697 nfc_hci_set_param 5 40697 NULL -+f_hidg_write_7932 f_hidg_write 3 7932 NULL -+ath6kl_add_bss_if_needed_24317 ath6kl_add_bss_if_needed 6 24317 NULL +kmalloc_parameter_65279 kmalloc_parameter 1 65279 NULL -+mce_flush_rx_buffer_14976 mce_flush_rx_buffer 2 14976 NULL -+mac_drv_rx_init_48898 mac_drv_rx_init 2 48898 NULL -+sisusbcon_scroll_area_25899 sisusbcon_scroll_area 4-3 25899 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 -+ext_sd_execute_write_data_8175 ext_sd_execute_write_data 9 8175 NULL -+tracing_set_trace_write_57096 tracing_set_trace_write 3 57096 NULL -+disconnect_32521 disconnect 4 32521 NULL -+__seq_open_private_40715 __seq_open_private 3 40715 NULL -+tifm_alloc_adapter_10903 tifm_alloc_adapter 1 10903 NULL -+ath6kl_wmi_add_wow_pattern_cmd_12842 ath6kl_wmi_add_wow_pattern_cmd 4 12842 NULL ++get_unaligned_le16_65293 get_unaligned_le16 0 65293 NULL +mpi_set_buffer_65294 mpi_set_buffer 3 65294 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 -+pipeline_pipeline_fifo_full_read_34095 pipeline_pipeline_fifo_full_read 3 34095 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 -+nfc_hci_execute_cmd_async_65314 nfc_hci_execute_cmd_async 5 65314 NULL -+msnd_fifo_alloc_23179 msnd_fifo_alloc 2 23179 NULL -+format_devstat_counter_32550 format_devstat_counter 3 32550 NULL -+nfcwilink_skb_alloc_16167 nfcwilink_skb_alloc 1 16167 NULL -+xfs_iext_remove_direct_40744 xfs_iext_remove_direct 3 40744 NULL -+remap_pci_mem_15966 remap_pci_mem 1-2 15966 NULL -+qla2x00_handle_queue_full_24365 qla2x00_handle_queue_full 2 24365 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 ++pci_vpd_find_tag_65325 pci_vpd_find_tag 0-2 65325 NULL +dccp_setsockopt_service_65336 dccp_setsockopt_service 4 65336 NULL -+pg_write_40766 pg_write 3 40766 NULL -+event_heart_beat_read_48961 event_heart_beat_read 3 48961 NULL -+uea_idma_write_64139 uea_idma_write 3 64139 NULL -+brcmf_debugfs_sdio_counter_read_58369 brcmf_debugfs_sdio_counter_read 3 58369 NULL -+carl9170_rx_stream_1334 carl9170_rx_stream 3 1334 NULL -+nand_ecc_test_run_48966 nand_ecc_test_run 1 48966 NULL -+ath_descdma_setup_12257 ath_descdma_setup 5 12257 NULL -+alloc_sched_domains_47756 alloc_sched_domains 1 47756 NULL +dma_rx_requested_read_65354 dma_rx_requested_read 3 65354 NULL -+batadv_orig_hash_del_if_48972 batadv_orig_hash_del_if 2 48972 NULL -+tt3650_ci_msg_locked_8013 tt3650_ci_msg_locked 4 8013 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 -+gss_pipe_downcall_23182 gss_pipe_downcall 3 23182 NULL -+rx_hw_stuck_read_57179 rx_hw_stuck_read 3 57179 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 5-4 8052 NULL ++batadv_tt_save_orig_buffer_65361 batadv_tt_save_orig_buffer 4 65361 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 -+ixgbe_alloc_q_vector_24439 ixgbe_alloc_q_vector 4-6 24439 NULL -+smk_user_access_24440 smk_user_access 3 24440 NULL -+xd_rw_49020 xd_rw 3-4 49020 NULL -+dgrp_mon_read_8065 dgrp_mon_read 3 8065 NULL -+tt3650_ci_msg_57219 tt3650_ci_msg 4 57219 NULL -+mpi_alloc_limb_space_23190 mpi_alloc_limb_space 1 23190 NULL -+kvmalloc_32646 kvmalloc 1 32646 NULL -+alloc_targets_8074 alloc_targets 2 8074 NULL nohasharray -+qla4xxx_post_ping_evt_work_8074 qla4xxx_post_ping_evt_work 4 8074 &alloc_targets_8074 -+evdev_do_ioctl_24459 evdev_do_ioctl 2 24459 NULL ++mtd_get_device_size_65400 mtd_get_device_size 0 65400 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 -+set_disc_pfs_16270 set_disc_pfs 3 16270 NULL -+skb_copy_and_csum_datagram_iovec_24466 skb_copy_and_csum_datagram_iovec 2 24466 NULL -+__mxt_write_reg_57326 __mxt_write_reg 3 57326 NULL -+caif_stream_sendmsg_9110 caif_stream_sendmsg 4 9110 NULL -+drbd_setsockopt_16280 drbd_setsockopt 5 16280 NULL nohasharray -+nand_bch_init_16280 nand_bch_init 3-2 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 +pn533_init_target_frame_65438 pn533_init_target_frame 3 65438 NULL -+__mptctl_ioctl_15875 __mptctl_ioctl 2 15875 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 -+aes_decrypt_interrupt_read_19910 aes_decrypt_interrupt_read 3 19910 NULL -+l2cap_bredr_sig_cmd_49065 l2cap_bredr_sig_cmd 3 49065 NULL -+tipc_buf_acquire_60437 tipc_buf_acquire 1 60437 NULL -+alloc_flex_gd_57259 alloc_flex_gd 1 57259 NULL -+venus_lookup_8121 venus_lookup 4 8121 NULL -+compat_writev_60063 compat_writev 3 60063 NULL -+io_mapping_create_wc_1354 io_mapping_create_wc 1-2 1354 NULL -+jfs_readpages_32702 jfs_readpages 4 32702 NULL -+read_file_queue_40895 read_file_queue 3 40895 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 -+xfs_buf_get_map_24522 xfs_buf_get_map 3 24522 NULL ++regmap_write_65478 regmap_write 2 65478 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 +dpcm_state_read_file_65489 dpcm_state_read_file 3 65489 NULL -+vol_cdev_write_40915 vol_cdev_write 3 40915 NULL -+named_prepare_buf_24532 named_prepare_buf 2 24532 NULL -+hdpvr_read_9273 hdpvr_read 3 9273 NULL +alloc_dr_65495 alloc_dr 2 65495 NULL -+do_mpage_readpage_24536 do_mpage_readpage 3 24536 NULL -+rs_sta_dbgfs_scale_table_read_40262 rs_sta_dbgfs_scale_table_read 3 40262 NULL -+ftdi_elan_write_57309 ftdi_elan_write 3 57309 NULL -+megasas_change_queue_depth_32747 megasas_change_queue_depth 2 32747 NULL -+total_ps_buffered_read_16365 total_ps_buffered_read 3 16365 NULL -+rbd_add_16366 rbd_add 3 16366 NULL -+stats_read_ul_32751 stats_read_ul 3 32751 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 -+iscsi_tcp_conn_setup_16376 iscsi_tcp_conn_setup 2 16376 NULL -+check_mirror_57342 check_mirror 1-2 57342 NULL nohasharray -+usblp_read_57342 usblp_read 3 57342 &check_mirror_57342 -+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..838ea58 +index 0000000..63c46e5 --- /dev/null +++ b/tools/gcc/size_overflow_plugin.c -@@ -0,0 +1,1936 @@ +@@ -0,0 +1,2050 @@ +/* + * Copyright 2011, 2012 by Emese Revfy <re.emese@gmail.com> + * Licensed under the GPL v2, or (at your option) v3 @@ -96948,7 +99823,7 @@ index 0000000..838ea58 + * 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 + */ + @@ -96969,8 +99844,6 @@ index 0000000..838ea58 +#include "diagnostic.h" +#include "cfgloop.h" + -+#define C_DECL_IMPLICIT(EXP) DECL_LANG_FLAG_2(EXP) -+ +#if BUILDING_GCC_VERSION >= 4008 +#define TODO_dump_func 0 +#endif @@ -96983,8 +99856,12 @@ index 0000000..838ea58 + +#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; @@ -96996,9 +99873,11 @@ index 0000000..838ea58 +#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))) @@ -97008,16 +99887,17 @@ index 0000000..838ea58 +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", +}; + @@ -97042,7 +99922,7 @@ index 0000000..838ea58 + + 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; + } @@ -97081,9 +99961,12 @@ index 0000000..838ea58 + 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; + } @@ -97172,7 +100055,8 @@ index 0000000..838ea58 +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); +} + @@ -97273,12 +100157,14 @@ index 0000000..838ea58 + 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]; @@ -97291,17 +100177,80 @@ index 0000000..838ea58 + 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) @@ -97312,15 +100261,14 @@ index 0000000..838ea58 + 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) @@ -97351,23 +100299,6 @@ index 0000000..838ea58 + 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); @@ -97377,14 +100308,55 @@ index 0000000..838ea58 + 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); + @@ -97409,19 +100381,19 @@ index 0000000..838ea58 + +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) @@ -97434,14 +100406,31 @@ index 0000000..838ea58 + 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) { @@ -97489,7 +100478,8 @@ index 0000000..838ea58 + 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) @@ -97519,10 +100509,7 @@ index 0000000..838ea58 + + 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); + @@ -97545,141 +100532,128 @@ index 0000000..838ea58 + 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); ++ ++ if (phi_ssa_name != NULL_TREE) ++ phi_ssa_name = SSA_NAME_VAR(phi_ssa_name); ++ ++ size_overflow_type = get_size_overflow_type(oldstmt, arg); + -+ gsi_insert = gsi_insert_after; -+ gsi = gsi_for_stmt(def_newstmt); ++ 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(get_def_stmt(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) @@ -97690,61 +100664,10 @@ index 0000000..838ea58 + + 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; @@ -97779,18 +100702,80 @@ index 0000000..838ea58 + 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); @@ -97802,34 +100787,17 @@ index 0000000..838ea58 + 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)) -+ return dup_assign(visited, stmt, lhs, new_rhs1, NULL_TREE, NULL_TREE); -+ -+ if (TYPE_UNSIGNED(rhs1_type) != TYPE_UNSIGNED(lhs_type)) ++ if (!gimple_assign_cast_p(stmt)) + 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) @@ -97843,7 +100811,6 @@ index 0000000..838ea58 + 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); @@ -97991,7 +100958,7 @@ index 0000000..838ea58 + 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) @@ -98010,43 +100977,74 @@ index 0000000..838ea58 + 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) @@ -98088,35 +101086,6 @@ index 0000000..838ea58 + 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; @@ -98163,41 +101132,6 @@ index 0000000..838ea58 + 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; @@ -98237,14 +101171,15 @@ index 0000000..838ea58 + 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); +} @@ -98319,41 +101254,34 @@ index 0000000..838ea58 +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) @@ -98367,7 +101295,7 @@ index 0000000..838ea58 + + 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); @@ -98389,23 +101317,30 @@ index 0000000..838ea58 + } +} + -+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; + @@ -98421,94 +101356,66 @@ index 0000000..838ea58 + 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) @@ -98525,25 +101432,35 @@ index 0000000..838ea58 + 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) @@ -98551,8 +101468,12 @@ index 0000000..838ea58 + 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); @@ -98561,10 +101482,10 @@ index 0000000..838ea58 + +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); + @@ -98586,31 +101507,24 @@ index 0000000..838ea58 + 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); @@ -98621,34 +101535,39 @@ index 0000000..838ea58 + 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); @@ -98657,22 +101576,56 @@ index 0000000..838ea58 + } +} + -+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 == MARK_YES && is_marked == MARK_YES)) + return true; + -+ if (is_found) { ++ 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; @@ -98683,9 +101636,14 @@ index 0000000..838ea58 +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; @@ -98694,54 +101652,79 @@ index 0000000..838ea58 + if (arg == NULL_TREE) + return; + -+ if (is_gimple_constant(arg)) ++ if (skip_types(arg)) + return; + -+ if (search_attributes(fndecl, arg, argnum)) ++ if (search_attributes(fndecl, arg, argnum, FROM_ARG)) + return; + -+ if (TREE_CODE(arg) != SSA_NAME) -+ 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) @@ -98761,9 +101744,12 @@ index 0000000..838ea58 +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; @@ -98772,6 +101758,9 @@ index 0000000..838ea58 + 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); @@ -98809,7 +101798,7 @@ index 0000000..838ea58 + .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 + } +}; + @@ -99217,6 +102206,25 @@ index 6789d78..4afd019e 100644 + .endm + #endif +diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c +index cfb7e4d..52058f0 100644 +--- a/virt/kvm/ioapic.c ++++ b/virt/kvm/ioapic.c +@@ -73,9 +73,12 @@ static unsigned long ioapic_read_indirect(struct kvm_ioapic *ioapic, + u32 redir_index = (ioapic->ioregsel - 0x10) >> 1; + u64 redir_content; + +- ASSERT(redir_index < IOAPIC_NUM_PINS); ++ if (redir_index < IOAPIC_NUM_PINS) ++ redir_content = ++ ioapic->redirtbl[redir_index].bits; ++ else ++ redir_content = ~0ULL; + +- redir_content = ioapic->redirtbl[redir_index].bits; + result = (ioapic->ioregsel & 0x1) ? + (redir_content >> 32) & 0xffffffff : + redir_content & 0xffffffff; diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 1cd693a..f4a7b20 100644 --- a/virt/kvm/kvm_main.c diff --git a/3.8.3/4425_grsec_remove_EI_PAX.patch b/3.8.4/4425_grsec_remove_EI_PAX.patch index 97e6951..97e6951 100644 --- a/3.8.3/4425_grsec_remove_EI_PAX.patch +++ b/3.8.4/4425_grsec_remove_EI_PAX.patch diff --git a/3.8.3/4430_grsec-remove-localversion-grsec.patch b/3.8.4/4430_grsec-remove-localversion-grsec.patch index 31cf878..31cf878 100644 --- a/3.8.3/4430_grsec-remove-localversion-grsec.patch +++ b/3.8.4/4430_grsec-remove-localversion-grsec.patch diff --git a/3.8.3/4435_grsec-mute-warnings.patch b/3.8.4/4435_grsec-mute-warnings.patch index e1a7a3c..e1a7a3c 100644 --- a/3.8.3/4435_grsec-mute-warnings.patch +++ b/3.8.4/4435_grsec-mute-warnings.patch diff --git a/3.8.3/4440_grsec-remove-protected-paths.patch b/3.8.4/4440_grsec-remove-protected-paths.patch index 637934a..637934a 100644 --- a/3.8.3/4440_grsec-remove-protected-paths.patch +++ b/3.8.4/4440_grsec-remove-protected-paths.patch diff --git a/3.8.3/4450_grsec-kconfig-default-gids.patch b/3.8.4/4450_grsec-kconfig-default-gids.patch index 3dfdc8f..3dfdc8f 100644 --- a/3.8.3/4450_grsec-kconfig-default-gids.patch +++ b/3.8.4/4450_grsec-kconfig-default-gids.patch diff --git a/3.8.3/4465_selinux-avc_audit-log-curr_ip.patch b/3.8.4/4465_selinux-avc_audit-log-curr_ip.patch index 5b614b1..5b614b1 100644 --- a/3.8.3/4465_selinux-avc_audit-log-curr_ip.patch +++ b/3.8.4/4465_selinux-avc_audit-log-curr_ip.patch diff --git a/3.8.3/4470_disable-compat_vdso.patch b/3.8.4/4470_disable-compat_vdso.patch index 1037ba9..1037ba9 100644 --- a/3.8.3/4470_disable-compat_vdso.patch +++ b/3.8.4/4470_disable-compat_vdso.patch |