1. 19 May, 2016 14 commits
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 7afd16f8
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Enumeration:
         - Refine PCI support check in pcibios_init() (Adrian-Ken Rueegsegger)
         - Provide common functions for ECAM mapping (Jayachandran C)
         - Allow all PCIe services on non-ACPI host bridges (Jon Derrick)
         - Remove return values from pcie_port_platform_notify() and relatives (Jon Derrick)
         - Widen portdrv service type from 4 bits to 8 bits (Keith Busch)
         - Add Downstream Port Containment portdrv service type (Keith Busch)
         - Add Downstream Port Containment driver (Keith Busch)
      
        Resource management:
         - Identify Enhanced Allocation (EA) BAR Equivalent resources in sysfs (Alex Williamson)
         - Supply CPU physical address (not bus address) to iomem_is_exclusive() (Bjorn Helgaas)
         - alpha: Call iomem_is_exclusive() for IORESOURCE_MEM, but not IORESOURCE_IO (Bjorn Helgaas)
         - Mark Broadwell-EP Home Agent 1 as having non-compliant BARs (Prarit Bhargava)
         - Disable all BAR sizing for devices with non-compliant BARs (Prarit Bhargava)
         - Move PCI I/O space management from OF to PCI core code (Tomasz Nowicki)
      
        PCI device hotplug:
         - acpiphp_ibm: Avoid uninitialized variable reference (Dan Carpenter)
         - Use cached copy of PCI_EXP_SLTCAP_HPC bit (Lukas Wunner)
      
        Virtualization:
         - Mark Intel i40e NIC INTx masking as broken (Alex Williamson)
         - Reverse standard ACS vs device-specific ACS enabling (Alex Williamson)
         - Work around Intel Sunrise Point PCH incorrect ACS capability (Alex Williamson)
      
        IOMMU:
         - Add pci_add_dma_alias() to abstract implementation (Bjorn Helgaas)
         - Move informational printk to pci_add_dma_alias() (Bjorn Helgaas)
         - Add support for multiple DMA aliases (Jacek Lawrynowicz)
         - Add DMA alias quirk for mic_x200_dma (Jacek Lawrynowicz)
      
        Thunderbolt:
         - Fix double free of drom buffer (Andreas Noever)
         - Add Intel Thunderbolt device IDs (Lukas Wunner)
         - Fix typos and magic number (Lukas Wunner)
         - Support 1st gen Light Ridge controller (Lukas Wunner)
      
        Generic host bridge driver:
         - Use generic ECAM API (Jayachandran C)
      
        Cavium ThunderX host bridge driver:
         - Don't clobber read-only bits in bridge config registers (David Daney)
         - Use generic ECAM API (Jayachandran C)
      
        Freescale i.MX6 host bridge driver:
         - Use enum instead of bool for variant indicator (Andrey Smirnov)
         - Implement reset sequence for i.MX6+ (Andrey Smirnov)
         - Factor out ref clock enable (Bjorn Helgaas)
         - Add initial imx6sx support (Christoph Fritz)
         - Add reset-gpio-active-high boolean property to DT (Petr Štetiar)
         - Add DT property for link gen, default to Gen1 (Tim Harvey)
         - dts: Specify imx6qp version of PCIe core (Andrey Smirnov)
         - dts: Fix PCIe reset GPIO polarity on Toradex Apalis Ixora (Petr Štetiar)
      
        Marvell Armada host bridge driver:
         - add DT binding for Marvell Armada 7K/8K PCIe controller (Thomas Petazzoni)
         - Add driver for Marvell Armada 7K/8K PCIe controller (Thomas Petazzoni)
      
        Marvell MVEBU host bridge driver:
         - Constify mvebu_pcie_pm_ops structure (Jisheng Zhang)
         - Use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS for mvebu_pcie_pm_ops (Jisheng Zhang)
      
        Microsoft Hyper-V host bridge driver:
         - Report resources release after stopping the bus (Vitaly Kuznetsov)
         - Add explicit barriers to config space access (Vitaly Kuznetsov)
      
        Renesas R-Car host bridge driver:
         - Select PCI_MSI_IRQ_DOMAIN (Arnd Bergmann)
      
        Synopsys DesignWare host bridge driver:
         - Remove incorrect RC memory base/limit configuration (Gabriele Paoloni)
         - Move Root Complex setup code to dw_pcie_setup_rc() (Jisheng Zhang)
      
        TI Keystone host bridge driver:
         - Add error IRQ handler (Murali Karicheri)
         - Remove unnecessary goto statement (Murali Karicheri)
      
        Miscellaneous:
         - Fix spelling errors (Colin Ian King)"
      
      * tag 'pci-v4.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (48 commits)
        PCI: Disable all BAR sizing for devices with non-compliant BARs
        x86/PCI: Mark Broadwell-EP Home Agent 1 as having non-compliant BARs
        PCI: Identify Enhanced Allocation (EA) BAR Equivalent resources in sysfs
        PCI, of: Move PCI I/O space management to PCI core code
        PCI: generic, thunder: Use generic ECAM API
        PCI: Provide common functions for ECAM mapping
        PCI: hv: Add explicit barriers to config space access
        PCI: Use cached copy of PCI_EXP_SLTCAP_HPC bit
        PCI: Add Downstream Port Containment driver
        PCI: Add Downstream Port Containment portdrv service type
        PCI: Widen portdrv service type from 4 bits to 8 bits
        PCI: designware: Remove incorrect RC memory base/limit configuration
        PCI: hv: Report resources release after stopping the bus
        ARM: dts: imx6qp: Specify imx6qp version of PCIe core
        PCI: imx6: Implement reset sequence for i.MX6+
        PCI: imx6: Use enum instead of bool for variant indicator
        PCI: thunder: Don't clobber read-only bits in bridge config registers
        thunderbolt: Fix double free of drom buffer
        PCI: rcar: Select PCI_MSI_IRQ_DOMAIN
        PCI: armada: Add driver for Marvell Armada 7K/8K PCIe controller
        ...
      7afd16f8
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · a37571a2
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This kernel cycle was quite calm when it comes to pin control and
        there is really just one major change, and that is the introduction of
        devm_pinctrl_register() managed resources.
      
        Apart from that linear development, details below.
      
        Core changes:
      
         - Add the devm_pinctrl_register() API and switch all applicable
           drivers to use it, saving lots of lines of code all over the place.
      
        New drivers:
      
         - driver for the Broadcom NS2 SoC
      
         - subdriver for the PXA25x SoCs
      
         - subdriver for the AMLogic Meson GXBB SoC
      
        Driver improvements:
      
         - the Intel Baytrail driver now properly supports pin control
      
         - Nomadik, Rockchip, Broadcom BCM2835 support the .get_direction()
           callback in the GPIO portions
      
         - continued development and stabilization of several SH-PFC SoC
           subdrivers: r8a7795, r8a7790, r8a7794 etc"
      
      * tag 'pinctrl-v4.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (85 commits)
        Revert "pinctrl: tegra: avoid parked_reg and parked_bank"
        pinctrl: meson: Fix eth_tx_en bit index
        pinctrl: tegra: avoid parked_reg and parked_bank
        pinctrl: tegra: Correctly check the supported configuration
        pinctrl: amlogic: Add support for Amlogic Meson GXBB SoC
        pinctrl: rockchip: fix pull setting error for rk3399
        pinctrl: stm32: Implement .pin_config_dbg_show()
        pinctrl: nomadik: hide nmk_gpio_get_mode when unused
        pinctrl: ns2: rename pinctrl_utils_dt_free_map
        pinctrl: at91: Merge clk_prepare and clk_enable into clk_prepare_enable
        pinctrl: at91: Make at91_gpio_template const
        pinctrl: baytrail: fix some error handling in debugfs
        pinctrl: ns2: add pinmux driver support for Broadcom NS2 SoC
        pinctrl: sirf/atlas7: trivial fix of spelling mistake on flagged
        pinctrl: sh-pfc: Kill unused variable in sh_pfc_remove()
        pinctrl: nomadik: implement .get_direction()
        pinctrl: nomadik: use BIT() with offsets consequently
        pinctrl: exynos5440: Use off-stack memory for pinctrl_gpio_range
        pinctrl: zynq: Use devm_pinctrl_register() for pinctrl registration
        pinctrl: u300: Use devm_pinctrl_register() for pinctrl registration
        ...
      a37571a2
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.7-rc1' of git://git.infradead.org/users/vkoul/slave-dma · a0d3c7c5
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "This time round the update brings in following changes:
      
         - new tegra driver for ADMA device
      
         - support for Xilinx AXI Direct Memory Access Engine and Xilinx AXI
           Central Direct Memory Access Engine and few updates to this driver
      
         - new cyclic capability to sun6i and few updates
      
         - slave-sg support in bcm2835
      
         - updates to many drivers like designware, hsu, mv_xor, pxa, edma,
           qcom_hidma & bam"
      
      * tag 'dmaengine-4.7-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (84 commits)
        dmaengine: ioatdma: disable relaxed ordering for ioatdma
        dmaengine: of_dma: approximate an average distribution
        dmaengine: core: Use IS_ENABLED() instead of checking for built-in or module
        dmaengine: edma: Re-evaluate errors when ccerr is triggered w/o error event
        dmaengine: qcom_hidma: add support for object hierarchy
        dmaengine: qcom_hidma: add debugfs hooks
        dmaengine: qcom_hidma: implement lower level hardware interface
        dmaengine: vdma: Add clock support
        Documentation: DT: vdma: Add clock support for dmas
        dmaengine: vdma: Add config structure to differentiate dmas
        MAINTAINERS: Update Tegra DMA maintainers
        dmaengine: tegra-adma: Add support for Tegra210 ADMA
        Documentation: DT: Add binding documentation for NVIDIA ADMA
        dmaengine: vdma: Add Support for Xilinx AXI Central Direct Memory Access Engine
        Documentation: DT: vdma: update binding doc for AXI CDMA
        dmaengine: vdma: Add Support for Xilinx AXI Direct Memory Access Engine
        Documentation: DT: vdma: update binding doc for AXI DMA
        dmaengine: vdma: Rename xilinx_vdma_ prefix to xilinx_dma
        dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC
        dmaengine: mv_xor: Allow selecting mv_xor for mvebu only compatible SoC
        ...
      a0d3c7c5
    • Linus Torvalds's avatar
      Merge tag 'localmodconfig-v4.7' of... · ec67b14c
      Linus Torvalds authored
      Merge tag 'localmodconfig-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig
      
      Pull localmodconfig updates from Steven Rostedt.
       "Benjamin Poirier added some minor fixes and clean ups to
        localmodconfig.
      
        One is a fix for making sure that module signing still works when
        coming from a different environment.  If original keys are not found
        it will warn and reset the keys to their default value"
      
      * tag 'localmodconfig-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig:
        localmodconfig: Fix whitespace repeat count after "tristate"
        localmodconfig: Reset certificate paths
        localmodconfig: Add missing $ to reference a variable
        localmodconfig: Fix parsing of "help" text
        localmodconfig: Recognize more keywords that end a menu entry
        localmodconfig: Fix parsing of Kconfig "source" statements
      ec67b14c
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 7beaa24b
      Linus Torvalds authored
      Pull KVM updates from Paolo Bonzini:
       "Small release overall.
      
        x86:
         - miscellaneous fixes
         - AVIC support (local APIC virtualization, AMD version)
      
        s390:
         - polling for interrupts after a VCPU goes to halted state is now
           enabled for s390
         - use hardware provided information about facility bits that do not
           need any hypervisor activity, and other fixes for cpu models and
           facilities
         - improve perf output
         - floating interrupt controller improvements.
      
        MIPS:
         - miscellaneous fixes
      
        PPC:
         - bugfixes only
      
        ARM:
         - 16K page size support
         - generic firmware probing layer for timer and GIC
      
        Christoffer Dall (KVM-ARM maintainer) says:
          "There are a few changes in this pull request touching things
           outside KVM, but they should all carry the necessary acks and it
           made the merge process much easier to do it this way."
      
        though actually the irqchip maintainers' acks didn't make it into the
        patches.  Marc Zyngier, who is both irqchip and KVM-ARM maintainer,
        later acked at http://mid.gmane.org/573351D1.4060303@arm.com ('more
        formally and for documentation purposes')"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (82 commits)
        KVM: MTRR: remove MSR 0x2f8
        KVM: x86: make hwapic_isr_update and hwapic_irr_update look the same
        svm: Manage vcpu load/unload when enable AVIC
        svm: Do not intercept CR8 when enable AVIC
        svm: Do not expose x2APIC when enable AVIC
        KVM: x86: Introducing kvm_x86_ops.apicv_post_state_restore
        svm: Add VMEXIT handlers for AVIC
        svm: Add interrupt injection via AVIC
        KVM: x86: Detect and Initialize AVIC support
        svm: Introduce new AVIC VMCB registers
        KVM: split kvm_vcpu_wake_up from kvm_vcpu_kick
        KVM: x86: Introducing kvm_x86_ops VCPU blocking/unblocking hooks
        KVM: x86: Introducing kvm_x86_ops VM init/destroy hooks
        KVM: x86: Rename kvm_apic_get_reg to kvm_lapic_get_reg
        KVM: x86: Misc LAPIC changes to expose helper functions
        KVM: shrink halt polling even more for invalid wakeups
        KVM: s390: set halt polling to 80 microseconds
        KVM: halt_polling: provide a way to qualify wakeups during poll
        KVM: PPC: Book3S HV: Re-enable XICS fast path for irqfd-generated interrupts
        kvm: Conditionally register IRQ bypass consumer
        ...
      7beaa24b
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 07b75260
      Linus Torvalds authored
      Pull MIPS updates from Ralf Baechle:
       "This is the main pull request for MIPS for 4.7.  Here's the summary of
        the changes:
      
         - ATH79: Support for DTB passuing using the UHI boot protocol
         - ATH79: Remove support for builtin DTB.
         - ATH79: Add zboot debug serial support.
         - ATH79: Add initial support for Dragino MS14 (Dragine 2), Onion Omega
                  and DPT-Module.
         - ATH79: Update devicetree clock support for AR9132 and AR9331.
         - ATH79: Cleanup the DT code.
         - ATH79: Support newer SOCs in ath79_ddr_ctrl_init.
         - ATH79: Fix regression in PCI window initialization.
         - BCM47xx: Move SPROM driver to drivers/firmware/
         - BCM63xx: Enable partition parser in defconfig.
         - BMIPS: BMIPS5000 has I cache filing from D cache
         - BMIPS: BMIPS: Add cpu-feature-overrides.h
         - BMIPS: Add Whirlwind support
         - BMIPS: Adjust mips-hpt-frequency for BCM7435
         - BMIPS: Remove maxcpus from BCM97435SVMB DTS
         - BMIPS: Add missing 7038 L1 register cells to BCM7435
         - BMIPS: Various tweaks to initialization code.
         - BMIPS: Enable partition parser in defconfig.
         - BMIPS: Cache tweaks.
         - BMIPS: Add UART, I2C and SATA devices to DT.
         - BMIPS: Add BCM6358 and BCM63268support
         - BMIPS: Add device tree example for BCM6358.
         - BMIPS: Improve Improve BCM6328 and BCM6368 device trees
         - Lantiq: Add support for device tree file from boot loader
         - Lantiq: Allow build with no built-in DT.
         - Loongson 3: Reserve 32MB for RS780E integrated GPU.
         - Loongson 3: Fix build error after ld-version.sh modification
         - Loongson 3: Move chipset ACPI code from drivers to arch.
         - Loongson 3: Speedup irq processing.
         - Loongson 3: Add basic Loongson 3A support.
         - Loongson 3: Set cache flush handlers to nop.
         - Loongson 3: Invalidate special TLBs when needed.
         - Loongson 3: Fast TLB refill handler.
         - MT7620: Fallback strategy for invalid syscfg0.
         - Netlogic: Fix CP0_EBASE redefinition warnings
         - Octeon: Initialization fixes
         - Octeon: Add DTS files for the D-Link DSR-1000N and EdgeRouter Lite
         - Octeon: Enable add Octeon-drivers in cavium_octeon_defconfig
         - Octeon: Correctly handle endian-swapped initramfs images.
         - Octeon: Support CN73xx, CN75xx and CN78xx.
         - Octeon: Remove dead code from cvmx-sysinfo.
         - Octeon: Extend number of supported CPUs past 32.
         - Octeon: Remove some code limiting NR_IRQS to 255.
         - Octeon: Simplify octeon_irq_ciu_gpio_set_type.
         - Octeon: Mark some functions __init in smp.c
         - Octeon: Octeon: Add Octeon III CN7xxx interface detection
         - PIC32: Add serial driver and bindings for it.
         - PIC32: Add PIC32 deadman timer driver and bindings.
         - PIC32: Add PIC32 clock timer driver and bindings.
         - Pistachio: Determine SoC revision during boot
         - Sibyte: Fix Kconfig dependencies of SIBYTE_BUS_WATCHER.
         - Sibyte: Strip redundant comments from bcm1480_regs.h.
         - Panic immediately if panic_on_oops is set.
         - module: fix incorrect IS_ERR_VALUE macro usage.
         - module: Make consistent use of pr_*
         - Remove no longer needed work_on_cpu() call.
         - Remove CONFIG_IPV6_PRIVACY from defconfigs.
         - Fix registers of non-crashing CPUs in dumps.
         - Handle MIPSisms in new vmcore_elf32_check_arch.
         - Select CONFIG_HANDLE_DOMAIN_IRQ and make it work.
         - Allow RIXI to be used on non-R2 or R6 cores.
         - Reserve nosave data for hibernation
         - Fix siginfo.h to use strict POSIX types.
         - Don't unwind user mode with EVA.
         - Fix watchpoint restoration
         - Ptrace watchpoints for R6.
         - Sync icache when it fills from dcache
         - I6400 I-cache fills from dcache.
         - Various MSA fixes.
         - Cleanup MIPS_CPU_* definitions.
         - Signal: Move generic copy_siginfo to signal.h
         - Signal: Fix uapi include in exported asm/siginfo.h
         - Timer fixes for sake of KVM.
         - XPA TLB refill fixes.
         - Treat perf counter feature
         - Update John Crispin's email address
         - Add PIC32 watchdog and bindings.
         - Handle R10000 LL/SC bug in set_pte()
         - cpufreq: Various fixes for Longson1.
         - R6: Fix R2 emulation.
         - mathemu: Cosmetic fix to ADDIUPC emulation, plenty of other small fixes
         - ELF: ABI and FP fixes.
         - Allow for relocatable kernel and use that to support KASLR.
         - Fix CPC_BASE_ADDR mask
         - Plenty fo smp-cps, CM, R6 and M6250 fixes.
         - Make reset_control_ops const.
         - Fix kernel command line handling of leading whitespace.
         - Cleanups to cache handling.
         - Add brcm, bcm6345-l1-intc device tree bindings.
         - Use generic clkdev.h header
         - Remove CLK_IS_ROOT usage.
         - Misc small cleanups.
         - CM: Fix compilation error when !MIPS_CM
         - oprofile: Fix a preemption issue
         - Detect DSP ASE v3 support:1"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (275 commits)
        MIPS: pic32mzda: fix getting timer clock rate.
        MIPS: ath79: fix regression in PCI window initialization
        MIPS: ath79: make ath79_ddr_ctrl_init() compatible for newer SoCs
        MIPS: Fix VZ probe gas errors with binutils <2.24
        MIPS: perf: Fix I6400 event numbers
        MIPS: DEC: Export `ioasic_ssr_lock' to modules
        MIPS: MSA: Fix a link error on `_init_msa_upper' with older GCC
        MIPS: CM: Fix compilation error when !MIPS_CM
        MIPS: Fix genvdso error on rebuild
        USB: ohci-jz4740: Remove obsolete driver
        MIPS: JZ4740: Probe OHCI platform device via DT
        MIPS: JZ4740: Qi LB60: Remove support for AVT2 variant
        MIPS: pistachio: Determine SoC revision during boot
        MIPS: BMIPS: Adjust mips-hpt-frequency for BCM7435
        mips: mt7620: fallback to SDRAM when syscfg0 does not have a valid value for the memory type
        MIPS: Prevent "restoration" of MSA context in non-MSA kernels
        MIPS: cevt-r4k: Dynamically calculate min_delta_ns
        MIPS: malta-time: Take seconds into account
        MIPS: malta-time: Start GIC count before syncing to RTC
        MIPS: Force CPUs to lose FP context during mode switches
        ...
      07b75260
    • Linus Torvalds's avatar
      Merge tag 'arc-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 0efacbba
      Linus Torvalds authored
      Pull ARC updates from Vineet Gupta:
       "We have a relatively big changeset for ARC for 4.7.
      
        The highlight is support for EZChip (now Mellanox) NPS-400 network
        processor, a 400-Gb throughput C-programmable packet processor based
        on ARC700 cores from Synopsys. See
      
              http://www.mellanox.com/related-docs/prod_npu/PB_NPS-400.pdf
      
        Also present are irqchip and clocksource drivers for NPS as agreed
        with respective maintainers to go via ARC tree due to an soc header
        dependency.  I have the needed ACKs from Jason, Marc, Daniel.  You
        might run into a trivial merge conflict in drivers/irqchip/*
      
        This EZChip platform support required some deep changes in ARC
        architecture code and also opportunity to cleanup past sins (legacy
        irq domains, missing irq domain lookup, hard coded timer irqs...)
      
        Summary:
      
         - Support for EZChip (now Mellanox) NPS-400 Network processor based
           on ARC700
      
         - NPS interrupt controller and clocksource drivers
      
         - ARC timers probed off DT
      
         - ARC iqrchips switching to linear domain (upgrade from legacy
           domains)"
      
      * tag 'arc-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (37 commits)
        arc: axs103_smp: Fix CPU frequency to 100MHz for dual-core
        arc: axs10x: Add DT bindings for I2S PLL Clock
        ARC: pae: STRICT_MM_TYPECHECKS was broken
        ARC: Add eznps platform to Kconfig and Makefile
        ARC: [plat-eznps] Use dedicated COMMAND_LINE_SIZE
        ARC: [plat-eznps] Use dedicated cpu_relax()
        ARC: [plat-eznps] Use dedicated identity auxiliary register.
        ARC: [plat-eznps] Use dedicated SMP barriers
        ARC: [plat-eznps] Use dedicated atomic/bitops/cmpxchg
        ARC: [plat-eznps] Use dedicated user stack top
        ARC: [plat-eznps] Add eznps platform
        ARC: [plat-eznps] Add eznps board defconfig and dts
        ARC: Mark secondary cpu online only after all HW setup is done
        ARC: rwlock: disable interrupts in !LLSC variant
        ARC: Make vmalloc size configurable
        ARC: clean out UAPI byteorder.h clean off Kconfig symbol
        irqchip: add nps Internal and external irqchips
        clocksource: Add NPS400 timers driver
        soc: Support for EZchip SoC
        Documentation: Add EZchip vendor to binding list
        ...
      0efacbba
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · f4f27d00
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "Highlights:
      
         - A new LSM, "LoadPin", from Kees Cook is added, which allows forcing
           of modules and firmware to be loaded from a specific device (this
           is from ChromeOS, where the device as a whole is verified
           cryptographically via dm-verity).
      
           This is disabled by default but can be configured to be enabled by
           default (don't do this if you don't know what you're doing).
      
         - Keys: allow authentication data to be stored in an asymmetric key.
           Lots of general fixes and updates.
      
         - SELinux: add restrictions for loading of kernel modules via
           finit_module().  Distinguish non-init user namespace capability
           checks.  Apply execstack check on thread stacks"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (48 commits)
        LSM: LoadPin: provide enablement CONFIG
        Yama: use atomic allocations when reporting
        seccomp: Fix comment typo
        ima: add support for creating files using the mknodat syscall
        ima: fix ima_inode_post_setattr
        vfs: forbid write access when reading a file into memory
        fs: fix over-zealous use of "const"
        selinux: apply execstack check on thread stacks
        selinux: distinguish non-init user namespace capability checks
        LSM: LoadPin for kernel file loading restrictions
        fs: define a string representation of the kernel_read_file_id enumeration
        Yama: consolidate error reporting
        string_helpers: add kstrdup_quotable_file
        string_helpers: add kstrdup_quotable_cmdline
        string_helpers: add kstrdup_quotable
        selinux: check ss_initialized before revalidating an inode label
        selinux: delay inode label lookup as long as possible
        selinux: don't revalidate an inode's label when explicitly setting it
        selinux: Change bool variable name to index.
        KEYS: Add KEYCTL_DH_COMPUTE command
        ...
      f4f27d00
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 2600a46e
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "This includes two new updates for the ftrace infrastructure.
      
         - With the changing of the code for filtering events by pid, from a
           list of pids to a bitmask, we can now easily implement following
           forks.  With a new tracing option "event-fork" which, when set,
           will have tasks with pids in set_event_pid, when they fork, to have
           their child pids added to set_event_pid and the child will be
           traced as well.
      
           Note, if "event-fork" is set and a task with its pid in
           set_event_pid exits, its pid will be removed from set_event_pid
      
         - The addition of Tom Zanussi's hist triggers.  This includes a very
           thorough documentatino on how to use the hist triggers with events.
           This introduces a quick and easy way to get histogram data from
           events and their fields.
      
        Some other cleanups and updates were added as well.  Like Masami
        Hiramatsu added test cases for the event trigger and hist triggers.
        Also I added a speed up of filtering by using a temp buffer when
        filters are set"
      
      * tag 'trace-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (45 commits)
        tracing: Use temp buffer when filtering events
        tracing: Remove TRACE_EVENT_FL_USE_CALL_FILTER logic
        tracing: Remove unused function trace_current_buffer_lock_reserve()
        tracing: Remove one use of trace_current_buffer_lock_reserve()
        tracing: Have trace_buffer_unlock_commit() call the _regs version with NULL
        tracing: Remove unused function trace_current_buffer_discard_commit()
        tracing: Move trace_buffer_unlock_commit{_regs}() to local header
        tracing: Fold filter_check_discard() into its only user
        tracing: Make filter_check_discard() local
        tracing: Move event_trigger_unlock_commit{_regs}() to local header
        tracing: Don't use the address of the buffer array name in copy_from_user
        tracing: Handle tracing_map_alloc_elts() error path correctly
        tracing: Add check for NULL event field when creating hist field
        tracing: checking for NULL instead of IS_ERR()
        tracing: Do not inherit event-fork option for instances
        tracing: Fix unsigned comparison to zero in hist trigger code
        kselftests/ftrace: Add a test for log2 modifier of hist trigger
        tracing: Add hist trigger 'log2' modifier
        kselftests/ftrace: Add hist trigger testcases
        kselftests/ftrace : Add event trigger testcases
        ...
      2600a46e
    • Linus Torvalds's avatar
      Merge branch 'stable-4.7' of git://git.infradead.org/users/pcmoore/audit · 03e1aa1c
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Four small audit patches for 4.7.
      
        Two are simple cleanups around the audit thread management code, one
        adds a tty field to AUDIT_LOGIN events, and the final patch makes
        tty_name() usable regardless of CONFIG_TTY.
      
        Nothing controversial, and it all passes our regression test"
      
      * 'stable-4.7' of git://git.infradead.org/users/pcmoore/audit:
        tty: provide tty_name() even without CONFIG_TTY
        audit: add tty field to LOGIN event
        audit: we don't need to __set_current_state(TASK_RUNNING)
        audit: cleanup prune_tree_thread
      03e1aa1c
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.7' of git://github.com/andersson/remoteproc · 97f00905
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "Introduce a synchronization point between the async firmware loading
        and clients requesting the remote processor to boot, as well as
        support for remote processors that are not interested in the resource
        table information"
      
      * tag 'rproc-v4.7' of git://github.com/andersson/remoteproc:
        remoteproc: Add additional crash reasons
        remoteproc: core: Make the loaded resource table optional
        remoteproc: core: Task sync during rproc_fw_boot()
      97f00905
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.7' of git://github.com/andersson/remoteproc · 676d9735
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "Refactor rpmsg module registration to follow other subsystems; by
        introduction of module_rpmsg_driver and hiding of THIS_MODULE from
        clients"
      
      * tag 'rpmsg-v4.7' of git://github.com/andersson/remoteproc:
        rpmsg: use module_rpmsg_driver in existing drivers and examples
        rpmsg: add helper macro module_rpmsg_driver
        rpmsg: drop owner assignment from rpmsg_drivers
        rpmsg: add THIS_MODULE to rpmsg_driver in rpmsg core
      676d9735
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 888dae53
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       "First round of updates for the input subsystem.  No new drivers here,
        just some driver fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: rotary-encoder - fix bare use of 'unsigned'
        Input: cm109 - spin_lock in complete() cleanup
        Input: cm109 - fix handling of volume and mute buttons
        Input: byd - don't wipe dynamically allocated memory twice
        Input: twl4030 - fix unsafe macro definition
        Input: twl6040-vibra - remove mutex
        Input: bcm_iproc_tsc - DT spelling s/clock-name/clock-names/
        Input: bcm_iproc_tsc - use syscon to access shared registers
        Input: ti_am335x_tsc - use SIMPLE_DEV_PM_OPS
        Input: omap-keypad - remove set_col_gpio_val() and get_row_gpio_val()
        Input: omap-keypad - drop empty PM stubs
        Input: omap-keypad - remove adjusting of scan delay
        Input: gpio-keys - clean up device tree binding example
        Input: kbtab - stop saving struct usb_device
        Input: gtco - stop saving struct usb_device
        Input: aiptek - stop saving struct usb_device
        Input: acecad - stop saving struct usb_device
      888dae53
    • Linus Torvalds's avatar
      Merge tag 'media/v4.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 19c5abcb
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
       - added support for Intersil/Techwell TW686x-based video capture cards
       - v4l PCI skeleton driver moved to samples directory
       - Documentation cleanups and improvements
       - RC: reduced the memory footprint for IR raw events
       - tpg: Export the tpg code from vivid as a module
       - adv7180: Add device tree binding documentation
       - lots of driver improvements and fixes
      
      * tag 'media/v4.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (173 commits)
        [media] exynos-gsc: avoid build warning without CONFIG_OF
        [media] samples: v4l: from Documentation to samples directory
        [media] dib0700: add USB ID for another STK8096-PVR ref design based card
        [media] tvp5150: propagate I2C write error in .s_register callback
        [media] tvp5150: return I2C write operation failure to callers
        [media] em28xx: add support for Hauppauge WinTV-dualHD DVB tuner
        [media] em28xx: add missing USB IDs
        [media] update cx23885 and em28xx cardlists
        [media] media: au0828 fix au0828_v4l2_device_register() to not unlock and free
        [media] c8sectpfe: Rework firmware loading mechanism
        [media] c8sectpfe: Demote print to dev_dbg
        [media] c8sectpfe: Fix broken circular buffer wp management
        [media] media-device: Simplify compat32 logic
        [media] media: i2c: ths7303: remove redundant assignment on bt
        [media] dvb-usb: hide unused functions
        [media] xilinx-vipp: remove unnecessary of_node_put
        [media] drivers/media/media-devnode: clear private_data before put_device()
        [media] drivers/media/media-device: move debug log before _devnode_unregister()
        [media] drivers/media/rc: postpone kfree(rc_dev)
        [media] media/dvb-core: forward media_create_pad_links() return value
        ...
      19c5abcb
  2. 18 May, 2016 26 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 675e0655
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "First round of SCSI updates for the 4.6+ merge window.
      
        This batch includes the usual quota of driver updates (bnx2fc, mp3sas,
        hpsa, ncr5380, lpfc, hisi_sas, snic, aacraid, megaraid_sas).  There's
        also a multiqueue update for scsi_debug, assorted bug fixes and a few
        other minor updates (refactor of scsi_sg_pools into generic code, alua
        and VPD updates, and struct timeval conversions)"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (138 commits)
        mpt3sas: Used "synchronize_irq()"API to synchronize timed-out IO & TMs
        mpt3sas: Set maximum transfer length per IO to 4MB for VDs
        mpt3sas: Updating mpt3sas driver version to 13.100.00.00
        mpt3sas: Fix initial Reference tag field for 4K PI drives.
        mpt3sas: Handle active cable exception event
        mpt3sas: Update MPI header to 2.00.42
        Revert "lpfc: Delete unnecessary checks before the function call mempool_destroy"
        eata_pio: missing break statement
        hpsa: Fix type ZBC conditional checks
        scsi_lib: Decode T10 vendor IDs
        scsi_dh_alua: do not fail for unknown VPD identification
        scsi_debug: use locally assigned naa
        scsi_debug: uuid for lu name
        scsi_debug: vpd and mode page work
        scsi_debug: add multiple queue support
        bfa: fix bfa_fcb_itnim_alloc() error handling
        megaraid_sas: Downgrade two success messages to info
        cxlflash: Fix to resolve dead-lock during EEH recovery
        scsi_debug: rework resp_report_luns
        scsi_debug: use pdt constants
        ...
      675e0655
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft · d974f09e
      Linus Torvalds authored
      Pull iscsi_ibft updates from Konrad Rzeszutek Wilk:
       "The pull has two features - both of them expand the SysFS entries:
      
         - 'prefix-len' - which is subnet_mask_prefix of the iBFT header.
      
         - 'acpi_header' dir with: 'iBFT', OEM-ID (whatever it extracts from
           the iBFT header) and OEM_TABLE_ID (also whatever it extracts from
           the iBFT header).  This is to help NIC drivers to figure out during
           bootup how to deal with BIOS created iBFT tables (like by TianoCore
           UEFI implemenation)"
      
      * 'stable/for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft:
        ibft: Expose iBFT acpi header via sysfs
        iscsi_ibft: Add prefix-len attr and display netmask
      d974f09e
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 4a5219ed
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "Driver updates for ARM SoCs, these contain various things that touch
        the drivers/ directory but got merged through arm-soc for practical
        reasons.
      
        For the most part, this is now related to power management
        controllers, which have not yet been abstracted into a separate
        subsystem, and typically require some code in drivers/soc or arch/arm
        to control the power domains.
      
        Another large chunk here is a rework of the NVIDIA Tegra USB3.0
        support, which was surprisingly tricky and took a long time to get
        done.
      
        Finally, reset controller handling as always gets merged through here
        as well"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (97 commits)
        arm-ccn: Enable building as module
        soc/tegra: pmc: Add generic PM domain support
        usb: xhci: tegra: Add Tegra210 support
        usb: xhci: Add NVIDIA Tegra XUSB controller driver
        dt-bindings: usb: xhci-tegra: Add Tegra210 XUSB controller support
        dt-bindings: usb: Add NVIDIA Tegra XUSB controller binding
        PCI: tegra: Support per-lane PHYs
        dt-bindings: pci: tegra: Update for per-lane PHYs
        phy: tegra: Add Tegra210 support
        phy: Add Tegra XUSB pad controller support
        dt-bindings: phy: tegra-xusb-padctl: Add Tegra210 support
        dt-bindings: phy: Add NVIDIA Tegra XUSB pad controller binding
        phy: core: Allow children node to be overridden
        clk: tegra: Add interface to enable hardware control of SATA/XUSB PLLs
        drivers: firmware: psci: make two helper functions inline
        soc: renesas: rcar-sysc: Add support for R-Car H3 power areas
        soc: renesas: rcar-sysc: Add support for R-Car E2 power areas
        soc: renesas: rcar-sysc: Add support for R-Car M2-N power areas
        soc: renesas: rcar-sysc: Add support for R-Car M2-W power areas
        soc: renesas: rcar-sysc: Add support for R-Car H2 power areas
        ...
      4a5219ed
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9797f6b0
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Arnd Bergmann:
       "As usual, a bunch of commits, mostly adding drivers and other options
        to defconfigs.
      
        We are adding three new defconfig files for the newly added 32-bit
        machines (aspeed and mps2), the rest is mainly housekeeping.
      
        The changes outside of arch/arm/config/ are for a Kconfig symbol that
        got renamed"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (63 commits)
        ARM: aspeed: adapt defconfigs for new CONFIG_PRINTK_TIME
        ARM: u8500_defconfig: update sensor config
        ARM: u8500_defconfig: remove staging from defconfig
        ARM: multi_v7_defconfig: Remove unused Kconfig option MACH_UX500_DT
        ARM: at91/defconfig: sama5: add CONFIG_FHANDLE
        arm/configs: Add Aspeed defconfig
        arm/configs/multi_v5: Add Aspeed ast2400
        ARM: at91: sama5: Update defconfig
        ARM: imx_v6_v7_defconfig: add CONFIG_MICREL_PHY
        ARM: imx_v6_v7_defconfig: add CONFIG_I2C_GPIO
        ARM: multi_v7: Enable Tegra XUSB controller in defconfig
        ARM: tegra: Enable XUSB controller in defconfig
        ARM: omap2plus_defconfig: Enable PWM and ir-rx51 as loadable modules
        ARM: multi_v7_defconfig: add the Atmel sama5d2-compatible ADC driver
        ARM: multi_v7_defconfig: add the Atmel Audio microphone interface PDMIC
        ARM: multi_v7_defconfig: add Atmel ISI (Image Sensor Interface) driver
        ARM: multi_v7_defconfig: add Atmel watchdog timers
        ARM: multi_v7_defconfig: add HLCDC drivers as modules
        ARM: at91/defconfig: add PDMIC driver to sama5_defconfig
        ARM: at91/defconfig: add HLCDC driver to sama5_defconfig
        ...
      9797f6b0
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2ec3240f
      Linus Torvalds authored
      Pull ARM 64-bit DT updates from Arnd Bergmann:
       "We continue ramping up platform support for 64-bit ARM machines, with
        111 individual non-merge changesets touching 21 platforms.
      
        The LG1312 platform is completely new and is the first ARM platform by
        LG that we support in the mainline kernel.  Two other SoCs got added
        that are updated versions of existing SoC families, so the port mainly
        consists of new dts files:
      
         - The Hisilicon Hip06/D03 is the latest server platform from
           Huawei/Hisilicon, and follows the Hip05/D02 platform.
      
         - Rockchip RK3399 follows the 32-bit RK3288 that is popular in
           low-end Chromebooks and the 64-bit RK3368 that is mainly found in
           chinese Android TV boxes.
      
        The 96Boards HiKey based on the Hisilicon Hi6220 (Kirin 620) gets a
        long-awaited overhaul with a lot of devices enabled in the DT, so it
        should be much more usable with a mainline kernel now.  See also
      
           https://plus.google.com/111524780435806926688/posts/PeGb2VsNhJd
      
        A lot of work went into enabling new device drivers on existing
        machines, but we also have a couple of new commercially available
        machines:
      
         - Google Pixel C laptop based on Tegra210
         - Hardkernel Odroid C2 Based on Amlogic Meson GXBB (S905)
         - Geekbuying GeekBox based on Rockchip RK3368
      
        And finally, a couple of reference or development platforms that are
        not end-user platforms but are used for trying out the respective SoC
        platforms:
      
         - Amlogic Meson GXBB P200 and P201 development systems
         - NXP Layerscape 1043A QDS development board
         - Hisilicon Hip06 D03 server board, as mentioned above
         - LG1312 Reference Design
         - RK3399 Evaluation Board"
      
      * tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (104 commits)
        arm64: dts: marvell: add XOR node for Armada 3700 SoC
        dt-bindings: document rockchip rk3399-evb board
        arm64: dts: rockchip: add dts file for RK3399 evaluation board
        arm64: dts: rockchip: add core dtsi file for RK3399 SoCs
        dt-bindings: rockchip-dw-mshc: add description for rk3399
        arm64: dts: marvell: Use a SoC-specific compatible for xHCI on Armada37xx
        arm64: dts: marvell: Rename armada-37xx USB node
        arm64: dts: marvell: Clean up armada-3720-db
        Documentation: arm64: Add Hisilicon Hip06 D03 dts binding
        arm64: dts: Add initial dts for Hisilicon Hip06 D03 board
        arm64: dts: hip05: Add nor flash support
        arm64: dts: hip05: fix its node without msi-cells
        arm64: dts: r8a7795: Don't disable referenced optional clocks
        arm64: dts: salvator-x: populate EXTALR
        arm64: dts: r8a7795: enable PCIe on Salvator-X
        arm64: dts: r8a7795: Add PCIe nodes
        arm64: tegra: Add IOMMU node to GM20B on Tegra210
        arm64: tegra: Add reference clock to GM20B on Tegra210
        dt-bindings: Add documentation for GM20B GPU
        dt-bindings: gk20a: Document iommus property
        ...
      2ec3240f
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f7df9be0
      Linus Torvalds authored
      Pull ARM DT updates from Arnd Bergmann:
       "These are all the updates to device tree files for 32-bit platforms,
        which as usual makes up the bulk of the ARM SoC changes: 462 non-merge
        changesets, 450 files changed, 23340 insertions, 5216 deletions.
      
        The three platforms that are added with the "soc" branch are here as
        well, and we add some related machine files:
      
         - For Aspeed AST2400/AST2500, we get the evaluation platform and the
           Tyan Palmetto POWER8 mainboard that uses the AST2400 BMC
         - For Oxnas 810SE, the Western Digital "My Book World Edition" is
           added as the only platform at the moment.
         - For ARM MPS2, the AN385 (Cortex-M3) and AN399 (Cortex-M7) are
           supported
      
        On the ARM Realview development platform, we now support all machines
        with device tree, previously only the board files were supported,
        which in turn will likely be removed soon.
      
        Qualcomm IPQ4019 is the second generation ARM based "Internet
        Processor", following the IPQ806x that is used in many high-end WiFi
        routers.  This one integrates two ath10k wifi radios that were
        previously on separate chips.
      
        Other boards that got added for existing chips are:
      
        Ti OMAP family:
           - Amazon Kindle Fire, first generation, tablet and ebook reader
           - OnRISC Baltos iR 2110 and 3220 embedded industrial PCs
           - TI AM5728 IDK, TI AM3359 ICE-V2, and TI DRA722 Rev C EVM
             development systems
      
        Samsung EXYNOS platform:
           - Samsung ARTIK5 evaluation board, see
      
              https://www.artik.io/modules/overview/artik-5/
      
        NXP i.MX platforms:
           - Ka-Ro electronics TX6S-8034, TX6S-8035, TX6U-8033, TX6U-81xx,
             TX6Q-1036, TX6Q-1110/-1130, TXUL-0010 and TXUL-0011 industrial
             SoM modules
           - Embest MarS Board i.MX6Dual DIY platform
           - Boundary Devices i.MX6 Quad Plus Nitrogen6_MAX and SoloX
             Nitrogen6sx embedded boards
           - Technexion Pico i.MX6UL compute module
           - ZII VF610 Development Board
      
        Marvell embedded (mvebu, orion, kirkwood) platforms:
           - Linksys Viper (E4200v2 / EA4500) WiFi router
           - Buffalo Kurobox Pro NAS
      
        Qualcomm Snapdragon:
           - Arrow DragonBoard 600c (96boards) with APQ8064 Snapdragon 600
      
        Rockchips platform:
           - mqmaker MiQi single-board computer
      
        Altera SoCFPGA:
           - samtec VIN|ING 1000 vehicle communication interface
      
        Allwinner Sunxi platforms:
           - Dserve DSRV9703C tablet
           - Difrnce DIT4350 tablet
           - Colorfly E708 Q1 tablet
           - Polaroid MID2809PXE04 tablet
           - Olimex A20 OLinuXino LIME2 single board computer
           - Xunlong Orange Pi 2, Orange Pi One, and Orange Pi PC single board
             computers
      
        Across many platforms, bug fixes went in to address warnings that dtc
        now emits with 'make dtbs W=1'.  Further changes for device enablement
        went into Ti OMAP, bcm283x (Raspberry Pi), bcm47xx (wifi router), Ti
        Davinci, Samsung EXYNOS, Marvell mvebu/kirkwood/orion, NXP i.MX/Vybrid
        NXP LPC18xx, NXP LPC32xx, Renesas shmobile/r-mobile/r-car, Rockchips
        rk3xxx, ST Ux500, ST STi, Atmel AT91/SAMA5, Altera SoCFPGA, Allwinner
        Sunxi, Sigma Designs Tango, NVIDIA Tegra, Socionext Uniphier and ARM
        Versatile Express"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (458 commits)
        ARM: dts: tango4: Import watchdog node
        ARM: dts: tango4: Update cpus node for cpufreq
        ARM: dts: tango4: Update DT to match clk driver
        ARM: dts: tango4: Initial thermal support
        arm/dst: Add Aspeed ast2500 device tree
        arm/dts: Add Aspeed ast2400 device tree
        ARM: sun7i: dt: Add pll3 and pll7 clocks
        ARM: dts: sunxi: Add a olinuxino-lime2-emmc
        ARM: dts: at91: sama5d4: add trng node
        ARM: dts: at91: sama5d3: add trng node
        ARM: dts: at91: sama5d2: add trng node
        ARM: dts: at91: at91sam9g45 family: reduce the trng register map size
        ARM: sun4i: dt: Add pll3 and pll7 clocks
        ARM: sun5i: chip: Enable the TV Encoder
        ARM: sun5i: r8: Add display blocks to the DTSI
        ARM: sun5i: a13: Add display and TCON clocks
        ARM: dts: ux500: configure the accelerometers open drain
        ARM: mx5: dts: Enable USB OTG on M53EVK
        ARM: dts: imx6ul-14x14-evk: Add audio support
        ARM: dts: imx6qdl: Remove unneeded unit-addresses
        ...
      f7df9be0
    • Linus Torvalds's avatar
      Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9f8f2022
      Linus Torvalds authored
      Pull ARM SoC 64-bit changes from Arnd Bergmann:
       "One new platform gets added this time: The Cortex-A53 based LG
        Electronics LG1K platform used in digital TVs.
      
        The other changes are mostly smaller updates to the defconfig files,
        to enable additional platform specific drivers, as they get merged
        through the subsystem trees"
      
      * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64: configs: add options useful for Armada 7K/8K support
        arm64: defconfig: Add Juno SATA controller
        arm64: defconfig: enable freescale/nxp config options
        arm64: defconfig: enable 48-bit virtual addresses
        arm64: defconfig: cleanup the defconfig
        MAINTAINERS: update entry for Marvell ARM platform maintainers
        arm64: marvell: enable AP806 and CP110 syscon driver
        arm64: Kconfig: select sp804 timer for ARCH_HISI
        arm64: defconfig: enable configs for WLAN and TI WL1835 as modules
        arm64: defconfig: enable several common USB network adapters
        arm64: defconfig: add CONFIG_SPI_SPIDEV as module
        arm64: defconfig: Enable the PMIC and regulator for Hi6220 and 96boards HiKey
        arm64: defconfig: Add Renesas R-Car USB 3.0 driver support
        MAINTAINERS: add Chanho Min as ARM/LG1K maintainer
        arm64: defconfig: enable ARCH_LG1K
        arm64: add Kconfig entry for LG1K SoC family
        arm64: defconfig: Enable PL330 DMA controller
        arm64: defconfig: enable basic boot for Amlogic meson
      9f8f2022
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9896c7b5
      Linus Torvalds authored
      Pull ARM SoC platform updates from Arnd Bergmann:
       "We get support for three new 32-bit SoC platforms this time.
      
        The amount of changes in arch/arm for any of them is miniscule, as all
        the interesting code is in device driver subsystems (irqchip, clk,
        pinctrl, ...) these days.  I'm listing them here, as the addition of
        the Kconfig statement is the main relevant milestone for a new
        platform.  In each case, some drivers are are shared with existing
        platforms, while other drivers are added for v4.7 as well, or come in
        a later release.
      
         - The Aspeed platform is probably the most interesting one, this is
           what most whitebox servers use as their baseboard management
           controller.  We get support for the very common ast2400 and ast2500
           SoCs.  The OpenBMC project focuses on this chip, and the LWN
           article about their ELC 2016 presentation at
      
              https://lwn.net/Articles/683320/
      
           triggered the submission, but the code comes from IBM's OpenPOWER
           team rather than the team at Facebook.  There are still a lot more
           drivers that need to get added over time, and I hope both teams can
           work together on that.
      
         - OXNAS is an old platform for Network Attached Storage devices from
           Oxford Semiconductor.  There are models with ARM10 (!) and
           ARM11MPCore cores, but for now, we only support the original ARM9
           based versions.  The product lineup was subsequently part of PLX,
           Avago and now the new Broadcom Ltd.
      
              https://wiki.openwrt.org/doc/hardware/soc/soc.oxnas
      
           has some more information.
      
         - V2M-MPS2 is a prototyping platform from ARM for their Cortex-M
           cores and is related to the existing Realview / Versatile Express
           lineup, but without MMU.
      
           We now support various NOMMU platforms, so adding a new one is
           fairly straightforward.
      
              http://infocenter.arm.com/help/topic/com.arm.doc.100112_0100_03_en/
      
           has detailed information about the platform.
      
        Other noteworthy updates:
      
         - Work on LPC32xx has resumed, and Vladimir Zapolskiy and Sylvain
           Lemieux are now maintaining the platform.
      
           This is an older ARM9 based platform from NXP (not Freescale), but
           it remains in use in embedded markets.
      
         - Kevin Hilman is now co-maintaining the Amlogic Meson platform for
           both 32-bit and 64-bit ARM, and started contributing some patches.
      
         - As is often the case, work on the OMAP platforms makes up the bulk
           of the actual SoC code changes in arch/arm, but there isn't a lot
           of that either"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits)
        MAINTAINERS: ARM/Amlogic: add co-maintainer, misc. updates
        MAINTAINERS: add ARM/NXP LPC32XX SoC specific drivers to the section
        MAINTAINERS: add new maintainers of NXP LPC32xx SoC
        MAINTAINERS: move ARM/NXP LPC32xx record to ARM section
        arm: Add Aspeed machine
        ARM: lpc32xx: remove duplicate const on lpc32xx_auxdata_lookup
        ARM: lpc32xx: remove leftovers of legacy clock source and provider drivers
        ARM: lpc32xx: remove reboot header file
        ARM: dove: Remove CLK_IS_ROOT
        ARM: orion5x: Remove CLK_IS_ROOT
        ARM: mv78xx0: Remove CLK_IS_ROOT
        ARM: davinci: da850: use clk->set_parent for async3
        ARM: davinci: Move clock init after ioremap.
        MAINTAINERS: Update ARM Versatile Express platform entry
        ARM: vexpress/mps2: introduce MPS2 platform
        MAINTAINERS: add maintainer entry for ARM/OXNAS platform
        ARM: Add new mach-oxnas
        irqchip: versatile-fpga: add new compatible for OX810SE SoC
        ARM: uniphier: correct the call order of of_node_put()
        MAINTAINERS: fix stale TI DaVinci entries
        ...
      9896c7b5
    • Linus Torvalds's avatar
      Merge tag 'armsoc-cleanups-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f2b1e0f6
      Linus Torvalds authored
      Pull ARM SoC cleanups and fixes from Arnd Bergmann:
       "Traditionally we've had two separate branches for cleanups and
        non-critical bug fixes, but both of these got smaller with each
        release and the differences are rather unclear now, so it seems more
        appropriate to have a combined branch.
      
        The most notable change is for OMAP, which gets a small rework to
        simplify handling of the AUXDATA mechanism used on machines that are
        not completely DT based yet, along with other work that is used as
        preparation for dropping the legacy board files"
      
      * tag 'armsoc-cleanups-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: dts: exynos: Add interrupt line to MAX8997 PMIC on exynos4210-trats
        ARM: dts: exynos: Fix regulator name to avoid forbidden character on exynos4210-trats
        ARM: dts: exynos: Add MFC memory banks for Peach boards
        ARM: OMAP2+: n900 needs MMC slot names for legacy user space
        ARM: OMAP2+: Add more functions to pwm pdata for ir-rx51
        ARM: debug: remove extraneous DEBUG_HI3716_UART option
        ARM: OMAP2+: Simplify auxdata by using the generic match
        of/platform: Allow secondary compatible match in of_dev_lookup
        ARM: davinci: use IRQCHIP_DECLARE for cp_intc
        ARM: davinci: remove unused DA8XX_NUM_UARTS
        ARM: davinci: simplify call to of populate
        ARM: DaVinci USB: removed deprecated properties from MUSB config
        ARM: rockchip: Fix use of plain integer as NULL pointer
        ARM: realview: hide unused 'pmu_device' object
        soc: versatile: dynamically detect RealView HBI numbers
      f2b1e0f6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · f61a657f
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
       "The s390 patches for the 4.7 merge window have the usual bug fixes and
        cleanups, and the following new features:
      
         - An interface for dasd driver to query if a volume is online to
           another operating system
      
         - A new ioctl for the dasd driver to verify the format for a range of
           tracks
      
         - Following the example of x86 the struct fpu is now allocated with
           the task_struct
      
         - The 'report_error' interface for the PCI bus to send an
           adapter-error notification from user space to the service element
           of the machine"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (29 commits)
        s390/vmem: remove unused function parameter
        s390/vmem: fix identity mapping
        s390: add missing include statements
        s390: add missing declarations
        s390: make couple of variables and functions static
        s390/cache: remove superfluous locking
        s390/cpuinfo: simplify locking and skip offline cpus early
        s390/3270: hangup the 3270 tty after a disconnect
        s390/3270: handle reconnect of a tty with a different size
        s390/3270: avoid endless I/O loop with disconnected 3270 terminals
        s390/3270: fix garbled output on 3270 tty view
        s390/3270: fix view reference counting
        s390/3270: add missing tty_kref_put
        s390/dumpstack: implement and use return_address()
        s390/cpum_sf: Remove superfluous SMP function call
        s390/cpum_cf: Remove superfluous SMP function call
        s390/Kconfig: make z196 the default processor type
        s390/sclp: avoid compile warning in sclp_pci_report
        s390/fpu: allocate 'struct fpu' with the task_struct
        s390/crypto: cleanup and move the header with the cpacf definitions
        ...
      f61a657f
    • Linus Torvalds's avatar
      iwlwifi: fix mis-merge that breaks the driver · 0e034f5c
      Linus Torvalds authored
      My laptop that uses the intel 7680 iwlwifi module would no longer
      connects to the network.  It would fail with a "Microcode SW error
      detected." and spew out register state over and over again without ever
      connecting to the network.
      
      The cause is mis-merge in commit 909b27f7, where David seems to have
      lost some of the changes to iwl_mvm_set_tx_cmd() from commit
      5c08b0f5 ("iwlwifi: mvm: don't override the rate with the AMSDU
      len").
      
      The reason seems to be a conflict with commit d8fe4844 ("iwlwifi:
      mvm: add support for new TX CMD API"), which touched a line adjacent to
      the changes in 909b27f7.
      
      David missed the fact that "info->driver_data[0]" had become
      "skb_info->driver_data[0]".  Then he removed the skb_info because it was
      unused.
      
      This just re-updates iwl_mvm_set_tx_cmd() with the lost two lines.
      Reported-and-tested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Reported-by: default avatarReinoud Koornstra <reinoudkoornstra@gmail.com>
      Cc: Luciano Coelho <luciano.coelho@intel.com>
      Cc: Kalle Valo <kvalo@codeaurora.org>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0e034f5c
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9e17632c
      Linus Torvalds authored
      Pull misc vfs cleanups from Al Viro:
       "Assorted cleanups and fixes all over the place"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        coredump: only charge written data against RLIMIT_CORE
        coredump: get rid of coredump_params->written
        ecryptfs_lookup(): try either only encrypted or plaintext name
        ecryptfs: avoid multiple aliases for directories
        bpf: reject invalid names right in ->lookup()
        __d_alloc(): treat NULL name as QSTR("/", 1)
        mtd: switch ubi_open_volume_path() to vfs_stat()
        mtd: switch open_mtd_by_chdev() to use of vfs_stat()
      9e17632c
    • Linus Torvalds's avatar
      Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 69370471
      Linus Torvalds authored
      Pull iov_iter cleanups from Al Viro.
      
      * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fold checks into iterate_and_advance()
        rw_verify_area(): saner calling conventions
        aio: remove a pointless assignment
      69370471
    • Linus Torvalds's avatar
      Merge branch 'work.lookups' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e34df334
      Linus Torvalds authored
      Pull parallel lookup fixups from Al Viro:
       "Fix for xfs parallel readdir (turns out the cxfs exposure was not
        enough to catch all problems), and a reversion of btrfs back to
        ->iterate() until the fs/btrfs/delayed-inode.c gets fixed"
      
      * 'work.lookups' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        xfs: concurrent readdir hangs on data buffer locks
        Revert "btrfs: switch to ->iterate_shared()"
      e34df334
    • Dave Chinner's avatar
      xfs: concurrent readdir hangs on data buffer locks · 9f541801
      Dave Chinner authored
      There's a three-process deadlock involving shared/exclusive barriers
      and inverted lock orders in the directory readdir implementation.
      It's a pre-existing problem with lock ordering, exposed by the
      VFS parallelisation code.
      
      process 1               process 2               process 3
      ---------               ---------               ---------
      readdir
      iolock(shared)
        get_leaf_dents
          iterate entries
             ilock(shared)
             map, lock and read buffer
             iunlock(shared)
             process entries in buffer
             .....
                                                      readdir
                                                      iolock(shared)
                                                        get_leaf_dents
                                                          iterate entries
                                                            ilock(shared)
                                                            map, lock buffer
                                                            <blocks>
                              finish ->iterate_shared
                              file_accessed()
                                ->update_time
                                  start transaction
                                  ilock(excl)
                                  <blocks>
              .....
              finishes processing buffer
              get next buffer
                ilock(shared)
                <blocks>
      
      And that's the deadlock.
      
      Fix this by dropping the current buffer lock in process 1 before
      trying to map the next buffer. This means we keep the lock order of
      ilock -> buffer lock intact and hence will allow process 3 to make
      progress and drop it's ilock(shared) once it is done.
      Reported-by: default avatarXiong Zhou <xzhou@redhat.com>
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      9f541801
    • Al Viro's avatar
      Revert "btrfs: switch to ->iterate_shared()" · fe742fd4
      Al Viro authored
      This reverts commit 972b241f.
      Quoth Chris:
      	didn't take the delayed inode stuff into account
      	it got an rbtree of items and it pulls things out
      	so in shared mode, its hugely racey
      	sorry, lets revert and fix it for real inside of btrfs
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      fe742fd4
    • Linus Torvalds's avatar
      Merge branch 'sendmsg.cifs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 442c9ac9
      Linus Torvalds authored
      Pull cifs iovec cleanups from Al Viro.
      
      * 'sendmsg.cifs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        cifs: don't bother with kmap on read_pages side
        cifs_readv_receive: use cifs_read_from_socket()
        cifs: no need to wank with copying and advancing iovec on recvmsg side either
        cifs: quit playing games with draining iovecs
        cifs: merge the hash calculation helpers
      442c9ac9
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ba5a2655
      Linus Torvalds authored
      Pull remaining vfs xattr work from Al Viro:
       "The rest of work.xattr (non-cifs conversions)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        btrfs: Switch to generic xattr handlers
        ubifs: Switch to generic xattr handlers
        jfs: Switch to generic xattr handlers
        jfs: Clean up xattr name mapping
        gfs2: Switch to generic xattr handlers
        ceph: kill __ceph_removexattr()
        ceph: Switch to generic xattr handlers
        ceph: Get rid of d_find_alias in ceph_set_acl
      ba5a2655
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 8908c94d
      Linus Torvalds authored
      Pull cifs updates from Steve French:
       "Various small CIFS and SMB3 fixes (including some for stable)"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        remove directory incorrectly tries to set delete on close on non-empty directories
        Update cifs.ko version to 2.09
        fs/cifs: correctly to anonymous authentication for the NTLM(v2) authentication
        fs/cifs: correctly to anonymous authentication for the NTLM(v1) authentication
        fs/cifs: correctly to anonymous authentication for the LANMAN authentication
        fs/cifs: correctly to anonymous authentication via NTLMSSP
        cifs: remove any preceding delimiter from prefix_path
        cifs: Use file_dentry()
      8908c94d
    • Andy Honig's avatar
      KVM: MTRR: remove MSR 0x2f8 · 9842df62
      Andy Honig authored
      MSR 0x2f8 accessed the 124th Variable Range MTRR ever since MTRR support
      was introduced by 9ba075a6 ("KVM: MTRR support").
      
      0x2f8 became harmful when 910a6aae ("KVM: MTRR: exactly define the
      size of variable MTRRs") shrinked the array of VR MTRRs from 256 to 8,
      which made access to index 124 out of bounds.  The surrounding code only
      WARNs in this situation, thus the guest gained a limited read/write
      access to struct kvm_arch_vcpu.
      
      0x2f8 is not a valid VR MTRR MSR, because KVM has/advertises only 16 VR
      MTRR MSRs, 0x200-0x20f.  Every VR MTRR is set up using two MSRs, 0x2f8
      was treated as a PHYSBASE and 0x2f9 would be its PHYSMASK, but 0x2f9 was
      not implemented in KVM, therefore 0x2f8 could never do anything useful
      and getting rid of it is safe.
      
      This fixes CVE-2016-3713.
      
      Fixes: 910a6aae ("KVM: MTRR: exactly define the size of variable MTRRs")
      Cc: stable@vger.kernel.org
      Reported-by: default avatarDavid Matlack <dmatlack@google.com>
      Signed-off-by: default avatarAndy Honig <ahonig@google.com>
      Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9842df62
    • Paolo Bonzini's avatar
      KVM: x86: make hwapic_isr_update and hwapic_irr_update look the same · 67c9dddc
      Paolo Bonzini authored
      Neither APICv nor AVIC actually need the first argument of
      hwapic_isr_update, but the vCPU makes more sense than passing the
      pointer to the whole virtual machine!  In fact in the APICv case it's
      just happening that the vCPU is used implicitly, through the loaded VMCS.
      
      The second argument instead is named differently, make it consistent.
      Reviewed-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      67c9dddc
    • Suravee Suthikulpanit's avatar
      svm: Manage vcpu load/unload when enable AVIC · 8221c137
      Suravee Suthikulpanit authored
      When a vcpu is loaded/unloaded to a physical core, we need to update
      host physical APIC ID information in the Physical APIC-ID table
      accordingly.
      
      Also, when vCPU is blocking/un-blocking (due to halt instruction),
      we need to make sure that the is-running bit in set accordingly in the
      physical APIC-ID table.
      Signed-off-by: default avatarSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
      Reviewed-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
      [Return void from new functions, add WARN_ON when they returned negative
       errno; split load and put into separate function as they have almost
       nothing in common. - Paolo]
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      8221c137
    • Suravee Suthikulpanit's avatar
      svm: Do not intercept CR8 when enable AVIC · 3bbf3565
      Suravee Suthikulpanit authored
      When enable AVIC:
          * Do not intercept CR8 since this should be handled by AVIC HW.
          * Also, we don't need to sync cr8/V_TPR and APIC backing page.
      Signed-off-by: default avatarSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
      [Rename svm_in_nested_interrupt_shadow to svm_nested_virtualize_tpr. - Paolo]
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      3bbf3565
    • Suravee Suthikulpanit's avatar
      svm: Do not expose x2APIC when enable AVIC · 46781eae
      Suravee Suthikulpanit authored
      Since AVIC only virtualizes xAPIC hardware for the guest, this patch
      disable x2APIC support in guest CPUID.
      Signed-off-by: default avatarSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      46781eae
    • Suravee Suthikulpanit's avatar
      KVM: x86: Introducing kvm_x86_ops.apicv_post_state_restore · be8ca170
      Suravee Suthikulpanit authored
      Adding kvm_x86_ops hooks to allow APICv to do post state restore.
      This is required to support VM save and restore feature.
      Signed-off-by: default avatarSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      be8ca170
    • Suravee Suthikulpanit's avatar
      svm: Add VMEXIT handlers for AVIC · 18f40c53
      Suravee Suthikulpanit authored
      This patch introduces VMEXIT handlers, avic_incomplete_ipi_interception()
      and avic_unaccelerated_access_interception() along with two trace points
      (trace_kvm_avic_incomplete_ipi and trace_kvm_avic_unaccelerated_access).
      Signed-off-by: default avatarSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      18f40c53