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