Push to branch refs/heads/wrapfs:
88fa72f5bf9f679df0210d94f841d5687d8a4e39 -->
  c4af8434be715c51e3a5950c2ca682de73b7653f

 Documentation/arm64/tagged-pointers.txt            |   62 +-
 .../bindings/display/bridge/ti,ths8135.txt         |   46 +
 Documentation/devicetree/bindings/dma/snps-dma.txt |    2 +-
 .../devicetree/bindings/iio/adc/avia-hx711.txt     |   18 +
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 Documentation/filesystems/ext4.txt                 |    2 +-
 Documentation/kernel-parameters.txt                |   17 +-
 Documentation/speculation.txt                      |   90 ++
 Documentation/sysctl/kernel.txt                    |   15 +-
 Makefile                                           |   21 +-
 arch/alpha/include/asm/mmu_context.h               |    1 +
 arch/alpha/include/asm/types.h                     |    2 +-
 arch/alpha/include/uapi/asm/types.h                |   12 +-
 arch/alpha/kernel/osf_sys.c                        |    6 +-
 arch/alpha/kernel/pci_impl.h                       |    3 +-
 arch/alpha/kernel/process.c                        |    3 +-
 arch/arc/kernel/entry.S                            |    6 +
 arch/arc/kernel/unaligned.c                        |    3 +-
 arch/arc/mm/mmap.c                                 |    2 +-
 arch/arc/mm/tlb.c                                  |    3 -
 arch/arm/Kconfig-nommu                             |    3 +-
 arch/arm/boot/dts/am335x-evmsk.dts                 |    1 +
 arch/arm/boot/dts/am4372.dtsi                      |    6 +-
 arch/arm/boot/dts/armada-388-gp.dts                |    4 +-
 arch/arm/boot/dts/at91-sama5d3_xplained.dts        |    5 +-
 arch/arm/boot/dts/at91-sama5d4_xplained.dts        |    2 +
 arch/arm/boot/dts/bcm5301x.dtsi                    |    4 +-
 arch/arm/boot/dts/da850-evm.dts                    |    1 +
 arch/arm/boot/dts/dra7.dtsi                        |    2 +
 arch/arm/boot/dts/imx6dl.dtsi                      |    2 +-
 arch/arm/boot/dts/imx6sx-sdb.dts                   |   15 -
 arch/arm/boot/dts/kirkwood-openblocks_a7.dts       |   10 +-
 arch/arm/boot/dts/omap3-n900.dts                   |    2 +
 arch/arm/boot/dts/omap4.dtsi                       |    2 -
 arch/arm/boot/dts/s5pv210.dtsi                     |    1 +
 arch/arm/boot/dts/spear1310-evb.dts                |    2 +-
 arch/arm/boot/dts/spear1340.dtsi                   |    4 +-
 arch/arm/boot/dts/spear13xx.dtsi                   |    6 +-
 arch/arm/boot/dts/spear600.dtsi                    |    1 +
 arch/arm/boot/dts/tegra20-paz00.dts                |    1 +
 arch/arm/configs/ezx_defconfig                     |    4 +-
 arch/arm/configs/imote2_defconfig                  |    4 +-
 arch/arm/configs/omap2plus_defconfig               |    1 +
 arch/arm/configs/s3c2410_defconfig                 |    6 +-
 arch/arm/include/asm/Kbuild                        |    1 -
 arch/arm/include/asm/cputype.h                     |    3 +
 arch/arm/include/asm/elf.h                         |    8 +-
 arch/arm/include/asm/floppy.h                      |    2 +-
 arch/arm/include/asm/ftrace.h                      |   18 +
 arch/arm/include/asm/kvm_arm.h                     |    4 +-
 arch/arm/include/asm/kvm_emulate.h                 |   12 +
 arch/arm/include/asm/kvm_mmu.h                     |   20 +-
 arch/arm/include/asm/mmu_context.h                 |    2 +
 arch/arm/include/asm/unaligned.h                   |   27 +
 arch/arm/kernel/hw_breakpoint.c                    |   16 +
 arch/arm/kernel/ptrace.c                           |    2 +-
 arch/arm/kernel/traps.c                            |   28 +-
 arch/arm/kvm/handle_exit.c                         |   32 +-
 arch/arm/kvm/init.S                                |    5 +-
 arch/arm/kvm/mmio.c                                |   11 +-
 arch/arm/kvm/mmu.c                                 |   79 +-
 arch/arm/lib/getuser.S                             |    2 +-
 arch/arm/mach-at91/pm.c                            |   18 +-
 arch/arm/mach-davinci/da850.c                      |   12 +-
 arch/arm/mach-mvebu/Kconfig                        |    4 +-
 arch/arm/mach-omap1/dma.c                          |   16 +-
 arch/arm/mach-omap2/gpmc-onenand.c                 |   10 +-
 arch/arm/mach-omap2/omap-secure.c                  |   21 +
 arch/arm/mach-omap2/omap-secure.h                  |    4 +
 arch/arm/mach-omap2/pdata-quirks.c                 |    1 -
 arch/arm/mach-omap2/pm.h                           |    4 -
 arch/arm/mach-omap2/pm34xx.c                       |   13 +-
 arch/arm/mach-omap2/prm33xx.c                      |   12 -
 arch/arm/mach-omap2/sleep34xx.S                    |   26 +-
 arch/arm/mach-pxa/balloon3.c                       |    1 +
 arch/arm/mach-pxa/colibri-pxa270-income.c          |    1 +
 arch/arm/mach-pxa/corgi.c                          |    1 +
 arch/arm/mach-pxa/trizeps4.c                       |    1 +
 arch/arm/mach-pxa/vpac270.c                        |    1 +
 arch/arm/mach-pxa/zeus.c                           |    1 +
 arch/arm/mach-pxa/zylonite.c                       |    1 +
 arch/arm/mach-ux500/pm.c                           |    4 +-
 arch/arm/mm/dma-mapping.c                          |   20 +-
 arch/arm/mm/dump.c                                 |    4 +-
 arch/arm/mm/fault.c                                |    5 +-
 arch/arm/mm/init.c                                 |    4 +-
 arch/arm/mm/mmap.c                                 |    4 +-
 arch/arm/mm/mmu.c                                  |    8 +-
 arch/arm/probes/kprobes/core.c                     |   24 +-
 arch/arm/probes/kprobes/test-core.c                |   11 +-
 arch/arm/xen/mm.c                                  |    1 +
 arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts        |    2 +-
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi             |    6 +-
 arch/arm64/crypto/aes-modes.S                      |   88 +-
 arch/arm64/include/asm/asm-uaccess.h               |   13 +
 arch/arm64/include/asm/barrier.h                   |   18 +-
 arch/arm64/include/asm/kvm_arm.h                   |    3 +-
 arch/arm64/include/asm/kvm_emulate.h               |   13 +
 arch/arm64/include/asm/kvm_mmu.h                   |   46 +-
 arch/arm64/include/asm/uaccess.h                   |   11 +-
 arch/arm64/include/uapi/asm/ptrace.h               |    1 +
 arch/arm64/kernel/armv8_deprecated.c               |    3 +-
 arch/arm64/kernel/entry.S                          |    6 +-
 arch/arm64/kernel/fpsimd.c                         |    2 +
 arch/arm64/kernel/head.S                           |    1 +
 arch/arm64/kernel/hw_breakpoint.c                  |    3 +-
 arch/arm64/kernel/process.c                        |    9 +
 arch/arm64/kernel/ptrace.c                         |   11 +-
 arch/arm64/kernel/traps.c                          |    4 +-
 arch/arm64/kvm/handle_exit.c                       |    4 +-
 arch/arm64/mm/fault.c                              |   13 +-
 arch/arm64/mm/init.c                               |    2 +-
 arch/blackfin/Kconfig                              |    7 +-
 arch/blackfin/Kconfig.debug                        |    1 +
 arch/c6x/kernel/ptrace.c                           |   41 -
 arch/frv/mm/elf-fdpic.c                            |    2 +-
 arch/metag/include/asm/uaccess.h                   |   64 +-
 arch/metag/kernel/ptrace.c                         |   19 +-
 arch/metag/lib/usercopy.c                          |  312 +++---
 arch/mips/Kconfig                                  |    3 +-
 arch/mips/ar7/platform.c                           |    5 +
 arch/mips/ar7/prom.c                               |    2 -
 arch/mips/ath25/board.c                            |    2 +
 arch/mips/bcm47xx/buttons.c                        |   10 +-
 arch/mips/bcm47xx/leds.c                           |    2 +-
 arch/mips/cavium-octeon/octeon-irq.c               |    2 +
 arch/mips/cavium-octeon/octeon-memcpy.S            |   20 +-
 arch/mips/configs/ip27_defconfig                   |    1 -
 arch/mips/dec/int-handler.S                        |   40 +-
 arch/mips/include/asm/asm.h                        |   10 +-
 arch/mips/include/asm/branch.h                     |    5 +-
 arch/mips/include/asm/checksum.h                   |    2 +
 arch/mips/include/asm/mips-cm.h                    |    4 +-
 arch/mips/include/asm/spinlock.h                   |    8 +-
 arch/mips/include/asm/stackframe.h                 |    7 +
 arch/mips/kernel/branch.c                          |   12 +-
 arch/mips/kernel/crash.c                           |   16 +-
 arch/mips/kernel/elf.c                             |    2 +-
 arch/mips/kernel/entry.S                           |    3 +
 arch/mips/kernel/kgdb.c                            |   48 +-
 arch/mips/kernel/mips-r2-to-r6-emul.c              |   12 +-
 arch/mips/kernel/pm-cps.c                          |    9 +-
 arch/mips/kernel/proc.c                            |    2 +-
 arch/mips/kernel/process.c                         |  167 ++--
 arch/mips/kernel/ptrace.c                          |  165 +++-
 arch/mips/kernel/scall32-o32.S                     |    2 +-
 arch/mips/kernel/scall64-64.S                      |    2 +-
 arch/mips/kernel/scall64-n32.S                     |    2 +-
 arch/mips/kernel/scall64-o32.S                     |    2 +-
 arch/mips/kernel/setup.c                           |    4 +
 arch/mips/kernel/smp-bmips.c                       |    8 +-
 arch/mips/kernel/smp.c                             |   29 +-
 arch/mips/kernel/syscall.c                         |   15 +-
 arch/mips/kernel/traps.c                           |    2 +
 arch/mips/kernel/vmlinux.lds.S                     |    2 +-
 arch/mips/kvm/mips.c                               |    4 +-
 arch/mips/lantiq/irq.c                             |   38 +-
 arch/mips/math-emu/cp1emu.c                        |   38 +
 arch/mips/mm/mmap.c                                |    2 +-
 arch/mips/mm/sc-ip22.c                             |   43 +-
 arch/mips/mm/uasm-micromips.c                      |    2 +-
 arch/mips/netlogic/common/irq.c                    |    4 +-
 arch/mips/ralink/mt7620.c                          |   86 +-
 arch/mips/ralink/prom.c                            |    9 +-
 arch/mips/ralink/rt288x.c                          |   10 -
 arch/mips/ralink/rt305x.c                          |   11 -
 arch/mips/ralink/rt3883.c                          |   14 +-
 arch/mips/sgi-ip22/Platform                        |    2 +-
 arch/mn10300/include/asm/switch_to.h               |    2 +-
 arch/mn10300/mm/misalignment.c                     |    2 +-
 arch/openrisc/include/asm/uaccess.h                |    2 +-
 arch/openrisc/kernel/traps.c                       |   10 +-
 arch/openrisc/kernel/vmlinux.lds.S                 |    2 +
 arch/parisc/include/asm/bitops.h                   |    8 +-
 arch/parisc/include/asm/dma-mapping.h              |   11 +-
 arch/parisc/include/asm/ldcw.h                     |    2 +
 arch/parisc/include/uapi/asm/bitsperlong.h         |    2 -
 arch/parisc/include/uapi/asm/swab.h                |    5 +-
 arch/parisc/kernel/entry.S                         |   13 +-
 arch/parisc/kernel/pacache.S                       |    9 +-
 arch/parisc/kernel/perf.c                          |   94 +-
 arch/parisc/kernel/sys_parisc.c                    |   15 +-
 arch/parisc/kernel/syscall.S                       |   61 +-
 arch/parisc/kernel/syscall_table.S                 |    2 +-
 arch/parisc/mm/fault.c                             |    2 +-
 arch/powerpc/Kconfig                               |    8 +-
 arch/powerpc/boot/zImage.lds.S                     |    1 +
 arch/powerpc/include/asm/atomic.h                  |    4 +-
 arch/powerpc/include/asm/elf.h                     |   13 +-
 arch/powerpc/include/asm/exception-64e.h           |    6 +
 arch/powerpc/include/asm/exception-64s.h           |   55 +-
 arch/powerpc/include/asm/feature-fixups.h          |   15 +
 arch/powerpc/include/asm/hvcall.h                  |   18 +
 arch/powerpc/include/asm/paca.h                    |    9 +
 arch/powerpc/include/asm/plpar_wrappers.h          |   14 +
 arch/powerpc/include/asm/ppc_asm.h                 |   12 +
 arch/powerpc/include/asm/reg.h                     |    2 +-
 arch/powerpc/include/asm/setup.h                   |   13 +
 arch/powerpc/include/asm/topology.h                |   14 +
 arch/powerpc/kernel/align.c                        |  146 ++-
 arch/powerpc/kernel/asm-offsets.c                  |    3 +
 arch/powerpc/kernel/eeh.c                          |   10 +-
 arch/powerpc/kernel/eeh_driver.c                   |   21 +-
 arch/powerpc/kernel/entry_64.S                     |   47 +-
 arch/powerpc/kernel/exceptions-64s.S               |  122 ++-
 arch/powerpc/kernel/hw_breakpoint.c                |    4 +-
 arch/powerpc/kernel/kprobes.c                      |   11 +
 arch/powerpc/kernel/misc_64.S                      |   32 +-
 arch/powerpc/kernel/module_64.c                    |   12 +-
 arch/powerpc/kernel/process.c                      |    5 +-
 arch/powerpc/kernel/prom_init.c                    |    3 +
 arch/powerpc/kernel/ptrace.c                       |    4 +-
 arch/powerpc/kernel/setup_64.c                     |  141 ++-
 arch/powerpc/kernel/signal.c                       |    2 +-
 arch/powerpc/kernel/vdso64/datapage.S              |    2 +-
 arch/powerpc/kernel/vdso64/gettimeofday.S          |    2 +-
 arch/powerpc/kernel/vmlinux.lds.S                  |    9 +
 arch/powerpc/kvm/book3s_64_vio.c                   |   46 +-
 arch/powerpc/kvm/book3s_hv.c                       |   46 +
 arch/powerpc/kvm/book3s_hv_rm_xics.c               |    5 +-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S            |   48 +-
 arch/powerpc/kvm/book3s_rmhandlers.S               |    7 +-
 arch/powerpc/kvm/book3s_segment.S                  |    4 +-
 arch/powerpc/kvm/emulate.c                         |    1 -
 arch/powerpc/lib/feature-fixups.c                  |   42 +
 arch/powerpc/lib/sstep.c                           |   39 +-
 arch/powerpc/mm/hash_native_64.c                   |    7 +-
 arch/powerpc/mm/slice.c                            |    2 +-
 arch/powerpc/perf/core-book3s.c                    |   12 +-
 arch/powerpc/perf/hv-24x7.c                        |    2 +-
 arch/powerpc/platforms/powernv/opal-async.c        |    6 +-
 arch/powerpc/platforms/powernv/opal-wrappers.S     |    2 +-
 arch/powerpc/platforms/powernv/setup.c             |   51 +-
 arch/powerpc/platforms/pseries/dlpar.c             |    1 -
 arch/powerpc/platforms/pseries/hotplug-memory.c    |    2 +
 arch/powerpc/platforms/pseries/mobility.c          |    4 +-
 arch/powerpc/platforms/pseries/reconfig.c          |    1 -
 arch/powerpc/platforms/pseries/setup.c             |   37 +-
 arch/powerpc/sysdev/axonram.c                      |    5 +-
 arch/powerpc/sysdev/ipic.c                         |    4 +-
 arch/s390/Kconfig                                  |    3 -
 arch/s390/boot/compressed/misc.c                   |   35 +-
 arch/s390/include/asm/asm-prototypes.h             |    8 +
 arch/s390/include/asm/ctl_reg.h                    |    4 +-
 arch/s390/include/asm/elf.h                        |   15 +-
 arch/s390/include/asm/pci_insn.h                   |    2 +-
 arch/s390/include/asm/pgtable.h                    |    2 +
 arch/s390/include/asm/processor.h                  |    3 +-
 arch/s390/include/asm/syscall.h                    |    6 +
 arch/s390/include/asm/uaccess.h                    |    2 +-
 arch/s390/kernel/compat_linux.c                    |    9 +-
 arch/s390/kernel/dis.c                             |    5 +-
 arch/s390/kernel/entry.S                           |   21 +-
 arch/s390/kernel/runtime_instr.c                   |    4 +-
 arch/s390/kernel/setup.c                           |    8 +-
 arch/s390/kvm/kvm-s390.c                           |    3 +
 arch/s390/mm/mmap.c                                |    4 +-
 arch/s390/mm/pgtable.c                             |   19 +-
 arch/s390/mm/vmem.c                                |    2 +-
 arch/s390/net/bpf_jit_comp.c                       |    3 +-
 arch/s390/pci/pci.c                                |    5 +-
 arch/s390/pci/pci_dma.c                            |   16 +-
 arch/s390/pci/pci_insn.c                           |    6 +-
 arch/sh/boards/mach-se/770x/setup.c                |   10 +-
 arch/sh/kernel/cpu/sh3/setup-sh770x.c              |    1 -
 arch/sh/kernel/traps_32.c                          |    3 +-
 arch/sh/mm/mmap.c                                  |    4 +-
 arch/sparc/Kconfig                                 |    7 +-
 arch/sparc/include/asm/mmu_64.h                    |    2 +-
 arch/sparc/include/asm/mmu_context_64.h            |   46 +-
 arch/sparc/include/asm/pgtable_32.h                |    4 +-
 arch/sparc/include/asm/pgtable_64.h                |   15 +-
 arch/sparc/include/asm/pil.h                       |    1 -
 arch/sparc/include/asm/setup.h                     |    7 +-
 arch/sparc/include/asm/trap_block.h                |    1 +
 arch/sparc/include/asm/vio.h                       |    1 +
 arch/sparc/kernel/irq_64.c                         |   17 +-
 arch/sparc/kernel/kernel.h                         |    1 -
 arch/sparc/kernel/ptrace_64.c                      |    2 +-
 arch/sparc/kernel/smp_64.c                         |  222 +++--
 arch/sparc/kernel/sun4v_ivec.S                     |   15 +
 arch/sparc/kernel/sys_sparc_64.c                   |    4 +-
 arch/sparc/kernel/traps_64.c                       |    5 +-
 arch/sparc/kernel/tsb.S                            |   23 +-
 arch/sparc/kernel/ttable_64.S                      |    2 +-
 arch/sparc/kernel/vio.c                            |   68 +-
 arch/sparc/mm/hugetlbpage.c                        |    2 +-
 arch/sparc/mm/init_32.c                            |    2 +-
 arch/sparc/mm/init_64.c                            |   97 +-
 arch/sparc/mm/tsb.c                                |    7 +-
 arch/sparc/mm/ultra.S                              |    5 -
 arch/sparc/power/hibernate.c                       |    3 +-
 arch/tile/kernel/ptrace.c                          |    2 +-
 arch/tile/mm/hugetlbpage.c                         |    2 +-
 arch/um/Makefile                                   |    2 +-
 arch/x86/Kconfig                                   |    6 +-
 arch/x86/boot/Makefile                             |    5 +-
 arch/x86/boot/boot.h                               |    2 +-
 arch/x86/boot/string.c                             |    1 +
 arch/x86/boot/string.h                             |    9 +
 arch/x86/crypto/ghash-clmulni-intel_glue.c         |   26 +
 arch/x86/crypto/salsa20_glue.c                     |    7 -
 arch/x86/crypto/sha-mb/sha1_mb_mgr_flush_avx2.S    |   12 +-
 arch/x86/crypto/twofish-x86_64-asm_64-3way.S       |  112 ++-
 arch/x86/include/asm/alternative-asm.h             |    4 +-
 arch/x86/include/asm/alternative.h                 |   14 +-
 arch/x86/include/asm/asm-prototypes.h              |   16 +
 arch/x86/include/asm/asm.h                         |   11 +
 arch/x86/include/asm/barrier.h                     |   24 +
 arch/x86/include/asm/cmdline.h                     |    2 +
 arch/x86/include/asm/cpufeature.h                  |    2 +
 arch/x86/include/asm/disabled-features.h           |    4 +-
 arch/x86/include/asm/efi.h                         |   26 +
 arch/x86/include/asm/elf.h                         |   20 +-
 arch/x86/include/asm/hardirq.h                     |    4 -
 arch/x86/include/asm/intel-family.h                |   68 ++
 arch/x86/include/asm/io.h                          |    4 +-
 arch/x86/include/asm/kvm_emulate.h                 |    1 +
 arch/x86/include/asm/kvm_host.h                    |    9 +-
 arch/x86/include/asm/processor.h                   |    6 +-
 arch/x86/include/asm/thread_info.h                 |   11 -
 arch/x86/include/asm/tlbflush.h                    |   81 +-
 arch/x86/include/asm/xen/hypercall.h               |    3 +
 arch/x86/kernel/acpi/boot.c                        |    8 +
 arch/x86/kernel/alternative.c                      |   21 +-
 arch/x86/kernel/apic/io_apic.c                     |    2 +-
 arch/x86/kernel/cpu/bugs.c                         |    8 +
 arch/x86/kernel/cpu/common.c                       |   82 +-
 arch/x86/kernel/cpu/intel_cacheinfo.c              |    2 +
 arch/x86/kernel/cpu/mcheck/mce-inject.c            |    5 +-
 arch/x86/kernel/cpu/mcheck/mce.c                   |   36 +-
 arch/x86/kernel/cpu/mcheck/mce_amd.c               |    5 +-
 arch/x86/kernel/cpu/microcode/amd.c                |    4 +
 arch/x86/kernel/cpu/microcode/intel.c              |   26 +
 arch/x86/kernel/cpu/perf_event.c                   |    8 +-
 arch/x86/kernel/ftrace.c                           |   12 +
 arch/x86/kernel/head_32.S                          |    9 +-
 arch/x86/kernel/irq.c                              |    3 +-
 arch/x86/kernel/irq_32.c                           |    6 +-
 arch/x86/kernel/kprobes/common.h                   |    2 +-
 arch/x86/kernel/kprobes/core.c                     |    6 +-
 arch/x86/kernel/kprobes/ftrace.c                   |   23 +-
 arch/x86/kernel/kprobes/opt.c                      |    2 +-
 arch/x86/kernel/kvm.c                              |    6 +-
 arch/x86/kernel/machine_kexec_64.c                 |    1 +
 arch/x86/kernel/module.c                           |   14 +
 arch/x86/kernel/paravirt_patch_64.c                |    2 -
 arch/x86/kernel/pci-calgary_64.c                   |    2 +-
 arch/x86/kernel/reboot.c                           |    4 +
 arch/x86/kernel/smpboot.c                          |    9 -
 arch/x86/kernel/sys_x86_64.c                       |    4 +-
 arch/x86/kernel/traps.c                            |    2 +-
 arch/x86/kernel/vm86_32.c                          |    2 +-
 arch/x86/kvm/Kconfig                               |    2 +-
 arch/x86/kvm/cpuid.c                               |   26 +-
 arch/x86/kvm/emulate.c                             |    8 +
 arch/x86/kvm/lapic.c                               |    6 +
 arch/x86/kvm/lapic.h                               |    1 +
 arch/x86/kvm/mmu.c                                 |    7 +-
 arch/x86/kvm/mmu.h                                 |    1 +
 arch/x86/kvm/svm.c                                 |   82 +-
 arch/x86/kvm/vmx.c                                 |  171 ++--
 arch/x86/kvm/x86.c                                 |  248 +++--
 arch/x86/lib/cmdline.c                             |  105 ++
 arch/x86/lib/copy_user_64.S                        |    7 +-
 arch/x86/lib/getuser.S                             |   10 +
 arch/x86/lib/x86-opcode-map.txt                    |    2 +-
 arch/x86/mm/Makefile                               |    3 +-
 arch/x86/mm/hugetlbpage.c                          |    2 +-
 arch/x86/mm/init.c                                 |   43 +-
 arch/x86/mm/ioremap.c                              |    4 +-
 arch/x86/mm/kmmio.c                                |   12 +-
 arch/x86/mm/mpx.c                                  |    2 +-
 arch/x86/mm/numa_32.c                              |    1 +
 arch/x86/mm/pageattr.c                             |   17 +-
 arch/x86/mm/tlb.c                                  |   33 +-
 arch/x86/oprofile/nmi_int.c                        |    2 +-
 arch/x86/oprofile/op_model_ppro.c                  |    4 +-
 arch/x86/pci/acpi.c                                |   10 +
 arch/x86/pci/broadcom_bus.c                        |    2 +-
 arch/x86/platform/efi/efi-bgrt.c                   |   39 +-
 arch/x86/platform/efi/efi.c                        |   39 +-
 arch/x86/platform/efi/efi_32.c                     |    5 +
 arch/x86/platform/efi/efi_64.c                     |  137 ++-
 arch/x86/platform/efi/efi_stub_64.S                |   43 -
 arch/x86/platform/goldfish/goldfish.c              |   14 +-
 .../platform/intel-mid/device_libs/platform_wdt.c  |    2 +-
 arch/x86/platform/olpc/olpc-xo15-sci.c             |    2 +
 arch/x86/tools/relocs.c                            |    6 +-
 arch/x86/um/ptrace_64.c                            |    2 +-
 arch/x86/xen/enlighten.c                           |    6 +
 arch/x86/xen/time.c                                |    6 +-
 arch/xtensa/include/asm/futex.h                    |   23 +-
 arch/xtensa/include/asm/irq.h                      |    3 +-
 arch/xtensa/kernel/irq.c                           |    5 -
 arch/xtensa/kernel/setup.c                         |    4 +-
 arch/xtensa/kernel/syscall.c                       |    2 +-
 .../platforms/xtfpga/include/platform/hardware.h   |    6 +-
 arch/xtensa/platforms/xtfpga/setup.c               |   10 +-
 block/bio.c                                        |   22 +-
 block/blk-cgroup.c                                 |   97 +-
 block/blk-core.c                                   |    2 +-
 block/bsg-lib.c                                    |    1 -
 block/genhd.c                                      |    1 -
 block/partitions/efi.c                             |   17 +-
 block/partitions/msdos.c                           |    2 +
 block/scsi_ioctl.c                                 |    3 +
 crypto/Kconfig                                     |    1 +
 crypto/Makefile                                    |    2 +
 crypto/ahash.c                                     |   90 +-
 crypto/algapi.c                                    |   13 +
 crypto/algif_aead.c                                |  157 ++-
 crypto/algif_hash.c                                |    2 +-
 crypto/algif_skcipher.c                            |    9 +-
 crypto/asymmetric_keys/x509_cert_parser.c          |    2 +
 crypto/cryptd.c                                    |    4 +-
 crypto/gcm.c                                       |    6 +-
 crypto/hmac.c                                      |    6 +-
 crypto/mcryptd.c                                   |   24 +-
 crypto/salsa20_generic.c                           |    7 -
 crypto/shash.c                                     |   13 +-
 crypto/testmgr.c                                   |    5 +-
 drivers/Makefile                                   |    2 +
 drivers/acpi/Makefile                              |    1 -
 drivers/acpi/acpi_platform.c                       |    8 +-
 drivers/acpi/acpi_processor.c                      |    9 -
 drivers/acpi/apei/erst.c                           |    2 +-
 drivers/acpi/apei/ghes.c                           |    1 +
 drivers/acpi/glue.c                                |   10 +-
 drivers/acpi/ioapic.c                              |    6 +
 drivers/acpi/power.c                               |    1 +
 drivers/acpi/processor_throttling.c                |    9 +
 drivers/acpi/sbshc.c                               |    4 +-
 drivers/acpi/video.c                               |    3 +
 drivers/android/binder.c                           |    4 +-
 drivers/ata/Kconfig                                |    3 +
 drivers/ata/ahci.c                                 |    5 +
 drivers/ata/libata-core.c                          |    7 +-
 drivers/ata/libata-eh.c                            |    2 +-
 drivers/ata/libata-scsi.c                          |    6 +-
 drivers/ata/libata-sff.c                           |    1 -
 drivers/ata/libata-transport.c                     |    9 +-
 drivers/ata/pata_amd.c                             |    1 +
 drivers/ata/pata_cs5536.c                          |    1 +
 drivers/ata/sata_mv.c                              |    3 +
 drivers/atm/horizon.c                              |    2 +-
 drivers/base/bus.c                                 |    2 +-
 drivers/base/cacheinfo.c                           |    3 +
 drivers/base/core.c                                |    6 +-
 drivers/base/isa.c                                 |   10 +-
 drivers/base/platform.c                            |   14 +-
 drivers/base/power/domain.c                        |   14 +-
 drivers/base/power/runtime.c                       |   11 +-
 drivers/base/power/sysfs.c                         |    2 +
 drivers/base/power/trace.c                         |    4 +-
 drivers/bcma/main.c                                |    4 +
 drivers/block/drbd/drbd_bitmap.c                   |    6 +
 drivers/block/loop.c                               |   12 +-
 drivers/block/pktcdvd.c                            |    4 +-
 drivers/block/rbd.c                                |    4 +-
 drivers/block/skd_main.c                           |   21 +-
 drivers/block/virtio_blk.c                         |    3 +-
 drivers/block/xen-blkback/blkback.c                |   26 +-
 drivers/block/xen-blkback/common.h                 |   25 +-
 drivers/block/xen-blkback/xenbus.c                 |    1 -
 drivers/block/zram/zram_drv.c                      |    8 +-
 drivers/bluetooth/ath3k.c                          |    2 +
 drivers/bluetooth/btsdio.c                         |    9 +
 drivers/bluetooth/btusb.c                          |    7 +
 drivers/bus/arm-ccn.c                              |    1 +
 drivers/bus/mvebu-mbus.c                           |    2 +-
 drivers/char/Kconfig                               |    6 +-
 drivers/char/hw_random/core.c                      |    6 +-
 drivers/char/ipmi/ipmi_msghandler.c                |   15 +-
 drivers/char/ipmi/ipmi_ssif.c                      |    9 +-
 drivers/char/ipmi/ipmi_watchdog.c                  |    7 +-
 drivers/char/lp.c                                  |    6 +-
 drivers/char/mem.c                                 |   87 +-
 drivers/char/random.c                              |   26 +-
 drivers/char/tpm/st33zp24/st33zp24.c               |    4 +-
 drivers/char/tpm/tpm-sysfs.c                       |    2 +
 drivers/char/tpm/tpm_crb.c                         |    3 +-
 drivers/char/tpm/tpm_i2c_infineon.c                |    5 +-
 drivers/char/tpm/tpm_i2c_nuvoton.c                 |   32 +-
 drivers/char/tpm/tpm_tis.c                         |    2 +-
 drivers/char/virtio_console.c                      |   14 +-
 drivers/clk/tegra/clk-tegra30.c                    |    2 +-
 drivers/clk/ti/clk-dra7-atl.c                      |    3 +-
 drivers/cpufreq/Kconfig                            |    2 +
 drivers/cpufreq/cpufreq.c                          |    9 +-
 drivers/cpufreq/cpufreq_conservative.c             |    4 +-
 drivers/cpufreq/s3c2416-cpufreq.c                  |    1 -
 drivers/cpufreq/s3c24xx-cpufreq.c                  |    8 +-
 drivers/cpuidle/cpuidle-powernv.c                  |   18 +
 drivers/cpuidle/sysfs.c                            |   12 +
 drivers/crypto/amcc/crypto4xx_core.h               |   10 +-
 drivers/crypto/atmel-sha.c                         |    4 +-
 drivers/crypto/caam/caamhash.c                     |    2 +-
 drivers/crypto/caam/ctrl.c                         |    3 +-
 drivers/crypto/caam/key_gen.c                      |    2 +-
 drivers/crypto/n2_core.c                           |    3 +
 drivers/crypto/s5p-sss.c                           |   18 +-
 drivers/crypto/talitos.c                           |   11 +-
 drivers/devfreq/devfreq.c                          |    2 +-
 drivers/dma/dma-jz4740.c                           |    4 +-
 drivers/dma/dmaengine.c                            |    2 +
 drivers/dma/dmatest.c                              |   54 +-
 drivers/dma/ep93xx_dma.c                           |    2 +
 drivers/dma/pl330.c                                |   19 +-
 drivers/dma/sh/usb-dmac.c                          |    2 +-
 drivers/edac/i5000_edac.c                          |    8 +-
 drivers/edac/i5400_edac.c                          |    9 +-
 drivers/edac/octeon_edac-lmc.c                     |    1 +
 drivers/edac/sb_edac.c                             |    1 +
 drivers/extcon/extcon-palmas.c                     |    5 +
 drivers/firmware/efi/efi.c                         |   32 -
 drivers/gpio/gpio-74xx-mmio.c                      |    2 +-
 drivers/gpio/gpio-intel-mid.c                      |    2 +-
 drivers/gpio/gpio-iop.c                            |    4 +
 drivers/gpio/gpio-xgene.c                          |   13 +-
 .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c |   18 +
 drivers/gpu/drm/armada/Makefile                    |    2 +
 drivers/gpu/drm/ast/ast_drv.h                      |    5 +
 drivers/gpu/drm/ast/ast_main.c                     |  171 +++-
 drivers/gpu/drm/ast/ast_post.c                     |   63 +-
 drivers/gpu/drm/drm_atomic.c                       |    5 +-
 drivers/gpu/drm/drm_atomic_helper.c                |    2 +-
 drivers/gpu/drm/drm_dp_mst_topology.c              |   45 +-
 drivers/gpu/drm/drm_drv.c                          |    2 +-
 drivers/gpu/drm/drm_gem.c                          |    6 +-
 drivers/gpu/drm/drm_modes.c                        |    7 +
 drivers/gpu/drm/gma500/mdfld_dsi_dpi.c             |   10 +-
 drivers/gpu/drm/gma500/mdfld_dsi_output.c          |   12 +-
 drivers/gpu/drm/gma500/psb_intel_lvds.c            |   18 +-
 drivers/gpu/drm/i2c/adv7511.c                      |   36 +-
 drivers/gpu/drm/i915/intel_bios.c                  |    7 +
 drivers/gpu/drm/i915/intel_crt.c                   |    9 +-
 drivers/gpu/drm/i915/intel_display.c               |    4 +-
 drivers/gpu/drm/i915/intel_i2c.c                   |    4 +-
 drivers/gpu/drm/i915/intel_pm.c                    |   13 +-
 drivers/gpu/drm/mgag200/mgag200_main.c             |    2 +
 drivers/gpu/drm/msm/adreno/adreno_gpu.c            |    9 +-
 drivers/gpu/drm/msm/msm_drv.c                      |    1 +
 drivers/gpu/drm/msm/msm_drv.h                      |    1 +
 drivers/gpu/drm/msm/msm_gem_prime.c                |    7 +
 drivers/gpu/drm/msm/msm_gem_submit.c               |   10 +-
 drivers/gpu/drm/msm/msm_ringbuffer.c               |    3 +-
 drivers/gpu/drm/nouveau/dispnv04/hw.c              |    3 +-
 drivers/gpu/drm/nouveau/nouveau_display.c          |    3 +-
 drivers/gpu/drm/nouveau/nouveau_drm.c              |    5 +-
 drivers/gpu/drm/nouveau/nouveau_fence.h            |    1 +
 drivers/gpu/drm/nouveau/nouveau_gem.c              |    2 +-
 drivers/gpu/drm/nouveau/nv84_fence.c               |    6 +
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c           |    3 +-
 drivers/gpu/drm/panel/panel-simple.c               |    2 +
 drivers/gpu/drm/radeon/atombios_encoders.c         |   13 +-
 drivers/gpu/drm/radeon/ci_dpm.c                    |    6 +
 drivers/gpu/drm/radeon/cik.c                       |   35 +-
 drivers/gpu/drm/radeon/evergreen.c                 |    4 +-
 drivers/gpu/drm/radeon/r600.c                      |    2 +-
 drivers/gpu/drm/radeon/radeon_bios.c               |   66 +-
 drivers/gpu/drm/radeon/radeon_combios.c            |    7 +
 drivers/gpu/drm/radeon/radeon_cursor.c             |    4 +-
 drivers/gpu/drm/radeon/radeon_device.c             |    4 +
 drivers/gpu/drm/radeon/radeon_ttm.c                |    4 +-
 drivers/gpu/drm/radeon/radeon_uvd.c                |    2 +-
 drivers/gpu/drm/radeon/si.c                        |    4 +-
 drivers/gpu/drm/radeon/si_dpm.c                    |   23 +-
 drivers/gpu/drm/rcar-du/rcar_du_crtc.c             |   28 +-
 drivers/gpu/drm/rcar-du/rcar_du_crtc.h             |    2 -
 drivers/gpu/drm/rcar-du/rcar_du_drv.c              |   10 -
 drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c          |    8 +-
 drivers/gpu/drm/rcar-du/rcar_lvds_regs.h           |    2 +-
 drivers/gpu/drm/sti/sti_vtg.c                      |    4 +
 drivers/gpu/drm/ttm/ttm_bo.c                       |    4 +-
 drivers/gpu/drm/ttm/ttm_bo_vm.c                    |   12 +
 drivers/gpu/drm/ttm/ttm_page_alloc.c               |    4 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c         |    1 +
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c            |    2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c              |   77 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c               |    2 +
 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c              |    4 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_surface.c            |    9 +-
 drivers/hid/hid-core.c                             |    8 +
 drivers/hid/hid-cypress.c                          |    3 +
 drivers/hid/hid-ids.h                              |    7 +
 drivers/hid/hid-xinmo.c                            |    1 +
 drivers/hid/i2c-hid/i2c-hid.c                      |   12 +-
 drivers/hid/usbhid/hid-core.c                      |   12 +-
 drivers/hv/channel.c                               |    9 +-
 drivers/hv/connection.c                            |    8 +-
 drivers/hv/hv.c                                    |    6 +-
 drivers/hv/hv_balloon.c                            |  140 ++-
 drivers/hwmon/asus_atk0110.c                       |    3 +
 drivers/hwmon/gl520sm.c                            |   25 +-
 drivers/hwmon/pmbus/pmbus_core.c                   |   21 +-
 drivers/i2c/busses/i2c-at91.c                      |    3 +
 drivers/i2c/busses/i2c-ismt.c                      |    5 +
 drivers/i2c/busses/i2c-jz4780.c                    |    4 -
 drivers/i2c/busses/i2c-meson.c                     |    2 +-
 drivers/i2c/busses/i2c-riic.c                      |   34 +-
 drivers/i2c/busses/i2c-tiny-usb.c                  |   25 +-
 drivers/i2c/i2c-boardinfo.c                        |    4 +-
 drivers/iio/adc/ad_sigma_delta.c                   |   28 +
 drivers/iio/adc/axp288_adc.c                       |   34 +-
 drivers/iio/adc/mcp320x.c                          |    1 +
 drivers/iio/adc/ti_am335x_adc.c                    |   13 +-
 drivers/iio/adc/vf610_adc.c                        |    2 +-
 drivers/iio/adc/xilinx-xadc-core.c                 |    6 +-
 .../iio/common/hid-sensors/hid-sensor-trigger.c    |   14 +-
 drivers/iio/dac/ad7303.c                           |    6 +-
 drivers/iio/imu/adis16480.c                        |    2 +-
 drivers/iio/imu/adis_trigger.c                     |    7 +-
 drivers/iio/industrialio-buffer.c                  |    2 +-
 drivers/iio/industrialio-core.c                    |    4 +-
 drivers/iio/light/cm3232.c                         |    2 +-
 drivers/iio/light/tsl2563.c                        |    2 +-
 drivers/iio/pressure/mpl115.c                      |    1 +
 drivers/iio/pressure/mpl3115.c                     |    4 +-
 drivers/iio/proximity/as3935.c                     |   13 +-
 drivers/iio/trigger/iio-trig-interrupt.c           |    8 +-
 drivers/iio/trigger/iio-trig-sysfs.c               |    2 +-
 drivers/infiniband/core/cma.c                      |    3 +
 drivers/infiniband/core/ucma.c                     |    6 +
 drivers/infiniband/hw/cxgb4/cq.c                   |    6 +-
 drivers/infiniband/hw/mlx4/main.c                  |   14 +-
 drivers/infiniband/hw/mlx4/qp.c                    |    2 +-
 drivers/infiniband/hw/mlx5/cq.c                    |    7 +-
 drivers/infiniband/hw/mlx5/main.c                  |    2 +
 drivers/infiniband/hw/qib/qib_iba7322.c            |    2 +-
 drivers/infiniband/ulp/ipoib/ipoib_cm.c            |   14 +-
 drivers/infiniband/ulp/ipoib/ipoib_fs.c            |    3 +
 drivers/infiniband/ulp/ipoib/ipoib_ib.c            |    7 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c          |   58 +-
 drivers/infiniband/ulp/ipoib/ipoib_vlan.c          |   13 +-
 drivers/infiniband/ulp/isert/ib_isert.c            |    2 +-
 drivers/infiniband/ulp/srp/ib_srp.c                |   29 +-
 drivers/infiniband/ulp/srpt/ib_srpt.c              |   12 +-
 drivers/input/joystick/iforce/iforce-usb.c         |    3 +
 drivers/input/joystick/xpad.c                      |    2 +
 drivers/input/keyboard/matrix_keypad.c             |    4 +-
 drivers/input/keyboard/mpr121_touchkey.c           |   24 +-
 drivers/input/keyboard/tca8418_keypad.c            |   23 +-
 drivers/input/misc/cm109.c                         |    4 +
 drivers/input/misc/ims-pcu.c                       |   20 +-
 drivers/input/misc/twl6040-vibra.c                 |    2 +-
 drivers/input/misc/yealink.c                       |    4 +
 drivers/input/mouse/elantech.c                     |    2 +-
 drivers/input/mouse/trackpoint.c                   |   10 +-
 drivers/input/mouse/trackpoint.h                   |    3 +-
 drivers/input/serio/i8042-x86ia64io.h              |   35 +
 drivers/input/serio/i8042.c                        |   12 +-
 drivers/input/tablet/gtco.c                        |   17 +-
 drivers/input/tablet/hanwang.c                     |    3 +
 drivers/input/tablet/kbtab.c                       |    3 +
 drivers/input/touchscreen/88pm860x-ts.c            |   16 +-
 drivers/input/touchscreen/elants_i2c.c             |    4 +-
 drivers/input/touchscreen/sur40.c                  |    3 +
 drivers/iommu/amd_iommu.c                          |    1 +
 drivers/iommu/amd_iommu_v2.c                       |    2 +-
 drivers/iommu/intel-iommu.c                        |   10 +-
 drivers/irqchip/irq-atmel-aic-common.c             |    5 +-
 drivers/irqchip/irq-crossbar.c                     |    9 +-
 drivers/irqchip/irq-gic-v3.c                       |    5 +-
 drivers/irqchip/irq-mips-gic.c                     |    5 +-
 drivers/irqchip/irq-xtensa-mx.c                    |    2 +-
 drivers/irqchip/irq-xtensa-pic.c                   |    2 +-
 drivers/isdn/capi/kcapi.c                          |    1 +
 drivers/isdn/gigaset/bas-gigaset.c                 |    3 +
 drivers/isdn/hardware/eicon/message.c              |   19 +-
 drivers/isdn/i4l/isdn_ppp.c                        |   39 +-
 drivers/isdn/icn/icn.c                             |    2 +-
 drivers/leds/led-core.c                            |    2 +-
 drivers/leds/led-triggers.c                        |   12 +-
 drivers/mailbox/mailbox.c                          |   13 +-
 drivers/md/bcache/alloc.c                          |    5 +-
 drivers/md/bcache/bcache.h                         |    5 +-
 drivers/md/bcache/btree.c                          |   45 +-
 drivers/md/bcache/btree.h                          |    3 +-
 drivers/md/bcache/extents.c                        |    2 +-
 drivers/md/bcache/journal.c                        |    2 +-
 drivers/md/bcache/request.c                        |   23 +-
 drivers/md/bcache/super.c                          |   26 +-
 drivers/md/bcache/sysfs.c                          |    4 +-
 drivers/md/bcache/util.c                           |   50 +-
 drivers/md/bcache/writeback.c                      |   20 +-
 drivers/md/bcache/writeback.h                      |   21 +-
 drivers/md/bitmap.c                                |    5 +
 drivers/md/dm-bufio.c                              |   57 +-
 drivers/md/dm-cache-target.c                       |    6 +-
 drivers/md/dm-era-target.c                         |    8 +-
 drivers/md/dm-io.c                                 |    1 +
 drivers/md/dm-ioctl.c                              |    2 +-
 drivers/md/dm-thin-metadata.c                      |   10 +-
 drivers/md/dm.c                                    |   67 +-
 drivers/md/md-cluster.c                            |    1 +
 drivers/md/md.c                                    |   12 +-
 drivers/md/persistent-data/dm-btree.c              |   27 +-
 drivers/md/persistent-data/dm-space-map-disk.c     |   15 +-
 drivers/md/raid1.c                                 |    7 +-
 drivers/md/raid10.c                                |   41 +-
 drivers/md/raid5.c                                 |   35 +-
 drivers/media/i2c/adv7604.c                        |    3 +
 drivers/media/i2c/s5c73m3/s5c73m3-ctrls.c          |    2 +-
 drivers/media/i2c/s5k6aa.c                         |    5 +
 drivers/media/pci/bt8xx/dvb-bt8xx.c                |    1 +
 drivers/media/pci/cx88/cx88-cards.c                |    9 +-
 drivers/media/pci/cx88/cx88-video.c                |    2 +-
 drivers/media/pci/dm1105/Kconfig                   |    2 +-
 drivers/media/pci/saa7134/saa7134-i2c.c            |   31 +
 drivers/media/pci/saa7164/saa7164-bus.c            |   13 +-
 drivers/media/pci/ttpci/av7110_hw.c                |    8 +-
 drivers/media/pci/ttpci/av7110_hw.h                |   12 +-
 drivers/media/platform/am437x/am437x-vpfe.c        |    2 +-
 drivers/media/platform/davinci/vpfe_capture.c      |   22 +-
 drivers/media/platform/exynos-gsc/gsc-core.c       |    2 -
 drivers/media/platform/exynos4-is/fimc-is.c        |    8 +-
 drivers/media/platform/s5p-mfc/s5p_mfc.c           |    1 +
 drivers/media/platform/soc_camera/soc_scale_crop.c |    4 +
 drivers/media/rc/imon.c                            |    7 +-
 drivers/media/rc/ir-lirc-codec.c                   |   11 +-
 drivers/media/rc/mceusb.c                          |    4 +-
 drivers/media/tuners/r820t.c                       |   13 +-
 drivers/media/tuners/tuner-xc2028.c                |   35 +-
 drivers/media/usb/as102/as102_fw.c                 |   28 +-
 drivers/media/usb/cx231xx/cx231xx-audio.c          |   42 +-
 drivers/media/usb/cx231xx/cx231xx-cards.c          |   47 +-
 drivers/media/usb/cx231xx/cx231xx-core.c           |    7 +-
 drivers/media/usb/dvb-usb-v2/dvb_usb_core.c        |    9 +-
 drivers/media/usb/dvb-usb-v2/lmedm04.c             |   39 +-
 drivers/media/usb/dvb-usb/cxusb.c                  |    2 +
 drivers/media/usb/dvb-usb/dib0700_core.c           |    3 +
 drivers/media/usb/dvb-usb/dib0700_devices.c        |   25 +-
 drivers/media/usb/dvb-usb/dibusb-common.c          |   16 +-
 drivers/media/usb/dvb-usb/ttusb2.c                 |   19 +
 drivers/media/usb/em28xx/Kconfig                   |    2 +-
 drivers/media/usb/go7007/Kconfig                   |    2 +-
 drivers/media/usb/gspca/konica.c                   |    3 +
 drivers/media/usb/hdpvr/hdpvr-core.c               |    2 +
 drivers/media/usb/pvrusb2/pvrusb2-eeprom.c         |   13 +-
 drivers/media/usb/pwc/pwc-if.c                     |    2 +
 drivers/media/usb/siano/smsusb.c                   |   18 +-
 drivers/media/usb/usbtv/usbtv-core.c               |    1 +
 drivers/media/usb/usbvision/usbvision-video.c      |   16 +-
 drivers/media/usb/uvc/uvc_ctrl.c                   |    7 +
 drivers/media/usb/uvc/uvc_driver.c                 |  118 ++-
 drivers/media/usb/uvc/uvc_queue.c                  |    2 +-
 drivers/media/usb/zr364xx/zr364xx.c                |    8 +
 drivers/media/v4l2-core/Kconfig                    |    1 -
 drivers/media/v4l2-core/v4l2-compat-ioctl32.c      | 1013 ++++++++++++--------
 drivers/media/v4l2-core/v4l2-ctrls.c               |   16 +-
 drivers/media/v4l2-core/v4l2-ioctl.c               |    5 +-
 drivers/media/v4l2-core/videobuf2-core.c           |    7 +-
 drivers/memory/omap-gpmc.c                         |    4 +-
 drivers/message/fusion/mptbase.c                   |    2 +
 drivers/mfd/ab8500-sysctrl.c                       |   14 +-
 drivers/mfd/omap-usb-tll.c                         |    2 +-
 drivers/mfd/twl4030-audio.c                        |    9 +-
 drivers/mfd/twl6040.c                              |   12 +-
 drivers/misc/c2port/c2port-duramar2150.c           |    4 +-
 drivers/misc/cxl/file.c                            |    7 +-
 drivers/misc/eeprom/at24.c                         |    6 +
 drivers/misc/enclosure.c                           |   14 +-
 drivers/mmc/core/bus.c                             |    3 +
 drivers/mmc/core/mmc.c                             |    4 +-
 drivers/mmc/core/sdio_bus.c                        |   12 +-
 drivers/mmc/host/mxs-mmc.c                         |    6 +-
 drivers/mmc/host/s3cmci.c                          |    1 +
 drivers/mmc/host/sdhci-iproc.c                     |    3 +-
 drivers/mmc/host/sdhci.c                           |    7 +-
 drivers/mmc/host/ushc.c                            |    3 +
 drivers/mtd/bcm47xxpart.c                          |   52 +-
 drivers/mtd/chips/Kconfig                          |    5 +
 drivers/mtd/maps/ck804xrom.c                       |    4 +-
 drivers/mtd/maps/esb2rom.c                         |    4 +-
 drivers/mtd/maps/ichxrom.c                         |   10 +-
 drivers/mtd/maps/pmcmsp-flash.c                    |    4 +-
 drivers/mtd/nand/Kconfig                           |    2 +-
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c             |    6 +-
 drivers/mtd/nand/nand_base.c                       |   14 +-
 drivers/mtd/nand/sh_flctl.c                        |    5 +-
 drivers/mtd/nand/sunxi_nand.c                      |    8 +-
 drivers/mtd/spi-nor/fsl-quadspi.c                  |   20 +-
 drivers/mtd/spi-nor/spi-nor.c                      |    7 +
 drivers/mtd/ubi/upd.c                              |    8 +-
 drivers/mtd/ubi/vmt.c                              |   15 +-
 drivers/net/Kconfig                                |    3 +
 drivers/net/appletalk/ipddp.c                      |    2 +-
 drivers/net/bonding/bond_main.c                    |    2 +-
 drivers/net/can/c_can/c_can_pci.c                  |    2 +-
 drivers/net/can/c_can/c_can_platform.c             |    1 -
 drivers/net/can/ti_hecc.c                          |   19 +-
 drivers/net/can/usb/ems_usb.c                      |    2 +
 drivers/net/can/usb/esd_usb2.c                     |    4 +-
 drivers/net/can/usb/gs_usb.c                       |   14 +-
 drivers/net/can/usb/kvaser_usb.c                   |   22 +-
 drivers/net/can/usb/peak_usb/pcan_usb_fd.c         |   21 +-
 drivers/net/can/usb/usb_8dev.c                     |   11 +-
 drivers/net/ethernet/3com/3c509.c                  |    2 +-
 drivers/net/ethernet/3com/3c59x.c                  |    2 +-
 drivers/net/ethernet/3com/typhoon.c                |   25 +-
 drivers/net/ethernet/adaptec/starfire.c            |   45 +-
 drivers/net/ethernet/amd/xgbe/xgbe-dev.c           |    4 +-
 drivers/net/ethernet/amd/xgbe/xgbe-drv.c           |    4 +-
 drivers/net/ethernet/amd/xgbe/xgbe-main.c          |    4 +-
 drivers/net/ethernet/arc/emac_main.c               |   53 +-
 drivers/net/ethernet/broadcom/bcmsysport.c         |   23 +-
 drivers/net/ethernet/broadcom/bgmac.c              |   18 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c    |    6 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c   |   34 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c   |   23 +-
 drivers/net/ethernet/broadcom/genet/bcmgenet.c     |   97 +-
 drivers/net/ethernet/broadcom/genet/bcmgenet.h     |   10 +-
 drivers/net/ethernet/broadcom/tg3.c                |   20 +-
 drivers/net/ethernet/broadcom/tg3.h                |    4 +
 drivers/net/ethernet/brocade/bna/bfa_ioc.c         |   10 +-
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c    |    4 +
 drivers/net/ethernet/dec/tulip/de4x5.c             |    2 +-
 drivers/net/ethernet/dec/tulip/tulip_core.c        |    9 +-
 drivers/net/ethernet/dec/tulip/winbond-840.c       |    2 +-
 drivers/net/ethernet/emulex/benet/be_cmds.c        |    2 +-
 drivers/net/ethernet/emulex/benet/be_main.c        |    4 +-
 drivers/net/ethernet/ethoc.c                       |    3 +-
 drivers/net/ethernet/fealnx.c                      |    6 +-
 drivers/net/ethernet/freescale/fec_main.c          |   23 +-
 drivers/net/ethernet/freescale/gianfar.c           |    8 +-
 drivers/net/ethernet/freescale/gianfar_ptp.c       |    3 +-
 drivers/net/ethernet/hp/hp100.c                    |   20 +-
 drivers/net/ethernet/ibm/emac/mal.c                |    3 +-
 drivers/net/ethernet/intel/e1000/e1000.h           |    3 +-
 drivers/net/ethernet/intel/e1000/e1000_main.c      |   27 +-
 drivers/net/ethernet/intel/e1000e/ich8lan.c        |   11 +-
 drivers/net/ethernet/intel/e1000e/mac.c            |   11 +-
 drivers/net/ethernet/intel/e1000e/netdev.c         |    4 +-
 drivers/net/ethernet/intel/e1000e/phy.c            |    7 +-
 drivers/net/ethernet/intel/fm10k/fm10k_iov.c       |    3 +
 drivers/net/ethernet/intel/fm10k/fm10k_main.c      |    2 +-
 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c       |   10 +-
 drivers/net/ethernet/intel/fm10k/fm10k_pci.c       |    6 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c        |   18 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |    2 +-
 drivers/net/ethernet/intel/i40evf/i40e_txrx.c      |    2 +-
 drivers/net/ethernet/intel/igb/e1000_82575.c       |   11 +
 drivers/net/ethernet/intel/igb/e1000_i210.c        |    4 +-
 drivers/net/ethernet/intel/igb/e1000_phy.c         |    4 +
 drivers/net/ethernet/intel/igb/igb_main.c          |   25 +-
 drivers/net/ethernet/intel/igbvf/netdev.c          |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c    |    4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c       |    8 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |   25 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c      |    2 +
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c  |    2 +-
 drivers/net/ethernet/korina.c                      |    8 +-
 drivers/net/ethernet/marvell/mvmdio.c              |    3 +-
 drivers/net/ethernet/marvell/mvneta.c              |    4 +
 drivers/net/ethernet/marvell/mvpp2.c               |   11 +-
 drivers/net/ethernet/mellanox/mlx4/catas.c         |    2 +-
 drivers/net/ethernet/mellanox/mlx4/cmd.c           |   11 +
 drivers/net/ethernet/mellanox/mlx4/en_clock.c      |   18 +-
 drivers/net/ethernet/mellanox/mlx4/en_rx.c         |    8 +-
 drivers/net/ethernet/mellanox/mlx4/eq.c            |   23 +-
 drivers/net/ethernet/mellanox/mlx4/icm.c           |    7 +-
 drivers/net/ethernet/mellanox/mlx4/intf.c          |   12 +
 drivers/net/ethernet/mellanox/mlx4/main.c          |   13 +-
 drivers/net/ethernet/mellanox/mlx4/mlx4.h          |    1 +
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h       |    1 -
 drivers/net/ethernet/mellanox/mlx4/qp.c            |    3 +
 .../net/ethernet/mellanox/mlx4/resource_tracker.c  |    5 +-
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |    2 +-
 .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c    |   18 +-
 drivers/net/ethernet/qlogic/qlge/qlge_dbg.c        |    2 +-
 drivers/net/ethernet/realtek/r8169.c               |    5 +-
 drivers/net/ethernet/renesas/sh_eth.c              |   31 +-
 drivers/net/ethernet/renesas/sh_eth.h              |    2 +-
 drivers/net/ethernet/ti/cpmac.c                    |    2 +-
 drivers/net/ethernet/ti/tlan.c                     |    2 +-
 drivers/net/ethernet/xilinx/Kconfig                |    1 +
 drivers/net/ethernet/xilinx/xilinx_emaclite.c      |  126 +--
 drivers/net/hamradio/mkiss.c                       |    4 +-
 drivers/net/hippi/rrunner.c                        |    2 +-
 drivers/net/ipvlan/ipvlan_core.c                   |    1 +
 drivers/net/irda/irda-usb.c                        |    2 +-
 drivers/net/irda/mcs7780.c                         |   16 +-
 drivers/net/irda/vlsi_ir.c                         |    8 +-
 drivers/net/irda/w83977af_ir.c                     |    4 +-
 drivers/net/macvlan.c                              |    2 +-
 drivers/net/macvtap.c                              |    2 +
 drivers/net/phy/at803x.c                           |    2 +-
 drivers/net/phy/dp83640.c                          |    2 +-
 drivers/net/phy/marvell.c                          |    2 -
 drivers/net/phy/mdio-sun4i.c                       |    6 +-
 drivers/net/phy/phy.c                              |    5 +-
 drivers/net/phy/phy_device.c                       |    4 +-
 drivers/net/phy/spi_ks8995.c                       |    1 +
 drivers/net/ppp/ppp_generic.c                      |   10 +
 drivers/net/ppp/pppoe.c                            |   11 +-
 drivers/net/team/team.c                            |    8 +-
 drivers/net/tun.c                                  |   15 +-
 drivers/net/usb/Kconfig                            |   12 +-
 drivers/net/usb/Makefile                           |    2 +-
 drivers/net/usb/catc.c                             |   56 +-
 drivers/net/usb/cx82310_eth.c                      |    7 +-
 drivers/net/usb/kaweth.c                           |   10 +-
 drivers/net/usb/pegasus.c                          |   29 +-
 drivers/net/usb/plusb.c                            |   15 +-
 drivers/net/usb/qmi_wwan.c                         |   10 +-
 drivers/net/usb/r8152.c                            |   24 +-
 drivers/net/usb/rtl8150.c                          |   34 +-
 drivers/net/usb/sierra_net.c                       |  111 ++-
 drivers/net/usb/smsc75xx.c                         |    8 +-
 drivers/net/usb/sr9700.c                           |    9 +-
 drivers/net/virtio_net.c                           |   11 +-
 drivers/net/vmxnet3/vmxnet3_drv.c                  |    2 +-
 drivers/net/vxlan.c                                |    4 +-
 drivers/net/wan/hdlc_ppp.c                         |    5 +-
 drivers/net/wimax/i2400m/usb.c                     |    3 +
 drivers/net/wireless/ath/ath10k/core.c             |   12 +-
 drivers/net/wireless/ath/ath10k/mac.c              |    7 +-
 drivers/net/wireless/ath/ath10k/wmi-ops.h          |    6 +
 drivers/net/wireless/ath/ath10k/wmi-tlv.c          |   12 +-
 drivers/net/wireless/ath/ath5k/mac80211-ops.c      |    3 +-
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.h     |    4 +-
 drivers/net/wireless/ath/ath9k/ar9003_phy.c        |    2 -
 drivers/net/wireless/ath/ath9k/ath9k.h             |    1 +
 drivers/net/wireless/ath/ath9k/hif_usb.c           |    4 +
 drivers/net/wireless/ath/ath9k/init.c              |    1 +
 drivers/net/wireless/ath/ath9k/mac.c               |   44 +-
 drivers/net/wireless/ath/ath9k/mac.h               |    1 +
 drivers/net/wireless/ath/ath9k/main.c              |   27 +-
 drivers/net/wireless/ath/ath9k/tx99.c              |   18 +-
 drivers/net/wireless/ath/wil6210/main.c            |   15 +-
 drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c |   45 +-
 drivers/net/wireless/brcm80211/brcmfmac/core.c     |   23 +-
 .../net/wireless/brcm80211/brcmfmac/fwil_types.h   |    5 +
 .../net/wireless/brcm80211/brcmsmac/phy/phy_n.c    |  197 ++--
 drivers/net/wireless/cw1200/wsm.c                  |    8 +-
 drivers/net/wireless/hostap/hostap_hw.c            |   15 +-
 drivers/net/wireless/iwlwifi/mvm/mac80211.c        |   10 +-
 drivers/net/wireless/mac80211_hwsim.c              |   35 +-
 drivers/net/wireless/mwifiex/11n_aggr.c            |   19 +-
 drivers/net/wireless/mwifiex/debugfs.c             |    3 +-
 drivers/net/wireless/mwifiex/pcie.c                |    7 +
 drivers/net/wireless/mwifiex/sta_ioctl.c           |    2 -
 drivers/net/wireless/p54/fwio.c                    |    2 +-
 drivers/net/wireless/rtlwifi/pci.h                 |    4 +-
 drivers/net/wireless/rtlwifi/rtl8821ae/phy.c       |  122 ++-
 drivers/net/wireless/rtlwifi/rtl8821ae/reg.h       |    1 +
 drivers/net/wireless/rtlwifi/usb.h                 |    3 +-
 drivers/net/wireless/ti/wl1251/main.c              |    1 +
 drivers/net/xen-netback/common.h                   |    1 +
 drivers/net/xen-netback/interface.c                |    6 +-
 drivers/net/xen-netback/netback.c                  |   12 +-
 drivers/net/xen-netfront.c                         |   28 +-
 drivers/of/address.c                               |    2 +-
 drivers/of/device.c                                |    2 +
 drivers/of/fdt.c                                   |   12 +-
 drivers/parisc/ccio-dma.c                          |   12 +
 drivers/parisc/dino.c                              |    7 +-
 drivers/parisc/lba_pci.c                           |   39 +-
 drivers/parisc/sba_iommu.c                         |   14 +
 drivers/parport/parport_gsc.c                      |    8 +-
 drivers/pci/host/pci-keystone.c                    |    9 +-
 drivers/pci/host/pci-mvebu.c                       |  101 +-
 drivers/pci/hotplug/shpchp_hpc.c                   |    2 +
 drivers/pci/iov.c                                  |   73 +-
 drivers/pci/pci-driver.c                           |   20 +-
 drivers/pci/pci-sysfs.c                            |   21 +-
 drivers/pci/pci.c                                  |  116 ++-
 drivers/pci/pci.h                                  |    8 +-
 drivers/pci/pcie/aer/aerdrv_core.c                 |    9 +-
 drivers/pci/pcie/pme.c                             |    5 +-
 drivers/pci/probe.c                                |   30 +-
 drivers/pci/quirks.c                               |   85 ++
 drivers/pci/remove.c                               |    2 +-
 drivers/pci/rom.c                                  |    5 +
 drivers/pci/setup-res.c                            |   43 +-
 drivers/pinctrl/Kconfig                            |    3 +-
 drivers/pinctrl/freescale/pinctrl-mxs.c            |   16 +-
 drivers/pinctrl/meson/pinctrl-meson8b.c            |    4 +-
 drivers/pinctrl/pinctrl-st.c                       |   30 +-
 drivers/pinctrl/qcom/pinctrl-msm.c                 |    4 -
 drivers/pinctrl/samsung/pinctrl-exynos.c           |    4 -
 drivers/pinctrl/sh-pfc/core.c                      |    3 +
 drivers/pinctrl/sunxi/pinctrl-sun4i-a10.c          |    1 +
 drivers/pinctrl/sunxi/pinctrl-sun9i-a80.c          |    6 +-
 drivers/platform/goldfish/pdev_bus.c               |   13 +-
 drivers/platform/x86/Kconfig                       |    2 +
 drivers/platform/x86/acer-wmi.c                    |   22 +-
 drivers/platform/x86/hp-wmi.c                      |   60 +-
 drivers/platform/x86/ideapad-laptop.c              |    1 +
 drivers/platform/x86/intel_mid_thermal.c           |    3 +
 drivers/platform/x86/tc1100-wmi.c                  |    2 +
 drivers/power/bq24190_charger.c                    |   32 +-
 drivers/regulator/core.c                           |    5 +-
 drivers/regulator/tps65023-regulator.c             |    3 +-
 drivers/rtc/interface.c                            |   16 +-
 drivers/rtc/rtc-opal.c                             |   12 +-
 drivers/rtc/rtc-s35390a.c                          |  153 ++-
 drivers/rtc/rtc-sun6i.c                            |   23 +-
 drivers/rtc/rtc-tegra.c                            |   28 +-

commit c4af8434be715c51e3a5950c2ca682de73b7653f
Merge: 88fa72f 2d61e08
Author: Rohit Kumar <rokku...@cs.stonybrook.edu>
Date:   Sat May 12 01:40:05 2018 -0400

    Merge branch 'master' into wrapfs

commit 2d61e08a1024d0cf15c26889285004e46c9f0b14
Author: Sasha Levin <alexander.le...@microsoft.com>
Date:   Tue Mar 27 16:15:21 2018 -0400

    Linux 4.1.51
    
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 9f63c2489c715b2e986517cc3c6fb9e5fcd6218e
Author: Sasha Levin <alexander.le...@microsoft.com>
Date:   Mon Mar 26 21:34:18 2018 -0400

    Revert "x86/retpoline/checksum32: Convert assembler indirect jumps"
    
    This reverts commit 539142804971ee10ff0370d19d6e1ee5bc45babc.
    
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 2ae2efda4b14ad93415c2b9884cbac1ac9d0d794
Author: Sasha Levin <alexander.le...@microsoft.com>
Date:   Tue Mar 20 16:44:18 2018 -0400

    Revert "x86/retpoline/crypto: Convert crypto assembler indirect jumps"
    
    This reverts commit 0153127f56d685b355e5adb5747f1d4463761756.
    
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 509efc5dfd989cf959858c6199f61c269bc76059
Author: Sasha Levin <alexander.le...@microsoft.com>
Date:   Tue Mar 20 16:44:17 2018 -0400

    Revert "x86/retpoline/hyperv: Convert assembler indirect jumps"
    
    This reverts commit db8171fb71e4af877f400406d8f114c4021d2ef2.
    
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 996f7651f682994ea21bda0da07bf19590fa789d
Author: Sasha Levin <alexander.le...@microsoft.com>
Date:   Tue Mar 20 16:44:15 2018 -0400

    Revert "x86/retpoline/xen: Convert Xen hypercall indirect jumps"
    
    This reverts commit 4cc996c64b97219945b28b9faa056c009d09c04d.
    
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit e0e719352ac4c9c94c78cad538ad153afc28e5a8
Author: Sasha Levin <alexander.le...@microsoft.com>
Date:   Tue Mar 20 16:44:13 2018 -0400

    Revert "kprobes/x86: Disable optimizing on the function jumps to indirect 
thunk"
    
    This reverts commit 3e50641bf84d702a7f82018b07f58cbbdcd3cea5.
    
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 1796c74bb794456f3de92fff8ea0114b87d3a1d6
Author: Pavel Fedin <p.fe...@samsung.com>
Date:   Fri Dec 4 15:03:11 2015 +0300

    arm64: KVM: Correctly handle zero register during MMIO
    
    [ Upstream commit bc45a516fa90b43b1898758d8b53b74c24b954e4 ]
    
    On ARM64 register index of 31 corresponds to both zero register and SP.
    However, all memory access instructions, use ZR as transfer register. SP
    is used only as a base register in indirect memory addressing, or by
    register-register arithmetics, which cannot be trapped here.
    
    Correct emulation is achieved by introducing new register accessor
    functions, which can do special handling for reg_num == 31. These new
    accessors intentionally do not rely on old vcpu_reg() on ARM64, because
    it is to be removed. Since the affected code is shared by both ARM
    flavours, implementations of these accessors are also added to ARM32 code.
    
    This patch fixes setting MMIO register to a random value (actually SP)
    instead of zero by something like:
    
     *((volatile int *)reg) = 0;
    
    compilers tend to generate "str wzr, [xx]" here
    
    [Marc: Fixed 32bit splat]
    
    Signed-off-by: Pavel Fedin <p.fe...@samsung.com>
    Reviewed-by: Marc Zyngier <marc.zyng...@arm.com>
    Signed-off-by: Marc Zyngier <marc.zyng...@arm.com>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 2191fc0f29b2d4e8e3e4aa5bf75df771aa7b1f88
Author: Hou Tao <hout...@huawei.com>
Date:   Fri Feb 3 17:19:07 2017 +0800

    blkcg: fix double free of new_blkg in blkcg_init_queue
    
    [ Upstream commit 9b54d816e00425c3a517514e0d677bb3cec49258 ]
    
    If blkg_create fails, new_blkg passed as an argument will
    be freed by blkg_create, so there is no need to free it again.
    
    Signed-off-by: Hou Tao <hout...@huawei.com>
    Signed-off-by: Jens Axboe <ax...@fb.com>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit dfa3da735104f8e7f2e13c4be1c6650dcf3f1046
Author: Nikola Ciprich <nikola.cipr...@linuxbox.cz>
Date:   Tue Feb 13 15:04:46 2018 +0100

    serial: 8250_pci: Add Brainboxes UC-260 4 port serial device
    
    [ Upstream commit 9f2068f35729948bde84d87a40d135015911345d ]
    
    Add PCI ids for two variants of Brainboxes UC-260 quad port
    PCI serial cards.
    
    Suggested-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
    Signed-off-by: Nikola Ciprich <nikola.cipr...@linuxbox.cz>
    Cc: stable <sta...@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit f642176da2177e68e1cfdb89d5cb62d255eb53b4
Author: Xinyong <xinyong.f...@linux.alibaba.com>
Date:   Fri Mar 2 19:20:07 2018 +0800

    usb: gadget: f_fs: Fix use-after-free in ffs_fs_kill_sb()
    
    [ Upstream commit 1a087f032111a88e826877449dfb93ceb22b78b9 ]
    
    When I debug a kernel crash issue in funcitonfs, found ffs_data.ref
    overflowed, While functionfs is unmounting, ffs_data is put twice.
    
    Commit 43938613c6fd ("drivers, usb: convert ffs_data.ref from atomic_t to
    refcount_t") can avoid refcount overflow, but that is risk some situations.
    So no need put ffs data in ffs_fs_kill_sb, already put in ffs_data_closed.
    
    The issue can be reproduced in Mediatek mt6763 SoC, ffs for ADB device.
    KASAN enabled configuration reports use-after-free errro.
    
    BUG: KASAN: use-after-free in refcount_dec_and_test+0x14/0xe0 at addr 
ffffffc0579386a0
    Read of size 4 by task umount/4650
    ====================================================
    BUG kmalloc-512 (Tainted: P        W  O   ): kasan: bad access detected
    
-----------------------------------------------------------------------------
    
    INFO: Allocated in ffs_fs_mount+0x194/0x844 age=22856 cpu=2 pid=566
        alloc_debug_processing+0x1ac/0x1e8
        ___slab_alloc.constprop.63+0x640/0x648
        __slab_alloc.isra.57.constprop.62+0x24/0x34
        kmem_cache_alloc_trace+0x1a8/0x2bc
        ffs_fs_mount+0x194/0x844
        mount_fs+0x6c/0x1d0
        vfs_kern_mount+0x50/0x1b4
        do_mount+0x258/0x1034
    INFO: Freed in ffs_data_put+0x25c/0x320 age=0 cpu=3 pid=4650
        free_debug_processing+0x22c/0x434
        __slab_free+0x2d8/0x3a0
        kfree+0x254/0x264
        ffs_data_put+0x25c/0x320
        ffs_data_closed+0x124/0x15c
        ffs_fs_kill_sb+0xb8/0x110
        deactivate_locked_super+0x6c/0x98
        deactivate_super+0xb0/0xbc
    INFO: Object 0xffffffc057938600 @offset=1536 fp=0x          (null)
    ......
    Call trace:
    [<ffffff900808cf5c>] dump_backtrace+0x0/0x250
    [<ffffff900808d3a0>] show_stack+0x14/0x1c
    [<ffffff90084a8c04>] dump_stack+0xa0/0xc8
    [<ffffff900826c2b4>] print_trailer+0x158/0x260
    [<ffffff900826d9d8>] object_err+0x3c/0x40
    [<ffffff90082745f0>] kasan_report_error+0x2a8/0x754
    [<ffffff9008274f84>] kasan_report+0x5c/0x60
    [<ffffff9008273208>] __asan_load4+0x70/0x88
    [<ffffff90084cd81c>] refcount_dec_and_test+0x14/0xe0
    [<ffffff9008d98f9c>] ffs_data_put+0x80/0x320
    [<ffffff9008d9d904>] ffs_fs_kill_sb+0xc8/0x110
    [<ffffff90082852a0>] deactivate_locked_super+0x6c/0x98
    [<ffffff900828537c>] deactivate_super+0xb0/0xbc
    [<ffffff90082af0c0>] cleanup_mnt+0x64/0xec
    [<ffffff90082af1b0>] __cleanup_mnt+0x10/0x18
    [<ffffff90080d9e68>] task_work_run+0xcc/0x124
    [<ffffff900808c8c0>] do_notify_resume+0x60/0x70
    [<ffffff90080866e4>] work_pending+0x10/0x14
    
    Cc: sta...@vger.kernel.org
    Signed-off-by: Xinyong <xinyong.f...@linux.alibaba.com>
    
    Signed-off-by: Felipe Balbi <felipe.ba...@linux.intel.com>
    
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit eaca72671725b4bbaadfc3a0b07a3e26f285677c
Author: Pete Zaitcev <zait...@kotori.zaitcev.us>
Date:   Fri Mar 9 00:21:14 2018 -0600

    usb: usbmon: Read text within supplied buffer size
    
    [ Upstream commit a5f596830e27e15f7a0ecd6be55e433d776986d8 ]
    
    This change fixes buffer overflows and silent data corruption with the
    usbmon device driver text file read operations.
    
    Signed-off-by: Fredrik Noring <nor...@nocrew.org>
    Signed-off-by: Pete Zaitcev <zait...@redhat.com>
    Cc: stable <sta...@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit d3b9bf542f2883718fdf834cbcfc1e119357e0ba
Author: Julia Lawall <julia.law...@lip6.fr>
Date:   Sat Dec 26 22:57:44 2015 +0100

    USB: usbmon: remove assignment from IS_ERR argument
    
    [ Upstream commit 46c236dc7d1212d7417e6fb0317f91c44c719322 ]
    
    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @@
    expression e1,e2;
    statement S1,S2;
    @@
    
    +e1 = e2;
    if (IS_ERR(
        e1
    -   = e2
       )) S1 else S2
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia.law...@lip6.fr>
    Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 9f5f962296f9a21bc57e8dbedcbef1524530ef59
Author: Danilo Krummrich <danilokrummr...@dk-develop.de>
Date:   Tue Mar 6 09:38:49 2018 +0100

    usb: quirks: add control message delay for 1b1c:1b20
    
    [ Upstream commit cb88a0588717ba6c756cb5972d75766b273a6817 ]
    
    Corsair Strafe RGB keyboard does not respond to usb control messages
    sometimes and hence generates timeouts.
    
    Commit de3af5bf259d ("usb: quirks: add delay init quirk for Corsair
    Strafe RGB keyboard") tried to fix those timeouts by adding
    USB_QUIRK_DELAY_INIT.
    
    Unfortunately, even with this quirk timeouts of usb_control_msg()
    can still be seen, but with a lower frequency (approx. 1 out of 15):
    
    [   29.103520] usb 1-8: string descriptor 0 read error: -110
    [   34.363097] usb 1-8: can't set config #1, error -110
    
    Adding further delays to different locations where usb control
    messages are issued just moves the timeouts to other locations,
    e.g.:
    
    [   35.400533] usbhid 1-8:1.0: can't add hid device: -110
    [   35.401014] usbhid: probe of 1-8:1.0 failed with error -110
    
    The only way to reliably avoid those issues is having a pause after
    each usb control message. In approx. 200 boot cycles no more timeouts
    were seen.
    
    Addionaly, keep USB_QUIRK_DELAY_INIT as it turned out to be necessary
    to have the delay in hub_port_connect() after hub_port_init().
    
    The overall boot time seems not to be influenced by these additional
    delays, even on fast machines and lightweight distributions.
    
    Fixes: de3af5bf259d ("usb: quirks: add delay init quirk for Corsair Strafe 
RGB keyboard")
    Cc: sta...@vger.kernel.org
    Signed-off-by: Danilo Krummrich <danilokrummr...@dk-develop.de>
    Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 393f7ace52afb3f2414607a6283ff80b52a3d7c1
Author: Teijo Kinnunen <teijo.kinnu...@code-q.fi>
Date:   Thu Mar 1 19:34:29 2018 +0200

    USB: storage: Add JMicron bridge 152d:2567 to unusual_devs.h
    
    [ Upstream commit 5126a504b63d82785eaece3a9c30c660b313785a ]
    
    This USB-SATA controller seems to be similar with JMicron bridge
    152d:2566 already on the list. Adding it here fixes "Invalid
    field in cdb" errors.
    
    Signed-off-by: Teijo Kinnunen <teijo.kinnu...@code-q.fi>
    Cc: sta...@vger.kernel.org
    Acked-by: Alan Stern <st...@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit e9d7c769996cb6504d8d8a68a22f793c72b17c2c
Author: Joel Fernandes <joe...@google.com>
Date:   Fri Feb 16 11:02:01 2018 -0800

    staging: android: ashmem: Fix lockdep issue during llseek
    
    [ Upstream commit cb57469c9573f6018cd1302953dd45d6e05aba7b ]
    
    ashmem_mutex create a chain of dependencies like so:
    
    (1)
    mmap syscall ->
      mmap_sem ->  (acquired)
      ashmem_mmap
      ashmem_mutex (try to acquire)
      (block)
    
    (2)
    llseek syscall ->
      ashmem_llseek ->
      ashmem_mutex ->  (acquired)
      inode_lock ->
      inode->i_rwsem (try to acquire)
      (block)
    
    (3)
    getdents ->
      iterate_dir ->
      inode_lock ->
      inode->i_rwsem   (acquired)
      copy_to_user ->
      mmap_sem         (try to acquire)
    
    There is a lock ordering created between mmap_sem and inode->i_rwsem
    causing a lockdep splat [2] during a syzcaller test, this patch fixes
    the issue by unlocking the mutex earlier. Functionally that's Ok since
    we don't need to protect vfs_llseek.
    
    [1] https://patchwork.kernel.org/patch/10185031/
    [2] https://lkml.org/lkml/2018/1/10/48
    
    Acked-by: Todd Kjos <tk...@google.com>
    Cc: Arve Hjonnevag <a...@android.com>
    Cc: sta...@vger.kernel.org
    Reported-by: syzbot+8ec30bb7bf1a981a2...@syzkaller.appspotmail.com
    Signed-off-by: Joel Fernandes <joe...@google.com>
    Acked-by: Greg Hackmann <ghackm...@google.com>
    Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit c9e4a51448705db3b5602fc39eec1cdbcfa7d3fe
Author: Oliver Neukum <oneu...@suse.com>
Date:   Tue Mar 6 15:04:24 2018 +0100

    uas: fix comparison for error code
    
    [ Upstream commit 9a513c905bb95bef79d96feb08621c1ec8d8c4bb ]
    
    A typo broke the comparison.
    
    Fixes: cbeef22fd611 ("usb: uas: unconditionally bring back host after 
reset")
    Signed-off-by: Oliver Neukum <oneu...@suse.com>
    CC: sta...@kernel.org
    Acked-by: Hans de Goede <hdego...@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit c3f500c453cca31080d5f95666b72d0656e58d0b
Author: Jonas Danielsson <jo...@orbital-systems.com>
Date:   Mon Jan 29 12:39:15 2018 +0100

    tty/serial: atmel: add new version check for usart
    
    [ Upstream commit fd63a8903a2c40425a9811c3371dd4d0f42c0ad3 ]
    
    On our at91sam9260 based board the usart0 and usart1 ports report
    their versions (ATMEL_US_VERSION) as 0x10302. This version is not
    included in the current checks in the driver.
    
    Signed-off-by: Jonas Danielsson <jo...@orbital-systems.com>
    Acked-by: Richard Genoud <richard.gen...@gmail.com>
    Acked-by: Nicolas Ferre <nicolas.fe...@microchip.com>
    Cc: stable <sta...@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit cbd081ae81bd92e7fe9d0f60c4752e781b43c14a
Author: Ulrich Hecht <ulrich.hecht+rene...@gmail.com>
Date:   Thu Feb 15 13:02:27 2018 +0100

    serial: sh-sci: prevent lockup on full TTY buffers
    
    [ Upstream commit 7842055bfce4bf0170d0f61df8b2add8399697be ]
    
    When the TTY buffers fill up to the configured maximum, a system lockup
    occurs:
    
    [  598.820128] INFO: rcu_preempt detected stalls on CPUs/tasks:
    [  598.825796]  0-...!: (1 GPs behind) idle=5a6/2/0 softirq=1974/1974 fqs=1
    [  598.832577]  (detected by 3, t=62517 jiffies, g=296, c=295, q=126)
    [  598.838755] Task dump for CPU 0:
    [  598.841977] swapper/0       R  running task        0     0      0 
0x00000022
    [  598.849023] Call trace:
    [  598.851476]  __switch_to+0x98/0xb0
    [  598.854870]            (null)
    
    This can be prevented by doing a dummy read of the RX data register.
    
    This issue affects both HSCIF and SCIF ports. Reported for R-Car H3 ES2.0;
    reproduced and fixed on H3 ES1.1. Probably affects other R-Car platforms
    as well.
    
    Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda...@renesas.com>
    Signed-off-by: Ulrich Hecht <ulrich.hecht+rene...@gmail.com>
    Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
    Cc: stable <sta...@vger.kernel.org>
    Tested-by: Nguyen Viet Dung <dung.nguyen...@renesas.com>
    Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit ad395699fb8079d2ae046852b219f4d625cab4dd
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Wed Feb 7 14:20:09 2018 -0800

    x86: Treat R_X86_64_PLT32 as R_X86_64_PC32
    
    [ Upstream commit b21ebf2fb4cde1618915a97cc773e287ff49173e ]
    
    On i386, there are 2 types of PLTs, PIC and non-PIC.  PIE and shared
    objects must use PIC PLT.  To use PIC PLT, you need to load
    _GLOBAL_OFFSET_TABLE_ into EBX first.  There is no need for that on
    x86-64 since x86-64 uses PC-relative PLT.
    
    On x86-64, for 32-bit PC-relative branches, we can generate PLT32
    relocation, instead of PC32 relocation, which can also be used as
    a marker for 32-bit PC-relative branches.  Linker can always reduce
    PLT32 relocation to PC32 if function is defined locally.   Local
    functions should use PC32 relocation.  As far as Linux kernel is
    concerned, R_X86_64_PLT32 can be treated the same as R_X86_64_PC32
    since Linux kernel doesn't use PLT.
    
    R_X86_64_PLT32 for 32-bit PC-relative branches has been enabled in
    binutils master branch which will become binutils 2.31.
    
    [ hjl is working on having better documentation on this all, but a few
      more notes from him:
    
       "PLT32 relocation is used as marker for PC-relative branches. Because
        of EBX, it looks odd to generate PLT32 relocation on i386 when EBX
        doesn't have GOT.
    
        As for symbol resolution, PLT32 and PC32 relocations are almost
        interchangeable. But when linker sees PLT32 relocation against a
        protected symbol, it can resolved locally at link-time since it is
        used on a branch instruction. Linker can't do that for PC32
        relocation"
    
      but for the kernel use, the two are basically the same, and this
      commit gets things building and working with the current binutils
      master   - Linus ]
    
    Signed-off-by: H.J. Lu <hjl.to...@gmail.com>
    Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit d94fe45effd5bab920a712f8a51f984591226eb8
Author: Josh Poimboeuf <jpoim...@redhat.com>
Date:   Fri Nov 3 07:58:54 2017 -0500

    x86/module: Detect and skip invalid relocations
    
    [ Upstream commit eda9cec4c9a12208a6f69fbe68f72a6311d50032 ]
    
    There have been some cases where external tooling (e.g., kpatch-build)
    creates a corrupt relocation which targets the wrong address.  This is a
    silent failure which can corrupt memory in unexpected places.
    
    On x86, the bytes of data being overwritten by relocations are always
    initialized to zero beforehand.  Use that knowledge to add sanity checks
    to detect such cases before they corrupt memory.
    
    Signed-off-by: Josh Poimboeuf <jpoim...@redhat.com>
    Cc: Linus Torvalds <torva...@linux-foundation.org>
    Cc: Peter Zijlstra <pet...@infradead.org>
    Cc: Thomas Gleixner <t...@linutronix.de>
    Cc: j...@kernel.org
    Cc: live-patch...@vger.kernel.org
    Link: 
http://lkml.kernel.org/r/37450d6c6225e54db107fba447ce9e56e5f758e9.1509713553.git.jpoim...@redhat.com
    [ Restructured the messages, as it's unclear whether the relocation or the 
target is corrupted. ]
    Signed-off-by: Ingo Molnar <mi...@kernel.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit e9e966cfa034143a0259cbd7a910ba7a0c016776
Author: Quinn Tran <quinn.t...@cavium.com>
Date:   Mon Dec 4 14:45:10 2017 -0800

    scsi: qla2xxx: Replace fcport alloc with qla2x00_alloc_fcport
    
    [ Upstream commit 063b36d6b0ad74c748d536f5cb47bac2f850a0fa ]
    
    Current code manually allocate an fcport structure that is not properly
    initialize. Replace kzalloc with qla2x00_alloc_fcport, so that all
    fields are initialized.  Also set set scan flag to port found
    
    Cc: <sta...@vger.kernel.org>
    Signed-off-by: Quinn Tran <quinn.t...@cavium.com>
    Signed-off-by: Himanshu Madhani <himanshu.madh...@cavium.com>
    Reviewed-by: Hannes Reinecke <h...@suse.com>
    Signed-off-by: Martin K. Petersen <martin.peter...@oracle.com>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 27ec5b63df0f28ad9d5d11d2accbcdbb5b171233
Author: Clay McClure <c...@daemons.net>
Date:   Thu Sep 21 19:01:34 2017 -0700

    ubi: Fix race condition between ubi volume creation and udev
    
    [ Upstream commit a51a0c8d213594bc094cb8e54aad0cb6d7f7b9a6 ]
    
    Similar to commit 714fb87e8bc0 ("ubi: Fix race condition between ubi
    device creation and udev"), we should make the volume active before
    registering it.
    
    Signed-off-by: Clay McClure <c...@daemons.net>
    Cc: <sta...@vger.kernel.org>
    Signed-off-by: Richard Weinberger <rich...@nod.at>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 214f6efcaa61fc2ec8682aee94aa87938e157fe6
Author: Florian Westphal <f...@strlen.de>
Date:   Mon Feb 19 08:10:17 2018 +0100

    netfilter: ipv6: fix use-after-free Write in nf_nat_ipv6_manip_pkt
    
    [ Upstream commit b078556aecd791b0e5cb3a59f4c3a14273b52121 ]
    
    l4proto->manip_pkt() can cause reallocation of skb head so pointer
    to the ipv6 header must be reloaded.
    
    Reported-and-tested-by: 
<syzbot+10005f4292fc9cc89...@syzkaller.appspotmail.com>
    Fixes: 58a317f1061c89 ("netfilter: ipv6: add IPv6 NAT support")
    Signed-off-by: Florian Westphal <f...@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit b809f906144dc68bcff91ab74da723fddfcd8061
Author: Florian Westphal <f...@strlen.de>
Date:   Mon Feb 19 03:01:45 2018 +0100

    netfilter: bridge: ebt_among: add missing match size checks
    
    [ Upstream commit c4585a2823edf4d1326da44d1524ecbfda26bb37 ]
    
    ebt_among is special, it has a dynamic match size and is exempt
    from the central size checks.
    
    Therefore it must check that the size of the match structure
    provided from userspace is sane by making sure em->match_size
    is at least the minimum size of the expected structure.
    
    The module has such a check, but its only done after accessing
    a structure that might be out of bounds.
    
    tested with: ebtables -A INPUT ... \
    --among-dst fe:fe:fe:fe:fe:fe
    --among-dst fe:fe:fe:fe:fe:fe --among-src 
fe:fe:fe:fe:ff:f,fe:fe:fe:fe:fe:fb,fe:fe:fe:fe:fc:fd,fe:fe:fe:fe:fe:fd,fe:fe:fe:fe:fe:fe
    --among-src 
fe:fe:fe:fe:ff:f,fe:fe:fe:fe:fe:fa,fe:fe:fe:fe:fe:fd,fe:fe:fe:fe:fe:fe,fe:fe:fe:fe:fe:fe
    
    Reported-by: <syzbot+fe0b19af568972814...@syzkaller.appspotmail.com>
    Signed-off-by: Florian Westphal <f...@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 1829a59ba6e8fa6467ea4607cf086b5e2d8d6426
Author: Florian Westphal <f...@strlen.de>
Date:   Mon Feb 19 01:24:15 2018 +0100

    netfilter: ebtables: CONFIG_COMPAT: don't trust userland offsets
    
    [ Upstream commit b71812168571fa55e44cdd0254471331b9c4c4c6 ]
    
    We need to make sure the offsets are not out of range of the
    total size.
    Also check that they are in ascending order.
    
    The WARN_ON triggered by syzkaller (it sets panic_on_warn) is
    changed to also bail out, no point in continuing parsing.
    
    Briefly tested with simple ruleset of
    -A INPUT --limit 1/s' --log
    plus jump to custom chains using 32bit ebtables binary.
    
    Reported-by: <syzbot+845a53d13171abf8b...@syzkaller.appspotmail.com>
    Signed-off-by: Florian Westphal <f...@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit b5cafa9c30968456ad45407d92418cd23c5c4e7c
Author: Eric Dumazet <eduma...@google.com>
Date:   Fri Feb 16 19:36:28 2018 -0800

    netfilter: IDLETIMER: be syzkaller friendly
    
    [ Upstream commit cfc2c740533368b96e2be5e0a4e8c3cace7d9814 ]
    
    We had one report from syzkaller [1]
    
    First issue is that INIT_WORK() should be done before mod_timer()
    or we risk timer being fired too soon, even with a 1 second timer.
    
    Second issue is that we need to reject too big info->timeout
    to avoid overflows in msecs_to_jiffies(info->timeout * 1000), or
    risk looping, if result after overflow is 0.
    
    [1]
    WARNING: CPU: 1 PID: 5129 at kernel/workqueue.c:1444 
__queue_work+0xdf4/0x1230 kernel/workqueue.c:1444
    Kernel panic - not syncing: panic_on_warn set ...
    
    CPU: 1 PID: 5129 Comm: syzkaller159866 Not tainted 4.16.0-rc1+ #230
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS 
Google 01/01/2011
    Call Trace:
     <IRQ>
     __dump_stack lib/dump_stack.c:17 [inline]
     dump_stack+0x194/0x257 lib/dump_stack.c:53
     panic+0x1e4/0x41c kernel/panic.c:183
     __warn+0x1dc/0x200 kernel/panic.c:547
     report_bug+0x211/0x2d0 lib/bug.c:184
     fixup_bug.part.11+0x37/0x80 arch/x86/kernel/traps.c:178
     fixup_bug arch/x86/kernel/traps.c:247 [inline]
     do_error_trap+0x2d7/0x3e0 arch/x86/kernel/traps.c:296
     do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:315
     invalid_op+0x22/0x40 arch/x86/entry/entry_64.S:988
    RIP: 0010:__queue_work+0xdf4/0x1230 kernel/workqueue.c:1444
    RSP: 0018:ffff8801db507538 EFLAGS: 00010006
    RAX: ffff8801aeb46080 RBX: ffff8801db530200 RCX: ffffffff81481404
    RDX: 0000000000000100 RSI: ffffffff86b42640 RDI: 0000000000000082
    RBP: ffff8801db507758 R08: 1ffff1003b6a0de5 R09: 000000000000000c
    R10: ffff8801db5073f0 R11: 0000000000000020 R12: 1ffff1003b6a0eb6
    R13: ffff8801b1067ae0 R14: 00000000000001f8 R15: dffffc0000000000
     queue_work_on+0x16a/0x1c0 kernel/workqueue.c:1488
     queue_work include/linux/workqueue.h:488 [inline]
     schedule_work include/linux/workqueue.h:546 [inline]
     idletimer_tg_expired+0x44/0x60 net/netfilter/xt_IDLETIMER.c:116
     call_timer_fn+0x228/0x820 kernel/time/timer.c:1326
     expire_timers kernel/time/timer.c:1363 [inline]
     __run_timers+0x7ee/0xb70 kernel/time/timer.c:1666
     run_timer_softirq+0x4c/0x70 kernel/time/timer.c:1692
     __do_softirq+0x2d7/0xb85 kernel/softirq.c:285
     invoke_softirq kernel/softirq.c:365 [inline]
     irq_exit+0x1cc/0x200 kernel/softirq.c:405
     exiting_irq arch/x86/include/asm/apic.h:541 [inline]
     smp_apic_timer_interrupt+0x16b/0x700 arch/x86/kernel/apic/apic.c:1052
     apic_timer_interrupt+0xa9/0xb0 arch/x86/entry/entry_64.S:829
     </IRQ>
    RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:777 
[inline]
    RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 
[inline]
    RIP: 0010:_raw_spin_unlock_irqrestore+0x5e/0xba 
kernel/locking/spinlock.c:184
    RSP: 0018:ffff8801c20173c8 EFLAGS: 00000282 ORIG_RAX: ffffffffffffff12
    RAX: dffffc0000000000 RBX: 0000000000000282 RCX: 0000000000000006
    RDX: 1ffffffff0d592cd RSI: 1ffff10035d68d23 RDI: 0000000000000282
    RBP: ffff8801c20173d8 R08: 1ffff10038402e47 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff8820e5c8
    R13: ffff8801b1067ad8 R14: ffff8801aea7c268 R15: ffff8801aea7c278
     __debug_object_init+0x235/0x1040 lib/debugobjects.c:378
     debug_object_init+0x17/0x20 lib/debugobjects.c:391
     __init_work+0x2b/0x60 kernel/workqueue.c:506
     idletimer_tg_create net/netfilter/xt_IDLETIMER.c:152 [inline]
     idletimer_tg_checkentry+0x691/0xb00 net/netfilter/xt_IDLETIMER.c:213
     xt_check_target+0x22c/0x7d0 net/netfilter/x_tables.c:850
     check_target net/ipv6/netfilter/ip6_tables.c:533 [inline]
     find_check_entry.isra.7+0x935/0xcf0 net/ipv6/netfilter/ip6_tables.c:575
     translate_table+0xf52/0x1690 net/ipv6/netfilter/ip6_tables.c:744
     do_replace net/ipv6/netfilter/ip6_tables.c:1160 [inline]
     do_ip6t_set_ctl+0x370/0x5f0 net/ipv6/netfilter/ip6_tables.c:1686
     nf_sockopt net/netfilter/nf_sockopt.c:106 [inline]
     nf_setsockopt+0x67/0xc0 net/netfilter/nf_sockopt.c:115
     ipv6_setsockopt+0x10b/0x130 net/ipv6/ipv6_sockglue.c:927
     udpv6_setsockopt+0x45/0x80 net/ipv6/udp.c:1422
     sock_common_setsockopt+0x95/0xd0 net/core/sock.c:2976
     SYSC_setsockopt net/socket.c:1850 [inline]
     SyS_setsockopt+0x189/0x360 net/socket.c:1829
     do_syscall_64+0x282/0x940 arch/x86/entry/common.c:287
    
    Fixes: 0902b469bd25 ("netfilter: xtables: idletimer target implementation")
    Signed-off-by: Eric Dumazet <eduma...@google.com>
    Reported-by: syzkaller <syzkal...@googlegroups.com>
    Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 3b3cd683ed5cc59e64b241fc9623f87f4b5af83c
Author: Paolo Abeni <pab...@redhat.com>
Date:   Wed Feb 14 17:21:19 2018 +0100

    netfilter: nat: cope with negative port range
    
    [ Upstream commit db57ccf0f2f4624b4c4758379f8165277504fbd7 ]
    
    syzbot reported a division by 0 bug in the netfilter nat code:
    
    divide error: 0000 [#1] SMP KASAN
    Dumping ftrace buffer:
        (ftrace buffer empty)
    Modules linked in:
    CPU: 1 PID: 4168 Comm: syzkaller034710 Not tainted 4.16.0-rc1+ #309
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
    Google 01/01/2011
    RIP: 0010:nf_nat_l4proto_unique_tuple+0x291/0x530
    net/netfilter/nf_nat_proto_common.c:88
    RSP: 0018:ffff8801b2466778 EFLAGS: 00010246
    RAX: 000000000000f153 RBX: ffff8801b2466dd8 RCX: ffff8801b2466c7c
    RDX: 0000000000000000 RSI: ffff8801b2466c58 RDI: ffff8801db5293ac
    RBP: ffff8801b24667d8 R08: ffff8801b8ba6dc0 R09: ffffffff88af5900
    R10: ffff8801b24666f0 R11: 0000000000000000 R12: 000000002990f153
    R13: 0000000000000001 R14: 0000000000000000 R15: ffff8801b2466c7c
    FS:  00000000017e3880(0000) GS:ffff8801db500000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00000000208fdfe4 CR3: 00000001b5340002 CR4: 00000000001606e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:
      dccp_unique_tuple+0x40/0x50 net/netfilter/nf_nat_proto_dccp.c:30
      get_unique_tuple+0xc28/0x1c10 net/netfilter/nf_nat_core.c:362
      nf_nat_setup_info+0x1c2/0xe00 net/netfilter/nf_nat_core.c:406
      nf_nat_redirect_ipv6+0x306/0x730 net/netfilter/nf_nat_redirect.c:124
      redirect_tg6+0x7f/0xb0 net/netfilter/xt_REDIRECT.c:34
      ip6t_do_table+0xc2a/0x1a30 net/ipv6/netfilter/ip6_tables.c:365
      ip6table_nat_do_chain+0x65/0x80 net/ipv6/netfilter/ip6table_nat.c:41
      nf_nat_ipv6_fn+0x594/0xa80 net/ipv6/netfilter/nf_nat_l3proto_ipv6.c:302
      nf_nat_ipv6_local_fn+0x33/0x5d0
    net/ipv6/netfilter/nf_nat_l3proto_ipv6.c:407
      ip6table_nat_local_fn+0x2c/0x40 net/ipv6/netfilter/ip6table_nat.c:69
      nf_hook_entry_hookfn include/linux/netfilter.h:120 [inline]
      nf_hook_slow+0xba/0x1a0 net/netfilter/core.c:483
      nf_hook include/linux/netfilter.h:243 [inline]
      NF_HOOK include/linux/netfilter.h:286 [inline]
      ip6_xmit+0x10ec/0x2260 net/ipv6/ip6_output.c:277
      inet6_csk_xmit+0x2fc/0x580 net/ipv6/inet6_connection_sock.c:139
      dccp_transmit_skb+0x9ac/0x10f0 net/dccp/output.c:142
      dccp_connect+0x369/0x670 net/dccp/output.c:564
      dccp_v6_connect+0xe17/0x1bf0 net/dccp/ipv6.c:946
      __inet_stream_connect+0x2d4/0xf00 net/ipv4/af_inet.c:620
      inet_stream_connect+0x58/0xa0 net/ipv4/af_inet.c:684
      SYSC_connect+0x213/0x4a0 net/socket.c:1639
      SyS_connect+0x24/0x30 net/socket.c:1620
      do_syscall_64+0x282/0x940 arch/x86/entry/common.c:287
      entry_SYSCALL_64_after_hwframe+0x26/0x9b
    RIP: 0033:0x441c69
    RSP: 002b:00007ffe50cc0be8 EFLAGS: 00000217 ORIG_RAX: 000000000000002a
    RAX: ffffffffffffffda RBX: ffffffffffffffff RCX: 0000000000441c69
    RDX: 000000000000001c RSI: 00000000208fdfe4 RDI: 0000000000000003
    RBP: 00000000006cc018 R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000538 R11: 0000000000000217 R12: 0000000000403590
    R13: 0000000000403620 R14: 0000000000000000 R15: 0000000000000000
    Code: 48 89 f0 83 e0 07 83 c0 01 38 d0 7c 08 84 d2 0f 85 46 02 00 00 48 8b
    45 c8 44 0f b7 20 e8 88 97 04 fd 31 d2 41 0f b7 c4 4c 89 f9 <41> f7 f6 48
    c1 e9 03 48 b8 00 00 00 00 00 fc ff df 0f b6 0c 01
    RIP: nf_nat_l4proto_unique_tuple+0x291/0x530
    net/netfilter/nf_nat_proto_common.c:88 RSP: ffff8801b2466778
    
    The problem is that currently we don't have any check on the
    configured port range. A port range == -1 triggers the bug, while
    other negative values may require a very long time to complete the
    following loop.
    
    This commit addresses the issue swapping the two ends on negative
    ranges. The check is performed in nf_nat_l4proto_unique_tuple() since
    the nft nat loads the port values from nft registers at runtime.
    
    v1 -> v2: use the correct 'Fixes' tag
    v2 -> v3: update commit message, drop unneeded READ_ONCE()
    
    Fixes: 5b1158e909ec ("[NETFILTER]: Add NAT support for nf_conntrack")
    Reported-by: syzbot+8012e198bd037f487...@syzkaller.appspotmail.com
    Signed-off-by: Paolo Abeni <pab...@redhat.com>
    Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit f47abc8f5377ae3abf247f34ff4cf478f60ad2b4
Author: Paolo Abeni <pab...@redhat.com>
Date:   Mon Feb 12 18:49:39 2018 +0100

    netfilter: x_tables: fix missing timer initialization in xt_LED
    
    [ Upstream commit 10414014bc085aac9f787a5890b33b5605fbcfc4 ]
    
    syzbot reported that xt_LED may try to use the ledinternal->timer
    without previously initializing it:
    
    ------------[ cut here ]------------
    kernel BUG at kernel/time/timer.c:958!
    invalid opcode: 0000 [#1] SMP KASAN
    Dumping ftrace buffer:
        (ftrace buffer empty)
    Modules linked in:
    CPU: 1 PID: 1826 Comm: kworker/1:2 Not tainted 4.15.0+ #306
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
    Google 01/01/2011
    Workqueue: ipv6_addrconf addrconf_dad_work
    RIP: 0010:__mod_timer kernel/time/timer.c:958 [inline]
    RIP: 0010:mod_timer+0x7d6/0x13c0 kernel/time/timer.c:1102
    RSP: 0018:ffff8801d24fe9f8 EFLAGS: 00010293
    RAX: ffff8801d25246c0 RBX: ffff8801aec6cb50 RCX: ffffffff816052c6
    RDX: 0000000000000000 RSI: 00000000fffbd14b RDI: ffff8801aec6cb68
    RBP: ffff8801d24fec98 R08: 0000000000000000 R09: 1ffff1003a49fd6c
    R10: ffff8801d24feb28 R11: 0000000000000005 R12: dffffc0000000000
    R13: ffff8801d24fec70 R14: 00000000fffbd14b R15: ffff8801af608f90
    FS:  0000000000000000(0000) GS:ffff8801db500000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00000000206d6fd0 CR3: 0000000006a22001 CR4: 00000000001606e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:
      led_tg+0x1db/0x2e0 net/netfilter/xt_LED.c:75
      ip6t_do_table+0xc2a/0x1a30 net/ipv6/netfilter/ip6_tables.c:365
      ip6table_raw_hook+0x65/0x80 net/ipv6/netfilter/ip6table_raw.c:42
      nf_hook_entry_hookfn include/linux/netfilter.h:120 [inline]
      nf_hook_slow+0xba/0x1a0 net/netfilter/core.c:483
      nf_hook.constprop.27+0x3f6/0x830 include/linux/netfilter.h:243
      NF_HOOK include/linux/netfilter.h:286 [inline]
      ndisc_send_skb+0xa51/0x1370 net/ipv6/ndisc.c:491
      ndisc_send_ns+0x38a/0x870 net/ipv6/ndisc.c:633
      addrconf_dad_work+0xb9e/0x1320 net/ipv6/addrconf.c:4008
      process_one_work+0xbbf/0x1af0 kernel/workqueue.c:2113
      worker_thread+0x223/0x1990 kernel/workqueue.c:2247
      kthread+0x33c/0x400 kernel/kthread.c:238
      ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:429
    Code: 85 2a 0b 00 00 4d 8b 3c 24 4d 85 ff 75 9f 4c 8b bd 60 fd ff ff e8 bb
    57 10 00 65 ff 0d 94 9a a1 7e e9 d9 fc ff ff e8 aa 57 10 00 <0f> 0b e8 a3
    57 10 00 e9 14 fb ff ff e8 99 57 10 00 4c 89 bd 70
    RIP: __mod_timer kernel/time/timer.c:958 [inline] RSP: ffff8801d24fe9f8
    RIP: mod_timer+0x7d6/0x13c0 kernel/time/timer.c:1102 RSP: ffff8801d24fe9f8
    ---[ end trace f661ab06f5dd8b3d ]---
    
    The ledinternal struct can be shared between several different
    xt_LED targets, but the related timer is currently initialized only
    if the first target requires it. Fix it by unconditionally
    initializing the timer struct.
    
    v1 -> v2: call del_timer_sync() unconditionally, too.
    
    Fixes: 268cb38e1802 ("netfilter: x_tables: add LED trigger target")
    Reported-by: syzbot+10c98dc5725c6c8fc...@syzkaller.appspotmail.com
    Signed-off-by: Paolo Abeni <pab...@redhat.com>
    Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
    
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit d60591c4ecb4881b0ed8207b1c300086e6d070b7
Author: Dmitry Torokhov <dmitry.torok...@gmail.com>
Date:   Mon Feb 13 15:45:59 2017 -0800

    Input: tca8418_keypad - remove double read of key event register
    
    [ Upstream commit 9dd46c02532a6bed6240101ecf4bbc407f8c6adf ]
    
    There is no need to tread the same register twice in a row.
    
    Fixes: ea4348c8462a ("Input: tca8418_keypad - hide gcc-4.9 -Wmaybe-un ...")
    Signed-off-by: Dmitry Torokhov <dmitry.torok...@gmail.com>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 8ccc19c2be1dcbcf049eaf2435213df862a687cf
Author: Arnd Bergmann <a...@arndb.de>
Date:   Wed Dec 6 14:17:17 2017 +0100

    ARM: omap2: hide omap3_save_secure_ram on non-OMAP3 builds
    
    [ Upstream commit 863204cfdae98626a92535ac928ad79f4d6b74ff ]
    
    In configurations without CONFIG_OMAP3 but with secure RAM support,
    we now run into a link failure:
    
    arch/arm/mach-omap2/omap-secure.o: In function `omap3_save_secure_ram':
    omap-secure.c:(.text+0x130): undefined reference to 
`save_secure_ram_context'
    
    The omap3_save_secure_ram() function is only called from the OMAP34xx
    power management code, so we can simply hide that function in the
    appropriate #ifdef.
    
    Fixes: d09220a887f7 ("ARM: OMAP2+: Fix SRAM virt to phys translation for 
save_secure_ram_context")
    Acked-by: Tony Lindgren <t...@atomide.com>
    Tested-by: Dan Murphy <dmur...@ti.com>
    Signed-off-by: Arnd Bergmann <a...@arndb.de>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 41f9f2536b35b6e70d1f968d83f06b5c2ec87700
Author: Arnd Bergmann <a...@arndb.de>
Date:   Wed Dec 6 22:02:37 2017 +0100

    watchdog: hpwdt: fix unused variable warning
    
    [ Upstream commit aeebc6ba88ba3758ad95467ff6191fabf2074c13 ]
    
    The new hpwdt_my_nmi() function is used conditionally, which produces
    a harmless warning in some configurations:
    
    drivers/watchdog/hpwdt.c:478:12: error: 'hpwdt_my_nmi' defined but not used 
[-Werror=unused-function]
    
    This moves it inside of the #ifdef that protects its caller, to silence
    the warning.
    
    Fixes: 621174a92851 ("watchdog: hpwdt: Check source of NMI")
    Signed-off-by: Arnd Bergmann <a...@arndb.de>
    Reviewed-by: Jerry Hoemann <jerry.hoem...@hpe.com>
    Reviewed-by: Guenter Roeck <li...@roeck-us.net>
    Signed-off-by: Guenter Roeck <li...@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <w...@iguana.be>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit ad0276f98ccd3021c2031076868d723fa318268c
Author: Jerry Hoemann <jerry.hoem...@hpe.com>
Date:   Mon Oct 23 16:46:17 2017 -0600

    watchdog: hpwdt: Check source of NMI
    
    [ Upstream commit 838534e50e2e5c1e644e30ab6cb28da88eb31368 ]
    
    Do not claim the NMI (i.e. return NMI_DONE) if the source of
    the NMI isn't the iLO watchdog or debug.
    
    Signed-off-by: Jerry Hoemann <jerry.hoem...@hpe.com>
    Reviewed-by: Guenter Roeck <li...@roeck-us.net>
    Signed-off-by: Guenter Roeck <li...@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <w...@iguana.be>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 7762606087faf75a578453682be5d18e76e173ca
Author: Jerry Hoemann <jerry.hoem...@hpe.com>
Date:   Mon Oct 23 16:46:16 2017 -0600

    watchdog: hpwdt: SMBIOS check
    
    [ Upstream commit c42cbe41727a138905a28f8e0b00c147be77ee93 ]
    
    This corrects:
    commit cce78da76601 ("watchdog: hpwdt: Add check for UEFI bits")
    
    The test on HPE SMBIOS extension type 219 record "Misc Features"
    bits for UEFI support is incorrect.  The definition of the Misc Features
    bits in the HPE SMBIOS OEM Extensions specification (and related
    firmware) was changed to use a different pair of bits to
    represent UEFI supported.  Howerver, a corresponding change
    to Linux was missed.
    
    Current code/platform work because the iCRU test is working.
    But purpose of cce78da766 is to ensure correct functionality
    on future systems where iCRU isn't supported.
    
    Signed-off-by: Jerry Hoemann <jerry.hoem...@hpe.com>
    Reviewed-by: Guenter Roeck <li...@roeck-us.net>
    Signed-off-by: Guenter Roeck <li...@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <w...@iguana.be>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 173cadebc5067dc67328505a072feed867cb79e2
Author: Dan Williams <dan.j.willi...@intel.com>
Date:   Fri Feb 16 13:20:54 2018 -0800

    nospec: Include <asm/barrier.h> dependency
    
    [ Upstream commit eb6174f6d1be16b19cfa43dac296bfed003ce1a6 ]
    
    The nospec.h header expects the per-architecture header file
    <asm/barrier.h> to optionally define array_index_mask_nospec(). Include
    that dependency to prevent inadvertent fallback to the default
    array_index_mask_nospec() implementation.
    
    The default implementation may not provide a full mitigation
    on architectures that perform data value speculation.
    
    Reported-by: Christian Borntraeger <borntrae...@de.ibm.com>
    Signed-off-by: Dan Williams <dan.j.willi...@intel.com>
    Cc: Andy Lutomirski <l...@kernel.org>
    Cc: Arjan van de Ven <ar...@linux.intel.com>
    Cc: Borislav Petkov <b...@alien8.de>
    Cc: Dave Hansen <dave.han...@linux.intel.com>
    Cc: David Woodhouse <dw...@infradead.org>
    Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
    Cc: Josh Poimboeuf <jpoim...@redhat.com>
    Cc: Linus Torvalds <torva...@linux-foundation.org>
    Cc: Peter Zijlstra <pet...@infradead.org>
    Cc: Thomas Gleixner <t...@linutronix.de>
    Cc: Will Deacon <will.dea...@arm.com>
    Cc: linux-a...@vger.kernel.org
    Link: 
http://lkml.kernel.org/r/151881605404.17395.1341935530792574707.st...@dwillia2-desk3.amr.corp.intel.com
    Signed-off-by: Ingo Molnar <mi...@kernel.org>
    Signed-off-by: Sasha Levin <alexander.le...@microsoft.com>

commit 0bbe623302abae2bf88baac4fd1888d87bbb6ef7
Author: Takashi Iwai <ti...@suse.de>
Date:   Mon Mar 5 22:06:09 2018 +0100


diff --git a/Documentation/arm64/tagged-pointers.txt 
b/Documentation/arm64/tagged-pointers.txt
index d9995f1..a25a99e 100644
--- a/Documentation/arm64/tagged-pointers.txt
+++ b/Documentation/arm64/tagged-pointers.txt
@@ -11,24 +11,56 @@ in AArch64 Linux.
 The kernel configures the translation tables so that translations made
 via TTBR0 (i.e. userspace mappings) have the top byte (bits 63:56) of
 the virtual address ignored by the translation hardware. This frees up
-this byte for application use, with the following caveats:
+this byte for application use.
 
-       (1) The kernel requires that all user addresses passed to EL1
-           are tagged with tag 0x00. This means that any syscall
-           parameters containing user virtual addresses *must* have
-           their top byte cleared before trapping to the kernel.
 
-       (2) Non-zero tags are not preserved when delivering signals.
-           This means that signal handlers in applications making use
-           of tags cannot rely on the tag information for user virtual
-           addresses being maintained for fields inside siginfo_t.
-           One exception to this rule is for signals raised in response
-           to watchpoint debug exceptions, where the tag information
-           will be preserved.
+Passing tagged addresses to the kernel
+--------------------------------------
 
-       (3) Special care should be taken when using tagged pointers,
-           since it is likely that C compilers will not hazard two
-           virtual addresses differing only in the upper byte.
+All interpretation of userspace memory addresses by the kernel assumes
+an address tag of 0x00.
+
+This includes, but is not limited to, addresses found in:
+
+ - pointer arguments to system calls, including pointers in structures
+   passed to system calls,
+
+ - the stack pointer (sp), e.g. when interpreting it to deliver a
+   signal,
+
+ - the frame pointer (x29) and frame records, e.g. when interpreting
+   them to generate a backtrace or call graph.
+
+Using non-zero address tags in any of these locations may result in an
+error code being returned, a (fatal) signal being raised, or other modes
+of failure.
+
+For these reasons, passing non-zero address tags to the kernel via
+system calls is forbidden, and using a non-zero address tag for sp is
+strongly discouraged.
+
+Programs maintaining a frame pointer and frame records that use non-zero
+address tags may suffer impaired or inaccurate debug and profiling
+visibility.
+
+
+Preserving tags
+---------------
+
+Non-zero tags are not preserved when delivering signals. This means that
+signal handlers in applications making use of tags cannot rely on the
+tag information for user virtual addresses being maintained for fields
+inside siginfo_t. One exception to this rule is for signals raised in
+response to watchpoint debug exceptions, where the tag information will
+be preserved.
 
 The architecture prevents the use of a tagged PC, so the upper byte will
 be set to a sign-extension of bit 55 on exception return.
+
+
+Other considerations
+--------------------
+
+Special care should be taken when using tagged pointers, since it is
+likely that C compilers will not hazard two virtual addresses differing
+only in the upper byte.
diff --git a/Documentation/devicetree/bindings/display/bridge/ti,ths8135.txt 
b/Documentation/devicetree/bindings/display/bridge/ti,ths8135.txt
new file mode 100644
index 0000000..6ec1a88
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/ti,ths8135.txt
@@ -0,0 +1,46 @@
+THS8135 Video DAC
+-----------------
+
+This is the binding for Texas Instruments THS8135 Video DAC bridge.
+
+Required properties:
+
+- compatible: Must be "ti,ths8135"
+
+Required nodes:
+
+This device has two video ports. Their connections are modelled using the OF
+graph bindings specified in Documentation/devicetree/bindings/graph.txt.
+
+- Video port 0 for RGB input
+- Video port 1 for VGA output
+
+Example
+-------
+
+vga-bridge {
+       compatible = "ti,ths8135";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       reg = <0>;
+
+                       vga_bridge_in: endpoint {
+                               remote-endpoint = <&lcdc_out_vga>;
+                       };
+               };
+
+               port@1 {
+                       reg = <1>;
+
+                       vga_bridge_out: endpoint {
+                               remote-endpoint = <&vga_con_in>;
+                       };
+               };
+       };
+};
diff --git a/Documentation/devicetree/bindings/dma/snps-dma.txt 
b/Documentation/devicetree/bindings/dma/snps-dma.txt
index c261598..17d43ca 100644
--- a/Documentation/devicetree/bindings/dma/snps-dma.txt
+++ b/Documentation/devicetree/bindings/dma/snps-dma.txt
@@ -58,6 +58,6 @@ Example:
                interrupts = <0 35 0x4>;
                status = "disabled";
                dmas = <&dmahost 12 0 1>,
-                       <&dmahost 13 0 1 0>;
+                       <&dmahost 13 1 0>;
                dma-names = "rx", "rx";
        };
diff --git a/Documentation/devicetree/bindings/iio/adc/avia-hx711.txt 
b/Documentation/devicetree/bindings/iio/adc/avia-hx711.txt
new file mode 100644
index 0000000..b362940
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/avia-hx711.txt
@@ -0,0 +1,18 @@
+* AVIA HX711 ADC chip for weight cells
+  Bit-banging driver
+
+Required properties:
+ - compatible: Should be "avia,hx711"
+ - sck-gpios:  Definition of the GPIO for the clock
+ - dout-gpios: Definition of the GPIO for data-out
+               See Documentation/devicetree/bindings/gpio/gpio.txt
+ - avdd-supply:        Definition of the regulator used as analog supply
+
+Example:
+weight@0 {
+       compatible = "avia,hx711";
+       sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;
+       dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+       avdd-suppy = <&avdd>;
+};
+
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt 
b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 8033919..6a7fa61 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -31,6 +31,7 @@ asahi-kasei   Asahi Kasei Corp.
 atmel  Atmel Corporation
 auo    AU Optronics Corporation
 avago  Avago Technologies
+avia   avia semiconductor
 avic   Shanghai AVIC Optoelectronics Co., Ltd.
 axis   Axis Communications AB
 bosch  Bosch Sensortec GmbH
diff --git a/Documentation/filesystems/ext4.txt 
b/Documentation/filesystems/ext4.txt
index 6c0108e..2139ea2 100644
--- a/Documentation/filesystems/ext4.txt
+++ b/Documentation/filesystems/ext4.txt
@@ -233,7 +233,7 @@ data_err=ignore(*)  Just print an error message if an error 
occurs
 data_err=abort         Abort the journal if an error occurs in a file
                        data buffer in ordered mode.
 
-grpid                  Give objects the same group ID as their creator.
+grpid                  New objects have the group ID of their parent.
 bsdgroups
 
 nogrpid                (*)     New objects have the group ID of their creator.
diff --git a/Documentation/kernel-parameters.txt 
b/Documentation/kernel-parameters.txt
index 7bcd7a2..19e9f2e 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1200,6 +1200,10 @@ bytes respectively. Such letter suffixes can also be 
entirely omitted.
                        When zero, profiling data is discarded and associated
                        debugfs files are removed at module unload time.
 
+       goldfish        [X86] Enable the goldfish android emulator platform.
+                       Don't use this when you are not running on the
+                       android emulator
+
        gpt             [EFI] Forces disk with valid GPT signature but
                        invalid Protective MBR to be treated as GPT. If the
                        primary GPT is corrupted, it enables the 
backup/alternate
@@ -2431,6 +2435,8 @@ bytes respectively. Such letter suffixes can also be 
entirely omitted.
 
        nointroute      [IA-64]
 
+       noinvpcid       [X86] Disable the INVPCID cpu feature.
+
        nojitter        [IA-64] Disables jitter checking for ITC timers.
 
        no-kvmclock     [X86,KVM] Disable paravirtualized KVM clock driver
@@ -2465,11 +2471,11 @@ bytes respectively. Such letter suffixes can also be 
entirely omitted.
        nopat           [X86] Disable PAT (page attribute table extension of
                        pagetables) support.
 
+       nopcid          [X86-64] Disable the PCID cpu feature.
+
        norandmaps      Don't use address space randomization.  Equivalent to
                        echo 0 > /proc/sys/kernel/randomize_va_space
 
-       noreplace-paravirt      [X86,IA-64,PV_OPS] Don't patch paravirt_ops
-
        noreplace-smp   [X86-32,SMP] Don't replace SMP instructions
                        with UP alternatives
 
@@ -3449,6 +3455,13 @@ bytes respectively. Such letter suffixes can also be 
entirely omitted.
        spia_pedr=
        spia_peddr=
 
+       stack_guard_gap=        [MM]
+                       override the default stack gap protection. The value
+                       is in page units and it defines how many pages prior
+                       to (for stacks growing down) resp. after (for stacks
+                       growing up) the main stack are reserved for no other
+                       mapping. Default value is 256 pages.
+
        stacktrace      [FTRACE]
                        Enabled the stack tracer on boot up.
 
diff --git a/Documentation/speculation.txt b/Documentation/speculation.txt
new file mode 100644
index 0000000..e9e6cba
--- /dev/null
+++ b/Documentation/speculation.txt
@@ -0,0 +1,90 @@
+This document explains potential effects of speculation, and how undesirable
+effects can be mitigated portably using common APIs.
+
+===========
+Speculation
+===========
+
+To improve performance and minimize average latencies, many contemporary CPUs
+employ speculative execution techniques such as branch prediction, performing
+work which may be discarded at a later stage.
+
+Typically speculative execution cannot be observed from architectural state,
+such as the contents of registers. However, in some cases it is possible to
+observe its impact on microarchitectural state, such as the presence or
+absence of data in caches. Such state may form side-channels which can be
+observed to extract secret information.
+
+For example, in the presence of branch prediction, it is possible for bounds
+checks to be ignored by code which is speculatively executed. Consider the
+following code:
+
+       int load_array(int *array, unsigned int index)
+       {
+               if (index >= MAX_ARRAY_ELEMS)
+                       return 0;
+               else
+                       return array[index];
+       }
+
+Which, on arm64, may be compiled to an assembly sequence such as:
+
+       CMP     <index>, #MAX_ARRAY_ELEMS
+       B.LT    less
+       MOV     <returnval>, #0
+       RET
+  less:
+       LDR     <returnval>, [<array>, <index>]
+       RET
+
+It is possible that a CPU mis-predicts the conditional branch, and
+speculatively loads array[index], even if index >= MAX_ARRAY_ELEMS. This
+value will subsequently be discarded, but the speculated load may affect
+microarchitectural state which can be subsequently measured.
+
+More complex sequences involving multiple dependent memory accesses may
+result in sensitive information being leaked. Consider the following
+code, building on the prior example:
+
+       int load_dependent_arrays(int *arr1, int *arr2, int index)
+       {
+               int val1, val2,
+
+               val1 = load_array(arr1, index);
+               val2 = load_array(arr2, val1);
+
+               return val2;
+       }
+
+Under speculation, the first call to load_array() may return the value
+of an out-of-bounds address, while the second call will influence
+microarchitectural state dependent on this value. This may provide an
+arbitrary read primitive.
+
+====================================
+Mitigating speculation side-channels
+====================================
+
+The kernel provides a generic API to ensure that bounds checks are
+respected even under speculation. Architectures which are affected by
+speculation-based side-channels are expected to implement these
+primitives.
+
+The array_index_nospec() helper in <linux/nospec.h> can be used to
+prevent information from being leaked via side-channels.
+
+A call to array_index_nospec(index, size) returns a sanitized index
+value that is bounded to [0, size) even under cpu speculation
+conditions.
+
+This can be used to protect the earlier load_array() example:
+
+       int load_array(int *array, unsigned int index)
+       {
+               if (index >= MAX_ARRAY_ELEMS)
+                       return 0;
+               else {
+                       index = array_index_nospec(index, MAX_ARRAY_ELEMS);
+                       return array[index];
+               }
+       }
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt
index c831001..4c88aa0 100644
--- a/Documentation/sysctl/kernel.txt
+++ b/Documentation/sysctl/kernel.txt
@@ -798,14 +798,13 @@ via the /proc/sys interface:
        Each write syscall must fully contain the sysctl value to be
        written, and multiple writes on the same sysctl file descriptor
        will rewrite the sysctl value, regardless of file position.
-   0 - (default) Same behavior as above, but warn about processes that
-       perform writes to a sysctl file descriptor when the file position
-       is not 0.
-   1 - Respect file position when writing sysctl strings. Multiple writes
-       will append to the sysctl value buffer. Anything past the max length
-       of the sysctl value buffer will be ignored. Writes to numeric sysctl
-       entries must always be at file position 0 and the value must be
-       fully contained in the buffer sent in the write syscall.
+   0 - Same behavior as above, but warn about processes that perform writes
+       to a sysctl file descriptor when the file position is not 0.
+   1 - (default) Respect file position when writing sysctl strings. Multiple
+       writes will append to the sysctl value buffer. Anything past the max
+       length of the sysctl value buffer will be ignored. Writes to numeric
+       sysctl entries must always be at file position 0 and the value must
+       be fully contained in the buffer sent in the write syscall.
 
 ==============================================================
 
diff --git a/Makefile b/Makefile
index 1aba535..caccc6f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 VERSION = 4
 PATCHLEVEL = 1
-SUBLEVEL = 38
+SUBLEVEL = 51
 EXTRAVERSION =
 NAME = Series 4800
 
@@ -612,6 +612,10 @@ include arch/$(SRCARCH)/Makefile
 KBUILD_CFLAGS  += $(call cc-option,-fno-delete-null-pointer-checks,)
 KBUILD_CFLAGS  += $(call cc-option,-fno-PIE)
 KBUILD_AFLAGS  += $(call cc-option,-fno-PIE)
+KBUILD_CFLAGS  += $(call cc-disable-warning,frame-address,)
+KBUILD_CFLAGS  += $(call cc-disable-warning, format-truncation)
+KBUILD_CFLAGS  += $(call cc-disable-warning, format-overflow)
+KBUILD_CFLAGS  += $(call cc-disable-warning, int-in-bool-context)
 
 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
 KBUILD_CFLAGS  += -Os $(call cc-disable-warning,maybe-uninitialized,)
@@ -622,6 +626,12 @@ endif
 # Tell gcc to never replace conditional load with a non-conditional one
 KBUILD_CFLAGS  += $(call cc-option,--param=allow-store-data-races=0)
 
+# check for 'asm goto'
+ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) 
$(KBUILD_CFLAGS)), y)
+       KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
+       KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
+endif
+
 ifdef CONFIG_READABLE_ASM
 # Disable optimizations that make assembler listings hard to read.
 # reorder blocks reorders the control in the function
@@ -762,6 +772,9 @@ KBUILD_CFLAGS += $(call cc-disable-warning, pointer-sign)
 # disable invalid "can't wrap" optimizations for signed / pointers
 KBUILD_CFLAGS  += $(call cc-option,-fno-strict-overflow)
 
+# Make sure -fstack-check isn't enabled (like gentoo apparently did)
+KBUILD_CFLAGS  += $(call cc-option,-fno-stack-check,)
+
 # conserve stack if available
 KBUILD_CFLAGS   += $(call cc-option,-fconserve-stack)
 
@@ -777,12 +790,6 @@ KBUILD_CFLAGS   += $(call cc-option,-Werror=date-time)
 # use the deterministic mode of AR if available
 KBUILD_ARFLAGS := $(call ar-option,D)
 
-# check for 'asm goto'
-ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y)
-       KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
-       KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
-endif
-
 include scripts/Makefile.kasan
 include scripts/Makefile.extrawarn
 
diff --git a/arch/alpha/include/asm/mmu_context.h 
b/arch/alpha/include/asm/mmu_context.h
index 4c51c053..4cafffa 100644
--- a/arch/alpha/include/asm/mmu_context.h
+++ b/arch/alpha/include/asm/mmu_context.h
@@ -7,6 +7,7 @@
  * Copyright (C) 1996, Linus Torvalds
  */
 
+#include <linux/sched.h>
 #include <asm/machvec.h>
 #include <asm/compiler.h>
 #include <asm-generic/mm_hooks.h>
diff --git a/arch/alpha/include/asm/types.h b/arch/alpha/include/asm/types.h
index 4cb4b6d..0bc66e1 100644
--- a/arch/alpha/include/asm/types.h
+++ b/arch/alpha/include/asm/types.h
@@ -1,6 +1,6 @@
 #ifndef _ALPHA_TYPES_H
 #define _ALPHA_TYPES_H
 
-#include <asm-generic/int-ll64.h>
+#include <uapi/asm/types.h>
 
 #endif /* _ALPHA_TYPES_H */
diff --git a/arch/alpha/include/uapi/asm/types.h 
b/arch/alpha/include/uapi/asm/types.h
index 9fd3cd4..8d1024d 100644
--- a/arch/alpha/include/uapi/asm/types.h
+++ b/arch/alpha/include/uapi/asm/types.h
@@ -9,8 +9,18 @@
  * need to be careful to avoid a name clashes.
  */
 
-#ifndef __KERNEL__
+/*
+ * This is here because we used to use l64 for alpha
+ * and we don't want to impact user mode with our change to ll64
+ * in the kernel.
+ *
+ * However, some user programs are fine with this.  They can
+ * flag __SANE_USERSPACE_TYPES__ to get int-ll64.h here.
+ */
+#if !defined(__SANE_USERSPACE_TYPES__) && !defined(__KERNEL__)
 #include <asm-generic/int-l64.h>
+#else
+#include <asm-generic/int-ll64.h>
 #endif
 
 #endif /* _UAPI_ALPHA_TYPES_H */
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c
index 36dc91a..138782e 100644
--- a/arch/alpha/kernel/osf_sys.c
+++ b/arch/alpha/kernel/osf_sys.c
@@ -1183,8 +1183,10 @@ SYSCALL_DEFINE4(osf_wait4, pid_t, pid, int __user *, 
ustatus, int, options,
        if (!access_ok(VERIFY_WRITE, ur, sizeof(*ur)))
                return -EFAULT;
 
-       err = 0;
-       err |= put_user(status, ustatus);
+       err = put_user(status, ustatus);
+       if (ret < 0)
+               return err ? err : ret;
+
        err |= __put_user(r.ru_utime.tv_sec, &ur->ru_utime.tv_sec);
        err |= __put_user(r.ru_utime.tv_usec, &ur->ru_utime.tv_usec);
        err |= __put_user(r.ru_stime.tv_sec, &ur->ru_stime.tv_sec);
diff --git a/arch/alpha/kernel/pci_impl.h b/arch/alpha/kernel/pci_impl.h
index 2b0ac42..412bb3c 100644
--- a/arch/alpha/kernel/pci_impl.h
+++ b/arch/alpha/kernel/pci_impl.h
@@ -143,7 +143,8 @@ struct pci_iommu_arena
 };
 
 #if defined(CONFIG_ALPHA_SRM) && \
-    (defined(CONFIG_ALPHA_CIA) || defined(CONFIG_ALPHA_LCA))
+    (defined(CONFIG_ALPHA_CIA) || defined(CONFIG_ALPHA_LCA) || \
+     defined(CONFIG_ALPHA_AVANTI))
 # define NEED_SRM_SAVE_RESTORE
 #else
 # undef NEED_SRM_SAVE_RESTORE
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c
index 84d1326..8095fb2 100644
--- a/arch/alpha/kernel/process.c
+++ b/arch/alpha/kernel/process.c
@@ -273,12 +273,13 @@ copy_thread(unsigned long clone_flags, unsigned long usp,
           application calling fork.  */
        if (clone_flags & CLONE_SETTLS)
                childti->pcb.unique = regs->r20;
+       else
+               regs->r20 = 0;  /* OSF/1 has some strange fork() semantics.  */
        childti->pcb.usp = usp ?: rdusp();
        *childregs = *regs;
        childregs->r0 = 0;
        childregs->r19 = 0;
        childregs->r20 = 1;     /* OSF/1 has some strange fork() semantics.  */
-       regs->r20 = 0;
        stack = ((struct switch_stack *) regs) - 1;
        *childstack = *stack;
        childstack->r26 = (unsigned long) ret_from_fork;
diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S
index d868289..da600d8 100644
--- a/arch/arc/kernel/entry.S
+++ b/arch/arc/kernel/entry.S
@@ -315,6 +315,12 @@ ENTRY(EV_MachineCheck)
        lr  r0, [efa]
        mov r1, sp
 
+       ; hardware auto-disables MMU, re-enable it to allow kernel vaddr
+       ; access for say stack unwinding of modules for crash dumps
+       lr      r3, [ARC_REG_PID]
+       or      r3, r3, MMU_ENABLE
+       sr      r3, [ARC_REG_PID]
+
        lsr     r3, r2, 8
        bmsk    r3, r3, 7
        brne    r3, ECR_C_MCHK_DUP_TLB, 1f
diff --git a/arch/arc/kernel/unaligned.c b/arch/arc/kernel/unaligned.c
index 74db59b..86970ee 100644
--- a/arch/arc/kernel/unaligned.c
+++ b/arch/arc/kernel/unaligned.c
@@ -241,8 +241,9 @@ int misaligned_fixup(unsigned long address, struct pt_regs 
*regs,
        if (state.fault)
                goto fault;
 
+       /* clear any remanants of delay slot */
        if (delay_mode(regs)) {
-               regs->ret = regs->bta;
+               regs->ret = regs->bta & ~1U;
                regs->status32 &= ~STATUS_DE_MASK;
        } else {
                regs->ret += state.instr_len;
diff --git a/arch/arc/mm/mmap.c b/arch/arc/mm/mmap.c
index 2e06d56..cf4ae69 100644
--- a/arch/arc/mm/mmap.c
+++ b/arch/arc/mm/mmap.c
@@ -64,7 +64,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
 
                vma = find_vma(mm, addr);
                if (TASK_SIZE - len >= addr &&
-                   (!vma || addr + len <= vma->vm_start))
+                   (!vma || addr + len <= vm_start_gap(vma)))
                        return addr;
        }
 
diff --git a/arch/arc/mm/tlb.c b/arch/arc/mm/tlb.c
index 7f47d2a..b7a0c44 100644
--- a/arch/arc/mm/tlb.c
+++ b/arch/arc/mm/tlb.c
@@ -689,9 +689,6 @@ void do_tlb_overlap_fault(unsigned long cause, unsigned 
long address,
 
        local_irq_save(flags);
 
-       /* re-enable the MMU */
-       write_aux_reg(ARC_REG_PID, MMU_ENABLE | read_aux_reg(ARC_REG_PID));
-
        /* loop thru all sets of TLB */
        for (set = 0; set < mmu->sets; set++) {
 
diff --git a/arch/arm/Kconfig-nommu b/arch/arm/Kconfig-nommu
index aed66d5..b757634 100644
--- a/arch/arm/Kconfig-nommu
+++ b/arch/arm/Kconfig-nommu
@@ -34,8 +34,7 @@ config PROCESSOR_ID
          used instead of the auto-probing which utilizes the register.
 
 config REMAP_VECTORS_TO_RAM
-       bool 'Install vectors to the beginning of RAM' if DRAM_BASE
-       depends on DRAM_BASE
+       bool 'Install vectors to the beginning of RAM'
        help
          The kernel needs to change the hardware exception vectors.
          In nommu mode, the hardware exception vectors are normally
diff --git a/arch/arm/boot/dts/am335x-evmsk.dts 
b/arch/arm/boot/dts/am335x-evmsk.dts
index 156d05e..0128854 100644
--- a/arch/arm/boot/dts/am335x-evmsk.dts
+++ b/arch/arm/boot/dts/am335x-evmsk.dts
@@ -646,6 +646,7 @@
        ti,non-removable;
        bus-width = <4>;
        cap-power-off-card;
+       keep-power-in-suspend;
        pinctrl-names = "default";
        pinctrl-0 = <&mmc2_pins>;
 
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index c80a3e2..9622288 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -750,7 +750,8 @@
                        reg = <0x48038000 0x2000>,
                              <0x46000000 0x400000>;
                        reg-names = "mpu", "dat";
-                       interrupts = <80>, <81>;
+                       interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-names = "tx", "rx";
                        status = "disabled";
                        dmas = <&edma 8>,
@@ -764,7 +765,8 @@
                        reg = <0x4803C000 0x2000>,
                              <0x46400000 0x400000>;
                        reg-names = "mpu", "dat";
-                       interrupts = <82>, <83>;
+                       interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-names = "tx", "rx";
                        status = "disabled";
                        dmas = <&edma 10>,
diff --git a/arch/arm/boot/dts/armada-388-gp.dts 
b/arch/arm/boot/dts/armada-388-gp.dts
index 757ac07..bcf4f1b 100644
--- a/arch/arm/boot/dts/armada-388-gp.dts
+++ b/arch/arm/boot/dts/armada-388-gp.dts
@@ -91,7 +91,7 @@
                                        pinctrl-names = "default";
                                        pinctrl-0 = <&pca0_pins>;
                                        interrupt-parent = <&gpio0>;
-                                       interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
+                                       interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
                                        gpio-controller;
                                        #gpio-cells = <2>;
                                        interrupt-controller;
@@ -103,7 +103,7 @@
                                        compatible = "nxp,pca9555";
                                        pinctrl-names = "default";
                                        interrupt-parent = <&gpio0>;
-                                       interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
+                                       interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
                                        gpio-controller;
                                        #gpio-cells = <2>;
                                        interrupt-controller;
diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts 
b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
index 9991240..af2390c 100644
--- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
@@ -143,9 +143,10 @@
                        };
 
                        adc0: adc@f8018000 {
+                               atmel,adc-vref = <3300>;
+                               atmel,adc-channels-used = <0xfe>;
                                pinctrl-0 = <
                                        &pinctrl_adc0_adtrg
-                                       &pinctrl_adc0_ad0
                                        &pinctrl_adc0_ad1
                                        &pinctrl_adc0_ad2
                                        &pinctrl_adc0_ad3
@@ -153,8 +154,6 @@
                                        &pinctrl_adc0_ad5
                                        &pinctrl_adc0_ad6
                                        &pinctrl_adc0_ad7
-                                       &pinctrl_adc0_ad8
-                                       &pinctrl_adc0_ad9
                                        >;
                                status = "okay";
                        };
diff --git a/arch/arm/boot/dts/at91-sama5d4_xplained.dts 
b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
index 4f29968..dac8797 100644
--- a/arch/arm/boot/dts/at91-sama5d4_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
@@ -115,6 +115,8 @@
                        };
 
                        usart3: serial@fc00c000 {
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
                                status = "okay";
                        };
 
diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index 78aec62..90fbda0 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -54,14 +54,14 @@
                timer@0200 {
                        compatible = "arm,cortex-a9-global-timer";
                        reg = <0x0200 0x100>;
-                       interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
                        clocks = <&clk_periph>;
                };
 
                local-timer@0600 {
                        compatible = "arm,cortex-a9-twd-timer";
                        reg = <0x0600 0x100>;
-                       interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupts = <GIC_PPI 13 IRQ_TYPE_EDGE_RISING>;
                        clocks = <&clk_periph>;
                };
 
diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index 4f935ad..6881757 100644
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -85,6 +85,7 @@
                                #size-cells = <1>;
                                compatible = "m25p64";
                                spi-max-frequency = <30000000>;
+                               m25p,fast-read;
                                reg = <0>;
                                partition@0 {
                                        label = "U-Boot-SPL";
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index bc04b75..a136182 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -216,6 +216,7 @@
                                device_type = "pci";
                                ranges = <0x81000000 0 0          0x03000 0 
0x00010000
                                          0x82000000 0 0x20013000 0x13000 0 
0xffed000>;
+                               bus-range = <0x00 0xff>;
                                #interrupt-cells = <1>;
                                num-lanes = <1>;
                                ti,hwmods = "pcie1";
@@ -251,6 +252,7 @@
                                device_type = "pci";
                                ranges = <0x81000000 0 0          0x03000 0 
0x00010000
                                          0x82000000 0 0x30013000 0x13000 0 
0xffed000>;
+                               bus-range = <0x00 0xff>;
                                #interrupt-cells = <1>;
                                num-lanes = <1>;
                                ti,hwmods = "pcie2";
diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi
index f94bf72..d6da4cc 100644
--- a/arch/arm/boot/dts/imx6dl.dtsi
+++ b/arch/arm/boot/dts/imx6dl.dtsi
@@ -30,7 +30,7 @@
                                /* kHz    uV */
                                996000  1250000
                                792000  1175000
-                               396000  1075000
+                               396000  1150000
                        >;
                        fsl,soc-operating-points = <
                                /* ARM kHz  SOC-PU uV */
diff --git a/arch/arm/boot/dts/imx6sx-sdb.dts b/arch/arm/boot/dts/imx6sx-sdb.dts
index 0bfc4e7..6718a4b 100644
--- a/arch/arm/boot/dts/imx6sx-sdb.dts
+++ b/arch/arm/boot/dts/imx6sx-sdb.dts
@@ -12,21 +12,6 @@
        model = "Freescale i.MX6 SoloX SDB RevB Board";
 };
 
-&cpu0 {
-       operating-points = <
-               /* kHz    uV */
-               996000  1250000
-               792000  1175000
-               396000  1175000
-               >;
-       fsl,soc-operating-points = <
-               /* ARM kHz      SOC uV */
-               996000  1250000
-               792000  1175000
-               396000  1175000
-       >;
-};
-
 &i2c1 {
        clock-frequency = <100000>;
        pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a7.dts 
b/arch/arm/boot/dts/kirkwood-openblocks_a7.dts
index d5e3bc5..d57f485 100644
--- a/arch/arm/boot/dts/kirkwood-openblocks_a7.dts
+++ b/arch/arm/boot/dts/kirkwood-openblocks_a7.dts
@@ -53,7 +53,8 @@
                };
 
                pinctrl: pin-controller@10000 {
-                       pinctrl-0 = <&pmx_dip_switches &pmx_gpio_header>;
+                       pinctrl-0 = <&pmx_dip_switches &pmx_gpio_header
+                                    &pmx_gpio_header_gpo>;
                        pinctrl-names = "default";
 
                        pmx_uart0: pmx-uart0 {
@@ -85,11 +86,16 @@
                         * ground.
                         */
                        pmx_gpio_header: pmx-gpio-header {
-                               marvell,pins = "mpp17", "mpp7", "mpp29", 
"mpp28",
+                               marvell,pins = "mpp17", "mpp29", "mpp28",
                                               "mpp35", "mpp34", "mpp40";
                                marvell,function = "gpio";
                        };
 
+                       pmx_gpio_header_gpo: pxm-gpio-header-gpo {
+                               marvell,pins = "mpp7";
+                               marvell,function = "gpo";
+                       };
+
                        pmx_gpio_init: pmx-init {
                                marvell,pins = "mpp38";
                                marvell,function = "gpio";
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index 5f5e0f3..27cd4ab 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -697,6 +697,8 @@
        vmmc_aux-supply = <&vsim>;
        bus-width = <8>;
        non-removable;
+       no-sdio;
+       no-sd;
 };
 
 &mmc3 {
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 84be9da..48c5a3b 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -841,14 +841,12 @@
                        usbhsohci: ohci@4a064800 {
                                compatible = "ti,ohci-omap3";
                                reg = <0x4a064800 0x400>;
-                               interrupt-parent = <&gic>;
                                interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
                        usbhsehci: ehci@4a064c00 {
                                compatible = "ti,ehci-omap";
                                reg = <0x4a064c00 0x400>;
-                               interrupt-parent = <&gic>;
                                interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
diff --git a/arch/arm/boot/dts/s5pv210.dtsi b/arch/arm/boot/dts/s5pv210.dtsi
index 8344a0e..b03fe74 100644
--- a/arch/arm/boot/dts/s5pv210.dtsi
+++ b/arch/arm/boot/dts/s5pv210.dtsi
@@ -461,6 +461,7 @@
                        compatible = "samsung,exynos4210-ohci";
                        reg = <0xec300000 0x100>;
                        interrupts = <23>;
+                       interrupt-parent = <&vic1>;
                        clocks = <&clocks CLK_USB_HOST>;
                        clock-names = "usbhost";
                        #address-cells = <1>;
diff --git a/arch/arm/boot/dts/spear1310-evb.dts 
b/arch/arm/boot/dts/spear1310-evb.dts
index d42c84b..9cff28d 100644
--- a/arch/arm/boot/dts/spear1310-evb.dts
+++ b/arch/arm/boot/dts/spear1310-evb.dts
@@ -349,7 +349,7 @@
                        spi0: spi@e0100000 {
                                status = "okay";
                                num-cs = <3>;
-                               cs-gpios = <&gpio1 7 0>, <&spics 0>, <&spics 1>;
+                               cs-gpios = <&gpio1 7 0>, <&spics 0 0>, <&spics 
1 0>;
 
                                stmpe610@0 {
                                        compatible = "st,stmpe610";
diff --git a/arch/arm/boot/dts/spear1340.dtsi b/arch/arm/boot/dts/spear1340.dtsi
index 13e1aa3..69bc407 100644
--- a/arch/arm/boot/dts/spear1340.dtsi
+++ b/arch/arm/boot/dts/spear1340.dtsi
@@ -141,8 +141,8 @@
                                reg = <0xb4100000 0x1000>;
                                interrupts = <0 105 0x4>;
                                status = "disabled";
-                               dmas = <&dwdma0 0x600 0 0 1>, /* 0xC << 11 */
-                                       <&dwdma0 0x680 0 1 0>; /* 0xD << 7 */
+                               dmas = <&dwdma0 12 0 1>,
+                                       <&dwdma0 13 1 0>;
                                dma-names = "tx", "rx";
                        };
 
diff --git a/arch/arm/boot/dts/spear13xx.dtsi b/arch/arm/boot/dts/spear13xx.dtsi
index 40accc8..4e5a277 100644
--- a/arch/arm/boot/dts/spear13xx.dtsi
+++ b/arch/arm/boot/dts/spear13xx.dtsi
@@ -100,7 +100,7 @@
                        reg = <0xb2800000 0x1000>;
                        interrupts = <0 29 0x4>;
                        status = "disabled";
-                       dmas = <&dwdma0 0 0 0 0>;
+                       dmas = <&dwdma0 0 0 0>;
                        dma-names = "data";
                };
 
@@ -288,8 +288,8 @@
                                #size-cells = <0>;
                                interrupts = <0 31 0x4>;
                                status = "disabled";
-                               dmas = <&dwdma0 0x2000 0 0 0>, /* 0x4 << 11 */
-                                       <&dwdma0 0x0280 0 0 0>;  /* 0x5 << 7 */
+                               dmas = <&dwdma0 4 0 0>,
+                                       <&dwdma0 5 0 0>;
                                dma-names = "tx", "rx";
                        };
 
diff --git a/arch/arm/boot/dts/spear600.dtsi b/arch/arm/boot/dts/spear600.dtsi
index 9f60a7b..bd37903 100644
--- a/arch/arm/boot/dts/spear600.dtsi
+++ b/arch/arm/boot/dts/spear600.dtsi
@@ -194,6 +194,7 @@
                        rtc@fc900000 {
                                compatible = "st,spear600-rtc";
                                reg = <0xfc900000 0x1000>;
+                               interrupt-parent = <&vic0>;
                                interrupts = <10>;
                                status = "disabled";
                        };
diff --git a/arch/arm/boot/dts/tegra20-paz00.dts 
b/arch/arm/boot/dts/tegra20-paz00.dts
index ed7e100..d9ee0fd 100644
--- a/arch/arm/boot/dts/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/tegra20-paz00.dts
@@ -565,6 +565,7 @@
                        regulator-name = "+3VS,vdd_pnl";
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
+                       regulator-boot-on;
                        gpio = <&gpio TEGRA_GPIO(A, 4) GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
diff --git a/arch/arm/configs/ezx_defconfig b/arch/arm/configs/ezx_defconfig
index ea316c4..d3f1768 100644
--- a/arch/arm/configs/ezx_defconfig
+++ b/arch/arm/configs/ezx_defconfig
@@ -64,8 +64,8 @@ CONFIG_NETFILTER=y
 CONFIG_NETFILTER_NETLINK_QUEUE=m
 CONFIG_NF_CONNTRACK=m
 CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
 CONFIG_NF_CONNTRACK_AMANDA=m
 CONFIG_NF_CONNTRACK_FTP=m
 CONFIG_NF_CONNTRACK_H323=m
diff --git a/arch/arm/configs/imote2_defconfig 
b/arch/arm/configs/imote2_defconfig
index 18e59fe..7f479cd 100644
--- a/arch/arm/configs/imote2_defconfig
+++ b/arch/arm/configs/imote2_defconfig
@@ -56,8 +56,8 @@ CONFIG_NETFILTER=y
 CONFIG_NETFILTER_NETLINK_QUEUE=m
 CONFIG_NF_CONNTRACK=m
 CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
 CONFIG_NF_CONNTRACK_AMANDA=m
 CONFIG_NF_CONNTRACK_FTP=m
 CONFIG_NF_CONNTRACK_H323=m
diff --git a/arch/arm/configs/omap2plus_defconfig 
b/arch/arm/configs/omap2plus_defconfig
index 3743ca2..a045180 100644
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -215,6 +215,7 @@ CONFIG_SERIO=m
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=6
 CONFIG_SERIAL_8250_EXTENDED=y
 CONFIG_SERIAL_8250_MANY_PORTS=y
 CONFIG_SERIAL_8250_SHARE_IRQ=y
diff --git a/arch/arm/configs/s3c2410_defconfig 
b/arch/arm/configs/s3c2410_defconfig
index f314236..01116ee 100644
--- a/arch/arm/configs/s3c2410_defconfig
+++ b/arch/arm/configs/s3c2410_defconfig
@@ -87,9 +87,9 @@ CONFIG_IPV6_TUNNEL=m
 CONFIG_NETFILTER=y
 CONFIG_NF_CONNTRACK=m
 CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
 CONFIG_NF_CONNTRACK_AMANDA=m
 CONFIG_NF_CONNTRACK_FTP=m
 CONFIG_NF_CONNTRACK_H323=m
diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild
index 3c4596d..4f63327 100644
--- a/arch/arm/include/asm/Kbuild
+++ b/arch/arm/include/asm/Kbuild
@@ -36,4 +36,3 @@ generic-y += termbits.h
 generic-y += termios.h
 generic-y += timex.h
 generic-y += trace_clock.h

_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
unionfs-cvs@fsl.cs.sunysb.edu
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to